/*
Theme Name: Spektrum Books
Theme URI: https://spektrumbooks.com
Author: Spektrum Books
Description: Custom one-page theme for Spektrum Books publishing house. Includes a "Book" custom post type for the catalog carousel and Contact Form 7 integration for the manuscript submission form.
Version: 1.0.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: spektrum-books
*/

:root{
  --ink:#12111A;
  --ink-2:#201F2C;
  --paper:#F6F1E4;
  --paper-2:#EEE6D3;
  --paper-3:#E4D9C0;
  --gold:#A9843E;
  --gold-light:#CBAA6B;
  --gold-deep:#8A6A2E;
  --line: rgba(18,17,26,0.14);
  --line-light: rgba(246,241,228,0.18);

  --cloth-red:#7A3230;
  --cloth-rust:#9C5A2A;
  --cloth-olive:#5B5A32;
  --cloth-forest:#354A38;
  --cloth-teal:#2B4A50;
  --cloth-navy:#293A55;
  --cloth-plum:#523552;

  --display:'Bodoni Moda', Georgia, serif;
  --serif:'Cormorant Garamond', Georgia, serif;
  --read:'EB Garamond', Georgia, serif;
  --sans:'Public Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--read);
  background:var(--paper);
  color:var(--ink);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  position:relative;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:2000;
  opacity:0.045;
  mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

body [data-lang="sr"]{display:none !important;}
body.lang-sr [data-lang="en"]{display:none !important;}
body.lang-sr [data-lang="sr"]{display:inline !important;}
/* The rule above assumes inline content; restore the correct display
   type for elements that carry data-lang directly but are not inline
   by nature (headings, paragraphs, quotes, block containers, list items,
   and the flex-laid-out eyebrow label) — otherwise Serbian headings and
   paragraphs collapse into one another instead of stacking normally.
   Everything here uses !important because several unrelated component
   styles (e.g. .form-row label, .eyebrow) declare their own `display`
   with matching specificity, and would otherwise win by source order. */
body.lang-sr :is(h2,h3,h4,p,blockquote,div)[data-lang="sr"]{display:block !important;}
body.lang-sr li[data-lang="sr"]{display:list-item !important;}
body.lang-sr .eyebrow[data-lang="sr"]{display:inline-flex !important;}

img,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}

.container{width:100%; max-width:1180px; margin:0 auto; padding:0 32px;}

h1,h2,h3,h4{font-family:var(--display); font-weight:500; letter-spacing:-0.005em; color:var(--ink);}

.eyebrow{
  font-family:var(--sans);
  font-size:11px;
  font-weight:600;
  letter-spacing:0.24em;
  text-transform:uppercase;
  color:var(--gold-deep);
  display:inline-flex;
  align-items:center;
  gap:12px;
}
.eyebrow::before{content:""; width:26px; height:1px; background:var(--gold); display:inline-block;}

.btn{
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-family:var(--sans);
  font-weight:600;
  font-size:12.5px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  padding:17px 32px;
  cursor:pointer;
  border:1px solid transparent;
  transition:all .35s cubic-bezier(.4,0,.2,1);
  position:relative;
}
.btn-primary{background:var(--ink); color:var(--paper); border-color:var(--ink);}
.btn-primary:hover{background:transparent; color:var(--ink);}
.btn-gold{background:transparent; color:var(--paper); border-color:var(--gold-light);}
.btn-gold:hover{background:var(--gold-light); color:var(--ink);}
.btn-ghost{border-color:var(--ink); color:var(--ink); background:transparent;}
.btn-ghost:hover{background:var(--ink); color:var(--paper);}

/* ===== HEADER ===== */
header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:rgba(246,241,228,0.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav-wrap{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 32px; max-width:1180px; margin:0 auto;
}
.logo-mark{display:flex; align-items:center; gap:12px;}
.logo-mark img{width:180px; height:auto;}

nav.primary{display:flex; align-items:center; gap:38px;}
nav.primary a{
  font-family:var(--sans);
  font-size:11px;
  font-weight:600;
  letter-spacing:0.14em;
  text-transform:uppercase;
  position:relative;
  padding-bottom:6px;
}
nav.primary a::after{
  content:""; position:absolute; left:50%; bottom:0; width:0%; height:1px;
  background:var(--gold); transition:all .35s ease; transform:translateX(-50%);
}
nav.primary a:hover::after{width:100%;}

.header-actions{display:flex; align-items:center; gap:22px;}
.lang-dropdown{position:relative; font-family:var(--sans);}
.lang-dropdown-toggle{
  display:flex; align-items:center; gap:7px;
  background:none; border:1px solid var(--line); cursor:pointer; color:var(--ink);
  padding:8px 12px; font-family:var(--sans); font-size:11px; font-weight:700; letter-spacing:0.1em;
  border-radius:2px; transition:border-color .25s ease;
}
.lang-dropdown-toggle:hover{border-color:var(--gold);}
.lang-dropdown-toggle svg{transition:transform .25s ease; flex-shrink:0;}
.lang-dropdown.open .lang-dropdown-toggle svg{transform:rotate(180deg);}

.lang-dropdown-menu{
  position:absolute; top:calc(100% + 10px); right:0; min-width:180px;
  background:var(--paper); border:1px solid var(--line);
  box-shadow:0 18px 40px -12px rgba(18,17,26,0.28);
  padding:8px; margin:0; list-style:none; display:none; flex-direction:column; gap:2px; z-index:1200;
}
.lang-dropdown.open .lang-dropdown-menu{display:flex;}
.lang-dropdown-menu li{margin:0; padding:0; list-style:none;}
.lang-option{
  display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%;
  background:none; border:none; cursor:pointer; text-align:left;
  font-family:var(--read); font-size:15px; color:var(--ink);
  padding:9px 12px; border-radius:2px;
}
.lang-option:hover{background:var(--paper-2);}
.lang-option.active{color:var(--gold-deep); font-style:italic;}
.lang-option small{font:700 9px/1 var(--sans); letter-spacing:.09em; color:var(--ink-2);}
.lang-option:focus-visible,.lang-dropdown-toggle:focus-visible{outline:2px solid var(--gold); outline-offset:2px;}
.lang-soon{cursor:default; color:var(--ink-2); opacity:0.55;}
.lang-soon:hover{background:none;}
.lang-soon em{
  font-family:var(--sans); font-style:normal; font-size:9px; font-weight:700; letter-spacing:0.08em;
  text-transform:uppercase; color:var(--ink-2); border:1px solid var(--line); border-radius:20px; padding:2px 7px;
}

.header-cta{padding:12px 22px; font-size:11px;}

.skip-link{
  position:absolute; left:-999px; top:auto;
  background:var(--ink); color:var(--paper); padding:14px 22px;
  font-family:var(--sans); font-size:12px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase;
  z-index:2000;
}
.skip-link:focus{left:16px; top:16px;}

.menu-toggle{
  display:none; flex-direction:column; justify-content:center; gap:5px;
  width:34px; height:34px; background:none; border:none; cursor:pointer; padding:0;
}
.menu-toggle span{display:block; width:100%; height:1px; background:var(--ink); transition:transform .3s ease, opacity .3s ease;}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

.mobile-nav{
  display:none; flex-direction:column;
  max-height:0; overflow:hidden;
  border-top:1px solid transparent;
  transition:max-height .35s ease, border-color .35s ease;
}
.mobile-nav.open{max-height:400px; border-top-color:var(--line);}
.mobile-nav a{
  font-family:var(--sans); font-size:13px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase;
  padding:16px 32px; border-bottom:1px solid var(--line);
}

/* ===== HERO ===== */
.hero{position:relative; padding:205px 0 130px;}
.hero::after{
  content:"";
  position:absolute; left:0; right:0; bottom:0; height:1px;
}

.hero-inner{position:relative; z-index:2; max-width:none;}
.hero h1{
  font-size:clamp(40px, 5.15vw, 78px);
  line-height:1.09;
  margin:26px 0 34px;
  font-weight:500;
  max-width:1050px;
}
.site-lang-de .hero h1,.site-lang-nl .hero h1,.site-lang-pl .hero h1{font-size:clamp(38px,4.7vw,70px);}
html[dir="rtl"] body{text-align:right;}
html[dir="rtl"] .eyebrow,html[dir="rtl"] .hero-actions,html[dir="rtl"] .intro-signoff,html[dir="rtl"] .amazon-list li{flex-direction:row-reverse;justify-content:flex-end;}
html[dir="rtl"] .lang-dropdown-menu{right:auto;left:0;}
html[dir="rtl"] .lang-option{text-align:right;}
.hero h1 em{font-style:italic; font-family:var(--serif); font-weight:500; color:var(--gold-deep);}
.hero p.lead{
  font-family:var(--read);
  font-size:20px;
  color:var(--ink-2);
  max-width:760px;
  margin-bottom:42px;
  font-style:italic;
}
.hero-actions{display:flex; align-items:center; gap:30px; flex-wrap:wrap;}
.hero-actions .text-link{
  font-family:var(--sans); font-size:11px; font-weight:600; letter-spacing:0.12em; text-transform:uppercase;
  border-bottom:1px solid var(--ink); padding-bottom:4px;
}

.hero-stats{
  display:grid; grid-template-columns:repeat(3,1fr); gap:40px;
  margin-top:100px; max-width:none; border-top:1px solid var(--line); padding-top:30px;
}
.hero-stats div{padding-right:24px;}
.hero-stats .num{font-family:var(--display); font-size:36px; font-weight:500; color:var(--gold-deep);}
.hero-stats .label{font-family:var(--sans); font-size:11px; letter-spacing:0.03em; color:var(--ink-2); margin-top:6px; line-height:1.5; text-transform:uppercase; font-weight:500;}

/* ===== INTRO ===== */
.intro{background:var(--ink); color:var(--paper); padding:130px 0; position:relative;}
.intro .container{max-width:860px;}
.intro .eyebrow{color:var(--gold-light);}
.intro .eyebrow::before{background:var(--gold-light);}
.intro h2{
  font-family:var(--serif); font-style:italic; font-weight:500;
  font-size:clamp(26px,3.1vw,38px); line-height:1.5; margin:28px 0 34px; color:#F3EEE0;
}
.intro p{font-family:var(--read); font-size:17.5px; color:#C6C0D4; max-width:680px; margin-bottom:20px;}
.intro-signoff{display:flex; align-items:center; gap:18px; margin-top:44px;}
.intro-signoff .rule{width:50px; height:1px; background:var(--gold-light);}
.intro-signoff span{font-family:var(--serif); font-style:italic; font-size:19px; color:var(--gold-light);}

/* ===== PROCESS ===== */
.process{padding:130px 0;}
.section-head{display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:70px; gap:40px; flex-wrap:wrap;}
.section-head h2{font-size:clamp(30px,3.4vw,42px);}
.section-head p{max-width:320px; color:var(--ink-2); font-family:var(--read); font-style:italic; font-size:16px;}

.steps{border-top:1px solid var(--line);}
.step{
  display:grid; grid-template-columns:90px 1fr 1.4fr;
  gap:30px; align-items:start;
  padding:34px 0; border-bottom:1px solid var(--line);
}
.step .step-num{font-family:var(--display); font-size:15px; font-style:italic; color:var(--gold-deep); padding-top:4px;}
.step h3{font-size:21px; font-weight:500;}
.step p{font-family:var(--read); font-size:15.5px; color:var(--ink-2); max-width:440px;}

.process-timeframe{
  margin-top:56px; display:flex; align-items:baseline; gap:16px;
  font-family:var(--sans); font-size:12px; letter-spacing:0.05em; color:var(--ink-2); text-transform:uppercase;
}
.process-timeframe strong{font-family:var(--display); font-size:22px; font-style:italic; font-weight:500; color:var(--gold-deep); text-transform:none; letter-spacing:0;}

/* ===== AMAZON ===== */
.amazon{background:var(--ink); color:var(--paper); padding:130px 0;}
.amazon-grid{display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center;}
.amazon .eyebrow{color:var(--gold-light);}
.amazon .eyebrow::before{background:var(--gold-light);}
.amazon h2{color:#F3EEE0; font-size:clamp(28px,3.2vw,38px); margin:22px 0 24px; line-height:1.2;}
.amazon p{font-family:var(--read); color:#C6C0D4; font-size:16.5px; margin-bottom:28px; max-width:440px;}
.amazon-list{display:flex; flex-direction:column; gap:18px; margin-bottom:36px;}
.amazon-list li{display:flex; gap:16px; font-family:var(--read); font-size:16px; color:#E6E1D2; align-items:baseline;}
.amazon-list .mark{font-family:var(--serif); font-style:italic; color:var(--gold-light); flex-shrink:0; font-size:15px;}

.amazon-visual{border:1px solid var(--line-light); padding:56px 46px; position:relative;}
.amazon-visual .kicker{font-family:var(--sans); font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold-light); font-weight:600;}
.amazon-visual .big{font-family:var(--serif); font-style:italic; font-size:29px; line-height:1.4; margin-top:20px; color:#F3EEE0;}
.amazon-visual .rule-gold{height:1px; width:60px; background:var(--gold); margin:34px 0;}
.amazon-visual .foot{display:flex; justify-content:space-between; font-family:var(--sans); font-size:11px; color:#8B87A0; letter-spacing:0.08em; text-transform:uppercase;}

/* ===== BOOKS (carousel) ===== */
.books{padding:130px 0;}

.books-carousel{position:relative; display:flex; align-items:center; gap:18px; margin-top:10px;}
.books-viewport{overflow:hidden; flex:1; min-width:0; padding:6px 6px 20px; margin:-6px -6px -14px;}
.books-track{
  display:flex; gap:30px;
  transition:transform .5s cubic-bezier(.4,0,.2,1);
  will-change:transform;
}

.book-slide{flex:0 0 auto; width:220px;}
.book-slide a{display:block;}
.book-cover{
  aspect-ratio:2/3; position:relative; overflow:hidden;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  box-shadow:0 24px 46px -24px rgba(18,17,26,0.5);
  transition:transform .4s cubic-bezier(.4,0,.2,1);
  cursor:pointer; padding:26px 16px; text-align:center;
  border-top:6px solid var(--gold-light);
  border-bottom:6px solid var(--gold-light);
}
.book-slide:hover .book-cover{transform:translateY(-10px);}
.book-cover.has-image{padding:0;}
.book-cover.has-image img{width:100%; height:100%; object-fit:cover;}
.book-cover .spine{position:absolute; left:14px; top:0; bottom:0; width:1px; background:rgba(246,241,228,0.25);}
.book-cover .spine2{position:absolute; right:14px; top:0; bottom:0; width:1px; background:rgba(246,241,228,0.25);}
.book-cover span{font-family:var(--display); font-weight:500; font-style:italic; font-size:15px; color:#F3EEE0; line-height:1.4; position:relative; z-index:2;}
.book-slide-title{
  margin-top:14px; font-family:var(--sans); font-size:12px; font-weight:600; letter-spacing:0.04em;
  color:var(--ink); text-align:center;
}
.bc1{background:var(--cloth-red);}
.bc2{background:var(--cloth-navy);}
.bc3{background:var(--cloth-forest);}
.bc4{background:var(--cloth-plum);}
.bc5{background:var(--cloth-rust);}
.bc6{background:var(--cloth-teal);}
.bc7{background:var(--cloth-olive);}

.carousel-arrow{
  flex:0 0 auto; width:44px; height:44px; border-radius:50%;
  border:1px solid var(--line); background:var(--paper); color:var(--ink);
  display:flex; align-items:center; justify-content:center; cursor:pointer;
  transition:background .3s ease, color .3s ease, border-color .3s ease;
  font-family:var(--display); font-size:18px;
}
.carousel-arrow:hover{background:var(--ink); color:var(--paper); border-color:var(--ink);}
.carousel-arrow:disabled{opacity:0.3; cursor:default; background:var(--paper); color:var(--ink); border-color:var(--line);}
.books-empty{font-family:var(--read); font-style:italic; color:var(--ink-2); padding:30px 0;}

/* Full catalog page: a plain wrapping grid instead of the homepage teaser carousel. */
.catalog-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(190px,1fr)); gap:30px;}
.catalog-grid .book-slide{width:auto;}

.books-more{margin-top:50px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:24px;}
.books-more p{font-family:var(--read); font-style:italic; color:var(--ink-2); font-size:15px; max-width:440px;}

/* ===== MULTILINGUAL BLOG ===== */
.blog-hero{padding:190px 0 80px;background:var(--paper-2);border-bottom:1px solid var(--line);}
.blog-hero h1{font-size:clamp(38px,5vw,68px);line-height:1.08;margin:22px 0 18px;max-width:850px;}
.blog-hero p{font-family:var(--read);font-size:18px;font-style:italic;color:var(--ink-2);max-width:650px;}
.blog-list{padding:90px 0 120px;}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 30px;margin-bottom:70px;}
.blog-card{border-bottom:1px solid var(--line);padding-bottom:28px;}
.blog-card-image{display:block;aspect-ratio:16/10;background:var(--paper-2);overflow:hidden;margin-bottom:24px;}
.blog-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease;}
.blog-card:hover .blog-card-image img{transform:scale(1.025);}
.blog-card time,.single-post-article time{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:12px;}
.blog-card h2{font-size:clamp(23px,2.2vw,30px);line-height:1.16;margin-bottom:14px;}
.blog-excerpt{font-family:var(--read);font-size:16px;color:var(--ink-2);margin-bottom:20px;}
.blog-excerpt p{margin:0;}
.blog-card .text-link,.single-post-back{font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:3px;}
.blog-empty{font-family:var(--read);font-size:18px;font-style:italic;color:var(--ink-2);}
.blog-list .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border:1px solid var(--line);margin-right:6px;font-family:var(--sans);font-size:12px;}
.blog-list .page-numbers.current,.blog-list a.page-numbers:hover{background:var(--ink);border-color:var(--ink);color:var(--paper);}
.single-post-section{padding:190px 0 110px;}
.single-post-article{max-width:820px;margin:0 auto;}
.single-post-article h1{font-size:clamp(38px,5vw,64px);line-height:1.1;margin:22px 0 18px;}
.single-post-image{margin:42px 0;}
.single-post-image img{width:100%;height:auto;display:block;}
.single-post-content{font-family:var(--read);font-size:18px;line-height:1.75;color:var(--ink-2);}
.single-post-content h2,.single-post-content h3{margin:1.6em 0 .6em;color:var(--ink);}
.single-post-content p,.single-post-content ul,.single-post-content ol{margin-bottom:1.25em;}
.single-post-back{display:inline-block;margin-top:44px;}

/* ===== SINGLE BOOK ===== */
.single-book-hero{padding:200px 0 100px;}
.single-book-grid{display:grid; grid-template-columns:340px 1fr; gap:70px;}
.single-book-cover{aspect-ratio:2/3; box-shadow:0 24px 46px -24px rgba(18,17,26,0.5); overflow:hidden;}
.single-book-cover img{width:100%; height:100%; object-fit:cover;}
.single-book-cover.has-fallback{display:flex; align-items:center; justify-content:center; border-top:6px solid var(--gold-light); border-bottom:6px solid var(--gold-light); padding:26px;}
.single-book-cover.has-fallback span{font-family:var(--display); font-style:italic; font-size:22px; color:#F3EEE0; text-align:center;}
.single-book-content h1{font-size:clamp(30px,4vw,46px); margin:20px 0 24px;}
.book-meta-line{font-family:var(--sans);font-size:13px;letter-spacing:.04em;color:var(--gold-deep);margin:-10px 0 24px;}
.single-book-content .single-book-body{font-family:var(--read); font-size:17px; color:var(--ink-2); max-width:560px; margin-bottom:30px;}
.single-book-back{display:inline-block; margin-top:20px; font-family:var(--sans); font-size:11px; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; border-bottom:1px solid var(--ink); padding-bottom:4px;}

/* ===== TESTIMONIAL ===== */
.testimonial{padding:140px 0; background:var(--paper-2); text-align:center; position:relative;}
.testimonial .quote-mark{font-family:var(--display); font-size:80px; color:var(--gold); line-height:1; margin-bottom:10px; font-style:italic;}
.testimonial blockquote{
  font-family:var(--serif); font-style:italic; font-weight:500;
  font-size:clamp(24px,2.9vw,33px); max-width:800px; margin:0 auto 30px; line-height:1.55; color:var(--ink);
}
.testimonial cite{font-family:var(--sans); font-size:11px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-deep); font-style:normal;}

/* ===== CTA / CONTACT FORM ===== */
.cta{padding:140px 0;}
.cta-grid{display:grid; grid-template-columns:1fr 1fr; gap:80px;}
.cta h2{font-size:clamp(30px,3.6vw,44px); line-height:1.15; margin:22px 0 22px;}
.cta p{font-family:var(--read); font-style:italic; color:var(--ink-2); font-size:16.5px; max-width:400px; margin-bottom:10px;}

.form-card{border:1px solid var(--line); padding:48px;}
.form-row{margin-bottom:26px;}
.form-row label{display:block; font-family:var(--sans); font-size:10.5px; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; color:var(--ink-2); margin-bottom:10px;}
.form-row input,.form-row textarea{
  width:100%; border:none; border-bottom:1px solid var(--line); background:transparent;
  padding:10px 2px; font-family:var(--read); font-size:16px; color:var(--ink);
}
.form-row input:focus,.form-row textarea:focus{outline:none; border-bottom-color:var(--gold);}
.form-row textarea{resize:vertical; min-height:90px;}
.form-card .btn{width:100%; justify-content:center; margin-top:8px;}
.form-note{font-family:var(--sans); font-size:12px; color:var(--gold-deep); min-height:1em; margin-bottom:6px;}
.cf7-notice{font-family:var(--sans); font-size:12px; color:var(--gold-deep); border:1px dashed var(--gold-light); padding:14px 16px; margin-bottom:22px;}

/* Contact Form 7 markup, styled to match .form-card so the form looks
   identical to the static fallback the moment a real CF7 form is wired up. */
.form-card .wpcf7-form p{margin-bottom:26px;}
.form-card .wpcf7-form label{display:block; font-family:var(--sans); font-size:10.5px; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; color:var(--ink-2); margin-bottom:10px;}
.form-card .wpcf7-form input[type="text"],
.form-card .wpcf7-form input[type="email"],
.form-card .wpcf7-form textarea{
  width:100%; border:none; border-bottom:1px solid var(--line); background:transparent;
  padding:10px 2px; font-family:var(--read); font-size:16px; color:var(--ink);
}
.form-card .wpcf7-form input:focus,.form-card .wpcf7-form textarea:focus{outline:none; border-bottom-color:var(--gold);}
.form-card .wpcf7-form textarea{resize:vertical; min-height:90px;}
.form-card .wpcf7-form input[type="submit"]{
  width:100%; justify-content:center; margin-top:8px;
  display:inline-flex; align-items:center; gap:12px; font-family:var(--sans); font-weight:600;
  font-size:12.5px; letter-spacing:0.14em; text-transform:uppercase; padding:17px 32px; cursor:pointer;
  border:1px solid var(--ink); background:var(--ink); color:var(--paper); transition:all .35s cubic-bezier(.4,0,.2,1);
}
.form-card .wpcf7-form input[type="submit"]:hover{background:transparent; color:var(--ink);}
.form-card .wpcf7-response-output{font-family:var(--sans); font-size:12px; margin-top:18px; padding:14px 16px; border:1px solid var(--line);}
.form-card .wpcf7-not-valid-tip{font-family:var(--sans); font-size:11px; color:#8A3A2E; margin-top:6px;}
.form-card form.sent .wpcf7-response-output{border-color:var(--gold); color:var(--gold-deep);}

/* ===== FOOTER ===== */
footer{background:var(--ink); color:#B8B3C6; padding:90px 0 34px;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:56px; padding-bottom:64px; border-bottom:1px solid var(--line-light);}
.footer-logo{margin-bottom:22px;}
.footer-logo img{width:200px; height:auto; filter:brightness(0) invert(1) opacity(0.92);}
footer .col h4{color:var(--gold-light); font-family:var(--sans); font-size:11px; letter-spacing:0.16em; text-transform:uppercase; margin-bottom:20px; font-weight:600;}
footer .col ul li{margin-bottom:13px; font-family:var(--read); font-size:15px;}
footer .col ul li a:hover{color:#F3EEE0;}
footer p.about-text{font-family:var(--read); font-style:italic; font-size:15px; max-width:280px; color:#9B96AC; margin-bottom:24px;}
.social-row{display:flex; gap:14px; font-family:var(--sans);}
.social-row a{font-size:11px; letter-spacing:0.08em; text-transform:uppercase; border-bottom:1px solid rgba(184,179,198,0.35); padding-bottom:3px;}
.social-row a:hover{border-bottom-color:var(--gold-light); color:#F3EEE0;}
.footer-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:30px; font-family:var(--sans); font-size:11px; letter-spacing:0.03em; color:#726D85; flex-wrap:wrap; gap:16px; text-transform:uppercase;}

/* ===== REVEAL ===== */
.reveal{opacity:0; transform:translateY(26px); transition:opacity .8s ease, transform .8s ease;}
.reveal.in{opacity:1; transform:translateY(0);}
@media (prefers-reduced-motion: reduce){.reveal{opacity:1; transform:none; transition:none;} html{scroll-behavior:auto;}}

/* ===== RESPONSIVE ===== */
@media (max-width:980px){
  .amazon-grid{grid-template-columns:1fr;}
  .cta-grid{grid-template-columns:1fr;}
  .step{grid-template-columns:60px 1fr; }
  .step > p{grid-column:1 / -1; padding-left:0;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  nav.primary{display:none;}
  .menu-toggle{display:flex;}
  .mobile-nav{display:flex;}
  .single-book-grid{grid-template-columns:1fr; gap:40px;}
  .single-book-cover{max-width:320px;}
  .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:600px){
  .container{padding:0 20px;}
  .hero{padding:150px 0 90px;}
  .hero-stats{grid-template-columns:1fr; gap:22px;}
  .header-cta{display:none;}
  .blog-hero{padding:145px 0 60px;}
  .blog-list{padding:60px 0 80px;}
  .blog-grid{grid-template-columns:1fr;gap:38px;}
  .single-post-section{padding:145px 0 80px;}
  .form-card{padding:30px;}
  .book-slide{width:170px;}
  .carousel-arrow{width:36px; height:36px;}
}
