/* notre site — New Site Architecture */

:root {
  /* Surface */
  --bg: #ffffff;
  --bg-soft: #f7f9f8;
  --bg-tint: #f0fdf4;
  --bg-hero: #f0fdf4;

  /* Text */
  --ink: #0f1713;
  --ink-2: #1f2937;
  --ink-muted: #4b5563;
  --ink-dim: #6b7280;

  /* Brand green */
  --g-900: #0b2e1e;
  --g-800: #14532d;
  --g-700: #166534;
  --g-600: #15803d;
  --g-500: #16a34a;
  --g-100: #dcfce7;
  --g-50:  #f0fdf4;

  /* Gold — stars only */
  --gold: #eab308;
  --gold-600: #ca8a04;
  --gold-50: #fefce8;

  /* Feedback */
  --danger: #dc2626;
  --danger-50: #fef2f2;
  --warn-bg: #fefce8;
  --warn-border: #fde68a;
  --warn-ink: #713f12;

  /* Neutral borders */
  --border: #e5e7eb;
  --border-soft: #f1f5f9;

  /* Shadows */
  --sh-xs: 0 1px 2px rgba(15,23,19,.04);
  --sh-sm: 0 1px 3px rgba(15,23,19,.06), 0 1px 2px rgba(15,23,19,.04);
  --sh: 0 4px 8px rgba(15,23,19,.05), 0 8px 24px rgba(15,23,19,.07);
  --sh-lg: 0 12px 32px rgba(15,23,19,.1), 0 4px 12px rgba(15,23,19,.05);

  /* Radius */
  --r-xs: 4px;
  --r-sm: 6px;
  --r: 10px;
  --r-md: 12px;
  --r-lg: 16px;
  --r-pill: 999px;

  /* Motion */
  --ease: cubic-bezier(.4, 0, .2, 1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'DM Sans',system-ui,-apple-system,sans-serif;
  font-weight:400;
  font-size:16.5px;
  line-height:1.65;
  color:var(--ink);
  background:var(--bg);
  min-height:100vh;
  display:flex;
  flex-direction:column;
  -webkit-font-smoothing:antialiased;
}
main{flex:1}

a{color:var(--g-700);text-decoration:underline;text-decoration-color:rgba(22,101,52,.35);text-underline-offset:2px;transition:color .15s var(--ease),text-decoration-color .15s var(--ease)}
a:hover{color:var(--g-800);text-decoration-color:var(--g-700)}
img{max-width:100%;height:auto;display:block}

[id]{scroll-margin-top:88px}

::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--bg-soft)}
::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}
::-webkit-scrollbar-thumb:hover{background:var(--ink-dim)}

:focus-visible{outline:2px solid var(--g-600);outline-offset:2px;border-radius:3px}

/* ═══════════════════ SITE HEADER (DARK GREEN) ═══════════════════ */
.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:var(--g-900);
  color:#fff;
  border-bottom:3px solid var(--g-500);
}
.site-header__inner{
  max-width:1200px;
  margin:0 auto;
  padding:14px 28px;
  display:flex;
  align-items:center;
  gap:20px;
}
.site-header__logo{display:block;flex-shrink:0;line-height:0}
.site-header__logo img{height:38px;width:auto;filter:brightness(0) invert(1)}
.site-nav{display:flex;align-items:center;gap:4px;margin-left:12px;flex:1}
.site-nav__link{
  color:rgba(255,255,255,.78);
  font-size:14.5px;
  font-weight:500;
  padding:8px 14px;
  border-radius:var(--r-sm);
  text-decoration:none;
  transition:all .15s var(--ease);
}
.site-nav__link:hover{color:#fff;background:rgba(255,255,255,.1);text-decoration:none}
.site-nav__link--active{color:#fff;background:rgba(255,255,255,.12)}
.site-header__toggle{
  display:none;
  background:transparent;
  border:1px solid rgba(255,255,255,.25);
  border-radius:var(--r-sm);
  padding:8px 10px;
  cursor:pointer;
  flex-direction:column;
  gap:4px;
  margin-left:auto;
}
.site-header__toggle span{
  display:block;
  width:18px;
  height:2px;
  background:#fff;
  border-radius:2px;
}
.site-header__cta{
  display:inline-flex;
  align-items:center;
  gap:7px;
  background:var(--g-500);
  color:#fff;
  font-weight:600;
  font-size:14px;
  padding:10px 20px;
  border-radius:var(--r-pill);
  text-decoration:none;
  white-space:nowrap;
  transition:all .15s var(--ease);
  box-shadow:0 2px 8px rgba(22,163,74,.3);
}
.site-header__cta:hover{
  background:var(--g-600);
  color:#fff;
  text-decoration:none;
  transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(22,163,74,.45);
}
.site-header__cta-arrow{transition:transform .15s var(--ease);font-size:13px}
.site-header__cta:hover .site-header__cta-arrow{transform:translateX(2px)}

/* ═══════════════════ ARTICLE HERO ═══════════════════ */
.article-hero{
  background:linear-gradient(180deg,var(--g-50) 0%,#fff 100%);
  border-bottom:1px solid var(--border);
  padding:32px 0 40px;
}
.article-hero__inner{
  max-width:900px;
  margin:0 auto;
  padding:0 28px;
}
.breadcrumbs{
  font-size:13px;
  color:var(--ink-muted);
  margin-bottom:16px;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.breadcrumbs a{
  color:var(--ink-muted);
  text-decoration:none;
  transition:color .15s var(--ease);
}
.breadcrumbs a:hover{color:var(--g-700);text-decoration:underline}
.breadcrumbs__sep{color:var(--ink-dim);font-size:14px}
.article-hero__tag{
  display:inline-block;
  font-size:11.5px;
  font-weight:700;
  padding:4px 12px;
  background:var(--g-100);
  color:var(--g-800);
  border-radius:var(--r-pill);
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:14px;
}
.article-hero__title{
  font-size:clamp(1.9em,4.5vw,2.5em);
  font-weight:700;
  line-height:1.15;
  letter-spacing:-.025em;
  color:var(--ink);
  margin:0 0 20px;
  max-width:22ch;
}
.article-hero__meta{
  display:flex;
  align-items:center;
  gap:20px;
  flex-wrap:wrap;
  padding-top:18px;
  border-top:1px solid var(--border);
}
.article-hero__author{
  display:flex;
  align-items:center;
  gap:10px;
}
.article-hero__author img{
  width:38px;
  height:38px;
  border-radius:50%;
  object-fit:cover;
  border:2px solid #fff;
  box-shadow:0 0 0 1px var(--border);
}
.article-hero__author a{
  color:var(--ink);
  font-weight:600;
  font-size:14px;
  text-decoration:none;
  border-bottom:1px dashed var(--g-600);
}
.article-hero__author a:hover{color:var(--g-700)}
.article-hero__author-label{
  display:block;
  font-size:11px;
  color:var(--ink-dim);
  text-transform:uppercase;
  letter-spacing:.05em;
  line-height:1;
  margin-bottom:3px;
}
.article-hero__meta-item{
  display:flex;
  flex-direction:column;
  gap:3px;
  font-size:13.5px;
  color:var(--ink-2);
}
.article-hero__meta-item strong{color:var(--ink);font-weight:600}
.article-hero__meta-label{
  font-size:11px;
  color:var(--ink-dim);
  text-transform:uppercase;
  letter-spacing:.05em;
  line-height:1;
}

/* ═══════════════════ PAGE LAYOUT ═══════════════════ */
.page-layout{
  max-width:1200px;
  margin:0 auto;
  padding:40px 28px 60px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 260px;
  gap:56px;
  align-items:start;
}
.page-layout__main{min-width:0}
.page-layout__side{position:relative}

.page-layout--simple{
  max-width:820px;
  display:block;
  padding:40px 28px 60px;
}

/* ═══════════════════ SIDEBAR TOC ═══════════════════ */
.toc-side{position:sticky;top:90px}
.toc-side__title{
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--ink-dim);
  margin:0 0 12px;
  padding-left:2px;
}
.toc-side__list{
  list-style:none;
  padding:0;
  margin:0;
  border-left:2px solid var(--border);
  counter-reset:toc;
}
.toc-side__list li{
  counter-increment:toc;
  margin:0;
  position:relative;
}
.toc-side__list li::before{
  content:counter(toc,decimal-leading-zero);
  position:absolute;
  left:-2px;
  top:10px;
  font-size:10px;
  font-weight:700;
  color:var(--ink-dim);
  background:var(--bg);
  padding:0 6px 0 10px;
  line-height:1;
  opacity:0;
  transition:opacity .15s var(--ease);
}
.toc-side__list li:hover::before{opacity:1;color:var(--g-700)}
.toc-side__list a{
  display:block;
  padding:8px 14px 8px 16px;
  font-size:13.5px;
  color:var(--ink-2);
  text-decoration:none;
  border-left:2px solid transparent;
  margin-left:-2px;
  line-height:1.4;
  transition:all .15s var(--ease);
}
.toc-side__list a:hover{color:var(--g-700);border-left-color:var(--g-500);background:var(--g-50);text-decoration:none}

/* ═══════════════════ MOBILE TOC ═══════════════════ */
.toc-mobile{
  display:none;
  background:var(--bg-soft);
  border:1px solid var(--border);
  border-radius:var(--r);
  margin:0 0 28px;
  overflow:hidden;
}
.toc-mobile summary{
  padding:14px 18px;
  font-weight:600;
  font-size:14px;
  color:var(--ink);
  cursor:pointer;
  list-style:none;
  display:flex;
  align-items:center;
  gap:10px;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.toc-mobile summary::-webkit-details-marker{display:none}
.toc-mobile summary::before{
  content:"";
  width:14px;
  height:2px;
  background:var(--g-700);
  box-shadow:0 4px 0 var(--g-700),0 8px 0 var(--g-700);
  margin-top:3px;
}
.toc-mobile summary::after{
  content:"+";
  margin-left:auto;
  font-size:18px;
  color:var(--g-700);
  transition:transform .2s var(--ease);
}
.toc-mobile[open] summary::after{transform:rotate(45deg)}
.toc-mobile ol{
  list-style:none;
  padding:6px 18px 14px;
  margin:0;
  border-top:1px solid var(--border);
  counter-reset:m-toc;
  background:#fff;
}
.toc-mobile ol li{
  counter-increment:m-toc;
  padding:8px 0;
  border-bottom:1px solid var(--border-soft);
  display:flex;
  gap:12px;
  margin:0;
}
.toc-mobile ol li:last-child{border-bottom:none}
.toc-mobile ol li::before{
  content:counter(m-toc,decimal-leading-zero);
  color:var(--g-700);
  font-weight:700;
  font-size:12px;
  min-width:22px;
}
.toc-mobile a{color:var(--ink-2);font-size:14px;text-decoration:none}

/* ═══════════════════ ARTICLE BODY ═══════════════════ */
.article{font-size:16.5px}
.article p{margin:0 0 16px;color:var(--ink-2);line-height:1.7}
.article ul,.article ol{padding-left:24px;margin:0 0 16px}
.article li{margin-bottom:6px;color:var(--ink-2);line-height:1.65}
.article strong{color:var(--ink);font-weight:600}
.article h2{
  font-size:clamp(1.4em,3vw,1.6em);
  font-weight:700;
  margin:44px 0 16px;
  line-height:1.25;
  color:var(--ink);
  letter-spacing:-.018em;
  scroll-margin-top:90px;
}
.article h3{
  font-size:1.15em;
  font-weight:600;
  margin:28px 0 10px;
  color:var(--ink);
  letter-spacing:-.008em;
}
.article-hero + .page-layout .article h1,
.article-hero + .page-layout--simple .article h1{display:none}
.page-layout--simple .article h1{
  font-size:clamp(1.8em,4.5vw,2.3em);
  font-weight:700;
  line-height:1.15;
  letter-spacing:-.02em;
  color:var(--ink);
  margin:0 0 18px;
}

/* Intro with side image */
.article-intro{
  display:grid;
  grid-template-columns:1fr 280px;
  gap:28px;
  align-items:start;
  padding:4px 0 16px;
  margin-bottom:8px;
}
.article-intro__text{min-width:0}
.article-intro__lede{
  font-size:18px;
  line-height:1.55;
  color:var(--ink);
  font-weight:500;
  margin-bottom:14px;
}
.article-intro__figure{
  margin:0;
  position:sticky;
  top:0;
}
.article-intro__figure img{
  width:100%;
  height:auto;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:var(--r-lg);
  box-shadow:var(--sh-sm);
  border:1px solid var(--border);
}

/* Standalone article images */
.article-img{
  width:100%;
  max-width:460px;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:var(--r-lg);
  margin:28px auto;
  display:block;
  box-shadow:var(--sh-sm);
  border:1px solid var(--border);
}

/* ═══════════════════ UPDATE BADGE ═══════════════════ */
.update-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:var(--g-100);
  color:var(--g-800);
  font-size:12px;
  font-weight:600;
  padding:5px 12px;
  border-radius:var(--r-pill);
  margin:0 0 14px;
  letter-spacing:.01em;
}
.update-badge::before{
  content:"";
  display:inline-block;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--g-500);
}

/* ═══════════════════ WARNING CALLOUT ═══════════════════ */
.warning-callout{
  display:flex;
  align-items:flex-start;
  gap:16px;
  background:var(--warn-bg);
  border:1px solid var(--warn-border);
  border-left:4px solid var(--gold-600);
  border-radius:var(--r);
  padding:18px 22px;
  margin:28px 0;
  font-size:14.5px;
  line-height:1.6;
  color:var(--warn-ink);
}
.warning-callout__icon{
  flex-shrink:0;
  width:28px;
  height:28px;
  background:var(--gold-600);
  color:#fff;
  font-weight:700;
  font-size:16px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}
.warning-callout__body{flex:1;min-width:0}
.warning-callout__body p{margin:0;color:var(--warn-ink)}
.warning-callout strong{color:var(--warn-ink);font-weight:700}

/* ═══════════════════ TOPLIST — CASINO CARDS ═══════════════════ */
.toplist{
  list-style:none;
  padding:0;
  margin:28px 0 32px;
  counter-reset:rank;
  display:flex;
  flex-direction:column;
  gap:22px;
}
.toplist__item{
  counter-increment:rank;
  margin:0;
  position:relative;
}
.toplist-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  overflow:hidden;
  box-shadow:var(--sh-xs);
  transition:box-shadow .2s var(--ease),transform .2s var(--ease),border-color .2s var(--ease);
  position:relative;
}
.toplist-card:hover{
  box-shadow:var(--sh-sm);
  border-color:#cbd5e1;
  transform:translateY(-1px);
}
.toplist__item--top .toplist-card{
  border-color:var(--g-500);
  box-shadow:0 0 0 1px var(--g-500),var(--sh-sm);
}
.toplist-card__badge{
  position:absolute;
  top:0;
  right:22px;
  display:flex;
  align-items:center;
  gap:5px;
  background:var(--g-700);
  color:#fff;
  font-size:11px;
  font-weight:700;
  padding:6px 12px 5px;
  border-radius:0 0 var(--r-sm) var(--r-sm);
  letter-spacing:.04em;
  text-transform:uppercase;
  z-index:2;
}
.toplist-card__badge--gold{background:var(--gold-600)}

.toplist-card__head{
  display:flex;
  align-items:center;
  gap:22px;
  padding:24px 26px;
  background:var(--bg-soft);
  border-bottom:1px solid var(--border);
  flex-wrap:wrap;
}
.toplist-card__brand{
  display:flex;
  align-items:center;
  gap:18px;
  flex:1;
  min-width:200px;
}
.toplist-card__logo{
  width:96px;
  height:auto;
  max-height:60px;
  object-fit:contain;
  background:#fff;
  border-radius:var(--r-sm);
  padding:6px;
  border:1px solid var(--border);
  flex-shrink:0;
}
.toplist-card__rank-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  background:var(--g-700);
  color:#fff;
  font-weight:700;
  font-size:13px;
  border-radius:50%;
  flex-shrink:0;
}
.toplist-card__heading{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.toplist-card__name{
  font-size:1.2em;
  font-weight:700;
  color:var(--ink);
  line-height:1.2;
  letter-spacing:-.015em;
}
.toplist-card__rating{
  display:flex;
  align-items:center;
  gap:10px;
}
.toplist-card__stars{
  position:relative;
  width:96px;
  height:16px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 16'><g fill='%23e5e7eb'><path d='M8 1 L9.9 5.7 15 6.1 11 9.4 12.3 14.3 8 11.7 3.7 14.3 5 9.4 1 6.1 6.1 5.7 Z'/><path d='M28 1 L29.9 5.7 35 6.1 31 9.4 32.3 14.3 28 11.7 23.7 14.3 25 9.4 21 6.1 26.1 5.7 Z'/><path d='M48 1 L49.9 5.7 55 6.1 51 9.4 52.3 14.3 48 11.7 43.7 14.3 45 9.4 41 6.1 46.1 5.7 Z'/><path d='M68 1 L69.9 5.7 75 6.1 71 9.4 72.3 14.3 68 11.7 63.7 14.3 65 9.4 61 6.1 66.1 5.7 Z'/><path d='M88 1 L89.9 5.7 95 6.1 91 9.4 92.3 14.3 88 11.7 83.7 14.3 85 9.4 81 6.1 86.1 5.7 Z'/></g></svg>");
}
.toplist-card__stars-fill{
  height:100%;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 16'><g fill='%23eab308'><path d='M8 1 L9.9 5.7 15 6.1 11 9.4 12.3 14.3 8 11.7 3.7 14.3 5 9.4 1 6.1 6.1 5.7 Z'/><path d='M28 1 L29.9 5.7 35 6.1 31 9.4 32.3 14.3 28 11.7 23.7 14.3 25 9.4 21 6.1 26.1 5.7 Z'/><path d='M48 1 L49.9 5.7 55 6.1 51 9.4 52.3 14.3 48 11.7 43.7 14.3 45 9.4 41 6.1 46.1 5.7 Z'/><path d='M68 1 L69.9 5.7 75 6.1 71 9.4 72.3 14.3 68 11.7 63.7 14.3 65 9.4 61 6.1 66.1 5.7 Z'/><path d='M88 1 L89.9 5.7 95 6.1 91 9.4 92.3 14.3 88 11.7 83.7 14.3 85 9.4 81 6.1 86.1 5.7 Z'/></g></svg>");
  background-size:96px 16px;
  background-repeat:no-repeat;
}
.toplist-card__score{
  font-weight:700;
  font-size:14px;
  color:var(--ink);
  display:inline-flex;
  align-items:baseline;
  gap:2px;
}
.toplist-card__score span{
  font-size:11px;
  font-weight:500;
  color:var(--ink-muted);
}
.toplist-card__cta{
  display:inline-flex;
  align-items:center;
  gap:7px;
  background:var(--g-600);
  color:#fff;
  font-weight:600;
  font-size:14px;
  padding:11px 22px;
  border-radius:var(--r-pill);
  text-decoration:none;
  transition:background .15s var(--ease),transform .15s var(--ease),box-shadow .15s var(--ease);
  box-shadow:0 2px 8px rgba(22,163,74,.25);
  white-space:nowrap;
  flex-shrink:0;
}
.toplist-card__cta:hover{
  background:var(--g-700);
  color:#fff;
  text-decoration:none;
  transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(22,163,74,.4);
}
.toplist-card__cta-arrow{font-size:13px;transition:transform .15s var(--ease)}
.toplist-card__cta:hover .toplist-card__cta-arrow{transform:translateX(2px)}

.toplist-card__body{padding:22px 26px}
.toplist-card__specs{
  list-style:none;
  padding:0;
  margin:0 0 20px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  border:1px solid var(--border);
  border-radius:var(--r-sm);
  overflow:hidden;
}
.toplist-card__specs li{
  margin:0;
  padding:10px 14px;
  display:flex;
  flex-direction:column;
  gap:3px;
  border-right:1px solid var(--border);
  background:#fff;
  min-width:0;
}
.toplist-card__specs li:last-child{border-right:none}
.toplist-card__specs li span{
  font-size:10.5px;
  font-weight:600;
  color:var(--ink-dim);
  text-transform:uppercase;
  letter-spacing:.06em;
  line-height:1;
}
.toplist-card__specs li strong{
  font-size:13.5px;
  color:var(--ink);
  font-weight:600;
  line-height:1.3;
}

.toplist-card__pros-cons{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-bottom:16px;
}
.toplist-card__pros h4,
.toplist-card__cons h4{
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:8px;
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:3px 10px;
  border-radius:var(--r-pill);
}
.toplist-card__pros h4{color:var(--g-800);background:var(--g-100)}
.toplist-card__cons h4{color:var(--danger);background:var(--danger-50)}
.toplist-card__pros ul,.toplist-card__cons ul{
  list-style:none;
  padding:0;
  margin:0;
  font-size:14px;
  line-height:1.5;
}
.toplist-card__pros li,.toplist-card__cons li{
  padding:4px 0 4px 22px;
  position:relative;
  margin-bottom:4px;
  color:var(--ink-2);
}
.toplist-card__pros li::before{
  content:"\2713";
  position:absolute;
  left:0;
  top:5px;
  width:14px;
  height:14px;
  background:var(--g-600);
  color:#fff;
  font-size:9px;
  font-weight:700;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}
.toplist-card__cons li::before{
  content:"\00d7";
  position:absolute;
  left:0;
  top:5px;
  width:14px;
  height:14px;
  background:var(--danger);
  color:#fff;
  font-size:11px;
  font-weight:700;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}

.toplist-card__testimonial{
  margin:18px 0 0;
  padding:14px 18px;
  background:var(--g-50);
  border-left:3px solid var(--g-600);
  border-radius:0 var(--r-sm) var(--r-sm) 0;
  font-style:italic;
  font-size:14px;
  line-height:1.55;
  color:var(--ink-2);
}
.toplist-card__testimonial p{margin:0}
.toplist-card__testimonial cite{
  display:block;
  margin-top:6px;
  font-style:normal;
  font-size:12px;
  color:var(--ink-muted);
  font-weight:500;
}

.toplist-card__foot{
  padding:10px 26px 12px;
  border-top:1px solid var(--border);
  background:var(--bg-soft);
  font-size:11.5px;
  color:var(--ink-dim);
  text-align:center;
}

/* ═══════════════════ TABLES ═══════════════════ */
.table-wrap{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  margin:22px 0;
  border-radius:var(--r);
  border:1px solid var(--border);
}
.article table{
  border-collapse:collapse;
  width:100%;
  margin:22px 0;
  font-size:14px;
  background:#fff;
  border-radius:var(--r);
  overflow:hidden;
  border:1px solid var(--border);
}
.table-wrap table{margin:0;min-width:560px;border:none;border-radius:0}
.article table th,.article table td{
  padding:11px 14px;
  text-align:left;
  border-bottom:1px solid var(--border);
}
.article table th{
  background:var(--g-700);
  font-weight:600;
  color:#fff;
  font-size:12.5px;
  border-bottom:none;
  letter-spacing:-.005em;
}
.article table tr:nth-child(even) td{background:var(--bg-soft)}
.article table tr:last-child td{border-bottom:none}
.article table tr:hover td{background:var(--g-50)}

/* ═══════════════════ FAQ ═══════════════════ */
.faq-section{margin:28px 0;display:flex;flex-direction:column;gap:8px}
.faq-item{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--r);
  overflow:hidden;
  transition:border-color .15s var(--ease);
}
.faq-item:hover{border-color:#cbd5e1}
.faq-q{
  padding:15px 20px;
  cursor:pointer;
  transition:background .15s var(--ease);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
}
.faq-q:hover{background:var(--bg-soft)}
.faq-q h3{
  font-size:15px;
  font-weight:600;
  margin:0;
  line-height:1.45;
  flex:1;
  color:var(--ink);
  letter-spacing:-.005em;
}
.faq-q::after{
  content:"+";
  font-size:20px;
  font-weight:400;
  color:var(--g-700);
  width:28px;
  height:28px;
  background:var(--g-50);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  transition:transform .2s var(--ease),background .15s var(--ease),color .15s var(--ease);
  line-height:1;
}
.faq-q.on{background:var(--g-50)}
.faq-q.on::after{transform:rotate(45deg);background:var(--g-700);color:#fff}
.faq-a{
  padding:14px 20px 18px;
  background:#fff;
  font-size:14.5px;
  line-height:1.65;
  color:var(--ink-muted);
  display:none;
  border-top:1px solid var(--border);
}
.faq-a p{margin:0;color:var(--ink-muted)}

/* ═══════════════════ AUTHOR CARD ═══════════════════ */
.author-card{
  display:flex;
  align-items:flex-start;
  gap:16px;
  background:var(--bg-soft);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:22px;
  margin:20px 0 28px;
}
.author-card__avatar{
  width:72px;
  height:72px;
  border-radius:50%;
  object-fit:cover;
  flex-shrink:0;
  border:3px solid #fff;
  box-shadow:0 0 0 1px var(--border);
}
.author-card__body{min-width:0;flex:1}
.author-card__name{
  font-weight:700;
  font-size:17px;
  color:var(--ink);
  margin-bottom:3px;
  letter-spacing:-.01em;
}
.author-card__name a{
  color:var(--ink);
  text-decoration:none;
  border-bottom:1px dashed var(--g-600);
}
.author-card__name a:hover{color:var(--g-700)}
.author-card__role{
  font-size:12.5px;
  color:var(--g-700);
  font-weight:600;
  margin-bottom:8px;
}
.author-card__bio{
  font-size:14px;
  color:var(--ink-muted);
  line-height:1.55;
}

/* ═══════════════════ RESPONSIBLE GAMBLING BLOCK ═══════════════════ */
.rg-block{
  background:var(--g-50);
  border:1px solid var(--g-100);
  border-radius:var(--r-lg);
  padding:22px 24px;
  margin:28px 0;
  border-left:4px solid var(--g-600);
}
.rg-block p{font-size:14.5px;margin-bottom:10px;color:var(--ink-2)}
.rg-block ul{font-size:14.5px;padding-left:22px;margin-bottom:10px}
.rg-block ul li{margin-bottom:5px;color:var(--ink-2)}

/* ═══════════════════ DISCLOSURE ═══════════════════ */
.disclosure{
  font-size:12.5px;
  color:var(--ink-muted);
  margin:24px 0;
  padding:12px 16px 12px 44px;
  background:var(--bg-soft);
  border-radius:var(--r-sm);
  line-height:1.55;
  position:relative;
  border:1px solid var(--border);
}
.disclosure::before{
  content:"i";
  position:absolute;
  left:12px;
  top:50%;
  transform:translateY(-50%);
  width:22px;
  height:22px;
  background:var(--g-700);
  color:#fff;
  border-radius:50%;
  font-style:italic;
  font-weight:700;
  font-size:13px;
  font-family:Georgia,serif;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* ═══════════════════ SECTION SEPARATOR ═══════════════════ */
.section-sep{
  border:none;
  height:1px;
  background:var(--border);
  margin:40px 0;
}

/* ═══════════════════ CONTACT FORM ═══════════════════ */
.contact-form{
  max-width:620px;
  margin:22px 0;
  background:#fff;
  padding:26px 28px;
  border-radius:var(--r-lg);
  border:1px solid var(--border);
  box-shadow:var(--sh-xs);
}
.contact-form label{
  display:block;
  font-weight:600;
  font-size:13px;
  margin:14px 0 5px;
  color:var(--ink);
}
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form textarea,
.contact-form select{
  width:100%;
  padding:10px 14px;
  border:1px solid #cbd5e1;
  border-radius:var(--r-sm);
  font-size:15px;
  font-family:inherit;
  background:#fff;
  color:var(--ink);
  transition:border-color .15s var(--ease),box-shadow .15s var(--ease);
}
.contact-form select{
  appearance:none;
  -webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1 L6 6 L11 1' stroke='%234b5563' stroke-width='2' fill='none' stroke-linecap='round'/></svg>");
  background-repeat:no-repeat;
  background-position:right 14px center;
  padding-right:38px;
}
.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus{
  outline:none;
  border-color:var(--g-600);
  box-shadow:0 0 0 3px rgba(22,163,74,.12);
}
.contact-form textarea{min-height:140px;resize:vertical}
.contact-form button{
  margin-top:18px;
  background:var(--g-600);
  color:#fff;
  font-size:14px;
  font-weight:600;
  border:none;
  padding:12px 32px;
  border-radius:var(--r-pill);
  cursor:pointer;
  transition:background .15s var(--ease),transform .15s var(--ease),box-shadow .15s var(--ease);
  box-shadow:0 2px 8px rgba(22,163,74,.25);
}
.contact-form button:hover{
  background:var(--g-700);
  transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(22,163,74,.4);
}
.required-label{color:var(--danger);font-weight:600}

/* ═══════════════════ SITE FOOTER (DARK GREEN) ═══════════════════ */
.site-footer{
  background:var(--g-900);
  color:rgba(255,255,255,.85);
  padding:48px 0 26px;
  margin-top:60px;
  font-size:14px;
  border-top:3px solid var(--g-500);
}
.site-footer__inner{
  max-width:1200px;
  margin:0 auto;
  padding:0 28px;
}
.site-footer__top{
  display:flex;
  align-items:center;
  gap:20px;
  margin-bottom:28px;
  padding-bottom:28px;
  border-bottom:1px solid rgba(255,255,255,.1);
  flex-wrap:wrap;
}
.site-footer__logo{
  height:38px;
  width:auto;
  filter:brightness(0) invert(1);
  opacity:.9;
}
.site-footer__tagline{
  color:rgba(255,255,255,.65);
  font-size:14px;
  margin:0;
  flex:1;
  min-width:200px;
}
.site-footer__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:30px;
  margin-bottom:28px;
  padding-bottom:28px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.site-footer__col{display:flex;flex-direction:column;gap:6px}
.site-footer__heading{
  font-weight:600;
  font-size:12.5px;
  margin-bottom:8px;
  color:#fff;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.site-footer__col a{
  color:rgba(255,255,255,.7);
  font-size:13.5px;
  padding:1px 0;
  text-decoration:none;
  transition:color .15s var(--ease);
}
.site-footer__col a:hover{color:#fff;text-decoration:none}
.site-footer__legal{
  text-align:center;
  font-size:12px;
  color:rgba(255,255,255,.55);
  margin:0;
  line-height:1.55;
}
.site-footer__legal a{color:rgba(255,255,255,.75);text-decoration:none}
.site-footer__legal a:hover{color:#fff;text-decoration:underline}
.site-footer__legal+.site-footer__legal{margin-top:6px}

/* ═══════════════════ REDUCED MOTION ═══════════════════ */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
}

/* ═══════════════════ RESPONSIVE ═══════════════════ */

/* ─── Tablet & below (< 960px): hide sidebar, switch to mobile TOC ─── */
@media (max-width:960px){
  .page-layout{
    grid-template-columns:1fr;
    max-width:760px;
    gap:0;
    padding:32px 22px 44px;
  }
  .page-layout__side{display:none}
  .toc-mobile{display:block}

  /* Article intro — image below text, centered */
  .article-intro{display:block;padding:0;margin-bottom:4px}
  .article-intro__text{margin-bottom:20px}
  .article-intro__figure{
    max-width:320px;
    margin:0 auto;
    position:static;
  }

  /* Toplist specs: 2×2 grid */
  .toplist-card__specs{grid-template-columns:repeat(2,1fr)}
  .toplist-card__specs li{border-bottom:1px solid var(--border)}
  .toplist-card__specs li:nth-child(2n){border-right:none}
  .toplist-card__specs li:nth-last-child(-n+2){border-bottom:none}

  /* Pros/cons: stack */
  .toplist-card__pros-cons{grid-template-columns:1fr;gap:16px}
}

/* ─── Mobile (< 768px): tighter spacing, stacked header, single-column cards ─── */
@media (max-width:768px){
  /* Typography */
  body{font-size:16px}

  /* Site header — logo + CTA on row 1, toggle next, nav expands on row 2 */
  .site-header{border-bottom-width:2px}
  .site-header__inner{
    padding:10px 16px;
    gap:10px;
    flex-wrap:wrap;
  }
  .site-header__logo img{height:30px}
  .site-header__toggle{
    display:flex;
    order:3;
    padding:8px 10px;
  }
  .site-header__cta{
    order:2;
    margin-left:auto;
    font-size:13px;
    padding:8px 15px;
    gap:5px;
  }
  .site-nav{
    display:none;
    order:10;
    flex-direction:column;
    width:100%;
    gap:2px;
    margin:6px 0 0;
    padding:8px;
    background:rgba(0,0,0,.28);
    border-radius:var(--r);
  }
  .site-nav--open{display:flex}
  .site-nav__link{
    width:100%;
    padding:11px 14px;
    font-size:14.5px;
  }

  /* Article hero */
  .article-hero{padding:22px 0 28px}
  .article-hero__inner{padding:0 20px}
  .breadcrumbs{font-size:12.5px;margin-bottom:14px;gap:6px}
  .article-hero__tag{font-size:11px;margin-bottom:12px;padding:4px 11px}
  .article-hero__title{
    font-size:clamp(1.55em,6vw,1.95em);
    margin-bottom:16px;
  }
  .article-hero__meta{
    gap:16px 22px;
    padding-top:14px;
  }
  .article-hero__author{gap:10px}
  .article-hero__author img{width:36px;height:36px}
  .article-hero__author a{font-size:13.5px}
  .article-hero__author-label,.article-hero__meta-label{font-size:10.5px}
  .article-hero__meta-item{font-size:13px}

  /* Page layout */
  .page-layout{padding:28px 20px 40px}
  .page-layout--simple{padding:26px 20px 36px}

  /* Article body */
  .article{font-size:16px}
  .article h2{
    font-size:1.3em;
    margin:36px 0 14px;
  }
  .article h3{
    font-size:1.08em;
    margin:22px 0 10px;
  }
  .article-intro__lede{font-size:17px;line-height:1.55}
  .article-img{
    max-width:100%;
    margin:22px 0;
  }

  /* Mobile TOC */
  .toc-mobile{margin-bottom:24px}
  .toc-mobile summary{padding:12px 16px;font-size:13px}
  .toc-mobile ol{padding:6px 16px 12px}
  .toc-mobile a{font-size:13.5px}

  /* Update badge */
  .update-badge{font-size:11.5px;padding:4px 11px}

  /* Toplist */
  .toplist{gap:18px;margin:24px 0 28px}
  .toplist-card__head{
    padding:18px 18px 16px;
    gap:14px;
    flex-wrap:wrap;
  }
  .toplist-card__brand{
    min-width:100%;
    gap:12px;
    flex-wrap:wrap;
  }
  .toplist-card__logo{
    width:72px;
    max-height:48px;
    padding:5px;
  }
  .toplist-card__rank-pill{
    width:28px;
    height:28px;
    font-size:12.5px;
  }
  .toplist-card__name{font-size:1.08em}
  .toplist-card__rating{gap:8px}
  .toplist-card__cta{
    width:100%;
    justify-content:center;
    padding:12px 22px;
    font-size:14px;
  }
  .toplist-card__body{padding:18px}
  .toplist-card__specs li{padding:9px 12px}
  .toplist-card__specs li strong{font-size:13px}
  .toplist-card__pros-cons{gap:14px}
  .toplist-card__pros h4,.toplist-card__cons h4{font-size:11px}
  .toplist-card__pros ul,.toplist-card__cons ul{font-size:13.5px}
  .toplist-card__testimonial{
    margin-top:14px;
    padding:12px 14px;
    font-size:13.5px;
  }
  .toplist-card__foot{
    padding:9px 18px 11px;
    font-size:11px;
  }
  .toplist-card__badge{
    position:static;
    width:100%;
    border-radius:var(--r-md) var(--r-md) 0 0;
    padding:7px 14px;
    font-size:11px;
    justify-content:center;
    text-align:center;
    letter-spacing:.06em;
  }

  /* Warning callout */
  .warning-callout{
    padding:14px 16px;
    gap:12px;
    margin:24px 0;
    font-size:14px;
  }
  .warning-callout__icon{
    width:24px;
    height:24px;
    font-size:14px;
  }

  /* Tables */
  .article table th,.article table td{
    padding:9px 11px;
    font-size:13px;
  }
  .article table th{font-size:12px}

  /* FAQ */
  .faq-q{padding:13px 16px;gap:10px}
  .faq-q h3{font-size:14.5px}
  .faq-q::after{width:26px;height:26px;font-size:18px}
  .faq-a{
    padding:12px 16px 15px;
    font-size:14px;
  }

  /* Author card */
  .author-card{
    flex-direction:column;
    align-items:center;
    text-align:center;
    padding:20px 18px;
    gap:14px;
  }
  .author-card__avatar{width:64px;height:64px}
  .author-card__name{font-size:16px}
  .author-card__bio{font-size:13.5px}

  /* RG block */
  .rg-block{
    padding:20px 18px;
    margin:24px 0;
  }
  .rg-block p,.rg-block ul{font-size:14px}

  /* Disclosure */
  .disclosure{
    font-size:12px;
    padding:11px 14px 11px 42px;
  }
  .disclosure::before{width:20px;height:20px;left:11px;font-size:12px}

  /* Contact form */
  .contact-form{padding:20px 18px}
  .contact-form input,.contact-form textarea,.contact-form select{font-size:15px}

  /* Separator */
  .section-sep{margin:32px 0}

  /* Site footer */
  .site-footer{
    padding:32px 0 20px;
    margin-top:40px;
    border-top-width:2px;
  }
  .site-footer__inner{padding:0 20px}
  .site-footer__top{
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
    margin-bottom:22px;
    padding-bottom:22px;
  }
  .site-footer__logo{height:32px}
  .site-footer__tagline{font-size:13px;max-width:100%}
  .site-footer__grid{
    grid-template-columns:repeat(2,1fr);
    gap:22px 20px;
    margin-bottom:22px;
    padding-bottom:22px;
  }
  .site-footer__heading{font-size:12px}
  .site-footer__col a{font-size:13px}
  .site-footer__legal{font-size:11.5px}
}

/* ─── Small mobile (< 480px): single-column everything ─── */
@media (max-width:480px){
  /* Header — ultra-compact */
  .site-header__inner{
    padding:9px 14px;
    gap:8px;
  }
  .site-header__logo img{height:28px}
  .site-header__cta{
    font-size:12.5px;
    padding:7px 13px;
  }
  .site-header__toggle{padding:6px 8px}
  .site-header__toggle span{width:16px}

  /* Hero */
  .article-hero{padding:18px 0 22px}
  .article-hero__inner{padding:0 16px}
  .article-hero__title{
    font-size:clamp(1.4em,6.5vw,1.75em);
    line-height:1.2;
  }
  .article-hero__meta{
    gap:12px 18px;
    padding-top:12px;
  }
  .article-hero__author{gap:9px}
  .article-hero__author img{width:32px;height:32px}
  .breadcrumbs{font-size:12px;margin-bottom:12px}
  .article-hero__tag{font-size:10.5px;margin-bottom:10px}

  /* Article */
  .article{font-size:15.5px}
  .article h2{font-size:1.22em;margin:30px 0 12px}
  .article h3{font-size:1.04em;margin:20px 0 9px}
  .article p,.article li{line-height:1.65}
  .article-intro__lede{font-size:16px}

  /* Page layout */
  .page-layout{padding:22px 16px 32px}
  .page-layout--simple{padding:22px 16px 32px}

  /* Article image */
  .article-img{margin:18px 0;border-radius:var(--r)}

  /* Toplist card — stack rank+logo+rating on row 1, name on row 2 */
  .toplist-card{border-radius:var(--r-md)}
  .toplist-card__head{
    padding:16px;
    gap:14px;
  }
  .toplist-card__brand{
    display:grid;
    grid-template-columns:auto 1fr;
    grid-template-rows:auto auto;
    gap:10px 14px;
    align-items:center;
    width:100%;
  }
  .toplist-card__rank-pill{
    grid-row:1;
    grid-column:1;
    width:26px;
    height:26px;
    font-size:12px;
  }
  .toplist-card__logo{
    grid-row:1;
    grid-column:2;
    justify-self:start;
    width:68px;
    max-height:44px;
  }
  .toplist-card__heading{
    grid-row:2;
    grid-column:1 / -1;
    gap:6px;
  }
  .toplist-card__name{font-size:1.05em}
  .toplist-card__stars{width:80px;height:13px}
  .toplist-card__stars,.toplist-card__stars-fill{background-size:80px 13px}
  .toplist-card__score{font-size:13px}

  /* Toplist specs — 1 col */
  .toplist-card__body{padding:16px}
  .toplist-card__specs{grid-template-columns:1fr}
  .toplist-card__specs li{
    border-right:none;
    border-bottom:1px solid var(--border);
    padding:8px 12px;
  }
  .toplist-card__specs li:last-child{border-bottom:none}
  .toplist-card__cta{
    padding:11px 18px;
    font-size:13.5px;
  }
  .toplist-card__testimonial{
    padding:11px 13px;
    font-size:13px;
  }
  .toplist-card__foot{
    padding:8px 16px 10px;
    font-size:10.5px;
  }
  .toplist-card__badge{
    padding:6px 12px;
    font-size:10.5px;
  }

  /* Warning */
  .warning-callout{
    padding:13px 14px;
    gap:10px;
    font-size:13.5px;
  }
  .warning-callout__icon{width:22px;height:22px;font-size:13px}

  /* FAQ */
  .faq-q{padding:12px 14px}
  .faq-q h3{font-size:14px}
  .faq-a{padding:10px 14px 14px;font-size:13.5px}

  /* Separator */
  .section-sep{margin:28px 0}

  /* Author */
  .author-card{padding:18px 14px}
  .author-card__avatar{width:56px;height:56px}
  .author-card__name{font-size:15.5px}
  .author-card__bio{font-size:13px}

  /* RG */
  .rg-block{padding:18px 14px;margin:22px 0}
  .rg-block p,.rg-block ul{font-size:13.5px}

  /* Tables */
  .article table{font-size:12.5px}
  .article table th,.article table td{padding:8px 10px}
  .article table th{font-size:11.5px}

  /* Contact form */
  .contact-form{padding:18px 16px}

  /* Disclosure */
  .disclosure{
    padding:10px 12px 10px 38px;
    font-size:11.5px;
  }

  /* TOC mobile */
  .toc-mobile summary{padding:11px 14px}

  /* Footer */
  .site-footer{padding:28px 0 18px}
  .site-footer__inner{padding:0 16px}
  .site-footer__grid{
    gap:18px 16px;
  }
  .site-footer__heading{font-size:11.5px}
  .site-footer__col a{font-size:12.5px}
  .site-footer__tagline{font-size:12.5px}
}
