/*
Theme Name: Jon Ratcliffe Books
Theme URI: https://jonratcliffebooks.com/
Author: Jon Ratcliffe Books
Description: A warm, storybook-inspired publishing website for Jon Ratcliffe Books.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: jon-ratcliffe-books
*/
:root{--jrb-cream:#f7f3e9;--jrb-paper:#fffdf8;--jrb-ink:#26352d;--jrb-green:#405b46;--jrb-green-dark:#294332;--jrb-purple:#76558b;--jrb-gold:#c79c56;--jrb-muted:#6c746d;--jrb-line:#e5dfd2;--jrb-radius:20px;--jrb-shadow:0 14px 40px rgba(45,55,42,.09)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--jrb-paper);color:var(--jrb-ink);font-family:Georgia,"Times New Roman",serif;font-size:17px;line-height:1.65}
a{color:var(--jrb-green);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--jrb-purple)}
img{max-width:100%;height:auto}
.jrb-wrap{width:min(1160px,calc(100% - 40px));margin-inline:auto}
.jrb-topbar{background:var(--jrb-green-dark);color:#fff;text-align:center;padding:8px 15px;font:13px/1.4 system-ui,sans-serif;letter-spacing:.04em}
.jrb-header{background:rgba(255,253,248,.96);border-bottom:1px solid var(--jrb-line);position:relative;z-index:5}
.jrb-header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.jrb-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--jrb-ink)}
.jrb-mark{width:43px;height:43px;border-radius:50% 50% 45% 45%;display:grid;place-items:center;background:var(--jrb-green);color:#fff;font:700 20px Georgia,serif;border:3px solid #d9c8a2;box-shadow:0 0 0 3px var(--jrb-cream)}
.jrb-brand-name{display:block;font-size:23px;font-weight:bold;line-height:1.15}
.jrb-brand-tag{display:block;color:var(--jrb-muted);font:11px system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;margin-top:5px}
.jrb-nav ul{display:flex;align-items:center;gap:22px;list-style:none;margin:0;padding:0}
.jrb-nav a{font:600 14px system-ui,sans-serif;text-decoration:none;color:var(--jrb-ink)}
.jrb-nav a:hover{color:var(--jrb-purple)}
.jrb-menu-toggle{display:none;background:var(--jrb-green);color:#fff;border:0;border-radius:9px;padding:10px 13px}
.jrb-hero{background:radial-gradient(ellipse at 85% 15%,rgba(199,156,86,.22),transparent 30%),radial-gradient(ellipse at 10% 90%,rgba(118,85,139,.14),transparent 32%),linear-gradient(120deg,#f4efe2,#fbf8f0 55%,#e9eee5);padding:86px 0 76px;overflow:hidden}
.jrb-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
.jrb-eyebrow{font:700 12px system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--jrb-purple)}
.jrb-hero h1{font-size:clamp(40px,5vw,66px);line-height:1.06;letter-spacing:-.035em;margin:15px 0 22px;color:var(--jrb-green-dark)}
.jrb-hero p{font-size:20px;max-width:620px;color:#4e5b50}
.jrb-hero-art{min-height:330px;border-radius:48% 48% 24px 24px;background:linear-gradient(145deg,rgba(64,91,70,.12),rgba(118,85,139,.15)),url('') center/cover;display:flex;align-items:center;justify-content:center;border:1px solid rgba(64,91,70,.15);box-shadow:var(--jrb-shadow);position:relative;overflow:hidden}
.jrb-hero-art:before{content:"";position:absolute;inset:18px;border:1px solid rgba(64,91,70,.24);border-radius:48% 48% 18px 18px}
.jrb-hero-art-inner{position:relative;text-align:center;padding:32px;color:var(--jrb-green-dark)}
.jrb-hero-art .jrb-ornament{font-size:68px;line-height:1.1}
.jrb-hero-art strong{display:block;font-size:25px;margin-top:12px}
.jrb-hero-art span{font:12px system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.jrb-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.jrb-button{display:inline-flex;align-items:center;justify-content:center;background:var(--jrb-green);color:#fff!important;padding:13px 22px;border-radius:999px;text-decoration:none;font:700 14px system-ui,sans-serif;box-shadow:0 6px 16px rgba(41,67,50,.15)}
.jrb-button:hover{background:var(--jrb-green-dark);transform:translateY(-1px)}
.jrb-button.alt{background:transparent;color:var(--jrb-green)!important;border:1px solid var(--jrb-green);box-shadow:none}
.jrb-section{padding:70px 0}
.jrb-section.soft{background:var(--jrb-cream)}
.jrb-section-head{text-align:center;max-width:700px;margin:0 auto 34px}
.jrb-section-head .jrb-eyebrow{margin-bottom:8px}
.jrb-section h2,.jrb-content h1,.jrb-content h2{font-size:clamp(30px,3vw,42px);line-height:1.16;color:var(--jrb-green-dark);margin:0 0 14px}
.jrb-section-head p{color:var(--jrb-muted);margin:0}
.jrb-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.jrb-feature{background:var(--jrb-paper);padding:28px;border:1px solid var(--jrb-line);border-radius:var(--jrb-radius);box-shadow:var(--jrb-shadow);text-decoration:none;color:var(--jrb-ink);transition:transform .2s}
.jrb-feature:hover{transform:translateY(-4px)}
.jrb-feature-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:#e8eee5;font-size:25px;margin-bottom:18px}
.jrb-feature:nth-child(2) .jrb-feature-icon{background:#eee7f1}
.jrb-feature:nth-child(3) .jrb-feature-icon{background:#f4ead7}
.jrb-feature h3{font-size:23px;color:var(--jrb-green-dark);margin:0 0 8px}
.jrb-feature p{color:var(--jrb-muted);font-size:15px;margin:0}
.jrb-book-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.jrb-book-card{background:#fff;border:1px solid var(--jrb-line);border-radius:16px;overflow:hidden;box-shadow:0 8px 25px rgba(45,55,42,.06);display:flex;flex-direction:column}
.jrb-book-cover{aspect-ratio:3/4;background:linear-gradient(145deg,#e7eddf,#f4e9dc);display:grid;place-items:center;padding:18px;text-align:center;color:var(--jrb-green);overflow:hidden}
.jrb-book-cover img{width:100%;height:100%;object-fit:contain}
.jrb-cover-placeholder{font-size:15px;font-weight:bold;line-height:1.4}
.jrb-book-info{padding:17px;display:flex;flex-direction:column;flex:1}
.jrb-book-info h3{font-size:18px;line-height:1.3;margin:0 0 8px;color:var(--jrb-green-dark)}
.jrb-book-info p{font:14px/1.55 system-ui,sans-serif;color:var(--jrb-muted);margin:0 0 15px}
.jrb-book-info .jrb-button{margin-top:auto;align-self:flex-start;padding:10px 15px;font-size:12px}
.jrb-label{font:700 10px system-ui,sans-serif;text-transform:uppercase;letter-spacing:.12em;color:var(--jrb-purple);margin-bottom:7px}
.jrb-cta{background:var(--jrb-green-dark);color:#fff;border-radius:26px;padding:44px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.jrb-cta h2{color:#fff;margin:0 0 8px}
.jrb-cta p{margin:0;color:#e4eadf}
.jrb-cta .jrb-button{background:#fff;color:var(--jrb-green-dark)!important}
.jrb-content{padding:58px 0 80px;min-height:45vh}
.jrb-content article{max-width:850px;margin:auto}
.jrb-content p{max-width:780px}
.jrb-page-title{text-align:center;margin-bottom:35px}
.jrb-page-title p{margin:0 auto;color:var(--jrb-muted)}
.jrb-single-book{display:grid;grid-template-columns:minmax(220px, .75fr) 1.25fr;gap:48px;align-items:start}
.jrb-single-cover{background:var(--jrb-cream);padding:20px;border-radius:18px;text-align:center}
.jrb-single-cover img{max-height:560px;object-fit:contain}
.jrb-meta{color:var(--jrb-muted);font:14px system-ui,sans-serif}
.jrb-footer{background:#23372b;color:#f6f2e9;padding:48px 0 24px}
.jrb-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:35px}
.jrb-footer h3{color:#fff;font-size:20px;margin:0 0 12px}
.jrb-footer p,.jrb-footer a{color:#e3e8df}
.jrb-footer ul{list-style:none;padding:0;margin:0}
.jrb-footer li{margin:7px 0}
.jrb-footer-bottom{border-top:1px solid rgba(255,255,255,.18);margin-top:32px;padding-top:18px;font:12px system-ui,sans-serif;color:#c9d2c9}
.jrb-empty{padding:30px;background:var(--jrb-cream);border-radius:16px;text-align:center}
.screen-reader-text{position:absolute;left:-9999px}
@media(max-width:850px){.jrb-menu-toggle{display:block}.jrb-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--jrb-paper);padding:18px 25px;border-bottom:1px solid var(--jrb-line)}.jrb-nav.is-open{display:block}.jrb-nav ul{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.jrb-hero-grid{grid-template-columns:1fr;gap:30px}.jrb-hero{padding:55px 0}.jrb-hero-art{min-height:240px}.jrb-book-grid{grid-template-columns:repeat(2,1fr)}.jrb-feature-grid{grid-template-columns:1fr}.jrb-footer-grid{grid-template-columns:1fr 1fr}.jrb-cta{display:block}.jrb-cta .jrb-button{margin-top:20px}}
@media(max-width:540px){.jrb-wrap{width:min(100% - 28px,1160px)}.jrb-brand-name{font-size:19px}.jrb-brand-tag{font-size:9px}.jrb-book-grid{gap:12px}.jrb-book-info{padding:12px}.jrb-book-info h3{font-size:16px}.jrb-footer-grid{grid-template-columns:1fr}.jrb-section{padding:48px 0}.jrb-cta{padding:28px}}
