/* =====================================================================
   Base: font, reset, tipografia e componenti comuni a tutte le sezioni
   ===================================================================== */

@font-face{font-family:"Coconat";src:url("../fonts/Coconat-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
/* DM Sans variabile (peso e dimensione ottica), la stessa servita da Google Fonts: 300, 500, 700 */
@font-face{font-family:"DM Sans";src:url("../fonts/DMSans-latin.woff2") format("woff2");font-weight:300 700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DM Sans";src:url("../fonts/DMSans-latin-ext.woff2") format("woff2");font-weight:300 700;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

html{scroll-behavior:smooth;background:var(--ts-ink)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Sfondo del sito: scuro con due linee verticali a --rail-l e --rail-r, visibili ovunque la sezione non abbia un fondo proprio */
body{margin:0;background-color:var(--ts-ink);background-image:linear-gradient(var(--ts-rail),var(--ts-rail)),linear-gradient(var(--ts-rail),var(--ts-rail));background-size:1px 100%,1px 100%;background-position:var(--rail-l) 0,var(--rail-r) 0;background-repeat:no-repeat;color:var(--ts-sand);font-family:var(--ts-body);font-weight:300;font-size:var(--fs-text);line-height:1.8;overflow-x:hidden}
@media (max-width:767px){body{background-image:none}}

img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,h4,p,ul{margin:0}
main{display:block}

/* ---------- Tipografia ---------- */
.display{font-family:var(--ts-display);font-weight:400;line-height:1;text-wrap:balance}
.sub{font-family:var(--ts-body);font-weight:500;font-size:var(--fs-sub);line-height:1.7;text-transform:uppercase;letter-spacing:.02em}
.copy p+p,.copy p+ul,.copy ul+p,.copy h4+p{margin-top:1.1em}
.copy h4{font:500 var(--fs-sub)/1.7 var(--ts-body);text-transform:uppercase;margin-top:1.6em}
.copy a.lk,.copy a:not([class]){color:var(--ts-lavender);font-weight:700;text-decoration:none}
.lk--dark{color:var(--ts-black)}
.list{list-style:none;padding:0}
.list li{padding-left:1.2em;position:relative}
.list li::before{content:"";position:absolute;left:0;top:.85em;width:.55em;height:1px;background:currentColor}
.p-title{font:inherit;margin-top:1.1em}
.copy>.p-title:first-child{margin-top:0}

/* ---------- Pulsanti ---------- */
.btn{box-sizing:border-box;display:inline-block;background:var(--ts-olive);color:var(--ts-black);text-decoration:none;text-transform:uppercase;font-family:var(--ts-body);font-weight:300;font-size:var(--fs-btn);line-height:1;padding:1em 4em;border:0;border-radius:0;cursor:pointer;transition:background .3s,color .3s}
.btn:hover,.btn:focus-visible{background:var(--ts-sand);color:var(--ts-black)}
.btn--sm{font-size:var(--fs-btn-sm)}
.btn--dark:hover,.btn--dark:focus-visible{background:var(--ts-ink);color:var(--ts-sand)}
.linkbtn{background:none;border:0;padding:.3em 0;cursor:pointer;font:500 var(--fs-btn-sm)/1 var(--ts-body);text-transform:uppercase;color:var(--ts-black);letter-spacing:.06em;border-bottom:1px solid transparent;transition:border-color .3s}
.linkbtn:hover,.linkbtn:focus-visible{border-bottom-color:currentColor}

:focus-visible{outline:2px solid var(--ts-lavender);outline-offset:3px}

/* ---------- Fondi ---------- */
.rails{position:relative}
.on-paper{background:var(--ts-sand) url("../img/carta.png") center/cover;color:var(--ts-black)}

/* ---------- Entrata in scena (reveal.js aggiunge .is-waiting solo agli elementi sotto la piega) ---------- */
.reveal{transition:opacity var(--reveal-time) ease,transform var(--reveal-time) ease}
.reveal.is-waiting{opacity:0;transform:translateY(var(--anim-dist))}
.reveal--fade.is-waiting{transform:none}
@media (prefers-reduced-motion:reduce){.reveal{transition:none}.reveal.is-waiting{opacity:1;transform:none}}

/* ---------- Accessibilità ---------- */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.skip-link:focus{clip:auto;clip-path:none;height:auto;width:auto;margin:0;left:12px;top:12px;z-index:100;background:var(--ts-sand);color:var(--ts-ink);padding:10px 16px;font:500 14px/1 var(--ts-body);text-decoration:none}

/* ---------- Pagina semplice: contenuto dell'editor su carta (pagine legali, 404), carrello e cassa su scuro ---------- */
/* La carta parte sotto logo e menù, che restano sul fondo scuro */
.page-plain{padding:6vw 0}
.page-plain.on-paper{margin-top:var(--plain-top)}
.page-plain--dark{padding-top:var(--plain-top)}
.page-plain__inner{padding:0 18.4vw 0 var(--pad-page)}
.page-plain__title{font-size:var(--fs-page-title);padding-bottom:var(--title-gap)}
.page-plain__content{line-height:1.6}
.page-plain__content h2{font:500 var(--fs-sub)/1.7 var(--ts-body);text-transform:uppercase;margin-top:2em}
@media (max-width:1024px){.page-plain__inner{padding:0 10vw}}
@media (max-width:767px){.page-plain{padding:12vw 0}.page-plain__inner{padding:0 8%}}

/* ---------- Box carta sopra le foto (hero con foto, carosello, articolo) ---------- */
.page-box{position:absolute;left:var(--box-left);bottom:0;width:var(--box-width);box-sizing:border-box;padding:2.1vw 2.6vw 2.3vw;z-index:3}
.page-box .display{font-size:var(--fs-page)}
.page-box .sub{margin-top:.8vw}
@media (max-width:767px){
  .page-box{left:0;width:100%;padding:7vw 8% 8vw}
  .page-box .sub{margin-top:2vw}
}
.page-plain__btn{margin-top:2.4vw}
@media (max-width:767px){.page-plain__btn{margin-top:7vw}}
