/* VinBar shared stylesheet — playful "candy" theme (original; open-source fonts only).
   Keeps every wb-* class name the page builders use, restyled to match the homepage. */
:root{
  --c-cream:#fff2df; --c-cream-2:#fffbec; --c-warm:#ffe9c6;
  --c-bg:#fff2df; --c-surface:#fffbec; --c-surface-alt:#ffe9c6;
  --c-border:#6b3e28; --c-border-light:#e7d3b3;
  --c-body:#6b3e28; --c-ink:#49291d; --c-muted:#9a7b5f;
  --c-accent:#001976; --c-accent-hover:#254474; --c-accent-soft:rgba(0,25,118,.07);
  --c-cta:#3dc17a; --c-cta-hover:#33a869;
  --c-yellow:#ffbf00; --c-pink:#ed3475; --c-red:#e12c64; --c-green:#3dc17a; --c-blue:#001976;
  --c-gold:#e0a419; --c-positive:#3dc17a; --c-positive-soft:rgba(61,193,122,.12);
  --c-negative:#e12c64; --c-negative-soft:rgba(237,52,117,.08); --c-white:#fff;
  --f-body:'Nunito',system-ui,-apple-system,sans-serif;
  --f-heading:'Fredoka','Nunito',system-ui,sans-serif;
  --r-sm:12px; --r-md:18px; --r-lg:28px;
  --s-card:0 3px 0 rgba(107,62,40,.12); --s-card-hover:0 8px 0 rgba(107,62,40,.16);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--f-body);background:var(--c-bg);color:var(--c-body);line-height:1.7;font-size:17px;font-weight:600;-webkit-font-smoothing:antialiased}
a{color:inherit}
.wb-wrap{max-width:1080px;margin:0 auto;padding:0 24px}

/* nav */
.wb-bar{position:sticky;top:0;z-index:50;background:var(--c-cream);border-bottom:3px solid var(--c-border);padding:0 24px}
.wb-bar-inner{max-width:1080px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:70px}
.wb-brand{display:flex;flex-direction:column;justify-content:center;text-decoration:none;line-height:1;gap:2px}
.wb-brand-name{font-family:var(--f-heading);font-size:1.8rem;font-weight:600;color:var(--c-body);letter-spacing:-.01em}
.wb-brand-dot{color:var(--c-pink)}
.wb-tagline{display:block;font-family:var(--f-heading);font-size:.62rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--c-pink)}
.wb-nav-list{display:flex;gap:20px;list-style:none;align-items:center}
.wb-nav-list>li{position:relative}
.wb-nav-list a,.wb-top{color:var(--c-body);text-decoration:none;font-family:var(--f-heading);font-size:1.02rem;font-weight:500;transition:color .2s;cursor:pointer;display:inline-block}
.wb-nav-list>li>a:hover,.wb-top:hover,.wb-active{color:var(--c-pink)}
.wb-parent>.wb-top::after{content:'\25BE';font-size:.6em;margin-left:5px;opacity:.55;vertical-align:middle}
.wb-caret{display:none}
/* mega dropdown */
.wb-panel{position:absolute;top:calc(100% + 12px);right:0;display:none;z-index:60}
.wb-panel::before{content:'';position:absolute;top:-12px;left:0;right:0;height:12px}
.wb-parent:hover>.wb-panel,.wb-parent:focus-within>.wb-panel{display:block}
.wb-panel-in{display:flex;gap:26px;background:var(--c-cream-2);border:3px solid var(--c-border);border-radius:18px;padding:20px 24px;box-shadow:0 10px 0 rgba(107,62,40,.10)}
.wb-col{display:flex;flex-direction:column;gap:7px;min-width:168px}
.wb-col-h{font-family:var(--f-heading);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--c-muted);margin-bottom:3px}
.wb-col a{font-size:.9rem;font-weight:500;white-space:nowrap}
.wb-col a:hover{color:var(--c-pink)}
.wb-nav-18 a{display:inline-block;background:var(--c-border);color:var(--c-cream);font-family:var(--f-heading);font-weight:600;font-size:.9rem;border-radius:999px;padding:5px 15px;text-decoration:none;line-height:1.3}
.wb-nav-18 a:hover{background:var(--c-ink);color:var(--c-cream)}
.wb-menu-toggle{display:none;background:var(--c-border);border:none;border-radius:999px;padding:8px 16px;cursor:pointer;font-family:var(--f-heading);font-size:1rem;color:var(--c-cream)}

/* banner with wave bottom + playful colour wash (inner pages only) */
.wb-banner{padding:22px 24px 78px;text-align:center;position:relative;overflow:hidden;
  background:
    radial-gradient(58% 55% at 9% 6%, rgba(237,52,117,.32), transparent 60%),
    radial-gradient(52% 52% at 93% 2%, rgba(0,25,118,.24), transparent 60%),
    radial-gradient(60% 62% at 90% 80%, rgba(61,193,122,.32), transparent 60%),
    radial-gradient(62% 62% at 6% 92%, rgba(255,191,0,.42), transparent 60%),
    linear-gradient(155deg,#fff6e6 0%,#ffe4bf 100%)}
/* breadcrumb sits top-left inside the hero */
.wb-banner>.wb-wrap:first-child .wb-breadcrumb,.wb-banner .wb-breadcrumb{text-align:left;padding:0;margin:0 0 22px;color:var(--c-body)}
.wb-banner .wb-breadcrumb a{color:var(--c-accent)}
.wb-banner .wb-breadcrumb span{opacity:.55}
.wb-banner::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:46px;background-repeat:no-repeat;background-size:100% 100%;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 70' preserveAspectRatio='none'%3E%3Cpath d='M0,38 C180,72 340,4 540,30 C740,56 900,2 1120,30 C1290,52 1380,20 1440,34 L1440,70 L0,70 Z' fill='%23fff2df'/%3E%3C/svg%3E")}
.wb-banner-badge{display:inline-flex;align-items:center;gap:6px;background:var(--c-pink);border:none;border-radius:999px;padding:6px 18px;font-family:var(--f-heading);font-size:.85rem;font-weight:600;color:#fff;margin-bottom:18px}
.wb-banner h1{font-family:var(--f-heading);font-size:clamp(2rem,5.5vw,3.6rem);font-weight:600;color:var(--c-body);line-height:1.02;max-width:20ch;margin:0 auto 14px;letter-spacing:-.01em}
.wb-banner h1 span{color:var(--c-pink)}
.wb-banner-sub{font-size:1.05rem;color:var(--c-body);max-width:60ch;margin:0 auto 16px}
.wb-banner-author{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-heading);font-size:.92rem;color:var(--c-body)}
.wb-author-avatar{width:36px;height:36px;border-radius:50%;background:var(--c-green);display:flex;align-items:center;justify-content:center;font-family:var(--f-heading);font-weight:600;font-size:.9rem;color:#fff;border:2px solid var(--c-border);overflow:hidden}
.wb-author-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.wb-banner-author strong{color:var(--c-body)}
.wb-hero-img{display:none}

/* breadcrumb */
.wb-breadcrumb{font-family:var(--f-heading);font-size:.82rem;color:var(--c-muted);padding:16px 0 0}
.wb-breadcrumb a{color:var(--c-accent);text-decoration:none}
.wb-breadcrumb a:hover{text-decoration:underline}
.wb-breadcrumb span{margin:0 6px;opacity:.5}

/* intro */
.wb-intro{padding:34px 0 26px;background:var(--c-bg)}
.wb-intro p{font-size:1.05rem;line-height:1.85;color:var(--c-body);margin-bottom:18px;max-width:800px}

/* labels + headings */
.wb-rankings{padding-top:30px;padding-bottom:40px}
.wb-label{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-heading);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--c-pink);margin-bottom:12px}
.wb-heading{font-family:var(--f-heading);font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:600;color:var(--c-body);margin-bottom:24px;letter-spacing:-.01em}

/* comparison quick table (wb-grid) */
.wb-grid{width:100%;border-collapse:separate;border-spacing:0 10px}
.wb-grid thead th{font-family:var(--f-heading);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--c-muted);padding:0 16px 6px;text-align:left}
.wb-grid tbody tr{background:var(--c-surface);box-shadow:var(--s-card);border-radius:var(--r-md);transition:transform .15s}
.wb-grid tbody tr:hover{transform:translateY(-2px)}
.wb-grid td{padding:16px;vertical-align:middle;border-top:3px solid var(--c-border);border-bottom:3px solid var(--c-border)}
.wb-grid td:first-child{border-radius:var(--r-md) 0 0 var(--r-md);border-left:3px solid var(--c-border)}
.wb-grid td:last-child{border-radius:0 var(--r-md) var(--r-md) 0;border-right:3px solid var(--c-border)}
.wb-pos{font-family:var(--f-heading);font-weight:600;font-size:1.2rem;color:var(--c-pink);width:34px;text-align:center}
.wb-casino-cell{display:flex;align-items:center;gap:12px;font-family:var(--f-heading);font-weight:500;font-size:1.1rem;color:var(--c-body)}
.wb-casino-name{display:inline}
.wb-logo,.wb-logo-img{width:96px;height:96px;border-radius:18px;background:#fff;display:flex;align-items:center;justify-content:center;object-fit:contain;padding:7px;border:3px solid var(--c-border);flex-shrink:0}
.wb-tag{font-size:.95rem;color:var(--c-muted);font-weight:700}
.wb-bonus-val{font-family:var(--f-heading);font-weight:600;color:var(--c-cta);font-size:1.05rem}
.wb-stars-cell{vertical-align:middle!important}
.wb-stars{font-family:var(--f-heading);font-weight:600;color:var(--c-gold);font-size:1rem;white-space:nowrap}
.wb-star{font-size:.85rem}

/* candy pill CTA */
.wb-cta{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:4px;background:#fff;color:var(--c-body);font-family:var(--f-heading);font-size:.92rem;font-weight:600;padding:11px 24px;border-radius:999px;text-decoration:none;white-space:nowrap;border:3px solid var(--c-border);transition:transform .2s,box-shadow .2s;box-shadow:.35rem .35rem 0 var(--c-green)}
.wb-cta:hover{transform:translate(-.1rem,-.1rem);box-shadow:.5rem .5rem 0 var(--c-green)}
.wb-cta:active{transform:translate(.35rem,.35rem);box-shadow:0 0 0 var(--c-green)}
.wb-cta-sm{padding:9px 18px;font-size:.86rem}
.wb-cta-lg{padding:14px 34px;font-size:1.02rem}
.wb-cta-accent{box-shadow:.35rem .35rem 0 var(--c-pink)}
.wb-cta-accent:hover{box-shadow:.5rem .5rem 0 var(--c-pink)}

/* in-depth listings */
.wb-listings{padding-top:14px;padding-bottom:48px}
.wb-listing{background:var(--c-surface);border:3px solid var(--c-border);border-radius:var(--r-lg);margin-bottom:24px;overflow:hidden;box-shadow:var(--s-card)}
.wb-listing-top{display:flex;flex-direction:column;gap:12px;padding:24px;border-bottom:3px solid var(--c-border-light)}
.wb-listing-row{display:flex;align-items:center;gap:14px}
.wb-rank-num{width:46px;height:46px;background:var(--c-pink);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--f-heading);font-weight:600;font-size:1.2rem;color:#fff;flex-shrink:0;border:3px solid var(--c-border)}
.wb-rank-num.wb-top{background:var(--c-yellow);color:var(--c-body)}
img.wb-listing-logo{width:132px;height:132px;border-radius:24px;background:#fff;object-fit:contain;padding:10px;border:3px solid var(--c-border);flex-shrink:0}
.wb-listing-name{font-family:var(--f-heading);font-size:1.4rem;font-weight:600;color:var(--c-body)}
.wb-listing-award{font-family:var(--f-heading);font-size:.85rem;color:var(--c-pink);font-weight:500}
.wb-listing-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:0 24px 24px}
.wb-listing-bonus-big{font-family:var(--f-heading);font-size:1.15rem;font-weight:600;color:var(--c-cta)}
.wb-listing-cta-wrap{display:flex;align-items:center;gap:10px}

/* pros / cons blocks */
.wb-pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}
.wb-pros-cons>div{background:var(--c-surface-alt);border:2px solid var(--c-border-light);border-radius:var(--r-md);padding:18px}
.wb-pros-cons h3{font-family:var(--f-heading);font-size:1rem;font-weight:600;color:var(--c-accent);margin:0 0 10px}

/* segments */
.wb-segment{padding-top:44px;padding-bottom:44px;border-top:3px dotted var(--c-border-light)}
.wb-segment h2{font-family:var(--f-heading);font-size:clamp(1.5rem,3vw,2.1rem);font-weight:600;color:var(--c-body);margin-bottom:18px;letter-spacing:-.01em}
.wb-segment h3{font-family:var(--f-heading);font-size:1.2rem;font-weight:500;color:var(--c-accent);margin:24px 0 8px}
.wb-segment h4{font-family:var(--f-heading);font-size:1.02rem;font-weight:500;color:var(--c-body);margin:18px 0 6px}
.wb-segment p{color:var(--c-body);margin-bottom:16px;font-size:1.02rem;line-height:1.85}
.wb-segment ul,.wb-segment ol{margin:0 0 16px 22px}
.wb-segment li{margin-bottom:8px;line-height:1.7}
.wb-segment a{color:var(--c-accent);text-decoration:underline;text-decoration-color:var(--c-yellow);text-decoration-thickness:2px}

/* data tables */
.wb-comp-wrap{overflow-x:auto;margin:22px 0;border-radius:var(--r-md);border:3px solid var(--c-border)}
.wb-comp-table{width:100%;border-collapse:collapse;font-size:.95rem}
.wb-comp-table caption,.wb-table-cap{caption-side:top;text-align:left;font-family:var(--f-heading);font-size:.85rem;font-weight:500;color:var(--c-muted);padding:0 0 10px}
.wb-comp-table thead th{background:var(--c-blue);color:#fff;font-family:var(--f-heading);font-size:.74rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;padding:12px 16px;text-align:left}
.wb-comp-table tbody td{padding:12px 16px;border-bottom:2px solid var(--c-border-light);color:var(--c-body)}
.wb-comp-table tbody tr:nth-child(odd){background:var(--c-surface)}
.wb-comp-table tbody tr:last-child td{border-bottom:none}
.wb-comp-table .wb-hl{color:var(--c-positive);font-weight:800}

/* steps + tips */
.wb-steps{counter-reset:step;list-style:none;margin:22px 0}
.wb-steps li{counter-increment:step;position:relative;padding:18px 18px 18px 66px;background:var(--c-surface);border:3px solid var(--c-border);border-radius:var(--r-md);margin-bottom:12px;font-size:.98rem;color:var(--c-body);line-height:1.6}
.wb-steps li::before{content:counter(step);position:absolute;left:16px;top:14px;width:36px;height:36px;background:var(--c-green);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--f-heading);font-weight:600;font-size:1rem;border:2px solid var(--c-border)}
.wb-tips{list-style:none;margin:22px 0}
.wb-tips li{padding:14px 16px 14px 44px;position:relative;background:var(--c-surface);border:3px solid var(--c-border);border-radius:var(--r-md);margin-bottom:10px;font-size:.95rem;line-height:1.7}
.wb-tips li::before{content:'\2605';position:absolute;left:16px;top:14px;color:var(--c-yellow);font-size:1rem}

/* subnav pills */
.wb-subnav{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}
.wb-subnav a{font-family:var(--f-heading);font-size:.85rem;font-weight:500;color:var(--c-body);background:var(--c-surface);border:2px solid var(--c-border);border-radius:999px;padding:7px 16px;text-decoration:none;transition:background .15s,color .15s}
.wb-subnav a:hover{background:var(--c-pink);color:#fff;border-color:var(--c-border)}

/* toc + callouts */
.wb-toc{background:var(--c-surface);border:3px solid var(--c-border);border-radius:var(--r-md);padding:20px 24px;margin:22px 0}
.wb-toc-title{font-family:var(--f-heading);font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--c-muted);margin-bottom:10px}
.wb-toc ul{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:4px 18px}
.wb-toc a{font-size:.9rem;color:var(--c-accent);text-decoration:none}
.wb-toc a:hover{text-decoration:underline}
.wb-callout{background:var(--c-accent-soft);border:3px solid var(--c-border);border-radius:var(--r-md);padding:18px 22px;margin:22px 0;font-size:.98rem;line-height:1.7;color:var(--c-body)}
.wb-callout strong{color:var(--c-accent)}
.wb-callout-gold{background:rgba(255,191,0,.14)}
.wb-callout-gold strong{color:var(--c-gold)}
.wb-note{font-size:.82rem;color:var(--c-muted);font-style:italic;margin:8px 0}
.wb-updated{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:var(--c-muted)}
.wb-updated strong{color:var(--c-body)}

/* odds table (WC) */
.wb-odds-table{width:100%;border-collapse:collapse;font-size:.98rem;margin:18px 0;border:3px solid var(--c-border);border-radius:var(--r-md);overflow:hidden}
.wb-odds-table th{background:var(--c-blue);color:#fff;padding:11px 14px;text-align:left;font-family:var(--f-heading);font-size:.74rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}
.wb-odds-table td{padding:12px 14px;border-bottom:2px solid var(--c-border-light)}
.wb-odds-table tbody tr:nth-child(odd){background:var(--c-surface)}
.wb-odds-fav{color:var(--c-positive);font-weight:800}

/* homepage vertical cards (if used) */
.wb-verticals{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin:28px 0}
.wb-vcard{display:block;background:var(--c-surface);border:3px solid var(--c-border);border-radius:var(--r-lg);padding:26px;text-decoration:none;box-shadow:var(--s-card);transition:transform .15s}
.wb-vcard:hover{transform:translateY(-3px)}
.wb-vcard-ico{font-size:1.9rem;margin-bottom:10px}
.wb-vcard h3{font-family:var(--f-heading);font-size:1.2rem;color:var(--c-body);margin-bottom:6px}
.wb-vcard p{font-size:.9rem;color:var(--c-muted);line-height:1.6;margin:0 0 12px}
.wb-vcard-go{font-family:var(--f-heading);font-size:.85rem;font-weight:500;color:var(--c-cta)}

/* FAQ */
.wb-questions{padding-top:44px;padding-bottom:44px;border-top:3px dotted var(--c-border-light)}
.wb-q-item{border:3px solid var(--c-border);border-radius:var(--r-md);margin-bottom:12px;overflow:hidden;background:var(--c-surface)}
.wb-q-item summary{padding:18px 22px;cursor:pointer;font-family:var(--f-heading);font-weight:500;font-size:1.15rem;color:var(--c-body);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px}
.wb-q-item summary::-webkit-details-marker{display:none}
.wb-q-item summary::after{content:'+';font-size:1.4rem;color:var(--c-pink);font-family:var(--f-heading)}
.wb-q-item[open] summary::after{content:'\2212'}
.wb-q-answer{padding:0 22px 18px;font-size:.98rem;color:var(--c-body);line-height:1.75}
.wb-q-answer a{color:var(--c-accent)}

/* responsible gambling */
.wb-safety{background:var(--c-pink);border:3px solid var(--c-border);border-radius:var(--r-lg);padding:30px;margin:44px 0;color:#fff}
.wb-safety h2{font-family:var(--f-heading);font-size:1.5rem;color:#fff;margin-bottom:12px}
.wb-safety p{font-size:.95rem;color:#fff;line-height:1.75;margin-bottom:10px;font-weight:700}
.wb-safety a{color:#fff;text-decoration:underline}
.wb-safety-badge{display:inline-flex;align-items:center;gap:6px;background:#fff;color:var(--c-pink);font-family:var(--f-heading);font-size:.82rem;font-weight:600;padding:6px 16px;border-radius:999px;margin-bottom:12px}

/* author box */
.wb-author-box{background:var(--c-surface);border:3px solid var(--c-border);border-radius:var(--r-lg);padding:28px;margin:44px 0;display:flex;gap:24px;align-items:flex-start;box-shadow:var(--s-card)}
.wb-author-pic{width:82px;height:82px;border-radius:50%;background:var(--c-green);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:var(--f-heading);font-weight:600;font-size:1.7rem;color:#fff;border:3px solid var(--c-border);overflow:hidden}
.wb-author-pic img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.wb-author-meta{flex:1}
.wb-author-tag{font-family:var(--f-heading);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--c-pink);margin-bottom:4px}
.wb-author-name{font-family:var(--f-heading);font-size:1.3rem;font-weight:600;color:var(--c-body);margin-bottom:2px}
.wb-author-title{font-size:.9rem;color:var(--c-muted);margin-bottom:10px}
.wb-author-bio{font-size:.95rem;color:var(--c-body);line-height:1.7}
.wb-author-bio a{color:var(--c-accent)}

/* contact form */
.wb-form-ok{display:none;background:var(--c-positive-soft);border:2px solid var(--c-green);border-radius:var(--r-md);padding:14px 18px;color:var(--c-cta-hover);font-weight:700;margin-top:14px}
.wb-cta-form{margin-top:8px}

/* legal */
.wb-legal{padding:32px 0 48px}
.wb-legal h2{font-family:var(--f-heading);font-size:1.5rem;font-weight:600;margin:28px 0 12px;color:var(--c-body)}
.wb-legal h3{font-family:var(--f-heading);font-size:1.1rem;font-weight:500;margin:20px 0 8px;color:var(--c-accent)}
.wb-legal p,.wb-legal li{font-size:.98rem;line-height:1.8;color:var(--c-body);margin-bottom:12px}
.wb-legal ul{margin:0 0 16px 22px}
.wb-legal a{color:var(--c-accent)}

/* footer */
.wb-base{background:var(--c-yellow);border-top:3px solid var(--c-border);padding:56px 24px 36px;text-align:center;color:var(--c-body);font-size:.9rem}
.wb-base-links{display:flex;justify-content:center;gap:12px 22px;list-style:none;margin-bottom:18px;flex-wrap:wrap}
.wb-base-links a{font-family:var(--f-heading);font-size:.95rem;color:var(--c-body);text-decoration:none;transition:color .2s}
.wb-base-links a:hover{color:var(--c-pink)}
.wb-base p{margin-bottom:6px;font-weight:600;max-width:70ch;margin-left:auto;margin-right:auto}

@media(max-width:768px){
  .wb-nav-list{display:none;position:absolute;top:70px;left:0;right:0;background:var(--c-cream);border-bottom:3px solid var(--c-border);flex-direction:column;padding:16px 24px;gap:10px;max-height:82vh;overflow-y:auto}
  .wb-nav-list.wb-open{display:flex}
  .wb-nav-list>li{position:static;width:100%}
  .wb-menu-toggle{display:block}
  .wb-parent{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
  .wb-parent>.wb-top{flex:1}
  .wb-parent>.wb-top::after{display:none}
  .wb-caret{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:2px solid var(--c-border);border-radius:8px;width:36px;height:30px;color:var(--c-body);font-size:.8rem;cursor:pointer}
  .wb-panel{position:static;display:none;width:100%;top:auto;margin-top:6px}
  .wb-panel::before{display:none}
  .wb-parent.wb-open>.wb-panel{display:block}
  .wb-panel-in{flex-direction:column;gap:14px;background:var(--c-surface);border:2px solid var(--c-border-light);border-radius:14px;padding:14px 16px;box-shadow:none}
  .wb-col{min-width:0;gap:6px}
  .wb-col a{white-space:normal}
  /* --- compact hero so the affiliate table sits above the fold --- */
  .wb-banner{padding:14px 20px 40px}
  .wb-banner::after{height:28px}
  .wb-banner .wb-breadcrumb{margin-bottom:12px}
  .wb-banner-badge{margin-bottom:10px}
  .wb-banner h1{font-size:1.72rem;margin-bottom:10px}
  .wb-banner-sub{display:none}          /* drop long strapline on mobile */
  .wb-banner-author{margin:0}
  .wb-rankings{padding-top:14px;padding-bottom:32px}
  .wb-rankings .wb-label{margin-bottom:6px}
  .wb-rankings .wb-heading{font-size:1.45rem;margin-bottom:14px}
  /* --- affiliate comparison table -> stacked cards (image spec) --- */
  .wb-affiliate{overflow:visible;border:none;border-radius:0}
  .wb-afftable thead{display:none}
  .wb-afftable,.wb-afftable tbody{display:block}
  .wb-afftable tbody tr{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;
    position:relative;padding:42px 20px 16px;margin-bottom:22px;transform:none;
    background:var(--c-surface);border:3px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--s-card)}
  .wb-afftable tbody tr:hover{transform:none}
  .wb-afftable td{display:block;width:auto;padding:0;border:none!important;border-radius:0}
  /* let logo + name leave the casino cell so each can be ordered on its own */
  .wb-afftable .wb-casino-cell{display:contents}
  /* 1. rank badge, top-left */
  .wb-afftable td.wb-pos{position:absolute;top:-16px;left:-8px;order:0;width:52px;height:52px;
    display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:#fff;
    background:var(--c-pink);border:3px solid var(--c-border);border-radius:16px}
  /* 2. logo tile */
  .wb-afftable img.wb-logo-img{order:1;width:132px;height:132px;border-radius:18px;padding:10px;margin:0 auto}
  /* 3. stars + rating */
  .wb-afftable td.wb-stars-cell{order:2;font-size:1.2rem}
  .wb-afftable td.wb-stars-cell::after{content:' / 5';color:var(--c-muted);font-size:.8rem;font-weight:700}
  /* 4. operator name */
  .wb-afftable .wb-casino-name{display:block;order:3;font-family:var(--f-heading);font-weight:600;font-size:1.5rem;color:var(--c-body);line-height:1.1}
  /* 5. bonus chip */
  .wb-afftable td.wb-bonus-cell{order:4;background:var(--c-surface-alt);border:2px solid var(--c-border-light);
    border-radius:12px;padding:11px 20px;font-size:1rem;color:var(--c-body)}
  /* free-spins column is already folded into the bonus text -> hide */
  .wb-afftable tbody td:nth-child(4){display:none}
  /* 6. full-width CTA */
  .wb-afftable td:last-child{order:5;width:100%;margin-top:2px}
  .wb-afftable td:last-child .wb-cta{display:flex;width:100%;background:var(--c-cta);color:#fff;
    border:3px solid var(--c-border);box-shadow:none;font-size:1.05rem;padding:15px 22px}
  .wb-afftable td:last-child .wb-cta:hover{transform:none;box-shadow:none}
  /* 7. footer line */
  .wb-afftable tbody tr::after{content:'Read review \00B7 18+ T&Cs';order:6;color:var(--c-muted);font-size:.8rem;font-weight:700}
  .wb-pros-cons{grid-template-columns:1fr}
  .wb-author-box{flex-direction:column;align-items:center;text-align:center}
  .wb-listing-bottom{flex-direction:column;align-items:stretch}
  .wb-listing-cta-wrap{justify-content:center}
  img.wb-listing-logo{width:92px;height:92px;border-radius:18px;padding:7px}
}
