/* =========================================================================
   Slate Review — 1win CZ (site A)
   Light editorial, right sticky sidebar. Prefix rv-, BEM.
   ========================================================================= */

/* ---------- 1. Tokens ---------- */
:root{
  --rv-bg:#F7F8FA;
  --rv-surface:#FFFFFF;
  --rv-surface-alt:#F0F2F5;
  --rv-text:#10151C;
  --rv-text-muted:rgba(16,21,28,.66);
  --rv-text-faint:rgba(16,21,28,.46);
  --rv-slate:#415368;
  --rv-slate-ink:#2C3A4A;
  --rv-accent:#C2410C;
  --rv-accent-ink:#9A340A;
  --rv-accent-soft:rgba(194,65,12,.10);
  --rv-line:rgba(16,21,28,.12);
  --rv-line-strong:rgba(16,21,28,.20);
  --rv-good:#2F7D4F;
  --rv-bad:#B3261E;
  --rv-radius:14px;
  --rv-radius-sm:8px;
  --rv-radius-lg:20px;
  --rv-shadow-sm:0 1px 2px rgba(16,21,28,.06), 0 1px 1px rgba(16,21,28,.04);
  --rv-shadow-md:0 12px 28px -12px rgba(16,21,28,.18);
  --rv-shadow-lift:0 18px 34px -14px rgba(65,83,104,.35);
  --rv-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;

  --rv-space-1:4px;--rv-space-2:8px;--rv-space-3:12px;--rv-space-4:16px;
  --rv-space-6:24px;--rv-space-8:32px;--rv-space-12:48px;--rv-space-16:64px;

  --rv-header-h:76px;
  --rv-header-h-shrink:60px;
  --rv-sidebar-w:320px;

  --rv-z-dropdown:100;--rv-z-sticky:200;--rv-z-overlay:900;--rv-z-modal:1000;--rv-z-toast:1100;
}

/* ---------- 2. Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--rv-font);
  background:var(--rv-bg);
  color:var(--rv-text);
  font-size:16px;
  line-height:1.6;
  overflow-wrap:anywhere;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--rv-accent);text-decoration:none}
ul,ol{margin:0;padding:0}
h1,h2,h3,h4,p,figure{margin:0}
button{font:inherit}
table{border-collapse:collapse;width:100%}
:focus-visible{outline:2px solid var(--rv-accent);outline-offset:2px;border-radius:4px}

.rv-skip-link{
  position:absolute;left:8px;top:-48px;z-index:var(--rv-z-toast);
  background:var(--rv-text);color:#fff;padding:10px 16px;border-radius:var(--rv-radius-sm);
  transition:top .15s ease;
}
.rv-skip-link:focus{top:8px}

/* ---------- 3. Layout shell ---------- */
.rv-wrap{max-width:1200px;margin-inline:auto;padding-inline:var(--rv-space-6)}

.rv-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--rv-space-8);
  max-width:1200px;
  margin-inline:auto;
  padding:var(--rv-space-8) var(--rv-space-6) var(--rv-space-16);
}
@media (min-width:56.25em){ /* 900px */
  .rv-layout{grid-template-columns:1fr var(--rv-sidebar-w);align-items:start}
}

.rv-main{min-width:0;display:flex;flex-direction:column;gap:var(--rv-space-12)}

/* ---------- 4. Header ---------- */
.rv-header{
  position:sticky;top:0;z-index:var(--rv-z-sticky);
  background:rgba(247,248,250,.92);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--rv-line);
}
.rv-header__inner{
  max-width:1200px;margin-inline:auto;padding-inline:var(--rv-space-6);
  height:var(--rv-header-h);
  display:flex;align-items:center;gap:var(--rv-space-6);
  transition:height .2s ease;
}
@media (prefers-reduced-motion:no-preference){
  .rv-header.is-shrunk .rv-header__inner{height:var(--rv-header-h-shrink)}
  .rv-header.is-shrunk .rv-brand__mark{transform:scale(.86)}
}
.rv-header.is-shrunk{box-shadow:var(--rv-shadow-sm)}

.rv-brand{display:flex;align-items:center;gap:var(--rv-space-2);color:var(--rv-text);flex-shrink:0}
.rv-brand__mark{width:38px;height:38px;flex-shrink:0;transition:transform .2s ease}
.rv-brand__word{font-weight:800;font-size:1.15rem;letter-spacing:-.02em;color:var(--rv-text)}
.rv-brand__tag{
  font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  color:var(--rv-slate);background:var(--rv-surface-alt);border:1px solid var(--rv-line);
  padding:2px 7px;border-radius:99px;margin-left:2px;
}

.rv-nav{display:none}
.rv-nav__list{display:flex;list-style:none;gap:var(--rv-space-6);margin:0;padding:0}
.rv-nav__link{
  position:relative;display:inline-block;padding:6px 0;font-size:.94rem;font-weight:600;color:var(--rv-slate-ink);
}
.rv-nav__link::after{
  content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--rv-accent);
  transform:scaleX(0);transform-origin:left;
}
@media (prefers-reduced-motion:no-preference){
  .rv-nav__link::after{transition:transform .2s ease}
}
.rv-nav__link:hover::after,.rv-nav__link:focus-visible::after,.rv-nav__link.is-current::after{transform:scaleX(1)}
.rv-nav__link.is-current{color:var(--rv-text)}

.rv-header__cta{
  margin-left:auto;flex-shrink:0;display:flex;gap:8px;
}
.rv-toggle{
  margin-left:auto;display:inline-flex;align-items:center;justify-content:center;
  width:42px;height:42px;border-radius:var(--rv-radius-sm);border:1px solid var(--rv-line);
  background:var(--rv-surface);color:var(--rv-text);cursor:pointer;
}
.rv-toggle__bars{width:18px;height:2px;background:currentColor;position:relative}
.rv-toggle__bars::before,.rv-toggle__bars::after{content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor}
.rv-toggle__bars::before{top:-6px}
.rv-toggle__bars::after{top:6px}

@media (min-width:56.25em){
  .rv-toggle{display:none}
  .rv-nav{display:block;margin-left:var(--rv-space-8)}
  .rv-nav__list{flex-wrap:wrap}
}
@media (max-width:56.24em){
  .rv-nav{
    display:none;position:static;width:100%;order:10;
  }
  .rv-nav.is-open{display:block}
  .rv-header__inner{flex-wrap:wrap;justify-content:space-between;height:auto;min-height:var(--rv-header-h);padding-block:var(--rv-space-3)}
  .rv-nav__list{flex-direction:column;gap:0;width:100%;border-top:1px solid var(--rv-line);margin-top:var(--rv-space-3);padding-top:var(--rv-space-2)}
  .rv-nav__link{display:block;padding:12px 4px;width:100%}
  .rv-header__cta{order:9;width:100%;margin-left:0}
  .rv-header__cta .rv-btn{width:100%;justify-content:center}
}

/* ---------- 5. Buttons ---------- */
.rv-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 22px;border-radius:99px;font-weight:700;font-size:.95rem;
  border:1px solid transparent;cursor:pointer;white-space:nowrap;
}
.rv-btn--accent{background:var(--rv-accent);color:#fff}
.rv-btn--accent:hover{background:var(--rv-accent-ink)}
.rv-btn--ghost{background:transparent;color:var(--rv-slate-ink);border-color:var(--rv-line-strong)}
.rv-btn--ghost:hover{border-color:var(--rv-slate)}
.rv-btn--block{width:100%}
.rv-btn--sm{padding:9px 16px;font-size:.85rem}

/* ---------- 6. Cards / hover-lift ---------- */
.rv-card{
  background:var(--rv-surface);border:1px solid var(--rv-line);border-radius:var(--rv-radius);
  padding:var(--rv-space-6);
}
.rv-card--wide{grid-column:1/-1}
.rv-lift{transition:none}
@media (prefers-reduced-motion:no-preference){
  .rv-lift{transition:transform .18s ease, box-shadow .18s ease}
  .rv-lift:hover,.rv-lift:focus-within{transform:translateY(-4px);box-shadow:var(--rv-shadow-lift)}
}

/* ---------- 7. Section heading rule (motif) ---------- */
.rv-section{scroll-margin-top:calc(var(--rv-header-h) + 16px)}
.rv-section__head{margin-bottom:var(--rv-space-6)}
.rv-section__eyebrow{
  display:inline-block;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;
  color:var(--rv-accent);margin-bottom:var(--rv-space-2);
}
.rv-section__title{
  font-size:clamp(1.5rem, 1.1rem + 1.6vw, 2.1rem);
  line-height:1.2;font-weight:800;letter-spacing:-.01em;color:var(--rv-text);
  position:relative;padding-bottom:14px;
}
.rv-section__title::after{
  content:"";position:absolute;left:0;bottom:0;width:56px;height:3px;border-radius:3px;
  background:linear-gradient(90deg,var(--rv-accent),var(--rv-slate));
}
.rv-section__lead{margin-top:var(--rv-space-3);color:var(--rv-text-muted);max-width:68ch}

/* ---------- 8. Hero ---------- */
.rv-hero{padding-top:var(--rv-space-4)}
.rv-hero__grid{display:grid;gap:var(--rv-space-6)}
.rv-hero__trust{
  display:flex;flex-wrap:wrap;gap:var(--rv-space-2);margin-top:var(--rv-space-4);list-style:none;
}
.rv-hero__trust li{
  display:inline-flex;align-items:center;gap:6px;background:var(--rv-surface);
  border:1px solid var(--rv-line);border-radius:99px;padding:7px 14px;font-size:.82rem;
  font-weight:600;color:var(--rv-slate-ink);
}
.rv-hero__trust li b{color:var(--rv-text);font-weight:800}
.rv-hero__score{
  display:flex;align-items:center;gap:var(--rv-space-3);margin-top:var(--rv-space-4);
}
.rv-score{
  display:inline-flex;align-items:baseline;gap:4px;background:var(--rv-slate);color:#fff;
  border-radius:var(--rv-radius-sm);padding:8px 12px;font-weight:800;
}
.rv-score__num{font-size:1.5rem;line-height:1}
.rv-score__max{font-size:.78rem;opacity:.75}
.rv-hero__score-label{font-size:.85rem;color:var(--rv-text-muted)}
.rv-hero__h1{font-size:clamp(2rem, 1.3rem + 3vw, 3.1rem);line-height:1.12;letter-spacing:-.02em;font-weight:800}
.rv-hero__actions{display:flex;flex-wrap:wrap;gap:var(--rv-space-3);margin-top:var(--rv-space-6)}
.rv-hero__disclose{margin-top:var(--rv-space-4);font-size:.82rem;color:var(--rv-text-faint);max-width:60ch}

@media (min-width:56.25em){
  .rv-hero__grid{grid-template-columns:1fr}
}

/* ---------- 9. Sidebar ---------- */
.rv-sidebar{display:flex;flex-direction:column;gap:var(--rv-space-4)}
@media (min-width:56.25em){
  .rv-sidebar{position:sticky;top:calc(var(--rv-header-h) + var(--rv-space-4));max-height:calc(100svh - var(--rv-header-h) - var(--rv-space-6));overflow-y:auto;padding-bottom:var(--rv-space-2)}
  .rv-sidebar .rv-card{padding:var(--rv-space-4)}
}

.rv-offer{background:linear-gradient(165deg,var(--rv-slate) 0%, var(--rv-slate-ink) 100%);color:#fff;border-radius:var(--rv-radius-lg);padding:var(--rv-space-4);position:relative;overflow:hidden}
.rv-offer::before{
  content:"";position:absolute;inset:auto -30% -40% auto;width:220px;height:220px;border-radius:50%;
  background:radial-gradient(circle,rgba(194,65,12,.55),transparent 70%);
}
.rv-offer__eyebrow{position:relative;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#F4D9C6}
.rv-offer__title{position:relative;font-size:1.5rem;font-weight:800;margin-top:6px;line-height:1.2}
.rv-offer__figure{position:relative;font-size:2.4rem;font-weight:800;color:#fff;margin-top:4px}
.rv-offer__figure span{font-size:1.1rem;font-weight:700;opacity:.8}
.rv-offer__meta{position:relative;list-style:none;margin-top:var(--rv-space-3);display:flex;flex-direction:column;gap:5px;font-size:.85rem;color:#E4E9F0}
.rv-offer__meta li{display:flex;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.14);padding-top:5px}
.rv-offer .rv-btn--accent{position:relative;margin-top:var(--rv-space-3);width:100%}
.rv-offer__fine{position:relative;margin-top:var(--rv-space-2);font-size:.72rem;color:rgba(255,255,255,.72)}

.rv-facts__list{list-style:none;display:flex;flex-direction:column;gap:0}
.rv-facts__list li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid var(--rv-line);font-size:.86rem}
.rv-facts__list li:first-child{border-top:none}
.rv-facts__list dt,.rv-facts__list span:first-child{color:var(--rv-text-muted)}
.rv-facts__list b{color:var(--rv-text);font-weight:700;text-align:right}

.rv-toc__title,.rv-sidebar-block__title{
  font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--rv-slate);
  margin-bottom:var(--rv-space-3);
}
.rv-toc__list{list-style:none;display:flex;flex-direction:column;gap:1px}
.rv-toc__link{
  display:block;padding:6px 10px;border-radius:var(--rv-radius-sm);font-size:.86rem;font-weight:600;
  color:var(--rv-text-muted);border-left:2px solid transparent;
}
.rv-toc__link:hover{color:var(--rv-text);background:var(--rv-surface-alt)}
.rv-toc__link.is-active{color:var(--rv-accent);border-left-color:var(--rv-accent);background:var(--rv-accent-soft)}

.rv-criteria{list-style:none;display:flex;flex-direction:column;gap:var(--rv-space-2)}
.rv-criteria__row{display:flex;justify-content:space-between;font-size:.82rem;font-weight:600;color:var(--rv-text)}
.rv-criteria__row span:last-child{color:var(--rv-text-muted);font-weight:700}
.rv-criteria__bar{height:6px;border-radius:99px;background:var(--rv-surface-alt);margin-top:5px;overflow:hidden}
.rv-criteria__bar i{display:block;height:100%;background:linear-gradient(90deg,var(--rv-accent),var(--rv-slate));border-radius:99px}

/* ---------- 10. Verdict / pros-cons ---------- */
.rv-verdict__grid{display:grid;gap:var(--rv-space-4);margin-top:var(--rv-space-6)}
@media (min-width:34em){ .rv-verdict__grid{grid-template-columns:1fr 1fr} }
.rv-plist{list-style:none;display:flex;flex-direction:column;gap:var(--rv-space-2)}
.rv-plist li{display:flex;gap:10px;align-items:flex-start;font-size:.94rem;padding:10px 12px;border-radius:var(--rv-radius-sm);background:var(--rv-surface-alt)}
.rv-plist--good li{border-left:3px solid var(--rv-good)}
.rv-plist--bad li{border-left:3px solid var(--rv-bad)}
.rv-plist i{flex-shrink:0;font-weight:800}
.rv-plist--good i{color:var(--rv-good)}
.rv-plist--bad i{color:var(--rv-bad)}
.rv-plist h4{font-size:.98rem;font-weight:800;margin-bottom:var(--rv-space-3)}

/* ---------- 11. Grids ---------- */
.rv-grid-4{display:grid;gap:var(--rv-space-4);grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr))}
.rv-grid-5{display:grid;gap:var(--rv-space-4);grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr))}

/* ---------- 12. Game tiles ---------- */
.rv-game{display:flex;flex-direction:column;overflow:hidden;padding:0}
.rv-game__thumb{
  position:relative;aspect-ratio:1/1;width:100%;overflow:hidden;background:
    linear-gradient(145deg,var(--rv-slate),var(--rv-slate-ink));
}
.rv-game__thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rv-game__thumb-fallback{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:800;font-size:.92rem;text-align:center;padding:var(--rv-space-4);
  text-transform:uppercase;letter-spacing:.03em;
}
.rv-game__body{padding:var(--rv-space-3) var(--rv-space-4) var(--rv-space-4)}
.rv-game__name{font-weight:700;font-size:.94rem}
.rv-game__play{display:block;margin-top:var(--rv-space-3);width:100%;text-align:center;text-decoration:none}
.rv-game__meta{font-size:.76rem;color:var(--rv-text-muted);margin-top:2px}

/* ---------- 13. Providers ---------- */
.rv-providers{display:grid;gap:var(--rv-space-4);grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr))}
.rv-provider{
  position:relative;display:flex;align-items:center;justify-content:center;height:78px;padding:var(--rv-space-3);
  background:var(--rv-surface);border:1px solid var(--rv-line);border-radius:var(--rv-radius-sm);
}
.rv-provider__fallback{
  font-size:.72rem;font-weight:700;color:var(--rv-text-faint);text-align:center;
  text-transform:uppercase;letter-spacing:.03em;
}
.rv-provider img{position:absolute;inset:0;margin:auto;max-height:34px;max-width:80%;width:auto;height:auto;object-fit:contain;filter:grayscale(1);opacity:.72;background:var(--rv-surface)}
@media (prefers-reduced-motion:no-preference){
  .rv-provider img{transition:filter .18s ease, opacity .18s ease}
}
.rv-provider:hover img,.rv-provider:focus-within img{filter:none;opacity:1}

/* ---------- 14. Tables ---------- */
.rv-table-wrap{overflow-x:auto;border:1px solid var(--rv-line);border-radius:var(--rv-radius);background:var(--rv-surface)}
.rv-table{width:100%;min-width:560px}
.rv-table caption{text-align:left;padding:var(--rv-space-4) var(--rv-space-4) 0;font-size:.82rem;color:var(--rv-text-muted)}
.rv-table th,.rv-table td{padding:12px 16px;text-align:left;font-size:.9rem;border-top:1px solid var(--rv-line)}
.rv-table thead th{
  border-top:none;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--rv-text-muted);
  background:var(--rv-surface-alt);
}
.rv-table tbody tr:first-child td{border-top:none}
.rv-table td[data-num]{font-variant-numeric:tabular-nums;font-weight:700}
.rv-table .rv-row--highlight td{background:var(--rv-accent-soft);font-weight:800}
.rv-table__cell-brand{display:flex;align-items:center;gap:10px}
.rv-table__cell-brand img{height:22px;width:auto;object-fit:contain}

@media (max-width:40em){
  .rv-table thead{display:none}
  .rv-table, .rv-table tbody, .rv-table tr, .rv-table td{display:block;width:100%}
  .rv-table{min-width:0}
  .rv-table tr{border-top:1px solid var(--rv-line);padding:var(--rv-space-3) var(--rv-space-4)}
  .rv-table tbody tr:first-child{border-top:none}
  .rv-table td{display:flex;justify-content:space-between;gap:var(--rv-space-3);border-top:none;padding:6px 0}
  .rv-table td::before{content:attr(data-label);font-weight:700;color:var(--rv-text-muted);padding-right:var(--rv-space-3)}
}

/* ---------- 15. Calculator ---------- */
.rv-calc{display:grid;gap:var(--rv-space-6)}
@media (min-width:48em){ .rv-calc{grid-template-columns:280px 1fr} }
.rv-calc__input-block label{display:block;font-weight:700;font-size:.9rem;margin-bottom:var(--rv-space-2)}
.rv-calc__field{
  display:flex;align-items:center;border:1px solid var(--rv-line-strong);border-radius:var(--rv-radius-sm);
  overflow:hidden;background:var(--rv-surface);
}
.rv-calc__field input{
  border:none;background:transparent;padding:12px 14px;font-size:1.1rem;font-weight:700;width:100%;
  color:var(--rv-text);font-variant-numeric:tabular-nums;
}
.rv-calc__field input:focus{outline:none}
.rv-calc__field span{padding:0 14px;color:var(--rv-text-muted);font-weight:700}
.rv-calc__hint{font-size:.78rem;color:var(--rv-text-muted);margin-top:var(--rv-space-2)}
.rv-calc__range{width:100%;margin-top:var(--rv-space-4);accent-color:var(--rv-accent)}

.rv-calc__rows{list-style:none;display:flex;flex-direction:column;gap:8px}
.rv-calc__row{
  display:flex;justify-content:space-between;align-items:center;gap:var(--rv-space-3);
  padding:12px 14px;border-radius:var(--rv-radius-sm);background:var(--rv-surface-alt);font-size:.9rem;
}
.rv-calc__row span:first-child{color:var(--rv-text-muted);font-weight:600}
.rv-calc__row output{font-weight:800;font-variant-numeric:tabular-nums;color:var(--rv-text)}
.rv-calc__row--total{background:var(--rv-slate);color:#fff}
.rv-calc__row--total span:first-child{color:rgba(255,255,255,.78)}
.rv-calc__row--total output{color:#fff;font-size:1.05rem}
.rv-calc__row--goal{background:var(--rv-accent-soft)}
.rv-calc__foot{font-size:.76rem;color:var(--rv-text-faint);margin-top:var(--rv-space-3)}

/* ---------- 16. FAQ ---------- */
.rv-faq{display:flex;flex-direction:column;gap:var(--rv-space-3)}
.rv-faq details{
  background:var(--rv-surface);border:1px solid var(--rv-line);border-radius:var(--rv-radius-sm);
  padding:var(--rv-space-4) var(--rv-space-4);
}
.rv-faq summary{
  cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:var(--rv-space-3);
  align-items:center;
}
.rv-faq summary::-webkit-details-marker{display:none}
.rv-faq summary::after{content:"+";font-size:1.3rem;font-weight:400;color:var(--rv-accent);flex-shrink:0}
.rv-faq details[open] summary::after{content:"–"}
.rv-faq__answer{margin-top:var(--rv-space-3);color:var(--rv-text-muted)}

/* ---------- 17. Slot placeholders ---------- */
.rv-slot{
  display:block;background:repeating-linear-gradient(135deg,var(--rv-surface-alt),var(--rv-surface-alt) 10px,#e7eaee 10px,#e7eaee 20px);
  border:1px dashed var(--rv-line-strong);border-radius:var(--rv-radius-sm);
  color:var(--rv-text-faint);font-size:.78rem;font-style:italic;
  padding:var(--rv-space-3) var(--rv-space-4);line-height:1.5;
}
.rv-slot--sm{min-height:1.6em;padding:8px 12px;font-size:.74rem}
.rv-slot--md{min-height:4.4em}
.rv-slot--lg{min-height:7em}
.rv-slot--inline{display:inline-block}
li .rv-slot,.rv-table .rv-slot{margin:0}

/* ---------- 18. Prose ---------- */
.rv-prose{font-size:17px;line-height:1.75;color:var(--rv-text);display:flex;flex-direction:column;gap:var(--rv-space-4);max-width:74ch}
.rv-prose h3{font-size:1.15rem;font-weight:800;margin-top:var(--rv-space-2)}

/* ---------- 19. CTA band ---------- */
.rv-cta-band{
  background:linear-gradient(120deg,var(--rv-slate) 0%, var(--rv-slate-ink) 60%, #1c2733 100%);
  color:#fff;border-radius:var(--rv-radius-lg);padding:var(--rv-space-12) var(--rv-space-8);
  text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--rv-space-4);
}
.rv-cta-band__title{font-size:clamp(1.4rem,1rem + 1.6vw,2rem);font-weight:800}
.rv-cta-band__lead{max-width:56ch;color:rgba(255,255,255,.82)}
.rv-cta-band__fine{font-size:.76rem;color:rgba(255,255,255,.6);max-width:60ch}

/* ---------- 20. Page hero (subpages) ---------- */
.rv-pagehero{padding-top:var(--rv-space-2)}
.rv-breadcrumb{list-style:none;display:flex;flex-wrap:wrap;gap:6px;font-size:.8rem;color:var(--rv-text-muted);margin-bottom:var(--rv-space-4)}
.rv-breadcrumb li:not(:last-child)::after{content:"/";margin-left:6px;color:var(--rv-text-faint)}
.rv-breadcrumb a{color:var(--rv-text-muted);font-weight:600}
.rv-pagehero__h1{font-size:clamp(1.8rem,1.3rem + 2.2vw,2.6rem);font-weight:800;letter-spacing:-.01em;line-height:1.15}

/* ---------- 21. Steps ---------- */
.rv-steps{list-style:none;counter-reset:rv-step;display:flex;flex-direction:column;gap:var(--rv-space-4)}
.rv-steps li{display:flex;gap:var(--rv-space-4);align-items:flex-start}
.rv-steps li::before{
  counter-increment:rv-step;content:counter(rv-step);flex-shrink:0;
  width:34px;height:34px;border-radius:50%;background:var(--rv-slate);color:#fff;font-weight:800;
  display:flex;align-items:center;justify-content:center;font-size:.9rem;
}
.rv-steps__body{flex:1;min-width:0;padding-top:4px}
.rv-steps__title{font-weight:700;margin-bottom:4px}

/* ---------- 22. Responsible gaming contact block ---------- */
.rv-help{background:var(--rv-surface-alt);border-radius:var(--rv-radius);padding:var(--rv-space-6);border:1px solid var(--rv-line)}
.rv-help__list{list-style:none;display:flex;flex-direction:column;gap:var(--rv-space-2);margin-top:var(--rv-space-4)}
.rv-help__list li{font-size:.92rem;display:flex;gap:8px;flex-wrap:wrap}
.rv-help__list b{color:var(--rv-text)}
.rv-age{
  display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:.85rem;color:var(--rv-slate-ink);
  border:2px solid var(--rv-slate);border-radius:99px;padding:6px 14px;
}

/* ---------- 23. Footer ---------- */
.rv-footer{background:var(--rv-text);color:rgba(255,255,255,.82);margin-top:var(--rv-space-16)}
.rv-footer__inner{max-width:1200px;margin-inline:auto;padding:var(--rv-space-12) var(--rv-space-6);display:flex;flex-direction:column;gap:var(--rv-space-8)}
.rv-footer__top{display:grid;gap:var(--rv-space-8);grid-template-columns:1fr}
@media (min-width:48em){ .rv-footer__top{grid-template-columns:1.2fr 1fr 1.4fr} }
.rv-footer__brand{display:flex;align-items:center;gap:var(--rv-space-2);color:#fff;font-weight:800;font-size:1.05rem}
.rv-footer__brand img{width:30px;height:30px}
.rv-footer__nav{list-style:none;display:flex;flex-direction:column;gap:8px}
.rv-footer__nav a{color:rgba(255,255,255,.75);font-size:.9rem}
.rv-footer__nav a:hover{color:#fff}
.rv-footer__heading{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.5);margin-bottom:var(--rv-space-3);font-weight:700}
.rv-footer__legal{font-size:.78rem;line-height:1.6;color:rgba(255,255,255,.55)}
.rv-footer__bottom{border-top:1px solid rgba(255,255,255,.14);padding-top:var(--rv-space-6);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--rv-space-3);font-size:.78rem;color:rgba(255,255,255,.5)}

/* ---------- 24. Cookie banner ---------- */
.rv-cookie{
  position:fixed;left:var(--rv-space-4);right:var(--rv-space-4);bottom:var(--rv-space-4);
  max-width:560px;margin-inline:auto;background:var(--rv-text);color:#fff;border-radius:var(--rv-radius);
  padding:var(--rv-space-4) var(--rv-space-4);z-index:var(--rv-z-toast);
  display:flex;flex-wrap:wrap;gap:var(--rv-space-3);align-items:center;box-shadow:var(--rv-shadow-md);
}
.rv-cookie[hidden]{display:none}
.rv-cookie p{font-size:.84rem;flex:1;min-width:220px;color:rgba(255,255,255,.85)}
.rv-cookie .rv-btn{flex-shrink:0}

/* ---------- 25. Back to top ---------- */
.rv-totop{
  position:fixed;right:var(--rv-space-4);bottom:var(--rv-space-4);z-index:var(--rv-z-sticky);
  width:46px;height:46px;border-radius:50%;background:var(--rv-slate);color:#fff;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-size:1.1rem;
  opacity:0;transform:translateY(8px);pointer-events:none;
}
.rv-totop.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}
@media (prefers-reduced-motion:no-preference){
  .rv-totop{transition:opacity .2s ease, transform .2s ease}
}

/* ---------- 26. Frame-buster fallback message ---------- */
.rv-noscript{background:#FCEFC7;color:#5c4400;padding:10px 16px;text-align:center;font-size:.85rem}

/* ---------- 27. 404 page ---------- */
.rv-404{
  max-width:760px;margin:0 auto;padding:var(--rv-space-16) var(--rv-space-6);text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:var(--rv-space-4);
}
.rv-404__code{font-size:clamp(3rem,2rem + 5vw,6rem);font-weight:800;color:var(--rv-slate);line-height:1}
.rv-404__links{list-style:none;display:grid;gap:var(--rv-space-2);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));width:100%;margin-top:var(--rv-space-6);text-align:left}
.rv-404__links a{
  display:block;padding:12px 16px;background:var(--rv-surface);border:1px solid var(--rv-line);
  border-radius:var(--rv-radius-sm);font-weight:600;color:var(--rv-text);
}
.rv-404__links a:hover{border-color:var(--rv-accent);color:var(--rv-accent)}

/* ---------- 28. Utility ---------- */
.rv-visually-hidden{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.rv-mt-0{margin-top:0}
