/* ═══════════════════════════════════════════════════════════
   MALFUCHS.COM — Premium Buchhandlung Ästhetik
   Cormorant Garamond · DM Sans · Ink & Ivory
   ═══════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,600&family=DM+Sans:ital,wght@0,300;0,400;0,500;1,300&display=swap');

/* ── Tokens ─────────────────────────────────────────────── */
:root {
  --ink:          #16120E;
  --ink-80:       rgba(22,18,14,.80);
  --ink-40:       rgba(22,18,14,.40);
  --ink-12:       rgba(22,18,14,.12);
  --ink-06:       rgba(22,18,14,.06);
  --ivory:        #FAF7F2;
  --paper:        #F3EDE3;
  --stone:        #E6DDD2;
  --stone-dk:     #C9BFB4;
  --crimson:      #8C1C13;
  --crimson-lt:   #A8251B;
  --gold:         #BF882A;
  --gold-lt:      #D4A044;
  --sage:         #2E4A38;
  --muted:        #7B7068;
  --white:        #FFFFFF;

  --font-display: 'Cormorant Garamond', Georgia, serif;
  --font-sans:    'DM Sans', system-ui, sans-serif;

  --ease-out:     cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out:  cubic-bezier(0.65, 0, 0.35, 1);
}

/* ── Reset ──────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-size:16px;scroll-behavior:smooth;}
body{
  font-family:var(--font-sans);
  background:var(--ivory);
  color:var(--ink);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}

/* ── Typography ─────────────────────────────────────────── */
h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.15;letter-spacing:-.01em;}
h1{font-size:clamp(2.4rem,5vw,4.2rem);}
h2{font-size:clamp(1.8rem,3.5vw,2.8rem);}
h3{font-size:clamp(1.1rem,2vw,1.4rem);}
p{margin-bottom:1em;}

/* ── Layout ─────────────────────────────────────────────── */
.container{max-width:1240px;margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem);}
.section{padding:5rem 0;}
.section--dark{background:var(--ink);color:var(--ivory);}
.section--paper{background:var(--paper);}

/* ── Skip link ──────────────────────────────────────────── */
.skip-link{position:absolute;top:-50px;left:1rem;background:var(--crimson);color:#fff;padding:.5rem 1rem;border-radius:0 0 4px 4px;font-size:.85rem;z-index:9999;transition:top .2s;}
.skip-link:focus{top:0;}


/* ════════════════════════════════════════════════════════
   NAVIGATION
   ════════════════════════════════════════════════════════ */
.site-header{
  position:sticky;top:0;z-index:200;
  background:var(--ink);
  border-bottom:1px solid rgba(255,255,255,.07);
}
.nav-wrap{
  display:flex;align-items:center;gap:2rem;
  height:64px;
}

/* Logo */
.logo{display:flex;align-items:center;gap:.75rem;flex-shrink:0;}
.logo__icon{width:36px;height:36px;}
.logo__name{
  font-family:var(--font-display);
  font-size:1.55rem;font-weight:600;
  color:var(--ivory);letter-spacing:.01em;line-height:1;
}
.logo__tagline{
  font-family:var(--font-sans);
  font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--stone-dk);display:block;margin-top:2px;
}

/* Desktop links */
.nav-links{
  display:flex;align-items:center;gap:.25rem;
  list-style:none;margin-left:auto;
}
.nav-links a{
  font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;
  color:rgba(250,247,242,.65);padding:.4rem .9rem;border-radius:3px;
  transition:color .2s,background .2s;
  white-space:nowrap;
}
.nav-links a:hover,.nav-links a.active{color:var(--ivory);background:rgba(255,255,255,.08);}

/* CTA in nav */
.nav-cta{
  font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;
  background:var(--crimson);color:#fff !important;
  padding:.42rem 1.1rem;border-radius:3px;margin-left:.5rem;
  transition:background .2s !important;
}
.nav-cta:hover{background:var(--crimson-lt) !important;}

/* Burger */
.burger{
  display:none;margin-left:auto;
  flex-direction:column;gap:5px;
  background:none;border:none;cursor:pointer;padding:6px;
}
.burger span{
  display:block;width:24px;height:1.5px;
  background:var(--ivory);border-radius:2px;
  transition:transform .3s,opacity .3s;
}
.burger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.burger.open span:nth-child(2){opacity:0;}
.burger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

/* Mobile drawer */
.mobile-drawer{
  display:none;flex-direction:column;
  background:var(--ink);
  border-top:1px solid rgba(255,255,255,.07);
}
.mobile-drawer.open{display:flex;}
.mobile-drawer a{
  font-size:.9rem;letter-spacing:.05em;text-transform:uppercase;
  color:rgba(250,247,242,.7);padding:.9rem 1.5rem;
  border-bottom:1px solid rgba(255,255,255,.05);
  transition:color .2s,background .2s;
}
.mobile-drawer a:hover{color:var(--ivory);background:rgba(255,255,255,.05);}


/* ════════════════════════════════════════════════════════
   HERO — Editorial Split
   ════════════════════════════════════════════════════════ */
.hero{
  background:var(--ink);
  overflow:hidden;
  position:relative;
}
/* Decorative ruled lines */
.hero::before{
  content:'';position:absolute;inset:0;
  background:repeating-linear-gradient(
    90deg,
    transparent,transparent 119px,
    rgba(255,255,255,.025) 119px,rgba(255,255,255,.025) 120px
  );
  pointer-events:none;
}

.hero__inner{
  position:relative;
  display:grid;
  grid-template-columns:1fr 420px;
  min-height:560px;
}

/* Left copy */
.hero__copy{
  padding:clamp(3rem,6vw,6rem) 3rem clamp(3rem,6vw,6rem) 0;
  display:flex;flex-direction:column;justify-content:center;
  border-right:1px solid rgba(255,255,255,.08);
}
.hero__kicker{
  display:inline-flex;align-items:center;gap:.6rem;
  font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);margin-bottom:1.5rem;font-family:var(--font-sans);
}
.hero__kicker::before{content:'';width:2rem;height:1px;background:var(--gold);}
.hero__h1{
  color:var(--ivory);
  font-weight:300;
  margin-bottom:1.5rem;
  line-height:1.1;
}
.hero__h1 em{font-style:italic;font-weight:600;color:var(--gold);}
.hero__lead{
  font-size:1rem;color:rgba(250,247,242,.6);
  max-width:480px;line-height:1.75;margin-bottom:2.5rem;
  font-weight:300;
}
.hero__actions{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;}
.btn-primary{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.8rem 1.8rem;
  background:var(--crimson);color:#fff;
  font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;
  font-family:var(--font-sans);font-weight:500;
  border-radius:2px;border:none;cursor:pointer;
  transition:background .2s,transform .2s;
}
.btn-primary:hover{background:var(--crimson-lt);color:#fff;transform:translateY(-1px);}
.btn-ghost{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.8rem 1.5rem;
  border:1px solid rgba(250,247,242,.25);color:rgba(250,247,242,.75);
  font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;
  font-family:var(--font-sans);font-weight:400;border-radius:2px;
  transition:border-color .2s,color .2s;
}
.btn-ghost:hover{border-color:var(--ivory);color:var(--ivory);}

/* Right — featured books stack */
.hero__shelf{
  padding:2.5rem 0 2.5rem 3rem;
  display:flex;flex-direction:column;justify-content:center;gap:1.5rem;
  background:rgba(255,255,255,.02);
}
.hero__shelf-label{
  font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--stone-dk);font-family:var(--font-sans);
  padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.07);
}
.hero-book{
  display:flex;align-items:center;gap:1rem;
  padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.06);
  cursor:pointer;transition:opacity .2s;
}
.hero-book:last-child{border-bottom:none;}
.hero-book:hover{opacity:.8;}
.hero-book__cover{
  width:52px;height:70px;border-radius:2px;flex-shrink:0;
  box-shadow:3px 3px 12px rgba(0,0,0,.5);
  display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;
}
.hero-book__info{flex:1;}
.hero-book__age{
  font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold);margin-bottom:.25rem;
}
.hero-book__title{
  font-family:var(--font-display);font-size:.95rem;font-weight:500;
  color:var(--ivory);line-height:1.3;
}
.hero-book__arrow{color:var(--stone-dk);font-size:.8rem;flex-shrink:0;}

/* Stats bar */
.hero__stats{
  background:rgba(255,255,255,.04);
  border-top:1px solid rgba(255,255,255,.07);
}
.hero__stats-inner{
  display:flex;
  border-left:1px solid rgba(255,255,255,.07);
}
.hero__stat{
  flex:1;padding:1.25rem 2rem;
  border-right:1px solid rgba(255,255,255,.07);
  display:flex;flex-direction:column;gap:.25rem;
}
.hero__stat-num{
  font-family:var(--font-display);font-size:2rem;
  font-weight:600;color:var(--ivory);line-height:1;
}
.hero__stat-label{
  font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--stone-dk);
}


/* ════════════════════════════════════════════════════════
   SEARCH BAR
   ════════════════════════════════════════════════════════ */
.search-section{
  background:var(--paper);
  border-bottom:1px solid var(--stone);
  padding:1.1rem 0;
}
.search-inner{
  display:flex;align-items:center;gap:.75rem;
  max-width:600px;
}
.search-inner label{
  font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);white-space:nowrap;
  font-family:var(--font-sans);
}
.search-field{
  flex:1;display:flex;align-items:center;
  background:#fff;border:1px solid var(--stone);border-radius:2px;
  overflow:hidden;transition:border-color .2s;
}
.search-field:focus-within{border-color:var(--ink);}
.search-field input{
  flex:1;padding:.6rem 1rem;border:none;background:transparent;
  font-family:var(--font-sans);font-size:.88rem;color:var(--ink);
  outline:none;
}
.search-field input::placeholder{color:var(--stone-dk);}
.search-field button{
  padding:.6rem 1.1rem;background:var(--ink);color:#fff;border:none;
  font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;
  cursor:pointer;font-family:var(--font-sans);transition:background .2s;
}
.search-field button:hover{background:var(--sage);}


/* ════════════════════════════════════════════════════════
   SECTION HEADERS — Editorial Style
   ════════════════════════════════════════════════════════ */
.section-head{
  display:grid;grid-template-columns:auto 1fr auto;
  align-items:end;gap:2rem;
  margin-bottom:2.5rem;padding-bottom:1.25rem;
  border-bottom:1px solid var(--stone);
}
.section-head--dark{border-bottom-color:rgba(255,255,255,.1);}
.section-head__label{
  font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--crimson);font-family:var(--font-sans);margin-bottom:.5rem;
}
.section-head__title{
  font-size:clamp(1.6rem,3vw,2.2rem);
  font-weight:600;line-height:1.1;
}
.section-head__title em{font-style:italic;font-weight:300;}
.section-head__line{height:1px;background:var(--stone);align-self:center;}
.section-head__count{
  font-family:var(--font-display);
  font-size:3.5rem;font-weight:300;
  color:var(--stone);line-height:1;
  align-self:start;
}
.section-head--dark .section-head__line{background:rgba(255,255,255,.1);}
.section-head--dark .section-head__count{color:rgba(255,255,255,.08);}
.section-head--dark .section-head__title{color:var(--ivory);}
.section-head--dark .section-head__label{color:var(--gold);}

/* Category filter tabs */
.filter-tabs{
  display:flex;align-items:center;gap:.25rem;flex-wrap:wrap;
  margin-bottom:2rem;
}
.filter-tab{
  padding:.35rem 1rem;border:1px solid var(--stone);border-radius:2px;
  font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);cursor:pointer;
  font-family:var(--font-sans);
  transition:all .2s;background:#fff;
}
.filter-tab:hover{border-color:var(--ink);color:var(--ink);}
.filter-tab.active{background:var(--ink);border-color:var(--ink);color:#fff;}


/* ════════════════════════════════════════════════════════
   BOOK GRID & CARDS
   ════════════════════════════════════════════════════════ */
.books-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:1.75rem;
}
.books-grid--wide{
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
}

/* Card */
.book-card{
  display:flex;flex-direction:column;
  background:#fff;
  border:1px solid var(--stone);
  border-radius:3px;
  overflow:hidden;
  transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out);
  position:relative;
}
.book-card:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 40px rgba(22,18,14,.12),0 4px 12px rgba(22,18,14,.06);
}

/* Cover area */
.book-card__cover{
  position:relative;
  aspect-ratio:3/4;
  overflow:hidden;
  background:var(--paper);
}
.book-card__cover-img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .5s var(--ease-out);
}
.book-card:hover .book-card__cover-img{transform:scale(1.04);}

/* Cover placeholder — looks like a real book cover */
.cover-mock{
  width:100%;height:100%;
  display:flex;flex-direction:column;
  position:relative;overflow:hidden;
}
.cover-mock__spine{
  position:absolute;left:0;top:0;bottom:0;width:14px;
  background:rgba(0,0,0,.2);
}
.cover-mock__inner{
  flex:1;display:flex;flex-direction:column;
  align-items:center;justify-content:flex-end;
  padding:1.25rem 1.25rem 1.25rem 1.75rem;
  text-align:left;
}
.cover-mock__icon{
  font-size:3rem;margin-bottom:.75rem;
  align-self:flex-start;margin-left:.25rem;
}
.cover-mock__age-badge{
  display:inline-block;
  font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;
  font-family:var(--font-sans);padding:.2rem .6rem;
  background:rgba(0,0,0,.25);color:rgba(255,255,255,.9);
  border-radius:1px;margin-bottom:.5rem;
}
.cover-mock__title{
  font-family:var(--font-display);
  font-size:.95rem;font-weight:600;line-height:1.2;
  color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.3);
}
.cover-mock__author{
  font-size:.7rem;color:rgba(255,255,255,.7);
  margin-top:.25rem;font-family:var(--font-sans);
}

/* Badge overlay */
.book-card__badge{
  position:absolute;top:.75rem;right:.75rem;
  font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;
  font-family:var(--font-sans);padding:.25rem .6rem;border-radius:1px;
  font-weight:500;
}
.badge--new{background:var(--sage);color:#fff;}
.badge--top{background:var(--crimson);color:#fff;}
.badge--sale{background:var(--gold);color:#fff;}

/* Card body */
.book-card__body{
  padding:1rem 1.1rem 1.25rem;
  display:flex;flex-direction:column;flex:1;
  border-top:1px solid var(--stone);
}
.book-card__age{
  font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--crimson);margin-bottom:.3rem;font-family:var(--font-sans);
}
.book-card__title{
  font-family:var(--font-display);
  font-size:1.05rem;font-weight:600;line-height:1.3;
  color:var(--ink);margin-bottom:.4rem;
}
.book-card__desc{
  font-size:.8rem;color:var(--muted);line-height:1.55;
  flex:1;margin-bottom:.9rem;
}
.book-card__meta{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:.8rem;
  padding-bottom:.8rem;
  border-bottom:1px solid var(--stone);
}
.book-card__stars{font-size:.78rem;color:var(--gold);letter-spacing:1px;}
.book-card__pages{font-size:.7rem;color:var(--stone-dk);}

/* Amazon button */
.btn-amazon{
  display:flex;align-items:center;justify-content:space-between;
  padding:.6rem .9rem;
  background:var(--ink);color:var(--ivory);
  font-size:.73rem;letter-spacing:.09em;text-transform:uppercase;
  font-family:var(--font-sans);font-weight:500;border-radius:2px;
  transition:background .2s;
  cursor:pointer;border:none;width:100%;
}
.btn-amazon:hover{background:var(--sage);color:#fff;}
.btn-amazon__arrow{font-size:1rem;transition:transform .2s;}
.book-card:hover .btn-amazon__arrow{transform:translateX(3px);}
.affiliate-micro{
  font-size:.62rem;color:var(--stone-dk);text-align:center;
  margin-top:.4rem;
}


/* ════════════════════════════════════════════════════════
   FEATURED HORIZONTAL BAND (spotlight book)
   ════════════════════════════════════════════════════════ */
.spotlight{
  background:var(--ink);
  padding:4rem 0;
  overflow:hidden;
  position:relative;
}
.spotlight::before{
  content:'';position:absolute;right:0;top:0;bottom:0;width:40%;
  background:linear-gradient(to right,var(--ink),rgba(22,18,14,0));
  z-index:1;pointer-events:none;
}
.spotlight__inner{
  position:relative;z-index:2;
  display:grid;grid-template-columns:auto 1fr;gap:3.5rem;align-items:center;
}
.spotlight__cover{
  width:180px;height:240px;flex-shrink:0;border-radius:3px;
  box-shadow:8px 8px 32px rgba(0,0,0,.5),2px 2px 8px rgba(0,0,0,.3);
  display:flex;align-items:center;justify-content:center;
  font-size:5rem;
  background:linear-gradient(135deg,#2D4B30,#1B3020);
  position:relative;overflow:hidden;
}
.spotlight__cover::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:12px;
  background:linear-gradient(to right,rgba(0,0,0,.4),transparent);
}
.spotlight__label{
  font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);margin-bottom:1rem;font-family:var(--font-sans);
  display:flex;align-items:center;gap:.75rem;
}
.spotlight__label::before{content:'';width:2rem;height:1px;background:var(--gold);}
.spotlight__title{
  font-family:var(--font-display);
  font-size:clamp(1.8rem,3vw,2.6rem);
  color:var(--ivory);font-weight:300;
  line-height:1.15;margin-bottom:1rem;
}
.spotlight__title strong{font-weight:600;}
.spotlight__desc{
  font-size:.9rem;color:rgba(250,247,242,.6);
  line-height:1.7;max-width:520px;margin-bottom:1.75rem;
  font-weight:300;
}
.spotlight__age{
  display:inline-block;
  font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;
  border:1px solid rgba(250,247,242,.2);color:rgba(250,247,242,.7);
  padding:.3rem .9rem;border-radius:2px;margin-bottom:1.5rem;
  font-family:var(--font-sans);
}


/* ════════════════════════════════════════════════════════
   EDITORIAL TEXT — Warum Malbücher
   ════════════════════════════════════════════════════════ */
.editorial-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;
}
.editorial-big-num{
  font-family:var(--font-display);
  font-size:7rem;font-weight:300;line-height:1;
  color:var(--stone);margin-bottom:.5rem;
}
.editorial-item{margin-bottom:2.5rem;}
.editorial-item h3{
  font-family:var(--font-display);font-size:1.35rem;font-weight:600;
  margin-bottom:.5rem;color:var(--ink);
}
.editorial-item p{font-size:.88rem;color:var(--muted);line-height:1.75;margin:0;}

.pullquote{
  padding:2.5rem 0;
  border-top:1px solid var(--stone);border-bottom:1px solid var(--stone);
  margin:2rem 0;
}
.pullquote p{
  font-family:var(--font-display);
  font-size:clamp(1.3rem,2.5vw,1.8rem);
  font-weight:300;font-style:italic;
  color:var(--ink);line-height:1.4;margin:0;
}
.pullquote p::before{content:'\201E';}
.pullquote p::after{content:'\201C';}


/* ════════════════════════════════════════════════════════
   CATEGORY BLOCKS — Grid with index numbers
   ════════════════════════════════════════════════════════ */
.category-index{
  display:grid;grid-template-columns:repeat(2,1fr);gap:0;
  border:1px solid var(--stone);border-radius:3px;overflow:hidden;
}
.category-index__item{
  padding:2rem 2.25rem;
  border-right:1px solid var(--stone);
  border-bottom:1px solid var(--stone);
  cursor:pointer;
  transition:background .2s;
  display:flex;flex-direction:column;gap:.5rem;
  text-decoration:none;color:inherit;
}
.category-index__item:hover{background:var(--paper);}
.category-index__item:nth-child(2n){border-right:none;}
.category-index__item:nth-last-child(-n+2){border-bottom:none;}
.category-index__num{
  font-family:var(--font-display);
  font-size:2.5rem;font-weight:300;color:var(--stone);line-height:1;
}
.category-index__name{
  font-family:var(--font-display);font-size:1.25rem;font-weight:600;
  color:var(--ink);
}
.category-index__desc{font-size:.8rem;color:var(--muted);}
.category-index__arrow{
  font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--crimson);margin-top:.5rem;
}


/* ════════════════════════════════════════════════════════
   AFFILIATE DISCLOSURE
   ════════════════════════════════════════════════════════ */
.disclosure{
  background:var(--paper);
  border:1px solid var(--stone);
  border-left:3px solid var(--gold);
  border-radius:0 3px 3px 0;
  padding:1rem 1.5rem;
  font-size:.78rem;color:var(--muted);
  line-height:1.65;margin-top:3rem;
}
.disclosure strong{color:var(--ink);}


/* ════════════════════════════════════════════════════════
   CTA STRIP
   ════════════════════════════════════════════════════════ */
.cta-strip{
  background:var(--crimson);
  padding:3.5rem 0;
}
.cta-strip__inner{
  display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;
}
.cta-strip h2{color:#fff;font-size:clamp(1.4rem,2.5vw,2rem);}
.cta-strip p{color:rgba(255,255,255,.75);font-size:.9rem;margin:0;}
.btn-white{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.8rem 1.8rem;
  background:#fff;color:var(--crimson);
  font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;
  font-family:var(--font-sans);font-weight:600;border-radius:2px;
  transition:opacity .2s;flex-shrink:0;
}
.btn-white:hover{opacity:.9;color:var(--crimson);}


/* ════════════════════════════════════════════════════════
   FOOTER
   ════════════════════════════════════════════════════════ */
.site-footer{
  background:var(--ink);
  color:rgba(250,247,242,.55);
  padding:4rem 0 2rem;
  font-size:.85rem;
}
.footer-grid{
  display:grid;grid-template-columns:2.5fr 1fr 1fr 1fr;gap:3rem;
  padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.07);
  margin-bottom:2rem;
}
.footer-col h4{
  font-family:var(--font-display);font-size:1rem;font-weight:600;
  color:var(--ivory);margin-bottom:1rem;letter-spacing:.01em;
}
.footer-col p{color:rgba(250,247,242,.5);font-size:.8rem;line-height:1.7;margin-bottom:.5rem;}
.footer-col ul{list-style:none;}
.footer-col ul li{margin-bottom:.4rem;}
.footer-col ul a{
  color:rgba(250,247,242,.5);font-size:.8rem;
  transition:color .2s;
}
.footer-col ul a:hover{color:var(--ivory);}
.footer-logo{font-family:var(--font-display);font-size:1.6rem;font-weight:600;color:var(--ivory);margin-bottom:.75rem;}
.footer-bottom{
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:.75rem;
  font-size:.73rem;color:rgba(250,247,242,.3);
}
.footer-bottom a{color:rgba(250,247,242,.3);transition:color .2s;}
.footer-bottom a:hover{color:rgba(250,247,242,.7);}
.footer-links{display:flex;gap:1.5rem;}


/* ════════════════════════════════════════════════════════
   PAGE HEADER (static pages)
   ════════════════════════════════════════════════════════ */
.page-header{
  background:var(--ink);
  padding:3.5rem 0;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.page-header__kicker{
  font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold);margin-bottom:.75rem;font-family:var(--font-sans);
}
.page-header h1{color:var(--ivory);font-weight:300;}
.page-header h1 em{font-style:italic;}
.page-header p{color:rgba(250,247,242,.55);font-size:.9rem;margin-top:.5rem;}

/* Prose styling */
.prose{max-width:720px;}
.prose h2{
  font-family:var(--font-display);font-size:1.5rem;font-weight:600;
  color:var(--ink);margin:2.5rem 0 .75rem;
  padding-top:2rem;border-top:1px solid var(--stone);
}
.prose h2:first-of-type{padding-top:0;border-top:none;margin-top:0;}
.prose h3{font-size:1.05rem;font-weight:600;color:var(--ink);margin:1.5rem 0 .4rem;}
.prose p,.prose li{font-size:.9rem;color:var(--muted);line-height:1.8;}
.prose ul,.prose ol{padding-left:1.25rem;margin-bottom:1rem;}
.prose li{margin-bottom:.4rem;}
.prose a{color:var(--crimson);border-bottom:1px solid transparent;transition:border-color .2s;}
.prose a:hover{border-bottom-color:var(--crimson);}
.prose strong{color:var(--ink);font-weight:500;}
.prose address{font-style:normal;}


/* ════════════════════════════════════════════════════════
   CONTACT FORM
   ════════════════════════════════════════════════════════ */
.contact-layout{
  display:grid;grid-template-columns:1fr 340px;gap:4rem;align-items:start;
}
.form-card{
  background:#fff;border:1px solid var(--stone);border-radius:3px;padding:2.25rem;
}
.form-card h2{font-size:1.5rem;margin-bottom:.25rem;}
.form-card__sub{font-size:.82rem;color:var(--muted);margin-bottom:1.75rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;}
.form-group{margin-bottom:1.1rem;}
.form-group label{
  display:block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);margin-bottom:.4rem;font-family:var(--font-sans);
}
.form-group input,.form-group textarea,.form-group select{
  width:100%;padding:.65rem .9rem;
  border:1px solid var(--stone);border-radius:2px;
  font-family:var(--font-sans);font-size:.88rem;color:var(--ink);
  background:var(--ivory);outline:none;
  transition:border-color .2s;
}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{
  border-color:var(--ink);
}
.form-group textarea{min-height:130px;resize:vertical;}
.form-check{display:flex;align-items:flex-start;gap:.65rem;margin-bottom:1.5rem;}
.form-check input{margin-top:3px;flex-shrink:0;}
.form-check label{font-size:.8rem;color:var(--muted);line-height:1.6;}
.btn-submit{
  width:100%;padding:.85rem;
  background:var(--ink);color:#fff;border:none;border-radius:2px;
  font-family:var(--font-sans);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;
  font-weight:500;cursor:pointer;transition:background .2s;
}
.btn-submit:hover{background:var(--sage);}
.recaptcha-hint{font-size:.68rem;color:var(--stone-dk);text-align:center;margin-top:.75rem;line-height:1.5;}
.recaptcha-hint a{color:var(--stone-dk);}
.alert{
  padding:.8rem 1rem;border-radius:2px;font-size:.85rem;
  margin-bottom:1.25rem;display:none;
}
.alert.success{background:#f0faf0;border:1px solid #b3d9b3;color:#285228;}
.alert.error{background:#fdf5f5;border:1px solid #e8c5c5;color:#7a1f1f;}

/* Contact sidebar */
.contact-sidebar{display:flex;flex-direction:column;gap:1.25rem;}
.info-block{
  background:var(--paper);border:1px solid var(--stone);
  border-radius:3px;padding:1.5rem;
}
.info-block h3{font-size:.95rem;margin-bottom:.5rem;}
.info-block p{font-size:.82rem;color:var(--muted);line-height:1.65;margin:0;}
.info-block a{color:var(--crimson);}


/* ════════════════════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════════════════════ */
@media(max-width:1024px){
  .hero__inner{grid-template-columns:1fr;}
  .hero__shelf{display:none;}
  .hero__copy{border-right:none;padding-right:0;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .editorial-grid{grid-template-columns:1fr;gap:2.5rem;}
  .spotlight__inner{grid-template-columns:1fr;}
  .spotlight__cover{display:none;}
}
@media(max-width:768px){
  .nav-links{display:none;}
  .burger{display:flex;}
  .section-head{grid-template-columns:1fr;gap:.5rem;}
  .section-head__line,.section-head__count{display:none;}
  .hero__stats-inner{flex-wrap:wrap;}
  .hero__stat{min-width:50%;}
  .cta-strip__inner{flex-direction:column;text-align:center;}
  .contact-layout{grid-template-columns:1fr;}
  .category-index{grid-template-columns:1fr;}
  .category-index__item:nth-child(2n){border-right:1px solid var(--stone);}
  .category-index__item:nth-last-child(-n+1){border-bottom:none;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:520px){
  .books-grid{grid-template-columns:repeat(2,1fr);gap:1rem;}
  .form-row{grid-template-columns:1fr;}
  .hero__actions{flex-direction:column;align-items:flex-start;}
  .footer-grid{grid-template-columns:1fr;}
}


/* ════════════════════════════════════════════════════════
   ANIMATIONS
   ════════════════════════════════════════════════════════ */
@keyframes fadeUp{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
.anim{opacity:0;}
.anim.visible{animation:fadeUp .55s var(--ease-out) both;}
