/* =============================================================
   theme-ac.css — il tema di awardedcasinos.net
   Un foglio solo, nessuna libreria, JavaScript nativo. I caratteri li serve
   il sito (css/caratteri.css, caricato prima di questo foglio).
   Tavolozza: verde alloro dei premi, ottone della medaglia, inchiostro quasi
   nero con la tinta del marchio. Ogni coppia testo-fondo e' risolta sul
   contrasto e non scelta a occhio (09_TEMI_E_FOGLI_DI_STILE.md, sezione 4-bis):
   lo script che l'ha derivata e' config/tavolozza.py, e stampa la verifica.
     inchiostro su carta 16,1:1 · attenuato 6,0:1 · marchio 9,0:1 nei due versi
     link (marchio-2) 5,4:1 · ottone con testo inchiostro 5,4:1, premuto 4,7:1
     champagne sul verde 5,2:1 e sull'inchiostro 9,3:1
   L'ottone dei pulsanti non porta mai testo bianco (1,7:1) e sul verde non
   porta testo (1,8:1): sul verde va il champagne.
   Pavimento tipografico: 14 px per tutto quello che un lettore legge.
   ============================================================= */

:root{
  /* inchiostro e fondi — i neutri portano la tinta del marchio, non il grigio di fabbrica */
  --ink:#1b2320; --ink-2:#3a4541; --muted:#5a6662;
  --paper:#ffffff; --bg:#f3f6f4; --line:#e0e7e3; --line-2:#c7d3cd;
  /* marchio: il verde dell'alloro. Due valori, perche' fa due lavori */
  --brand:#19533d; --brand-2:#29775a; --brand-ink:#1f5c46;
  --brand-soft:#eef4f0; --brand-line:#cfe0d8; --brand-deep:#113528;
  /* medaglia: l'ottone dei pulsanti e dei premi. Sopra ci va solo l'inchiostro */
  --medal:#cd861d; --medal-dark:#c17c13; --medal-light:#dec197;
  --medal-soft:#fdf6e9; --medal-line:#edd9b0;
  /* stati */
  --mint:#1a803f; --mint-soft:#e9f6ee; --mint-line:#c2e4cf;
  --danger:#cf3429; --danger-soft:#fdecea; --danger-line:#f6c9c4;
  --warn:#a65d08; --warn-soft:#fdf3e4; --warn-line:#f0d8ad;
  /* misure */
  --wrap:1200px; --col:304px;
  --r:12px; --r-sm:9px; --r-lg:20px; --pill:999px;
  --sh:0 1px 3px rgba(27,35,32,.06),0 6px 18px rgba(27,35,32,.05);
  --sh-lg:0 12px 34px rgba(27,35,32,.13);
  /* le ombre sono l'inchiostro con l'alfa, non il nero */
  --display:'Fraunces',Georgia,'Times New Roman',serif;
  --body:'Inter',system-ui,-apple-system,sans-serif;
  --num:'Fraunces',Georgia,serif;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);
  font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
@media(min-width:961px){body{font-size:17px}}
img{max-width:100%;height:auto;display:block}
a{color:var(--brand-2);text-decoration:underline;text-underline-offset:2px}
a:hover{color:var(--brand)}
h1,h2,h3,h4,h5,h6{font-family:var(--display);font-optical-sizing:auto;line-height:1.16;
  margin:0;letter-spacing:-.008em;overflow-wrap:break-word}
p,li,td,th,dd,dt{overflow-wrap:break-word}
hr{border:0;border-top:1px solid var(--line);margin:2em 0}
:focus-visible{outline:3px solid var(--medal);outline-offset:2px;border-radius:4px}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

.ac-wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.ac-skip{position:absolute;left:-9999px}
.ac-skip:focus{left:12px;top:12px;z-index:200;background:var(--paper);padding:10px 16px;
  border-radius:var(--r-sm);box-shadow:var(--sh-lg)}
.ac-eyebrow{font-family:var(--display);font-weight:700;font-size:.82rem;letter-spacing:.11em;
  text-transform:uppercase;color:var(--brand)}
.ac-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- pulsanti ---------- */
.ac-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--body);font-weight:700;font-size:1rem;line-height:1.2;
  background:var(--medal);color:var(--ink);padding:13px 24px;min-height:46px;
  border:0;border-radius:var(--r-sm);cursor:pointer;text-decoration:none;text-align:center;
  box-shadow:inset 0 -2px 0 rgba(27,35,32,.18);
  transition:background .15s,transform .15s,box-shadow .15s}
.ac-btn:hover{background:var(--medal-dark);color:var(--ink);transform:translateY(-1px);
  box-shadow:inset 0 -2px 0 rgba(27,35,32,.26),0 4px 12px rgba(27,35,32,.16)}
.ac-btn--block{display:flex;width:100%}
.ac-btn--sm{font-size:.92rem;padding:10px 18px;min-height:44px}
.ac-btn--lg{font-size:1.1rem;padding:16px 32px;min-height:54px}
.ac-btn--ghost{background:transparent;color:var(--brand);border:1.5px solid var(--line-2);box-shadow:none}
.ac-btn--ghost:hover{background:var(--brand-soft);color:var(--brand-ink);border-color:var(--brand);
  box-shadow:none;transform:none}

/* ---------- intestazione ---------- */
.ac-top{position:sticky;top:0;z-index:60;background:var(--brand);color:#fff;
  box-shadow:0 2px 14px rgba(27,35,32,.2)}
.ac-top .ac-wrap{display:flex;align-items:center;gap:18px;min-height:66px}
.ac-brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:800;
  font-size:1.04rem;color:#fff;text-decoration:none;letter-spacing:-.01em;flex-shrink:0}
.ac-brand img{height:38px;width:auto}
.ac-brand .ac-brand-t{white-space:nowrap}
.ac-brand .ac-brand-t b{color:var(--medal-light);font-weight:800}
.ac-nav{margin-left:auto;display:flex;align-items:center;gap:3px;list-style:none;margin-top:0;
  margin-bottom:0;padding:0}
.ac-nav > li{position:relative;list-style:none}
.ac-nav ul{list-style:none;margin:0;padding:0}
.ac-nav > li > a,.ac-nav > li > button{display:flex;align-items:center;gap:6px;min-height:44px;
  padding:0 12px;color:#fff;font-size:.94rem;font-family:var(--body);font-weight:500;
  text-decoration:none;background:none;border:0;cursor:pointer;border-radius:var(--r-sm)}
.ac-nav > li > a:hover,.ac-nav > li > button:hover,.ac-nav > li.open > button{
  background:rgba(255,255,255,.15);color:#fff}
.ac-nav .ac-sub{position:absolute;top:100%;left:0;min-width:252px;background:var(--paper);
  border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-lg);padding:8px;
  display:none;z-index:70}
.ac-nav li.open > .ac-sub{display:block}
.ac-nav .ac-sub a{display:block;padding:9px 12px;min-height:40px;color:var(--ink-2);font-size:.93rem;
  text-decoration:none;border-radius:var(--r-sm)}
.ac-nav .ac-sub a:hover{background:var(--brand-soft);color:var(--brand-ink)}
.ac-nav .ac-caret{font-size:.68rem;opacity:.85}
.ac-burger{display:none;margin-left:auto;background:rgba(255,255,255,.15);border:0;color:#fff;
  min-width:46px;min-height:44px;border-radius:var(--r-sm);font-size:1.3rem;cursor:pointer;line-height:1}
.js .ac-nav{display:flex}

/* ---------- briciole, testa di pagina, firma ---------- */
.ac-crumb{font-size:.88rem;color:var(--muted);padding:16px 0 0}
.ac-crumb a{color:var(--muted)}
.ac-crumb a:hover{color:var(--brand)}
.ac-head{padding:14px 0 6px}
.ac-head h1{font-size:clamp(1.85rem,4.2vw,2.9rem);font-weight:800;margin:.16em 0 .3em}
.ac-head .ac-lead{font-size:1.1rem;color:var(--ink-2);margin:0;max-width:66ch}
.ac-byline{font-size:.9rem;color:var(--muted);margin:14px 0 0;
  display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}
.ac-byline b{color:var(--ink-2);font-family:var(--display);font-weight:700}
.ac-byline .ac-age{display:inline-flex;align-items:center;background:var(--ink);color:#fff;
  font-family:var(--body);font-weight:700;font-size:.82rem;padding:3px 9px;border-radius:6px}
.ac-marchi{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;
  background:var(--brand-deep);border-radius:var(--r);padding:18px 20px;margin:22px 0}
.ac-marchi img{height:44px;width:auto;max-width:100%;object-fit:contain}
.ac-marchi--tessere{gap:14px 16px;justify-content:flex-start}
.ac-marchi--tessere img{height:100px}
@media (max-width:420px){.ac-marchi--tessere img{height:80px}}

/* ---------- impaginazione a due colonne ---------- */
.ac-main{padding:0 0 10px}
.ac-cols{display:grid;grid-template-columns:minmax(0,1fr) var(--col);gap:38px;align-items:start}
.ac-content{min-width:0}
/* Una pagina senza colonna (mercati, legali) centra la misura invece di
   lasciare un terzo di schermo vuoto a destra. */
.ac-main > .ac-wrap > .ac-content{max-width:900px;margin-left:auto;margin-right:auto}
@media(max-width:991px){
  .ac-cols{grid-template-columns:minmax(0,1fr);gap:0}
  .ac-side{display:none}
}

/* ---------- prosa ---------- */
.ac-post > p,.ac-post > ul,.ac-post > ol,.ac-post > dl{max-width:76ch}
.ac-post h2{font-size:clamp(1.42rem,2.6vw,1.8rem);font-weight:700;margin:1.9em 0 .45em;
  padding-left:13px;border-left:4px solid var(--medal)}
.ac-post h2:first-child{margin-top:1em}
.ac-post h3{font-size:1.2rem;font-weight:700;margin:1.5em 0 .35em}
.ac-post h4{font-size:1.02rem;font-weight:700;margin:1.3em 0 .3em;color:var(--ink-2)}
.ac-post p{margin:.75em 0}
.ac-post ul,.ac-post ol{padding-left:1.35em;margin:.7em 0}
.ac-post li{margin:.45em 0}
.ac-post blockquote{margin:1.3em 0;padding:14px 20px;border-left:4px solid var(--brand);
  background:var(--brand-soft);border-radius:0 var(--r-sm) var(--r-sm) 0;color:var(--ink-2)}
.ac-post blockquote p:first-child{margin-top:0}
.ac-post blockquote p:last-child{margin-bottom:0}
.ac-post dl{margin:.8em 0}
.ac-post dt{font-family:var(--display);font-weight:700;margin-top:.8em}
.ac-post dd{margin:.15em 0 0 1.2em;color:var(--ink-2)}

/* ---------- tabelle ---------- */
.ac-tw{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.3em 0;border:1px solid var(--line);
  border-radius:var(--r);background:var(--paper)}
.ac-t{width:100%;border-collapse:collapse;font-size:.96rem;min-width:520px}
.ac-t caption{text-align:left;padding:14px 16px 0;font-size:.9rem;color:var(--muted)}
.ac-t th,.ac-t td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.ac-t thead th{background:var(--brand);color:#fff;font-family:var(--body);font-weight:600;
  font-size:.88rem;letter-spacing:.015em;border-bottom:0;position:sticky;top:0}
.ac-t tbody tr:nth-child(even){background:#fafcfb}
.ac-t tbody tr:last-child td{border-bottom:0}
.ac-t .n{text-align:right;font-family:var(--num);font-variant-numeric:tabular-nums;white-space:nowrap}
.ac-t .ac-t-brand{font-family:var(--display);font-weight:700}
.ac-t .yr{font-family:var(--num);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.ac-facts{width:100%;border-collapse:collapse;margin:1em 0}
.ac-facts th,.ac-facts td{border:1px solid var(--line);padding:10px 14px;text-align:left;font-size:.96rem}
.ac-facts th{background:#f7faf8;width:38%;font-family:var(--body);font-weight:600}

/* =============================================================
   I componenti dell'argomento: i premi
   ============================================================= */

/* il contrassegno di un premio: ente, categoria, anno. Il blocco piu' ripetuto
   del sito, quindi il primo a essere disegnato e misurato. */
.ac-award{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1px 8px;
  background:var(--medal-soft);border:1px solid var(--medal-line);
  border-radius:var(--r-sm);padding:6px 10px;font-size:.84rem;line-height:1.45;
  color:var(--ink-2);max-width:100%}
.ac-award .yr+span{grid-column:2;min-width:0}
.ac-award .yr{grid-column:1;font-family:var(--num);font-weight:800;
  font-variant-numeric:tabular-nums;color:var(--warn);font-size:.9rem}
.ac-award .bd{font-weight:600;color:var(--ink);overflow-wrap:normal}
.ac-award--nom{background:var(--bg);border-color:var(--line-2)}
.ac-award--nom .yr{color:var(--muted)}
.ac-awards{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:6px}
.ac-awards li{display:block;min-width:0;width:100%}

/* la riga di un premio dentro la prosa e nelle tabelle dell'albo d'oro */
.ac-win{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;
  margin:0;padding:11px 0;border-bottom:1px solid var(--line)}
.ac-win:last-child{border-bottom:0}
.ac-win .yr{font-family:var(--num);font-weight:800;font-size:1.05rem;color:var(--brand);
  font-variant-numeric:tabular-nums}
.ac-win .cat{font-weight:600;color:var(--ink)}
.ac-win .src{grid-column:2;font-size:.86rem;color:var(--muted);margin:0}
.ac-wins{margin:1.3em 0;border:1px solid var(--line);border-radius:var(--r);
  background:var(--paper);padding:4px 18px}

/* la scheda di un ente che assegna premi */
.ac-body-card{background:var(--paper);border:1px solid var(--line);
  border-left:5px solid var(--brand);border-radius:var(--r);padding:18px 22px;margin:1.3em 0}
.ac-body-card h3{font-size:1.16rem;margin:0 0 .3em}
.ac-body-card .by{font-size:.88rem;color:var(--muted);margin:0 0 .7em}
.ac-body-card dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 14px;
  margin:.6em 0 0;font-size:.93rem}
.ac-body-card dt{font-family:var(--body);font-weight:600;color:var(--ink-2)}
.ac-body-card dd{margin:0}
.ac-body-card--vote{border-left-color:var(--medal)}

/* la scheda di una fiera */
.ac-fair{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:16px 20px;margin:0;display:flex;flex-direction:column;box-shadow:var(--sh)}
.ac-fair h3{font-size:1.1rem;margin:0 0 .25em}
.ac-fair .when{font-family:var(--num);font-weight:700;font-size:.92rem;color:var(--brand);
  margin:0 0 .5em}
.ac-fair p{font-size:.93rem;color:var(--ink-2);margin:0 0 .6em}
.ac-fair .awards{font-size:.86rem;color:var(--muted);margin:auto 0 0}
.ac-fair .awards b{color:var(--ink-2)}
.ac-fairs{list-style:none;margin:1.3em 0;padding:0;display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media(max-width:700px){.ac-fairs{grid-template-columns:minmax(0,1fr)}}

/* il punteggio di reputazione, per i marchi senza premi: porta sempre la data
   di lettura, perche' questi numeri si muovono */
.ac-score{display:inline-flex;align-items:baseline;gap:6px;background:var(--brand-soft);
  border:1px solid var(--brand-line);border-radius:var(--r-sm);padding:5px 10px;
  font-size:.84rem;color:var(--brand-ink);max-width:100%}
.ac-score .v{font-family:var(--num);font-weight:800;font-variant-numeric:tabular-nums;
  font-size:.95rem;color:var(--brand)}
.ac-score .dt{color:var(--muted);font-size:.82rem}
.ac-scores{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-wrap:wrap;gap:6px}

/* l'etichetta che distingue una scheda premiata da una di buona reputazione.
   E' la scelta del proprietario del 20 ottobre 2026: una lista sola, con
   l'etichetta che dice di che cosa parla la scheda. */
.ac-tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--body);font-weight:700;
  font-size:.82rem;letter-spacing:.07em;text-transform:uppercase;padding:4px 10px;
  border-radius:var(--pill);white-space:nowrap}
.ac-tag--awarded{background:var(--medal);color:var(--ink)}
.ac-tag--group{background:var(--medal-soft);color:var(--warn);
  border:1px solid var(--medal-line)}
.ac-tag--regarded{background:var(--brand-soft);color:var(--brand-ink);
  border:1px solid var(--brand-line)}

/* =============================================================
   La classifica degli operatori
   ============================================================= */
.ac-ranklead{margin:26px 0 14px}
.ac-ranklead h2{font-size:clamp(1.45rem,2.8vw,1.95rem);font-weight:800;margin:0 0 .25em}
.ac-ranklead p{margin:0;color:var(--muted);font-size:.98rem;max-width:72ch}
.ac-rank{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 10px;
  list-style:none;padding:0}
.ac-rank--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ac-rcard{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);
  border-radius:var(--r);box-shadow:var(--sh);overflow:hidden;position:relative;height:100%}
.ac-rcard--top{border-color:var(--medal-line);box-shadow:0 4px 20px rgba(205,134,29,.2)}
.ac-rcard .hd{display:flex;align-items:center;gap:13px;padding:16px 18px 12px;
  border-bottom:1px solid var(--line)}
.ac-rcard .rk{flex-shrink:0;width:30px;height:30px;border-radius:50%;background:var(--brand);
  color:#fff;font-family:var(--num);font-weight:800;font-size:.92rem;display:flex;
  align-items:center;justify-content:center}
.ac-rcard--top .rk{background:var(--medal);color:var(--ink)}
.ac-rcard .lg{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;height:64px;
  background:#fafcfb;border-radius:var(--r-sm);padding:4px}
.ac-rcard .lg img{width:100%;max-width:148px;height:auto}
.ac-rcard--dark .lg{background:var(--brand-deep)}
.ac-rcard .bd{padding:14px 18px 0;flex:1}
.ac-rcard .nm{font-family:var(--display);font-weight:800;font-size:1.12rem;margin:0 0 .4em;
  display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ac-rcard .nm a{color:var(--ink);text-decoration:none}
.ac-rcard .nm a:hover{color:var(--brand)}
.ac-rcard .cadre{background:var(--brand-soft);border:1px solid var(--brand-line);
  border-radius:var(--r-sm);padding:9px 12px;font-size:.86rem;color:var(--brand-ink);margin:0 0 11px}
.ac-rcard .cadre b{font-weight:700}
.ac-rcard .feat{list-style:none;margin:0 0 14px;padding:0;font-size:.92rem;color:var(--ink-2)}
.ac-rcard .feat li{position:relative;padding-left:21px;margin:.4em 0}
.ac-rcard .feat li:before{content:"\2713";position:absolute;left:0;top:0;color:var(--mint);font-weight:700}
.ac-rcard .ft{padding:0 18px 16px;margin-top:auto}
.ac-rcard .note{font-size:.82rem;color:var(--muted);margin:9px 0 0;text-align:center;line-height:1.5}
.ac-rcard .rev{display:block;text-align:center;font-size:.88rem;margin:9px 0 0}
@media(max-width:991px){.ac-rank{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.ac-rank,.ac-rank--2{grid-template-columns:minmax(0,1fr)}}

/* righe compatte: in fondo alle guide, e per gli operatori senza recensione */
.ac-rows{list-style:none;margin:1.4em 0;padding:0;display:grid;gap:10px}
.ac-row{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:14px;align-items:center;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm);padding:11px 14px}
.ac-row .lg{height:48px;display:flex;align-items:center;justify-content:center;background:#fafcfb;
  border-radius:7px;padding:3px}
.ac-row .lg img{width:100%;max-width:92px;height:auto}
.ac-row--dark .lg{background:var(--brand-deep)}
.ac-row .nm{font-family:var(--display);font-weight:700;font-size:.98rem;margin:0}
.ac-row .li{font-size:.84rem;color:var(--muted);margin:2px 0 0}
.ac-row .nm a,.ac-side-op .nm a,.ac-band-op .nm a{color:inherit;text-decoration:underline;
  text-decoration-color:var(--line-2);text-underline-offset:3px}
.ac-row .nm a:hover,.ac-row .nm a:focus,.ac-side-op .nm a:hover,.ac-side-op .nm a:focus,
.ac-band-op .nm a:hover,.ac-band-op .nm a:focus{text-decoration-color:currentColor}
@media(max-width:560px){
  .ac-row{grid-template-columns:72px minmax(0,1fr);row-gap:10px}
  .ac-row .ac-btn{grid-column:1/-1}
}

/* ---------- la colonna laterale ---------- */
.ac-side{position:sticky;top:86px}
.ac-side .ac-side-h{font-family:var(--body);font-weight:700;font-size:.82rem;letter-spacing:.09em;
  text-transform:uppercase;color:var(--muted);margin:0 0 12px}
.ac-side-op{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:12px}
.ac-side-op li{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:14px;box-shadow:var(--sh)}
.ac-side-op .lg{height:66px;display:flex;align-items:center;justify-content:center;background:#fafcfb;
  border-radius:7px;margin-bottom:11px;padding:4px}
.ac-side-op .lg img{width:100%;max-width:150px;height:auto}
.ac-side-op li.dark .lg{background:var(--brand-deep)}
.ac-side-op .nm{font-family:var(--display);font-weight:800;font-size:1rem;margin:0 0 3px}
.ac-side-op .li{font-size:.84rem;color:var(--muted);margin:0 0 11px}
.ac-side-op .note{font-size:.82rem;color:var(--muted);margin:7px 0 0;text-align:center}
.ac-side-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:16px;margin-bottom:20px;font-size:.92rem}
.ac-side-card h3{font-size:1rem;margin:0 0 .5em}
.ac-side-card ul{margin:0;padding-left:1.1em}
.ac-side-card li{margin:.3em 0}

/* ---------- la banda prima del piede ---------- */
.ac-band{background:var(--brand);color:#fff;padding:34px 0;margin-top:42px}
.ac-band h2{color:#fff;font-size:clamp(1.3rem,2.4vw,1.6rem);margin:0 0 4px}
.ac-band .sub{color:var(--medal-light);font-size:.95rem;margin:0 0 20px}
.ac-band-op{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ac-band-op li{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);
  border-radius:var(--r);padding:15px;display:flex;flex-direction:column}
.ac-band-op .lg{height:70px;display:flex;align-items:center;justify-content:center;background:#fafcfb;
  border-radius:7px;margin-bottom:11px;padding:5px}
.ac-band-op .lg img{width:100%;max-width:156px;height:auto}
.ac-band-op li.dark .lg{background:var(--brand-deep)}
.ac-band-op .nm{font-family:var(--display);font-weight:800;font-size:1.02rem;margin:0 0 3px;color:#fff}
.ac-band-op .li{font-size:.85rem;color:#d4e3dc;margin:0 0 12px}
.ac-band-op .ac-btn{margin-top:auto}
.ac-band-op .note{font-size:.82rem;color:#c3d6ce;margin:8px 0 0;text-align:center}
@media(max-width:860px){.ac-band-op{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.ac-band-op{grid-template-columns:minmax(0,1fr)}}

/* ---------- riquadri di richiamo ---------- */
.ac-box{border:1px solid var(--line);border-radius:var(--r);padding:16px 20px;margin:1.4em 0;
  background:var(--paper);font-size:.98rem}
.ac-box > :first-child{margin-top:0}
.ac-box > :last-child{margin-bottom:0}
.ac-box h3,.ac-box h4{font-size:1.04rem;margin:0 0 .4em}
.ac-box--info{background:var(--brand-soft);border-color:var(--brand-line)}
.ac-box--ok{background:var(--mint-soft);border-color:var(--mint-line)}
.ac-box--warn{background:var(--warn-soft);border-color:var(--warn-line)}
.ac-box--warn h3,.ac-box--warn h4{color:var(--warn)}
.ac-box--danger{background:var(--danger-soft);border-color:var(--danger-line)}
.ac-box--medal{background:var(--medal-soft);border-color:var(--medal-line)}
.ac-box--law{background:#f7faf8;border-left:4px solid var(--brand);border-radius:0 var(--r) var(--r) 0}
.ac-box--law cite{font-style:normal;color:var(--muted);font-size:.9rem;display:block;margin-top:.5em}

/* divulgazione: sta in testa al contenuto, vicino alle offerte */
.ac-disc{display:flex;gap:12px;align-items:flex-start;background:var(--medal-soft);
  border:1px solid var(--medal-line);border-radius:var(--r);padding:13px 18px;margin:18px 0;
  font-size:.92rem;color:var(--ink-2)}
.ac-disc .ic{flex-shrink:0;font-size:1.1rem;line-height:1.4}
.ac-disc b{color:var(--ink)}

/* la frase sui mercati, accanto alle offerte */
.ac-markets{background:#f7faf8;border:1px solid var(--line);border-radius:var(--r);
  padding:13px 18px;margin:18px 0;font-size:.9rem;color:var(--ink-2)}

/* ---------- il pulsante grande in fondo alla recensione ---------- */
.ac-cta{background:var(--medal-soft);border:1px solid var(--medal-line);border-radius:var(--r-lg);
  padding:26px;margin:2em 0 1.2em;text-align:center}
.ac-cta h2{font-size:1.4rem;margin:0 0 .35em;padding:0;border:0}
.ac-cta p{margin:0 auto 18px;color:var(--ink-2);max-width:62ch}
.ac-cta .note{font-size:.84rem;color:var(--muted);margin:12px 0 0}

/* riquadro in testa alla recensione */
.ac-revhead{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:22px;align-items:center;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:20px 24px;margin:18px 0;box-shadow:var(--sh)}
.ac-revhead .lg{width:176px;height:98px;display:flex;align-items:center;justify-content:center;
  background:#fafcfb;border:1px solid var(--line);border-radius:var(--r-sm);padding:6px}
.ac-revhead .lg img{width:100%;height:auto}
.ac-revhead--dark .lg{background:var(--brand-deep)}
.ac-revhead .cadre{font-size:.92rem;color:var(--brand-ink);background:var(--brand-soft);
  border:1px solid var(--brand-line);border-radius:var(--r-sm);padding:10px 14px;margin:0 0 8px}
.ac-revhead .meta{font-size:.9rem;color:var(--muted);margin:0}
.ac-revhead .act{text-align:center}
.ac-revhead .act .note{font-size:.82rem;color:var(--muted);margin:8px 0 0}
@media(max-width:760px){
  .ac-revhead{grid-template-columns:minmax(0,1fr);text-align:left}
  .ac-revhead .lg{width:132px}
  .ac-revhead .act{text-align:left}
}

/* riga «Vedi l'offerta» dopo la sezione dell'offerta */
.ac-inline-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  background:var(--paper);border:1px dashed var(--medal-line);border-radius:var(--r);
  padding:14px 18px;margin:1.4em 0}
.ac-inline-cta p{margin:0;font-size:.95rem;color:var(--ink-2)}
.ac-inline-cta p b{font-family:var(--display);font-weight:700}

/* ---------- pro e contro, verdetto ---------- */
.ac-pc{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:1.5em 0}
.ac-pc .c{border:1px solid var(--line);border-radius:var(--r);padding:16px 20px}
.ac-pc .pros{background:var(--mint-soft);border-color:var(--mint-line)}
.ac-pc .cons{background:var(--danger-soft);border-color:var(--danger-line)}
.ac-pc h3{font-size:1.04rem;margin:0 0 .5em}
.ac-pc ul{margin:0;padding-left:1.15em}
.ac-pc li{margin:.4em 0;font-size:.95rem}
@media(max-width:700px){.ac-pc{grid-template-columns:1fr}}
.ac-verdict{background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:24px 28px;margin:1.6em 0}
.ac-verdict h2,.ac-verdict h3{color:#fff;margin:0 0 .45em;padding:0;border:0;font-size:1.22rem}
.ac-verdict p{color:#d5dcd9;margin:.5em 0}
.ac-verdict p:last-child{margin-bottom:0}
.ac-verdict b{color:var(--medal-light)}

/* ---------- griglie di schede: guide, premi, enti ---------- */
.ac-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:1.3em 0;
  list-style:none;padding:0}
.ac-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ac-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ac-gcard{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:20px;display:flex;flex-direction:column;box-shadow:var(--sh);
  transition:transform .15s,box-shadow .15s;position:relative}
.ac-gcard:hover{transform:translateY(-2px);box-shadow:var(--sh-lg)}
.ac-gcard .tag{font-family:var(--body);font-size:.82rem;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--brand)}
.ac-gcard h3{font-size:1.1rem;margin:8px 0 7px}
.ac-gcard h3 a{color:var(--ink);text-decoration:none}
.ac-gcard h3 a:hover{color:var(--brand)}
.ac-gcard h3 a::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--r)}
.ac-gcard p{color:var(--muted);font-size:.93rem;margin:0 0 12px;flex:1}
.ac-gcard .go{font-family:var(--body);font-weight:600;font-size:.92rem;color:var(--brand)}
.ac-gcard:hover .go,.ac-gcard:focus-within .go{text-decoration:underline}
.ac-gcard:focus-within{outline:2px solid var(--brand);outline-offset:2px}
.ac-gcard .fig{font-family:var(--num);font-weight:800;font-size:1.6rem;margin:0 0 4px;color:var(--ink)}
@media(max-width:980px){.ac-grid,.ac-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ac-grid,.ac-grid--2,.ac-grid--4{grid-template-columns:minmax(0,1fr)}}

/* ---------- domande frequenti: il markup del kit (details.ed-faq) ---------- */
.ed-faq{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm);
  margin:10px 0;overflow:hidden}
.ed-faq > summary{cursor:pointer;padding:15px 48px 15px 18px;font-family:var(--display);
  font-weight:700;font-size:1.02rem;position:relative;list-style:none;min-height:46px;
  display:flex;align-items:center}
.ed-faq > summary::-webkit-details-marker{display:none}
.ed-faq > summary:after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);
  font-family:var(--body);font-weight:700;font-size:1.3rem;color:var(--brand);line-height:1}
.ed-faq[open] > summary:after{content:"\2212"}
.ed-faq[open] > summary{border-bottom:1px solid var(--line)}
.ed-faq .ed-faq-a{padding:14px 18px;font-size:.98rem;color:var(--ink-2)}
.ed-faq .ed-faq-a > :first-child{margin-top:0}
.ed-faq .ed-faq-a > :last-child{margin-bottom:0}
.ed-faq-list{margin:1.3em 0}

/* ---------- striscia del gioco responsabile ---------- */
.ac-rg{background:var(--danger-soft);border:1px solid var(--danger-line);border-radius:var(--r);
  padding:15px 20px;margin:1.6em 0;font-size:.92rem;color:#8d1a14}
.ac-rg b{color:#75120d}
.ac-rg a{color:#8d1a14}

/* ---------- figure e grafici (visivi.py prende i colori da qui) ---------- */
.vis{margin:1.5em 0}
.vis figcaption{font-size:.88rem;color:var(--muted);margin-top:8px}
.vis svg{max-width:100%;height:auto;display:block}
.v-ink{fill:var(--ink)}
.v-muted{fill:var(--muted)}
.v-line{stroke:var(--line-2)}
.v-brand{fill:var(--brand)}
.v-gold{fill:var(--medal)}
.v-mint{fill:var(--mint)}
.v-danger{fill:var(--danger)}
.v-soft{fill:var(--brand-soft)}
.v-paper{fill:var(--paper)}
.gr{display:grid;gap:9px;margin:1.4em 0}
.gr-r{display:grid;grid-template-columns:minmax(96px,26%) minmax(0,1fr) auto;gap:10px;
  align-items:center;font-size:.93rem}
.gr-l{color:var(--ink-2)}
.gr-t{height:17px;background:var(--line);border-radius:5px;overflow:hidden}
.gr-b{height:100%;background:var(--brand);border-radius:5px}
.gr-b--gold{background:var(--medal)}
.gr-b--mint{background:var(--mint)}
.gr-b--muted{background:#93a39c}
.gr-v{font-family:var(--num);font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:520px){.gr-r{grid-template-columns:minmax(0,1fr) auto;row-gap:4px}.gr-t{grid-column:1/-1}}

/* ---------- piè di pagina ---------- */
.ac-foot{background:var(--ink);color:#c0c9c5;padding:44px 0 26px;margin-top:0}
.ac-foot .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:30px;
  padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.1)}
.ac-foot h2{font-family:var(--display);color:#fff;font-size:.98rem;margin:0 0 13px;letter-spacing:.01em}
.ac-foot ul{list-style:none;margin:0;padding:0}
.ac-foot a{color:#c0c9c5;font-size:.92rem;text-decoration:none}
.ac-foot a:hover{color:#fff;text-decoration:underline}
.ac-foot li{margin-bottom:8px}
.ac-foot .about{font-size:.92rem;line-height:1.7}
.ac-foot .about b{color:#fff}
.ac-foot .about a,.ac-foot .rg a{text-decoration:underline;text-underline-offset:2px;color:#e4ebe8}
.ac-foot .about a:hover,.ac-foot .rg a:hover{color:#fff}
.ac-foot .rg{font-size:.9rem;line-height:1.7;margin-top:18px;color:#c0c9c5}
.ac-foot .rg b{color:#fff}
.ac-foot .age{display:inline-flex;align-items:center;background:var(--medal);color:var(--ink);
  font-family:var(--body);font-weight:700;font-size:.9rem;padding:3px 10px;border-radius:6px}
.ac-foot .bottom{padding-top:20px;font-size:.88rem;color:#97a39e;display:flex;
  justify-content:space-between;flex-wrap:wrap;gap:10px}
.ac-foot .bottom a{color:#97a39e;font-size:.88rem}
/* la riga dei link legali e la frase sui mercati stanno sopra il pavimento
   tipografico: sono la strada verso privacy, cookie e gioco responsabile */
.ac-foot .markets{font-size:.88rem;color:#97a39e;margin:16px 0 0;line-height:1.65}
@media(max-width:900px){.ac-foot .cols{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.ac-foot .cols{grid-template-columns:1fr}}

/* ---------- la pagina 404 ---------- */
.ac-404{text-align:center;padding:56px 0}
.ac-404 .n{font-family:var(--num);font-weight:800;font-size:clamp(3.4rem,11vw,6rem);
  color:var(--medal);line-height:1;letter-spacing:-.03em}
.ac-404 h1{font-size:clamp(1.5rem,3.4vw,2.1rem);margin:.4em 0 .5em}
.ac-404 p{color:var(--ink-2);max-width:56ch;margin:0 auto 24px}

/* ---------- le pagine di mercato: guscio ridotto ---------- */
.ac-top--market{position:static}
.ac-top--market .ac-brand{cursor:default}
.ac-market-nav{list-style:none;margin:0;padding:0;margin-left:auto;display:flex;gap:4px;flex-wrap:wrap}
.ac-market-nav a{display:flex;align-items:center;min-height:44px;padding:0 12px;color:#fff;
  font-size:.93rem;text-decoration:none;border-radius:var(--r-sm)}
.ac-market-nav a:hover{background:rgba(255,255,255,.15);color:#fff}
@media (max-width:560px){
  .ac-top--market .ac-wrap{flex-wrap:wrap;row-gap:2px;padding-top:6px;padding-bottom:6px}
  .ac-top--market .ac-market-nav{margin-left:0;width:100%}
}
.ac-reg{margin:1.5em 0}
.ac-reg .ac-t{min-width:460px}

/* ---------- intestazione a telefono ---------- */
@media(max-width:1060px){
  .ac-nav > li > a,.ac-nav > li > button{padding:0 9px;font-size:.91rem}
}
@media(max-width:900px){
  .ac-burger{display:block}
  .ac-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--brand);
    flex-direction:column;align-items:stretch;gap:0;padding:8px 14px 16px;
    box-shadow:0 10px 26px rgba(27,35,32,.28);max-height:76vh;overflow-y:auto}
  .js .ac-nav{display:none}
  .ac-nav.open,.js .ac-nav.open{display:flex}
  .ac-top{position:relative}
  .ac-nav > li{width:100%}
  .ac-nav > li > a,.ac-nav > li > button{width:100%;justify-content:space-between;padding:0 12px}
  .ac-nav .ac-sub{position:static;display:none;box-shadow:none;border:0;
    background:rgba(255,255,255,.08);margin:4px 0 8px;padding:4px}
  .ac-nav li.open > .ac-sub{display:block}
  .ac-nav .ac-sub a{color:#e8f0ec;display:block}
  .ac-nav .ac-sub a:hover{background:rgba(255,255,255,.13);color:#fff}
  .ac-market-nav{flex-direction:column;width:100%;margin-left:0}
}

/* sotto i 400 px: il contrassegno del premio e la riga del vincitore si
   impilano invece di spingere la pagina fuori dalla finestra */
@media (max-width:400px){
  .ac-wrap{padding:0 14px}
  .ac-post dd,.ac-post dt,.ac-post li,.ac-post p{overflow-wrap:anywhere}
  .ac-award{flex-wrap:wrap;gap:2px 7px}
  .ac-win{grid-template-columns:minmax(0,1fr)}
  .ac-win .src{grid-column:1}
  .ac-market-nav{gap:2px}
  .ac-market-nav a{padding:0 8px;font-size:.92rem}
  .ac-brand img{height:32px}
}

/* ---------- banner del consenso (js/cookie-consent.js) ----------
   «Accept» e «Reject» allo stesso livello: stessa forma, stesso colore, stessa
   evidenza, alti almeno 44 px. Il colore sta anche sul paragrafo, perche' un
   tema che colora «p» lo scriverebbe scuro sul fondo scuro. Finche' questo
   foglio dichiara «position:fixed» sul banner, lo script non inietta stili. */
.cc-banner{position:fixed;left:0;right:0;bottom:0;z-index:9999;display:flex;flex-wrap:wrap;
  gap:12px 22px;align-items:center;justify-content:center;padding:15px 18px;
  background:var(--ink);color:#fff;font-size:14px;line-height:1.55;
  border-top:3px solid var(--medal);box-shadow:0 -4px 18px rgba(27,35,32,.42)}
.cc-banner .cc-text{margin:0;max-width:780px;color:#fff;font-size:14px;line-height:1.55}
.cc-banner a{color:var(--medal-light);text-decoration:underline}
.cc-banner .cc-btns{display:flex;gap:12px}
.cc-banner .cc-btn{min-height:44px;min-width:124px;padding:9px 20px;border:2px solid #fff;
  border-radius:var(--r-sm);background:#fff;color:var(--ink);font-family:var(--body);
  font-weight:700;font-size:15px;cursor:pointer}
.cc-banner .cc-btn:hover{background:#e6ece9}
@media(max-width:640px){.cc-banner .cc-btns{width:100%}.cc-banner .cc-btn{flex:1;min-width:0}}
.ac-cookie-t .ac-t{min-width:480px}

/* ---------- utilità ---------- */
.ac-mt0{margin-top:0}
.ac-tc{text-align:center}
.ac-small{font-size:.9rem}
.ac-nowrap{white-space:nowrap}
.ac-sec{padding:6px 0 2px}
.ac-sec-h{margin:2em 0 .8em}
.ac-sec-h h2{font-size:clamp(1.42rem,2.6vw,1.8rem);margin:0 0 .25em;padding:0;border:0}
.ac-sec-h p{margin:0;color:var(--muted);font-size:.98rem;max-width:72ch}

/* il blocco dei provvedimenti del regolatore: la stessa riga dell'albo d'oro,
   con l'accento del rosso invece dell'ottone, perche' si legge in un colpo */
.ac-wins--law .ac-win{border-left-color:var(--danger)}
.ac-wins--law .ac-win .yr{color:var(--danger)}
.ac-wins--law .ac-win .cat strong{color:var(--ink)}

/* le autorita' che rilasciano le licenze, misurate sui sei criteri: una scheda
   per autorita', perche' una tabella a nove colonne non si legge sul telefono */
.ac-lics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:1.4em 0;
  list-style:none;padding:0}
.ac-lic{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:20px 20px 16px;box-shadow:var(--sh)}
.ac-lic .hd{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.ac-lic h3{font-size:1.08rem;margin:0;line-height:1.3}
.ac-lic .sc{font-family:var(--body);font-weight:800;font-size:.88rem;white-space:nowrap;
  color:var(--brand-ink);background:var(--mint-soft);border-radius:999px;padding:3px 10px}
.ac-lic .jr{font-family:var(--body);font-size:.86rem;color:var(--muted);margin:6px 0 13px}
.ac-lic .cr{list-style:none;margin:0 0 13px;padding:0;display:grid;gap:8px}
.ac-lic .cr li{position:relative;padding-left:24px;font-size:.9rem;line-height:1.5}
.ac-lic .cr li::before{position:absolute;left:0;top:0;font-weight:800;font-family:var(--body)}
.ac-lic .cr li.ok::before{content:"\2713";color:var(--mint)}
.ac-lic .cr li.part::before{content:"\00bd";color:var(--warn)}
.ac-lic .cr li.no::before{content:"\2715";color:var(--danger)}
.ac-lic .cr li.unk::before{content:"?";color:var(--muted)}
.ac-lic .cr b{font-weight:600;color:var(--ink-2)}
.ac-lic .cr .vl{font-family:var(--body);font-size:.82rem;font-weight:700;color:var(--muted)}
.ac-lic .cr .nt{display:block;font-size:.86rem;color:var(--muted);margin-top:2px}
.ac-lic .br{font-size:.9rem;line-height:1.6;margin:0 0 10px;padding-top:12px;
  border-top:1px solid var(--line)}
.ac-lic .br a{color:var(--brand-ink)}
.ac-lic .src{font-family:var(--body);font-size:.82rem;color:var(--muted);margin:0}
@media (max-width:860px){.ac-lics{grid-template-columns:1fr}}
