/* ==========================================================================
   Non-GamStop UK — money page stylesheet
   Structure cloned from the winning SERP layout (hochip.org.uk),
   palette shifted so the site is not a carbon copy.
   Change the 6 tokens below to re-skin the whole site.
   ========================================================================== */

:root{
  /* --- BRAND TOKENS: change these six lines to re-skin everything --- */
  --brand:        #B8242C;   /* header bar + rank badges   (hochip: #dd3333) */
  --brand-dark:   #8E1A20;   /* hover / darker red                          */
  --cta:          #17A34A;   /* "Visit Casino" buttons     (hochip: #22b14c) */
  --cta-dark:     #128040;
  --link:         #1B5FA8;   /* in-copy links              (hochip: #1e73be) */
  --gold:         #F0A93B;   /* stars, highlights                            */

  /* --- neutrals --- */
  --ink:      #21282D;
  --ink-2:    #4A545B;
  --ink-3:    #78838A;
  --page:     #F4F5F6;
  --card:     #FFFFFF;
  --line:     #E2E5E7;
  --line-2:   #CDD2D6;

  --shadow:   0 1px 2px rgba(16,24,32,.05), 0 6px 18px -10px rgba(16,24,32,.18);
  --radius:   8px;
  --wrap:     1180px;

  --font: "Roboto", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font);
  font-size:17px;
  line-height:1.62;
  color:var(--ink);
  background:var(--page);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 20px}

/* ============================ HEADER ============================ */
.site-header{
  background:var(--brand);
  position:sticky;top:0;z-index:60;
  box-shadow:0 2px 10px rgba(0,0,0,.14);
}
.hdr{display:flex;align-items:center;gap:18px;height:66px}
.logo{
  flex:none;font-weight:900;font-size:27px;letter-spacing:-.025em;
  color:#fff;text-decoration:none;line-height:1;white-space:nowrap;
}
.logo:hover{text-decoration:none;opacity:.92}
.logo .dot{
  color:var(--gold);
  font-size:1.5em;          /* the dot is the mark now — let it carry weight */
  line-height:0;
  margin-left:.04em;
  vertical-align:baseline;
}
@media(max-width:420px){ .logo{font-size:23px} }
.nav{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap}
.nav a{
  color:#fff;font-size:14.5px;font-weight:500;padding:8px 11px;border-radius:5px;
  white-space:nowrap;
}
.nav a:hover{background:rgba(255,255,255,.16);text-decoration:none}
.nav a.on{background:rgba(0,0,0,.18)}
.burger{display:none;margin-left:auto;background:none;border:0;color:#fff;font-size:24px;cursor:pointer;padding:6px 10px}
.navtoggle{display:none}   /* mobile accordion handle — see the 860px block below */

/* ============================ PAGE SHELL ============================ */
.main{background:#fff;margin:0 auto;max-width:var(--wrap);padding:34px 20px 60px}
@media(min-width:1220px){ .main{border-radius:0 0 var(--radius) var(--radius)} }

h1{
  font-size:clamp(1.75rem,3.6vw,2.6rem);
  font-weight:900;line-height:1.18;text-align:center;letter-spacing:-.02em;
  margin-bottom:16px;text-wrap:balance;
}
.tagline{text-align:center;color:var(--ink-2);margin-bottom:6px}
.tagline b{color:var(--ink)}
.claim{text-align:center;font-weight:700;font-style:italic;margin-bottom:26px;color:var(--ink)}

h2{
  font-size:clamp(1.35rem,2.4vw,1.95rem);
  font-weight:900;letter-spacing:-.015em;line-height:1.24;
  margin:44px 0 16px;text-wrap:balance;
}
h3{font-size:1.18rem;font-weight:700;margin:30px 0 10px}
p{margin-bottom:15px}
.main ul,.main ol{margin:0 0 18px 26px}
.main li{margin-bottom:7px}

/* ---- author block ---- */
.byline{display:flex;align-items:center;gap:13px;margin-bottom:8px}
.byline .av{
  width:54px;height:54px;border-radius:50%;flex:none;
  object-fit:cover;object-position:center 22%;   /* keep the face in frame */
  background:var(--brand);
  border:2px solid var(--card);
  box-shadow:0 0 0 1px var(--line-2);
  display:block;
}
.byline .who{font-size:14px;line-height:1.4}
.byline .who small{color:var(--ink-3);display:block;font-size:12.5px}
.byline .who b{font-size:16px}
.updated{color:#D0342C;font-size:15px;margin-bottom:22px}

/* ---- verdict / answer box (AEO) ---- */
.verdict{
  border-left:4px solid var(--brand);
  background:#FCF3F3;
  padding:16px 18px;border-radius:0 var(--radius) var(--radius) 0;
  margin:22px 0 28px;
}
.verdict .lbl{
  font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--brand);display:block;margin-bottom:6px;
}
.verdict p{margin:0;font-size:17.5px}

/* ============================ CASINO CARDS ============================ */
.toplist{display:flex;flex-direction:column;gap:14px;margin:22px 0 30px}
.op{
  position:relative;background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius);box-shadow:var(--shadow);
  display:grid;align-items:center;gap:16px;padding:20px 22px 20px 30px;
  grid-template-columns:112px minmax(0,1.5fr) minmax(0,1fr) 190px;
}
.op.top{border:2px solid var(--gold);box-shadow:0 0 0 4px rgba(240,169,59,.14),var(--shadow)}
.rank{
  position:absolute;top:-9px;left:14px;
  background:var(--brand);color:#fff;font-weight:700;font-size:13px;
  min-width:26px;height:26px;border-radius:5px;display:grid;place-items:center;padding:0 7px;
}
.op.top .rank{background:var(--gold);color:#2A1B03}

.op-logo{
  height:78px;border-radius:6px;display:grid;place-items:center;
  font-weight:900;font-size:15px;text-align:center;line-height:1.15;
  padding:8px;color:#fff;letter-spacing:-.01em;
}

.op-offer{text-align:center;min-width:0}
.op-offer .pre{font-size:12.5px;color:var(--ink-3);margin-bottom:2px}
.op-offer .amt{font-size:26px;font-weight:900;letter-spacing:-.02em;line-height:1.1;margin-bottom:8px}
.op-offer .amt .gift{font-size:20px}
/* The measured payout — the one claim that separates this list from a
   commission-ranked one. Tinted, not solid, so it reads as evidence beside
   the CTA rather than competing with it for the click. */
.op-payout{
  display:inline-flex;flex-direction:column;align-items:center;gap:1px;
  background:#EAF6EE;border:1px solid #C6E4D2;border-radius:6px;
  padding:5px 11px;margin:0 auto 9px;max-width:100%;
}
.op-payout b{color:var(--cta-dark);font-size:12.5px;font-weight:700;line-height:1.3}
.op-payout span{color:var(--ink-3);font-size:11px;line-height:1.3}

/* higher specificity than `.main ul` / `.main li`, which would otherwise
   inject 18px bottom margin + 7px per row and inflate every card */
.main ul.feats,.feats{list-style:none;margin:0;padding:0;font-size:12.5px;color:var(--ink-2);line-height:1.72}
.main ul.feats li,.feats li{margin:0;padding:0}
.feats .y{color:var(--cta);font-weight:700}
.feats .n{color:var(--brand);font-weight:700}

.op-score{text-align:center;min-width:0}
.stars{
  display:inline-flex;align-items:center;gap:7px;
  border:1px solid var(--line-2);border-radius:999px;padding:5px 13px;background:#FFFDF8;
}
.stars .s{color:var(--gold);font-size:14px;letter-spacing:1px}
.stars .n{font-weight:700;font-size:15px}
.allowed{font-size:12px;color:var(--ink-3);margin-top:9px}
.flags{font-size:15px;margin-top:3px;letter-spacing:2px}

.op-cta{display:flex;flex-direction:column;gap:9px;align-items:stretch}
.btn{
  background:var(--cta);color:#fff;font-weight:700;font-size:15px;
  padding:11px 16px;border-radius:999px;text-align:center;border:0;cursor:pointer;
  display:block;
}
.btn:hover{background:var(--cta-dark);text-decoration:none;color:#fff}
.btn-ghost{
  color:var(--ink-2);font-size:14px;text-align:center;font-weight:500;
}
.btn-ghost:hover{color:var(--brand)}

@media(max-width:980px){
  .op{grid-template-columns:92px minmax(0,1fr) 170px;padding:20px 18px 18px 24px}
  .op-score{grid-column:1 / -1;order:4;border-top:1px solid var(--line);padding-top:12px}
}
@media(max-width:620px){
  .op{grid-template-columns:1fr;justify-items:center;text-align:center;padding:24px 16px 18px}
  .op-logo{width:130px}
  .op-cta{width:100%;max-width:280px}
}

/* ============================ COMPARISON TABLE ============================ */
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);margin:20px 0 28px;background:#fff}
table{border-collapse:collapse;width:100%;min-width:720px;font-size:14.5px}
th{
  background:var(--ink);color:#fff;text-align:left;padding:12px 14px;
  font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;white-space:nowrap;
}
td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:middle}
tbody tr:nth-child(even){background:#FAFBFB}
tbody tr:last-child td{border-bottom:0}
td.brand{font-weight:700;white-space:nowrap}
td .tag{
  display:inline-block;background:#EAF6EE;color:var(--cta-dark);
  font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:4px;
}

/* ============================ REVIEW SECTIONS ============================ */
.review{margin:38px 0}
.shot{
  border:1px solid var(--line-2);border-radius:var(--radius);overflow:hidden;
  margin:14px 0 16px;background:#12161A;
  min-height:230px;display:grid;place-items:center;color:#8A959D;
  font-size:13px;text-align:center;padding:24px;
}
.pc{display:grid;gap:14px;grid-template-columns:1fr;margin:16px 0}
@media(min-width:720px){.pc{grid-template-columns:1fr 1fr}}
.pc div{border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;background:#fff}
.pc h4{font-size:14px;text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px}
.pc .good h4{color:var(--cta-dark)}
.pc .bad h4{color:var(--brand)}
.main .pc ul,.pc ul{list-style:none;margin:0;padding:0;font-size:14.5px}
.main .pc li,.pc li{margin-bottom:5px;padding-left:20px;position:relative}
.pc .good li::before{content:"✔";position:absolute;left:0;color:var(--cta)}
.pc .bad li::before{content:"✕";position:absolute;left:0;color:var(--brand)}

/* ============================ METHODOLOGY (our differentiator) ========== */
.method{
  border:2px solid var(--gold);background:#FFFCF5;border-radius:var(--radius);
  padding:22px 24px;margin:26px 0;
}
.method h3{margin-top:0}
.tests{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));margin-top:14px}
.test{background:#fff;border:1px solid var(--line);border-radius:6px;padding:12px 14px;font-size:14px}
.test b{display:block;font-size:15px;margin-bottom:3px}
.test .t{color:var(--cta-dark);font-weight:700;font-size:19px}
.test .d{color:var(--ink-3);font-size:12.5px}

/* ============================ FAQ ============================ */
.faq{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;margin:18px 0 28px}
.faq details{border-bottom:1px solid var(--line)}
.faq details:last-child{border-bottom:0}
.faq summary{
  padding:15px 18px;font-weight:700;cursor:pointer;list-style:none;
  display:flex;justify-content:space-between;gap:14px;align-items:center;font-size:16px;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--brand);font-weight:900;font-size:22px;flex:none;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq summary:hover{background:#FAFBFB}
.faq .a{padding:0 18px 16px;color:var(--ink-2);font-size:16px}

/* ============================ CALLOUTS ============================ */
.note{border-left:4px solid var(--link);background:#F0F5FB;padding:15px 18px;border-radius:0 var(--radius) var(--radius) 0;margin:20px 0}
.note.warn{border-left-color:var(--brand);background:#FCF3F3}
.note p:last-child{margin-bottom:0}

/* ============================ FOOTER ============================ */
.site-footer{background:var(--ink);color:#AEB8BF;margin-top:50px;padding:38px 0 30px;font-size:14px}
.site-footer a{color:#D6DDE2}
.fcols{display:grid;gap:26px;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));margin-bottom:26px}
.fcols h5{color:#fff;font-size:13px;letter-spacing:.09em;text-transform:uppercase;margin-bottom:10px}
.fcols ul{list-style:none;margin:0;padding:0}
.fcols li{margin-bottom:6px}
.rg{border-top:1px solid #39424A;padding-top:20px;display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}
.rg .badges{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.rg .badge{border:1px solid #4C565E;border-radius:5px;padding:5px 10px;font-size:12px;font-weight:700;color:#D6DDE2}
.rg .age{background:#fff;color:var(--ink);border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-weight:900;font-size:13px}

/* ============================ UTIL ============================ */
.toc{background:#FAFBFB;border:1px solid var(--line);border-radius:var(--radius);padding:16px 20px;margin:24px 0}
.toc h4{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:9px}
.toc ol{margin:0 0 0 20px;columns:2;column-gap:28px}
@media(max-width:640px){.toc ol{columns:1}}
.toc li{margin-bottom:4px;font-size:15px}

@media(max-width:860px){
  .nav{display:none}
  .burger{display:block}
  .nav.open{
    display:flex;position:absolute;top:66px;left:0;right:0;
    background:var(--brand-dark);padding:10px 16px;
    flex-direction:column;gap:2px;
    max-height:calc(100vh - 66px);overflow-y:auto;
  }
}

/* ==========================================================================
   BLOG — article hero, 2-column layout, sidebar
   (mirrors the competitor's Learning Hub template)
   ========================================================================== */

.post-hero{background:var(--page);border-bottom:1px solid var(--line);padding:44px 0 34px}
.post-hero h1{text-align:left;font-size:clamp(1.7rem,3.4vw,2.65rem);margin-bottom:12px;max-width:22ch}
.crumbs{font-size:14px;color:var(--ink-3)}
.crumbs a{color:var(--ink-3)}
.crumbs .sep{margin:0 7px;opacity:.6}


/* two-column shell */
.post-shell{
  background:#fff;max-width:var(--wrap);margin:0 auto;padding:34px 20px 60px;
  display:grid;gap:44px;grid-template-columns:minmax(0,1fr);
}
@media(min-width:1000px){
  .post-shell{grid-template-columns:minmax(0,1fr) 330px}
}
.post-body{min-width:0}
.post-body h2{font-size:clamp(1.3rem,2.2vw,1.75rem);margin:36px 0 14px}
.post-body h2::before{content:"";display:inline-block;width:6px;height:20px;background:var(--brand);
  border-radius:2px;margin-right:11px;vertical-align:-2px}

/* sidebar */
.sidebar{min-width:0}
@media(min-width:1000px){.sidebar{position:sticky;top:88px;align-self:start}}
.widget{margin-bottom:34px}
.widget h4{
  font-size:1.15rem;font-weight:900;margin-bottom:15px;display:flex;align-items:center;gap:10px;
}
.widget h4::before{content:"";width:6px;height:20px;background:var(--brand);border-radius:2px;flex:none}
.searchbox{display:flex;gap:0}
.searchbox input{
  flex:1;min-width:0;border:1px solid var(--line-2);border-right:0;border-radius:6px 0 0 6px;
  padding:11px 13px;font:inherit;font-size:15px;
}
.searchbox input:focus{outline:2px solid var(--brand);outline-offset:-2px}
.searchbox button{
  background:var(--ink);color:#fff;border:0;padding:11px 20px;border-radius:0 6px 6px 0;
  font:inherit;font-weight:700;cursor:pointer;
}
.searchbox button:hover{background:#000}

.recent{display:flex;flex-direction:column;gap:16px;list-style:none;margin:0;padding:0}
.recent li{display:grid;grid-template-columns:96px minmax(0,1fr);gap:13px;align-items:start;margin:0}
.recent .thumb{
  height:72px;border-radius:5px;background:linear-gradient(140deg,#2B3440,#111820);
  display:grid;place-items:center;color:#7C8894;font-size:22px;
}
.recent a{color:var(--ink);font-weight:700;font-size:15px;line-height:1.35;display:block}
.recent a:hover{color:var(--brand);text-decoration:none}
.recent time{display:block;color:var(--ink-3);font-size:12.5px;margin-top:5px}

.widget-cta{
  background:linear-gradient(150deg,#151C26,#0B1017);color:#fff;border-radius:var(--radius);
  padding:22px;text-align:center;
}
.widget-cta .kicker{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.widget-cta .name{font-size:22px;font-weight:900;margin-bottom:4px}
.widget-cta .off{font-size:15px;color:#B7C0C9;margin-bottom:14px}
.widget-cta .btn{margin-bottom:8px}
.widget-cta small{color:#7C8894;font-size:11.5px;display:block;line-height:1.5}

.tagcloud{display:flex;flex-wrap:wrap;gap:7px}
.tagcloud a{
  border:1px solid var(--line-2);border-radius:999px;padding:5px 13px;font-size:13.5px;color:var(--ink-2);
}
.tagcloud a:hover{border-color:var(--brand);color:var(--brand);text-decoration:none}

/* inline toplist inside an article */
.inline-list{margin:26px 0 30px}
.inline-list > h3{
  font-size:1.25rem;font-weight:900;margin-bottom:14px;display:flex;align-items:center;gap:10px;
}
.inline-list > h3::before{content:"";width:6px;height:20px;background:var(--brand);border-radius:2px;flex:none}

/* ---- blog listing grid ---- */
.post-grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));margin:24px 0}
.pcard{
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;
  box-shadow:var(--shadow);display:flex;flex-direction:column;
}
.pcard .ph{height:168px;background:linear-gradient(140deg,#2B3440,#111820);display:grid;place-items:center;color:#7C8894;font-size:34px}
.pcard .pb{padding:16px 18px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.pcard .tag{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);font-weight:700}
.pcard h3{font-size:1.05rem;margin:0;line-height:1.35}
.pcard h3 a{color:var(--ink)}
.pcard h3 a:hover{color:var(--brand);text-decoration:none}
.pcard p{font-size:14.5px;color:var(--ink-2);margin:0}
.pcard time{font-size:12.5px;color:var(--ink-3);margin-top:auto;padding-top:6px}

/* inner pages reuse .main for its typography rules, but the two-column
   shell already supplies the white ground and the padding */
.post-shell .main{padding:0;background:none;max-width:none;margin:0}
.post-shell .post-body > h2:first-of-type{margin-top:26px}
.hub-lede{color:var(--ink-2);max-width:70ch;margin-bottom:6px}

/* ---- nav dropdown (Studios) ---- */
.navgroup{position:relative}
.nav .navtop{display:flex;align-items:center;gap:5px}
.caret{font-size:9px;opacity:.75;line-height:1}
.submenu{
  position:absolute;top:100%;left:0;min-width:212px;
  background:#fff;border:1px solid var(--line);border-radius:6px;
  box-shadow:0 10px 30px -12px rgba(16,24,32,.4);
  padding:6px;display:none;z-index:80;
}
@media(min-width:861px){
  .navgroup:hover .submenu,
  .navgroup:focus-within .submenu{display:block}
}
.nav .submenu a{
  display:block;color:var(--ink);font-size:14.5px;font-weight:500;
  padding:8px 11px;border-radius:4px;white-space:nowrap;
}
.nav .submenu a:hover{background:var(--page);color:var(--brand);text-decoration:none}
@media(max-width:860px){
  /* The drawer used to render every child of every group at once — roughly
     25 links, three screens of scrolling, no sense of structure. Each group
     now collapses; the caret button opens it while the label beside it still
     navigates to the group's own page. */
  .navgroup{width:100%;display:flex;flex-wrap:wrap;align-items:center}
  .navgroup > .navtop{flex:1}
  .navtoggle{
    display:block;flex:none;background:none;border:0;color:#fff;cursor:pointer;
    font-size:12px;line-height:1;padding:11px 14px;border-radius:5px;
    transition:transform .18s ease;
  }
  .navtoggle:hover{background:rgba(255,255,255,.16)}
  .navgroup.open > .navtoggle{transform:rotate(180deg)}
  .submenu{
    flex-basis:100%;position:static;display:none;
    border:0;box-shadow:none;background:none;padding:2px 0 8px 14px;
  }
  .navgroup.open .submenu{display:block}
  .nav .submenu a{color:#fff;font-size:14px;padding:6px 10px}
  .nav .submenu a:hover{background:rgba(255,255,255,.16);color:#fff}
  .caret{display:none}
}

/* ---- operator logos ---- */
.op-logo img{width:100%;height:auto;max-height:46px;object-fit:contain;display:block}
.op-logo-text{
  display:grid;place-items:center;font-weight:900;font-size:15px;
  text-align:center;line-height:1.15;padding:8px;color:#fff;letter-spacing:-.01em;
}
.widget-cta .wlogo{
  width:120px;height:auto;max-height:44px;object-fit:contain;
  margin:0 auto 10px;display:block;
}
.widget-cta .wmeta{
  font-size:12.5px;color:#94A0AB;margin:-6px 0 13px;line-height:1.45;
}

/* ---- real operator screenshot ----
   the source mockup has rounded corners; matching that radius here means the
   flattened corners are clipped instead of showing as dark wedges.
   4.44% of width / 10.24% of height keeps the corners circular at any size. */
.shot.has-img{
  padding:0;min-height:0;display:block;overflow:hidden;
  border:0;background:transparent;
  /* radius comes from each image's own inline style — see build.py */
  box-shadow:0 10px 34px -18px rgba(16,24,32,.55);
  transition:box-shadow .18s ease, transform .18s ease;
}
.shot.has-img img{width:100%;height:auto;display:block}
.shot.has-img:hover{
  text-decoration:none;
  box-shadow:0 14px 40px -16px rgba(16,24,32,.65);
  transform:translateY(-2px);
}
@media(prefers-reduced-motion:reduce){ .shot.has-img:hover{transform:none} }

/* ============================ REVIEW PAGES ============================ */
.revsub{font-size:14px;color:var(--ink-3);letter-spacing:.02em;margin-bottom:18px}
.hook{font-size:1.08rem;color:var(--ink-2);max-width:70ch}
.factgrid{
  display:grid;gap:1px;background:var(--line);border:1px solid var(--line);
  border-radius:var(--radius);overflow:hidden;margin:22px 0;
  grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));
}
.fact{background:#fff;padding:13px 15px;display:flex;flex-direction:column;gap:3px;min-width:0}
.fact span{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}
.fact b{font-size:15.5px;font-weight:700}
.revcta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:22px 0 6px}
.revcta .btn{display:inline-block;padding:12px 26px;font-size:16px}
.revcta small{color:var(--ink-3);font-size:12px}

/* The tail CTA sits under the verdict, where the reader has just finished
   1,500 words and is deciding. It is boxed rather than inline so it reads as
   the end of the argument, and it repeats the measured payout — the one
   claim the page spent those words earning. */
.revcta-end{
  flex-direction:column;align-items:stretch;gap:10px;text-align:center;
  background:var(--surface-2,#FAFBFB);border:1px solid var(--line);
  border-radius:var(--radius);padding:20px 18px;margin:22px 0 28px;
}
.revcta-end .ctapay{color:var(--cta-dark);font-size:14px}
.revcta-end .ctapay b{font-weight:700}
.revcta-end .btn{align-self:center;min-width:min(300px,100%)}
.bars{display:flex;flex-direction:column;gap:9px;margin:18px 0 26px}
.bar{display:grid;grid-template-columns:minmax(96px,150px) minmax(0,1fr) 40px;gap:12px;align-items:center}
.bl{font-size:14.5px;color:var(--ink-2)}
.bt{height:9px;background:var(--surface-3);border-radius:99px;overflow:hidden}
.bt i{display:block;height:100%;background:linear-gradient(90deg,var(--cta),var(--gold));border-radius:99px}
.bv{font-family:var(--mono,monospace);font-size:14px;font-weight:700;text-align:right;font-variant-numeric:tabular-nums}
.related{font-size:15px;color:var(--ink-2);border-top:1px solid var(--line);padding-top:16px;margin-top:26px}
.post-grid .ph img{max-height:66px;width:auto;object-fit:contain}

/* ============================ FOOTER BANDS ============================ */
.authorbar{background:#fff;border-top:1px solid var(--line);padding:36px 0 34px}
.authorbar h4{
  font-size:15.5px;font-weight:800;font-style:italic;letter-spacing:-.01em;
  margin-bottom:16px;color:var(--ink);
}
.authorcard{display:flex;align-items:center;gap:14px}
.authorcard img{
  width:64px;height:64px;border-radius:10px;flex:none;object-fit:cover;
  object-position:center 22%;background:var(--brand);
}
.authorcard small{
  display:block;font-size:11px;font-weight:700;letter-spacing:.07em;
  text-transform:uppercase;color:var(--ink-3);margin-bottom:3px;
}
.authorcard a{font-size:19px;font-weight:700;color:var(--link);text-decoration:underline}
.authorcard a:hover{color:var(--brand)}
.authorcard span{display:block;font-size:13px;color:var(--ink-3);margin-top:3px}

.rgband{background:var(--page);border-top:1px solid var(--line);padding:30px 0}
.rgband .wrap{display:flex;justify-content:center}
.ga{
  display:inline-flex;align-items:center;gap:9px;
  font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--ink);text-decoration:none;
}
.ga:hover{text-decoration:none;opacity:.8}
.ga b{color:var(--warn);font-weight:800}
.ga i{
  font-style:normal;font-size:13px;font-weight:800;
  border:2px solid var(--ink);border-radius:999px;padding:3px 9px;line-height:1;
}

.copybar{border-top:1px solid #39424A;margin-top:24px;padding-top:18px;font-size:13px}
.copybar .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center;padding:0}
.copybar nav{display:flex;gap:22px;flex-wrap:wrap}
.copybar a{color:#AEB8BF;text-decoration:underline}
.copybar a:hover{color:#fff}
@media(max-width:620px){ .copybar .wrap{justify-content:center;text-align:center} }
.authorcard{flex-wrap:wrap}
.moreby{
  margin-left:auto;font-size:14.5px;font-weight:700;color:var(--link);
  border:1px solid var(--line-2);border-radius:999px;padding:9px 18px;white-space:nowrap;
}
.moreby:hover{border-color:var(--brand);color:var(--brand);text-decoration:none}
@media(max-width:620px){ .moreby{margin-left:0;margin-top:4px} }

/* ---- calculators (/tools/ + embeds on game and review pages) ---- */
.calc{
  border:1px solid var(--line-2);border-radius:var(--radius);background:#fff;
  padding:18px 18px 14px;margin:22px 0 28px;box-shadow:var(--shadow)
}
.calc-warn{
  margin:0 0 14px;font-size:13.5px;line-height:1.5;color:#7A5A12;
  background:#FDF6E3;border-left:3px solid var(--gold);padding:9px 12px;border-radius:0 4px 4px 0
}
.calc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.cf{display:flex;flex-direction:column;gap:5px;min-width:0}
.cf>span{font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-2)}
.cf input,.cf select{
  font:500 16px/1.2 var(--font);color:var(--ink);background:#fff;
  border:1px solid var(--line-2);border-radius:6px;padding:9px 10px;width:100%;
  -webkit-appearance:none;appearance:none
}
.cf select{background-image:linear-gradient(45deg,transparent 50%,var(--ink-3) 50%),linear-gradient(135deg,var(--ink-3) 50%,transparent 50%);
  background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.cf input:focus,.cf select:focus{outline:2px solid var(--link);outline-offset:1px;border-color:var(--link)}
.cf em{font-style:normal;font-size:11.5px;color:var(--ink-3)}

.calc-hero{
  margin:18px 0 0;padding:16px 18px;border-radius:var(--radius);
  background:linear-gradient(140deg,#2B3440,#111820);color:#fff;text-align:center
}
.calc-hero .lbl{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#9AA6B2}
.calc-hero strong{display:block;font-size:clamp(34px,7vw,52px);font-weight:900;line-height:1.1;margin:4px 0 2px;color:var(--gold)}
.calc-hero .sub{display:block;font-size:13.5px;color:#9AA6B2}

.calc-out .tablewrap{margin:16px 0 0}
.calc-table td:first-child{font-weight:700}
.calc-note{font-size:13.5px;line-height:1.6;color:var(--ink-2);margin:12px 0 0}
.calc-fallback p{font-size:15px}

.calc-foot{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:14px;
  padding-top:12px;border-top:1px solid var(--line);font-size:13.5px}
.calc-link{
  font:700 13.5px var(--font);color:var(--link);background:none;border:0;padding:0;
  cursor:pointer;text-decoration:underline;text-underline-offset:2px
}
.calc-link:hover{color:var(--brand)}

/* sidebar widget */
.toollist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.toollist li{display:flex;align-items:center;gap:9px;font-size:14.5px}
.toollist .ti{flex:none;width:26px;height:26px;display:grid;place-items:center;
  background:var(--page);border-radius:6px;font-size:14px}

/* hub cards for calculators that are not live yet */

@media(max-width:720px){
  .calc-grid{grid-template-columns:repeat(2,1fr)}
  .calc{padding:14px 13px 12px}
}
@media(max-width:420px){
  .calc-grid{grid-template-columns:1fr}
}

/* ---- calculator: warning state, flags, histogram ---- */
.calc-hero.bad strong{color:#FF8A80}
.calc-note.calc-flag{
  border-left:3px solid var(--gold);background:#FDF6E3;padding:10px 13px;
  border-radius:0 4px 4px 0;color:#7A5A12
}
.calc-table td:first-child{font-weight:500;color:var(--ink-2)}
.calc-table td:first-child.brand{font-weight:700;color:var(--ink)}

.histo{margin:18px 0 0}
.histo .bars{
  display:flex;align-items:flex-end;gap:2px;height:180px;padding:10px 12px 0;
  background:linear-gradient(140deg,#2B3440,#111820);border-radius:var(--radius)
}
.histo .hb{flex:1;min-width:0;background:#6C7885;border-radius:2px 2px 0 0;transition:background .15s}
.histo .hb.up{background:var(--cta)}
.histo .hb:hover{background:var(--gold)}
.histo .axis{
  display:flex;justify-content:space-between;align-items:center;gap:8px;
  margin-top:7px;font-size:12px;color:var(--ink-3)
}
.histo .axis .mark{font-weight:700;color:var(--ink-2)}

@media(max-width:560px){
  .histo .bars{height:140px;gap:1px}
}
.calc-cap{font-size:13px;color:var(--ink-3);margin:16px 0 8px;line-height:1.5}

/* ---- calculator band on the homepage ---- */
/* Two across, deliberately. Four narrow cards holding two calculators read
   as a row with something missing from it. */
.toolstrip{
  display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:18px 0 24px
}
.tcard{
  display:flex;flex-direction:column;gap:9px;padding:22px 22px 24px;background:#fff;
  border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);
  text-decoration:none;transition:border-color .15s,transform .15s
}
.tcard:hover{border-color:var(--brand);transform:translateY(-2px);text-decoration:none}
.tcard .ti{
  width:46px;height:46px;display:grid;place-items:center;font-size:22px;
  background:var(--page);border-radius:10px
}
.tcard .tn{font-weight:700;font-size:17.5px;color:var(--ink);line-height:1.3}
.tcard:hover .tn{color:var(--brand)}
.tcard .tx{font-size:14px;line-height:1.55;color:var(--ink-3)}

@media(max-width:560px){.toolstrip{grid-template-columns:1fr}}

/* ---- inline icons + calculator card art ---- */
.ic{display:block;color:var(--brand)}
.toollist .ti,.tcard .ti{color:var(--brand)}
.ph.art{padding:14px 10px;font-size:0}
.ph.art .cardart{width:100%;height:100%;max-height:140px;display:block}

/* ---- post artwork ----
   Class is `pic` rather than `shot` because `.shot` is the casino screenshot
   component and carries min-height, a border and vertical margin.

   Both frames below were built to hold an emoji — `display:grid` with
   `place-items:center` and a font size — so they are taken out of grid layout
   and given their own box. `max-height:none` undoes the 66px cap that
   `.post-grid .ph img` applies to keep casino logos small. */
.pcard .ph.pic{
  display:block;width:100%;aspect-ratio:16/9;height:auto;
  padding:0;overflow:hidden;font-size:0
}
.pcard .ph.pic img,
.post-grid .ph.pic img{
  width:100%;height:100%;max-width:none;max-height:none;
  object-fit:cover;display:block
}
.recent .thumb.pic{
  width:96px;height:54px;min-height:0;max-height:54px;
  object-fit:cover;display:block;border-radius:5px
}

.posthero.pic{margin:0 0 22px;border-radius:var(--radius);overflow:hidden;
  background:linear-gradient(140deg,#2B3440,#111820);font-size:0;display:block}
.posthero.pic img{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover}

/* ---- UK acceptance, on every operator card ---- */
.uk-access{
  margin-top:10px;padding-top:9px;border-top:1px solid var(--line);
  display:flex;flex-direction:column;gap:2px;line-height:1.3
}
.uk-access .q{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.uk-access .a{font-size:14px;font-weight:700}
.uk-access.ok .a{color:var(--cta-dark)}
.uk-access.vpn .a{color:#B07406}
.uk-access.no .a{color:var(--brand)}
.uk-access.unknown .a{color:var(--ink-3);font-weight:500;font-style:italic}
.uk-access .warn{
  display:block;margin-top:4px;font-size:11.5px;line-height:1.45;
  color:var(--ink-3);font-weight:400
}

/* ---- search ---- */
.searchbox-lg{display:flex;gap:8px;margin:6px 0 26px}
.searchbox-lg input{
  flex:1;min-width:0;font:400 16px var(--font);padding:12px 14px;
  border:1px solid var(--line-2);border-radius:6px;background:#fff;color:var(--ink)
}
.searchbox-lg input:focus{outline:2px solid var(--link);outline-offset:1px;border-color:var(--link)}
.searchbox-lg button{
  font:700 15px var(--font);padding:12px 22px;border:0;border-radius:6px;
  background:var(--brand);color:#fff;cursor:pointer
}
.searchbox-lg button:hover{background:var(--brand-dark)}
.search-count{font-size:14px;color:var(--ink-3);margin:0 0 14px}
.search-empty{font-size:16px;color:var(--ink-2);margin:0 0 14px}
.search-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:20px}
.search-list li{border-top:1px solid var(--line);padding-top:16px}
.search-list li:first-child{border-top:0;padding-top:0}
.search-list a{font-weight:700;font-size:17px;color:var(--link);line-height:1.35;display:block}
.search-list a:hover{color:var(--brand)}
.search-list .u{display:block;font-size:12.5px;color:var(--cta-dark);margin:3px 0 6px}
.search-list p{font-size:14.5px;color:var(--ink-2);margin:0;line-height:1.55}

/* ---- short testing panel on inner pages, and the 404 ---- */
.method-short{
  border-left:4px solid var(--cta);background:#F1F8F3;padding:14px 18px;
  border-radius:0 var(--radius) var(--radius) 0;margin:22px 0 26px
}
.method-short p{margin:0;font-size:15.5px;line-height:1.6;color:var(--ink-2)}
.notfound-links{list-style:none;margin:20px 0 0;padding:0;display:flex;
  flex-direction:column;gap:11px}
.notfound-links a{font-weight:700;font-size:16px}
