/*
Theme Name: Blocksy Child — Nations of Light
Template: blocksy
Version: 0.1.1
Description: Child theme carrying the Nations of Light design system (design/homepage-mockup-v1.html) — the locked watercolor house style shared across every book's plates. Palette: cream paper #F6F0E4, deep indigo-violet #3B2F63, antique gold #B08D3F, aurora teal/violet/rose used sparingly. Type: Cormorant Garamond display / Inter body.
*/

:root{
  --nol-paper:#F6F0E4;
  --nol-paper-deep:#EDE3CF;
  --nol-ink:#2B2440;
  --nol-indigo:#3B2F63;
  --nol-indigo-deep:#241C3D;
  --nol-gold:#B08D3F;
  --nol-gold-soft:#CBA958;
  --nol-teal:#6FA89A;
  --nol-violet:#9179AC;
  --nol-rose:#C77E8C;
  --nol-sepia:#8A7860;
  --nol-slate:#6E7079;
}

/* Light brand touches for any Blocksy chrome that still shows through (admin bar, 404s, etc). */
body{background:var(--nol-paper);color:var(--nol-ink)}
h1,h2,h3,h4{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500}
body,p,li,input,textarea,button{font-family:"Inter",system-ui,sans-serif}
a{color:var(--nol-gold)}

/* ---------------------------------------------------------------------- */
/* Shared components — reused verbatim across home.html + every book/series
   page + about.html + contact.html (see site/content/). Class names are
   prefixed nol- to avoid collisions with Blocksy's own utility classes.   */
/* ---------------------------------------------------------------------- */

*{box-sizing:border-box}
.nol-wrap{max-width:1120px;margin:0 auto;padding:0 clamp(20px,5vw,64px)}
.nol-eyebrow{font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--nol-gold);font-weight:600;display:block}
.nol-rule{width:48px;height:1px;background:var(--nol-gold);opacity:.75}
.nol-italic{font-style:italic;color:var(--nol-gold-soft)}

/* translucent golden tetrahedron motif, reused sparingly */
.nol-tetra{position:absolute;opacity:.16;pointer-events:none}
.nol-tetra svg{width:100%;height:100%}
.nol-tetra.small{opacity:.10}

/* NAV — identical markup/behavior on every page (each content.html embeds its own copy) */
.nol-nav{
  position:fixed;top:0;left:0;right:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:24px clamp(20px,5vw,64px);
  transition:background .4s ease, padding .4s ease, box-shadow .4s ease;
}
.nol-nav.scrolled{background:rgba(246,240,228,.94);backdrop-filter:blur(8px);padding:16px clamp(20px,5vw,64px);box-shadow:0 1px 0 rgba(43,36,64,.08)}
.nol-brand{font-family:"Cormorant Garamond";font-size:1.4rem;letter-spacing:.02em;color:#fff;text-decoration:none}
.nol-nav.scrolled .nol-brand,.nol-brand.dark{color:var(--nol-ink)}
.nol-nav-links{display:flex;align-items:center;gap:36px}
.nol-nav-links a{color:#fff;text-decoration:none;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;transition:color .3s}
.nol-nav.scrolled .nol-nav-links a,.nol-nav-links.dark a{color:var(--nol-ink)}
.nol-nav-links a:hover{color:var(--nol-gold-soft)}
.nol-nav.scrolled .nol-nav-links a:hover,.nol-nav-links.dark a:hover{color:var(--nol-gold)}

/* Page-header band used on every inner page (book pages / about / contact) — a compact
   version of the hero, dark indigo ground with the aurora watercolor wash + tetrahedron. */
.nol-page-header{
  position:relative;overflow:hidden;padding:150px clamp(20px,5vw,64px) 70px;
  background:
    radial-gradient(ellipse 60% 45% at 25% 15%, rgba(203,169,88,.20), transparent 60%),
    radial-gradient(ellipse 55% 40% at 80% 20%, rgba(111,168,154,.16), transparent 60%),
    radial-gradient(ellipse 70% 55% at 50% 90%, rgba(145,121,172,.18), transparent 65%),
    linear-gradient(180deg, var(--nol-indigo-deep) 0%, var(--nol-indigo) 70%, #4a3c78 100%);
  color:#fff;
}
.nol-page-header .nol-tetra{top:10%;right:6%;width:220px;height:220px}
.nol-page-header .nol-wrap{position:relative;z-index:2;max-width:760px}
.nol-page-header .nol-eyebrow{color:var(--nol-gold-soft);margin-bottom:16px}
/* !important is deliberate here: Blocksy sets --theme-headings-color via a Customizer-
   generated inline <style> block in <head> (loads after every enqueued stylesheet, including
   this child theme's), consumed by a higher-specificity h1 rule in its own main.min.css --
   a plain override loses that fight regardless of load order or matching specificity. */
.nol-page-header h1{font-size:clamp(2.1rem,4.4vw,3.4rem);margin:0 0 14px;color:#fff !important}
.nol-page-header p{color:rgba(255,255,255,.82);font-size:1.02rem;max-width:60ch}

.nol-section{padding:90px 0}
.nol-section-head{text-align:center;max-width:640px;margin:0 auto 56px}
.nol-section-head .nol-eyebrow{margin-bottom:16px}
.nol-section-head h2{font-size:clamp(1.9rem,3.6vw,2.6rem);margin-bottom:16px}
.nol-section-head p{color:var(--nol-slate)}

/* Book grid + cards (used on home.html for the teaser grid) */
.nol-book-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:36px}
.nol-book-card{background:#fff;border:1px solid rgba(43,36,64,.08);border-radius:2px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;text-decoration:none;display:block;color:inherit}
.nol-book-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -18px rgba(43,36,64,.28)}
.nol-cover{aspect-ratio:2/3;overflow:hidden}
.nol-cover img{width:100%;height:100%;object-fit:cover;display:block}
.nol-book-body{padding:22px 22px 26px}
.nol-book-body .nol-eyebrow{font-size:.66rem;letter-spacing:.22em;margin-bottom:8px}
.nol-book-body h3{font-size:1.32rem;margin:0 0 10px}
.nol-book-body p{font-size:.9rem;color:var(--nol-slate);margin:0 0 18px}
.nol-book-links{display:flex;gap:18px;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}
.nol-book-links a{color:var(--nol-indigo);text-decoration:none;border-bottom:1px solid var(--nol-gold);padding-bottom:2px}
.nol-book-links a.print{color:var(--nol-gold);border-color:var(--nol-gold)}
.nol-book-links a.soon{color:var(--nol-slate);border-color:transparent;pointer-events:none}

/* Single-book page layout (book-<slug>.html) */
.nol-book-detail{display:grid;grid-template-columns:340px 1fr;gap:56px;align-items:start;padding:80px 0}
.nol-book-detail .nol-cover{border-radius:2px;box-shadow:0 24px 48px -24px rgba(43,36,64,.35)}
.nol-book-detail h1{font-size:clamp(2rem,3.6vw,2.8rem);margin:0 0 6px}
.nol-book-detail .nol-subtitle{font-family:"Cormorant Garamond";font-style:italic;color:var(--nol-sepia);font-size:1.2rem;margin-bottom:22px}
.nol-book-detail p{color:var(--nol-ink);margin-bottom:16px;max-width:62ch;line-height:1.75}
.nol-book-cta{display:flex;gap:16px;flex-wrap:wrap;margin-top:28px}
.nol-cta{display:inline-flex;align-items:center;gap:10px;border-radius:2px;padding:13px 30px;text-decoration:none;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;transition:background .3s,color .3s;border:1px solid var(--nol-indigo);color:var(--nol-indigo)}
.nol-cta:hover{background:var(--nol-indigo);color:#fff}
.nol-cta.gold{border-color:var(--nol-gold);color:var(--nol-gold)}
.nol-cta.gold:hover{background:var(--nol-gold);color:#fff}
.nol-cta.disabled{opacity:.45;pointer-events:none}
.nol-qr{width:120px;height:120px;margin-top:24px;border:1px solid rgba(43,36,64,.12);padding:8px;background:#fff}
.nol-bio-note{margin-top:40px;padding:20px 22px;background:var(--nol-paper-deep);border-left:2px solid var(--nol-gold);font-size:.92rem;color:var(--nol-slate)}

/* Multi-format QR row (e.g. Read + Listen) and paired-book sub-headings */
.nol-qr-row{display:flex;gap:14px;margin-top:24px}
.nol-qr-row .nol-qr{margin-top:0}
.nol-qr-item{text-align:center}
.nol-qr-label{display:block;margin-top:6px;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--nol-sepia)}
.nol-book-detail h2{font-size:clamp(1.5rem,2.8vw,2rem);margin:0 0 4px;color:var(--nol-ink)}

@media(max-width:760px){
  .nol-book-detail{grid-template-columns:1fr;padding:56px 0}
  .nol-qr-row{justify-content:center}
}

/* Essay cards + detail page (site art is landscape, not a portrait book cover --
   reuses every other book-page class as-is, only the image aspect ratio differs) */
.nol-cover-wide{aspect-ratio:16/9}
.nol-essay-detail{padding:80px 0;max-width:760px;margin:0 auto}
.nol-essay-detail .nol-cover-wide{border-radius:2px;box-shadow:0 24px 48px -24px rgba(43,36,64,.35);margin-bottom:36px}
.nol-essay-detail h1{font-size:clamp(2rem,3.6vw,2.8rem);margin:0 0 6px}
.nol-essay-detail .nol-subtitle{font-family:"Cormorant Garamond";font-style:italic;color:var(--nol-sepia);font-size:1.2rem;margin-bottom:22px}
.nol-essay-detail p{color:var(--nol-ink);margin-bottom:16px;line-height:1.75}

/* Full self-hosted essay body (paper-style pieces with inline figures/charts,
   as opposed to the desc+CTA teaser used for essays that link out to Medium) */
.nol-essay-body p{color:var(--nol-ink);margin-bottom:18px;line-height:1.8;font-size:1.05rem}
.nol-essay-body h2{font-family:"Cormorant Garamond";font-weight:600;font-size:1.5rem;
  color:var(--nol-indigo-deep);margin:44px 0 14px}
.nol-essay-body blockquote{font-family:"Cormorant Garamond";font-style:italic;font-size:1.3rem;
  line-height:1.6;color:var(--nol-indigo);border-left:2px solid var(--nol-gold-soft);
  margin:32px 0;padding:4px 0 4px 24px}
.nol-essay-body figure{margin:40px 0}
.nol-essay-body figure img{width:100%;display:block;border-radius:2px;
  box-shadow:0 20px 40px -22px rgba(43,36,64,.30)}
.nol-essay-body figcaption{font-size:.85rem;color:var(--nol-sepia);margin-top:10px;
  font-style:italic;text-align:center;line-height:1.5}
.nol-essay-body .nol-byline{font-family:"Cormorant Garamond";font-style:italic;
  color:var(--nol-sepia);font-size:1.05rem;margin-top:48px;padding-top:24px;
  border-top:1px solid rgba(43,36,64,.12)}

/* ABOUT */
.nol-about{background:var(--nol-paper-deep)}
.nol-about .nol-wrap{display:grid;grid-template-columns:1fr 1.3fr;gap:64px;align-items:center}
.nol-about-portrait{aspect-ratio:4/5;border-radius:2px;position:relative;overflow:hidden;
  background:radial-gradient(ellipse at 30% 20%, rgba(203,169,88,.28), transparent 55%),
             radial-gradient(ellipse at 75% 80%, rgba(145,121,172,.28), transparent 55%),
             linear-gradient(160deg, var(--nol-indigo), var(--nol-indigo-deep));}
.nol-about-portrait .nol-tetra{inset:0;margin:auto;width:70%;height:70%;opacity:.22}
.nol-about h2{font-size:clamp(1.8rem,3.4vw,2.5rem);margin-bottom:20px}
.nol-about p{color:var(--nol-ink);margin-bottom:16px;max-width:56ch}
@media(max-width:820px){.nol-about .nol-wrap{grid-template-columns:1fr}}

/* FOOTER / CONTACT — identical block embedded on every page */
.nol-footer{background:var(--nol-indigo-deep);color:rgba(255,255,255,.82);padding:80px 0 40px;position:relative;overflow:hidden}
.nol-footer .nol-tetra{bottom:-10%;right:-4%;width:420px;height:420px;opacity:.08}
.nol-footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:48px;margin-bottom:64px;position:relative;z-index:2}
.nol-footer h4{font-family:"Cormorant Garamond";font-size:1.5rem;color:#fff !important;margin:0 0 16px}
.nol-footer p{font-size:.9rem;color:rgba(255,255,255,.66);max-width:36ch}
.nol-footer-links a{display:block;color:rgba(255,255,255,.78);text-decoration:none;font-size:.88rem;margin-bottom:10px;transition:color .3s}
.nol-footer-links a:hover{color:var(--nol-gold-soft)}
.nol-contact-form{display:flex;flex-direction:column;gap:12px}
.nol-contact-form input,.nol-contact-form textarea{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);border-radius:2px;padding:11px 14px;color:#fff;font-family:inherit;font-size:.88rem}
.nol-contact-form ::placeholder{color:rgba(255,255,255,.45)}
.nol-contact-form button{align-self:flex-start;margin-top:6px;background:transparent;border:1px solid var(--nol-gold-soft);color:var(--nol-gold-soft);padding:11px 26px;border-radius:2px;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background .3s,color .3s}
.nol-contact-form button:hover{background:var(--nol-gold-soft);color:var(--nol-indigo-deep)}
.nol-fine{border-top:1px solid rgba(255,255,255,.12);padding-top:28px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.78rem;color:rgba(255,255,255,.5);position:relative;z-index:2}
@media(max-width:820px){.nol-footer-grid{grid-template-columns:1fr}}
