/* ============================================================
   ThemeBend v1.4.0 — editorial direction
   Playfair Display (serif) + Lato (sans)
   White background, warm red accent, photography-forward.
   Validated against the reference clone preview.
   ============================================================ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --rb-white:#fff;
  --rb-bg:#fff;
  --rb-gray-50:#fafafa;
  --rb-gray-100:#f5f5f5;
  --rb-gray-150:#f0f0f0;
  --rb-gray-200:#e8e8e8;
  --rb-gray-300:#d5d5d5;
  --rb-gray-400:#949494;
  --rb-gray-500:#737373;
  --rb-gray-600:#6b6b6b;
  --rb-gray-700:#555;
  --rb-gray-800:#333;
  --rb-gray-900:#1a1a1a;
  /* v3.2.91 — brand color now lives ONLY in critical.css (fallback) +
     dynamic-css.php (runtime from JSON tokens.colors.primary).
     Removed hardcoded green here because this file loads AFTER
     rb-dynamic-tokens and was overriding the JSON-driven amber. */
  --rb-accent-light:#e9f4e2;
  --rb-accent-bg:#f0f7eb;
  --rb-gold:#d4a017;
  --rb-serif:"Playfair Display",georgia,"Times New Roman",serif;
  --rb-sans:"Lato",-apple-system,blinkmacsystemfont,"Segoe UI",roboto,helvetica,arial,sans-serif;
  --rb-mono:"JetBrains Mono",menlo,consolas,monospace;
  --rb-max-w:1200px;
  --rb-content-w:740px;
}

html{scroll-behavior:smooth}
body{font-family:var(--rb-sans);font-size:16px;line-height:1.7;color:var(--rb-gray-800);background:var(--rb-bg);-webkit-font-smoothing:antialiased}
a{color:var(--rb-accent);text-decoration:none;transition:color .2s}
a:hover{color:var(--rb-accent-hover)}
img{max-width:100%;height:auto;display:block}

.rb-container{max-width:var(--rb-max-w);margin:0 auto;padding:0 24px}

/* Skip-link */
.rb-skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;background:var(--rb-accent);color:var(--rb-white,#fff);padding:10px 14px;z-index:99}

.rb-skip-link:focus,
.rb-skip-link:focus-visible{left:12px;top:12px;width:auto;height:auto;outline:2px solid var(--rb-white,#fff);outline-offset:2px}

/* v2.4.8 — newsletter GDPR consent checkbox */
.rb-newsletter-consent{display:flex;align-items:flex-start;gap:8px;margin-top:10px;font-size:.82rem;color:var(--rb-gray-600,var(--gray-600));line-height:1.45;text-align:left;flex-basis:100%}
.rb-newsletter-consent input[type="checkbox"]{margin-top:3px;accent-color:var(--rb-accent,var(--accent));flex-shrink:0}
.rb-newsletter-consent a{color:var(--rb-accent,var(--accent));text-decoration:underline}

/* v2.4.10 — h2 utility classes (cleanup from v2.4.8/v2.4.9 band-aids).
   Plus besoin de !important : le global h2{!important} a été démonté en
   v2.4.10 (refactor G05-b). La cascade naturelle suffit. */
h2.as-seen__eyebrow{
  font-family:var(--rb-sans,var(--sans));
  font-size:.7rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.22em;
  color:var(--rb-accent,var(--accent));
  text-align:center;
  margin-bottom:20px;
}

h2.meet-section__title,
h2.follow-section__title,
h2.email-cta__title,
h2.ebook-cta__title{
  font-family:var(--serif);
  font-size:clamp(1.4rem,1.1rem + 1vw,1.9rem);
  font-weight:700;
  color:var(--gray-900,var(--rb-gray-900,#111));
  text-align:center;
  letter-spacing:-.005em;
  line-height:1.2;
}

/* Focus-visible ring — WCAG 2.4.7 (v2.4.9). Root-cause cleanup G05 :
   tous les outline:none ont été supprimés des règles :focus, donc cette
   règle gagne par cascade naturelle, sans !important. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible{
  outline:3px solid var(--rb-accent,var(--accent));
  outline-offset:2px;
  border-radius:4px;
}

/* Sticky-header anchor offset — prevents heading jump targets from landing
   behind the 64px sticky <header>. */
:where(h1,h2,h3,h4,h5,h6,[id]){scroll-margin-top:88px}

/* Reading progress bar */
.rb-reading-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:99;pointer-events:none}
.rb-reading-progress__fill{height:100%;width:0;background:var(--rb-accent);transition:width .15s linear}

/* ============================================================
   TOP BAR (above header — email signup prompt)
   ============================================================ */
.rb-top-bar{background:var(--rb-gray-50);border-bottom:1px solid var(--rb-gray-200);padding:10px 24px;text-align:center;font-size:.85rem;color:var(--rb-gray-600)}
.rb-top-bar a{color:var(--rb-accent);font-weight:700;text-decoration:underline;text-underline-offset:2px}

/* ============================================================
   HEADER / NAV
   ============================================================ */
.rb-header{background:var(--rb-white);border-bottom:1px solid var(--rb-gray-200);position:sticky;top:0;z-index:100}
.rb-header-inner{max-width:var(--rb-max-w);margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:68px}
.rb-logo{font-family:var(--rb-serif);font-size:1.8rem;font-weight:700;color:var(--rb-gray-900);text-decoration:none;letter-spacing:-.02em}
.rb-logo span{color:var(--rb-accent)}
.rb-logo:hover{color:var(--rb-gray-900)}
.rb-nav{display:flex;gap:28px;align-items:center}
.rb-nav a{font-family:var(--rb-sans);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--rb-gray-700);text-decoration:none;padding:4px 0}
.rb-nav a:hover,.rb-nav a[aria-current="page"]{color:var(--rb-accent)}
.rb-nav-search{background:none;border:none;cursor:pointer;color:var(--rb-gray-600);padding:8px;display:flex;align-items:center}

@media(width <=768px){.rb-nav a:not(:first-child, :nth-child(2)){display:none}.rb-top-bar{font-size:.78rem}}

/* ============================================================
   BREADCRUMB
   ============================================================ */
.rb-breadcrumbs{max-width:var(--rb-max-w);margin:28px auto 0;padding:0 24px;font-size:.85rem;color:var(--rb-gray-900,#1a1a1a);font-weight:700;letter-spacing:.02em}
.rb-breadcrumbs a{color:var(--rb-gray-900,#1a1a1a);font-weight:700;text-decoration:none}
.rb-breadcrumbs a:hover{color:var(--rb-accent);text-decoration:underline}
.rb-breadcrumbs span.sep,
.rb-breadcrumbs .rb-breadcrumbs__sep{margin:0 14px;color:var(--rb-gray-500,#737373);font-weight:400}
.rb-breadcrumbs span[aria-current="page"]{color:var(--rb-gray-900,#1a1a1a);font-weight:700}

/* ============================================================
   HERO TAGLINE
   ============================================================ */
.hero-tagline-section{text-align:center;padding:48px 24px 32px}
.hero-tagline{font-family:var(--rb-serif);font-size:clamp(1.6rem,1.2rem + 1.8vw,2.4rem);font-weight:500;font-style:italic;color:var(--rb-gray-800);max-width:640px;margin:0 auto;line-height:1.35}
.hero-subtitle{font-family:var(--rb-sans);font-size:.95rem;color:var(--rb-gray-500);margin-top:12px;max-width:480px;margin-left:auto;margin-right:auto;line-height:1.6}

/* ============================================================
   HERO CATEGORY CARDS (6 pillars, gradient+emoji, no photo)
   ============================================================ */
.hero-cats{padding:0 24px 16px}

/* v2.4.73 — column count driven by --rb-hubs-count inline style (set in
   front-page.php from count($pillars)). Avoids the `auto-fit + minmax(200px,1fr)`
   regression where 6 hubs × 200px + gaps > container width, forcing 5+1. */
.hero-grid{display:grid;grid-template-columns:repeat(var(--rb-hubs-count, 6), minmax(0, 1fr));gap:14px;max-width:var(--rb-max-w);margin:0 auto}

@media(width <=900px){.hero-grid{grid-template-columns:repeat(3, minmax(0, 1fr))}}

@media(width <=560px){.hero-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}
.hero-cat{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:1/1;display:flex;align-items:flex-end;text-decoration:none;color:var(--rb-white);transition:transform .3s}
.hero-cat:hover{transform:translateY(-3px)}
.hero-cat__bg{position:absolute;inset:0;background:linear-gradient(155deg,var(--rb-pillar-accent,var(--rb-accent)) 0%,var(--rb-gray-900) 140%)}
.hero-cat__bg::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.18),transparent 60%)}
.hero-cat__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.hero-cat:hover .hero-cat__img{transform:scale(1.05)}
.hero-cat.hero-cat--photo .hero-cat__bg,.hero-cat.hero-cat--photo .hero-cat__emoji{display:none}
.hero-cat__emoji{position:absolute;top:16px;right:16px;font-size:2rem;opacity:.85;filter:drop-shadow(0 2px 6px rgba(0,0,0,.3));z-index:1}
.hero-cat::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.55) 0%,rgba(0,0,0,0) 55%);pointer-events:none}

/* v2.4.73 — premium hub label: larger serif, heavier weight, tighter
   letter-spacing, stronger drop-shadow for legibility on photo overlays. */
.hero-cat__label{position:relative;z-index:1;padding:26px 22px 22px;font-family:var(--rb-serif);font-size:1.5rem;font-weight:700;line-height:1.12;letter-spacing:-.015em;text-shadow:0 2px 10px rgba(0,0,0,.45);color:var(--rb-white)}
.view-all{display:block;text-align:center;margin:20px 0 0;font-size:.82rem;font-weight:700;color:var(--rb-accent);letter-spacing:.04em}
.view-all:hover{text-decoration:underline}

/* ============================================================
   CATEGORY CAROUSEL (emoji circles)
   ============================================================ */
.cat-carousel{padding:20px 24px 0}

/* v2.5.2 — switch from a fixed-width flex row (which overflowed past the
   container when 9 circles × 140px + gaps > 1200px, cropping the last
   circle) to a 9-column CSS grid. Circles now shrink to fit; max-width
   caps them on wide viewports so they never look cartoonishly big. */

/* v2.5.4 — tighter grid: 10px gap + 100px default circle + break-word
   on labels so a long tag name (e.g. "Pommes de terre") can never force
   its grid cell wider than its peers, which was clipping the 8th/9th
   circles on some viewports. */
.cat-row{max-width:var(--rb-max-w);margin:0 auto;display:grid;grid-template-columns:repeat(9, minmax(0, 1fr));gap:10px;padding:6px 0 12px}

@media(width <=900px){.cat-row{grid-template-columns:repeat(auto-fit, minmax(90px, 1fr))}}
.cat-item{text-align:center;text-decoration:none;color:var(--rb-gray-700);min-width:0}
.cat-item:hover .cat-circle{box-shadow:0 0 0 3px var(--rb-accent)}
.cat-circle{width:100%;aspect-ratio:1/1;max-width:var(--rb-tag-circle-size, 100px);border-radius:50%;margin:0 auto 10px;box-shadow:0 2px 8px rgba(0,0,0,.08);transition:box-shadow .2s;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,var(--rb-pillar-accent,var(--rb-accent)),var(--rb-gray-800));font-size:2.2rem;color:var(--rb-white,#fff);overflow:hidden}
.cat-circle--photo{background:var(--rb-gray-100)}
.cat-circle--photo img{width:100%;height:100%;object-fit:cover}
.cat-item span{font-size:.78rem;font-weight:700;color:var(--rb-gray-700);line-height:1.3;display:block;overflow-wrap:anywhere;word-break:break-word;hyphens:auto}

/* ============================================================
   AS SEEN IN
   ============================================================ */
.as-seen{text-align:center;padding:48px 24px}
.as-seen h6{font-family:var(--rb-sans);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.22em;color:var(--rb-gray-600);margin-bottom:20px}
.as-seen-logos{display:flex;justify-content:center;align-items:center;gap:36px;flex-wrap:wrap}
.as-seen-logos span{font-family:var(--rb-serif);font-size:1rem;font-weight:700;color:var(--rb-gray-800);font-style:italic;opacity:.35}

/* ============================================================
   LATEST POSTS
   ============================================================ */
.latest-section{padding:48px 24px 0;max-width:var(--rb-max-w);margin:0 auto}
.latest-section > h2{font-family:var(--rb-serif);font-size:1.8rem;font-weight:700;color:var(--rb-gray-900);margin-bottom:36px;text-align:center}
.latest-post{display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:center;margin-bottom:48px;padding-bottom:48px;border-bottom:1px solid var(--rb-gray-200)}
.latest-post:last-child{border-bottom:none}

@media(width <=700px){.latest-post{grid-template-columns:1fr}}
.latest-img{border-radius:12px;overflow:hidden;aspect-ratio:4/3;background:linear-gradient(145deg,var(--rb-gray-100),var(--rb-gray-300))}
.latest-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.latest-post:hover .latest-img img{transform:scale(1.03)}
.latest-date{font-size:.78rem;color:var(--rb-gray-500);margin-bottom:8px;font-weight:400;text-transform:uppercase;letter-spacing:.1em}
.latest-title{font-family:var(--rb-serif);font-size:1.5rem;font-weight:600;color:var(--rb-gray-900);margin-bottom:12px;line-height:1.3}
.latest-title a{color:inherit}
.latest-title a:hover{color:var(--rb-accent)}
.latest-desc{font-size:.95rem;color:var(--rb-gray-600);line-height:1.6;margin-bottom:16px}
.continue-reading{font-size:.82rem;font-weight:700;color:var(--rb-accent);text-transform:uppercase;letter-spacing:.1em}
.continue-reading:hover{text-decoration:underline}
.view-more{text-align:center;margin-top:12px}
.view-more a{font-size:.82rem;font-weight:700;color:var(--rb-accent);letter-spacing:.04em}

/* ============================================================
   COLLECTIONS (numbered pillar list)
   ============================================================ */
.rb-collections{padding:32px 24px 0;max-width:700px;margin:0 auto}
.rb-collections h2{font-family:var(--rb-serif);font-size:1.6rem;font-weight:700;text-align:center;margin-bottom:28px;color:var(--rb-gray-900)}
.coll-list{list-style:none;counter-reset:coll;padding:0;margin:0}
.coll-list li{counter-increment:coll}
.coll-list a{display:flex;align-items:center;padding:16px 0;border-bottom:1px solid var(--rb-gray-200);text-decoration:none;color:var(--rb-gray-800);transition:all .2s}
.coll-list a:hover{padding-left:8px;color:var(--rb-accent)}
.coll-list a::before{content:counter(coll,decimal-leading-zero);font-family:var(--rb-serif);font-size:1.3rem;font-weight:700;color:var(--rb-gray-300);width:44px;flex-shrink:0;text-align:center}
.coll-list a:hover::before{color:var(--rb-accent)}
.coll-name{font-family:var(--rb-serif);font-size:1.1rem;font-weight:600;flex:1}
.coll-count{font-size:.82rem;color:var(--rb-gray-600);font-weight:700;margin-left:12px}

/* ============================================================
   ABOUT / MEET THE WRITERS
   ============================================================ */
.about-section{padding:56px 24px;max-width:820px;margin:0 auto}
.about-card{text-align:center}
.about-photos{display:flex;gap:24px;justify-content:center;margin-bottom:28px;flex-wrap:wrap}
.about-team-photo{max-width:720px;margin:0 auto 28px;border-radius:16px;overflow:hidden;box-shadow:0 6px 24px rgba(0,0,0,.1)}
.about-team-photo img{display:block;width:100%;height:auto;object-fit:cover}
.author-chip{width:140px;height:140px;border-radius:50%;box-shadow:0 4px 16px rgba(0,0,0,.08);border:4px solid var(--rb-white);display:flex;align-items:center;justify-content:center;font-family:var(--rb-serif);font-size:2.4rem;font-weight:700;color:var(--rb-white);background:linear-gradient(145deg,var(--rb-accent),var(--rb-gray-900));overflow:hidden}
.author-chip img{width:100%;height:100%;object-fit:cover;display:block}
.about-card h3{font-family:var(--rb-serif);font-size:1.5rem;color:var(--rb-gray-900);margin-bottom:12px}
.about-card p{font-size:.95rem;color:var(--rb-gray-600);max-width:560px;margin:0 auto 20px;line-height:1.65}
.rb-btn{display:inline-block;padding:12px 36px;background:var(--rb-accent);color:var(--rb-white);font-family:var(--rb-sans);font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;border-radius:6px;text-decoration:none;border:none;cursor:pointer;transition:all .2s}
.rb-btn:hover{background:var(--rb-accent-hover);color:var(--rb-white);transform:translateY(-1px);box-shadow:0 4px 12px rgba(192,57,43,.25)}

/* ============================================================
   FOLLOW US
   ============================================================ */
.follow-section{text-align:center;padding:40px 24px}
.follow-section h3{font-family:var(--rb-serif);font-size:1.2rem;font-weight:600;color:var(--rb-gray-900);margin-bottom:20px}
.social-row{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}
/* v3.2.24 — social icons brand-locked: default state = --rb-colors-primary
   (canonical token, immune to seasonal palette). Hover = slightly darker. */
.social-link{display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;color:var(--rb-colors-primary,#2d6a4f);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em;transition:color .2s,opacity .2s}
.social-link:hover{color:var(--rb-colors-primary-hover,#1b4332);opacity:.85}
.social-link svg{width:22px;height:22px}

/* ============================================================
   EMAIL CTA BAND
   ============================================================ */
.email-cta{background:var(--rb-gray-50);padding:48px 24px;text-align:center;border-top:1px solid var(--rb-gray-200);border-bottom:1px solid var(--rb-gray-200)}
.email-cta h3{font-family:var(--rb-sans);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--rb-gray-500);margin-bottom:8px}
.email-cta p{font-family:var(--rb-serif);font-size:1.2rem;font-weight:500;color:var(--rb-gray-800);margin-bottom:24px}

/* v2.4.19 — newsletter input zone enlarged : previously too small for the
   email to breathe next to long CTAs. Input now min-width 260px + bigger
   padding + font-size 1rem. Form max-width up to 720px. */

/* v2.4.61 — input + button ALWAYS inline (no more stacked-on-mobile). Consent
   + error messages force to a new row via flex-basis:100%. */
.email-form{display:flex;flex-wrap:wrap;max-width:640px;margin:0 auto;gap:0;align-items:stretch}
.email-form input[type="email"]{flex:1 1 0;min-width:0;padding:12px 20px;border:1px solid var(--rb-gray-300);border-right:none;border-radius:6px 0 0 6px;font-family:var(--rb-sans);font-size:1rem;line-height:1.4;color:var(--rb-gray-800);background:var(--rb-white)}
.email-form input[type="email"]:focus{border-color:var(--rb-accent);outline:none}
.email-form input[type="email"]::placeholder{color:var(--rb-gray-400);opacity:1}
.email-form button[type="submit"]{flex-shrink:0;white-space:nowrap;padding:12px 24px;border-radius:0 6px 6px 0;background:var(--rb-accent);color:var(--rb-white);font-family:var(--rb-sans);font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;border:none;cursor:pointer;line-height:1.2}
.email-form button[type="submit"]:hover{background:var(--rb-accent-hover)}
.email-form button[disabled]{opacity:.65;cursor:not-allowed}
.email-form .rb-newsletter-consent{flex-basis:100%;margin-top:10px}
.email-form .rb-newsletter-error{flex-basis:100%;width:100%;margin-top:10px}

@media(width <=480px){
  .email-form button[type="submit"]{padding:12px 14px;font-size:.72rem;letter-spacing:.08em}
}

/* Newsletter AJAX states (v2.4.54) — success swap + inline error line */
.rb-newsletter-success{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;max-width:540px;margin:8px auto 0;padding:28px 24px;background:var(--rb-colors-surface-alt,#faf7f2);border:1px solid var(--rb-gray-200,var(--rb-gray-200,#e5e5e5));border-radius:12px;text-align:center}
.rb-newsletter-success__check{width:44px;height:44px;color:var(--rb-colors-success,#15803d)}
.rb-newsletter-success__headline{font-family:var(--rb-serif,Georgia);font-size:1.35rem;font-weight:700;color:var(--rb-gray-900,var(--rb-gray-900,#111));margin:2px 0 0}
.rb-newsletter-success__subtext{font-family:var(--rb-sans,system-ui);font-size:.95rem;color:var(--rb-gray-700,var(--rb-gray-700,#444));margin:0;max-width:420px;line-height:1.45}
.rb-newsletter-error{grid-column:1/-1;flex-basis:100%;margin:10px 0 0;padding:8px 14px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:var(--rb-colors-danger,#991b1b);font-size:.88rem;font-family:var(--rb-sans,system-ui);text-align:center}

/* ============================================================
   CARD GRID (reusable)
   ============================================================ */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:var(--rb-max-w);margin:0 auto}

@media(width <=900px){.card-grid{grid-template-columns:repeat(2,1fr)}}

@media(width <=560px){.card-grid{grid-template-columns:1fr}}
.card{text-decoration:none;color:var(--rb-gray-800);display:flex;flex-direction:column;transition:transform .25s ease}
.card:hover{transform:translateY(-4px)}
.card:hover .card-img{box-shadow:0 6px 18px rgba(0,0,0,.08)}
.card-img{border-radius:12px;overflow:hidden;aspect-ratio:4/3;background:linear-gradient(145deg,var(--rb-gray-100),var(--rb-gray-300));margin-bottom:14px;transition:box-shadow .2s;position:relative}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.card:hover .card-img img{transform:scale(1.03)}
.card-img__emoji{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;color:var(--rb-white);background:linear-gradient(145deg,var(--rb-pillar-accent,var(--rb-accent)),var(--rb-gray-900))}
.card-tag{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--rb-accent);margin-bottom:6px}
.card-title{font-family:var(--rb-serif);font-size:1.1rem;font-weight:600;line-height:1.3;color:var(--rb-gray-900);margin-bottom:6px}
.card-meta{font-size:.78rem;color:var(--rb-gray-500);display:flex;gap:10px;align-items:center}
.card-meta .dot{width:3px;height:3px;background:var(--rb-gray-400);border-radius:50%}

/* ============================================================
   EBOOK CTA
   ============================================================ */
.ebook-cta{padding:56px 24px;text-align:center;max-width:640px;margin:0 auto}
.ebook-cta h3{font-family:var(--rb-serif);font-size:1.4rem;font-weight:600;color:var(--rb-gray-900);margin-bottom:12px}
.ebook-cta p{font-size:.92rem;color:var(--rb-gray-600);max-width:480px;margin:0 auto 24px;line-height:1.6}

/* ============================================================
   SECTION HEADER HELPER
   ============================================================ */
.rb-section{padding:48px 24px}
.rb-section__eyebrow{font-family:var(--rb-sans);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.2em;color:var(--rb-accent);margin-bottom:10px;text-align:center}
.rb-section__title{font-family:var(--rb-serif);font-size:2rem;font-weight:700;color:var(--rb-gray-900);text-align:center;line-height:1.2;margin-bottom:10px}
.rb-section__lede{font-family:var(--rb-sans);color:var(--rb-gray-600);text-align:center;max-width:540px;margin:0 auto 32px;line-height:1.6}

/* ============================================================
   ARTICLE BODY
   ============================================================ */
.rb-article-body{max-width:var(--rb-content-w);margin:0 auto;padding:0 24px 40px;font-size:1.06rem;line-height:1.78;color:var(--rb-gray-800)}
.rb-article-body p{margin-bottom:1.25em}
.rb-article-body h2{font-family:var(--rb-serif);font-size:2rem;font-weight:700;color:var(--rb-gray-900);margin:2.4em 0 .6em;line-height:1.2}
.rb-article-body h2::before{content:'';display:block;width:44px;height:3px;background:var(--rb-accent);margin-bottom:18px;border-radius:2px}
.rb-article-body h3{font-family:var(--rb-serif);font-size:1.4rem;font-weight:600;color:var(--rb-gray-900);margin:1.8em 0 .5em}
.rb-article-body a{color:var(--rb-accent);text-decoration:underline;text-underline-offset:3px}
.rb-article-body ul,.rb-article-body ol{margin:1em 0 1.4em 1.4em}
.rb-article-body li{margin-bottom:.5em}
.rb-article-body blockquote{border-left:4px solid var(--rb-accent);padding:4px 0 4px 22px;margin:1.6em 0;font-family:var(--rb-serif);font-style:italic;font-size:1.2rem;color:var(--rb-gray-700)}

/* ============================================================
   SAFETY DISCLAIMER
   ============================================================ */
.rb-safety{max-width:800px;margin:0 auto;padding:24px 28px;border:1.5px solid var(--rb-gray-200);border-radius:10px;background:var(--rb-gray-50);font-family:var(--rb-sans);font-style:italic;font-size:.9rem;color:var(--rb-gray-600);text-align:center;line-height:1.6}
.rb-safety strong{font-style:normal;color:var(--rb-gray-900);font-weight:900;margin-right:4px}

/* ============================================================
   FOOTER
   ============================================================ */
.rb-footer{background:var(--rb-gray-900);color:var(--rb-gray-300);padding:56px 24px 0;margin-top:48px}
.rb-footer-inner{max-width:var(--rb-max-w);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding-bottom:40px;border-bottom:1px solid var(--rb-gray-700,#3a3a3a)}
.rb-footer-col h4{font-family:var(--rb-sans);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.16em;color:var(--rb-white);margin-bottom:18px}
.rb-footer-col ul{list-style:none;padding:0;margin:0}
.rb-footer-col li{margin-bottom:10px}
.rb-footer-col a{color:var(--rb-gray-300);font-size:.9rem;text-decoration:none}
.rb-footer-col a:hover{color:var(--rb-accent-light)}
.rb-footer-social{text-align:center;padding:30px 0;border-bottom:1px solid var(--rb-gray-700,#3a3a3a)}
.rb-footer-social .social-row{justify-content:center;gap:28px}
.rb-footer-social .social-link{color:var(--rb-gray-300);flex-direction:row}
.rb-footer-social .social-link:hover{color:var(--rb-accent-light)}
.rb-footer-bottom{padding:22px 0;text-align:center;font-size:.82rem;color:var(--rb-gray-500);max-width:var(--rb-max-w);margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.rb-footer-bottom .rb-logo{color:var(--rb-white);font-size:1.3rem}
.rb-footer-bottom .rb-logo span{color:var(--rb-accent)}
.rb-footer-bottom a{color:var(--rb-gray-400)}
.rb-footer-bottom a:hover{color:var(--rb-accent-light)}

@media(width <=720px){.rb-footer-inner{grid-template-columns:1fr;gap:28px}.rb-footer-bottom{flex-direction:column}}

/* ============================================================
   BACK TO TOP
   ============================================================ */
/* v3.2.25 — Floating Back-to-top FAB brand-locked: primary background by
   default (not gray-900). Hover slightly darker via primary-hover. */
.rb-back-to-top{position:fixed;bottom:24px;right:24px;width:44px;height:44px;border-radius:50%;background:var(--rb-colors-primary,#2d6a4f);color:var(--rb-white);border:none;cursor:pointer;display:none;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.2);z-index:90;transition:all .2s}
.rb-back-to-top:hover{background:var(--rb-colors-primary-hover,#1b4332);transform:translateY(-2px)}
.rb-back-to-top.visible{display:flex}
.rb-back-to-top svg{width:18px;height:18px}

/* ============================================================
   COOKIE BANNER
   ============================================================ */
.rb-cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--rb-gray-900);color:var(--rb-gray-100);padding:16px 24px;box-shadow:0 -4px 20px rgba(0,0,0,.15);z-index:95;display:flex;align-items:center;gap:20px;flex-wrap:wrap;justify-content:center}
.rb-cookie-banner p{margin:0;font-size:.88rem;max-width:560px;line-height:1.5}
.rb-cookie-banner a{color:var(--rb-accent-light);text-decoration:underline}
.rb-cookie-banner-actions{display:flex;gap:10px}
.rb-cookie-accept,.rb-cookie-reject{padding:10px 20px;font-family:var(--rb-sans);font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em;border:none;border-radius:6px;cursor:pointer}
.rb-cookie-accept{background:var(--rb-accent);color:var(--rb-white)}
.rb-cookie-accept:hover{background:var(--rb-accent-hover)}
.rb-cookie-reject{background:transparent;color:var(--rb-gray-300);border:1.5px solid var(--rb-gray-600)}
.rb-cookie-reject:hover{border-color:var(--rb-white);color:var(--rb-white)}

/* ============================================================
   ADSENSE SLOTS
   ============================================================ */
.rb-ad-slot{margin:32px auto;text-align:center;max-width:var(--rb-content-w)}
.rb-ad-slot:empty{display:none}

/* ============================================================
   PRINT
   ============================================================ */

/* v2.4.16 L05 : print CSS consolidated into a single block at line ~670.
   This stub kept blank to preserve line numbering during refactor. */

/* ================================================================
   SINGLE POST (single.php)
   ================================================================ */

/* ============================================================
   ThemeBend — Single-post CSS additions (editorial direction)
   Extracted from the single-post reference preview.

   Maps the preview's raw tokens (--accent, --gray-*, --serif, --sans,
   --content-w, --gold) onto the theme's canonical --rb-* tokens defined
   in assets/styles.css (:root block). No tokens are redefined here.

   Excluded (already styled elsewhere):
   - Top-bar / header / nav / footer           → styles.css (.rb-* chrome)
   - WPRM .wprm-recipe-* classes               → assets/wprm-overrides.css
   - .email-cta / .email-form                  → styles.css (shared with front-page)

   New classes (no rb- prefix — template-scoped, no collisions):
   .article-head .article-category .article-title .article-subtitle
   .byline .author-avatar .byline-info .byline-meta .byline-dot
   .rating-row .stars .quick-actions .qa-btn
   .hero-image .article-body .toc-box .toc-list
   .callout .snippet-table .body-img
   .faq-section .faq-item .faq-q .faq-a
   .author-box .related .related-grid .related-card
   .comments .comment-form .comment-list .comment .comment-avatar
   .rb-floating-jump .rb-mode-badge
   ============================================================ */

/* ------------------------------------------------------------
   BREADCRUMB narrow-column override (single articles only)
   The global .rb-breadcrumbs helper uses the wide container;
   on single-article templates we drop it into the 740px column.
   ------------------------------------------------------------ */
.rb-single-main .rb-breadcrumbs{max-width:var(--rb-content-w);margin:28px auto 0;padding:0 24px}

.rb-single-main .rb-breadcrumbs span.sep,
.rb-single-main .rb-breadcrumbs .rb-breadcrumbs__sep{margin:0 14px;color:var(--rb-gray-500,#737373);font-weight:400}

/* ------------------------------------------------------------
   ARTICLE HEAD — category / title / subtitle / byline / ratings
   ------------------------------------------------------------ */
.article-head{max-width:var(--rb-content-w);margin:14px auto 0;padding:0 24px}
.article-category{display:inline-block;font-size:.72rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--rb-accent);padding:4px 0;margin-bottom:16px;border-bottom:2px solid var(--rb-accent);text-decoration:none;transition:opacity .2s}
a.article-category:hover{opacity:.75}
.article-title{font-family:var(--rb-serif);font-size:clamp(2rem,1.4rem + 2.4vw,3rem);font-weight:700;line-height:1.15;color:var(--rb-gray-900);letter-spacing:-.01em;margin:0 0 18px}
.article-subtitle{font-family:var(--rb-serif);font-style:italic;font-weight:400;color:var(--rb-gray-600);font-size:1.15rem;line-height:1.5;margin:0 0 24px}

/* Byline row */
.byline{display:flex;align-items:center;flex-wrap:wrap;gap:18px 24px;padding:18px 0;border-top:1px solid var(--rb-gray-200);border-bottom:1px solid var(--rb-gray-200);margin-bottom:10px}
.author-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0;box-shadow:0 2px 6px rgba(0,0,0,.08);display:block}
.author-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.byline-info{display:flex;flex-direction:column;gap:2px;font-size:.85rem}
.byline-info .by{color:var(--rb-gray-500);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.byline-info .author-name{font-weight:700;color:var(--rb-gray-900);font-size:.92rem}
.byline-info .author-name a{color:var(--rb-gray-900);border-bottom:1px dotted var(--rb-gray-400)}
.byline-info .author-name a:hover{color:var(--rb-accent);border-bottom-color:var(--rb-accent)}
.byline-meta{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--rb-gray-500);margin-top:2px;flex-wrap:wrap}
.byline-meta svg{width:12px;height:12px;opacity:.6}
.byline-dot{width:3px;height:3px;background:var(--rb-gray-400);border-radius:50%;display:inline-block}

/* Rating row */
.rating-row{display:flex;align-items:center;gap:12px;margin-left:auto;font-size:.88rem;color:var(--rb-gray-700)}
.stars{display:inline-flex;gap:2px;color:var(--rb-gold)}
.stars svg{width:16px;height:16px}
.rating-row .reviews{font-weight:700;color:var(--rb-gray-800)}
.rating-row .reviews a{color:var(--rb-gray-700);border-bottom:1px dotted var(--rb-gray-400)}

/* Quick-action pill bar */
.quick-actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 22px}
.qa-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:1.5px solid var(--rb-gray-800);background:var(--rb-white);color:var(--rb-gray-900);font-family:var(--rb-sans);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.14em;border-radius:999px;cursor:pointer;transition:all .2s;text-decoration:none}
.qa-btn:hover{background:var(--rb-gray-900);color:var(--rb-white)}
.qa-btn.primary{background:var(--rb-accent);border-color:var(--rb-accent);color:var(--rb-white)}
.qa-btn.primary:hover{background:var(--rb-accent-hover);border-color:var(--rb-accent-hover);color:var(--rb-white)}
.qa-btn svg{width:14px;height:14px}

/* ------------------------------------------------------------
   HERO IMAGE
   ------------------------------------------------------------ */
.hero-image{max-width:var(--rb-content-w);margin:8px auto 36px;padding:0 24px}
.hero-image figure{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 4px 24px rgba(0,0,0,.08)}
.hero-image img{width:100%;height:100%;object-fit:cover}
.hero-image figcaption{font-family:var(--rb-serif);font-style:italic;font-size:.85rem;color:var(--rb-gray-500);text-align:center;margin-top:12px}

/* ------------------------------------------------------------
   ARTICLE BODY
   ------------------------------------------------------------ */
.article-body{max-width:var(--rb-content-w);margin:0 auto;padding:0 24px 40px;font-size:1.06rem;line-height:1.78;color:var(--rb-gray-800)}
.article-body p{margin:0 0 1.25em}
.article-body p strong{color:var(--rb-gray-900);font-weight:700}
.article-body h2{font-family:var(--rb-serif);font-size:2rem;font-weight:700;color:var(--rb-gray-900);margin:2.4em 0 .6em;line-height:1.2;letter-spacing:-.01em;scroll-margin-top:88px}
.article-body h2::before{content:'';display:block;width:44px;height:3px;background:var(--rb-accent);margin-bottom:18px;border-radius:2px}
.article-body h3{font-family:var(--rb-serif);font-size:1.4rem;font-weight:600;color:var(--rb-gray-900);margin:1.8em 0 .5em;line-height:1.3}
.article-body ul,.article-body ol{margin:1em 0 1.4em 1.4em;padding-left:0}
.article-body li{margin-bottom:.5em;padding-left:.4em}
.article-body ul li::marker{color:var(--rb-accent)}
.article-body ol li::marker{color:var(--rb-accent);font-weight:700}
.article-body blockquote{border-left:4px solid var(--rb-accent);padding:4px 0 4px 22px;margin:1.6em 0;font-family:var(--rb-serif);font-style:italic;font-size:1.2rem;color:var(--rb-gray-700);line-height:1.5}
.article-body a{color:var(--rb-accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px;text-decoration-color:rgba(192,57,43,.35)}
.article-body a:hover{text-decoration-color:var(--rb-accent)}

/* Inline body image (for figure blocks within the_content) */
.body-img{margin:2em 0}
.body-img figure{border-radius:12px;overflow:hidden}
.body-img img{width:100%;aspect-ratio:16/10;object-fit:cover}
.body-img figcaption{font-family:var(--rb-serif);font-style:italic;font-size:.85rem;color:var(--rb-gray-500);text-align:center;margin-top:10px}

/* Callout box (key tip / warning) */
.callout{background:var(--rb-accent-bg);border-left:4px solid var(--rb-accent);padding:20px 24px;border-radius:0 10px 10px 0;margin:2em 0}
.callout-title{font-family:var(--rb-sans);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.16em;color:var(--rb-accent);margin-bottom:10px;display:flex;align-items:center;gap:8px}
.callout-title svg{width:16px;height:16px}
.callout p{margin-bottom:0;font-size:1rem;color:var(--rb-gray-800)}

/* Snippet-optimized table (temps & times) */
.snippet-table{margin:2em 0;border-radius:12px;overflow:hidden;border:1px solid var(--rb-gray-200);box-shadow:0 2px 12px rgba(0,0,0,.04)}
.snippet-table table{width:100%;border-collapse:collapse;font-size:.96rem}
.snippet-table thead{background:var(--rb-gray-900);color:var(--rb-white)}
.snippet-table th{padding:14px 18px;text-align:left;font-family:var(--rb-sans);font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.14em}
.snippet-table td{padding:14px 18px;border-top:1px solid var(--rb-gray-200);color:var(--rb-gray-800)}
.snippet-table tbody tr:nth-child(even){background:var(--rb-gray-50)}
.snippet-table tbody tr:hover{background:var(--rb-accent-bg)}
.snippet-table td:first-child{font-weight:700;color:var(--rb-gray-900)}
.snippet-table td .chip{display:inline-block;background:var(--rb-accent-light);color:var(--rb-accent);padding:2px 10px;border-radius:99px;font-size:.78rem;font-weight:700}

/* TOC — rendered inside .article-body by rb_render_toc() (filter on the_content). */
.toc-box{background:var(--rb-gray-50);border:1px solid var(--rb-gray-200);border-radius:12px;padding:22px 24px;margin:1.5em 0 2em}
.toc-title{font-family:var(--rb-sans);font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.18em;color:var(--rb-gray-500);margin-bottom:12px}
.toc-list{list-style:none;margin:0;padding:0;columns:2;column-gap:32px}
.toc-list li{padding:4px 0;break-inside:avoid}
.toc-list a{color:var(--rb-gray-800);font-size:.95rem;font-weight:500;text-decoration:none;border-bottom:1px dashed var(--rb-gray-300)}
.toc-list a:hover{color:var(--rb-accent);border-bottom-color:var(--rb-accent)}
.toc-list a::before{content:'→ ';color:var(--rb-accent);font-weight:700}

@media(width <=640px){.toc-list{columns:1}}

/* Also map the rb_render_toc() output (nav.rb-toc > ol.rb-toc-list) to the
   new TOC look, so content rendered by the existing helper gets the PoY box
   even though it emits .rb-toc classes, not .toc-box. */
.article-body .rb-toc{background:var(--rb-gray-50);border:1px solid var(--rb-gray-200);border-radius:12px;padding:22px 24px;margin:1.5em 0 2em}
.article-body .rb-toc-title{font-family:var(--rb-sans);font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.18em;color:var(--rb-gray-500);margin-bottom:12px}
.article-body .rb-toc-list{list-style:none;margin:0;padding:0;columns:2;column-gap:32px}
.article-body .rb-toc-list li{padding:4px 0;break-inside:avoid;padding-left:0}
.article-body .rb-toc-list li::marker{content:''}
.article-body .rb-toc-list a{color:var(--rb-gray-800);font-size:.95rem;font-weight:500;text-decoration:none;border-bottom:1px dashed var(--rb-gray-300)}
.article-body .rb-toc-list a:hover{color:var(--rb-accent);border-bottom-color:var(--rb-accent)}
.article-body .rb-toc-list a::before{content:'→ ';color:var(--rb-accent);font-weight:700}

@media(width <=640px){.article-body .rb-toc-list{columns:1}}

/* ------------------------------------------------------------
   FAQ SECTION  (authors opt-in via [rb_faq] shortcode)
   Emitted inside article-body OR as free block; style both.
   ------------------------------------------------------------ */
.faq-section{max-width:var(--rb-content-w);margin:3em auto 2em;padding:0 24px}
.faq-section h2{font-family:var(--rb-serif);font-size:2rem;font-weight:700;color:var(--rb-gray-900);margin-bottom:8px;line-height:1.2}
.faq-section h2::before{content:'';display:block;width:44px;height:3px;background:var(--rb-accent);margin-bottom:18px;border-radius:2px}
.faq-subtitle{color:var(--rb-gray-600);font-size:.98rem;margin-bottom:24px}
.faq-item{border-bottom:1px solid var(--rb-gray-200);padding:20px 0}
.faq-item:first-of-type{border-top:1px solid var(--rb-gray-200)}
.faq-q{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;cursor:pointer;font-family:var(--rb-serif);font-size:1.22rem;font-weight:600;color:var(--rb-gray-900);line-height:1.35;list-style:none}
.faq-q::-webkit-details-marker{display:none}
.faq-q::after{content:'+';color:var(--rb-accent);font-size:1.6rem;font-weight:300;flex-shrink:0;line-height:1;transition:transform .2s;font-family:var(--rb-sans)}
.faq-item[open] .faq-q::after{transform:rotate(45deg)}
.faq-a{margin-top:14px;color:var(--rb-gray-700);line-height:1.7;font-size:1rem}
.faq-a p{margin-bottom:.8em}
.faq-a p:last-child{margin-bottom:0}

/* ------------------------------------------------------------
   AUTHOR BOX (bottom of article)
   ------------------------------------------------------------ */
.author-box{max-width:var(--rb-content-w);margin:3em auto 2em;padding:0 24px}
.author-box-inner{background:var(--rb-gray-50);border-radius:14px;padding:32px;display:grid;grid-template-columns:120px 1fr;gap:28px;align-items:center}
.author-box-inner--no-avatar{grid-template-columns:1fr}
.author-box-avatar{width:120px;height:120px;border-radius:50%;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.1)}
.author-box-avatar img{width:100%;height:100%;object-fit:cover}
.author-box .label{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.18em;color:var(--rb-accent);margin-bottom:6px}
.author-box h4{font-family:var(--rb-serif);font-size:1.6rem;font-weight:700;color:var(--rb-gray-900);margin:0 0 6px;line-height:1.2}
.author-box p{font-size:.98rem;color:var(--rb-gray-700);line-height:1.6;margin:0 0 12px}
.author-box-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:.82rem}
.author-box-meta a{color:var(--rb-accent);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;border-bottom:1px solid var(--rb-accent)}

@media(width <=640px){.author-box-inner{grid-template-columns:1fr;text-align:center}.author-box-avatar{margin:0 auto}.author-box-meta{justify-content:center}}

/* ------------------------------------------------------------
   RELATED POSTS grid (4 cards)
   ------------------------------------------------------------ */
.related{max-width:var(--rb-max-w);margin:4em auto 2em;padding:0 24px}
.related-header{text-align:center;margin-bottom:32px}
.related-eyebrow{font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.2em;color:var(--rb-accent);margin-bottom:10px}
.related h2{font-family:var(--rb-serif);font-size:2.2rem;font-weight:700;color:var(--rb-gray-900)}
.related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}

@media(width <=900px){.related-grid{grid-template-columns:repeat(2,1fr)}}

@media(width <=520px){.related-grid{grid-template-columns:1fr}}
.related-card{text-decoration:none;color:inherit;display:block;transition:transform .2s}
.related-card:hover{transform:translateY(-4px)}
.related-card figure{border-radius:12px;overflow:hidden;aspect-ratio:4/3;margin:0 0 14px;box-shadow:0 2px 12px rgba(0,0,0,.06)}
.related-card img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.related-card:hover img{transform:scale(1.05)}
.related-card .tag{font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.14em;color:var(--rb-accent);margin-bottom:6px;display:block}
.related-card h3{font-family:var(--rb-serif);font-size:1.08rem;font-weight:600;color:var(--rb-gray-900);line-height:1.3;margin:0 0 6px}
.related-card .meta{font-size:.8rem;color:var(--rb-gray-500);margin:0}

/* ------------------------------------------------------------
   COMMENTS / REVIEW BLOCK
   Native comments_template() emits .comment-list, .comment,
   .comment-form etc. — our styles target both those classes AND
   the preview's lighter shape (stars-input / star-picker).
   ------------------------------------------------------------ */
.comments{max-width:var(--rb-content-w);margin:3em auto;padding:0 24px}

.comments h2,
.comments .comments-title,
.comments #reply-title{font-family:var(--rb-serif);font-size:2rem;font-weight:700;color:var(--rb-gray-900);margin-bottom:8px}

.comments h2::before,
.comments .comments-title::before,
.comments #reply-title::before{content:'';display:block;width:44px;height:3px;background:var(--rb-accent);margin-bottom:18px;border-radius:2px}
.comments-intro{color:var(--rb-gray-600);margin-bottom:24px}
.comment-form{background:var(--rb-gray-50);border-radius:12px;padding:26px;margin-bottom:28px}
.comment-form .stars-input{margin-bottom:14px}
.comment-form .stars-input .label-small{font-size:.8rem;font-weight:700;color:var(--rb-gray-700);margin-bottom:6px;display:block}
.comment-form .star-picker{display:inline-flex;gap:3px;font-size:1.6rem;color:var(--rb-gray-300);cursor:pointer}

.comment-form .star-picker span:hover,
.comment-form .star-picker span.filled{color:var(--rb-gold)}

.comment-form textarea,
.comment-form .comment-form-comment textarea{width:100%;border:1.5px solid var(--rb-gray-300);border-radius:8px;padding:12px 14px;font-family:var(--rb-sans);font-size:.95rem;resize:vertical;min-height:90px;background:var(--rb-white)}
.comment-form textarea:focus{border-color:var(--rb-accent)}
.comment-form .row{display:flex;gap:10px;margin-top:10px}

.comment-form .row input,
.comment-form p.comment-form-author input,
.comment-form p.comment-form-email input,
.comment-form p.comment-form-url input{flex:1;border:1.5px solid var(--rb-gray-300);border-radius:8px;padding:10px 14px;font-family:var(--rb-sans);font-size:.9rem;background:var(--rb-white)}

.comment-form .row input:focus,
.comment-form p input[type="text"]:focus,
.comment-form p input[type="email"]:focus,
.comment-form p input[type="url"]:focus{border-color:var(--rb-accent)}

.comment-form button,
.comment-form .submit,
.comment-form input[type="submit"]{margin-top:14px;background:var(--rb-accent);color:var(--rb-white);border:none;padding:12px 26px;border-radius:8px;font-family:var(--rb-sans);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.14em;cursor:pointer}

.comment-form button:hover,
.comment-form .submit:hover,
.comment-form input[type="submit"]:hover{background:var(--rb-accent-hover)}

/* Comment list — works for both preview markup (.comment-list .comment with
   .comment-avatar initials) and WP's native comment-list ol. */
.comment-list{list-style:none;margin:0;padding:0}
.comment-list .comment{display:grid;grid-template-columns:48px 1fr;gap:14px;padding:18px 0;border-bottom:1px solid var(--rb-gray-200);list-style:none}
.comment-list .children{list-style:none;margin:0;padding-left:20px;border-left:2px solid var(--rb-gray-200)}
.comment-avatar{width:48px;height:48px;border-radius:50%;background:var(--rb-accent-light);display:flex;align-items:center;justify-content:center;font-family:var(--rb-serif);font-weight:700;color:var(--rb-accent);font-size:1.1rem}
.comment-list .avatar{width:48px;height:48px;border-radius:50%;object-fit:cover}

.comment-name,
.comment-list .fn{font-weight:900;font-size:.95rem;color:var(--rb-gray-900);font-style:normal}
.comment-meta{font-size:.78rem;color:var(--rb-gray-500);margin-bottom:6px}
.comment-meta .stars{color:var(--rb-gold);margin-right:6px}

.comment-text,
.comment-list .comment-body p{font-size:.95rem;color:var(--rb-gray-800);line-height:1.6}

/* ------------------------------------------------------------
   FLOATING JUMP TO ANCHOR (mobile only — single posts)
   ------------------------------------------------------------ */
.rb-floating-jump{position:fixed;bottom:20px;right:20px;background:var(--rb-accent);color:var(--rb-white);padding:12px 20px;border-radius:99px;font-family:var(--rb-sans);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em;box-shadow:0 6px 20px rgba(192,57,43,.35);text-decoration:none;z-index:99;display:none;align-items:center;gap:8px}
.rb-floating-jump:hover{background:var(--rb-accent-hover);color:var(--rb-white)}
.rb-floating-jump svg{width:14px;height:14px}

@media(width <=900px){.rb-floating-jump{display:inline-flex}}

/* ------------------------------------------------------------
   COOK-MODE BADGE (toggled by JS)
   ------------------------------------------------------------ */
.rb-mode-badge{display:none;position:fixed;top:80px;right:20px;background:var(--rb-gray-900);color:var(--rb-white);padding:10px 16px;border-radius:99px;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.14em;z-index:99;box-shadow:0 4px 14px rgba(0,0,0,.2)}

.rb-mode-badge.active,
body.rb-cook-mode .rb-mode-badge{display:inline-block}
.rb-mode-badge span{color:var(--rb-gold)}

/* Cook Mode — immersive reading mode (v2.4.5).
   Dims site chrome + sidebars, keeps article + WPRM card front-and-centre.
   Activated by JS toggling body.rb-cook-mode. Esc or second click exits. */
body.rb-cook-mode .rb-top-bar,
body.rb-cook-mode .rb-header,
body.rb-cook-mode .rb-footer,
body.rb-cook-mode .related,
body.rb-cook-mode .email-cta,
body.rb-cook-mode .comments,
body.rb-cook-mode .author-box,
body.rb-cook-mode .faq-section,
body.rb-cook-mode .latest-with-sidebar__grid > .sidebar-col,
body.rb-cook-mode .rb-floating-jump{opacity:.08;filter:grayscale(1);pointer-events:none;transition:opacity .25s,filter .25s}
body.rb-cook-mode .quick-actions .qa-btn[data-rb-mode-toggle]{background:var(--rb-accent);color:var(--rb-white,#fff);border-color:var(--rb-accent)}
body.rb-cook-mode .article-body{font-size:1.15rem;line-height:1.85}

@media (prefers-reduced-motion: reduce){
  body.rb-cook-mode .rb-top-bar,
  body.rb-cook-mode .rb-header,
  body.rb-cook-mode .rb-footer,
  body.rb-cook-mode .related,
  body.rb-cook-mode .email-cta,
  body.rb-cook-mode .comments,
  body.rb-cook-mode .author-box,
  body.rb-cook-mode .faq-section,
  body.rb-cook-mode .latest-with-sidebar__grid > .sidebar-col,
  body.rb-cook-mode .rb-floating-jump{transition:none}
}

/* ------------------------------------------------------------
   EMAIL-CTA tweaks — the base .email-cta/.email-form lives in
   styles.css (shared with front-page). The single-article version
   wants a larger serif heading + paragraph. Scoped to single.
   ------------------------------------------------------------ */
.rb-single-main .email-cta{padding:56px 24px;margin-top:3em}
.rb-single-main .email-cta h3{font-family:var(--rb-serif);font-size:1.9rem;font-weight:700;color:var(--rb-gray-900);margin-bottom:10px;text-transform:none;letter-spacing:0}
.rb-single-main .email-cta p{font-family:var(--rb-sans);font-size:1rem;color:var(--rb-gray-600);max-width:540px;margin:0 auto 20px;font-style:normal;font-weight:400}
.rb-single-main .email-form{max-width:440px;gap:8px}
.rb-single-main .email-form input{border:2px solid var(--rb-gray-300);border-radius:6px;padding:12px 36px}
.rb-single-main .email-form input:focus{border-color:var(--rb-accent)}
.rb-single-main .email-form button{padding:12px 36px;border-radius:6px}

@media(width <=500px){.rb-single-main .email-form{flex-direction:column}}

/* ------------------------------------------------------------
   PRINT STYLES — hide chrome, keep article body.
   ------------------------------------------------------------ */

/* Print CSS — single consolidated block (v2.4.16 L05) */
@media print{
  /* Hide all chrome, ads, interactive controls, social/CTA blocks */
  .top-bar,.rb-top-bar,.header,.rb-header,.nav,.rb-nav,.nav-search,.nav-search-panel,
  .footer,.rb-footer,.footer-social,.social-row,
  .back-to-top,.rb-back-to-top,
  .rb-cookie-banner,.cookie-banner,
  .email-cta,.ebook-cta,.follow-section,
  .quick-actions,.related,.related-grid,.comments,
  .rb-floating-jump,.rb-mode-badge,
  .rb-ad-slot,.adsbygoogle,
  .sidebar-promo-card,.sidebar-collections,
  .rb-skip-link,
  .faq-item:not([open]){display:none !important}

  /* Article body — full width, black ink, no shadows */
  body{font-size:11pt;color:var(--rb-colors-neutral-900,#1a1a1a);background:var(--rb-white,#fff)}
  .article-body,.rb-article-body,.rb-single-main{max-width:none;padding:0;margin:0}
  a{color:var(--rb-colors-neutral-900,#1a1a1a);text-decoration:underline}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt;color:var(--rb-gray-700,#555)}
  img{max-width:100%;page-break-inside:avoid}
  h1,h2,h3{page-break-after:avoid;color:var(--rb-colors-neutral-900,#1a1a1a)}
  blockquote,pre{page-break-inside:avoid}
}

/* ================================================================
   AUTHOR PAGE (author.php)
   ================================================================ */

/* ============================================================
   ThemeBend — author.php styles (editorial direction)

   Staging file. Merge into assets/styles.css before shipping.
   Pulled from the author-page reference preview.
   Only includes classes NOT already in styles.css (no .rb-header,
   .rb-footer, .email-cta, .social-row, .card-grid, .card, .rb-btn).
   ============================================================ */

/* ================== AUTHOR HERO ================== */
.author-hero{max-width:var(--rb-max-w);margin:28px auto 0;padding:0 24px}
.author-hero-inner{display:grid;grid-template-columns:280px 1fr;gap:48px;align-items:start;padding:36px 0}

@media(width <=820px){.author-hero-inner{grid-template-columns:1fr;gap:28px;text-align:left}}

.author-photo-wrap{position:relative}
.author-photo{width:280px;height:280px;border-radius:50%;overflow:hidden;box-shadow:0 8px 28px rgba(0,0,0,.12);border:6px solid var(--rb-white);position:relative;background:var(--rb-gray-100)}
.author-photo img{width:100%;height:100%;object-fit:cover}
.author-photo-initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:var(--rb-serif);font-weight:700;font-size:5rem;color:var(--rb-white);background:linear-gradient(145deg,var(--rb-accent),var(--rb-gray-900));letter-spacing:.02em}
.author-photo-badge{position:absolute;bottom:12px;right:12px;background:var(--rb-accent);color:var(--rb-white);padding:8px 14px;border-radius:99px;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.16em;box-shadow:0 4px 12px rgba(192,57,43,.35);max-width:90%}

@media(width <=820px){
  .author-photo{width:200px;height:200px;margin:0 auto 8px}
  .author-photo-initials{font-size:3.6rem}
  .author-photo-badge{bottom:4px;right:4px;font-size:.65rem;padding:6px 10px}
}

.author-info{padding-top:8px}
.author-eyebrow{display:inline-block;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.22em;color:var(--rb-accent);border-bottom:2px solid var(--rb-accent);padding-bottom:3px;margin-bottom:14px}
.author-name{font-family:var(--rb-serif);font-size:clamp(2.2rem,1.6rem + 2.4vw,3.2rem);font-weight:700;line-height:1.1;color:var(--rb-gray-900);letter-spacing:-.01em;margin-bottom:10px}
.author-tagline{font-family:var(--rb-serif);font-style:italic;color:var(--rb-gray-600);font-size:1.25rem;line-height:1.45;margin-bottom:22px;max-width:560px}
.author-meta{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:.88rem;color:var(--rb-gray-700);margin-bottom:22px;padding:14px 0;border-top:1px solid var(--rb-gray-200);border-bottom:1px solid var(--rb-gray-200)}
.author-meta-item{display:flex;align-items:center;gap:8px}
.author-meta-item svg{width:14px;height:14px;opacity:.6}
.author-meta-item strong{color:var(--rb-gray-900);font-weight:700}

.author-social{display:flex;gap:10px;flex-wrap:wrap}
.author-social a{display:flex;align-items:center;gap:6px;padding:8px 14px;border:1.5px solid var(--rb-gray-300);border-radius:99px;font-size:.75rem;font-weight:700;color:var(--rb-gray-700);text-decoration:none;transition:all .2s}
.author-social a:hover{border-color:var(--rb-accent);color:var(--rb-accent)}
.author-social svg{width:14px;height:14px}

/* ================== E-E-A-T CREDENTIALS STRIP ================== */
.credentials{background:var(--rb-gray-50);padding:28px 24px;margin-top:0;border-top:1px solid var(--rb-gray-200);border-bottom:1px solid var(--rb-gray-200)}
.credentials-inner{max-width:var(--rb-max-w);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}

@media(width <=720px){.credentials-inner{grid-template-columns:repeat(2,1fr)}}
.cred{text-align:center;padding:8px}
.cred-num{font-family:var(--rb-serif);font-size:2.4rem;font-weight:700;color:var(--rb-accent);line-height:1;margin-bottom:6px}
.cred-num .small{font-size:.9rem;color:var(--rb-gray-600);font-family:var(--rb-sans);font-weight:400;margin-left:4px}
.cred-label{font-family:var(--rb-sans);font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.16em;color:var(--rb-gray-700)}

/* ================== LONG BIO ================== */
.author-bio{max-width:var(--rb-content-w);margin:56px auto 40px;padding:0 24px}
.author-bio h2{font-family:var(--rb-serif);font-size:2rem;font-weight:700;color:var(--rb-gray-900);line-height:1.2;margin-bottom:8px}
.author-bio h2::before{content:'';display:block;width:44px;height:3px;background:var(--rb-accent);margin-bottom:18px;border-radius:2px}
.author-bio p{font-size:1.08rem;line-height:1.8;color:var(--rb-gray-800);margin-bottom:1.2em}
.author-bio p strong{color:var(--rb-gray-900)}
.author-bio blockquote{border-left:4px solid var(--rb-accent);padding:6px 0 6px 22px;margin:1.8em 0;font-family:var(--rb-serif);font-style:italic;font-size:1.3rem;line-height:1.5;color:var(--rb-gray-700)}
.author-bio blockquote .attr{display:block;margin-top:10px;font-style:normal;font-family:var(--rb-sans);font-size:.82rem;font-weight:700;color:var(--rb-gray-500);letter-spacing:.04em}

/* ================== SPECIALTIES PILLS ================== */
.specialties{max-width:var(--rb-content-w);margin:0 auto 40px;padding:0 24px}
.specialties-title{font-family:var(--rb-sans);font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.18em;color:var(--rb-gray-500);margin-bottom:14px}
.specialty-pills{display:flex;gap:8px;flex-wrap:wrap}
.specialty-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--rb-accent-bg);color:var(--rb-accent);border:1.5px solid var(--rb-accent-light);border-radius:99px;font-size:.82rem;font-weight:700;text-decoration:none;transition:all .2s}
.specialty-pill:hover{background:var(--rb-accent);color:var(--rb-white);border-color:var(--rb-accent)}
.specialty-pill .count{font-family:var(--rb-mono);font-size:.72rem;font-weight:500;opacity:.8;padding-left:6px;border-left:1px solid currentcolor;margin-left:4px}

/* ================== TESTING METHOD ================== */
.method{background:var(--rb-gray-900);color:var(--rb-gray-100);padding:72px 24px;margin:40px 0}
.method-inner{max-width:var(--rb-content-w);margin:0 auto}
.method-eyebrow{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.22em;color:var(--rb-gold);margin-bottom:14px}
.method h2{font-family:var(--rb-serif);font-size:2.4rem;font-weight:700;color:var(--rb-white);line-height:1.15;margin-bottom:14px}
.method-lead{font-family:var(--rb-serif);font-style:italic;font-size:1.25rem;color:var(--rb-gray-300);line-height:1.5;margin-bottom:32px}
.method-steps{display:grid;grid-template-columns:1fr 1fr;gap:20px}

@media(width <=720px){.method-steps{grid-template-columns:1fr}}
.method-step{padding:22px;background:rgba(255,255,255,.04);border-radius:12px;border:1px solid rgba(255,255,255,.08)}
.method-step-num{font-family:var(--rb-mono);font-size:.75rem;font-weight:700;color:var(--rb-gold);letter-spacing:.14em;margin-bottom:8px}
.method-step h4{font-family:var(--rb-serif);font-size:1.2rem;font-weight:600;color:var(--rb-white);margin-bottom:8px;line-height:1.3}
.method-step p{font-size:.95rem;color:var(--rb-gray-300);line-height:1.6}

/* ================== ARTICLES GRID ================== */
.articles{max-width:var(--rb-max-w);margin:56px auto 40px;padding:0 24px}
.articles-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:14px;margin-bottom:32px}
.articles-head h2{font-family:var(--rb-serif);font-size:2.2rem;font-weight:700;color:var(--rb-gray-900);line-height:1.2}
.articles-head .subtitle{color:var(--rb-gray-600);margin-top:4px;font-size:.98rem}
.articles-filter{display:flex;gap:6px;flex-wrap:wrap}
.filter-btn{padding:8px 16px;font-size:.75rem;font-weight:700;color:var(--rb-gray-700);background:var(--rb-white);border:1.5px solid var(--rb-gray-300);border-radius:99px;cursor:pointer;transition:all .15s;font-family:var(--rb-sans)}
.filter-btn:hover{border-color:var(--rb-accent);color:var(--rb-accent)}
.filter-btn.active{background:var(--rb-gray-900);border-color:var(--rb-gray-900);color:var(--rb-white)}

.articles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}

@media(width <=900px){.articles-grid{grid-template-columns:repeat(2,1fr)}}

@media(width <=560px){.articles-grid{grid-template-columns:1fr}}
.article-card{text-decoration:none;color:inherit;display:block;transition:transform .2s}
.article-card:hover{transform:translateY(-4px)}
.article-card figure{border-radius:12px;overflow:hidden;aspect-ratio:4/3;margin-bottom:14px;box-shadow:0 2px 12px rgba(0,0,0,.06);position:relative;background:var(--rb-gray-100)}
.article-card img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.article-card:hover img{transform:scale(1.05)}
.article-card__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;background:linear-gradient(145deg,var(--rb-gray-100),var(--rb-gray-300))}
.article-card .pillar-tag{position:absolute;bottom:10px;left:10px;background:var(--rb-white);color:var(--rb-gray-900);padding:4px 10px;border-radius:4px;font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.14em}
.article-card h3{font-family:var(--rb-serif);font-size:1.15rem;font-weight:600;color:var(--rb-gray-900);line-height:1.35;margin-bottom:8px}
.article-card .meta{display:flex;gap:10px;font-size:.78rem;color:var(--rb-gray-500);align-items:center}
.article-card .meta .dot{width:3px;height:3px;background:var(--rb-gray-400);border-radius:50%}
.article-card .stars{color:var(--rb-gold);font-size:.9rem;letter-spacing:1px}

.view-all-wrap{text-align:center;margin-top:36px}
.view-all-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 30px;background:var(--rb-white);border:2px solid var(--rb-gray-900);color:var(--rb-gray-900);font-family:var(--rb-sans);font-size:.8rem;font-weight:900;text-transform:uppercase;letter-spacing:.16em;border-radius:999px;text-decoration:none;transition:all .2s}
.view-all-btn:hover{background:var(--rb-gray-900);color:var(--rb-white)}

/* ================== OTHER AUTHORS ================== */
.other-authors{max-width:var(--rb-max-w);margin:72px auto 0;padding:0 24px}
.other-authors-head{text-align:center;margin-bottom:36px}
.other-authors-eyebrow{font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.2em;color:var(--rb-accent);margin-bottom:10px}
.other-authors h2{font-family:var(--rb-serif);font-size:2.2rem;font-weight:700;color:var(--rb-gray-900)}
.other-authors-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}

@media(width <=720px){.other-authors-grid{grid-template-columns:1fr}}
.oa-card{display:grid;grid-template-columns:100px 1fr;gap:18px;padding:24px;background:var(--rb-gray-50);border-radius:14px;text-decoration:none;color:inherit;transition:all .2s;align-items:center}
.oa-card:hover{background:var(--rb-accent-bg);transform:translateY(-2px)}
.oa-avatar{width:100px;height:100px;border-radius:50%;overflow:hidden;background:var(--rb-gray-100)}
.oa-avatar img{width:100%;height:100%;object-fit:cover}
.oa-avatar-initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:var(--rb-serif);font-weight:700;font-size:1.6rem;color:var(--rb-white);background:linear-gradient(145deg,var(--rb-accent),var(--rb-gray-900))}
.oa-name{font-family:var(--rb-serif);font-size:1.3rem;font-weight:700;color:var(--rb-gray-900);margin-bottom:4px;line-height:1.2}
.oa-tagline{font-size:.88rem;color:var(--rb-gray-700);line-height:1.5;margin-bottom:8px}
.oa-covers{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.14em;color:var(--rb-accent)}

/* ================================================================
   ARCHIVE / HUB / 404 / SEARCH / CATEGORY / TAG
   ================================================================ */

/* ============================================================
   ThemeBend — Archive / Hub template additions
   Load after styles.css. Merge into styles.css before next release.
   Covers: taxonomy-pillar, page-pillar, archive, category, tag,
   search, 404, page, generic archive head + pagination.
   ============================================================ */

/* ---------- HUB HERO (taxonomy-pillar + page-pillar) ---------
   Matches the hub-*.html reference preview: 2-col text + image.
   Fallback: when no pillar image is set, the image pane becomes
   a gradient+emoji block using the pillar's accent color.          */
.hub-hero{padding:56px 24px 48px;background:var(--rb-white);border-bottom:1px solid var(--rb-gray-100)}
.hub-hero-inner{max-width:var(--rb-max-w);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}

@media(width <=768px){.hub-hero-inner{grid-template-columns:1fr;gap:32px}}
.hub-hero-text h1{font-family:var(--rb-serif);font-size:clamp(1.8rem,1.4rem + 2vw,2.8rem);font-weight:700;color:var(--rb-gray-900);line-height:1.2;margin-bottom:16px}
.hub-hero-text p{font-size:1rem;color:var(--rb-gray-600);line-height:1.7;margin-bottom:20px}
.author-badge{display:inline-flex;align-items:center;gap:10px;background:var(--rb-gray-50);border:1px solid var(--rb-gray-200);border-radius:9999px;padding:8px 16px 8px 8px;text-decoration:none;color:inherit;transition:border-color .2s}
.author-badge:hover{border-color:var(--rb-pillar-accent,var(--rb-accent))}
.author-badge img,.author-badge .avatar-chip{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0}
.author-badge .avatar-chip{background:linear-gradient(145deg,var(--rb-pillar-accent,var(--rb-accent)),var(--rb-gray-900));color:var(--rb-white,#fff);font-family:var(--rb-serif);font-weight:700;font-size:.88rem;display:flex;align-items:center;justify-content:center}
.author-badge span{font-size:.8rem;font-weight:700;color:var(--rb-gray-700)}
.author-badge em{font-style:normal;font-weight:400;color:var(--rb-gray-500);display:block;font-size:.75rem;margin-top:2px}
.hub-hero-img{border-radius:16px;overflow:hidden;aspect-ratio:4/3;background:linear-gradient(145deg,var(--rb-pillar-accent,var(--rb-accent)) 0%,var(--rb-gray-900) 140%);position:relative;display:flex;align-items:center;justify-content:center}
.hub-hero-img img{width:100%;height:100%;object-fit:cover;display:block}
.hub-hero-img .hub-hero-fallback-emoji{font-size:clamp(4rem,8vw,6rem);filter:drop-shadow(0 2px 8px rgba(0,0,0,.3));opacity:.9}

/* ---------- SECTION HEADINGS INSIDE HUBS -------------------- */
.section-head{padding:48px 24px 0;max-width:var(--rb-max-w);margin:0 auto}
.section-head h2{font-family:var(--rb-serif);font-size:1.7rem;font-weight:700;color:var(--rb-gray-900);margin-bottom:8px}
.section-head p{font-size:.92rem;color:var(--rb-gray-500);margin-bottom:28px}
.section-divider{border:none;border-top:1px solid var(--rb-gray-200);margin:48px 0 0}

/* ---------- TOP RATED 3-col bordered cards ------------------ */
.top-rated-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:0 24px;max-width:var(--rb-max-w);margin:0 auto}

@media(width <=900px){.top-rated-grid{grid-template-columns:repeat(2,1fr)}}

@media(width <=560px){.top-rated-grid{grid-template-columns:1fr}}
.top-card{text-decoration:none;color:var(--rb-gray-800);background:var(--rb-white);border:1.5px solid var(--rb-gray-200);border-radius:12px;overflow:hidden;transition:all .25s ease;display:flex;flex-direction:column}
.top-card:hover{transform:translateY(-4px);border-color:var(--rb-accent);box-shadow:0 8px 24px rgba(192,57,43,.1)}
.top-card-img{aspect-ratio:4/3;overflow:hidden;background:linear-gradient(145deg,var(--rb-pillar-accent,var(--rb-accent)) 0%,var(--rb-gray-900) 140%);display:flex;align-items:center;justify-content:center}
.top-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.top-card:hover .top-card-img img{transform:scale(1.03)}
.top-card-img .top-card-fallback-emoji{font-size:3rem;color:var(--rb-white,#fff);opacity:.9}
.top-card-body{padding:16px}
.top-card-tag{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--rb-accent);margin-bottom:6px}
.top-card-title{font-family:var(--rb-serif);font-size:1rem;font-weight:600;line-height:1.3;color:var(--rb-gray-900);margin-bottom:8px}
.top-card-stars{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--rb-gray-500)}

/* ---------- SUB-SECTION LABEL + grid -------------------------- */
.sub-section{padding:40px 24px 0;max-width:var(--rb-max-w);margin:0 auto}
.sub-section h3{font-family:var(--rb-serif);font-size:1.4rem;font-weight:700;color:var(--rb-gray-900);margin-bottom:20px;position:relative;padding-bottom:12px}
.sub-section h3::after{content:'';position:absolute;left:0;bottom:0;width:40px;height:3px;background:var(--rb-accent);border-radius:2px}
.card-grid-section{padding:12px 24px 0;max-width:var(--rb-max-w);margin:0 auto}
.card-stars{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--rb-gray-500);margin-top:8px}
.card-stars .stars,.stars{color:var(--rb-gold);letter-spacing:1px}

/* ---------- ALL POSTS list header + pagination -------------- */
.all-recipes{padding:32px 24px 0;max-width:var(--rb-max-w);margin:0 auto}
.all-recipes-header{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:12px;margin-bottom:24px;padding-bottom:14px;border-bottom:1px solid var(--rb-gray-200)}
.all-recipes-header h2{font-family:var(--rb-serif);font-size:1.6rem;font-weight:700;color:var(--rb-gray-900)}
.all-recipes-header a{font-size:.82rem;font-weight:700;color:var(--rb-accent);letter-spacing:.04em}

/* .pagination — preview uses .page-btn, WP emits .page-numbers  */
.pagination{display:flex;justify-content:center;align-items:center;gap:8px;padding:48px 24px;flex-wrap:wrap}
.pagination .page-numbers,.pagination .page-btn{min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border:1.5px solid var(--rb-gray-300);border-radius:8px;font-family:var(--rb-sans);font-size:.9rem;font-weight:700;color:var(--rb-gray-700);text-decoration:none;background:var(--rb-white);transition:all .2s}
.pagination .page-numbers:hover,.pagination .page-btn:hover{border-color:var(--rb-accent);color:var(--rb-accent)}
.pagination .page-numbers.current,.pagination .page-btn.active{background:var(--rb-accent);border-color:var(--rb-accent);color:var(--rb-white)}
.pagination .dots,.pagination .page-dots{border:none;padding:0 6px;color:var(--rb-gray-400)}

/* ---------- SUB-NAV PILLS (sub-categories / tag slices) ------ */
.sub-nav-pills{
  max-width:var(--rb-max-w);
  margin:0 auto;
  padding:28px 24px 8px;
  display:flex;flex-wrap:wrap;gap:10px;
}

.sub-pill{
  display:inline-block;
  padding:8px 18px;
  border:1.5px solid var(--rb-gray-300);
  border-radius:9999px;
  font-family:var(--rb-sans);
  font-size:.82rem;
  font-weight:700;
  color:var(--rb-gray-700);
  text-decoration:none;
  background:var(--rb-white);
  transition:all .2s;
  letter-spacing:.02em;
  white-space:nowrap;
}

.sub-pill:hover,
.sub-pill.is-active{
  border-color:var(--rb-pillar-accent,var(--rb-accent));
  color:var(--rb-pillar-accent,var(--rb-accent));
  background:var(--rb-accent-light);
}

/* ---------- ARCHIVE HEAD (generic list heroes) --------------- */
.archive-head{
  max-width:var(--rb-max-w);
  margin:0 auto;
  padding:clamp(40px,6vw,64px) 24px clamp(20px,3vw,32px);
  text-align:center;
  border-bottom:1px solid var(--rb-gray-200);
}

.archive-head__eyebrow{
  font-family:var(--rb-sans);
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.2em;
  color:var(--rb-accent);
  margin-bottom:10px;
}

.archive-title{
  font-family:var(--rb-serif);
  font-size:clamp(1.8rem,1.3rem + 2vw,2.6rem);
  font-weight:700;
  color:var(--rb-gray-900);
  line-height:1.2;
  margin:0 0 12px;
  letter-spacing:-.01em;
}

.archive-head p{
  font-size:.95rem;
  color:var(--rb-gray-600);
  max-width:640px;
  margin:0 auto;
  line-height:1.7;
}

/* ---------- SECTION WRAPPER FOR GRID ------------------------- */
.archive-grid-wrap{
  max-width:var(--rb-max-w);
  margin:0 auto;
  padding:clamp(32px,5vw,48px) 24px 24px;
}

.archive-grid-wrap__head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  margin-bottom:24px;
  flex-wrap:wrap;
  gap:12px;
}

.archive-grid-wrap__head h2{
  font-family:var(--rb-serif);
  font-size:1.5rem;
  font-weight:700;
  color:var(--rb-gray-900);
}

.archive-grid-wrap__head .head-meta{
  font-size:.82rem;
  color:var(--rb-gray-500);
}

/* ---------- PAGINATION --------------------------------------- */
.pagination{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:6px;
  padding:40px 24px;
  flex-wrap:wrap;
}

.pagination .page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:40px;
  height:40px;
  padding:0 12px;
  border-radius:6px;
  font-size:.88rem;
  font-weight:700;
  color:var(--rb-gray-700);
  border:1.5px solid var(--rb-gray-200);
  text-decoration:none;
  transition:all .2s;
  background:var(--rb-white);
}

.pagination .page-numbers:hover{
  border-color:var(--rb-accent);
  color:var(--rb-accent);
}

.pagination .page-numbers.current{
  background:var(--rb-accent);
  border-color:var(--rb-accent);
  color:var(--rb-white);
}

.pagination .page-numbers.dots{
  border:none;background:transparent;color:var(--rb-gray-400);
  min-width:auto;padding:0 4px;
}

.pagination .page-numbers.prev,
.pagination .page-numbers.next{font-weight:700}

/* ---------- EXPLORE OTHER PILLARS ---------------------------- */
.explore-other{
  max-width:var(--rb-max-w);
  margin:clamp(40px,6vw,64px) auto 0;
  padding:0 24px;
}

.explore-other h2{
  font-family:var(--rb-serif);
  font-size:1.5rem;
  font-weight:700;
  color:var(--rb-gray-900);
  text-align:center;
  margin-bottom:8px;
}

.explore-other h2::after{
  content:'';display:block;
  width:48px;height:3px;background:var(--rb-accent);
  border-radius:2px;margin:12px auto 0;
}

.explore-other__lede{
  text-align:center;
  color:var(--rb-gray-500);
  font-size:.92rem;
  margin-bottom:28px;
}

/* v2.4.34 — flex w/ wrap + center so 5 cards render 3 on row 1 + 2 centered on row 2. */
.explore-other-grid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:20px;
}

.explore-other-grid .explore-card{
  flex:0 1 calc((100% - 40px) / 3);
  max-width:320px;
}

@media(width <=900px){
  .explore-other-grid .explore-card{flex-basis:calc((100% - 20px) / 2);}
}

@media(width <=560px){
  .explore-other-grid .explore-card{flex-basis:100%;}
}

.explore-card{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:0 0 20px;
  border:1.5px solid var(--rb-gray-200);
  border-radius:12px;
  background:var(--rb-white);
  text-decoration:none;
  color:var(--rb-gray-800);
  transition:all .25s ease;
  text-align:center;
  overflow:hidden;
}

.explore-card:hover{
  transform:translateY(-3px);
  border-color:var(--rb-pillar-accent,var(--rb-accent));
  box-shadow:0 8px 24px rgba(0,0,0,.06);
}

.explore-card__image{
  width:100%;aspect-ratio:4/3;overflow:hidden;background:var(--rb-gray-100);
  display:flex;align-items:center;justify-content:center;
}
.explore-card__image img{width:100%;height:100%;object-fit:cover;display:block}

.explore-card__emoji{
  width:56px;height:56px;border-radius:14px;
  background:linear-gradient(145deg,
    var(--rb-pillar-accent,var(--rb-accent)) 0%,
    color-mix(in srgb, var(--rb-pillar-accent,var(--rb-accent)) 60%, var(--rb-gray-900)) 100%);
  display:flex;align-items:center;justify-content:center;
  font-size:1.8rem;line-height:1;margin:0 auto;
}

.explore-card__name,
.explore-card__desc,
.explore-card__cta{padding-left:20px;padding-right:20px}
.explore-card__name{margin-top:10px}

.explore-card__name{
  font-family:var(--rb-serif);
  font-size:1.05rem;
  font-weight:700;
  color:var(--rb-gray-900);
  margin:4px 0 0;
}

.explore-card__desc{
  font-size:.82rem;color:var(--rb-gray-600);line-height:1.55;
}

.explore-card__cta{
  font-size:.72rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.14em;
  color:var(--rb-pillar-accent,var(--rb-accent));
  margin-top:auto;
}

/* ---------- 404 BLOCK ---------------------------------------- */
.not-found-block{
  max-width:var(--rb-max-w);
  margin:0 auto;
  padding:clamp(60px,10vw,120px) 24px clamp(32px,5vw,56px);
  text-align:center;
}

.not-found-block__code{
  font-family:var(--rb-serif);
  font-size:clamp(4rem,12vw,8rem);
  font-weight:700;
  color:var(--rb-accent);
  line-height:1;
  margin-bottom:16px;
  letter-spacing:-.03em;
}

.not-found-block h1{
  font-family:var(--rb-serif);
  font-size:clamp(1.5rem,1.2rem + 1.2vw,2rem);
  font-weight:700;
  color:var(--rb-gray-900);
  margin:0 0 14px;
}

.not-found-block p{
  font-size:1rem;color:var(--rb-gray-600);
  max-width:520px;margin:0 auto 28px;line-height:1.7;
}

/* ---------- PAGE BODY (legal pages etc) ---------------------- */
.rb-page-body{
  max-width:var(--rb-content-w,780px);
  margin:0 auto;
  padding:clamp(32px,5vw,56px) 24px clamp(48px,8vw,96px);
}

.rb-page-body h1{
  font-family:var(--rb-serif);
  font-size:clamp(1.8rem,1.3rem + 2vw,2.6rem);
  font-weight:700;
  color:var(--rb-gray-900);
  margin:0 0 28px;
  letter-spacing:-.01em;
  text-align:center;
}

/* ---------- SEARCH RESULT SUMMARY ---------------------------- */
.search-summary{
  font-size:.9rem;color:var(--rb-gray-500);
  text-align:center;margin:-6px auto 24px;
}

/* ---------- EMPTY STATE -------------------------------------- */
.archive-empty{
  text-align:center;color:var(--rb-gray-500);
  font-style:italic;padding:48px 24px;max-width:540px;margin:0 auto;
}

/* ═══════════════════════════════════════════════════════════════
   EDITORIAL HOMEPAGE — VERBATIM COPY of the reference clone preview.
   Unprefixed classes (.top-bar, .header, .logo, .nav, .container,
   .hero-cats, .latest-section, .footer, etc.) used by header.php,
   front-page.php and footer.php.
   ═══════════════════════════════════════════════════════════════ */

:root{
  --white:var(--rb-white,#fff);--bg:var(--rb-white,#fff);
  --gray-50:var(--rb-gray-50,#fafafa);--gray-100:var(--rb-gray-100,#f5f5f5);--gray-150:var(--rb-colors-neutral-150,#f0f0f0);--gray-200:var(--rb-gray-200,#e8e8e8);
  --gray-300:var(--rb-gray-300,#d5d5d5);--gray-400:var(--rb-gray-400,#b0b0b0);--gray-500:var(--rb-gray-500,#8a8a8a);--gray-600:var(--rb-gray-600,#6b6b6b);
  --gray-700:var(--rb-gray-700,#555);--gray-800:var(--rb-gray-800,#333);--gray-900:var(--rb-gray-900,#1a1a1a);
  --accent:var(--rb-accent,#2d6a4f);--accent-hover:var(--rb-accent-hover,#1b4332);--accent-light:#e9f4e2;
  --serif:"Playfair Display",georgia,"Times New Roman",serif;
  --sans:"Lato",-apple-system,blinkmacsystemfont,"Segoe UI",roboto,helvetica,arial,sans-serif;
  --max-w:1200px;--content-w:800px;

  /* v2.4.60 — Spacing scale (T-shirt sizes). Used for margin-between-sections
     on the home + component-level breathing room. Override via --rb-section-gap
     below the breakpoint for mobile. */
  --rb-space-xs:.5rem;
  --rb-space-sm:1rem;
  --rb-space-md:1.5rem;
  --rb-space-lg:2.5rem;
  --rb-space-xl:3.5rem;
  --rb-space-2xl:5rem;
  --rb-space-3xl:7rem;
  --rb-section-gap:var(--rb-space-2xl); /* 80px desktop between home sections */
}

@media(width <=768px){
  :root{--rb-section-gap:3rem} /* 48px mobile */
}
.container{max-width:var(--max-w);margin:0 auto;padding:0 24px}

/* v2.4.60 — consistent bottom margin between top-level home sections. */
.hero-cats,
.cat-carousel,
.rb-home-trending,
.trending-pills,
.as-seen,
.latest-with-sidebar,
.ebook-cta,
.collection-section{
  margin-bottom:var(--rb-section-gap);
}

/* TOP BAR */
.top-bar{background:var(--gray-50);border-bottom:1px solid var(--gray-200);padding:10px 24px;text-align:center;font-size:.85rem;color:var(--gray-600)}
.top-bar a{color:var(--accent);font-weight:700;text-decoration:underline;text-underline-offset:2px}

/* HEADER */
.header{background:var(--white);border-bottom:1px solid var(--gray-200);position:sticky;top:0;z-index:100}
.header-inner{max-width:var(--max-w);margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{font-family:var(--serif);font-size:1.8rem;font-weight:700;color:var(--gray-900);text-decoration:none;letter-spacing:-.02em}
.logo span{color:var(--accent)}
.nav{display:flex;gap:28px;align-items:center}
.nav__panel{display:flex;gap:28px;align-items:center}
.nav a{font-family:var(--sans);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--rb-gray-900,#1a1a1a);text-decoration:none;padding:4px 0}
.nav a:hover{color:var(--rb-accent,#b03a2e)}
/* v3.2.22 — pin to --rb-colors-primary (canonical token, NOT seasonally
   overridden) so the search icon always matches H1/site color. --rb-accent
   would drift each season because seasonal-palette.php overrides it on body
   class (rb-season-spring/summer/autumn/winter). */
.nav-search{background:none;border:none;cursor:pointer;color:var(--rb-colors-primary,#2d6a4f);padding:8px;display:flex;align-items:center;transition:opacity .2s}
.nav-search:hover{opacity:.75}
.nav__list{list-style:none;margin:0;padding:0;display:flex;gap:28px;align-items:center}
.nav__list li{margin:0}
.nav-toggle{display:none;background:none;border:0;padding:10px 6px;cursor:pointer;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px}
.nav-toggle__bar{display:block;width:24px;height:2px;background:var(--rb-gray-900,#1a1a1a);border-radius:2px;transition:transform .2s,opacity .2s}
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media(width <=768px){
  .top-bar{font-size:.78rem}
  .nav-toggle{display:flex}
  .nav__panel{position:absolute;top:100%;left:0;right:0;background:var(--rb-bg,#fff8f0);border-top:1px solid var(--rb-gray-200,#e5e5e5);border-bottom:1px solid var(--rb-gray-200,#e5e5e5);flex-direction:column;align-items:stretch;gap:0;padding:8px 0;max-height:0;overflow:hidden;transform:translateY(-4px);opacity:0;pointer-events:none;transition:max-height .25s ease,opacity .2s ease,transform .25s ease}
  .nav.is-open .nav__panel{max-height:80vh;opacity:1;transform:none;pointer-events:auto;overflow:auto}
  .nav__panel a,.nav__list li a{display:block;padding:14px 24px;border-bottom:1px solid var(--rb-gray-100,#f3f3f3);font-size:.95rem;letter-spacing:.08em}
  .nav__panel a:last-of-type{border-bottom:0}
  .nav__list{flex-direction:column;gap:0;align-items:stretch;width:100%}
  .nav-search{align-self:flex-start;margin:8px 16px}
  .header{position:relative}
}

/* HERO TAGLINE */
.hero-tagline-section{text-align:center;padding:48px 24px 32px}
.hero-tagline{font-family:var(--serif);font-size:clamp(1.6rem,1.2rem + 1.8vw,2.4rem);font-weight:500;font-style:italic;color:var(--gray-800);max-width:640px;margin:0 auto;line-height:1.35}

/* HERO SEARCH — home now uses .page-search (v2.4.57).
   v2.4.60: bumped margin-top from 24px to var(--rb-space-lg) = 2.5rem / 40px
   desktop (1.5rem / 24px mobile) so the input has proper breathing room
   under the H1 tagline. */
.hero-tagline-section .page-search{margin-top:var(--rb-space-lg)}

@media(width <=768px){.hero-tagline-section .page-search{margin-top:var(--rb-space-md)}}

/* TRENDING section (v2.4.60 restructure — flex header: title ←→ view-all CTA) */
.rb-home-trending{padding:0 24px}
.rb-home-trending .container{max-width:var(--max-w);margin:0 auto}
.rb-home-trending__header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:16px;row-gap:10px;margin-bottom:var(--rb-space-md)}
.rb-home-trending__title{grid-column:2;justify-self:center;font-family:var(--serif,Georgia);font-size:1.75rem;font-weight:700;color:var(--gray-900,var(--rb-gray-900,#111));margin:0;line-height:1.2;text-align:center}
.rb-home-trending__view-all{grid-column:3;justify-self:end;align-self:center;font-family:var(--sans,system-ui);font-size:.95rem;font-weight:600;color:var(--accent,var(--rb-accent,#2d6a4f));text-decoration:none;white-space:nowrap;transition:opacity .15s}
.rb-home-trending__view-all:hover{text-decoration:underline;opacity:.85}
.rb-home-trending__tags{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}

@media(width <=640px){
  .rb-home-trending__header{display:flex;flex-direction:column;align-items:stretch;gap:var(--rb-space-sm)}
  .rb-home-trending__title{text-align:center}
  .rb-home-trending__view-all{align-self:flex-end}
}

/* Trending pill style (shared between old and new structure) */
.trending-pill{display:inline-flex;align-items:center;padding:8px 18px;border-radius:999px;background:var(--rb-colors-surface-alt,#faf7f2);border:1px solid var(--gray-200,var(--rb-gray-200,#e5e5e5));color:var(--gray-800,var(--rb-gray-800,#2a2a2a));font-family:var(--sans,system-ui);font-size:.86rem;font-weight:700;text-decoration:none;transition:background .15s,border-color .15s,color .15s}
.trending-pill:hover{background:var(--accent);border-color:var(--accent);color:var(--rb-white,#fff)}

/* HERO CATEGORY CARDS */
.hero-cats{padding:0 24px 16px}
.hero-cats .container{max-width:var(--max-w)}

/* v2.4.73 — column count now driven by --rb-hubs-count (set inline from
   front-page.php). Keeps 6 hubs on a single row; collapses cleanly on
   narrower viewports. */
.hero-grid{display:grid;grid-template-columns:repeat(var(--rb-hubs-count, 6), minmax(0, 1fr));gap:14px}

@media(width <=900px){.hero-grid{grid-template-columns:repeat(3, minmax(0, 1fr))}}

@media(width <=560px){.hero-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}
/* v3.2.57 — editorial premium hub card: image breathes (subtle bottom
   scrim only), label moves to a small-caps eyebrow at the bottom-left
   with a 2px white accent bar. Replaces the prior heavy serif overlay
   that visually covered the image's lower half. */
.hero-cat{position:relative;display:block;aspect-ratio:1/1;border-radius:18px;overflow:hidden;text-decoration:none;color:#fff;isolation:isolate;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease;box-shadow:0 1px 2px rgba(0,0,0,.06),0 4px 14px rgba(0,0,0,.08)}
.hero-cat:hover{transform:translateY(-4px);box-shadow:0 4px 12px rgba(0,0,0,.10),0 18px 36px rgba(0,0,0,.18)}
.hero-cat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.hero-cat:hover img{transform:scale(1.045)}
.hero-cat::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 60%,rgba(0,0,0,.40) 88%,rgba(0,0,0,.60) 100%);pointer-events:none;z-index:1}
.hero-cat-label{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;font-family:var(--rb-sans,var(--sans),"Lato",-apple-system,sans-serif);font-size:.78rem;font-weight:700;line-height:1.3;letter-spacing:.14em;text-transform:uppercase;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.55);padding-left:14px}
.hero-cat-label::before{content:'';position:absolute;left:0;top:4px;bottom:4px;width:2px;background:rgba(255,255,255,.92);border-radius:2px}
.view-all{display:block;text-align:center;margin:20px 0 0;font-size:.82rem;font-weight:700;color:var(--accent);letter-spacing:.04em}
.view-all:hover{text-decoration:underline}

/* CATEGORY CAROUSEL */
.cat-carousel{padding:20px 24px 0}
.cat-carousel .container{max-width:var(--max-w)}

/* v2.5.3 — this second .cat-row declaration (a later duplicate of the
   one at ~line 170) was overriding the grid layout introduced in v2.5.2
   because later rules of equal specificity win. Bring it in sync: grid
   layout + --rb-tag-circle-size driven sizing. */
.cat-row{display:grid;grid-template-columns:repeat(9, minmax(0, 1fr));gap:10px;padding-bottom:12px}

@media(width <=900px){.cat-row{grid-template-columns:repeat(auto-fit, minmax(90px, 1fr))}}
/* v3.2.58 — premium tag carousel: italic serif label with animated
   accent dash on hover, photo circle gets accent ring + lift, image
   subtly scales. Replaces the basic 0.78rem sans-serif gray label. */
.cat-item{text-align:center;text-decoration:none;color:var(--rb-gray-900,#1a1a1a);min-width:0;display:flex;flex-direction:column;align-items:center;gap:14px;padding:6px 4px 4px;position:relative}
.cat-circle{width:100%;aspect-ratio:1/1;max-width:var(--rb-tag-circle-size, 100px);border-radius:50%;overflow:hidden;margin:0;box-shadow:0 2px 10px rgba(0,0,0,.08),0 0 0 1px rgba(0,0,0,.04);transition:box-shadow .35s cubic-bezier(.2,.7,.2,1),transform .35s cubic-bezier(.2,.7,.2,1);background:var(--rb-colors-surface-alt,#faf7f2)}
.cat-circle img{width:100%;height:100%;object-fit:cover;filter:saturate(.95) brightness(1.02);transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.cat-item:hover .cat-circle{box-shadow:0 6px 18px rgba(0,0,0,.14),0 0 0 3px var(--rb-accent,var(--accent,#2d6a4f));transform:translateY(-2px)}
.cat-item:hover .cat-circle img{transform:scale(1.06)}
.cat-item span{display:inline-block;position:relative;font-family:var(--rb-serif,var(--serif),"Playfair Display",Georgia,serif);font-size:1rem;font-weight:600;font-style:italic;color:var(--rb-gray-900,#1a1a1a);line-height:1.25;letter-spacing:-.01em;padding-bottom:10px;overflow-wrap:anywhere;word-break:break-word;hyphens:auto;transition:color .25s ease}
.cat-item span::after{content:'';position:absolute;left:50%;bottom:0;transform:translateX(-50%) scaleX(0);transform-origin:center;width:22px;height:2px;background:var(--rb-accent,var(--accent,#2d6a4f));border-radius:2px;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.cat-item:hover span{color:var(--rb-accent,var(--accent,#2d6a4f))}
.cat-item:hover span::after{transform:translateX(-50%) scaleX(1)}

/* AS SEEN IN */
.as-seen{text-align:center;padding:48px 24px}
.as-seen h6{font-family:var(--sans);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.22em;color:var(--gray-400);margin-bottom:20px}
.as-seen-logos{display:flex;justify-content:center;align-items:center;gap:36px;flex-wrap:wrap}
.as-seen-logos span{font-family:var(--serif);font-size:1rem;font-weight:700;color:var(--gray-800);font-style:italic;opacity:.35}

/* LATEST */
.latest-section{padding:48px 24px 0}
.latest-section .container{max-width:var(--max-w)}
.latest-section h2{font-family:var(--serif);font-size:1.8rem;font-weight:700;color:var(--gray-900);margin-bottom:36px;text-align:center}
.latest-post{display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:center;margin-bottom:48px;padding-bottom:48px;border-bottom:1px solid var(--gray-200)}
.latest-post:last-child{border-bottom:none}

@media(width <=700px){.latest-post{grid-template-columns:1fr}}
.latest-img{border-radius:12px;overflow:hidden;aspect-ratio:4/3;display:block}
.latest-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.latest-post:hover .latest-img img{transform:scale(1.03)}
.latest-date{font-size:.78rem;color:var(--gray-500);margin-bottom:8px;font-weight:400}
.latest-title{font-family:var(--serif);font-size:1.5rem;font-weight:600;color:var(--gray-900);margin-bottom:12px;line-height:1.3}
.latest-desc{font-size:.95rem;color:var(--gray-600);line-height:1.6;margin-bottom:16px}
.continue-reading{font-size:.82rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.1em}
.continue-reading:hover{text-decoration:underline}
.view-more{text-align:center;margin-top:12px}
.view-more a{font-size:.82rem;font-weight:700;color:var(--accent);letter-spacing:.04em}

/* SIDEBAR PROMO */
.sidebar-promo{padding:48px 24px;text-align:center}
.sidebar-promo a{display:inline-block;max-width:600px}

/* COLLECTIONS */
.rb-collections{padding:32px 24px 0}
.rb-collections .container{max-width:700px}
.rb-collections h2{font-family:var(--serif);font-size:1.6rem;font-weight:700;text-align:center;margin-bottom:28px;color:var(--gray-900)}
.coll-list{list-style:none;counter-reset:coll;padding:0}
.coll-list li{counter-increment:coll}
.coll-list a{display:flex;align-items:center;padding:16px 0;border-bottom:1px solid var(--gray-200);text-decoration:none;color:var(--gray-800);transition:all .2s}
.coll-list a:hover{padding-left:8px;color:var(--accent)}
.coll-list a::before{content:counter(coll);font-family:var(--serif);font-size:1.3rem;font-weight:700;color:var(--gray-300);width:36px;flex-shrink:0;text-align:center}
.coll-list a:hover::before{color:var(--accent)}
.coll-name{font-family:var(--serif);font-size:1.1rem;font-weight:600;flex:1}
.coll-count{font-size:.82rem;color:var(--gray-400);font-weight:700;margin-left:12px}

/* ABOUT */
.about-section{padding:56px 24px}
.about-section .container{max-width:700px}
.about-card{text-align:center}
.about-photos{display:flex;gap:16px;justify-content:center;margin-bottom:28px;flex-wrap:wrap}
.about-team-photo{max-width:720px;margin:0 auto 28px;border-radius:16px;overflow:hidden;box-shadow:0 6px 24px rgba(0,0,0,.1)}
.about-team-photo img{display:block;width:100%;height:auto;object-fit:cover}
.about-photos img{width:140px;height:140px;border-radius:50%;object-fit:cover;box-shadow:0 4px 16px rgba(0,0,0,.08);border:4px solid var(--white)}
.about-card h3{font-family:var(--serif);font-size:1.5rem;color:var(--gray-900);margin-bottom:12px}
.about-card p{font-size:.95rem;color:var(--gray-600);max-width:480px;margin:0 auto 20px;line-height:1.65}
.btn{display:inline-block;padding:12px 36px;background:var(--accent);color:var(--white);font-family:var(--sans);font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;border-radius:6px;text-decoration:none;border:none;cursor:pointer;transition:all .2s}
.btn:hover{background:var(--accent-hover);color:var(--white);transform:translateY(-1px);box-shadow:0 4px 12px rgba(192,57,43,.25)}

/* FOLLOW */
.follow-section{text-align:center;padding:40px 24px}
.follow-section h3{font-family:var(--serif);font-size:1.2rem;font-weight:600;color:var(--gray-900);margin-bottom:20px}
.social-row{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}
/* v3.2.24 — duplicate legacy block with broken --gray-600/--accent var refs
   replaced with canonical brand-locked color. Same as the rule above. */
.social-link{display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;color:var(--rb-colors-primary,#2d6a4f);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em;transition:color .2s,opacity .2s}
.social-link:hover{color:var(--rb-colors-primary-hover,#1b4332);opacity:.85}
.social-link svg{width:22px;height:22px}

/* EMAIL CTA (preview) */
.email-cta{background:var(--gray-50);padding:48px 24px;text-align:center;border-top:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200)}
.email-cta h3{font-family:var(--sans);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--gray-500);margin-bottom:8px}
.email-cta p{font-family:var(--serif);font-size:1.2rem;font-weight:500;color:var(--gray-800);margin-bottom:24px}

/* v3.2.9 — bloc duplicate v2.4.61 supprimé. Il utilisait des CSS vars non
   préfixées (`--accent`, `--white`, etc.) qui ne sont PAS émises par
   dynamic-css.php (qui n'émet que les versions `--rb-*`). Résultat : le
   bouton newsletter perdait sa couleur sur certaines pages. Le bloc primaire
   à la ligne ~278 + le bloc canonical .rb-subscribe form à la ligne ~2540
   couvrent déjà tous les cas avec les bonnes vars. */

/* COLLECTIONS GRID */
.collections-grid-section{padding:56px 24px 0}
.collections-grid-section .container{max-width:var(--max-w)}
.filter-tabs{display:flex;justify-content:center;gap:12px;margin-bottom:36px;flex-wrap:wrap}
.filter-tab{padding:8px 20px;border:1.5px solid var(--gray-300);border-radius:9999px;font-size:.78rem;font-weight:700;color:var(--gray-700);background:var(--white);cursor:pointer;transition:all .2s;text-decoration:none}
.filter-tab:hover,.filter-tab.active{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}

@media(width <=900px){.card-grid{grid-template-columns:repeat(2,1fr)}}

@media(width <=560px){.card-grid{grid-template-columns:1fr}}
.card{text-decoration:none;color:var(--gray-800);display:flex;flex-direction:column;transition:transform .25s ease}
.card:hover{transform:translateY(-4px)}
.card:hover .card-img img{transform:scale(1.03)}
.card-img{border-radius:10px;overflow:hidden;aspect-ratio:1/1;background:var(--gray-100);margin-bottom:14px}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.card-tag{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin-bottom:6px}
.card-title{font-family:var(--serif);font-size:1.1rem;font-weight:600;line-height:1.3;color:var(--gray-900)}

/* v3.2.103 — Most Popular pagination (1 · 2 · 3 …) */
.rb-mp-pagination{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:36px;flex-wrap:wrap}
.rb-mp-page{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 12px;border:1.5px solid var(--gray-300);border-radius:9999px;font-size:.85rem;font-weight:600;color:var(--gray-700);background:var(--white);text-decoration:none;transition:all .2s}
.rb-mp-page:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}
.rb-mp-page--active{border-color:var(--accent);color:var(--white);background:var(--accent);cursor:default}
.rb-mp-page--nav{font-weight:500}

/* EBOOK CTA */
.ebook-cta{padding:56px 24px;text-align:center}
.ebook-cta .container{max-width:640px}
.ebook-cta h3{font-family:var(--serif);font-size:1.4rem;font-weight:600;color:var(--gray-900);margin-bottom:12px}
.ebook-cta p{font-size:.92rem;color:var(--gray-600);max-width:480px;margin:0 auto 24px;line-height:1.6}

/* FOOTER (preview) */
/* v3.2.10 — Footer refactor : grid 4 colonnes équilibrées + back-to-top */
.footer{margin-top:48px;padding:64px 24px 0;background:var(--rb-gray-50,#fafafa);border-top:1px solid var(--rb-gray-200,#e5e5e5)}
.footer-inner{max-width:var(--rb-max-w,1200px);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:40px;align-items:start}
@media(width <=900px){.footer-inner{grid-template-columns:repeat(2,1fr);gap:36px 32px}}
@media(width <=560px){.footer-inner{grid-template-columns:1fr;gap:28px}}

@media(width <=640px){.footer-inner{grid-template-columns:1fr}}
/* Headings de chaque colonne — uppercase tracking-wide pour un look pro éditorial */
.footer-col__heading,
.footer-col h4{font-family:var(--rb-sans,system-ui,sans-serif);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.16em;color:var(--rb-gray-900,#1a1a1a);margin:0 0 18px;padding:0 0 10px;border-bottom:2px solid var(--rb-accent,#2d6a4f);display:inline-block}
/* Liste de liens dans chaque colonne */
.footer-col__list,
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px;padding:0;margin:0}
/* v3.2.10 — scope strict aux items de liste : ne PAS cibler .footer-col a
   (sinon overridait le .logo qui est aussi un <a> dans .footer-col--brand). */
/* v3.2.43 — hover-shift removed (user request). Color-only feedback. */
.footer-col__list a,
.footer-col ul a{color:var(--rb-gray-700,#525252);font-size:.92rem;font-weight:500;text-decoration:none;transition:color .15s;display:inline-block}
.footer-col__list a:hover,
.footer-col ul a:hover{color:var(--rb-accent,#2d6a4f)}

/* Colonne BRAND — différente : logo gros + tagline serif italique */
.footer-col--brand{padding-right:8px}
/* v3.2.10 — footer logo = JUSTE la classe .logo (identique au header).
   Seul ajout : margin-bottom pour décoller la description en-dessous. */
.footer-col--brand > .logo{display:inline-block;margin:0 0 14px}
.footer-tagline{font-family:var(--rb-serif,Georgia,serif);font-style:italic;font-size:1rem;color:var(--rb-gray-700,#525252);line-height:1.5;margin:0;max-width:280px}
/* v3.2.10 — brand_description : paragraphe sous le logo dans la col 1 du footer.
   Plus long que la tagline, raconte l'activité du site. */
.footer-brand-desc{font-family:var(--rb-sans,system-ui,sans-serif);font-size:.92rem;color:var(--rb-gray-700,#525252);line-height:1.6;margin:0;max-width:300px}

/* Social row — INTACT (icônes pas touchées). Hauteur réduite v3.2.10. */
.footer-social{text-align:center;padding:20px 0 18px;margin-top:18px;border-top:1px solid var(--rb-gray-200,#e5e5e5)}
.footer-social .social-row{margin-top:0}

/* Footer bottom — 3 zones (copyright | legal | back-to-top) */
.footer-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:24px 0;border-top:1px solid var(--rb-gray-200,#e5e5e5);max-width:var(--rb-max-w,1200px);margin:0 auto}
.footer-bottom__copyright{font-size:.82rem;color:var(--rb-gray-600,#525252);margin:0;text-align:left}
.footer-bottom__legal{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px;font-size:.82rem;margin:0}
.footer-bottom__legal a{color:var(--rb-gray-600,#525252);text-decoration:none;transition:color .15s}
.footer-bottom__legal a:hover{color:var(--rb-accent,#2d6a4f);text-decoration:underline}
.footer-bottom__legal span.sep{color:var(--rb-gray-400,#a3a3a3)}
/* v3.2.25 — Footer "Back to top" pill brand-locked: text + border in
   --rb-colors-primary (canonical, immune to seasonal). Hover fills with
   primary background for clear feedback. */
.footer-bottom__totop{justify-self:end;display:inline-flex;align-items:center;gap:6px;font-size:.82rem;color:var(--rb-colors-primary,#2d6a4f);background:transparent;border:1px solid var(--rb-colors-primary,#2d6a4f);padding:8px 14px;border-radius:999px;cursor:pointer;font-family:var(--rb-sans,system-ui,sans-serif);font-weight:600;text-decoration:none;transition:all .15s}
.footer-bottom__totop:hover{color:var(--rb-white,#fff);background:var(--rb-colors-primary,#2d6a4f);border-color:var(--rb-colors-primary,#2d6a4f)}
.footer-bottom__totop svg{width:14px;height:14px}

/* Mobile : footer bottom en colonne pour rester lisible */
@media(width <=720px){
  .footer-bottom{grid-template-columns:1fr;text-align:center;gap:14px;padding:24px 0 28px}
  .footer-bottom__copyright,
  .footer-bottom__legal{justify-content:center;text-align:center}
  .footer-bottom__totop{justify-self:center}
}

/* ═══════════════════════════════════════════════════════════════
   NICHE INDEX + PAGE-START-HERE (v1.5.5)
   ═══════════════════════════════════════════════════════════════ */

/* Shared page hero */
.page-hero{padding:56px 24px 32px;text-align:center;border-bottom:1px solid var(--gray-100)}
.page-hero__title{font-family:var(--serif);font-size:clamp(2.4rem,1.8rem + 3vw,3.6rem);font-weight:700;color:var(--gray-900);line-height:1.1;margin-bottom:14px}
.page-hero__lede{font-size:1.05rem;color:var(--gray-600);max-width:560px;margin:0 auto 32px;line-height:1.6}

.page-search{max-width:560px;margin:0 auto;display:flex;align-items:center;gap:0;background:var(--white);border:2px solid var(--gray-200);border-radius:9999px;padding:6px 6px 6px 22px;transition:border-color .15s}
.page-search:focus-within{border-color:var(--accent)}
.page-search svg{width:18px;height:18px;color:var(--gray-400);flex-shrink:0}
.page-search input{flex:1;border:none;padding:14px;font-family:var(--sans);font-size:.96rem;background:transparent;color:var(--gray-900)}
.page-search input::placeholder{color:var(--gray-400)}
.page-search button{padding:12px 24px;border-radius:9999px;font-size:.76rem;letter-spacing:.14em}

.section-title{font-family:var(--rb-serif,var(--serif,Georgia,serif));font-size:1.85rem;font-weight:700;color:var(--rb-gray-900,#1a1a1a);margin:0 0 24px;line-height:1.2}

/* niche index — top-rated section */
.top-rated-section{padding:56px 24px 24px;border-bottom:1px solid var(--gray-100)}
.top-rated-section .card-grid{grid-template-columns:repeat(3,1fr)}

@media(width <=900px){.top-rated-section .card-grid{grid-template-columns:repeat(2,1fr)}}

@media(width <=560px){.top-rated-section .card-grid{grid-template-columns:1fr}}
.top-rated-section .card-img__emoji{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;background:linear-gradient(145deg,var(--accent),var(--gray-900));color:var(--rb-white,#fff)}

/* niche index — category nav (columned text-link lists) */
.category-nav-section{padding:56px 24px 64px}
.category-nav__block{margin-bottom:44px;padding-bottom:36px;border-bottom:1px solid var(--gray-150)}
.category-nav__block:last-child{border-bottom:none;padding-bottom:0;margin-bottom:0}
.category-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px 32px}

@media(width <=900px){.category-list{grid-template-columns:repeat(3,1fr)}}

@media(width <=560px){.category-list{grid-template-columns:repeat(2,1fr)}}
.category-list li{padding:6px 0}
.category-list a{font-family:var(--rb-sans, var(--sans));font-size:.95rem;font-weight:700;color:var(--rb-gray-900,#1a1a1a);text-decoration:none;border-bottom:1px solid transparent;transition:all .15s;display:inline-flex;align-items:baseline;gap:6px}
.category-list a:hover{color:var(--rb-accent,var(--accent,#2d6a4f));border-bottom-color:var(--rb-accent,var(--accent,#2d6a4f))}

/* Filter page (v2.4.53) — per-link count + trending badge */
.category-list .filter-link__count{font-size:.8rem;color:var(--rb-gray-500,#737373);font-weight:400;font-variant-numeric:tabular-nums}
.category-list a:hover .filter-link__count{color:var(--rb-accent,#2d6a4f)}
.category-list .filter-trending{display:inline-block;margin-left:2px;font-size:.85em;line-height:1;filter:saturate(1.1);animation:rb-trending-pulse 2.4s ease-in-out infinite}

@keyframes rb-trending-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}

@media(prefers-reduced-motion:reduce){.category-list .filter-trending{animation:none}}

/* .card fallback emoji for generic pages */
.card .card-img__emoji{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;background:linear-gradient(145deg,var(--accent),var(--gray-900));color:var(--rb-white,#fff)}

/* .card rating stars on niche-index top-rated */
.card-stars{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--gray-500);margin-top:8px}
.card-stars .stars,.stars{color:#d4a017;letter-spacing:1px}

/* /start-here hero */
.start-hero{padding:56px 24px 48px;background:var(--white);border-bottom:1px solid var(--gray-100)}
.start-hero__inner{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}

@media(width <=820px){.start-hero__inner{grid-template-columns:1fr;gap:28px}}
.start-hero__eyebrow{font-family:var(--sans);font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.22em;color:var(--accent);margin-bottom:12px}
.start-hero__text h1{font-family:var(--serif);font-size:clamp(2rem,1.5rem + 2.4vw,3rem);font-weight:700;color:var(--gray-900);line-height:1.15;margin-bottom:18px;letter-spacing:-.01em}
.start-hero__text p{font-size:1.02rem;color:var(--gray-700);line-height:1.75;margin-bottom:16px}
.start-hero__text .btn{margin-top:10px}
.start-hero__img{border-radius:16px;overflow:hidden;aspect-ratio:4/3}
.start-hero__img img{width:100%;height:100%;object-fit:cover;display:block}

/* /start-here follow + email */
.follow-us-bar{padding:48px 24px;background:var(--gray-50);border-bottom:1px solid var(--gray-200)}
.follow-us-bar__inner{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}

@media(width <=820px){.follow-us-bar__inner{grid-template-columns:1fr;gap:28px;text-align:center}}
.follow-us-bar h3{font-family:var(--serif);font-size:1.3rem;font-weight:700;color:var(--gray-900);margin-bottom:16px}
.follow-us-bar .social-row{justify-content:flex-start}

@media(width <=820px){.follow-us-bar .social-row{justify-content:center}}
.follow-us-bar__email p{font-size:.92rem;color:var(--gray-600);margin-bottom:16px}

/* /start-here collection card grids */
.collection-section{padding:48px 24px}
.collection-section__head{max-width:var(--max-w);margin:0 auto 24px;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:12px}
.collection-section__head a{font-family:var(--sans);font-size:.82rem;font-weight:700;color:var(--accent);letter-spacing:.04em;text-decoration:none;white-space:nowrap}
.collection-section__head a:hover{text-decoration:underline}
.collection-section .card-grid{grid-template-columns:repeat(4,1fr);max-width:var(--max-w);margin:0 auto}

@media(width <=1000px){.collection-section .card-grid{grid-template-columns:repeat(2,1fr)}}

@media(width <=560px){.collection-section .card-grid{grid-template-columns:1fr}}

/* ═══════════════════════════════════════════════════════════════
   v2.1.0 — RICH HOMEPAGE + PILLAR BLOCKS
   ═══════════════════════════════════════════════════════════════ */

/* ── Time & Temp Finder (homepage block #2) ── */
.rb-finder-section{padding:32px 24px 48px;background:linear-gradient(180deg,var(--accent-light) 0%,var(--white) 100%)}
.rb-finder{max-width:760px;margin:0 auto;text-align:center}
.rb-finder__eyebrow{display:inline-block;font-family:var(--sans);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.2em;color:var(--accent);margin-bottom:10px}
.rb-finder__title{font-family:var(--serif);font-size:clamp(1.5rem,1.1rem + 2vw,2.2rem);font-weight:700;color:var(--gray-900);margin-bottom:10px;line-height:1.2}
.rb-finder__lede{font-size:.96rem;color:var(--gray-600);margin-bottom:22px}
.rb-finder__box{max-width:560px;margin:0 auto;display:flex;align-items:center;gap:0;background:var(--white);border:2px solid var(--gray-300);border-radius:9999px;padding:6px 6px 6px 22px;transition:border-color .15s;box-shadow:0 4px 20px rgba(192,57,43,.08)}
.rb-finder__box:focus-within{border-color:var(--accent);box-shadow:0 4px 24px rgba(192,57,43,.18)}
.rb-finder__box svg{width:18px;height:18px;color:var(--gray-400);flex-shrink:0}
.rb-finder__box input{flex:1;border:none;padding:14px;font-family:var(--sans);font-size:1rem;background:transparent;color:var(--gray-900)}
.rb-finder__quick{margin-top:14px;display:flex;gap:6px;justify-content:center;flex-wrap:wrap;font-size:.82rem;color:var(--gray-500);align-items:center}
.rb-finder__quick span{color:var(--gray-500)}
.rb-finder__chip{padding:5px 12px;background:var(--white);border:1px solid var(--gray-300);border-radius:99px;font-family:var(--sans);font-size:.78rem;color:var(--gray-700);cursor:pointer;transition:all .15s}
.rb-finder__chip:hover{border-color:var(--accent);color:var(--accent)}
.rb-finder__results{max-width:560px;margin:24px auto 0;text-align:left}
.rb-finder__results:empty{display:none}
.rb-finder__hit{display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:center;padding:12px 14px;background:var(--white);border:1px solid var(--gray-200);border-radius:12px;text-decoration:none;color:var(--gray-900);margin-bottom:8px;transition:all .15s;border-left:4px solid var(--rb-pillar-accent,var(--accent))}
.rb-finder__hit:hover{border-color:var(--rb-pillar-accent,var(--accent));transform:translateX(2px)}
.rb-finder__hit-emoji{font-size:1.8rem;text-align:center}
.rb-finder__hit-body{display:flex;flex-direction:column;gap:2px;min-width:0}
.rb-finder__hit-cat{font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.14em;color:var(--rb-pillar-accent,var(--accent))}
.rb-finder__hit-body strong{font-family:var(--serif);font-size:1rem;font-weight:600;color:var(--gray-900);line-height:1.2}
.rb-finder__hit-test{font-size:.78rem;color:var(--gray-500);font-family:"JetBrains Mono",Menlo,monospace}
.rb-finder__hit-rating{font-size:.82rem;font-weight:700;color:#d4a017;white-space:nowrap}
.rb-finder__empty{text-align:center;color:var(--gray-500);font-style:italic;padding:24px}
.rb-finder__empty a{color:var(--accent);font-weight:700}

/* ── Ticker / Tested this week (block #4) ── */
.rb-ticker-section{padding:40px 24px;background:var(--gray-50);border-top:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200)}
.rb-ticker__head{max-width:var(--max-w);margin:0 auto 16px}
.rb-ticker__eyebrow{display:inline-block;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.2em;color:var(--accent);margin-bottom:6px}
.rb-ticker__title{font-family:var(--serif);font-size:1.4rem;font-weight:700;color:var(--gray-900);margin:0}
.rb-ticker__list{max-width:var(--max-w);margin:0 auto;list-style:none;padding:0;display:flex;flex-direction:column;gap:10px}
.rb-ticker__item{display:grid;grid-template-columns:60px 1fr auto auto;gap:14px;align-items:center;padding:10px 16px;background:var(--white);border-radius:10px;border-left:4px solid var(--rb-pillar-accent,var(--accent));font-size:.92rem;color:var(--gray-700)}
.rb-ticker__item time{font-family:"JetBrains Mono",monospace;font-size:.82rem;color:var(--gray-500);font-weight:700}
.rb-ticker__item a{color:var(--gray-900);font-weight:700;text-decoration:none}
.rb-ticker__item a:hover{color:var(--accent)}
.rb-ticker__sum{font-family:"JetBrains Mono",monospace;font-size:.78rem;color:var(--gray-600)}
.rb-ticker__rate{font-weight:700;color:#d4a017;font-size:.88rem}

@media(width <=720px){.rb-ticker__item{grid-template-columns:60px 1fr;row-gap:4px}.rb-ticker__sum,.rb-ticker__rate{grid-column:2}}

/* ── How ThemeBend Works (block #6) ── */
.rb-how-it-works{padding:56px 24px;background:var(--white)}
.rb-how-it-works .container{max-width:var(--max-w)}
.rb-how__eyebrow{display:block;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.2em;color:var(--accent);margin-bottom:10px;text-align:center}
.rb-how__title{font-family:var(--serif);font-size:2rem;font-weight:700;color:var(--gray-900);text-align:center;margin-bottom:40px;line-height:1.2}
.rb-how__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;max-width:960px;margin:0 auto}

@media(width <=720px){.rb-how__grid{grid-template-columns:1fr}}
.rb-how__para{position:relative;padding-left:48px}
.rb-how__num{position:absolute;left:0;top:-4px;font-family:var(--serif);font-size:2rem;font-weight:700;color:var(--accent);opacity:.4;line-height:1}
.rb-how__para p{font-size:.98rem;color:var(--gray-700);line-height:1.7;margin:0}

/* ── Testing Method 4-step (block #7) ── */
.rb-method-section{padding:72px 24px;background:var(--gray-900);color:var(--gray-100)}
.rb-method-section .container{max-width:var(--max-w)}
.rb-method__eyebrow{display:block;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.22em;color:#d4a017;margin-bottom:12px;text-align:center}
.rb-method__title{font-family:var(--serif);font-size:2.2rem;font-weight:700;color:var(--white);text-align:center;margin-bottom:44px;line-height:1.15}
.rb-method__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}

@media(width <=900px){.rb-method__grid{grid-template-columns:repeat(2,1fr)}}

@media(width <=560px){.rb-method__grid{grid-template-columns:1fr}}
.rb-method__step{padding:24px;background:rgba(255,255,255,.04);border-radius:12px;border:1px solid rgba(255,255,255,.08);transition:border-color .2s}
.rb-method__step:hover{border-color:#d4a017}
.rb-method__num{font-family:"JetBrains Mono",monospace;font-size:.78rem;font-weight:700;color:#d4a017;letter-spacing:.16em;margin-bottom:10px}
.rb-method__step h4{font-family:var(--serif);font-size:1.2rem;font-weight:600;color:var(--white);margin-bottom:10px;line-height:1.3}
.rb-method__step p{font-size:.92rem;color:var(--gray-300);line-height:1.65;margin:0}

/* ── Tested items grid (block #8) ── */
.rb-fryers-section{padding:56px 24px;background:var(--white)}
.rb-fryers-section .container{max-width:var(--max-w)}
.rb-fryers__eyebrow{display:block;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.2em;color:var(--accent);margin-bottom:10px;text-align:center}
.rb-fryers__title{font-family:var(--serif);font-size:2rem;font-weight:700;color:var(--gray-900);text-align:center;line-height:1.2;margin-bottom:12px}
.rb-fryers__lede{font-size:.98rem;color:var(--gray-600);text-align:center;max-width:640px;margin:0 auto 36px;line-height:1.6}
.rb-fryers__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}

@media(width <=900px){.rb-fryers__grid{grid-template-columns:repeat(2,1fr)}}

@media(width <=560px){.rb-fryers__grid{grid-template-columns:1fr}}
.rb-fryer{padding:22px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:12px;transition:all .2s;position:relative}
.rb-fryer:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.06)}
.rb-fryer__tag{display:inline-block;font-size:.64rem;font-weight:900;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);background:var(--accent-light);padding:3px 10px;border-radius:99px;margin-bottom:10px}
.rb-fryer h4{font-family:var(--serif);font-size:1.08rem;font-weight:600;color:var(--gray-900);margin-bottom:6px;line-height:1.3}
.rb-fryer p{font-size:.88rem;color:var(--gray-600);line-height:1.5;margin:0}

/* Shortcuts + sub-type section tweaks */
.rb-shortcuts__head,.rb-top-head{max-width:var(--max-w);margin:0 auto 18px;text-align:center}
.rb-shortcuts__eyebrow,.rb-top-eyebrow{display:block;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.2em;color:var(--accent);margin-bottom:6px}
.rb-shortcuts__title,.rb-top-head h2{font-family:var(--serif);font-size:1.6rem;font-weight:700;color:var(--gray-900);margin:0}

/* ── Start Here (block #13) ── */
.rb-start-here{padding:64px 24px;background:var(--gray-50);border-top:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200)}
.rb-start-here .container{max-width:var(--max-w)}
.rb-start__eyebrow{display:block;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.2em;color:var(--accent);margin-bottom:10px;text-align:center}
.rb-start__title{font-family:var(--serif);font-size:2rem;font-weight:700;color:var(--gray-900);text-align:center;margin-bottom:10px;line-height:1.2}
.rb-start__lede{font-size:.98rem;color:var(--gray-600);text-align:center;max-width:540px;margin:0 auto 36px;line-height:1.6}
.rb-start__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}

@media(width <=900px){.rb-start__grid{grid-template-columns:repeat(2,1fr)}}

@media(width <=560px){.rb-start__grid{grid-template-columns:1fr}}
.rb-start__card{display:flex;flex-direction:column;gap:8px;padding:26px 22px;background:var(--white);border:1.5px solid var(--gray-200);border-radius:14px;text-decoration:none;color:var(--gray-900);position:relative;transition:all .2s;border-top:4px solid var(--rb-pillar-accent,var(--accent))}
.rb-start__card:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,0,0,.06);border-color:var(--rb-pillar-accent,var(--accent))}
.rb-start__num{position:absolute;top:14px;right:18px;font-family:"JetBrains Mono",monospace;font-size:.82rem;font-weight:700;color:var(--gray-300);letter-spacing:.1em}
.rb-start__emoji{font-size:2rem;line-height:1}
.rb-start__card h3{font-family:var(--serif);font-size:1.15rem;font-weight:700;color:var(--gray-900);margin:4px 0;line-height:1.25}
.rb-start__card p{font-size:.88rem;color:var(--gray-600);line-height:1.55;margin-bottom:10px;flex:1}
.rb-start__cta{font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.14em;color:var(--rb-pillar-accent,var(--accent))}

/* ── Progress counter (block #15) ── */
.rb-progress-section{padding:56px 24px;background:var(--white)}
.rb-progress-section .container{max-width:var(--max-w)}
.rb-progress__inner{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:center;padding:36px;background:linear-gradient(135deg,var(--accent-light) 0%,var(--white) 100%);border-radius:16px;border:1px solid var(--accent-light)}

@media(width <=820px){.rb-progress__inner{grid-template-columns:1fr;gap:28px}}
.rb-progress__eyebrow{display:block;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.2em;color:var(--accent);margin-bottom:10px}
.rb-progress__title{font-family:var(--serif);font-size:1.5rem;font-weight:700;color:var(--gray-900);line-height:1.25;margin-bottom:10px}
.rb-progress__lede{font-size:.92rem;color:var(--gray-600);line-height:1.65;margin:0}
.rb-progress__bar{position:relative;height:40px;background:var(--white);border-radius:99px;overflow:hidden;border:1px solid var(--gray-200);box-shadow:inset 0 1px 2px rgba(0,0,0,.05)}
.rb-progress__fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--accent) 0%,#d4a017 100%);border-radius:99px;transition:width .8s ease}
.rb-progress__pct{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:"JetBrains Mono",monospace;font-size:.88rem;font-weight:700;color:var(--gray-900);text-shadow:0 1px 2px rgba(255,255,255,.5)}

/* ═══════════ PILLAR PAGE BLOCKS ═══════════ */

/* Key Temps table (pillar #3) */
.rb-key-temps{padding:48px 24px 0}
.rb-key-temps .container{max-width:var(--max-w)}
.rb-key-temps__head{max-width:720px;margin:0 auto 24px;text-align:center}
.rb-key-temps__eyebrow{display:block;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.2em;color:var(--accent);margin-bottom:6px}
.rb-key-temps__head h2{font-family:var(--serif);font-size:1.6rem;font-weight:700;color:var(--gray-900);margin-bottom:8px}
.rb-key-temps__head p{font-size:.92rem;color:var(--gray-600)}
.rb-key-temps__table{max-width:860px;margin:0 auto;border:1px solid var(--gray-200);border-radius:12px;overflow:hidden;background:var(--white)}
.rb-key-temps__row{display:grid;grid-template-columns:2fr 2fr 1fr;gap:16px;align-items:center;padding:14px 20px;border-bottom:1px solid var(--gray-150);text-decoration:none;color:var(--gray-800);transition:background .15s}
.rb-key-temps__row:last-child{border-bottom:none}
.rb-key-temps__row:not(.rb-key-temps__row--head):hover{background:var(--accent-light);color:var(--gray-900)}
.rb-key-temps__row--head{background:var(--gray-900);color:var(--white);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.16em}
.rb-key-temps__row span:first-child{font-family:var(--serif);font-weight:600}
.rb-key-temps__sum{font-family:"JetBrains Mono",monospace;font-size:.82rem;color:var(--gray-600)}
.rb-key-temps__date{font-family:"JetBrains Mono",monospace;font-size:.76rem;color:var(--gray-500);text-align:right}

/* Reference value chart (pillar #4) */
.rb-doneness-section{padding:32px 24px}
.rb-doneness-section .container{max-width:var(--content-w)}
.rb-doneness-chart{background:var(--gray-50);border:1.5px solid var(--gray-200);border-radius:14px;padding:28px 32px}
.rb-doneness-chart__head{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.rb-doneness-chart__head span{font-size:1.8rem}
.rb-doneness-chart__head h3{font-family:var(--serif);font-size:1.3rem;font-weight:700;color:var(--gray-900);margin:0}
.rb-doneness-table{width:100%;border-collapse:collapse;font-size:.92rem}
.rb-doneness-table th,.rb-doneness-table td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--gray-200)}
.rb-doneness-table th{font-family:var(--sans);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.14em;color:var(--gray-500);background:transparent}
.rb-doneness-table td:nth-child(2){font-family:"JetBrains Mono",monospace;color:var(--accent)}
.rb-doneness-chart__note{margin:14px 0 0;font-size:.82rem;font-style:italic;color:var(--gray-500)}

/* Cross-cut groups (pillar #7) */
.rb-cross-cuts{padding:48px 24px}
.rb-cross-cuts .container{max-width:var(--max-w)}
.rb-cross-cuts__head{text-align:center;margin-bottom:36px}
.rb-cross-cuts__eyebrow{display:block;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.2em;color:var(--accent);margin-bottom:6px}
.rb-cross-cuts__head h2{font-family:var(--serif);font-size:1.8rem;font-weight:700;color:var(--gray-900);margin:0}
.rb-cross-cuts__block{margin-bottom:40px}
.rb-cross-cuts__block:last-child{margin-bottom:0}
.rb-cross-cuts__label{font-family:var(--serif);font-size:1.2rem;font-weight:700;color:var(--gray-900);margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid var(--accent);display:inline-block}

/* Author latest (pillar #8) */
.rb-author-latest{padding:48px 24px;background:var(--gray-50)}
.rb-author-latest .container{max-width:var(--max-w)}
.rb-author-latest__head{display:flex;align-items:center;gap:18px;margin-bottom:24px}
.rb-author-latest__head img,.rb-author-latest__head .avatar-chip{width:56px;height:56px;border-radius:50%;object-fit:cover;flex-shrink:0}
.rb-author-latest__head .avatar-chip{background:linear-gradient(145deg,var(--accent),var(--rb-gray-900,#1a1a1a));color:var(--rb-white,#fff);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:700}
.rb-author-latest__eyebrow{display:block;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.2em;color:var(--accent);margin-bottom:4px}
.rb-author-latest__head h2{font-family:var(--serif);font-size:1.4rem;font-weight:700;color:var(--gray-900);margin:0;line-height:1.2}

/* Related pillars head */
.rb-related-head{text-align:center;margin-bottom:32px}
.rb-related-eyebrow{display:block;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.2em;color:var(--accent);margin-bottom:6px}
.rb-related-head h2{font-family:var(--serif);font-size:1.8rem;font-weight:700;color:var(--gray-900);margin:0}

/* ═══════════════════════════════════════════════════════════════
   v2.2.0 — User remarks batch
   ═══════════════════════════════════════════════════════════════ */

/* Defensive: eliminate browser default margin that causes a white
   band above the top-bar on some hosts (LiteSpeed injection, admin
   bar spacing, etc.). */
html,body{margin:0 !important}

/* Remark #1 — Top bar designer script + big heart
   v3.2.9 — hauteur réduite à la demande utilisateur (50px → 36px). */
.top-bar{
  background:var(--accent);
  color:var(--rb-white,#fff);
  border-bottom:none;
  font-family:Caveat, "Brush Script MT", var(--serif);
  font-size:1.4rem;
  font-weight:400;
  letter-spacing:.01em;
  padding:7px 24px 8px;
  line-height:1;
  text-align:center;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
}

.top-bar__text{
  display:inline-block;
  font-weight:400;
}

.top-bar a{
  color:var(--rb-white,#fff);
  font-weight:400;
  text-decoration:underline;
  text-underline-offset:4px;
  text-decoration-thickness:2px;
  margin-left:4px;
}

.top-bar a:hover{
  color:#ffd4d4;
}

.top-bar__heart{
  color:var(--rb-white,#fff);
  display:inline-block;
  line-height:1;
  transform-origin:center;
  animation:rb-heart-pulse 1.4s ease-in-out infinite;
}

.top-bar__heart--big{
  font-size:1.8rem;
  color:#ffd4d4;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.25));
}

@keyframes rb-heart-pulse{
  0%,100%{transform:scale(1)}
  30%{transform:scale(1.22)}
  60%{transform:scale(0.96)}
}

@media(width <=540px){
  .top-bar{font-size:1.15rem;gap:8px;padding:6px 16px 7px}
  .top-bar__heart--big{font-size:1.5rem}
}

/* Anchor targets (Sign up, Jump to anchor) — offset so the sticky
   header doesn't cover the destination when scrolled to. */
#email-cta,
.email-cta{scroll-margin-top:140px}
/* #recipe-card est maintenant injecte INLINE juste avant la WPRM card par
   rb_inject_recipe_card_anchor (template-helpers.php). Offset reduit a 80px
   pour compenser uniquement le sticky header sans depasser au-dessus de la card. */
#recipe-card{scroll-margin-top:80px}

/* Remark #2 — Nav menu bold + hero H1 sized down (v3.1.12 — was XXL clamp(4rem,…,7.5rem) which dwarfed the hero on every viewport) */
.nav a{font-weight:900;letter-spacing:.16em}

.hero-tagline{
  font-size:clamp(2rem,1.4rem + 2.4vw,3rem);
  line-height:1.15;
  font-weight:600;
  letter-spacing:-.01em;
  max-width:780px;
}
.hero-tagline-section{padding:48px 24px 28px}

/* Remark #3 — Real images in circles (supports both photo + gradient fallback) */
.cat-circle img{width:100%;height:100%;object-fit:cover}

/* "As Seen In" — accent (button color) + bold for the title; logos black transparent */
.as-seen h6{
  color:var(--accent);
  font-weight:800;
  letter-spacing:.26em;
}

.as-seen-logos span{
  color:rgba(0,0,0,.55);
  opacity:1;
  font-style:normal;
}

/* Remark #5 — XL designer "View All" / "View More" + centered */
.view-all,
.view-more a{
  font-family:Caveat, "Brush Script MT", var(--serif) !important;
  font-size:2.2rem !important;
  font-weight:700 !important;
  letter-spacing:.01em;
  text-transform:none !important;
  color:var(--accent) !important;
  text-align:center !important;
  display:block !important;
  margin:24px auto 8px !important;
  line-height:1.1;
}

.view-all:hover,
.view-more a:hover{
  color:var(--accent-hover) !important;
  text-decoration:underline;
  text-underline-offset:6px;
}
.view-more{text-align:center !important}

.rb-cross-cuts__eyebrow{
  font-size:1rem !important;
  letter-spacing:.18em;
}

/* Remark #6 — niche-index page hero title XL + centered + sublede */
.page-hero__title--xl{
  font-size:clamp(3.2rem,2.2rem + 4vw,5rem) !important;
  line-height:1.05;
  letter-spacing:-.02em;
}
.section-title--centered{text-align:center}

.section-sublede{
  text-align:center;
  max-width:640px;
  margin:0 auto 32px;
  font-family:var(--serif);
  font-style:italic;
  font-size:1.05rem;
  color:var(--gray-600);
  line-height:1.6;
}

/* Remark #7 — Center titles on niche-index + /start-here/ page-hero zone */
.page-hero .page-hero__title,
.page-hero .page-hero__lede{text-align:center}
.top-rated-section .section-title{text-align:center}

/* Remark #8 — Top Rated display (editorial style: 3-col, review count prominent) */
.top-rated-section .card-grid{grid-template-columns:repeat(3,1fr);gap:32px}

@media(width <=900px){.top-rated-section .card-grid{grid-template-columns:repeat(2,1fr)}}

@media(width <=560px){.top-rated-section .card-grid{grid-template-columns:1fr}}

.top-rated-section .card-stars{
  margin-top:8px;
  justify-content:flex-start;
  font-size:.85rem;
}
.top-rated-section .card-stars .stars{font-size:1rem;letter-spacing:1px}

/* ═════════════════════════════════════════════════════════════════
   v3.2.16 — Top Rated horizontal scroller (Pinch-of-Yum style)
   Triggered when section has class .top-rated-section--scroll
   ═════════════════════════════════════════════════════════════════ */
.top-rated-section--scroll{padding:48px 0 56px;border-bottom:1px solid var(--rb-gray-100,#f3f3f3);text-align:center}
.top-rated-section--scroll .container{max-width:var(--rb-max-w,1200px);margin:0 auto;padding:0 24px}
.top-rated-section--scroll .tr-card{text-align:center}

/* Eyebrow heading — strictly matches `.explore-other h2` ("Also worth
   trying"): serif, 1.5rem, gray-900, centered, with the 48×3px accent bar
   underneath. The legacy `❦` ornaments are hidden via CSS (markup kept
   for back-compat). */
.tr-eyebrow{
  display:block;
  text-align:center;
  margin:0 auto 28px;
}
.tr-eyebrow__leaf{display:none}
.tr-eyebrow__text{
  /* Default fallback. The runtime typography emitter (header.php) maps this
     selector to `other_pillars_heading` JSON typography entry (same as
     "Also worth trying" → 1.75rem in default config), so JSON wins if set. */
  font-family:var(--rb-serif,Georgia,serif);
  font-size:1.75rem;
  font-weight:700;
  letter-spacing:0;
  text-transform:none;
  color:var(--rb-gray-900,#1a1a1a);
  margin:0;
  line-height:1.2;
  text-align:center;
  display:inline-block;
}
.tr-eyebrow__text::after{
  content:'';
  display:block;
  width:48px;
  height:3px;
  background:var(--rb-accent,#b03a2e);
  border-radius:2px;
  margin:12px auto 0;
}
.top-rated-section--scroll .section-sublede{margin-bottom:28px}
.tr-eyebrow__cta{
  text-align:center;
  margin:8px 0 24px;
  font-family:var(--rb-sans,'Inter',sans-serif);
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.08em;
}
.tr-eyebrow__cta a{
  color:var(--rb-accent,#b03a2e);
  text-decoration:none;
  border-bottom:1px solid var(--rb-accent,#b03a2e);
  padding-bottom:1px;
}
.tr-eyebrow__cta a:hover{opacity:.75}

/* Scroller wrap — relative for arrow positioning. overflow:hidden +
   inset 0 ensures no peek beyond the visible card row at scrollLeft=0. */
.tr-scroller-wrap{
  position:relative;
  margin:0;
  overflow:hidden;
  /* Hard right boundary — any sub-pixel card-overflow gets clipped. */
  contain:paint;
}
.tr-scroller-wrap .tr-scroller{margin:0}

/* Horizontal scroller — JS-driven scroll. Flexbox pattern (simpler than
   grid for this use-case, no sub-pixel rounding surprises). Cards have
   fixed width via flex-shrink:0 + flex-basis. */
.tr-scroller{
  display:flex;
  gap:24px;
  overflow-x:auto;
  scroll-behavior:smooth;
  padding:8px 0 16px;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.tr-scroller > .tr-card{
  flex:0 0 calc((100% - 96px) / 5);
  min-width:0;
}
@media(width <=1100px){.tr-scroller > .tr-card{flex-basis:calc((100% - 72px) / 4)}}
@media(width <=900px){.tr-scroller > .tr-card{flex-basis:calc((100% - 48px) / 3)}}
@media(width <=640px){.tr-scroller > .tr-card{flex-basis:calc((100% - 24px) / 2)}}
@media(width <=420px){.tr-scroller > .tr-card{flex-basis:78%}}
.tr-scroller::-webkit-scrollbar{display:none}

/* Card */
.tr-card{
  display:flex;
  flex-direction:column;
  text-decoration:none;
  color:inherit;
}
.tr-card__img{
  aspect-ratio:1/1;
  overflow:hidden;
  border-radius:8px;
  background:var(--rb-gray-100,#f3f3f3);
  margin-bottom:14px;
  position:relative;
}
.tr-card__img img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .4s ease;
}
.tr-card:hover .tr-card__img img{transform:scale(1.04)}

.tr-card__rating{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:4px;
  margin-bottom:8px;
}
.tr-card__stars{
  font-size:.9rem;
  color:#d4a017;
  letter-spacing:2px;
  line-height:1;
}
.tr-card__meta{
  font-family:var(--rb-sans,'Inter',sans-serif);
  font-size:.7rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--rb-gray-500,#737373);
}
.tr-card__title{
  font-family:var(--rb-serif,'Playfair Display',Georgia,serif);
  font-size:1.05rem;
  font-weight:600;
  line-height:1.35;
  text-align:center;
  color:var(--rb-gray-900,#1a1a1a);
  margin:0;
  padding:0 4px;
  transition:color .2s;
}
.tr-card:hover .tr-card__title{color:var(--rb-accent,#b03a2e)}

/* Arrows */
.tr-arrow{
  position:absolute;
  top:calc(50% - 28px);
  transform:translateY(-50%);
  width:44px;height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--rb-bg,#fff8f0);
  border:1px solid var(--rb-gray-200,#e5e5e5);
  border-radius:50%;
  color:var(--rb-gray-900,#1a1a1a);
  cursor:pointer;
  z-index:2;
  box-shadow:0 4px 12px rgba(0,0,0,.08);
  transition:background .15s,color .15s,opacity .15s,transform .15s;
}
.tr-arrow:hover{background:var(--rb-accent,#b03a2e);color:#fff;border-color:var(--rb-accent,#b03a2e)}
.tr-arrow:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}
.tr-arrow--prev{left:8px}
.tr-arrow--next{right:8px}
.tr-arrow svg{display:block}

@media(width <=640px){
  .tr-arrow{width:38px;height:38px}
  .tr-arrow--prev{left:6px}
  .tr-arrow--next{right:6px}
}

/* ═════════════════════════════════════════════════════════════════
   v3.2.21 — Paginated grid (5×3 = 15 cards/page) for "All [Pillar]"
   ═════════════════════════════════════════════════════════════════ */
.tr-section--grid .tr-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:32px 24px;
  padding:8px 0 28px;
}
@media(width <=1100px){.tr-section--grid .tr-grid{grid-template-columns:repeat(4,1fr)}}
@media(width <=900px){.tr-section--grid .tr-grid{grid-template-columns:repeat(3,1fr)}}
@media(width <=640px){.tr-section--grid .tr-grid{grid-template-columns:repeat(2,1fr);gap:24px 16px}}
@media(width <=420px){.tr-section--grid .tr-grid{grid-template-columns:1fr}}

/* Pagination bar */
.tr-pager{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  margin:24px auto 0;
  flex-wrap:wrap;
}
.tr-pager__btn,
.tr-pager__page{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  height:38px;
  padding:0 10px;
  font-family:var(--rb-sans,'Inter',sans-serif);
  font-size:.92rem;
  font-weight:600;
  color:var(--rb-gray-700,#555);
  background:transparent;
  border:1px solid var(--rb-gray-200,#e5e5e5);
  border-radius:6px;
  text-decoration:none;
  transition:background .15s,color .15s,border-color .15s;
}
.tr-pager__btn:hover,
.tr-pager__page:hover{
  background:var(--rb-gray-100,#f5f5f5);
  color:var(--rb-gray-900,#1a1a1a);
  border-color:var(--rb-gray-300,#d5d5d5);
}
.tr-pager__page--current{
  background:var(--rb-accent,#b03a2e);
  color:#fff;
  border-color:var(--rb-accent,#b03a2e);
  cursor:default;
  pointer-events:none;
}
.tr-pager__btn--disabled{
  opacity:.35;
  cursor:not-allowed;
  pointer-events:none;
}
.tr-pager__btn svg{display:block}

/* Remark #9 — /start-here Welcome enlarged */
.start-hero__h1--xl{
  font-size:clamp(3rem,2.2rem + 3.5vw,4.5rem) !important;
  line-height:1.05;
  letter-spacing:-.02em;
}

/* Remark #10 — Header search panel (toggle open/close) */
.nav-search-panel{
  max-height:0;
  overflow:hidden;
  background:var(--white);
  border-bottom:1px solid transparent;
  transition:max-height .25s ease, border-color .25s ease;
}

.nav-search-panel.open{
  max-height:120px;
  border-bottom:1px solid var(--gray-200);
}

.nav-search-panel form{
  max-width:var(--max-w);
  margin:0 auto;
  padding:16px 24px;
  display:flex;
  align-items:center;
  gap:0;
  background:var(--gray-50);
  border-radius:0;
}

/* v2.4.18 — defensive sizing : un thème parent ou un plugin (GeneratePress,
   p.ex.) peut injecter `svg{width:100%!important;height:100%!important}` ce
   qui ferait exploser nos icônes en pleine page. !important ici protège. */
.nav-search-panel svg{width:18px !important;height:18px !important;color:var(--accent);margin:0 12px;flex-shrink:0}
.nav-search svg{width:18px !important;height:18px !important;flex-shrink:0}
.qa-btn svg{width:14px !important;height:14px !important;flex-shrink:0}
.social-link svg{width:20px !important;height:20px !important;flex-shrink:0}

.rb-breadcrumbs svg,
.byline svg,
.rating-row svg{width:14px !important;height:14px !important;flex-shrink:0}

.nav-search-panel input{
  flex:1;
  border:none;
  padding:12px 8px;
  font-family:var(--sans);
  font-size:1rem;
  background:transparent;
  color:var(--gray-900);
}

.nav-search-panel button{
  padding:10px 20px;
  background:var(--accent);
  color:var(--rb-white,#fff);
  border:none;
  border-radius:6px;
  font-family:var(--sans);
  font-size:.8rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.14em;
  cursor:pointer;
}
.nav-search-panel button:hover{background:var(--accent-hover)}

/* Global rule — titles aligned with pinchofyum.com  -------------
   PoY H1 hero uses Playfair 500 italic at ~2.4rem.
   PoY H2 section titles use Playfair 700 at ~1.6–1.8rem, centered.
   PoY H3 card titles use Playfair 600 at ~1.1–1.5rem.
   These are already our defaults — the overrides below just make
   sure nothing exceeds PoY's restraint.                              */
h1{font-family:var(--serif);line-height:1.15;letter-spacing:-.01em}
h2{font-family:var(--serif);line-height:1.2;letter-spacing:-.005em}
h3{font-family:var(--serif);line-height:1.3}
.hero-tagline{font-family:var(--serif);font-style:italic}

/* ============================================================
   LATEST + SIDEBAR — PoY 2/3 + 1/3 layout (v2.4.1)
   ============================================================ */
.latest-with-sidebar{padding:0 24px 0}
.latest-with-sidebar__grid{display:grid;grid-template-columns:2fr 1fr;gap:48px;max-width:var(--max-w);margin:0 auto;align-items:start}

@media(width <=900px){.latest-with-sidebar__grid{grid-template-columns:1fr;gap:32px}}
.latest-heading{font-family:var(--serif);font-size:1.8rem;font-weight:700;color:var(--gray-900);margin-bottom:36px;text-align:left}
/* v3.2.10 — "View all Recipes →" placé DANS la section Trending Now,
   après les tags. Couleur = celle des boutons (--rb-accent), donc match
   toujours visuel quelle que soit la palette saisonnière. */
.rb-home-trending__view-all-cta{text-align:center;margin:32px 0 0;padding-bottom:0}
/* Couleur = EXACTEMENT la même règle que les H1 unified (rb-unified-page-h1)
   pour que les 2 résolvent toujours à la même valeur calculée. */
.rb-home-trending__view-all-cta a{display:inline-block;font-family:var(--rb-serif,Georgia,serif);font-size:1.15rem;font-weight:600;color:var(--accent) !important;text-decoration:none;letter-spacing:-.01em;padding:6px 18px;transition:color .15s,transform .15s}
.rb-home-trending__view-all-cta a:hover{transform:translateX(3px);opacity:.85}
.latest-col .latest-post{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:center;margin-bottom:40px;padding-bottom:40px;border-bottom:1px solid var(--gray-200)}
.latest-col .latest-post:last-of-type{border-bottom:none;margin-bottom:16px}

@media(width <=700px){.latest-col .latest-post{grid-template-columns:1fr}}

/* Sidebar promo card */
.sidebar-col{position:sticky;top:32px}

@media(width <=900px){.sidebar-col{position:static}}
.sidebar-promo-card{display:block;background:var(--accent-light);border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 4px 18px rgba(0,0,0,.06);transition:transform .3s,box-shadow .3s}
.sidebar-promo-card:hover{transform:translateY(-3px);box-shadow:0 8px 26px rgba(0,0,0,.1)}

/* v2.5.5 — match the 4/3 ratio of .latest-img in the left column so the
   promo image aligns with the first post's image baseline. */
.sidebar-promo-img{aspect-ratio:4/3;background:linear-gradient(145deg,var(--accent) 0%,var(--rb-gray-900,#1a1a1a) 140%);overflow:hidden}
.sidebar-promo-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.sidebar-promo-card:hover .sidebar-promo-img img{transform:scale(1.04)}
.sidebar-promo-emoji{font-size:5rem;filter:drop-shadow(0 3px 8px rgba(0,0,0,.3))}
.sidebar-promo-body{padding:28px 24px 32px;text-align:center}
.sidebar-promo-eyebrow{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin-bottom:10px}
.sidebar-promo-title{font-family:var(--serif);font-size:1.5rem;font-weight:700;color:var(--gray-900);margin-bottom:12px;line-height:1.25}
.sidebar-promo-desc{font-size:.9rem;color:var(--gray-600);line-height:1.55;margin-bottom:20px}
.sidebar-promo-cta{display:inline-block;padding:12px 22px;background:var(--accent);color:var(--rb-white,#fff);font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border-radius:999px;transition:background .2s}
.sidebar-promo-card:hover .sidebar-promo-cta{background:var(--accent-hover)}

/* Collections — under sidebar promo (editorial niche-index layout) */
.sidebar-collections{margin-top:64px;padding:0 4px}

/* v2.4.19 — Collections aligned on The Latest & Greatest style (same
   serif display, same weight, same color, same size). */
.sidebar-collections__h3{font-family:var(--serif);font-size:1.8rem;font-weight:700;color:var(--gray-900);margin-bottom:36px;text-align:center;text-transform:none;letter-spacing:normal}
.sidebar-collections .coll-list{list-style:none;counter-reset:coll;padding:0;margin:0}
.sidebar-collections .coll-list li{counter-increment:coll}
.sidebar-collections .coll-list a{display:flex;align-items:center;padding:12px 0;border-bottom:1px solid var(--gray-200);text-decoration:none;color:var(--gray-800);transition:all .2s}
.sidebar-collections .coll-list a:hover{padding-left:6px;color:var(--accent)}
.sidebar-collections .coll-list a::before{content:counter(coll);font-family:var(--serif);font-size:1.1rem;font-weight:700;color:var(--accent);width:28px;flex-shrink:0;text-align:center}
.sidebar-collections .coll-list a:hover::before{color:var(--accent-hover)}
.sidebar-collections .coll-name{font-family:var(--serif);font-size:.98rem;font-weight:600;flex:1;line-height:1.3}
.sidebar-collections .coll-count{font-size:.76rem;color:var(--gray-400);font-weight:700;margin-left:10px}

/* Ebook CTA eyebrow (PoY "signup for Email Updates") */
.ebook-eyebrow{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.22em;color:var(--accent);margin-bottom:10px}

/* WP-standard screen-reader-only class — hides the seasonal-palette accessibility label ("Verdant season", etc.) */
.screen-reader-text{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ============================================================
   PAGE-HERO TYPOGRAPHY — opt-in classes (v2.4.10, refactor G05-b)
   Was a `h1, h2 { !important }` global rule (v2.4.5) which forced EVERY
   heading site-wide to inherit the page-hero look (accent red, centered,
   3rem/2.25rem). That rule fought every section heading and required class
   overrides with !important to escape. v2.4.10 converts to opt-in classes :
   - .title-display → for hero/landing H1s (was: bare `h1`)
   - .title-section → for hub/landing H2s (was: bare `h2`)
   The semantic <h1>/<h2> tags now follow natural cascade (line 1765-1767).
   ============================================================ */
.title-display,
.archive-title,
.hub-intro__h1,
.start-welcome__h1,
.page-hero__title,
.page-hero__title--xl,
.hero-tagline{
  font-family:'Domaine Display',var(--serif);
  font-size:3rem;
  font-weight:400;
  text-align:center;
  color:var(--accent);
}

.title-section,
.hub-subsection__h2,
.start-collection__h2,
.latest-heading,
.sidebar-collections__h3,
.start-welcome__h2,
.start-search__h2{
  font-family:Cousine,var(--sans);
  font-size:2.25rem;
  font-weight:700;
  text-align:center;
  color:var(--accent);
  text-transform:none;
  letter-spacing:normal;
}

/* ============================================================
   START HERE — PoY clone (v2.4.1)
   ============================================================ */
.start-hero-banner{width:100%;max-height:480px;overflow:hidden}
.start-hero-banner img{width:100%;height:100%;max-height:480px;object-fit:cover;display:block}
.start-welcome{padding:56px 24px 40px;background:var(--white);text-align:center}
.start-welcome__inner{max-width:780px}
.start-welcome__h1{font-family:var(--serif);font-size:clamp(2.4rem,1.8rem + 2.6vw,3.6rem);font-weight:700;color:var(--gray-900);margin-bottom:10px;line-height:1.1;letter-spacing:-.01em}
.start-welcome__h2{font-family:var(--serif);font-style:italic;font-size:clamp(1.2rem,1rem + .6vw,1.5rem);font-weight:400;color:var(--gray-600);margin-bottom:24px;line-height:1.35}
.start-welcome p{font-size:1rem;color:var(--gray-700);line-height:1.8}

.start-search{padding:40px 24px 20px;text-align:center}
.start-search__h2{font-family:var(--serif);font-size:1.6rem;font-weight:700;color:var(--gray-900);margin-bottom:20px}
.start-search .page-search{max-width:560px;margin:0 auto}
.start-search__hint{margin-top:16px;font-size:.9rem;color:var(--gray-500);font-style:italic}

/* Start-Here collection section — 4 cards with description + CTA */
.start-collection{padding:48px 24px 16px}
.start-collection .container{max-width:var(--max-w)}
.start-collection__h2{font-family:var(--serif);font-size:clamp(1.6rem,1.3rem + 1vw,2.1rem);font-weight:700;color:var(--gray-900);text-align:center;margin-bottom:32px;letter-spacing:-.01em}
.start-collection__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}

@media(width <=1000px){.start-collection__grid{grid-template-columns:repeat(2,1fr)}}

@media(width <=560px){.start-collection__grid{grid-template-columns:1fr}}

.start-card{display:flex;flex-direction:column;gap:10px;text-align:left}
.start-card__img{display:block;border-radius:10px;overflow:hidden;aspect-ratio:4/3;background:linear-gradient(145deg,var(--gray-100),var(--gray-200));margin-bottom:6px}
.start-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.start-card:hover .start-card__img img{transform:scale(1.04)}
.start-card__emoji{display:flex;align-items:center;justify-content:center;height:100%;font-size:2.8rem}
.start-card__title{font-family:var(--serif);font-size:1.15rem;font-weight:700;line-height:1.3;margin:0}
.start-card__title a{color:var(--gray-900);text-decoration:none}
.start-card__title a:hover{color:var(--accent)}
.start-card__desc{font-size:.9rem;color:var(--gray-600);line-height:1.55;margin:0}
.start-card__cta{align-self:flex-start;margin-top:4px;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);padding:10px 18px;border:1.5px solid var(--accent);border-radius:999px;text-decoration:none;transition:all .2s}
.start-card__cta:hover{background:var(--accent);color:var(--rb-white,#fff)}

/* ============================================================
   PILLAR HUB — editorial niche-index/<tag>/ clone (v2.4.2)
   ============================================================ */

/* v3.1.9 — verified original hub-shell background from the reference screenshots.
   Dominant sampled hero tone on the good hub pages = rgb(255, 248, 240)
   / var(--rb-colors-surface,#fff8f0), not the pinker accent-bg used in v3.1.8. */
.rb-hub-shell{
  --rb-hub-shell-bg:var(--rb-colors-surface,#fff8f0);
}

.rb-hub-shell .rb-breadcrumbs{
  background:var(--rb-hub-shell-bg);
  margin-top:0;
  padding-top:28px;
  padding-bottom:10px;
}

.rb-hub-shell .hub-intro{
  background:var(--rb-hub-shell-bg);
  padding-top:18px;
  padding-bottom:30px;
}

.rb-hub-shell .explore-other{
  background:var(--rb-hub-shell-bg);
  margin:0 auto;
  padding-top:26px;
  padding-bottom:56px;
}
.rb-hub-shell .rb-related-head{margin-bottom:26px}
.rb-hub-shell .explore-other-grid{padding-bottom:0}

.hub-intro{padding:44px 24px 12px;text-align:center}
.hub-intro .container{max-width:780px}
.hub-intro__h1{font-family:var(--serif);font-size:clamp(2.2rem,1.8rem + 2vw,3.2rem);font-weight:700;color:var(--gray-900);line-height:1.12;letter-spacing:-.01em;margin-bottom:16px}
.hub-intro__lead{font-size:1.02rem;color:var(--gray-700);line-height:1.75;margin:0 auto;max-width:620px}

.hub-subsection{padding:40px 24px 8px}
.hub-subsection .container{max-width:var(--max-w)}
.hub-subsection__h2{margin-bottom:10px}
.hub-subsection__desc{font-size:.96rem;color:var(--gray-600);line-height:1.7;margin:0 0 28px}
.hub-subsection__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:36px 32px}

@media(width <=700px){.hub-subsection__grid{grid-template-columns:1fr;gap:28px}}

.hub-card{display:block;text-decoration:none;color:inherit}
.hub-card__img{border-radius:10px;overflow:hidden;aspect-ratio:1/1;background:linear-gradient(145deg,var(--gray-100),var(--gray-200));margin-bottom:14px}
.hub-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.hub-card:hover .hub-card__img img{transform:scale(1.04)}
.hub-card__emoji{display:flex;align-items:center;justify-content:center;height:100%;font-size:3rem}
.hub-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;font-size:.78rem;color:var(--gray-500);margin-bottom:8px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.hub-card__stars{color:#d4a017;letter-spacing:.05em}
.hub-card__reviews,.hub-card__avg{color:var(--gray-500)}
.hub-card__title{font-family:var(--serif);font-size:1.3rem;font-weight:600;color:var(--gray-900);line-height:1.3;margin:0}
.hub-card:hover .hub-card__title{color:var(--accent)}

/* v2.4.77 — unified H1 typography across every top-level page header.
   Covers the 3 menu pages (About / niche index / Start Here via the
   shared page-hero partial) AND the hub-hero (category.php + pillar-hub),
   archive listings, tag, search, author, and Start Here legacy class.
   !important overrides earlier per-template rules so the design stays
   uniform no matter which template rendered the page.

   Design comes from .page-hero__title--xl: Domaine Display / var(--serif),
   clamp() 3.2rem→5rem, weight 700, tight letter-spacing, centered,
   accent color, line-height 1.05. */
.page-hero__title,
.page-hero__title--xl,
.hub-intro__h1,
.hub-hero-text h1,
.start-welcome__h1,
.archive-title,
.author-info .author-name,
.title-display {
  font-family: 'Domaine Display', var(--serif) !important;
  font-size: clamp(3.2rem, 2.2rem + 4vw, 5rem) !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: -.02em !important;
  color: var(--accent) !important;
}

/* v2.4.81 — "As Seen In" press-logos row (restored from v2.4.60 removal). */
.press-logos{padding:40px 24px 16px;text-align:center;border-bottom:1px solid var(--gray-100)}
.press-logos__eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-500);margin-bottom:18px}
.press-logos__row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:32px 40px}
.press-logos__item{display:inline-flex;align-items:center;color:var(--gray-500);font-family:var(--serif);font-size:1.15rem;font-weight:400;letter-spacing:.02em;text-decoration:none;transition:color .2s,opacity .2s;opacity:.8}
.press-logos__item:hover{color:var(--gray-800);opacity:1}
.press-logos__item img{display:block;height:36px;width:auto;filter:grayscale(1);opacity:.75;transition:filter .2s,opacity .2s}
.press-logos__item:hover img{filter:grayscale(0);opacity:1}

/* v2.4.78 — Align the sidebar Free-Download image with the first post
   image on the left. The latest-col starts with `.latest-heading`
   (1.8rem serif + 36px margin-bottom ≈ 75px of top offset) before its
   first article. We push the promo card down by the same amount so the
   two images share a top baseline. Only applies at ≥901px (single-col
   stack below that). */
@media (width >= 901px) {
  .latest-with-sidebar .latest-col:has(.latest-heading) + .sidebar-col > .sidebar-promo-card {
    margin-top: calc(1.8rem * 1.3 + 36px);
  }
}

/* Alignment stays context-driven — page-hero blocks centered inherit
   from .page-hero; hub-hero stays left-aligned in its 2-col grid. */

/* v3.1.1 — fallback visual parity for Trending Now when no imported
   typography override is present yet. Imported JSON still wins because
   header.php now emits runtime typography CSS after wp_head(). */
.rb-home-trending__title{
  font-family:Cousine,var(--sans);
  font-size:2.25rem;
  font-weight:700;
  text-align:center;
  color:var(--accent);
  text-transform:none;
  letter-spacing:normal;
}

/* v3.1.2 — unified public-site H1 system.
   One shared front-end class + explicit selectors for legacy templates so
   all page H1s use the same headline treatment and the site accent color.
   Alignment stays context-driven: centered wrappers stay centered, article
   layouts can keep left alignment when the container defines it. */
.rb-page-h1,
.archive-title,
.author-info .author-name,
.article-title,
.hub-hero-text h1,
.hub-intro__h1,
.page-hero__title,
.page-hero__title--xl,
.hero-tagline{
  font-family:'Domaine Display',var(--serif);
  font-size:clamp(2.4rem,1.8rem + 3vw,3.6rem);
  font-weight:400;
  line-height:1.05;
  letter-spacing:-.02em;
  color:var(--accent);
}

/* ============================================================
   YMYL DISCLAIMER (v3.1.11) — visible trust signal at top of
   YMYL articles (legal / health / financial / safety / pet care).
   Rendered by includes/ymyl-meta.php on the_content priority 4.
   ============================================================ */
.rb-ymyl-disclaimer{
    margin:0 0 28px;
    padding:18px 22px;
    background:var(--rb-colors-accent-band,#fff8e1);
    border:1px solid #f5cf85;
    border-left:4px solid #d4a017;
    border-radius:8px;
    font-family:var(--rb-sans, "Lato", system-ui, sans-serif);
    font-size:.92rem;
    line-height:1.55;
    color:var(--rb-gray-700,#5a4220);
}
.rb-ymyl-disclaimer__label{
    margin:0 0 6px;
    font-size:.72rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.14em;
    color:var(--rb-gray-600,#8a6510);
}
.rb-ymyl-disclaimer__body{
    margin:0;
}
.rb-ymyl-disclaimer__body p{
    margin:0 0 8px;
}
.rb-ymyl-disclaimer__body p:last-child{
    margin-bottom:0;
}
.rb-ymyl-disclaimer__body a{
    color:var(--rb-gray-700,#7a4a0c);
    text-decoration:underline;
    text-decoration-thickness:1px;
    text-underline-offset:2px;
}
.rb-ymyl-disclaimer__body a:hover{
    color:var(--rb-gray-700,#5a3208);
}
@media print{
    .rb-ymyl-disclaimer{
        background:transparent;
        border:1px solid var(--rb-gray-700,#555);
        border-left-width:1px;
        color:var(--rb-colors-neutral-900,#1a1a1a);
    }
}

/* ============================================================
   AUTHOR PAGE — newsletter handoff block (v3.1.12)
   Sits between the bio/credentials block and the articles grid
   (the "trust handoff" position used by leading editorial author
   pages — highest-converting slot on the page).
   ============================================================ */
.email-cta--author-handoff{
    max-width:760px;
    margin:48px auto 56px;
    padding:36px 32px 32px;
    background:var(--rb-colors-surface,#fff8f0);
    border:1px solid var(--rb-colors-accent-band-border,#f3e3c8);
    border-radius:14px;
    text-align:center;
}
.email-cta--author-handoff h3{
    font-family:var(--rb-serif, "Playfair Display", serif);
    font-size:1.6rem;
    font-weight:700;
    color:var(--rb-gray-900, var(--rb-gray-900,#1a1a1a));
    margin:0 0 8px;
    line-height:1.2;
}
.email-cta--author-handoff p{
    font-size:.96rem;
    color:var(--rb-gray-700, var(--rb-gray-700,#555));
    line-height:1.5;
    margin:0 auto 18px;
    max-width:520px;
}
.email-cta--author-handoff form{
    max-width:480px;
    margin:0 auto;
}
@media (max-width:640px){
    .email-cta--author-handoff{
        margin:32px auto 40px;
        padding:28px 22px 24px;
    }
    .email-cta--author-handoff h3{font-size:1.35rem}
}
@media print{
    .email-cta--author-handoff{display:none}
}

/* ============================================================
   GLOBAL FOOTER NEWSLETTER BAND (v3.1.12)
   Renders ABOVE the <footer> chrome on every page except home
   (home has its own dedicated #email-cta) and author pages (those
   carry an inline .email-cta--author-handoff in the bio area).
   Full-width warm-cream band, content max-width 720px centered.
   ============================================================ */
.footer-newsletter{
    background:var(--rb-colors-surface,#fff8f0);
    border-top:1px solid var(--rb-colors-accent-band-border,#f3e3c8);
    border-bottom:1px solid var(--rb-colors-accent-band-border,#f3e3c8);
    padding:56px 24px;
    margin:64px 0 0;
}
.footer-newsletter__inner{
    max-width:720px;
    margin:0 auto;
    text-align:center;
}
.footer-newsletter__eyebrow{
    font-family:var(--rb-sans, "Lato", system-ui, sans-serif);
    font-size:.72rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.22em;
    color:var(--rb-accent, var(--rb-accent,#2d6a4f));
    margin:0 0 14px;
}
.footer-newsletter__title{
    font-family:var(--rb-serif, "Playfair Display", serif);
    font-size:clamp(1.6rem, 1.2rem + 1.6vw, 2.2rem);
    font-weight:700;
    color:var(--rb-gray-900, var(--rb-gray-900,#1a1a1a));
    margin:0 0 12px;
    line-height:1.2;
}
.footer-newsletter__subtext{
    font-family:var(--rb-sans, "Lato", system-ui, sans-serif);
    font-size:1rem;
    color:var(--rb-gray-700, var(--rb-gray-700,#555));
    line-height:1.55;
    margin:0 auto 24px;
    max-width:560px;
}
.footer-newsletter form{
    max-width:480px;
    margin:0 auto;
}
@media (max-width:640px){
    .footer-newsletter{padding:40px 22px;margin-top:48px}
    .footer-newsletter__subtext{font-size:.94rem}
}
@media print{
    .footer-newsletter{display:none}
}

/* ============================================================
   CANONICAL SUBSCRIBE BLOCK (v3.1.12) — .rb-subscribe
   Single-source-of-truth design used by template-parts/subscribe-block.php.
   3 call sites (home, footer, author) all render this exact markup with
   only an additive modifier class (--home / --footer / --author) when a
   contextual variation is needed. Default = niche-agnostic, niche-safe.
   ============================================================ */
.rb-subscribe{
    background:var(--rb-colors-surface,#fff8f0);
    border-top:1px solid var(--rb-colors-accent-band-border,#f3e3c8);
    border-bottom:1px solid var(--rb-colors-accent-band-border,#f3e3c8);
    padding:56px 24px;
    margin:48px 0 0;
}
.rb-subscribe__inner{
    max-width:720px;
    margin:0 auto;
    text-align:center;
}
.rb-subscribe__eyebrow{
    font-family:var(--rb-sans, "Lato", system-ui, sans-serif);
    font-size:.72rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.22em;
    color:var(--rb-accent, var(--rb-accent,#2d6a4f));
    margin:0 0 14px;
}
.rb-subscribe__title{
    font-family:var(--rb-serif, "Playfair Display", serif);
    font-size:clamp(1.6rem, 1.2rem + 1.6vw, 2.2rem);
    font-weight:700;
    color:var(--rb-gray-900, var(--rb-gray-900,#1a1a1a));
    margin:0 0 12px;
    line-height:1.2;
}
.rb-subscribe__subtext{
    font-family:var(--rb-sans, "Lato", system-ui, sans-serif);
    font-size:1rem;
    color:var(--rb-gray-700, var(--rb-gray-700,#555));
    line-height:1.55;
    margin:0 auto 24px;
    max-width:560px;
}
.rb-subscribe form{
    max-width:480px;
    margin:0 auto;
    display:flex;
    flex-wrap:wrap;
    align-items:stretch;
    gap:0;
}
/* Hidden inputs must not act as flex items (they get 0×0 slots in some browsers
   but Firefox+Safari give them tiny defaults that visibly shift the row). */
.rb-subscribe form input[type="hidden"]{display:none !important}
/* Specificity bumped (.rb-subscribe form.email-form …) to override the older
   .email-form block from line ~278 that was making the button border:none and
   3px shorter than the input. */
.rb-subscribe form.email-form input[type="email"],
.rb-subscribe form input[type="email"]{
    flex:1 1 0;
    min-width:0;
    padding:12px 16px;
    font-size:1rem;
    line-height:1.4;
    border:1.5px solid var(--rb-gray-300, #d5d5d5);
    border-right:none;
    border-radius:8px 0 0 8px;
    background:var(--rb-white,#fff);
    color:var(--rb-gray-800,#333);
    font-family:var(--rb-sans, "Lato", system-ui, sans-serif);
    box-sizing:border-box;
}
.rb-subscribe form.email-form button[type="submit"],
.rb-subscribe form button[type="submit"],
.rb-subscribe form button{
    flex-shrink:0;
    white-space:nowrap;
    padding:12px 22px;
    font-size:.82rem;
    font-weight:800;
    line-height:1.4;
    text-transform:uppercase;
    letter-spacing:.12em;
    color:var(--rb-white,#fff);
    background:var(--rb-accent,#2d6a4f);
    border:1.5px solid var(--rb-accent,#2d6a4f);
    border-radius:0 8px 8px 0;
    cursor:pointer;
    font-family:var(--rb-sans, "Lato", system-ui, sans-serif);
    transition:background .15s, border-color .15s;
    box-sizing:border-box;
}
.rb-subscribe form button:hover,
.rb-subscribe form button[type="submit"]:hover{
    background:var(--rb-accent-hover,#1b4332);
    border-color:var(--rb-accent-hover,#1b4332);
}
.rb-subscribe form input[type="email"]:focus{
    border-color:var(--rb-accent,#2d6a4f);
    outline:none;
}
.rb-subscribe form .rb-newsletter-consent,
.rb-subscribe form .rb-newsletter-error{
    flex-basis:100%;
    width:100%;
    margin-top:10px;
    text-align:left;
}

/* Variant modifiers — keep base unchanged, override only what differs.
   By default all 3 sites look identical; modifiers exist for future tweaks. */
.rb-subscribe--home{margin:48px auto 56px;max-width:1200px}
.rb-subscribe--footer{margin:64px 0 0}
.rb-subscribe--author{margin:48px auto 56px;max-width:760px;border-radius:14px;border-top-width:1px}

@media (max-width:640px){
    .rb-subscribe{padding:40px 22px}
    .rb-subscribe form{flex-direction:column;gap:8px}
    .rb-subscribe form input[type="email"],
    .rb-subscribe form button{border-radius:8px;width:100%}
}
@media print{
    .rb-subscribe{display:none}
}

/* ============================================================
   HONEYPOT TRAP (v3.1.14) — visually hidden, no inline-style
   signature so bots scanning for "left:-9999px" inline can't
   easily detect this as a honeypot.
   ============================================================ */
.rb-hp-trap{
    position:absolute !important;
    left:-9999px !important;
    top:-9999px !important;
    width:1px !important;
    height:1px !important;
    overflow:hidden !important;
}

/* ============================================================
   SHARE MENU (v3.2.2) — universal fallback when Web Share API
   isn't available (desktop browsers + HTTP localhost). Modal
   panel with social platform intents + copy-link button.
   ============================================================ */
.rb-share-menu{
    position:fixed;inset:0;
    background:rgba(0,0,0,.6);
    display:flex;align-items:center;justify-content:center;
    z-index:9999;padding:20px;
    animation:rb-share-fade .15s ease-out;
}
@keyframes rb-share-fade{from{opacity:0}to{opacity:1}}
.rb-share-menu__panel{
    background:var(--rb-bg,#fff);
    border-radius:14px;
    padding:24px 22px 20px;
    max-width:380px;width:100%;
    box-shadow:var(--rb-shadows-lg,0 12px 48px rgba(0,0,0,.25));
    position:relative;
}
.rb-share-menu__close{
    position:absolute;top:8px;right:12px;
    background:none;border:none;font-size:1.6rem;line-height:1;
    color:var(--rb-gray-500,#737373);cursor:pointer;
    padding:6px 10px;border-radius:6px;
}
.rb-share-menu__close:hover{background:var(--rb-gray-100,#f5f5f4);color:var(--rb-gray-900,#1a1a1a)}
.rb-share-menu__title{
    font-family:var(--rb-serif,"Playfair Display",serif);
    font-size:1.15rem;font-weight:700;
    margin:0 0 16px;color:var(--rb-gray-900,#1a1a1a);
}
.rb-share-menu__buttons{display:flex;flex-direction:column;gap:8px}
.rb-share-menu__buttons > a,
.rb-share-menu__buttons > button{
    display:block;width:100%;
    padding:11px 14px;
    background:var(--rb-gray-100,#f5f5f4);
    color:var(--rb-gray-900,#1a1a1a);
    border:1px solid var(--rb-gray-200,#e8e8e8);
    border-radius:8px;
    font-family:var(--rb-sans,"Lato",sans-serif);
    font-size:.9rem;font-weight:600;
    text-decoration:none;text-align:left;
    cursor:pointer;transition:background .12s,border-color .12s;
}
.rb-share-menu__buttons > a:hover,
.rb-share-menu__buttons > button:hover{
    background:var(--rb-bg,#fff);
    border-color:var(--rb-accent,#2d6a4f);
}
@media print{.rb-share-menu{display:none}}

/* Toast (existing — make sure visible above admin bar + share menu) */
.rb-toast{
    position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);
    background:var(--rb-gray-900,#1a1a1a);color:#fff;
    padding:12px 22px;border-radius:8px;
    font-family:var(--rb-sans,"Lato",sans-serif);font-size:.92rem;font-weight:600;
    box-shadow:var(--rb-shadows-lg,0 12px 48px rgba(0,0,0,.25));
    opacity:0;pointer-events:none;
    transition:opacity .2s,transform .2s;
    z-index:10000;
}
.rb-toast.is-visible{opacity:1;transform:translateX(-50%) translateY(0)}

/* ============================================================
   ADJACENT NAV — Article suivant/precedent meme categorie
   Design : eyebrow centre + 2 cards image+title, hover lift+glow
   ============================================================ */
.rb-adjacent{
  margin:80px 0 60px;
  padding:0 var(--rb-gutter,24px);
  max-width:var(--rb-content-max,1140px);
  margin-left:auto;margin-right:auto;
}
.rb-adjacent__eyebrow{
  display:flex;align-items:center;gap:18px;
  margin-bottom:32px;
  font-family:var(--rb-sans);
  font-size:.78rem;font-weight:900;
  text-transform:uppercase;letter-spacing:.18em;
  color:var(--rb-gray-700,#3a3a3a);
}
.rb-adjacent__eyebrow-line{
  flex:1;height:1px;
  background:linear-gradient(90deg,transparent,var(--rb-accent,#2d6a4f) 50%,transparent);
  opacity:.45;
}
.rb-adjacent__eyebrow-text{
  text-decoration:none;color:inherit;
  white-space:nowrap;
  padding:4px 14px;
  border-radius:99px;
  border:1.5px solid var(--rb-accent,#2d6a4f);
  color:var(--rb-accent,#2d6a4f);
  transition:all .25s ease;
}
.rb-adjacent__eyebrow-text:hover{
  background:var(--rb-accent,#2d6a4f);
  color:var(--rb-white,#fff);
  transform:translateY(-1px);
}
.rb-adjacent__grid{
  display:grid;grid-template-columns:1fr 1fr;gap:24px;
}
.rb-adjacent__card{
  position:relative;
  display:grid;grid-template-columns:160px 1fr;
  background:var(--rb-white,#fff);
  border-radius:14px;overflow:hidden;
  box-shadow:0 2px 12px rgba(0,0,0,.06),0 0 0 1px rgba(0,0,0,.04);
  text-decoration:none;color:inherit;
  transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease;
  isolation:isolate;
}
.rb-adjacent__card:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 48px rgba(192,57,43,.18),0 0 0 1px var(--rb-accent,#2d6a4f);
}
.rb-adjacent__card:hover .rb-adjacent__img{transform:scale(1.08)}
.rb-adjacent__card:hover .rb-adjacent__overlay{opacity:1;transform:translate(-50%,-50%) scale(1)}
.rb-adjacent__card:hover .rb-adjacent__title{color:var(--rb-accent,#2d6a4f)}
.rb-adjacent__card--empty{
  background:transparent;box-shadow:none;pointer-events:none;
}
.rb-adjacent__thumb{
  position:relative;overflow:hidden;
  aspect-ratio:1/1;background:var(--rb-cream,#f8f3ea);
}
.rb-adjacent__img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}
.rb-adjacent__placeholder{
  width:100%;height:100%;
  background:linear-gradient(135deg,var(--rb-cream,#f8f3ea),var(--rb-gray-200,#e6e0d2));
}
.rb-adjacent__overlay{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%) scale(.7);
  width:48px;height:48px;border-radius:50%;
  background:rgba(192,57,43,.92);color:var(--rb-white,#fff);
  display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .35s ease,transform .35s cubic-bezier(.2,.7,.2,1);
  box-shadow:0 8px 24px rgba(192,57,43,.45);
}
.rb-adjacent__overlay svg{width:22px;height:22px}
.rb-adjacent__body{
  display:flex;flex-direction:column;justify-content:center;
  padding:16px 20px;
  gap:8px;
}
.rb-adjacent__label{
  font-family:var(--rb-sans);
  font-size:.7rem;font-weight:900;
  text-transform:uppercase;letter-spacing:.14em;
  color:var(--rb-accent,#2d6a4f);
}
.rb-adjacent__card--next .rb-adjacent__body{align-items:flex-end;text-align:right}
.rb-adjacent__title{
  font-family:var(--rb-serif);
  font-size:1.05rem;font-weight:600;line-height:1.25;
  color:var(--rb-gray-900,#1a1a1a);
  margin:0;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;
  overflow:hidden;
  transition:color .2s ease;
}
@media(max-width:768px){
  .rb-adjacent{margin:56px 0 40px}
  .rb-adjacent__eyebrow{font-size:.7rem;margin-bottom:22px}
  .rb-adjacent__grid{grid-template-columns:1fr;gap:14px}
  .rb-adjacent__card{grid-template-columns:120px 1fr}
  .rb-adjacent__title{font-size:.95rem;-webkit-line-clamp:2}
  .rb-adjacent__overlay{width:38px;height:38px}
  .rb-adjacent__overlay svg{width:18px;height:18px}
}
