/*
Theme Name: Redhot Africa
Theme URI: https://redhotafrica.com
Author: Redhot Africa
Description: Official Redhot Africa WordPress Theme — Premium Edition
Version: 3.0.0
Text Domain: redhot-africa
*/

/* ═══════════════════════════════════════════════════════════════
   DESIGN TOKENS
═══════════════════════════════════════════════════════════════ */
:root {
  --main:        #660000;
  --main-deep:   #4d0000;
  --main-light:  #7a0000;
  --submain:     #9d6e0d;
  --gold:        #9d6e0d;
  --gold-light:  #ffb347;
  --gold-bright: #fbbf24;
  --gold-dark:   #5a3b01;
  --primary:     hsl(15,75%,45%);
  --white:       #ffffff;
  --off-white:   #fafafa;
  --red-50:      #fff5f5;
  --red-100:     #fee2e2;
  --red-200:     #fecaca;
  --text-dark:   #111827;
  --text-body:   #374151;
  --text-muted:  #6b7280;
  --text-light:  #9ca3af;
  --border:      #e5e7eb;
  --border-light:#f3f4f6;

  --section-y: 3.5rem;
  --section-x: 1.25rem;

  --font-body: 'Inter', system-ui, -apple-system, sans-serif;
  --leading:   1.7;

  --r-sm:   0.5rem;
  --r-md:   0.875rem;
  --r-lg:   1.25rem;
  --r-xl:   1.75rem;
  --r-full: 9999px;

  --shadow-xs: 0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);
  --shadow-sm: 0 2px 8px rgba(102,0,0,.06),0 1px 3px rgba(0,0,0,.05);
  --shadow-md: 0 4px 16px rgba(102,0,0,.09),0 2px 6px rgba(0,0,0,.06);
  --shadow-lg: 0 8px 32px rgba(102,0,0,.13),0 4px 12px rgba(0,0,0,.07);
  --shadow-xl: 0 16px 56px rgba(102,0,0,.18),0 8px 24px rgba(0,0,0,.08);
  --shadow-glow: 0 0 40px rgba(255,179,71,.25);

  --grad-redhot: linear-gradient(135deg,#660000 0%,#7a0000 50%,#630000 100%);
  --grad-gold:   linear-gradient(135deg,#9d6e0d 0%,#ffb347 100%);
  --grad-forest: linear-gradient(135deg,hsl(140,40%,30%) 0%,hsl(120,35%,20%) 100%);
  --grad-sky:    linear-gradient(135deg,hsl(200,75%,50%) 0%,hsl(210,70%,40%) 100%);
  --grad-magic:  linear-gradient(135deg,hsl(25,85%,60%),hsl(15,75%,42%),hsl(340,60%,68%));
  --grad-overlay:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.3) 55%,transparent 100%);

  --ease:     cubic-bezier(.4,0,.2,1);
  --ease-out: cubic-bezier(0,0,.2,1);
  --t-fast:   150ms var(--ease);
  --t-base:   250ms var(--ease);
  --t-slow:   400ms var(--ease-out);
}
@media (min-width:768px)  { :root { --section-y:5rem;   --section-x:2rem; } }
@media (min-width:1200px) { :root { --section-y:6.5rem; --section-x:2rem; } }

/* ═══ RESET ═══════════════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font-body);font-size:1rem;line-height:var(--leading);color:var(--text-body);background:#fff;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
input,select,textarea{font-family:inherit}

/* Page enter animation */
main{animation:pageFadeIn .38s var(--ease-out) both}
@keyframes pageFadeIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* ═══ TYPOGRAPHY ══════════════════════════════════════════════ */
h1{font-size:clamp(1.85rem,5.5vw,3.75rem);font-weight:800;line-height:1.15;letter-spacing:-.022em}
h2{font-size:clamp(1.45rem,4vw,2.75rem);font-weight:700;line-height:1.2;letter-spacing:-.015em}
h3{font-size:clamp(1rem,2.5vw,1.4rem);font-weight:700;line-height:1.3}
p{margin-bottom:1em}p:last-child{margin-bottom:0}

/* ═══ LAYOUT ══════════════════════════════════════════════════ */
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--section-x)}

/* ═══ BUTTONS ═════════════════════════════════════════════════ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.65rem 1.5rem;border-radius:var(--r-full);font-weight:600;font-size:.9rem;letter-spacing:.01em;border:2px solid transparent;transition:all var(--t-base);cursor:pointer;white-space:nowrap;position:relative;overflow:hidden}
.btn::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,.08);opacity:0;transition:opacity var(--t-fast)}
.btn:hover::after{opacity:1}
.btn:active{transform:scale(.97)}

.btn-gold{background:var(--grad-gold);color:#fff;box-shadow:0 2px 12px rgba(157,110,13,.3)}
.btn-gold:hover{box-shadow:0 4px 20px rgba(255,179,71,.45);transform:translateY(-1px)}
.btn-primary{background:var(--grad-magic);color:#fff;box-shadow:0 2px 12px rgba(200,80,30,.3)}
.btn-primary:hover{box-shadow:0 4px 20px rgba(200,80,30,.4);transform:translateY(-1px)}
.btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.55);backdrop-filter:blur(4px)}
.btn-outline:hover{background:rgba(255,255,255,.12);border-color:#fff}
.btn-outline-red{background:transparent;color:var(--main);border-color:var(--main)}
.btn-outline-red:hover{background:var(--main);color:#fff}
.btn-ghost{background:transparent;color:rgba(255,255,255,.8);border-color:transparent}
.btn-ghost:hover{background:rgba(255,255,255,.12);color:#fff}
.btn-lg{padding:.85rem 2.25rem;font-size:1rem}
.btn-sm{padding:.42rem 1rem;font-size:.8rem}

/* ═══ BADGE ═══════════════════════════════════════════════════ */
.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .9rem;border-radius:var(--r-full);font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.badge-gold{background:rgba(255,179,71,.15);color:var(--gold-bright)}
.badge-red{background:rgba(102,0,0,.08);color:var(--main)}
.badge-primary{background:rgba(200,80,30,.1);color:var(--primary)}
.badge-white{background:rgba(255,255,255,.15);color:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.2)}

/* ═══ NAVIGATION ══════════════════════════════════════════════ */
.site-header{position:sticky;top:0;z-index:200;background:var(--main);border-bottom:1px solid rgba(255,255,255,.07);transition:box-shadow var(--t-base)}
.site-header.scrolled{box-shadow:0 4px 24px rgba(0,0,0,.28)}

/* Nav inner — React: px-4 py-4 = 1rem padding all sides */
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:1rem var(--section-x);max-width:1200px;margin:0 auto;gap:1rem}

/* Nav logos — exact React: w-32 (128px) Redhot, w-28 (112px) Storymoja, gap-5 (1.25rem) */
.nav-logos{display:flex;align-items:center;gap:1.25rem;flex-shrink:0}
.nav-logos img:first-child{width:128px;height:auto;object-fit:contain}
.nav-logos img:last-child{width:112px;height:auto;object-fit:contain}

.nav-menu{display:none;align-items:center;gap:.1rem}
@media(min-width:900px){.nav-menu{display:flex}}

.nav-menu a{display:flex;align-items:center;gap:.4rem;padding:.42rem .82rem;border-radius:var(--r-full);color:rgba(255,255,255,.78);font-weight:500;font-size:.84rem;transition:all var(--t-fast);border:1.5px solid transparent;white-space:nowrap}
.nav-menu a:hover{background:rgba(255,255,255,.1);color:#fff}
.nav-menu a.active{background:var(--grad-gold);color:#fff;box-shadow:0 2px 12px rgba(157,110,13,.35)}
.nav-menu a img{width:14px;height:14px;object-fit:contain;opacity:.85}

.nav-hamburger{display:flex;flex-direction:column;gap:5px;padding:.5rem;background:none;border:none;cursor:pointer;border-radius:var(--r-sm);transition:background var(--t-fast)}
.nav-hamburger:hover{background:rgba(255,255,255,.1)}
.nav-hamburger span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;transition:all var(--t-base)}
@media(min-width:900px){.nav-hamburger{display:none}}

/* Mobile drawer */
#mobile-nav{
  position:fixed;top:0;right:0;height:100%;width:min(80vw,310px);
  background:linear-gradient(160deg,#660000,#4d0000);
  z-index:500;
  display:flex;flex-direction:column;
  padding:1.5rem var(--section-x);
  transform:translateX(100%);
  transition:transform var(--t-slow);
  box-shadow:-8px 0 48px rgba(0,0,0,.4);
}
#mobile-nav.open{transform:translateX(0)}
#mobile-nav .drawer-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}
#mobile-nav .drawer-header span{color:#fff;font-weight:700;font-size:1rem}
#mobile-nav .close-btn{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:1.15rem;display:flex;align-items:center;justify-content:center;transition:background var(--t-fast)}
#mobile-nav .close-btn:hover{background:rgba(255,255,255,.2)}
#mobile-nav a{display:flex;align-items:center;gap:.75rem;padding:.82rem 1rem;border-radius:var(--r-md);color:rgba(255,255,255,.78);font-weight:500;font-size:.95rem;transition:all var(--t-fast);margin-bottom:.25rem}
#mobile-nav a:hover{background:rgba(255,255,255,.08);color:#fff}
#mobile-nav a.active{background:var(--grad-gold);color:#fff}
#mobile-nav a img{width:18px;height:18px;object-fit:contain}

.nav-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:400;backdrop-filter:blur(2px)}
.nav-overlay.open{display:block;animation:fadeIn .2s ease}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

/* ═══ FOOTER ══════════════════════════════════════════════════ */
.site-footer{background:#3d0000;color:rgba(255,255,255,.65);padding:var(--space-4xl,4rem) var(--section-x) var(--space-xl,2rem)}
.footer-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;max-width:1200px;margin:0 auto 2.5rem}
@media(min-width:640px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.footer-grid{grid-template-columns:2.2fr 1fr 1fr}}
.footer-col h4{color:var(--gold-light);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;margin-bottom:1.1rem}
.footer-col a{display:block;color:rgba(255,255,255,.45);margin-bottom:.5rem;font-size:.85rem;transition:color var(--t-fast)}
.footer-col a:hover{color:#fff}
.footer-col p{color:rgba(255,255,255,.4);font-size:.82rem;line-height:1.65}
.footer-bottom{max-width:1200px;margin:0 auto;border-top:1px solid rgba(255,255,255,.07);padding-top:1.25rem;text-align:center;font-size:.75rem;color:rgba(255,255,255,.28)}

/* ═══ PAGE HERO ═══════════════════════════════════════════════ */
.page-hero{position:relative;min-height:clamp(240px,38vw,420px);display:flex;align-items:flex-end;background:var(--main);overflow:hidden;color:#fff}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.18}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(102,0,0,.72),rgba(77,0,0,.5))}
.hero-content{position:relative;z-index:2;width:100%;padding:4rem var(--section-x) 2.25rem}
.hero-content h1{color:#fff;margin-bottom:.65rem}
.hero-content p{color:rgba(255,255,255,.8);font-size:clamp(.92rem,2vw,1.1rem);max-width:600px;line-height:1.75}

/* ═══ HOME CAROUSEL ═══════════════════════════════════════════ */
.carousel-section{position:relative;min-height:100svh;display:flex;align-items:center;background:var(--grad-redhot);overflow:hidden;padding-bottom:4rem}
@media(min-width:768px){.carousel-section{padding-bottom:5rem}}
.carousel-section::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(255,179,71,.06),transparent 55%);pointer-events:none}

.carousel-inner{width:100%;max-width:1200px;margin:0 auto;padding:2rem var(--section-x) 0;position:relative;z-index:10}
@media(min-width:768px){.carousel-inner{padding:2.5rem var(--section-x) 0}}

/* Mobile: image centered above, info below. Desktop: side by side */
.carousel-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;align-items:center}
@media(min-width:768px){.carousel-grid{grid-template-columns:1fr 1fr;gap:4rem}}

.carousel-book-img-wrap{position:relative;display:flex;flex-direction:column;align-items:center}

.carousel-category-badge{display:inline-flex;align-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px);color:rgba(255,255,255,.9);padding:.32rem .875rem;border-radius:var(--r-full);font-size:.75rem;font-weight:600;letter-spacing:.04em;margin-bottom:.875rem;align-self:flex-start}
@media(min-width:768px){.carousel-category-badge{align-self:center}}

.carousel-img{width:auto;max-width:220px;max-height:320px;object-fit:contain;border-radius:var(--r-lg);filter:drop-shadow(0 20px 48px rgba(0,0,0,.48));transition:transform var(--t-slow),filter var(--t-slow)}
@media(min-width:480px){.carousel-img{max-width:260px;max-height:360px}}
@media(min-width:768px){.carousel-img{max-width:360px;max-height:480px}}
.carousel-img:hover{transform:scale(1.025) translateY(-4px);filter:drop-shadow(0 28px 60px rgba(0,0,0,.55))}

.carousel-featured-badge{position:absolute;top:-6px;right:calc(50% - 140px);background:linear-gradient(135deg,#f59e0b,#f97316);color:#000;font-weight:800;font-size:.68rem;padding:.25rem .7rem;border-radius:var(--r-full);display:flex;align-items:center;gap:.25rem;box-shadow:0 4px 12px rgba(249,115,22,.4);letter-spacing:.02em}
@media(min-width:768px){.carousel-featured-badge{right:-10px}}

.carousel-age-badge{display:inline-flex;align-items:center;border:1.5px solid rgba(255,255,255,.35);color:rgba(255,255,255,.88);padding:.28rem .875rem;border-radius:var(--r-full);font-size:.78rem;font-weight:600;margin-bottom:.875rem}

.carousel-title{font-size:clamp(1.5rem,4.5vw,2.9rem);font-weight:800;line-height:1.13;letter-spacing:-.025em;margin-bottom:.65rem;color:#fff}
.carousel-title span{background:linear-gradient(90deg,#fde68a,#fbbf24,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

.carousel-author{color:#fde68a;font-weight:600;font-size:.95rem;margin-bottom:1rem;opacity:.9}

.carousel-synopsis{color:rgba(255,255,255,.8);line-height:1.78;font-size:.9rem;margin-bottom:1.875rem;max-width:480px}

.carousel-buttons{display:flex;gap:.75rem;flex-wrap:wrap}

.carousel-controls{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:3rem;padding-bottom:1rem}

.carousel-arrow{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.22);color:#fff;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all var(--t-fast);backdrop-filter:blur(4px)}
.carousel-arrow:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.48);transform:scale(1.06)}

.carousel-dots{display:flex;gap:.45rem;align-items:center}
.carousel-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.28);border:none;cursor:pointer;transition:all var(--t-base);padding:0}
.carousel-dot.active{background:var(--gold-light);transform:scale(1.45);box-shadow:0 0 8px rgba(255,179,71,.5)}

/* ═══ CAMPAIGN HIGHLIGHTS ═════════════════════════════════════
   Exact match to HomeCampaignHighlights.jsx:
   - bg-white section
   - Card: bg-main, rounded-2xl, flex-col, image on top then content below
   - Title yellow-300, goal white/80, desc white/90
   - Single gold "Get Involved" button
═══════════════════════════════════════════════════════════════ */
.ch-section{background:#fff;padding:var(--section-y) var(--section-x);margin-top:5rem}
@media(min-width:768px){.ch-section{margin-top:5rem}}
.ch-heading{text-align:center;margin-bottom:4rem}
.ch-heading h2{color:var(--primary);margin-bottom:1.25rem;font-size:clamp(1.75rem,4vw,3rem)}
.ch-sub{color:var(--text-body);max-width:700px;margin:0 auto;font-size:1.05rem;line-height:1.8}

.ch-cards{display:grid;grid-template-columns:1fr;gap:1.5rem;max-width:1200px;margin:0 auto}
@media(min-width:768px){.ch-cards{grid-template-columns:1fr 1fr;gap:3rem}}

/* Card: bg-main, rounded-2xl, no min-height — grows with content */
.ch-card{
  background:var(--main);
  border-radius:1.25rem;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  box-shadow:var(--shadow-lg);
  transition:transform var(--t-slow),box-shadow var(--t-slow);
}
.ch-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}

/* Image block — full width, fixed height */
.ch-card-image{width:100%;overflow:hidden;flex-shrink:0}
.ch-card-image img{width:100%;height:280px;object-fit:cover;display:block;transition:transform var(--t-slow)}
@media(min-width:768px){.ch-card-image img{height:320px}}
.ch-card:hover .ch-card-image img{transform:scale(1.03)}

/* Content block — below image */
.ch-card-content{padding:1.5rem 1.75rem 2rem;flex:1;display:flex;flex-direction:column}
.ch-card-content h3{color:#fde68a;font-size:1.2rem;font-weight:700;margin-bottom:.5rem;line-height:1.4}
.ch-card-goal{color:rgba(255,255,255,.75);font-size:.88rem;margin-bottom:1rem;font-weight:400}
.ch-card-desc{color:rgba(255,255,255,.9);font-size:.95rem;line-height:1.75;margin-bottom:1.5rem;flex:1}
.ch-card-content .btn{align-self:flex-start}

.ch-cta{text-align:center;padding:2.5rem 0 0}

/* ═══ CATEGORIES ══════════════════════════════════════════════ */
.categories-section{padding:var(--section-y) var(--section-x);background:var(--main)}
.cat-header{text-align:center;margin-bottom:2.5rem}
.cat-badge{display:inline-flex;align-items:center;gap:.35rem;background:rgba(255,179,71,.14);color:var(--gold-bright);padding:.32rem .9rem;border-radius:var(--r-full);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:1.1rem}
.categories-section h2{color:var(--gold-bright);margin-bottom:.75rem}
.cat-sub{color:rgba(255,255,255,.75);max-width:520px;margin:0 auto;font-size:.97rem;line-height:1.72}

.series-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:2.25rem}
.series-tag{display:inline-flex;align-items:center;gap:.3rem;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.11);color:rgba(255,255,255,.7);padding:.3rem .875rem;border-radius:var(--r-full);font-size:.72rem;font-weight:600;letter-spacing:.02em;transition:all var(--t-fast)}
.series-tag:hover{background:rgba(255,255,255,.12);color:#fff}

.cat-cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.875rem}
@media(min-width:640px){.cat-cards-grid{grid-template-columns:repeat(2,1fr);gap:1.1rem}}
@media(min-width:900px){.cat-cards-grid{grid-template-columns:repeat(3,1fr);gap:1.35rem}}

.cat-card{border-radius:var(--r-lg);overflow:hidden;position:relative;min-height:clamp(170px,26vw,270px);cursor:pointer;box-shadow:var(--shadow-md);transition:transform var(--t-slow),box-shadow var(--t-slow);display:block}
.cat-card:hover{transform:translateY(-5px) scale(1.01);box-shadow:var(--shadow-xl)}
.cat-card-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform var(--t-slow)}
.cat-card:hover .cat-card-img{transform:scale(1.06)}
.cat-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.9) 0%,rgba(0,0,0,.28) 55%,transparent 100%)}
.cat-card-body{position:absolute;inset:0;z-index:2;padding:.875rem;display:flex;flex-direction:column;justify-content:flex-end}
.cat-card-tag{display:inline-block;background:var(--gold-bright);color:#000;font-size:.6rem;font-weight:800;padding:.16rem .52rem;border-radius:var(--r-full);margin-bottom:.35rem;letter-spacing:.04em;text-transform:uppercase;width:fit-content}
.cat-card h3{color:#fff;font-size:clamp(.8rem,2vw,.95rem);margin-bottom:.18rem;line-height:1.3}
.cat-card-age{color:rgba(255,255,255,.55);font-size:.68rem;margin-bottom:.25rem}
.cat-card-desc{color:rgba(255,255,255,.7);font-size:.72rem;margin-bottom:.35rem;line-height:1.5;display:none}
.cat-card-books{font-size:.67rem;color:rgba(255,255,255,.45);font-style:italic;display:none}
@media(min-width:640px){.cat-card-desc{display:block}}
@media(min-width:900px){.cat-card-books{display:block}}

/* ═══ PARTNERS — exact match to Partners.tsx ═════════════════
   React: bg-white, py-16 pb-40, auto-scrolling marquee,
   h2 "Our Partners", p "Working together..."
═══════════════════════════════════════════════════════════════ */
.partners-section{padding:4rem 0 10rem;background:#fff}
.partners-inner{text-align:center}
.partners-inner h2{color:var(--primary);font-size:clamp(1.75rem,4vw,3rem);font-weight:800;margin-bottom:.75rem}
.partners-inner>p{color:var(--text-muted);max-width:600px;margin:0 auto 3rem;font-size:1rem}

/* Marquee container */
.partners-marquee-wrap{position:relative;overflow:hidden}
.partners-marquee{
  display:flex;
  gap:4rem;
  width:max-content;
  animation:marquee 30s linear infinite;
}
.partners-marquee:hover{animation-play-state:paused}

@keyframes marquee{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}

.partner-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:150px;
  gap:.5rem;
}
.partner-item img{
  height:64px;
  width:auto;
  object-fit:contain;
  display:block;
}
.partner-item p{
  font-size:.875rem;
  font-weight:500;
  color:#1f2937;
  margin:0;
  white-space:nowrap;
}

/* Gradient fade edges — exact match to React */
.partners-fade-left{
  position:absolute;left:0;top:0;height:100%;width:4rem;
  background:linear-gradient(to right,#fff,transparent);
  z-index:10;pointer-events:none;
}
.partners-fade-right{
  position:absolute;right:0;top:0;height:100%;width:4rem;
  background:linear-gradient(to left,#fff,transparent);
  z-index:10;pointer-events:none;
}

/* ═══ FAQ ═════════════════════════════════════════════════════ */
.faq-section-wrap{padding:var(--section-y) var(--section-x);background:#fff}
.faq-inner{max-width:700px;margin:0 auto}
.faq-header{text-align:center;margin-bottom:2.5rem}
.faq-header h2{color:var(--primary);margin-bottom:.55rem}
.faq-header>p{color:var(--text-muted)}

.faq-item{border:1.5px solid var(--border);border-radius:var(--r-lg);margin-bottom:.55rem;overflow:hidden;transition:border-color var(--t-fast),box-shadow var(--t-fast);background:#fff}
.faq-item:hover{border-color:rgba(102,0,0,.2);box-shadow:var(--shadow-sm)}
.faq-item.open{border-color:rgba(102,0,0,.28);box-shadow:var(--shadow-md)}
.faq-question{width:100%;text-align:left;padding:1.05rem 1.2rem;background:transparent;border:none;cursor:pointer;font-weight:600;color:var(--main);font-size:.91rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;transition:background var(--t-fast);line-height:1.4}
.faq-question:hover{background:var(--red-50)}
.faq-item.open .faq-question{background:var(--red-50)}
.faq-chevron{font-size:.82rem;transition:transform var(--t-base);flex-shrink:0;color:var(--text-muted)}
.faq-item.open .faq-chevron{transform:rotate(180deg);color:var(--main)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s var(--ease-out),padding var(--t-base);padding:0 1.2rem;font-size:.88rem;color:var(--text-body);line-height:1.8}
.faq-item.open .faq-answer{padding:0 1.2rem 1.2rem}

/* ═══ BOOKS PAGE ══════════════════════════════════════════════ */
.filter-bar{background:var(--red-100);padding:1.5rem var(--section-x);border-bottom:1px solid var(--red-200);position:sticky;top:68px;z-index:100}
.filter-inner{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;gap:.45rem}
.filter-btn{padding:.4rem 1rem;border-radius:var(--r-full);border:1.5px solid var(--red-200);background:#fff;font-weight:600;font-size:.78rem;cursor:pointer;transition:all var(--t-fast);color:var(--text-dark);white-space:nowrap}
.filter-btn:hover{border-color:var(--main);color:var(--main)}
.filter-btn.active{background:var(--grad-gold);border-color:transparent;color:#fff;box-shadow:0 2px 10px rgba(157,110,13,.3)}

.books-section{background:var(--red-100);padding:2rem var(--section-x) 4rem}
.books-inner{max-width:1200px;margin:0 auto}
.category-block{margin-bottom:2.5rem}
.category-block h3{font-size:1rem;color:var(--primary);font-weight:700;margin-bottom:.875rem;padding-bottom:.55rem;border-bottom:2px solid rgba(102,0,0,.1);display:flex;align-items:center;gap:.5rem}

.books-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
@media(min-width:480px){.books-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:768px){.books-grid{grid-template-columns:repeat(4,1fr);gap:.875rem}}
@media(min-width:1100px){.books-grid{grid-template-columns:repeat(5,1fr)}}

.book-card{background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform var(--t-slow),box-shadow var(--t-slow);display:block;color:inherit;border:1.5px solid transparent}
.book-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--red-200)}
.book-card-img{width:100%;aspect-ratio:3/4;object-fit:cover;background:var(--red-100);transition:transform var(--t-slow)}
.book-card:hover .book-card-img{transform:scale(1.03)}
.book-card-img-placeholder{width:100%;aspect-ratio:3/4;background:var(--main);display:none;align-items:center;justify-content:center;font-size:2.5rem;opacity:.2}
.book-card-body{padding:.7rem .8rem}
.book-card-title{font-size:.78rem;font-weight:700;color:var(--main);margin-bottom:.22rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.book-card-author{font-size:.7rem;color:var(--text-muted);margin-bottom:.28rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.book-card-age{display:inline-block;padding:.14rem .5rem;background:linear-gradient(135deg,rgba(157,110,13,.14),rgba(255,179,71,.08));color:var(--gold);border-radius:var(--r-full);font-size:.62rem;font-weight:700;border:1px solid rgba(157,110,13,.18)}
.coming-soon-badge{display:inline-block;padding:.14rem .5rem;background:rgba(102,0,0,.08);color:var(--main);border-radius:var(--r-full);font-size:.62rem;font-weight:700}

.non-english-section{margin-top:3rem;padding-top:2rem;border-top:2px solid rgba(102,0,0,.1)}
.non-english-section h2{font-size:1.35rem;color:var(--primary);margin-bottom:.35rem;display:flex;align-items:center;gap:.55rem}
.non-english-section>p{color:var(--text-muted);margin-bottom:1.25rem;font-size:.9rem}
.non-english-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
@media(min-width:480px){.non-english-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:768px){.non-english-grid{grid-template-columns:repeat(4,1fr)}}

/* ═══ BOOK DETAIL ═════════════════════════════════════════════ */
.book-detail-back{padding:.8rem var(--section-x);border-bottom:1px solid var(--border-light);background:#fff}
.book-detail-back a{display:inline-flex;align-items:center;gap:.4rem;color:var(--main);font-weight:600;font-size:.85rem;transition:opacity var(--t-fast)}
.book-detail-back a:hover{opacity:.7}
.book-detail-section{padding:2rem var(--section-x) 4rem}
.book-detail-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:2rem;align-items:start}
@media(min-width:768px){.book-detail-grid{grid-template-columns:280px 1fr;gap:3rem}}
@media(min-width:1024px){.book-detail-grid{grid-template-columns:320px 1fr}}
.book-detail-cover{border-radius:var(--r-xl);box-shadow:var(--shadow-xl);width:100%;max-width:260px;margin:0 auto}
@media(min-width:768px){.book-detail-cover{max-width:100%;margin:0}}
.book-detail-cover-wrap{position:relative}
.book-detail-featured{position:absolute;top:-8px;right:calc(50% - 140px);background:linear-gradient(135deg,#f59e0b,#f97316);color:#000;font-size:.68rem;font-weight:800;padding:.22rem .7rem;border-radius:var(--r-full);box-shadow:0 4px 12px rgba(249,115,22,.4)}
@media(min-width:768px){.book-detail-featured{right:-10px}}
.book-detail-info h1{color:var(--main);margin-bottom:.55rem;font-size:clamp(1.35rem,3.5vw,2.1rem)}
.book-detail-meta{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:1.35rem;font-size:.85rem;color:var(--text-muted)}
.book-detail-synopsis{font-size:.97rem;line-height:1.88;color:var(--text-body);margin-bottom:1.875rem}
.book-detail-buy-box{background:var(--red-50);border:1.5px solid var(--red-200);border-radius:var(--r-lg);padding:1.35rem;margin-top:1.35rem}
.book-detail-buy-box h3{color:var(--main);margin-bottom:.35rem;font-size:.97rem}
.book-detail-buy-box p{color:var(--text-muted);margin-bottom:.875rem;font-size:.84rem}

/* ═══ EVENTS ══════════════════════════════════════════════════ */
.events-grid{display:grid;grid-template-columns:1fr;gap:1.1rem;padding:2rem var(--section-x) 4rem;max-width:1200px;margin:0 auto}
@media(min-width:580px){.events-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.events-grid{grid-template-columns:repeat(3,1fr)}}
.event-card{background:#fff;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform var(--t-slow),box-shadow var(--t-slow);border:1.5px solid var(--border-light)}
.event-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--red-200)}
.event-card-img{width:100%;height:170px;object-fit:cover}
.event-card-body{padding:1.35rem}
.event-type-badge{display:inline-block;padding:.2rem .65rem;border-radius:var(--r-full);font-size:.65rem;font-weight:700;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}
.type-storytelling{background:#fef9c3;color:#854d0e}
.type-workshop{background:#dcfce7;color:#166534}
.type-author-visit{background:#ede9fe;color:#5b21b6}
.type-reading{background:#dbeafe;color:#1e40af}
.event-card h3{font-size:.92rem;color:var(--main);margin-bottom:.45rem;line-height:1.3}
.event-meta{font-size:.78rem;color:var(--text-muted);margin-bottom:.2rem;display:flex;align-items:center;gap:.3rem}
.event-desc{font-size:.83rem;color:var(--text-body);margin-top:.55rem;line-height:1.65}

/* ═══ CAMPAIGNS ═══════════════════════════════════════════════ */
.campaigns-section{padding:var(--section-y) var(--section-x);background:var(--red-100)}
.campaigns-inner{max-width:1200px;margin:0 auto}
.campaign-featured-grid{display:grid;grid-template-columns:1fr;gap:1.1rem;margin-bottom:2rem}
@media(min-width:768px){.campaign-featured-grid{grid-template-columns:1fr 1fr;gap:1.35rem}}
.campaign-card{border-radius:var(--r-xl);overflow:hidden;color:#fff;box-shadow:var(--shadow-lg);transition:transform var(--t-slow),box-shadow var(--t-slow);cursor:pointer}
.campaign-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-xl)}
.campaign-card-body{padding:1.625rem}
.campaign-card h3{font-size:1.1rem;margin-bottom:.5rem;color:var(--gold-bright);line-height:1.35}
.campaign-card p{color:rgba(255,255,255,.8);margin-bottom:.55rem;font-size:.875rem;line-height:1.68}
.campaign-impact{font-size:.76rem;color:rgba(255,255,255,.55);border-top:1px solid rgba(255,255,255,.1);padding-top:.55rem;margin-top:.4rem}
.campaign-other-grid{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:580px){.campaign-other-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.campaign-other-grid{grid-template-columns:repeat(3,1fr)}}

.bg-emerald{background:linear-gradient(135deg,#065f46,#059669)}
.bg-amber{background:linear-gradient(135deg,#92400e,#d97706)}
.bg-blue{background:linear-gradient(135deg,#1e3a8a,#2563eb)}
.bg-purple{background:linear-gradient(135deg,#4c1d95,#7c3aed)}
.bg-rose{background:linear-gradient(135deg,#9f1239,#e11d48)}
.bg-redhot{background:linear-gradient(135deg,#4d0000,#660000)}

/* Campaign modal */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:500;align-items:center;justify-content:center;padding:var(--section-x);backdrop-filter:blur(4px)}
.modal-overlay.open{display:flex;animation:fadeIn .22s ease}
.modal-box{background:var(--main);color:#fff;border-radius:var(--r-xl);padding:2rem;max-width:560px;width:100%;max-height:88vh;overflow-y:auto;position:relative;box-shadow:var(--shadow-xl);animation:slideUp .3s var(--ease-out)}
@keyframes slideUp{from{transform:translateY(20px);opacity:0}to{transform:none;opacity:1}}
.modal-close{position:absolute;top:1rem;right:1rem;background:rgba(255,255,255,.12);color:#fff;width:34px;height:34px;border-radius:50%;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:background var(--t-fast)}
.modal-close:hover{background:rgba(255,255,255,.24)}
.modal-tabs{display:flex;gap:.45rem;margin-bottom:1.35rem}
.modal-tab{padding:.38rem 1rem;border-radius:var(--r-full);border:1.5px solid rgba(255,255,255,.22);background:transparent;color:rgba(255,255,255,.72);cursor:pointer;font-weight:600;font-size:.83rem;transition:all var(--t-fast)}
.modal-tab.active{background:var(--grad-gold);border-color:var(--gold);color:#fff}
.modal-content-body{color:rgba(255,255,255,.8);line-height:1.8;font-size:.88rem}
.modal-content-body h3{color:var(--gold-bright);font-size:.9rem;margin:1rem 0 .4rem;border-left:3px solid #fbbf24;padding-left:.7rem}
.modal-content-body p{margin-bottom:.7rem}

/* ═══ ABOUT ═══════════════════════════════════════════════════ */
.mission-section{padding:var(--section-y) var(--section-x);background:var(--red-50);text-align:center}
.values-section{padding:var(--section-y) var(--section-x);background:var(--main)}
.values-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.875rem;max-width:1100px;margin:0 auto}
@media(min-width:768px){.values-grid{grid-template-columns:repeat(3,1fr);gap:1.35rem}}
.value-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);border-radius:var(--r-lg);padding:1.4rem 1.15rem;text-align:center;transition:all var(--t-slow);backdrop-filter:blur(4px)}
.value-card:hover{background:rgba(255,255,255,.1);transform:translateY(-3px)}
.value-icon{width:50px;height:50px;border-radius:50%;background:var(--grad-gold);display:flex;align-items:center;justify-content:center;margin:0 auto .875rem;font-size:1.4rem;box-shadow:0 4px 14px rgba(157,110,13,.35)}
.value-card h3{color:var(--gold-bright);margin-bottom:.4rem;font-size:.97rem}
.value-card p{color:rgba(255,255,255,.65);font-size:.84rem}

.team-section{padding:var(--section-y) var(--section-x);background:var(--red-50)}
.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.875rem;max-width:1200px;margin:0 auto}
@media(min-width:580px){.team-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:900px){.team-grid{grid-template-columns:repeat(4,1fr);gap:1.1rem}}
@media(min-width:1200px){.team-grid{grid-template-columns:repeat(5,1fr)}}
.team-card{background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform var(--t-slow),box-shadow var(--t-slow);border:1.5px solid var(--border-light)}
.team-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--red-200)}
.team-card img{width:100%;aspect-ratio:1;object-fit:cover}
.team-card-body{padding:.8rem}
.team-card h3{font-size:.82rem;color:var(--submain);margin-bottom:.3rem;font-weight:700}
.team-card .quote{font-size:.73rem;color:var(--text-muted);font-style:italic;line-height:1.55}

/* ═══ RETAIL ══════════════════════════════════════════════════ */
.vision-section{padding:var(--section-y) var(--section-x);background:var(--red-50)}
.vision-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.875rem;max-width:1100px;margin:0 auto}
@media(min-width:768px){.vision-grid{grid-template-columns:repeat(4,1fr);gap:1.35rem}}
.vision-card{background:#fff;border-radius:var(--r-lg);padding:1.4rem 1.1rem;text-align:center;box-shadow:var(--shadow-sm);border:1.5px solid var(--border-light);transition:transform var(--t-slow),box-shadow var(--t-slow)}
.vision-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.vision-icon{width:50px;height:50px;border-radius:50%;background:var(--grad-gold);display:flex;align-items:center;justify-content:center;margin:0 auto .875rem;font-size:1.35rem;box-shadow:0 4px 12px rgba(157,110,13,.3)}
.vision-card h3{color:var(--main);margin-bottom:.35rem;font-size:.93rem}
.vision-card p{color:var(--text-body);font-size:.83rem;line-height:1.6}

.hof-section{padding:var(--section-y) var(--section-x);background:var(--main)}
.hof-grid{display:grid;grid-template-columns:1fr;gap:1.1rem;max-width:1100px;margin:0 auto}
@media(min-width:580px){.hof-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.hof-grid{grid-template-columns:repeat(3,1fr)}}
.hof-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:var(--r-xl);padding:1.625rem;text-align:center;color:#fff;transition:background var(--t-slow),transform var(--t-slow)}
.hof-card:hover{background:rgba(255,255,255,.09);transform:translateY(-3px)}
.hof-card img{height:56px;width:auto;object-fit:contain;margin:0 auto .875rem;border-radius:.4rem;background:#fff;padding:.25rem .45rem}
.hof-card h3{color:var(--gold-bright);margin-bottom:.45rem;font-size:.97rem}
.hof-card p{font-size:.81rem;color:rgba(255,255,255,.6);font-style:italic;line-height:1.6}

/* ═══ PREMIUM COOKIE BANNER ═══════════════════════════════════ */
.cookie-banner {
  position: fixed;
  bottom: 1.5rem;
  left: 1.5rem;
  max-width: 380px;
  background: rgba(77, 0, 0, 0.85); /* Deep red glass */
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: #fff;
  padding: 1.5rem;
  border-radius: 1.25rem;
  box-shadow: 0 10px 40px rgba(0,0,0,0.4);
  z-index: 99999;
  border: 1px solid rgba(255, 179, 71, 0.2); /* Subtle gold border */
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  transform: translateY(20px);
  opacity: 0;
  animation: slideCookieUp 0.6s cubic-bezier(0,0,0.2,1) 1s forwards;
}

@keyframes slideCookieUp {
  to { transform: translateY(0); opacity: 1; }
}

.cookie-banner.hidden {
  display: none !important;
}

.cookie-content {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
}

.cookie-icon {
  font-size: 1.5rem;
  line-height: 1;
  background: rgba(255, 255, 255, 0.08);
  padding: 0.6rem;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.cookie-content p {
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.85);
  margin: 0;
  line-height: 1.6;
}

.cookie-content strong {
  color: var(--gold-bright);
  font-size: 0.95rem;
  display: block;
  margin-bottom: 0.25rem;
  letter-spacing: -0.01em;
}

.cookie-btn-row {
  display: flex;
  gap: 0.75rem;
  width: 100%;
}

.cookie-accept {
  flex: 1;
  padding: 0.65rem 1rem;
  background: var(--grad-gold);
  color: #fff;
  border: none;
  border-radius: 9999px;
  font-weight: 700;
  font-size: 0.85rem;
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s;
  box-shadow: 0 4px 12px rgba(157, 110, 13, 0.3);
}

.cookie-accept:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(157, 110, 13, 0.5);
}

.cookie-decline {
  flex: 1;
  padding: 0.65rem 1rem;
  background: transparent;
  color: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 9999px;
  font-weight: 600;
  font-size: 0.85rem;
  cursor: pointer;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.cookie-decline:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.4);
}

/* Mobile responsive fixes */
@media(max-width: 480px) {
  .cookie-banner {
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    max-width: calc(100vw - 2rem);
    padding: 1.25rem;
  }
}

/* ═══ ANIMATIONS ══════════════════════════════════════════════ */
@keyframes fadeInUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.animate-fade-in-up{animation:fadeInUp .5s var(--ease-out) both}

/* ═══ CRITICAL MOBILE FIXES ══════════════════════════════════ */

/* Fix horizontal overflow — nothing should escape viewport */
html, body { max-width:100%; overflow-x:hidden; }
* { max-width:100%; }
img { max-width:100%; height:auto; }

/* Carousel — clamp everything inside */
.carousel-section { overflow:hidden; }
.carousel-inner { overflow:hidden; padding-right:var(--section-x); }
.carousel-grid { overflow:hidden; }
.carousel-info { overflow:hidden; min-width:0; }
.carousel-title { word-break:break-word; overflow-wrap:break-word; }
.carousel-synopsis { word-break:break-word; overflow-wrap:break-word; }
.carousel-featured-badge { right:0 !important; top:0; font-size:.6rem; }

/* Nav logos — stop overflowing on tiny screens */
.nav-logos { max-width:calc(100vw - 80px); overflow:hidden; }
.nav-logos img:first-child { height:28px; }
.nav-logos img:last-child  { height:22px; display:none; }
@media(min-width:400px){ .nav-logos img:last-child { display:block; height:24px; } }
@media(min-width:768px){ .nav-logos img:first-child { height:40px; } .nav-logos img:last-child { display:block; height:32px; } }

/* Footer — fully responsive */
.site-footer { padding:3rem var(--section-x) 2rem; overflow:hidden; }
.footer-grid {
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:2rem !important;
  width:100%;
}
@media(min-width:640px){ .footer-grid { grid-template-columns:1fr 1fr !important; } }
@media(min-width:1024px){ .footer-grid { grid-template-columns:2fr 1fr 1fr !important; } }
.footer-col { min-width:0; overflow:hidden; word-break:break-word; }
.footer-col a, .footer-col p, .footer-col span { word-break:break-word; overflow-wrap:break-word; }

/* WhatsApp button in footer — don't overflow */
.site-footer a[href*="wa.me"] {
  display:inline-flex !important;
  max-width:100%;
  word-break:break-word;
  white-space:normal;
}

/* Scroll-to-top — keep inside viewport */
.scroll-top { right:1rem; bottom:1rem; }

/* Cookie banner — keep inside viewport */
.cookie-banner { left:.75rem; right:.75rem; max-width:calc(100vw - 1.5rem); }

/* Partners marquee — no overflow */
.partners-marquee-wrap { overflow:hidden; max-width:100vw; }

/* Categories grid on mobile */
.cat-cards-grid { overflow:hidden; }

/* Books grid — no overflow */
.books-grid { overflow:hidden; }
.book-card { overflow:hidden; min-width:0; }

/* Campaign cards */
.ch-cards { overflow:hidden; }
.ch-card  { overflow:hidden; min-width:0; }

/* ═══ FOOTER CLEAN STYLES ════════════════════════════════════ */
.footer-logos { display:flex; align-items:center; gap:.875rem; margin-bottom:1.25rem; flex-wrap:wrap; }
.footer-logos img { height:36px; width:auto; object-fit:contain; }

.footer-desc { color:rgba(255,255,255,.55); font-size:.83rem; line-height:1.7; margin-bottom:1rem; }

.footer-wa {
  display:inline-flex; align-items:center; gap:.5rem;
  background:#25d366; color:#fff;
  padding:.42rem 1.1rem; border-radius:9999px;
  font-size:.8rem; font-weight:600;
  width:fit-content; max-width:100%;
}

.footer-contact p { color:rgba(255,255,255,.45); font-size:.83rem; margin-bottom:.4rem; }

.footer-socials { display:flex; gap:.875rem; margin:1rem 0; }
.footer-socials a { color:#fbbf24; transition:color .15s; }
.footer-socials a:hover { color:#fff; }

.footer-sal { margin-top:1rem; }
.footer-sal img { height:36px; width:auto; margin-bottom:.4rem; }
.footer-sal p { color:rgba(255,255,255,.4); font-size:.75rem; line-height:1.5; }

/* ═══ NAV OVERFLOW FIX ════════════════════════════════════════ */
.site-header { width:100%; }
.nav-inner { width:100%; overflow:hidden; }

/* ═══ CAMPAIGNS PAGE — exact match to React Campaigns.tsx ════ */

/* Hero — bg-gradient-redhot, min-h 400px, centered text */
.camp-hero{position:relative;min-height:clamp(300px,40vw,400px);display:flex;align-items:flex-end;overflow:hidden;background:linear-gradient(135deg,#660000,#7a0000,#630000)}
.camp-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.2}
.camp-hero-overlay{position:absolute;inset:0;background:rgba(102,0,0,.2)}
.camp-hero-content{position:relative;z-index:2;width:100%;padding:5rem var(--section-x) 3rem;text-align:center;color:#fff}
.camp-hero-content h1{font-size:clamp(2rem,6vw,3.75rem);font-weight:800;margin-bottom:1rem;color:#fff}
.camp-hero-content p{font-size:clamp(.95rem,1.8vw,1.1rem);color:rgba(255,255,255,.9);max-width:700px;margin:0 auto;line-height:1.75}

/* Top campaigns — bg-red-50 */
.camp-top-section{background:#fff5f5;padding:5rem var(--section-x)}
.camp-top-badge-wrap{text-align:center;margin-bottom:2rem}
.camp-top-badge{background:linear-gradient(135deg,#9d6e0d,#ffb347);color:#fff;padding:.4rem 1.25rem;border-radius:9999px;font-size:.8rem;font-weight:700;letter-spacing:.04em}
.camp-top-grid{display:grid;grid-template-columns:1fr;gap:2rem;max-width:900px;margin:0 auto}
@media(min-width:768px){.camp-top-grid{grid-template-columns:repeat(2,1fr)}}

/* Top campaign card — bg-main */
.camp-top-card{background:var(--main);border-radius:1.25rem;overflow:hidden;padding:0;display:flex;flex-direction:column}
.camp-top-card img{width:100%;height:280px;object-fit:cover}
.camp-top-card h3{color:#eab308;font-size:1.75rem;font-weight:800;margin:2.5rem 1.5rem .75rem;line-height:1.3}
.camp-top-desc{color:#fff;font-size:.95rem;line-height:1.75;margin:0 1.5rem 1.25rem;flex:1}
.camp-milestones{background:rgba(255,255,255,.1);border-radius:.75rem;padding:1rem 1.25rem;margin:0 1.5rem 1.5rem}
.camp-milestones h4{font-weight:700;color:#e5e7eb;margin-bottom:.4rem;font-size:.875rem}
.camp-milestones p{font-size:.83rem;color:#d1d5db;margin:0}
.camp-btns{display:flex;gap:.75rem;flex-wrap:wrap;padding:0 1.5rem 1.75rem}

/* Featured campaigns — bg-red-100 */
.camp-featured-section{background:#fee2e2;padding:5rem var(--section-x)}
.camp-section-header{text-align:center;margin-bottom:3rem;max-width:700px;margin-left:auto;margin-right:auto}
.camp-featured-badge{background:rgba(200,80,30,.1);color:var(--primary);padding:.35rem 1rem;border-radius:9999px;font-size:.78rem;font-weight:700;display:inline-block;margin-bottom:1rem}
.camp-section-header h2{color:var(--primary);margin-bottom:.75rem}
.camp-section-header p{color:var(--text-body);font-size:1rem;line-height:1.75}

.camp-featured-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;max-width:1200px;margin:0 auto}
@media(min-width:768px){.camp-featured-grid{grid-template-columns:repeat(2,1fr)}}

/* Featured card — bg-main, icon, heading, goal, desc, milestones, buttons */
/* Featured campaign card — exact match to React otherFeatured cards:
   flex icon(w-16 h-16 rounded-full bg-color) + div(h3 yellow + p.goal white/sm)
   then p.description, milestones box, buttons */
.camp-featured-card{background:var(--main);border-radius:1.25rem;padding:2rem;display:flex;flex-direction:column;gap:1.5rem;transition:transform .5s,box-shadow .5s}
.camp-featured-card:hover{transform:translateY(-8px);box-shadow:0 16px 48px rgba(0,0,0,.3)}

/* Top row: icon circle + title/goal */
.camp-featured-head{display:flex;align-items:center;gap:1rem;margin-bottom:0}
.camp-featured-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0}
.camp-icon-shield{background:linear-gradient(135deg,hsl(200,75%,50%),hsl(210,70%,40%))}
.camp-icon-pen{background:linear-gradient(135deg,#b45309,#d97706)}
.camp-icon-book{background:linear-gradient(135deg,#7c3aed,#6d28d9)}
.camp-icon-mic{background:linear-gradient(135deg,#059669,#065f46)}
.camp-featured-head-text{flex:1}
.camp-featured-card h3{color:#eab308;font-size:1.5rem;font-weight:700;line-height:1.3;margin-bottom:.35rem}
.camp-feat-goal{color:#fff;font-size:.875rem;line-height:1.5;margin:0;opacity:.9}
.camp-feat-desc{color:#fff;font-size:.95rem;line-height:1.72;margin:0}

/* Other campaigns — bg-white */
.camp-other-section{background:#fff;padding:5rem var(--section-x)}
.camp-other-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;max-width:1200px;margin:0 auto}
@media(min-width:640px){.camp-other-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.camp-other-grid{grid-template-columns:repeat(3,1fr)}}

.camp-other-card{background:var(--main);border-radius:1.25rem;padding:2rem;color:#fff;display:flex;flex-direction:column;gap:.875rem;transition:transform .3s}
.camp-other-card:hover{transform:translateY(-3px)}
.camp-other-card h3{color:#eab308;font-size:1.1rem;font-weight:700}
.camp-other-card>p{color:rgba(255,255,255,.82);font-size:.875rem;line-height:1.7;flex:1}
.mt-auto{margin-top:auto}

/* ═══ RETAIL PAGE — exact match to React Retail.tsx ══════════ */

/* Hero — bg-main, hero-reading.jpg opacity-20, bg-main/30, centered text */
.retail-hero{position:relative;min-height:clamp(300px,40vw,400px);display:flex;align-items:flex-end;background:var(--main);overflow:hidden;color:#fff}
.retail-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.2}
.retail-hero-overlay{position:absolute;inset:0;background:rgba(102,0,0,.3)}
.retail-hero-content{position:relative;z-index:2;width:100%;padding:5rem var(--section-x) 3rem;text-align:center}
.retail-hero-content h1{color:#fff;font-size:clamp(1.75rem,5vw,3.75rem);font-weight:800;margin-bottom:1.5rem}
.retail-hero-content p{color:rgba(255,255,255,.9);font-size:clamp(.95rem,2vw,1.25rem);line-height:1.75;max-width:700px;margin:0 auto}

/* Vision — bg-red-100 */
.retail-vision-section{background:#fee2e2;padding:5rem var(--section-x)}
.retail-section-header{text-align:center;margin-bottom:4rem}
.retail-section-header p{color:#374151;font-size:1.05rem;max-width:720px;margin:.75rem auto 0;line-height:1.75}

.retail-badge-submain{background:rgba(157,110,13,.1);color:#9d6e0d;padding:.35rem 1rem;border-radius:9999px;font-size:.78rem;font-weight:700;display:inline-block;margin-bottom:1rem}
.retail-badge-white{background:rgba(255,255,255,.1);color:#eab308;padding:.35rem 1rem;border-radius:9999px;font-size:.78rem;font-weight:700;display:inline-block;margin-bottom:1rem}

.retail-submain-title{color:#9d6e0d;font-size:clamp(1.5rem,4vw,2.5rem);font-weight:800;margin-bottom:.75rem}
.retail-yellow-title{color:#eab308;font-size:clamp(1.5rem,4vw,2.5rem);font-weight:800;margin-bottom:.75rem}
.retail-white-sub{color:rgba(255,255,255,.9);font-size:1.05rem;max-width:720px;margin:.75rem auto 0;line-height:1.75}

/* Vision grid — 1 col mobile, 2 md, 4 lg */
.retail-vision-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;max-width:1200px;margin:0 auto}
@media(min-width:640px){.retail-vision-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.retail-vision-grid{grid-template-columns:repeat(4,1fr)}}

.retail-vision-card{background:#fff;border-radius:1.25rem;padding:2.5rem 1.75rem;text-align:center;box-shadow:0 2px 8px rgba(102,0,0,.06);transition:transform .3s,box-shadow .3s}
.retail-vision-card:hover{transform:translateY(-8px);box-shadow:0 12px 32px rgba(102,0,0,.12)}
.retail-vision-icon{width:64px;height:64px;background:linear-gradient(135deg,#9d6e0d,#ffb347);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.75rem;margin:0 auto 1.5rem;transition:transform .3s}
.retail-vision-card:hover .retail-vision-icon{transform:scale(1.1)}
.retail-vision-card h3{color:#9d6e0d;font-size:1.25rem;font-weight:700;margin-bottom:1rem}
.retail-vision-card p{color:#374151;line-height:1.7;font-size:.95rem}

/* Hall of Fame — bg-main */
.retail-hof-section{background:var(--main);padding:5rem var(--section-x)}
.retail-hof-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;max-width:1100px;margin:0 auto}
@media(min-width:640px){.retail-hof-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.retail-hof-grid{grid-template-columns:repeat(3,1fr)}}

.retail-hof-card{background:#7a0000;border-radius:1.25rem;padding:1.75rem;text-align:center;transition:transform .3s,box-shadow .3s}
.retail-hof-card:hover{transform:translateY(-8px);box-shadow:0 12px 32px rgba(0,0,0,.3)}
.retail-hof-card img{height:70px;width:auto;border-radius:50%;margin:0 auto 1rem;object-fit:contain;background:#fff;padding:.25rem}
.retail-hof-card h3{color:#eab308;font-size:1.25rem;font-weight:700;margin-bottom:.75rem}
.retail-hof-card p{color:rgba(255,255,255,.8);font-size:.875rem;font-style:italic;line-height:1.65}

/* Partner With Us CTA — bg-white outer, bg-main rounded inner */
.retail-cta-outer{background:#fff;padding:2.5rem var(--section-x)}
.retail-cta-inner{background:var(--main);border-radius:.75rem;padding:7rem var(--section-x);text-align:center;color:#fff}
.retail-cta-inner h2{font-size:clamp(1.5rem,4vw,2.5rem);font-weight:800;margin-bottom:1.5rem;color:#fff}
.retail-cta-inner p{font-size:clamp(.95rem,2vw,1.25rem);color:rgba(255,255,255,.9);max-width:560px;margin:0 auto 2rem;line-height:1.75}
.retail-cta-btns{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}
.retail-btn-white{background:#fff;color:#9d6e0d;font-weight:700;border:none;padding:.85rem 2rem;border-radius:9999px;transition:all .25s}
.retail-btn-white:hover{background:rgba(255,255,255,.9)}

/* ═══ CAMPAIGN BUTTON OVERRIDES — match React exactly ════════ */
/* React "Learn More" = variant="outline" = white bg, border, dark text */
.camp-btns .btn-outline {
  background: #fff !important;
  color: #1f2937 !important;
  border: 1.5px solid #e5e7eb !important;
  backdrop-filter: none !important;
}
.camp-btns .btn-outline:hover {
  background: var(--primary) !important;
  color: #fff !important;
  border-color: var(--primary) !important;
}

/* React "Get Involved" = bg-gold-gradient */
.camp-btns .btn-gold {
  background: linear-gradient(135deg,#9d6e0d,#ffb347) !important;
  color: #fff !important;
}

/* Featured milestones box — bg-muted/50 = light grey */
.camp-featured-card .camp-milestones {
  background: rgba(255,255,255,.12);
  border-radius: .75rem;
  padding: 1rem 1.25rem;
}
.camp-featured-card .camp-milestones h4 { color: #e5e7eb; font-size:.875rem; margin-bottom:.35rem; }
.camp-featured-card .camp-milestones p  { color: #d1d5db; font-size:.875rem; margin:0; }

/* Top campaign card milestones — bg-muted/90 = near white */
.camp-top-card .camp-milestones {
  background: rgba(255,255,255,.85);
  border-radius: .75rem;
  padding: 1rem 1.25rem;
}
.camp-top-card .camp-milestones h4 { color: #111827; font-weight:600; font-size:.875rem; margin-bottom:.35rem; }
.camp-top-card .camp-milestones p  { color: #374151; font-size:.875rem; margin:0; }

/* ═══ BOOKS PAGE — exact match to React Books.tsx & BookCard.tsx ══

   Hero: bg-main, hero-reading.jpg opacity-20, bg-main/20
   Filter: py-12 bg-red-100, flex-wrap justify-center
   Grid: py-16 bg-red-100, 4 cols desktop
   BookCard: red container (rgb(239,68,68)), cover img, age badge top-left,
             featured badge top-right, then CardContent: category badge,
             title, author, synopsis line-clamp-3, "Read More" gold btn
═══════════════════════════════════════════════════════════════════ */

/* Hero */
.books-hero{position:relative;min-height:clamp(280px,40vw,400px);display:flex;align-items:flex-end;background:var(--main);overflow:hidden;color:#fff}
.books-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.2}
.books-hero-overlay{position:absolute;inset:0;background:rgba(102,0,0,.2)}
.books-hero-content{position:relative;z-index:2;width:100%;padding:5rem var(--section-x) 3rem;text-align:center}
.books-hero-content h1{color:#fff;font-size:clamp(1.5rem,4vw,3rem);font-weight:800;margin-bottom:3.5rem;line-height:1.2}
.books-hero-content p{color:#e5e7eb;font-size:clamp(.88rem,1.8vw,1.05rem);max-width:800px;margin:0 auto;line-height:1.75}

/* Filter bar */
.books-filter-section{background:#fee2e2;padding:3rem var(--section-x)}
.books-filter-row{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;align-items:center;max-width:1200px;margin:0 auto}
.books-filter-label{background:#f3f4f6;color:#6b7280;padding:.5rem 1rem;border-radius:9999px;font-size:.82rem;font-weight:600;display:inline-flex;align-items:center;gap:.35rem;margin-bottom:.25rem}
.books-filter-btn{padding:.45rem 1.1rem;border-radius:9999px;border:1.5px solid #e5e7eb;background:#fff;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s;color:#374151;white-space:nowrap}
.books-filter-btn:hover{border-color:var(--main);color:var(--main)}
.books-filter-btn.active{background:linear-gradient(135deg,#9d6e0d,#ffb347);border-color:transparent;color:#fff;box-shadow:0 2px 8px rgba(157,110,13,.3)}

/* Books grid section */
.books-grid-section{background:#fee2e2;padding:4rem var(--section-x) 5rem}
.books-grid-section .container{max-width:1200px;margin:0 auto}

.books-category-block{margin-bottom:3rem}
.books-category-block h3{font-size:1.25rem;font-weight:700;color:var(--primary);margin-bottom:1.25rem;padding-bottom:.6rem;border-bottom:2px solid rgba(102,0,0,.12)}

/* 4-col grid matching React md:grid-cols-4 */
.books-cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.875rem}
@media(min-width:480px){.books-cards-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:768px){.books-cards-grid{grid-template-columns:repeat(4,1fr);gap:1rem}}
@media(min-width:1100px){.books-cards-grid{grid-template-columns:repeat(4,1fr)}}

/* Book card link wrapper */
.book-card-link{display:block;color:inherit;text-decoration:none}

/* BookCard.tsx: Card with overflow-hidden, bg-card, hover:shadow-magical hover:-translate-y-2 */
.book-card-wrap{background:#fff;border-radius:.75rem;overflow:hidden;transition:transform .5s,box-shadow .5s;height:100%;display:flex;flex-direction:column}
.book-card-link:hover .book-card-wrap{transform:translateY(-8px);box-shadow:0 12px 40px rgba(0,0,0,.15)}

/* Red container — exact: style={{ backgroundColor: "rgb(239,68,68)" }} p-3 rounded-2xl */
.book-card-img-container{position:relative;background:rgb(239,68,68);padding:.75rem;border-radius:1rem 1rem 0 0;flex-shrink:0}
.book-card-img-container img{width:100%;height:200px;object-fit:contain;border-radius:.75rem;transition:transform .7s;display:block}
@media(min-width:768px){.book-card-img-container img{height:240px}}
.book-card-link:hover .book-card-img-container img{transform:scale(1.05)}
.book-card-img-container.img-error{background:#b91c1c}

/* Age badge — absolute top-3 left-3 bg-accent */
.book-card-age-badge{position:absolute;top:.75rem;left:.75rem;background:hsl(200,75%,55%);color:#fff;padding:.18rem .6rem;border-radius:9999px;font-size:.65rem;font-weight:700}
/* Featured badge — absolute top-3 right-3 */
.book-card-featured-badge{position:absolute;top:.75rem;right:.75rem;background:linear-gradient(135deg,hsl(25,85%,65%),hsl(15,75%,45%));color:#fff;padding:.18rem .6rem;border-radius:9999px;font-size:.62rem;font-weight:700}
/* Language badge */
.book-card-lang-badge{position:absolute;top:.75rem;right:.75rem;background:rgba(0,0,0,.5);color:#fff;padding:.18rem .6rem;border-radius:9999px;font-size:.62rem;font-weight:600}

/* CardContent p-6 */
.book-card-content{padding:1.25rem 1rem;flex:1;display:flex;flex-direction:column;gap:.4rem}
/* category badge variant="outline" */
.book-card-category-badge{display:inline-block;border:1px solid #e5e7eb;color:#6b7280;padding:.1rem .55rem;border-radius:9999px;font-size:.65rem;font-weight:600;width:fit-content}
/* title font-bold text-foreground */
.book-card-title{font-size:.9rem;font-weight:700;color:#111827;line-height:1.35;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* author text-sm text-muted-foreground */
.book-card-author{font-size:.75rem;color:#6b7280;margin:0}
/* synopsis line-clamp-3 */
.book-card-synopsis{font-size:.78rem;color:#374151;line-height:1.6;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:1}
/* Read More button wrapper centered */
.book-card-btn-wrap{display:flex;justify-content:center;margin-top:.5rem}
/* Coming soon */
.book-card-coming-soon{display:inline-block;padding:.18rem .6rem;background:rgba(102,0,0,.08);color:var(--main);border-radius:9999px;font-size:.65rem;font-weight:700;margin-top:.25rem;width:fit-content}

/* Non-English section */
.books-non-english{margin-top:3rem;padding-top:2.5rem;border-top:2px solid rgba(102,0,0,.12)}
.books-non-english-header{margin-bottom:1.5rem}
.books-non-english-header h2{font-size:1.75rem;font-weight:700;color:var(--primary);display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}
.books-non-english-header p{color:var(--text-muted);font-size:.95rem}

/* ═══ IMAGES — about the re-run question ═══════════════════════
   YES — you need to re-run COPY-ASSETS.sh after each new theme install.
   The zip only contains PHP/CSS/JS — not the actual image files.
   Images live in wp-content/themes/redhot-africa-wp/assets/
   That folder is on your Windows machine and never changes.
   You only need to copy once per machine — not per update.
══════════════════════════════════════════════════════════════════ */

/* ═══ BOOK DETAIL — exact match to React BookDetail.tsx ══════ */

.bd-back-bar{border-bottom:1px solid #e5e7eb;padding:.875rem var(--section-x);background:#fff}
.bd-back-btn{display:inline-flex;align-items:center;gap:.4rem;color:var(--main);font-weight:600;font-size:.9rem;padding:.4rem .875rem;border-radius:.5rem;transition:background .15s}
.bd-back-btn:hover{background:rgba(102,0,0,.06)}

.bd-section{padding:4rem var(--section-x) 5rem;background:#fff}
.bd-grid{display:grid;grid-template-columns:1fr;gap:3rem;max-width:1100px;margin:0 auto;align-items:start}
@media(min-width:768px){.bd-grid{grid-template-columns:1fr 1fr;gap:3rem}}
@media(min-width:1024px){.bd-grid{grid-template-columns:480px 1fr}}

/* Cover column */
.bd-cover-col{}
.bd-cover-sticky{position:sticky;top:2rem}
.bd-cover-wrap{position:relative;display:inline-block;width:100%}
.bd-cover-img{width:100%;max-width:420px;margin:0 auto;display:block;border-radius:1.25rem;box-shadow:0 20px 60px rgba(0,0,0,.2);transition:transform .5s}
.bd-cover-wrap:hover .bd-cover-img{transform:scale(1.025)}
.bd-featured-badge{position:absolute;top:1rem;right:1rem;background:linear-gradient(135deg,hsl(25,85%,65%),hsl(15,75%,45%));color:#fff;padding:.3rem .875rem;border-radius:9999px;font-size:.75rem;font-weight:700}

/* Purchase */
.bd-purchase{margin-top:2rem;display:flex;flex-direction:column;gap:1rem}
.bd-purchase-btn{width:100%;justify-content:center;font-size:1rem}
.bd-stockist-label{font-size:.875rem;color:var(--text-muted);text-align:center}
.bd-stockists{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;font-size:.78rem;color:var(--text-muted)}

/* Info column */
.bd-header{margin-bottom:2rem}
.bd-category-badge{display:inline-block;border:1px solid #e5e7eb;color:#6b7280;padding:.22rem .75rem;border-radius:9999px;font-size:.8rem;font-weight:600;margin-bottom:.875rem}
.bd-title{font-size:clamp(1.75rem,4vw,2.75rem);font-weight:800;color:var(--primary);line-height:1.2;margin-bottom:.6rem;letter-spacing:-.02em}
.bd-author{font-size:1.1rem;color:var(--text-muted)}
.bd-author strong{color:var(--text-dark);font-weight:600}

/* Meta grid — 2 cols */
.bd-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem}
.bd-meta-card{background:#f9fafb;border-radius:.875rem;padding:1.1rem;text-align:center}
.bd-meta-icon{font-size:1.5rem;display:block;margin-bottom:.4rem}
.bd-meta-label{font-size:.78rem;font-weight:500;color:var(--text-muted);margin-bottom:.2rem}
.bd-meta-value{font-size:.9rem;font-weight:700;color:var(--text-dark);margin:0}

/* Synopsis */
.bd-synopsis-section{margin-bottom:2rem}
.bd-synopsis-heading{font-size:1.35rem;font-weight:700;color:var(--primary);margin-bottom:.875rem;display:flex;align-items:center;gap:.5rem}
.bd-synopsis{font-size:1.05rem;color:var(--text-muted);line-height:1.85}

/* Why You'll Love card */
.bd-love-card{background:rgba(100,150,255,.07);border-radius:1rem;padding:1.5rem}
.bd-love-card h3{color:var(--primary);font-weight:600;margin-bottom:.875rem;font-size:1rem}
.bd-love-card ul{list-style:none;display:flex;flex-direction:column;gap:.6rem}
.bd-love-card li{display:flex;align-items:flex-start;gap:.6rem;font-size:.9rem;color:var(--text-body)}
.bd-dot{width:8px;height:8px;background:hsl(200,75%,55%);border-radius:50%;flex-shrink:0;margin-top:.35rem}

/* Related books */
.bd-related{background:#f3f4f6;padding:4rem var(--section-x) 5rem}
.bd-related-header{text-align:center;margin-bottom:3rem}
.bd-related-header h2{font-size:clamp(1.4rem,3vw,2rem);font-weight:700;color:var(--primary);margin-bottom:.4rem}
.bd-related-header p{color:var(--text-muted)}
.bd-related-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;max-width:900px;margin:0 auto}
@media(min-width:640px){.bd-related-grid{grid-template-columns:repeat(3,1fr)}}

/* ═══ CAMPAIGN MODAL — exact match to CampaignModal.tsx ═════ */
/* fixed inset-0 z-50, bg-black/80, backdrop-blur-md, overflow-auto p-4 */
/* inner: bg-main w-full max-w-5xl max-h-[90vh] shadow-2xl overflow-y-auto p-8 */

.camp-modal-inner{
  background:var(--main);
  width:100%;
  max-width:900px;
  max-height:90vh;
  box-shadow:0 25px 80px rgba(0,0,0,.5);
  position:relative;
  overflow-y:auto;
  padding:2rem;
  border-radius:.5rem;
  margin:auto;
}

.camp-modal-x{
  position:absolute;top:1rem;right:1rem;
  background:transparent;
  border:none;
  color:#fff;
  width:36px;height:36px;
  border-radius:50%;
  font-size:1.1rem;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s;
  z-index:10;
}
.camp-modal-x:hover{background:rgba(255,255,255,.15)}

.camp-modal-title{
  font-size:clamp(1.5rem,4vw,2.5rem);
  font-weight:800;
  color:#eab308;
  text-align:center;
  margin-bottom:1.5rem;
  padding-right:2rem;
}

.camp-modal-body{
  /* prose prose-lg */
  color:#e5e7eb;
  line-height:1.75;
}

/* ═══ EVENTS PAGE ════════════════════════════════════════════ */
.ev-hero{position:relative;min-height:clamp(260px,38vw,400px);display:flex;align-items:flex-end;background:var(--main);overflow:hidden}
.ev-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.2}
.ev-hero-overlay{position:absolute;inset:0;background:rgba(102,0,0,.2)}
.ev-hero-content{position:relative;z-index:2;width:100%;padding:5rem var(--section-x) 3rem;text-align:center;color:#fff}
.ev-hero-content h1{font-size:clamp(1.75rem,5vw,3.5rem);font-weight:800;margin-bottom:1rem;color:#fff}
.ev-hero-content p{font-size:clamp(.9rem,2vw,1.1rem);color:rgba(255,255,255,.85);max-width:600px;margin:0 auto;line-height:1.75}

.ev-section{background:#fee2e2;padding:4rem var(--section-x) 5rem}
.ev-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;max-width:1200px;margin:0 auto}
@media(min-width:640px){.ev-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.ev-grid{grid-template-columns:repeat(3,1fr)}}

.ev-card{background:#fff;border-radius:1.25rem;overflow:hidden;box-shadow:0 2px 8px rgba(102,0,0,.06);transition:transform .3s,box-shadow .3s;border:1.5px solid #f3f4f6}
.ev-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(102,0,0,.12);border-color:#fecaca}
.ev-card-body{padding:1.5rem}
.ev-card-top{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}
.ev-type-badge{padding:.22rem .7rem;border-radius:9999px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.ev-type-storytelling{background:#fef9c3;color:#854d0e}
.ev-type-workshop{background:#dcfce7;color:#166534}
.ev-type-author-visit{background:#ede9fe;color:#5b21b6}
.ev-type-reading{background:#dbeafe;color:#1e40af}
.ev-featured-badge{background:#fef9c3;color:#854d0e;padding:.18rem .6rem;border-radius:9999px;font-size:.65rem;font-weight:700}
.ev-card h3{font-size:1rem;font-weight:700;color:var(--main);margin-bottom:.6rem;line-height:1.3}
.ev-meta{font-size:.8rem;color:var(--text-muted);margin-bottom:.2rem;display:flex;align-items:center;gap:.35rem}
.ev-desc{font-size:.85rem;color:var(--text-body);margin-top:.6rem;line-height:1.65}

/* ═══════════════════════════════════════════════════════════════
   FULL MOBILE RESPONSIVE AUDIT — covers every section
   Mobile first: 375px → 480px → 640px → 768px → 1024px → 1200px
═══════════════════════════════════════════════════════════════ */

/* ── GLOBAL ────────────────────────────────────────────────── */
html,body{max-width:100vw;overflow-x:hidden}
img{max-width:100%;height:auto}
.container{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}

/* ── NAV — mobile ──────────────────────────────────────────── */
.nav-inner{padding:.75rem 1rem;gap:.5rem}
.nav-logos{gap:.6rem;max-width:calc(100vw - 60px)}
.nav-logos img:first-child{height:26px}
.nav-logos img:last-child{height:20px}
@media(min-width:400px){
  .nav-logos img:first-child{height:30px}
  .nav-logos img:last-child{height:24px;display:block}
}
@media(min-width:768px){
  .nav-inner{padding:.9rem 2rem}
  .nav-logos img:first-child{height:40px}
  .nav-logos img:last-child{height:32px}
}

/* ── CAROUSEL ──────────────────────────────────────────────── */
.carousel-section{padding-bottom:3rem}
.carousel-inner{padding:1.5rem 1rem 0}
.carousel-grid{grid-template-columns:1fr;gap:1rem}
.carousel-img{max-width:180px;max-height:260px}
.carousel-title{font-size:1.4rem}
.carousel-synopsis{font-size:.85rem;margin-bottom:1.25rem}
.carousel-buttons{gap:.5rem}
.carousel-buttons .btn{padding:.55rem 1.1rem;font-size:.82rem}
.carousel-controls{margin-top:1.5rem;gap:.6rem}
@media(min-width:480px){
  .carousel-img{max-width:220px;max-height:310px}
}
@media(min-width:768px){
  .carousel-inner{padding:2rem 2rem 0}
  .carousel-grid{grid-template-columns:1fr 1fr;gap:3rem}
  .carousel-img{max-width:320px;max-height:440px}
  .carousel-title{font-size:clamp(1.6rem,3.5vw,2.8rem)}
  .carousel-section{padding-bottom:5rem}
}

/* ── CAMPAIGN HIGHLIGHTS ───────────────────────────────────── */
.ch-section{padding:3rem 1rem;margin-top:2.5rem}
.ch-heading{margin-bottom:1.75rem}
.ch-heading h2{font-size:clamp(1.4rem,5vw,2.5rem)}
.ch-sub{font-size:.92rem}
.ch-cards{grid-template-columns:1fr;gap:1.25rem}
.ch-card{min-height:320px}
.ch-card-image img{height:220px}
.ch-card-content{padding:1.25rem 1.25rem 1.5rem}
.ch-card-title{font-size:1rem}
@media(min-width:768px){
  .ch-section{padding:5rem 2rem;margin-top:5rem}
  .ch-cards{grid-template-columns:1fr 1fr;gap:2rem}
  .ch-card{min-height:400px}
  .ch-card-image img{height:300px}
}

/* ── CATEGORIES ─────────────────────────────────────────────── */
.categories-section{padding:3rem 1rem}
.cat-header{margin-bottom:1.75rem}
.series-tags{gap:.4rem;margin-bottom:1.75rem}
.series-tag{font-size:.68rem;padding:.25rem .7rem}
.cat-cards-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}
@media(min-width:640px){.cat-cards-grid{gap:1rem}}
@media(min-width:900px){.cat-cards-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem}}

/* ── PARTNERS ───────────────────────────────────────────────── */
.partners-section{padding:3rem 0 6rem}
.partners-inner h2{font-size:clamp(1.4rem,4vw,2.5rem)}

/* ── FAQ ────────────────────────────────────────────────────── */
.faq-section-wrap{padding:3rem 1rem}
.faq-question{font-size:.88rem;padding:.9rem 1rem}
.faq-answer{font-size:.85rem}

/* ── BOOKS PAGE ─────────────────────────────────────────────── */
.books-hero{min-height:clamp(220px,35vw,380px)}
.books-hero-content{padding:3.5rem 1rem 2rem}
.books-hero-content h1{font-size:clamp(1.3rem,4vw,2.5rem);margin-bottom:2rem}
.books-filter-section{padding:1.75rem 1rem}
.books-filter-row{gap:.5rem}
.books-filter-btn{font-size:.75rem;padding:.38rem .875rem}
.books-filter-label{font-size:.75rem}
.books-grid-section{padding:2rem 1rem 3.5rem}
.books-category-block h3{font-size:1rem}
.books-cards-grid{grid-template-columns:repeat(2,1fr);gap:.65rem}
@media(min-width:480px){.books-cards-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}}
@media(min-width:768px){.books-cards-grid{grid-template-columns:repeat(4,1fr);gap:.875rem}}
@media(min-width:1100px){.books-cards-grid{grid-template-columns:repeat(4,1fr)}}
.book-card-img-container img{height:160px}
@media(min-width:480px){.book-card-img-container img{height:180px}}
@media(min-width:768px){.book-card-img-container img{height:220px}}
.book-card-title{font-size:.8rem}
.book-card-author{font-size:.7rem}
.book-card-synopsis{font-size:.72rem}
.book-card-btn-wrap .btn{font-size:.72rem;padding:.35rem .875rem}

/* ── BOOK DETAIL ─────────────────────────────────────────────── */
.bd-section{padding:2rem 1rem 3.5rem}
.bd-grid{grid-template-columns:1fr;gap:2rem}
@media(min-width:768px){.bd-grid{grid-template-columns:1fr 1fr;gap:2.5rem}}
@media(min-width:1024px){.bd-grid{grid-template-columns:420px 1fr}}
.bd-cover-img{max-width:280px}
@media(min-width:768px){.bd-cover-img{max-width:100%}}
.bd-cover-sticky{position:static}
@media(min-width:768px){.bd-cover-sticky{position:sticky;top:2rem}}
.bd-title{font-size:clamp(1.5rem,4vw,2.5rem)}
.bd-related{padding:3rem 1rem 4rem}
.bd-related-grid{grid-template-columns:repeat(2,1fr)}
@media(min-width:640px){.bd-related-grid{grid-template-columns:repeat(3,1fr)}}

/* ── CAMPAIGNS ───────────────────────────────────────────────── */
.camp-hero{min-height:clamp(240px,35vw,380px)}
.camp-hero-content{padding:4rem 1rem 2.5rem}
.camp-top-section{padding:3rem 1rem}
.camp-top-grid{grid-template-columns:1fr}
.camp-featured-section{padding:3rem 1rem}
.camp-featured-grid{grid-template-columns:1fr;gap:1.1rem}
@media(min-width:768px){.camp-featured-grid{grid-template-columns:repeat(2,1fr);gap:1.35rem}}
.camp-other-section{padding:3rem 1rem}
.camp-other-grid{grid-template-columns:1fr}
@media(min-width:640px){.camp-other-grid{grid-template-columns:repeat(2,1fr)}}
.camp-modal-inner{padding:1.5rem;max-height:95vh}
.camp-modal-title{font-size:clamp(1.2rem,4vw,2rem);padding-right:2.5rem}

/* ── EVENTS ──────────────────────────────────────────────────── */
.ev-hero{min-height:clamp(220px,35vw,380px)}
.ev-hero-content{padding:4rem 1rem 2.5rem}
.ev-section{padding:2.5rem 1rem 4rem}
.ev-grid{grid-template-columns:1fr}
@media(min-width:580px){.ev-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.ev-grid{grid-template-columns:repeat(3,1fr)}}

/* ── ABOUT ───────────────────────────────────────────────────── */
.mission-section{padding:3rem 1rem}
.values-section{padding:3rem 1rem}
.values-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}
@media(min-width:768px){.values-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem}}
.team-section{padding:3rem 1rem}
.team-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}
@media(min-width:580px){.team-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:900px){.team-grid{grid-template-columns:repeat(4,1fr);gap:1rem}}
.social-cta{margin:0 1rem 2rem;padding:3.5rem 1rem}
@media(min-width:768px){.social-cta{margin:0 2rem 3rem;padding:5rem 2rem}}
.social-cta h2{font-size:clamp(1.5rem,4vw,2.5rem)}

/* ── RETAIL ──────────────────────────────────────────────────── */
.retail-hero{min-height:clamp(240px,38vw,400px)}
.retail-vision-section{padding:3rem 1rem}
.retail-vision-grid{grid-template-columns:repeat(2,1fr);gap:.875rem}
@media(min-width:768px){.retail-vision-grid{grid-template-columns:repeat(4,1fr);gap:1.25rem}}
.retail-hof-section{padding:3rem 1rem}
.retail-hof-grid{grid-template-columns:1fr}
@media(min-width:580px){.retail-hof-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.retail-hof-grid{grid-template-columns:repeat(3,1fr)}}
.retail-cta-outer{padding:2rem 1rem}
.retail-cta-inner{padding:3.5rem 1.25rem}
.retail-cta-btns{flex-direction:column;align-items:center}
@media(min-width:480px){.retail-cta-btns{flex-direction:row;justify-content:center}}

/* ── PAGE HEROES ─────────────────────────────────────────────── */
.camp-hero-content h1,.ev-hero-content h1{font-size:clamp(1.5rem,5vw,3.5rem)}
.page-hero{min-height:clamp(220px,35vw,400px)}
.hero-content{padding:4rem 1rem 2.5rem}
.hero-content h1{font-size:clamp(1.5rem,5vw,3rem)}

/* ── FOOTER ──────────────────────────────────────────────────── */
.site-footer{padding:3rem 1rem 2rem}
.footer-grid{grid-template-columns:1fr !important;gap:2rem !important}
@media(min-width:580px){.footer-grid{grid-template-columns:1fr 1fr !important}}
@media(min-width:1024px){.footer-grid{grid-template-columns:2fr 1fr 1fr !important}}
.footer-logos img{height:28px}
@media(min-width:768px){.footer-logos img:first-child{height:36px}.footer-logos img:last-child{height:28px}}

/* ── COOKIE BANNER ───────────────────────────────────────────── */
.cookie-banner{left:.75rem;right:.75rem;max-width:calc(100vw - 1.5rem)}

/* ── SCROLL TO TOP ───────────────────────────────────────────── */
.scroll-top{right:.875rem;bottom:.875rem;width:38px;height:38px;font-size:.9rem}

/* ═══ LOGO SIZES — exact React values, highest priority ══════
   React nav: className="w-32" (128px) + className="w-28" (112px), gap-5 (1.25rem)
   React footer: same — className="w-32" + className="w-28", gap-5
   Scales down gracefully on small screens using clamp()
══════════════════════════════════════════════════════════════ */
.nav-logos {
  display: flex !important;
  align-items: center !important;
  gap: 1.25rem !important;
  flex-shrink: 0 !important;
}
.nav-logos img:first-child {
  width: clamp(80px, 20vw, 128px) !important;
  height: auto !important;
}
.nav-logos img:last-child {
  width: clamp(70px, 18vw, 112px) !important;
  height: auto !important;
  display: block !important;
}
@media (min-width: 768px) {
  .nav-logos img:first-child { width: 128px !important; }
  .nav-logos img:last-child  { width: 112px !important; }
}

.footer-logos {
  display: flex !important;
  align-items: center !important;
  gap: 1.25rem !important;
  margin-bottom: 1.25rem !important;
}
.footer-logos img:first-child {
  width: clamp(80px, 20vw, 128px) !important;
  height: auto !important;
}
.footer-logos img:last-child {
  width: clamp(70px, 18vw, 112px) !important;
  height: auto !important;
}
@media (min-width: 768px) {
  .footer-logos img:first-child { width: 128px !important; }
  .footer-logos img:last-child  { width: 112px !important; }
}

/* ═══ ABOUT PAGE — exact match to React About.tsx ═══════════

   Hero:    h-[400px] bg-main, about-hero.png opacity-20, bg-main/20
            h1 "Our Story" text-center mt-20
   Mission: py-20 bg-red-100, badge submain, h2 submain, p black, 2 buttons
   Values:  py-20 bg-main, yellow h2, white p, 4-col white cards, gold icon circle
   Team:    py-20 bg-white, submain badge+h2, 4-col, card w-72, img 250x250 object-cover
   Partners: (uses existing partners component)
   CTA:     py-20 mx-20 mb-20 rounded-md bg-gradient-redhot, centered
═══════════════════════════════════════════════════════════════ */

/* ── Hero ─────────────────────────────────────────────────── */
.about-hero{
  position:relative;
  height:400px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--main);
  overflow:hidden;
}
.about-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.2}
.about-hero-overlay{position:absolute;inset:0;background:rgba(102,0,0,.2)}
.about-hero-content{position:relative;z-index:2;text-align:center;width:100%;max-width:900px;padding:0 var(--section-x);margin-top:5rem}
.about-hero-content h1{
  color:#fff;
  font-size:clamp(2rem,6vw,3.75rem);
  font-weight:800;
  margin-bottom:1.5rem;
  text-shadow:0 2px 8px rgba(0,0,0,.3);
}

/* ── Mission — bg-red-100 ──────────────────────────────────── */
.about-mission{background:#fee2e2;padding:5rem var(--section-x)}
.about-mission-badge{
  display:inline-flex;align-items:center;gap:.4rem;
  background:rgba(157,110,13,.1);color:#9d6e0d;
  padding:.35rem 1rem;border-radius:9999px;
  font-size:.8rem;font-weight:700;
  margin-bottom:1.5rem;
}
.about-mission-h2{
  font-size:clamp(1.6rem,4vw,2.5rem);
  font-weight:700;color:#9d6e0d;
  margin-bottom:1.5rem;line-height:1.25;
}
.about-mission-p{
  font-size:1.1rem;color:#374151;
  line-height:1.75;margin-bottom:1.5rem;
  max-width:600px;margin-left:auto;margin-right:auto;
}
.about-mission-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.btn-primary{
  background:linear-gradient(135deg,hsl(25,85%,60%),hsl(15,75%,42%),hsl(340,60%,68%));
  color:#fff;box-shadow:0 2px 12px rgba(200,80,30,.3);
}
.btn-primary:hover{box-shadow:0 4px 20px rgba(200,80,30,.4);transform:translateY(-1px)}

/* ── Values — bg-main ─────────────────────────────────────── */
.about-values{background:var(--main);padding:5rem var(--section-x)}
.about-values-header{text-align:center;margin-bottom:4rem}
.about-values-header h2{color:#eab308;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:800;margin-bottom:1.5rem}
.about-values-header p{color:#fff;font-size:1.25rem;max-width:900px;margin:0 auto;line-height:1.75}

.about-values-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;max-width:1200px;margin:0 auto}
@media(min-width:768px){.about-values-grid{grid-template-columns:repeat(4,1fr);gap:2rem}}

/* Card: bg-card (white), hover:shadow, hover:-translate-y-2, text-center */
.about-value-card{
  background:#fff;
  border-radius:1rem;
  padding:2rem;
  text-align:center;
  box-shadow:0 4px 16px rgba(0,0,0,.08);
  transition:transform .3s,box-shadow .3s;
}
.about-value-card:hover{transform:translateY(-8px);box-shadow:0 16px 40px rgba(0,0,0,.15)}
/* Icon: w-16 h-16 bg-gold-gradient rounded-full mx-auto mb-6, hover scale-110 */
.about-value-icon{
  width:64px;height:64px;
  background:linear-gradient(135deg,#9d6e0d,#ffb347);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 1.5rem;
  font-size:1.75rem;
  transition:transform .3s;
}
.about-value-card:hover .about-value-icon{transform:scale(1.1)}
.about-value-card h3{color:#9d6e0d;font-size:1.25rem;font-weight:700;margin-bottom:1rem}
.about-value-card p{color:#374151;line-height:1.7;font-size:.95rem;margin:0}

/* ── Team — py-20 bg-white ────────────────────────────────── */
.about-team{background:#fff;padding:5rem var(--section-x)}
.about-team-header{text-align:center;margin-bottom:4rem}
.about-team-badge{
  display:inline-flex;align-items:center;gap:.4rem;
  background:rgba(157,110,13,.1);color:#9d6e0d;
  padding:.35rem 1rem;border-radius:9999px;
  font-size:.8rem;font-weight:700;
  margin-bottom:1rem;
}
.about-team-header h2{color:#9d6e0d;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:800;margin-bottom:1rem}
.about-team-header p{color:#374151;font-size:1.25rem;max-width:600px;margin:0 auto}

/* Grid: md:grid-cols-2 lg:grid-cols-4 gap-12 — each card is w-72 centered */
.about-team-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:2rem;
  max-width:1200px;
  margin:0 auto;
  justify-items:center;
}
@media(min-width:640px){.about-team-grid{grid-template-columns:repeat(2,1fr);gap:2.5rem}}
@media(min-width:900px){.about-team-grid{grid-template-columns:repeat(4,1fr);gap:3rem}}

/* Card: border-0 bg-card hover:shadow-magical hover:-translate-y-2 text-center w-72 */
.about-team-card{
  background:#fff;
  border-radius:1rem;
  padding:1.5rem;
  text-align:center;
  width:100%;
  max-width:288px; /* w-72 = 18rem = 288px */
  box-shadow:0 4px 16px rgba(0,0,0,.08);
  transition:transform .5s,box-shadow .5s;
  border:1px solid #f3f4f6;
}
.about-team-card:hover{transform:translateY(-8px);box-shadow:0 16px 48px rgba(0,0,0,.15)}

/* Image: w-[250px] h-[250px] object-cover */
.about-team-img-wrap{margin-bottom:1rem;display:flex;justify-content:center}
.about-team-img-wrap img{
  width:250px;height:250px;
  object-fit:cover;
  border-radius:.5rem;
  display:block;
}
.about-team-card.no-img .about-team-img-wrap{
  width:250px;height:250px;
  background:#f3f4f6;
  border-radius:.5rem;
  display:flex;align-items:center;justify-content:center;
  font-size:3rem;opacity:.3;
  margin:0 auto 1rem;
}

/* Name: text-xl font-bold text-submain mb-2 */
.about-team-card h3{color:#9d6e0d;font-size:1.1rem;font-weight:700;margin-bottom:.5rem}
/* Quote: text-sm italic */
.about-team-quote{font-size:.875rem;font-style:italic;color:#374151;line-height:1.6;margin:0}

/* ── Social CTA — py-20 md:mx-20 mx-2 mb-20 rounded-md bg-gradient-redhot ── */
.about-cta{padding:0 var(--section-x) 5rem}
.about-cta-inner{
  background:linear-gradient(to bottom,#660000,#670000);
  border-radius:.5rem;
  padding:5rem var(--section-x);
  text-align:center;
  color:#fff;
}
@media(min-width:768px){
  .about-cta{padding:0 5rem 5rem}
}
.about-cta-icon{font-size:4rem;margin-bottom:1.5rem}
.about-cta-inner h2{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:800;margin-bottom:1.5rem;color:#fff}
.about-cta-inner p{font-size:1.25rem;color:rgba(255,255,255,.9);max-width:600px;margin:0 auto 2rem;line-height:1.75}
.about-cta-btns{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}
.about-cta-btn-white{background:#fff;color:#9d6e0d;font-weight:700;border:none;padding:.85rem 2rem;border-radius:9999px;transition:all .25s}
.about-cta-btn-white:hover{background:rgba(255,255,255,.9)}

/* ── Mobile responsive ─────────────────────────────────────── */
@media(max-width:767px){
  .about-hero{height:280px}
  .about-hero-content{margin-top:3rem}
  .about-mission{padding:3rem 1rem}
  .about-values{padding:3rem 1rem}
  .about-values-header p{font-size:1rem}
  .about-values-grid{grid-template-columns:repeat(2,1fr);gap:1rem}
  .about-value-card{padding:1.25rem}
  .about-team{padding:3rem 1rem}
  .about-team-grid{grid-template-columns:repeat(2,1fr);gap:1rem}
  .about-team-card{max-width:100%}
  .about-team-img-wrap img{width:100%;height:180px}
  .about-cta{padding:0 .5rem 3rem}
  .about-cta-inner{padding:3rem 1.25rem}
  .about-cta-inner p{font-size:1rem}
}

/* ═══ RETAIL VISION CARDS — mobile fix ═══════════════════════
   React: md:grid-cols-2 lg:grid-cols-4 gap-8, CardContent p-8
   On mobile (1 col) full padding is fine.
   On 2-col mobile we need tighter padding.
═══════════════════════════════════════════════════════════════ */
@media(max-width:639px) {
  .retail-vision-grid { grid-template-columns: 1fr !important; }
  .retail-vision-card  { padding: 2rem 1.5rem; }
}
@media(min-width:640px) and (max-width:1023px) {
  .retail-vision-grid { grid-template-columns: repeat(2,1fr) !important; gap:1.25rem; }
  .retail-vision-card { padding: 1.5rem 1rem; }
  .retail-vision-card h3 { font-size:1rem; }
  .retail-vision-card p  { font-size:.85rem; }
}

/* ═══ CAMPAIGN MODAL — fix positioning so it always appears
   at the center of the VIEWPORT (not the page), even when scrolled.
   Key: position:fixed (not absolute), flex centering, overflow-y:auto on overlay.
   The scrolling should happen INSIDE the modal, not require page scroll.
═══════════════════════════════════════════════════════════════ */
#campaign-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 9999 !important;
  background: rgba(0,0,0,.8) !important;
  backdrop-filter: blur(8px) !important;
  /* Center the inner box in the viewport */
  display: none;
  align-items: center !important;
  justify-content: center !important;
  padding: 1rem !important;
  /* Allow the overlay itself to scroll on very small screens */
  overflow-y: auto !important;
}
#campaign-modal.open-modal,
#campaign-modal[style*="flex"] {
  display: flex !important;
}
.camp-modal-inner {
  background: var(--main) !important;
  width: 100% !important;
  max-width: 900px !important;
  /* Never taller than 85% of viewport */
  max-height: 85vh !important;
  overflow-y: auto !important;
  border-radius: .75rem !important;
  padding: 2rem !important;
  position: relative !important;
  /* Make sure it doesn't get pushed off screen */
  margin: auto !important;
  flex-shrink: 0 !important;
}
@media(max-width:640px) {
  .camp-modal-inner {
    padding: 1.25rem !important;
    max-height: 90vh !important;
  }
  .camp-modal-title { font-size: 1.1rem !important; }
}


/* ═══ PROMO POPUP MODAL ═══════════════════════════════════════ */
.promo-overlay {
  display: none !important; /* Hide completely until JS fires */
  position: fixed !important; 
  top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
  width: 100vw !important; height: 100vh !important;
  z-index: 999999 !important;
  background: rgba(0,0,0,0.85) !important; 
  backdrop-filter: blur(8px);
  align-items: center !important; 
  justify-content: center !important;
  padding: 1rem !important;
}
.promo-overlay.open { 
  display: flex !important; 
  animation: promoFadeIn 0.4s ease forwards;
}
@keyframes promoFadeIn { from { opacity: 0; } to { opacity: 1; } }

.promo-box {
  background: var(--main); border-radius: 1.25rem; overflow: hidden;
  width: 100%; max-width: 850px; max-height: 90vh;
  display: flex; flex-direction: column;
  position: relative; box-shadow: 0 25px 80px rgba(0,0,0,0.6);
  transform: translateY(20px) scale(0.95); 
  animation: promoSlideUp 0.4s ease forwards;
}
@keyframes promoSlideUp { to { transform: translateY(0) scale(1); } }

@media(min-width: 768px) {
  .promo-box { flex-direction: row; align-items: stretch; }
}

.promo-close {
  position: absolute; top: 1rem; right: 1rem; z-index: 10;
  background: rgba(0,0,0,0.4); color: #fff; border: 1px solid rgba(255,255,255,0.2);
  width: 36px; height: 36px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; transition: background 0.2s; font-size: 1.1rem;
}
.promo-close:hover { background: rgba(0,0,0,0.8); transform: scale(1.1); }

.promo-image { width: 100%; height: 220px; flex-shrink: 0; }
@media(min-width: 768px) { .promo-image { width: 45%; height: auto; min-height: 100%; } }
.promo-image img { width: 100%; height: 100%; object-fit: cover; }

.promo-content { padding: 2.5rem; display: flex; flex-direction: column; justify-content: center; flex: 1; color: #fff; }
.promo-badge { background: rgba(255,179,71,0.15); color: var(--gold-bright); padding: 0.35rem 1rem; border-radius: 9999px; font-size: 0.75rem; font-weight: 700; width: fit-content; margin-bottom: 1rem; text-transform: uppercase; letter-spacing: 0.05em; }
.promo-content h2 { color: #fff; font-size: clamp(1.5rem, 3vw, 2.25rem); margin-bottom: 0.75rem; line-height: 1.2; }
.promo-content p { color: rgba(255,255,255,0.8); font-size: 0.95rem; line-height: 1.7; margin-bottom: 1.5rem; }
.promo-btn { align-self: flex-start; }
