/*
Theme Name: ApuestaViva Child
Template: astra
Description: Custom design system for ApuestaViva — Lotería Editorial palette (marigold/terracotta/deep teal), single system-serif typography (zero web-font requests), built per the Design System & Custom Theme Brief (2026-08-19). This file is COMPILED from assets/css/tokens.css + assets/css/components.css + assets/css/legacy-sitewide.css (in that order) — edit those source files, then regenerate this one. Do not hand-edit below this line.
Version: 1.3.10
Author: Apuesta Viva
Text Domain: apuestaviva-child

/* ==========================================================================
   ApuestaViva Design Tokens
   Source of truth for color, spacing, and typography across the whole site.
   Direction: Lotería Editorial palette + Verificado performance discipline
   (approved 2026-08-18, see Drafts/Governance/Design System & Theme Build.md)

   Compiled into style.css at build time — this file is source, not what
   the browser loads. Edit here, then rebuild style.css.
   ========================================================================== */

:root {
  /* ---------- Color: base ---------- */
  --av-ink:            #1B2430; /* primary dark — hero/header backgrounds, primary text on light */
  --av-ink-soft:        #232C39; /* card/section background on dark, one step lighter than ink */
  --av-cream:           #F6EFE3; /* primary light background, text-on-dark */
  --av-cream-alt:       #FAF6EE; /* alternate light section background (subtle contrast to --av-cream) */

  /* ---------- Color: accents ---------- */
  --av-marigold:        #E8A33D; /* primary accent — CTAs, kickers, active states */
  --av-marigold-soft:   #F0BB6B; /* hover/lighter variant of marigold */
  --av-terracotta:      #C1502E; /* secondary accent — links, highlights */
  --av-terracotta-soft: #D97050; /* hover/lighter variant of terracotta */
  --av-teal:            #0F5C56; /* trust/verification accent — badges, checkmarks */
  --av-teal-soft:       #17827A; /* hover/lighter variant of teal */

  /* ---------- Color: semantic (state, not brand) ---------- */
  --av-success:         #2F9E5C; /* pros / verified-positive — distinct from brand teal */
  --av-danger:          #B8122A; /* cons / warnings */

  /* ---------- Color: text ---------- */
  --av-text:            #22252B; /* body text on light backgrounds */
  --av-text-muted:      #6B6259; /* secondary text on light backgrounds */
  --av-text-on-dark:    #F6EFE3; /* body text on dark backgrounds (= --av-cream) */
  --av-text-muted-dark: #B8ADA0; /* secondary text on dark backgrounds */

  /* ---------- Color: structure ---------- */
  --av-border:          rgba(193, 80, 46, 0.18); /* default hairline border (terracotta-tinted) */
  --av-border-dark:     rgba(232, 163, 61, 0.22); /* hairline border on dark backgrounds (marigold-tinted) */

  /* ---------- Typography ---------- */
  /* One serif family for ALL prose (headlines + body) — zero web-font requests. */
  --av-font-serif: Georgia, "Iowan Old Style", "Times New Roman", serif;
  /* System sans for functional UI text ONLY — kickers, badges, buttons, labels. Never prose. */
  --av-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

  --av-text-xs:   0.75rem;   /* 12px — fine print, sub-labels */
  --av-text-sm:   0.875rem;  /* 14px — small UI text, card descriptions */
  --av-text-base: 1rem;      /* 16px — body copy */
  --av-text-lg:   1.1875rem; /* 19px — lead paragraphs, card titles */
  --av-text-xl:   1.5rem;    /* 24px — H3 */
  --av-text-2xl:  1.875rem;  /* 30px — H2 */
  --av-text-3xl:  2.375rem;  /* 38px — H1 (mobile) */
  --av-text-4xl:  3rem;      /* 48px — H1 (desktop) */

  --av-leading-tight: 1.2;
  --av-leading-base:  1.6;

  /* ---------- Spacing scale (4px base unit) ---------- */
  --av-space-1: 0.25rem; /* 4px */
  --av-space-2: 0.5rem;  /* 8px */
  --av-space-3: 0.75rem; /* 12px */
  --av-space-4: 1rem;    /* 16px */
  --av-space-5: 1.5rem;  /* 24px */
  --av-space-6: 2rem;    /* 32px */
  --av-space-7: 3rem;    /* 48px */
  --av-space-8: 4rem;    /* 64px */
  --av-space-9: 6rem;    /* 96px */

  /* ---------- Radius & elevation ---------- */
  --av-radius-sm: 4px;
  --av-radius-md: 8px;
  --av-radius-lg: 12px;
  --av-shadow-card: 0 2px 10px rgba(27, 36, 48, 0.06);

  /* ---------- Layout ---------- */
  --av-content-width: 1120px;
}

.av-scope{font-family:Georgia,"Iowan Old Style","Times New Roman",serif;color:#22252B;line-height:1.6}.av-scope h1,.av-scope h2,.av-scope h3{font-family:Georgia,"Iowan Old Style","Times New Roman",serif;font-weight:700;line-height:1.2;margin:0 0 1rem}.av-wrap{max-width:1120px;margin:0 auto;padding:0 1.5rem}.entry-content .av-scope a.av-btn{display:inline-block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-weight:700;font-size:.875rem;letter-spacing:.02em;padding:.75rem 1.5rem;border-radius:4px;text-decoration:none;transition:filter .15s ease,border-color .15s ease}.av-btn-primary{background:#E8A33D;color:#1B2430}.av-btn-primary:hover{filter:brightness(1.06)}.av-btn-secondary{background:#fff0;color:#F6EFE3;border:1px solid rgb(246 239 227 / .5)}.av-btn-secondary:hover{border-color:#E8A33D;color:#E8A33D}.av-disclosure-bar{position:relative;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);background:#232C39;border-bottom:1px solid rgb(232 163 61 / .22);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:.8rem;color:#B8ADA0;text-align:center;padding:.6rem 1rem}.av-disclosure-bar a{color:#E8A33D;font-weight:700}.av-back-link-bar{background:#1B2430;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}body:has(.av-hero) header.site-header,body:has(.av-hub-hero) header.site-header{margin:0!important;width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;background:#1B2430!important;border-bottom:none!important}body:has(.av-hero) .ast-primary-header-bar,body:has(.av-hub-hero) .ast-primary-header-bar{background:#1B2430!important;border-bottom:none!important}body:has(.av-hero) .content-area.primary,body:has(.av-hub-hero) .content-area.primary,body:has(.av-hero) #primary,body:has(.av-hub-hero) #primary{margin-top:0!important}body:has(.av-hero) html,body:has(.av-hub-hero) html,body:has(.av-hero) body,body:has(.av-hub-hero) body{margin:0!important;padding:0!important}body:has(.av-hero) .site-title a,body:has(.av-hub-hero) .site-title a,body:has(.av-hero) .site-title,body:has(.av-hub-hero) .site-title{color:#F6EFE3!important}body:has(.av-hero) .main-header-menu .menu-item>a,body:has(.av-hub-hero) .main-header-menu .menu-item>a{color:#F6EFE3!important}body:has(.av-hero) .main-header-menu .menu-item>a:hover,body:has(.av-hub-hero) .main-header-menu .menu-item>a:hover{color:#E8A33D!important}.av-back-link{display:block;padding:10px 0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:13px;color:#B8ADA0}.av-back-link:hover{color:#E8A33D}.av-hero{position:relative;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);background:#1B2430;color:#F6EFE3;padding:3.5rem 0 3rem;overflow:hidden}.av-hero-badge{display:inline-block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:.75rem;letter-spacing:.06em;font-weight:700;color:#E8A33D;background:rgb(232 163 61 / .12);border:1px solid rgb(232 163 61 / .3);border-radius:999px;padding:5px 14px;margin-bottom:1.1rem}.av-hero h1{font-size:2rem;color:#F6EFE3}@media(min-width:768px){.av-hero h1{font-size:2.75rem}}.av-hero h1 em{font-style:normal;color:#E8A33D}.av-hero p.av-hero-sub{font-family:Georgia,"Iowan Old Style","Times New Roman",serif;font-size:1.0625rem;color:#B8ADA0;max-width:640px;margin:0 0 1.5rem}.av-hero-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.75rem}.av-hero-fine{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:.8rem;color:#8a97a8}.av-hero-stats{display:flex;flex-wrap:wrap;gap:1.75rem;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}.av-hero-stat .n{display:block;font-family:Georgia,"Iowan Old Style","Times New Roman",serif;font-size:1.375rem;font-weight:700;color:#F6EFE3}.av-hero-stat .l{display:block;font-size:.75rem;color:#B8ADA0;margin-top:2px}.av-author-bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:#fff;border:1px solid rgb(193 80 46 / .18);border-radius:10px;padding:18px 22px;margin:1.75rem 0 0}.av-author-bar img{border-radius:50%;display:block}.av-author-bar .meta{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:.9rem;color:#22252B}.av-author-bar .meta a{color:#C1502E;font-weight:700}.av-author-bar .dates{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:.8rem;color:#6B6259;margin-left:auto}.av-methodology-note{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:.85rem;color:#6B6259;background:#FAF6EE;border-radius:8px;padding:14px 18px;margin-top:14px}.av-methodology-note a{color:#A3421F;font-weight:700}.av-methodology-note strong{color:#22252B}.av-section{padding:3.5rem 0}.av-section.av-alt{background:#FAF6EE}.av-kicker{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#A3421F;display:block;margin-bottom:.5rem}.av-section-title{font-size:1.75rem;margin:0 0 .75rem}.av-section-intro{color:#6B6259;font-size:1rem;max-width:680px;margin:0 0 1.75rem;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}.av-bonus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}@media(max-width:860px){.av-bonus-grid{grid-template-columns:1fr}}.av-bonus-card{background:#fff;border:1px solid rgb(193 80 46 / .18);border-radius:12px;padding:22px}.av-bonus-card .av-tag{display:inline-block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#0F5C56;background:rgb(15 92 86 / .1);border-radius:4px;padding:3px 8px;margin-bottom:10px}.av-bonus-card h3{font-size:1.15rem;margin-bottom:8px}.av-bonus-card p{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:.9rem;color:#6B6259;margin-bottom:14px}.av-bonus-card .av-cta a{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:.875rem;font-weight:700;color:#C1502E}.av-evidence{margin:1.5rem 0}.av-evidence img{width:100%;height:auto;border-radius:8px;border:1px solid rgb(193 80 46 / .18);display:block}.av-evidence figcaption{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:.75rem;color:#6B6259;margin-top:6px}.av-two-col{display:grid;grid-template-columns:1.1fr 0.9fr;gap:2.5rem;align-items:center}.av-two-col.av-reverse{grid-template-columns:0.9fr 1.1fr}.av-two-col .av-img-side{order:2}.av-two-col.av-reverse .av-img-side{order:0}@media(max-width:860px){.av-two-col,.av-two-col.av-reverse{grid-template-columns:1fr}.av-two-col .av-img-side,.av-two-col.av-reverse .av-img-side{order:0}}.av-two-col p{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:#6B6259;font-size:.95rem}.av-game-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:1.5rem}@media(max-width:560px){.av-game-strip{grid-template-columns:1fr 1fr}}.av-pill{background:#FAF6EE;border:1px solid rgb(193 80 46 / .18);border-radius:8px;padding:14px;text-align:center;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:.8125rem;color:#6B6259}.av-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}table.av-compare-table{width:100%;border-collapse:collapse;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:.875rem}table.av-compare-table th,table.av-compare-table td{text-align:left;padding:.75rem 1rem;border-bottom:1px solid rgb(193 80 46 / .18)}table.av-compare-table th{color:#C1502E;text-transform:uppercase;font-size:.75rem;letter-spacing:.06em}table.av-compare-table td{color:#6B6259}@media(max-width:860px){table.av-compare-table{min-width:560px}}.av-faq-item{border-bottom:1px solid rgb(193 80 46 / .18);padding:1.5rem 0}.av-faq-item h3{font-size:1.15rem;margin-bottom:.5rem}.av-faq-item .av-direct-answer{font-weight:700;margin-bottom:.5rem}.av-faq-item .av-expand{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:.9rem;color:#6B6259}.av-pc-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:.5rem}@media(max-width:860px){.av-pc-grid{grid-template-columns:1fr}}.av-pc-card{background:#fff;border-radius:12px;padding:1.5rem;border:1px solid rgb(193 80 46 / .18)}.av-pc-card.av-pros{border-color:rgb(47 158 92 / .35)}.av-pc-card.av-cons{border-color:rgb(184 18 42 / .3)}.av-pc-card h3{font-size:1.05rem;margin-bottom:1rem}.av-pc-card.av-pros h3{color:#217A46}.av-pc-card.av-cons h3{color:#B8122A}.av-pc-card ul{margin:0;padding-left:20px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:.875rem;color:#6B6259}.av-pc-card li{margin-bottom:.5rem}.av-verdict-box{background:#1B2430;color:#F6EFE3;border-radius:12px;padding:2rem;display:flex;align-items:center;gap:2rem;flex-wrap:wrap}.av-verdict-score{text-align:center}.av-verdict-score .av-stars{color:#E8A33D;font-size:1.5rem;letter-spacing:3px}.av-verdict-score .av-num{font-size:2.5rem;font-weight:700;font-family:Georgia,"Iowan Old Style","Times New Roman",serif}.av-verdict-score .av-sub{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:.75rem;color:#B8ADA0;max-width:170px;margin:0 auto}.av-verdict-score .av-sub a{color:#B8ADA0}.av-verdict-text{flex:1;min-width:280px}.av-verdict-text h3{color:#fff;font-size:1.25rem}.av-verdict-text p{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:#B8ADA0;font-size:.9rem;margin-bottom:1.25rem}.av-rg-strip{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);background:#FAF6EE;text-align:center;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:.8125rem;color:#6B6259;padding:14px 24px}.av-rg-strip a{color:#A3421F;font-weight:700}.av-sticky-cta{position:fixed;bottom:0;left:0;right:0;z-index:50;background:rgb(27 36 48 / .97);backdrop-filter:blur(6px);border-top:1px solid rgb(232 163 61 / .22);display:flex;align-items:center;justify-content:center;gap:18px;padding:12px 16px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}.av-sticky-cta span{color:#F6EFE3;font-size:.875rem}@media(max-width:560px){.av-sticky-cta{flex-direction:column;gap:8px;text-align:center}}.av-divider{height:6px;background:repeating-linear-gradient(90deg,#C1502E 0 14px,#E8A33D 14px 28px,#0F5C56 28px 42px)}.av-rg-strip{padding-bottom:82px}@media(max-width:560px){.av-rg-strip{padding-bottom:128px}}

/* Casino noir: uppercase nav + footer watermark */
.main-header-menu .menu-item > a,
.ast-header-navigation-1 .menu-item > a {
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.92rem;
}
footer.site-footer,
.ast-builder-footer-row-container-wrap,
.ast-footer-overlay {
  position: relative;
  overflow: hidden;
}
footer.site-footer::before {
  content: "APUESTA VIVA";
  position: absolute;
  left: 50%;
  bottom: -0.12em;
  transform: translateX(-50%);
  font-family: "Playfair Display", serif;
  font-weight: 700;
  font-size: clamp(3rem, 12vw, 9rem);
  letter-spacing: 0.04em;
  color: rgba(255,255,255,0.035);
  white-space: nowrap;
  pointer-events: none;
  z-index: 0;
  line-height: 1;
}
footer.site-footer > * { position: relative; z-index: 1; }

/* Homepage: header blends into hero */
.home .site-header,
.page-id-40 .site-header {
  position: absolute;
  top: 0;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  z-index: 30;
  border-bottom: none;
}
.home .ast-primary-header-bar,
.page-id-40 .ast-primary-header-bar {
  background: transparent !important;
}
.home .site-title a, .home .site-title,
.page-id-40 .site-title a, .page-id-40 .site-title {
  color: #FFFFFF !important;
}
.home .main-header-menu .menu-item > a,
.page-id-40 .main-header-menu .menu-item > a {
  color: #F4EEE1 !important;
}
.home .main-header-menu .menu-item > a:hover,
.page-id-40 .main-header-menu .menu-item > a:hover {
  color: #C9A227 !important;
}
.home .av-hero, .page-id-40 .av-hero {
  padding-top: 40px;
}
.home .av-hero-inner, .page-id-40 .av-hero-inner {
  padding-top: 150px;
}

.home .entry-header, .page-id-40 .entry-header { display: none; }

/* Fix: remove default header margin so header sits flush at top */
.home .site-header, .page-id-40 .site-header {
  margin-top: 0 !important;
}

/* Fix: remove reserved header spacing on home so hero/nav has no white gap */
.home .content-area,
.page-id-40 .content-area {
  margin-top: 0 !important;
}

/* Fix: keep site title on one line on mobile so it doesn't collide with menu toggle */
@media (max-width: 544px) {
  .site-title, .site-title a {
    font-size: 15px !important;
    white-space: nowrap;
    line-height: 1.2;
  }
  .ast-site-identity { max-width: 72%; }
}

/* Fix (2026-08-21): 5 nav items (after adding Metodos de Pago + Legalidad) don't
   fit alongside the full "Apuesta Viva" logo+text branding in the 922-1150px
   band — real tablets, and phones requesting "desktop site" (e.g. 980px).
   Astra's desktop/mobile breakpoint is 921px, but the row-nav needs ~798px and
   only has ~650-770px available in this band, wrapping "Sobre Nosotros" onto
   its own row and doubling the header height. Real laptop widths (1150px+)
   already fit with room to spare — measured directly, not guessed. Hiding just
   the text (keeping the logo icon) frees enough space in this band alone,
   without touching the header on real desktop or on real mobile (<922px, which
   already gets the compact hamburger menu and isn't affected). */
@media (min-width: 922px) and (max-width: 1150px) {
  .site-title {
    display: none;
  }
}

/* Fix (2026-08-21): the mobile-menu hamburger icon was rendering in a dark
   maroon (~rgb(122,18,40) / #7A1228) on a transparent background sitting
   directly on the dark navy header (#1B2430) — measured directly via
   getComputedStyle, not guessed. Two very dark colors on top of each other:
   a real, severe contrast problem, exactly the kind that makes an icon hard
   to find/read for anyone with low vision, not just a cosmetic nitpick.
   Recolored to the same marigold gold already used by the primary CTA button
   (.av-btn-primary, #E8A33D — confirmed directly from the sticky CTA bar's
   own live CSS) for both real contrast (E8A33D on #1B2430 is a strong
   pairing, same as every other gold-on-navy accent already on the site) and
   visual consistency with the button the human pointed to. Covers both the
   closed (hamburger) and open (X) icon states — both use the same element. */
button.menu-toggle,
.ast-mobile-menu-trigger-minimal,
.ast-mobile-menu-trigger-minimal svg,
.menu-toggle .ast-mobile-svg {
  color: #E8A33D !important;
}

/* Fix (2026-08-21, corrected): the rule above only ever set `color`, on the
   assumption the icon's SVG used fill="currentColor" to inherit it. It
   doesn't -- Astra's own dynamically-generated Customizer CSS sets `fill`
   directly on this exact element (`.mobile-menu-toggle-icon .ast-mobile-svg
   { fill: var(--ast-global-color-0) }`, a maroon brand color), with higher
   selector specificity than our rule and no !important on either side, so
   Astra's fill always won regardless of the color we set. Confirmed via a
   live getComputedStyle check on the icon's own <path>, not assumed.
   Setting `fill` explicitly here (matching the same selector) is the actual
   fix; `color` above is left in place since some Astra states do read it. */
.menu-toggle .ast-mobile-svg,
.ast-mobile-menu-trigger-minimal svg {
  fill: #E8A33D !important;
}

/* Belt-and-suspenders: give the open mobile menu panel a visible top edge so
   it reads as a distinct panel against the header above it, on top of the
   existing dark-bg/light-text fix already in this file. */
body.ast-main-header-nav-open .main-header-menu {
  border-top: 1px solid rgb(232 163 61 / 0.22);
}


/* Fix (corrected 2026-08-20): the mobile dropdown panel now gets a solid dark-navy background site-wide instead of fighting a specificity tie over text color against the review-page hero rules (which always won, since they load later in the DOM) — matches the Lotería Editorial header design used everywhere else instead of leaving a stray white panel. */
body.ast-main-header-nav-open .main-header-menu {
  background: #1B2430 !important;
}
body.ast-main-header-nav-open .main-header-menu .menu-item > a {
  color: #F6EFE3 !important;
  background-color: transparent !important;
}
body.ast-main-header-nav-open .main-header-menu .menu-item > a:hover {
  color: #E8A33D !important;
}

/* Fix (2026-08-21): root cause of the "text unreadable in open mobile menu"
   report, confirmed via live ancestor-chain inspection on the Legalidad page.
   Two elements were never covered by the block above:
   1. a.menu-link itself resolves its OWN background to white (Astra core
      CSS), painted on top of the dark ul.main-header-menu behind it — the
      earlier fix only set this link's text color, never its background.
   2. div.ast-mobile-header-content, the position:absolute wrapper Astra
      renders the whole mobile panel inside, ships with an explicit white
      background of its own, independent of the ul it contains. */
body.ast-main-header-nav-open .ast-mobile-header-content {
  background: #1B2430 !important;
}

/* ============================================================
   Apuesta Viva — Caliente review scoped CSS (Order 22)
   Appended 2026-08-17 — all rules scoped to .av-review, safe site-wide
   ============================================================ */

/* ============================================================
   Apuesta Viva — Casino Review template CSS (Gutenberg build)
   SCOPED under .av-review so it only affects review pages,
   not the rest of the site. Paste this ONCE into
   Appearance → Customize → Additional CSS (or your theme's
   custom CSS area) — do not re-paste per operator.

   IMPORTANT — this replaces the original <style> block from the
   static HTML drafts. That original CSS used bare selectors
   (body, a, h1/h2/h3, section, footer, *) which, if pasted as-is
   into Additional CSS, would restyle your ENTIRE SITE — every
   page would get a black background, every link would turn gold,
   every <section> and <footer> on every page would be affected.
   This version fixes that by prefixing every rule with .av-review.
   ============================================================ */

:root {
  --bg-black: #0c0a0d;
  --bg-charcoal: #16121a;
  --maroon: #3d0f1f;
  --maroon-deep: #2a0a15;
  --red: #b8122a;
  --red-bright: #e01730;
  --gold: #d4af37;
  --gold-soft: #e8cd7a;
  --cream: #f4ece0;
  --text-muted: #b8aeb2;
  --green: #2f9e5c;
  --card-bg: #1c1720;
  --border-soft: rgba(212,175,55,0.25);
}

.av-review, .av-review * { box-sizing: border-box; }

.av-review {
  background: var(--bg-black);
  color: var(--cream);
  font-family: 'Georgia', 'Iowan Old Style', serif;
  line-height: 1.65;
}

.av-review h1, .av-review h2, .av-review h3, .av-review .display {
  font-family: 'Trajan Pro', 'Cinzel', 'Playfair Display', Georgia, serif;
  letter-spacing: 0.02em;
  font-weight: 700;
}

.av-review a { color: var(--gold-soft); }

.av-review .wrap { max-width: 1120px; margin: 0 auto; padding: 0 24px; }

/* ---------- disclosure bar ---------- */
.av-review .disclosure-bar {
  background: var(--bg-charcoal);
  border-bottom: 1px solid var(--border-soft);
  font-family: -apple-system, Helvetica, Arial, sans-serif;
  font-size: 12.5px;
  color: var(--text-muted);
  text-align: center;
  padding: 8px 16px;
}
.av-review .disclosure-bar a { color: var(--gold-soft); text-decoration: underline; }

/* ---------- top nav (mock — see note in the content file about whether to keep this) ---------- */
.av-review .site-nav {
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px 0;
  font-family: -apple-system, Helvetica, Arial, sans-serif;
}
.av-review .site-nav .logo { font-family: 'Cinzel', Georgia, serif; font-size: 22px; color: var(--gold); letter-spacing: 0.08em; text-decoration: none; }
.av-review .site-nav .logo span { color: var(--red-bright); }
.av-review .site-nav .cta-small {
  background: linear-gradient(180deg, var(--red-bright), var(--red));
  color: #fff; padding: 10px 20px; border-radius: 4px; text-decoration: none;
  font-weight: 600; font-size: 14px; box-shadow: 0 4px 14px rgba(224,23,48,0.35);
}

/* ---------- hero ---------- */
.av-review .hero {
  position: relative;
  min-height: 560px;
  background: linear-gradient(180deg, rgba(12,10,13,0.55) 0%, rgba(12,10,13,0.75) 55%, var(--bg-black) 100%),
              url('/wp-content/uploads/2026/08/hero-casino-noir.webp') center 30% / cover no-repeat;
  display: flex; align-items: center;
}
.av-review .hero-inner { position: relative; z-index: 2; padding: 80px 0 60px; }
.av-review .hero-badge {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(212,175,55,0.12); border: 1px solid var(--border-soft);
  color: var(--gold-soft); font-family: -apple-system, sans-serif; font-size: 12.5px;
  letter-spacing: 0.08em; text-transform: uppercase; padding: 6px 14px; border-radius: 30px;
  margin-bottom: 22px;
}
.av-review .hero h1 {
  font-size: 46px; line-height: 1.15; color: #fff; margin: 0 0 18px; max-width: 720px;
  text-shadow: 0 4px 30px rgba(0,0,0,0.6);
}
.av-review .hero h1 em { color: var(--gold-soft); font-style: normal; }
.av-review .hero p.lede { font-size: 18px; color: var(--text-muted); max-width: 560px; margin: 0 0 32px; font-family: -apple-system, sans-serif; }

.av-review .hero-cta-row { display: flex; gap: 16px; flex-wrap: wrap; align-items: center; margin-bottom: 28px; }
.av-review .btn-primary {
  background: linear-gradient(180deg, #34b96a, var(--green));
  color: #fff; font-family: -apple-system, sans-serif; font-weight: 700; font-size: 17px;
  padding: 16px 34px; border-radius: 6px; text-decoration: none; display: inline-block;
  box-shadow: 0 8px 24px rgba(47,158,92,0.4);
}
.av-review .btn-primary:hover { filter: brightness(1.08); }
.av-review .hero-fine { font-family: -apple-system, sans-serif; font-size: 12px; color: var(--text-muted); }

.av-review .hero-stats { display: flex; gap: 28px; flex-wrap: wrap; font-family: -apple-system, sans-serif; }
.av-review .hero-stat .n { color: var(--gold-soft); font-size: 22px; font-weight: 700; display: block; }
.av-review .hero-stat .l { color: var(--text-muted); font-size: 12.5px; }

/* ---------- score card floating (unused on Caliente currently, kept for parity) ---------- */
.av-review .score-card {
  background: var(--card-bg); border: 1px solid var(--border-soft); border-radius: 12px;
  padding: 22px 26px; width: 230px; text-align: center;
  box-shadow: 0 20px 50px rgba(0,0,0,0.5);
}
.av-review .score-card .stars { color: var(--gold); font-size: 22px; letter-spacing: 3px; }
.av-review .score-card .num { font-size: 36px; color: #fff; font-weight: 700; margin: 4px 0; }
.av-review .score-card .label { font-family: -apple-system, sans-serif; font-size: 12px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.06em; }

/* ---------- section shells ---------- */
.av-review section { padding: 64px 0; }
.av-review section.alt { background: var(--bg-charcoal); }
.av-review .kicker {
  font-family: -apple-system, sans-serif; text-transform: uppercase; letter-spacing: 0.14em;
  font-size: 12.5px; color: var(--gold-soft); margin-bottom: 10px; display: block;
}
.av-review h2.section-title { font-size: 30px; color: #fff; margin: 0 0 12px; }
.av-review .section-intro { color: var(--text-muted); font-size: 16px; max-width: 720px; margin-bottom: 36px; }

/* ---------- author/methodology bar ---------- */
.av-review .author-bar {
  display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
  background: var(--card-bg); border: 1px solid var(--border-soft); border-radius: 10px;
  padding: 18px 22px; font-family: -apple-system, sans-serif; margin: 28px 0 0;
}
.av-review .author-bar img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; border: 2px solid var(--gold-soft); }
.av-review .author-bar .meta { font-size: 13.5px; color: var(--text-muted); line-height: 1.5; }
.av-review .author-bar .meta strong { color: #fff; }
.av-review .author-bar .dates { margin-left: auto; font-size: 12.5px; color: var(--text-muted); text-align: right; }

.av-review .methodology-note {
  font-family: -apple-system, sans-serif; font-size: 14px; color: var(--text-muted);
  background: rgba(212,175,55,0.06); border-left: 3px solid var(--gold-soft);
  padding: 16px 20px; border-radius: 0 8px 8px 0; margin-top: 18px;
}
.av-review .methodology-note strong { color: var(--gold-soft); }

/* ---------- bonus grid ---------- */
.av-review .bonus-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.av-review .bonus-card {
  background: var(--card-bg); border: 1px solid var(--border-soft); border-radius: 12px;
  overflow: hidden; display: flex; flex-direction: column;
}
.av-review .bonus-card .tag {
  font-family: -apple-system, sans-serif; font-size: 11.5px; text-transform: uppercase;
  letter-spacing: 0.08em; background: var(--red); color: #fff; padding: 5px 12px;
  border-radius: 20px; align-self: flex-start; margin: 16px 0 0 16px;
}
.av-review .bonus-card h3 { color: #fff; font-size: 19px; margin: 12px 16px 6px; }
.av-review .bonus-card p { color: var(--text-muted); font-size: 14px; font-family: -apple-system, sans-serif; margin: 0 16px 16px; flex: 1; }
.av-review .bonus-card .cta { margin: 0 16px 18px; }
.av-review .bonus-card .cta a {
  display: block; text-align: center; background: var(--gold-soft); color: #16121a;
  font-family: -apple-system, sans-serif; font-weight: 700; font-size: 14px; padding: 10px;
  border-radius: 6px; text-decoration: none;
}

/* ---------- evidence image blocks ---------- */
.av-review figure.evidence { margin: 30px 0; }
.av-review figure.evidence img { width: 100%; border-radius: 10px; border: 1px solid var(--border-soft); display: block; }
.av-review figure.evidence figcaption {
  font-family: -apple-system, sans-serif; font-size: 12.5px; color: var(--text-muted);
  margin-top: 8px; text-align: center;
}

.av-review .two-col { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 40px; align-items: center; }
.av-review .two-col.reverse { grid-template-columns: 0.9fr 1.1fr; }
.av-review .two-col.reverse .img-side { order: 2; }

/* ---------- game showcase ---------- */
.av-review .game-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 24px; }
.av-review .game-strip .pill {
  background: var(--card-bg); border: 1px solid var(--border-soft); border-radius: 8px;
  padding: 14px; text-align: center; font-family: -apple-system, sans-serif; font-size: 13px; color: var(--text-muted);
}

/* ---------- payment table ---------- */
.av-review .table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.av-review table.pay-table { width: 100%; border-collapse: collapse; font-family: -apple-system, sans-serif; font-size: 14px; margin-top: 24px; }
.av-review table.pay-table th, .av-review table.pay-table td { text-align: left; padding: 12px 16px; border-bottom: 1px solid var(--border-soft); }
.av-review table.pay-table th { color: var(--gold-soft); text-transform: uppercase; font-size: 11.5px; letter-spacing: 0.06em; }
.av-review table.pay-table td { color: var(--text-muted); }
@media (max-width: 860px) {
  .av-review table.pay-table { min-width: 560px; }
}

/* ---------- FAQ (static blocks; see checklist note on accordion vs static) ---------- */
.av-review .faq-item { border-bottom: 1px solid var(--border-soft); padding: 26px 0; }
.av-review .faq-item h3 { color: #fff; font-size: 19px; margin: 0 0 10px; }
.av-review .faq-item .direct-answer { color: var(--cream); font-size: 15.5px; margin: 0 0 10px; font-weight: 600; }
.av-review .faq-item .expand { color: var(--text-muted); font-size: 15px; font-family: -apple-system, sans-serif; }
.av-review .faq-item .expand a { color: var(--gold-soft); }

/* ---------- pros/cons ---------- */
.av-review .pc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.av-review .pc-card { background: var(--card-bg); border-radius: 12px; padding: 26px; border: 1px solid var(--border-soft); }
.av-review .pc-card.pros { border-color: rgba(47,158,92,0.4); }
.av-review .pc-card.cons { border-color: rgba(224,23,48,0.4); }
.av-review .pc-card h3 { margin: 0 0 16px; font-size: 18px; }
.av-review .pc-card.pros h3 { color: var(--green); }
.av-review .pc-card.cons h3 { color: var(--red-bright); }
.av-review .pc-card ul { margin: 0; padding-left: 20px; color: var(--text-muted); font-family: -apple-system, sans-serif; font-size: 14.5px; }
.av-review .pc-card li { margin-bottom: 10px; }

/* ---------- verdict ---------- */
.av-review .verdict-box {
  background: linear-gradient(135deg, var(--maroon-deep), var(--maroon));
  border: 1px solid var(--border-soft); border-radius: 16px; padding: 46px;
  display: flex; align-items: center; gap: 40px; flex-wrap: wrap;
}
.av-review .verdict-score { text-align: center; }
.av-review .verdict-score .stars { color: var(--gold); font-size: 30px; letter-spacing: 4px; }
.av-review .verdict-score .num { font-size: 52px; color: #fff; font-weight: 700; }
.av-review .verdict-text { flex: 1; min-width: 280px; color: var(--cream); font-size: 16px; }
.av-review .verdict-text h3 { color: #fff; margin: 0 0 10px; }

/* ---------- responsible gaming strip ---------- */
.av-review .rg-strip {
  font-family: -apple-system, sans-serif; font-size: 13px; color: var(--text-muted);
  text-align: center; padding: 30px 0; border-top: 1px solid var(--border-soft);
}
.av-review .rg-strip a { color: var(--gold-soft); }

/* the in-content footer disclosure block — NOT your site's real <footer>, see content-file note */
.av-review footer {
  background: var(--bg-charcoal); padding: 40px 0; font-family: -apple-system, sans-serif;
  font-size: 12.5px; color: var(--text-muted); text-align: center;
}

.av-review .sticky-cta {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 50;
  background: rgba(12,10,13,0.96); backdrop-filter: blur(6px);
  border-top: 1px solid var(--border-soft);
  display: flex; align-items: center; justify-content: center; gap: 18px;
  padding: 12px 16px; font-family: -apple-system, sans-serif;
}
.av-review .sticky-cta span { color: var(--text-muted); font-size: 13px; }
.av-review .sticky-cta a.btn-primary { padding: 10px 26px; font-size: 15px; }

@media (max-width: 860px) {
  .av-review .hero h1 { font-size: 32px; }
  .av-review .hero-inner { padding: 60px 0 40px; }
  .av-review .two-col, .av-review .two-col.reverse { grid-template-columns: 1fr; }
  .av-review .two-col.reverse .img-side { order: 0; }
  .av-review .bonus-grid { grid-template-columns: 1fr; }
  .av-review .pc-grid { grid-template-columns: 1fr; }
  .av-review .game-strip { grid-template-columns: repeat(2, 1fr); }
  .av-review .verdict-box { flex-direction: column; text-align: center; align-items: stretch; }
  .av-review .verdict-text { min-width: 0; }
  .av-review .author-bar .dates { margin-left: 0; text-align: left; }
  .av-review .site-nav { flex-wrap: nowrap; gap: 6px; }
  .av-review .site-nav .logo { font-size: 14px; white-space: nowrap; }
  .av-review .site-nav .cta-small { padding: 8px 10px; font-size: 10px; white-space: nowrap; }
  .av-review .sticky-cta { flex-direction: column; gap: 8px; text-align: center; padding: 10px 16px; }
  .av-review .sticky-cta a.btn-primary { white-space: normal; max-width: calc(100% - 32px); box-sizing: border-box; text-align: center; }
}


/* hide real theme header on review pages (mock header + CTA in content replaces it) */
body:has(.av-review) header#masthead,
body:has(.av-review) #ast-mobile-header { display: none !important; }


/* ---------- quick-reference box (Betmaster reference structure, extracted verbatim) ---------- */
.av-review .hero p.lede.answer { font-size: 17px; color: var(--cream); font-weight: 600; margin-bottom: 30px; }
.av-review .quickref {
  background: var(--card-bg); border: 1px solid var(--border-soft); border-radius: 12px;
  padding: 20px 26px; margin: 28px 0 0; font-family: -apple-system, sans-serif;
}
.av-review .quickref-title { color: var(--gold-soft); font-size: 12.5px; text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 14px; }
.av-review .quickref-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px 32px; }
.av-review .quickref-item { display: flex; justify-content: space-between; font-size: 14px; border-bottom: 1px dashed var(--border-soft); padding-bottom: 8px; }
.av-review .quickref-item .label { color: var(--text-muted); }
.av-review .quickref-item .val { color: #fff; font-weight: 600; text-align: right; }
.av-review .quickref-item .val.unknown { color: var(--text-muted); font-weight: 400; font-style: italic; }
.av-review .info-box {
  background: rgba(212,175,55,0.06); border: 1px dashed var(--border-soft); border-radius: 10px;
  padding: 16px 20px; margin: 22px 0; font-family: -apple-system, sans-serif; font-size: 14px; color: var(--text-muted);
}
.av-review .info-box strong { color: var(--gold-soft); display: block; margin-bottom: 6px; font-size: 14.5px; }
@media (max-width: 860px) {
  .av-review .quickref-grid { grid-template-columns: 1fr; }
}


/* hide Astra auto featured-image banner on review pages (operator screenshots are not clean hero art) */
body:has(.av-review) .ast-single-post-featured-section { display: none !important; }

/* Footer credit-line link -- contrast fix 2026-08-19: was #7A1228 on #241B1D footer background,
   1.56:1 (severe WCAG AA failure), confirmed via live getComputedStyle + real Lighthouse report.
   Reusing the marigold design-system token (#E8A33D); computes to ~7.47:1 against this footer's
   background, passing AAA. Scoped narrowly to .ast-footer-copyright a -- the only link in the
   sitewide footer -- so no other footer element is touched. */
footer.site-footer .ast-footer-copyright a { color: #E8A33D; text-decoration: underline; text-underline-offset: 2px; }
footer.site-footer .ast-footer-copyright a:hover { color: #F6EFE3; }

/* Sitewide font fallback -- 2026-08-19: Astra's own Typography Customizer fields (body-font-family,
   headings-font-family, font-family-h1/h2) were emptied to stop Astra enqueueing astra-google-fonts-css
   at all -- confirmed via direct testing that EVERY option in Astra's own font picker, including its
   "system font" bucket (Georgia/Times/Helvetica/etc.), is actually served through Google's own font-delivery network,
   not truly local -- leaving the fields blank was the only way to get zero Google Fonts requests via
   that panel. But an empty field means the browser's raw default (Times New Roman) shows through on
   theme chrome not covered by any page's own CSS (site header logo, primary nav, footer) -- not the
   approved Georgia/Iowan Old Style stack. This restores the actual approved stack as plain static CSS,
   which does not go through Astra's font-matching logic and so cannot re-trigger a Google Fonts request. */
body, h1, h2, h3, h4, h5, h6,
.site-title, .ast-header-navigation-1, .main-header-menu, .main-header-menu .menu-item > a,
footer.site-footer, .ast-footer-copyright {
  font-family: Georgia, 'Iowan Old Style', 'Times New Roman', serif;
}


/* ============================================================
   Site-wide header fallback (added 2026-08-20, corrected 2026-08-21)
   Original version only set background-color, never escaping
   Astra default container padding -- confirmed live via
   getBoundingClientRect: header sat inset ~40px both sides at
   375px viewport instead of spanning full width, on every page
   relying on this fallback (Reviews Hub, and any future page with
   neither .av-hero nor .home/.page-id-40). Fixed by adding the
   same width:100vw + negative-margin breakout the migrated review
   pages own per-page rules already use. Explicitly scoped away
   from .home/.page-id-40 (not just left unscoped) so it can never
   win a cascade tie against the homepage own separately-fixed
   header rules -- two different positioning contexts (normal flow
   vs. absolute overlay over the hero), kept fully independent.
   ============================================================ */
body:not(.home):not(.page-id-40) header.site-header {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background: #1B2430 !important;
}
body:not(.home):not(.page-id-40) .ast-primary-header-bar {
  background: #1B2430 !important;
}
body:not(.home):not(.page-id-40) .site-title a,
body:not(.home):not(.page-id-40) .site-title {
  color: #F6EFE3 !important;
}
body:not(.home):not(.page-id-40) .main-header-menu .menu-item > a {
  color: #F6EFE3 !important;
}
body:not(.home):not(.page-id-40) .main-header-menu .menu-item > a:hover {
  color: #E8A33D !important;
}

/* ============================================================
   Mobile verdict-box centering fix (added 2026-08-20)
   Both the legacy .verdict-box (Winpot) and the migrated
   .av-verdict-box (Caliente, Betmaster, Strendus, RushBet, Winner
   MX) use display:flex + flex-wrap:wrap with no justify-content,
   so on narrow viewports where the score block and verdict text
   stack into separate rows, each wrapped item defaults to the
   flex-start edge instead of centering as a block — the text
   *inside* the score block is centered (text-align:center), but
   the block itself sits flush left with a large empty gap on the
   right. Same underlying gap in both CSS systems since the
   migrated version was copied from the legacy one. Fixing once,
   site-wide, for both class names, rather than touching 6 pages
   individually. */
@media (max-width: 860px) {
  .verdict-box, .av-verdict-box {
    justify-content: center;
  }
}

/* ============================================================
   Featured-image upscale fix (added 2026-08-21)
   Astra's default "wide" single-post featured image breaks out to
   full container width via negative margins (confirmed live:
   1591px on a 1366px viewport) with object-fit:cover. Every
   review's featured image is either 1024x449 (Caliente, Betmaster,
   Strendus, Winpot) or 652x286 (RushBet, Winner MX) — both well
   under 1591px, so the browser was upscaling real pixels 1.55x-2.44x,
   visibly soft/pixelated on desktop. Capping to 1024px (the larger
   of the two real source widths) and re-centering removes all
   upscale for 4 of 6 pages and cuts it roughly in half for the
   other 2, instead of stretching every operator's image past what
   it actually contains. */
.ast-article-image-container--wide {
  max-width: 1024px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ============================================================
   White gap above disclosure bar (added 2026-08-21)
   Astra's `.ast-article-single` wrapper carries its own padding
   (3em desktop / 1.5em mobile via Astra core CSS) around the whole
   article box. The disclosure bar (.av-disclosure-bar on the 5
   migrated pages, .disclosure-bar on Winpot's legacy template)
   breaks out edge-to-edge with `width:100vw;margin-left:calc(50% -
   50vw)` — that cancels the wrapper's *horizontal* padding but not
   its padding-top, so the wrapper's white background still showed
   above the disclosure bar's own dark background as a real gap.
   Confirmed live on Betmaster (screenshot) and by inspecting the
   Astra padding rule directly; same wrapper class is shared by all
   6 review pages, so fixed once here rather than per page. */
.ast-separate-container .ast-article-single:has(.av-disclosure-bar),
.ast-separate-container .ast-article-single:has(.disclosure-bar) {
  padding-top: 0 !important;
}

/* ============================================================
   White gap above disclosure bar, part 2 (found 2026-08-21 after
   the padding-top fix above was verified NOT actually sufficient —
   human sent a screenshot proving a real gap still existed).
   Root cause: separate from the padding-top issue. Astra core CSS
   has `.ast-single-post-featured-section + article { margin-top: 2em }`
   — an adjacent-sibling rule that adds space between the featured
   image and the article box on the theme's normal (title-bearing)
   single-post layout. It fires on every review page regardless of
   the padding fix, confirmed live via getBoundingClientRect() on
   both a migrated page (Betmaster) and the Winpot design-preview
   page: article margin-top computed to exactly 32px (2em) in both,
   with the previous fix's padding-top already sitting at 0px —
   two independent gaps stacked, not one. */
.ast-single-post-featured-section + article:has(.av-disclosure-bar),
.ast-single-post-featured-section + article:has(.disclosure-bar) {
  margin-top: 0 !important;
}

/* ============================================================
   Featured image crop (found 2026-08-21, after two failed attempts
   to fix it per-image on Winpot's uploaded photo instead of at the
   real source). Astra core CSS forces every single-post featured
   image into a fixed 16:9 box: `aspect-ratio:16/9; object-fit:cover`
   on `.post-thumb img`. None of this project's real screenshots are
   16:9 — every one of them (Caliente, Betmaster, Strendus, RushBet,
   Winner MX, Winpot) is the same ~2.28:1 panoramic shape DEC-092
   already documented (1024x449 or 652x286, identical ratio). That
   16:9 box has been silently center-cropping roughly 20% off the
   top and bottom of *every* review's hero image this whole time —
   not something this session introduced, just never noticed until
   a human screenshot on Winpot's redesigned page made the missing
   banner text/buttons obvious. Root-caused at the CSS level instead
   of reprocessing each image to fit a box that shouldn't exist:
   let the image keep its own natural aspect ratio instead of being
   forced into 16:9. DEC-092's own `max-width:1024px` cap already
   prevents any upscale past native resolution, so this alone is
   sufficient — no image needs re-cropping or letterboxing, the
   uploaded photos were always fine. */
.ast-single-post-featured-section.post-thumb img,
header.entry-header .post-thumb img {
  aspect-ratio: auto !important;
  height: auto !important;
}
