/* Circospetto — foglio di stile unico. Impianto da rivista: testata con logo,
   barra di categorie a colori, griglia di apertura, colonna laterale. */

@font-face{font-family:Montserrat;src:url(/caratteri/montserrat-latin-600-normal.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Montserrat;src:url(/caratteri/montserrat-latin-700-normal.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Montserrat;src:url(/caratteri/montserrat-latin-800-normal.woff2)format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(/caratteri/source-sans-3-latin-400-normal.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(/caratteri/source-sans-3-latin-400-italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(/caratteri/source-sans-3-latin-600-normal.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(/caratteri/source-sans-3-latin-700-normal.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}

:root{
  --blu:#1556bc; --blu-chiaro:#5b8cff; --arancio:#ff3c00; --carbone:#17181b;
  --fondo:#ffffff; --fondo-2:#f3f4f7; --fondo-3:#e9ebf0;
  --testo:#17181b; --testo-2:#565d66; --filetto:#dfe3ea;
  --legame:#1556bc; --ombra:0 1px 2px rgba(16,20,28,.06),0 8px 24px rgba(16,20,28,.06);
  --campo-marchio:#17181b;           /* il campo dei marchi non si inverte */
  --misura:66ch; --raggio:2px;
  --titolo:Montserrat,"Segoe UI",system-ui,sans-serif;
  --corpo:"Source Sans 3","Segoe UI",system-ui,sans-serif;
}
@media (prefers-color-scheme:dark){
  :root:not([data-tema="chiaro"]){
    --fondo:#0b0c0e; --fondo-2:#15171a; --fondo-3:#1d2025;
    --testo:#e9ebee; --testo-2:#a2a9b2; --filetto:#2a2e35;
    --legame:#5b8cff;
    --ombra:0 1px 2px rgba(0,0,0,.5),0 8px 24px rgba(0,0,0,.35);
  }
}
:root[data-tema="scuro"]{
  --fondo:#0b0c0e; --fondo-2:#15171a; --fondo-3:#1d2025;
  --testo:#e9ebee; --testo-2:#a2a9b2; --filetto:#2a2e35; --legame:#5b8cff;
  --ombra:0 1px 2px rgba(0,0,0,.5),0 8px 24px rgba(0,0,0,.35);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fondo);color:var(--testo);font:400 19px/1.65 var(--corpo);
     overflow-x:hidden;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto}
a{color:var(--legame);text-underline-offset:.16em}
a:hover{text-decoration-thickness:2px}
h1,h2,h3,h4{font-family:var(--titolo);font-weight:800;line-height:1.18;letter-spacing:-.012em;margin:0}
.c{width:min(1200px,100% - 32px);margin-inline:auto}
.salta{position:absolute;left:-9999px}
.salta:focus{left:8px;top:8px;z-index:99;background:var(--fondo);padding:8px 14px;border:2px solid var(--legame)}
:focus-visible{outline:3px solid var(--legame);outline-offset:2px}

/* ---------- testata ---------- */
.testata{border-bottom:1px solid var(--filetto);background:var(--fondo)}
.testata-alto{display:flex;align-items:center;gap:20px;padding:18px 0}
.marchio{display:block;flex:0 0 auto}
.marchio img{display:block;width:290px;max-width:62vw;height:auto}
.marchio .scuro{display:none}
@media (prefers-color-scheme:dark){
  :root:not([data-tema="chiaro"]) .marchio .chiaro{display:none}
  :root:not([data-tema="chiaro"]) .marchio .scuro{display:block}
}
:root[data-tema="scuro"] .marchio .chiaro{display:none}
:root[data-tema="scuro"] .marchio .scuro{display:block}
.motto{font-family:var(--titolo);font-weight:600;font-size:12px;letter-spacing:.14em;
       text-transform:uppercase;color:var(--testo-2);margin-left:auto;text-align:right}
.testata-strumenti{display:flex;align-items:center;gap:8px}
.bottone-piatto{font:600 13px/1 var(--titolo);letter-spacing:.06em;text-transform:uppercase;
  color:var(--testo);background:var(--fondo-2);border:1px solid var(--filetto);
  border-radius:var(--raggio);padding:10px 14px;cursor:pointer;text-decoration:none;display:inline-flex;
  align-items:center;gap:7px}
.bottone-piatto:hover{background:var(--fondo-3)}

/* ---------- barra di categorie: una tinta per sezione ---------- */
.barra{background:var(--carbone);position:sticky;top:0;z-index:40}
.barra nav{display:flex;align-items:stretch;gap:0;overflow-x:auto;scrollbar-width:none}
.barra nav::-webkit-scrollbar{display:none}
.barra a{color:#fff;text-decoration:none;font:700 13px/1 var(--titolo);letter-spacing:.07em;
  text-transform:uppercase;padding:15px 16px 13px;border-top:3px solid transparent;white-space:nowrap}
.barra a:hover,.barra a[aria-current]{background:rgba(255,255,255,.08)}
.barra a[data-tinta]{border-top-color:var(--tinta)}
.barra .apri-menu{display:none}

/* ---------- striscia in evidenza ---------- */
.striscia{background:var(--fondo-2);border-bottom:1px solid var(--filetto);overflow:hidden}
.striscia .c{display:flex;align-items:center;gap:14px;padding:9px 0}
.striscia b{background:var(--arancio);color:#17181b;font:800 11px/1 var(--titolo);letter-spacing:.11em;
  text-transform:uppercase;padding:7px 10px;flex:0 0 auto}
.striscia ul{list-style:none;display:flex;gap:26px;margin:0;padding:0;overflow-x:auto;scrollbar-width:none}
.striscia ul::-webkit-scrollbar{display:none}
.striscia li{white-space:nowrap}
.striscia a{color:var(--testo);text-decoration:none;font-size:16px;font-weight:600}
.striscia a:hover{color:var(--legame)}

/* ---------- etichette di categoria ---------- */
.etichetta{display:inline-block;background:var(--tinta,#303030);color:#fff;font:700 11px/1 var(--titolo);
  letter-spacing:.09em;text-transform:uppercase;padding:6px 9px;text-decoration:none}
a.etichetta:hover{filter:brightness(1.12)}

/* ---------- vetrina di apertura ---------- */
.vetrina{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin:26px 0}
.vetrina .riquadro{position:relative;display:block;overflow:hidden;background:var(--carbone);
  min-height:220px;text-decoration:none;box-shadow:0 0 0 1px var(--filetto)}
.vetrina .riquadro img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform .5s ease;opacity:.78}
.vetrina .riquadro:hover img{transform:scale(1.04)}
.vetrina .velo{position:relative;height:100%;display:flex;flex-direction:column;justify-content:flex-end;
  gap:10px;padding:22px;background:linear-gradient(to top,rgba(10,11,13,.92) 0%,rgba(10,11,13,.55) 45%,rgba(10,11,13,0) 100%)}
.vetrina h2,.vetrina h3{color:#fff;font-size:30px}
.vetrina .piccoli h3{font-size:20px}
.vetrina .colonna{display:grid;grid-template-rows:1fr 1fr;gap:14px}
.vetrina .grande{min-height:460px}
.vetrina .data{color:#d6d9de;font:600 12px/1 var(--titolo);letter-spacing:.08em;text-transform:uppercase}

/* ---------- schede ---------- */
.schede{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:18px}
.scheda{display:flex;flex-direction:column;background:var(--fondo);box-shadow:0 0 0 1px var(--filetto);
  position:relative;overflow:hidden}
.scheda .figura{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--fondo-3)}
.scheda .figura img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.scheda:hover .figura img{transform:scale(1.04)}
.scheda .dentro{padding:14px 16px 18px;display:flex;flex-direction:column;gap:9px;flex:1}
.scheda h3{font-size:19px;line-height:1.3}
.scheda h3 a{color:var(--testo);text-decoration:none}
.scheda h3 a:hover{color:var(--legame)}
.scheda .riga{font-size:15px;color:var(--testo-2);line-height:1.45;margin:0}
.scheda .coda{margin-top:auto;display:flex;align-items:center;gap:10px;font:600 12px/1 var(--titolo);
  letter-spacing:.06em;text-transform:uppercase;color:var(--testo-2)}
.scheda::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--tinta,#303030)}

/* ---------- titoli di sezione ---------- */
.titolo-sezione{display:flex;align-items:center;gap:14px;margin:42px 0 18px}
.titolo-sezione h2{font-size:21px;letter-spacing:.02em;text-transform:uppercase;font-weight:800}
.titolo-sezione .linea{flex:1;height:1px;background:var(--filetto)}
.titolo-sezione a{font:700 13px/1 var(--titolo);letter-spacing:.06em;text-transform:uppercase;
  color:var(--legame);text-decoration:none;white-space:nowrap}
.titolo-sezione h2::before{content:"";display:inline-block;width:10px;height:18px;background:var(--tinta,var(--arancio));
  margin-right:10px;vertical-align:-3px}

/* ---------- impaginazione a due colonne ---------- */
.griglia{display:grid;grid-template-columns:minmax(0,1fr) 316px;gap:46px;align-items:start;margin:30px 0 60px}
aside .blocco{background:var(--fondo-2);box-shadow:0 0 0 1px var(--filetto);padding:18px;margin-bottom:22px}
aside h2{font-size:15px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px;
  padding-bottom:10px;border-bottom:2px solid var(--arancio)}
.piu-letti{list-style:none;margin:0;padding:0;counter-reset:n}
.piu-letti li{counter-increment:n;display:flex;gap:12px;padding:11px 0;border-top:1px solid var(--filetto)}
.piu-letti li:first-child{border-top:0;padding-top:0}
.piu-letti li::before{content:counter(n);font:800 22px/1 var(--titolo);color:var(--filetto);flex:0 0 auto;width:26px}
.piu-letti a{color:var(--testo);text-decoration:none;font-size:16px;font-weight:600;line-height:1.35}
.piu-letti a:hover{color:var(--legame)}
.piu-letti small{display:block;color:var(--testo-2);font-weight:400;font-size:13px;margin-top:3px}
.promo{background:var(--campo-marchio);padding:16px;text-align:center;box-shadow:0 0 0 1px var(--filetto)}
.promo img{display:block;margin:0 auto 12px;width:300px;max-width:100%}
.promo p{color:#d7dae0;font-size:15px;line-height:1.45;margin:0 0 12px}
.promo .bottone{display:inline-block;background:var(--arancio);color:#17181b;font:700 13px/1 var(--titolo);
  letter-spacing:.06em;text-transform:uppercase;padding:11px 16px;text-decoration:none}
.nuvola{display:flex;flex-wrap:wrap;gap:7px}
.nuvola a{font:600 13px/1 var(--titolo);color:var(--testo-2);background:var(--fondo);text-decoration:none;
  padding:7px 10px;box-shadow:0 0 0 1px var(--filetto)}
.nuvola a:hover{color:#fff;background:var(--carbone)}

/* ---------- articolo ---------- */
.articolo{max-width:none}
.briciole{font:600 12px/1 var(--titolo);letter-spacing:.08em;text-transform:uppercase;color:var(--testo-2);
  margin:26px 0 14px;display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.briciole a{color:var(--testo-2);text-decoration:none}
.articolo h1{font-size:clamp(30px,4.3vw,46px);margin:0 0 16px;max-width:22ch}
.dati{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:14px 0;margin-bottom:22px;
  border-top:1px solid var(--filetto);border-bottom:1px solid var(--filetto);
  font:600 13px/1 var(--titolo);letter-spacing:.05em;text-transform:uppercase;color:var(--testo-2)}
.stato{color:#fff;background:var(--carbone);padding:6px 9px;letter-spacing:.07em}
.stato[data-stato="Sorpassato"]{background:#6b7280}
.stato[data-stato="Ancora valido"]{background:#0d7a3e}
.stato[data-stato="Classico"]{background:var(--blu)}
.sintesi{font-size:21px;line-height:1.5;color:var(--testo-2);max-width:var(--misura);margin:0 0 26px;
  padding-left:16px;border-left:3px solid var(--arancio)}
.apertura{margin:0 0 28px}
.apertura img{width:100%;max-height:520px;object-fit:cover;display:block}
.avviso{background:var(--fondo-2);box-shadow:0 0 0 1px var(--filetto);padding:14px 16px;margin:0 0 26px;
  font-size:16px;color:var(--testo-2);max-width:var(--misura)}
.sommario{background:var(--fondo-2);box-shadow:0 0 0 1px var(--filetto);padding:18px 20px;margin:0 0 30px;
  max-width:var(--misura)}
.sommario h2{font-size:13px;letter-spacing:.09em;text-transform:uppercase;margin-bottom:10px}
.sommario ol{margin:0;padding-left:22px;font-size:17px}
.sommario li{margin:5px 0}
.sommario a{color:var(--testo);text-decoration:none}
.sommario a:hover{color:var(--legame);text-decoration:underline}
.testo{max-width:var(--misura)}
.testo>*{max-width:var(--misura)}
.testo p{margin:0 0 1.15em}
.testo h2{font-size:28px;margin:2em 0 .6em;scroll-margin-top:90px}
.testo h3{font-size:22px;margin:1.6em 0 .5em;font-weight:700;scroll-margin-top:90px}
.testo h2+h3{margin-top:1em}
.testo ul,.testo ol{margin:0 0 1.2em;padding-left:1.4em}
.testo li{margin:.35em 0}
.testo blockquote{margin:1.6em 0;padding:4px 0 4px 20px;border-left:4px solid var(--arancio);
  font-size:20px;color:var(--testo-2)}
.testo blockquote p:last-child{margin-bottom:0}
.testo figure{margin:1.8em 0;max-width:100%}
.testo figure img{display:block;width:100%;height:auto;background:var(--fondo-3)}
.testo figcaption{font-size:15px;color:var(--testo-2);padding-top:8px;line-height:1.45}
.testo .alignleft{float:left;margin:.3em 1.6em 1em 0;max-width:min(300px,45%)}
.testo .alignright{float:right;margin:.3em 0 1em 1.6em;max-width:min(300px,45%)}
.testo .aligncenter{margin-inline:auto}
.testo a{color:var(--legame)}
.galleria{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin:1.8em 0;
  max-width:none;width:min(100%,calc(var(--misura) + 180px))}
.galleria figure{margin:0}
.galleria img{aspect-ratio:4/3;object-fit:cover;box-shadow:0 0 0 1px var(--filetto)}
.galleria figcaption{font-size:13.5px;padding-top:6px}
.coda-articolo{max-width:var(--misura);margin-top:40px;padding-top:22px;border-top:1px solid var(--filetto)}
.coda-articolo h2{font-size:13px;letter-spacing:.09em;text-transform:uppercase;margin-bottom:12px;color:var(--testo-2)}
.accanto{margin:50px 0 0}

/* ---------- archivi ---------- */
.intestazione-archivio{padding:34px 0 10px;border-bottom:1px solid var(--filetto);margin-bottom:28px}
.intestazione-archivio h1{font-size:clamp(28px,4vw,40px)}
.intestazione-archivio p{color:var(--testo-2);font-size:18px;margin:10px 0 0;max-width:var(--misura)}
.filtri{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 26px}
.filtro{font:600 13px/1 var(--titolo);letter-spacing:.05em;text-transform:uppercase;color:var(--testo-2);
  background:var(--fondo-2);border:1px solid var(--filetto);padding:9px 12px;cursor:pointer}
.filtro[aria-pressed="true"]{background:var(--carbone);color:#fff;border-color:var(--carbone)}
#campo-cerca{width:100%;max-width:var(--misura);font:400 18px/1.4 var(--corpo);padding:12px 14px;
  background:var(--fondo-2);color:var(--testo);border:1px solid var(--filetto)}
.esito{margin-top:26px}
.esito .trovato{padding:16px 0;border-top:1px solid var(--filetto)}
.esito h3{font-size:20px;margin-bottom:6px}
.esito h3 a{color:var(--testo);text-decoration:none}
.esito mark{background:#ffe8a3;color:#17181b}

/* ---------- pie' di pagina ---------- */
footer.pagina{background:var(--campo-marchio);color:#c9ced6;margin-top:60px;padding:46px 0 26px;font-size:16px}
footer.pagina a{color:#fff;text-decoration:none}
footer.pagina a:hover{text-decoration:underline}
footer.pagina .colonne{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px}
footer.pagina h2{color:#fff;font-size:13px;letter-spacing:.09em;text-transform:uppercase;margin-bottom:14px}
footer.pagina ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
footer.pagina img.marchio-piede{width:230px;max-width:70%;margin-bottom:14px}
footer.pagina .chiusa{margin-top:34px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:14px;color:#9aa2ad}
.segnaposto{background:#ffe600;color:#17181b;padding:1px 6px;font-weight:700}

/* ---------- banner del consenso ---------- */
#consenso{position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--fondo);
  border-top:3px solid var(--arancio);box-shadow:0 -8px 30px rgba(0,0,0,.18);padding:18px 0}
#consenso .c{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
#consenso p{margin:0;flex:1 1 320px;font-size:16px;color:var(--testo-2)}
#consenso .scelte{display:flex;gap:10px}
#consenso button{font:700 13px/1 var(--titolo);letter-spacing:.06em;text-transform:uppercase;
  padding:12px 18px;border:1px solid var(--filetto);background:var(--fondo-2);color:var(--testo);cursor:pointer}
#consenso button.si{background:var(--arancio);border-color:var(--arancio);color:#17181b}

/* ---------- schermi stretti ---------- */
@media (max-width:980px){
  .griglia{grid-template-columns:1fr;gap:34px}
  .vetrina{grid-template-columns:1fr}
  .vetrina .grande{min-height:300px}
  .vetrina .colonna{grid-template-rows:none}
  footer.pagina .colonne{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
  body{font-size:18px}
  .c{width:calc(100% - 32px)}
  .testata-alto{flex-wrap:wrap;gap:12px;padding:14px 0}
  .motto{display:none}
  .vetrina h2,.vetrina h3{font-size:22px}
  .testo h2{font-size:24px}
  .galleria{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
  footer.pagina .colonne{grid-template-columns:1fr}
  .testo .alignleft,.testo .alignright{float:none;margin:1.4em 0;max-width:100%}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media print{.barra,.striscia,aside,#consenso,footer.pagina{display:none}}

/* una tinta per sezione */
.t-giochi-da-tavolo{--tinta:#1556bc}
.t-monopoly{--tinta:#0d7a3e}
.t-retrogames{--tinta:#7b1fa2}
.t-tecnologia{--tinta:#0f5f9e}
.t-vr-realta-virtuale{--tinta:#0b7b85}
.t-fumetti{--tinta:#c0202c}
.t-gadgets{--tinta:#c2410c}
.t-serie-tv{--tinta:#5b3bb0}
.t-libri{--tinta:#8a5a1a}
.t-intrattenimento{--tinta:#ad1a5f}
.t-fotografia-e-video{--tinta:#3f5a6b}
.t-neutro{--tinta:#303030}
