/* DottPrivacy — componenti di struttura. Valori del design system Subtle Gradient. */
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#000;color:#f0f0fa;font-family:'Barlow Condensed',Arial,sans-serif}
a{color:#fff;text-decoration:none;transition:opacity 200ms cubic-bezier(.4,0,.2,1)}
a:hover{opacity:.7}
a:active{opacity:.55}
img{max-width:100%}
section[id]{scroll-margin-top:68px}
:focus-visible{outline:1px solid currentColor;outline-offset:3px}

/* Barra di navigazione */
.nav{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:var(--sg-space-xxl);padding:var(--sg-nav-pad-y) var(--sg-nav-pad-x);background:transparent;color:#fff;box-sizing:border-box}
.marchio{display:inline-flex;align-items:center;text-decoration:none}
.marchio img{display:inline-block;width:24px;height:24px;margin-right:9px}
.marchio span{font:700 19px/1 'Barlow Condensed',Arial,sans-serif;letter-spacing:2px;text-transform:uppercase;color:#fff;white-space:nowrap}
.marchio:hover{opacity:1}
.voci{display:flex;align-items:center;gap:var(--sg-space-xl)}
.voci a,.menu-mobile a{font:var(--sg-type-button-cap);letter-spacing:var(--sg-tracking-button-cap);text-transform:uppercase;color:#fff;text-decoration:none;opacity:.82;padding:4px 0}
.voci a:hover,.menu-mobile a:hover{opacity:1}
.voci a[aria-current],.menu-mobile a[aria-current]{opacity:1}
.ham{display:none;flex-direction:column;gap:5px;background:none;border:0;color:#fff;cursor:pointer;padding:4px}
.ham span{display:block;width:22px;height:1px;background:#fff}
.menu-mobile{position:absolute;top:100%;left:0;right:0;background:#000;border-top:1px solid #3a3a3f;display:flex;flex-direction:column;gap:var(--sg-space-md);padding:var(--sg-space-xl) var(--sg-nav-pad-x)}
.menu-mobile[hidden]{display:none}
@media (max-width:767px){.voci{display:none}.ham{display:flex}}
@media (min-width:768px){.menu-mobile{display:none}}

/* Fotografia a tutta larghezza */
.eroe,.banda{position:relative;width:100%;overflow:hidden;background:#000;color:#fff}
.banda{border-radius:4px}
.foto{position:absolute;inset:0;overflow:hidden;background:#000}
.foto img{width:100%;height:100%;object-fit:cover;display:block}
.eroe-testo,.banda-testo{position:relative;height:100%;max-width:1200px;margin:0 auto;box-sizing:border-box;display:flex;flex-direction:column}
.eroe-testo{padding:120px var(--sg-space-xxl) 88px;gap:var(--sg-space-xl);justify-content:flex-end}
.eroe-testo.v-center{justify-content:center}
.eroe-testo.v-start{justify-content:flex-start;padding-top:120px}
.banda-testo{padding:48px 32px;gap:16px;justify-content:flex-end}
.al-start{align-items:flex-start;text-align:left}
.al-center{align-items:center;text-align:center}
.al-end{align-items:flex-end;text-align:right}

/* Pulsante a pillola */
.pill{display:inline-flex;align-items:center;justify-content:center;gap:var(--sg-space-xs);padding:var(--sg-space-lg) var(--sg-space-xl);border-radius:var(--sg-radius-pill);border:1px solid #fff;background:transparent;color:#fff;font:var(--sg-type-button-cap);letter-spacing:var(--sg-tracking-button-cap);text-transform:uppercase;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background 200ms cubic-bezier(.4,0,.2,1),color 200ms cubic-bezier(.4,0,.2,1),opacity 200ms cubic-bezier(.4,0,.2,1)}
.pill:hover{background:#fff;color:#000;opacity:1}
.pill:active{opacity:.55}
.pill svg{display:block;flex:none}
.pill-chiaro{border-color:#000;color:#000}
.pill-chiaro:hover{background:#000;color:#f0f0fa}

/* Campi del modulo */
.campo{display:flex;flex-direction:column;gap:8px}
.campo label{font:400 12px/2 'Barlow Condensed',Arial,sans-serif;letter-spacing:.96px;text-transform:uppercase;color:#5a5a5f}
.campo input{background:#fff;color:#000;font:400 16px/1.5 'Barlow Condensed',Arial,sans-serif;letter-spacing:.32px;padding:12px 16px;border:1px solid #e0e0e8;border-radius:4px;outline:none;min-height:44px;box-sizing:border-box;width:100%;transition:border-color 200ms cubic-bezier(.4,0,.2,1)}
.campo input:focus{border-color:#000}

/* Piè di pagina */
.pie{background:#000;color:#fff;padding:var(--sg-space-xxl) var(--sg-space-xl);border-top:1px solid #3a3a3f}
.pie-in{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:var(--sg-space-xxl)}
.pie-colonne{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--sg-space-xxl)}
.pie-col{display:flex;flex-direction:column;gap:8px}
.pie-col a{font:400 12px/2 'Barlow Condensed',Arial,sans-serif;letter-spacing:.96px;text-transform:uppercase;color:#fff;text-decoration:none}
.pie-tit{font:400 12px/2 'Barlow Condensed',Arial,sans-serif;letter-spacing:.96px;text-transform:uppercase;margin:0;opacity:.55}
.pie-legale{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #3a3a3f;padding-top:16px;flex-wrap:wrap}
.pie-legale span{font:var(--sg-type-caption);letter-spacing:var(--sg-tracking-caption);opacity:.7}

/* Autovalutazione */
.opz{display:flex;width:100%;box-sizing:border-box;gap:20px;align-items:flex-start;text-align:left;background:transparent;border:0;border-bottom:1px solid #3a3a3f;padding:20px 4px;cursor:pointer;transition:opacity 200ms cubic-bezier(.4,0,.2,1);font-family:'Barlow Condensed',Arial,sans-serif}
.opz:hover{opacity:.7}
.opz:active{opacity:.55}
.opz-quadro{width:13px;height:13px;flex:none;margin-top:6px;border:1px solid #fff;background:transparent}
.opz[aria-pressed="true"] .opz-quadro{background:#fff}
.opz-testo{display:flex;flex-direction:column;gap:5px;min-width:0}
.opz-titolo{font:700 18px/1.35 'Barlow Condensed',Arial,sans-serif;letter-spacing:.36px;color:#fff}
.opz-nota{font:400 13px/1.5 'Barlow Condensed',Arial,sans-serif;letter-spacing:.32px;color:#f0f0fa;opacity:.7}
.testo-nudo{font:400 12px/2 'Barlow Condensed',Arial,sans-serif;letter-spacing:.96px;text-transform:uppercase;background:transparent;border:0;color:#f0f0fa;cursor:pointer;padding:0;transition:opacity 200ms cubic-bezier(.4,0,.2,1)}
.testo-nudo:hover{opacity:.7}


/* Dichiarazione cookie (Usercentrics) su fondo nero */
.dichiarazione-cookie{margin-top:8px;font-family:'Barlow Condensed',Arial,sans-serif;color:#f0f0fa}
.dichiarazione-cookie .uc-embed{color:#f0f0fa;font-size:15px;line-height:1.6}
.dichiarazione-cookie .CookieDeclaration{color:#f0f0fa;font-size:15px;line-height:1.6;border:0;padding:0}
.dichiarazione-cookie .CookieDeclarationType{border:1px solid #3a3a3f;border-radius:8px;padding:16px;margin:0 0 16px;background:#0a0a0a}
.dichiarazione-cookie .CookieDeclarationTypeHeader{font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#fff}
.dichiarazione-cookie .CookieDeclarationTypeDescription{color:#f0f0fa;opacity:.85}
.dichiarazione-cookie .CookieDeclarationTable{border-color:#3a3a3f}
.dichiarazione-cookie .CookieDeclarationTableHeader{color:#fff;border-bottom:1px solid #3a3a3f;text-transform:uppercase;letter-spacing:.6px}
.dichiarazione-cookie .CookieDeclarationTableCell{color:#f0f0fa;border-color:#3a3a3f}
.dichiarazione-cookie a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.dichiarazione-cookie #CookiebotSessionDetails,.dichiarazione-cookie .CookieDeclarationUserStatusLabel{color:#f0f0fa;opacity:.7;font-size:13px}


/* Percorso del dato (privacy policy) */
.fasi{display:grid;grid-template-columns:1fr;gap:1px;background:#3a3a3f;border:1px solid #3a3a3f}
@media(min-width:640px){.fasi{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.fasi{grid-template-columns:repeat(3,1fr)}}
.tr-btn{flex:1 1 0;min-width:150px;cursor:pointer;text-align:left;padding:16px 20px;border:0;background:#0a0a0a;color:#f0f0fa;font:700 13px/1.3 'Barlow Condensed',Arial,sans-serif;letter-spacing:.96px;text-transform:uppercase;transition:background 200ms cubic-bezier(.4,0,.2,1),color 200ms cubic-bezier(.4,0,.2,1)}
.tr-btn:hover{background:#141414}
.tr-btn[aria-pressed="true"]{background:#fff;color:#000}
.tr-blocco{display:flex;flex-direction:column;gap:20px}
.tr-blocco[hidden]{display:none}

/* Archivio delle versioni */
.riga-ver{display:grid;grid-template-columns:1fr;gap:16px 24px;border-bottom:1px solid #3a3a3f;padding:32px 0}
@media(min-width:900px){.riga-ver{grid-template-columns:110px 210px 1fr 190px;align-items:start}}


/* ── Adattamento ai telefoni ───────────────────────────────
   Regole più specifiche delle definizioni di pagina, così valgono
   ovunque anche se caricate prima dei blocchi <style> locali. */
@media (max-width:599px){
  body section:not(.eroe):not(.banda){padding-left:20px;padding-right:20px}
  body .eroe-testo{padding-left:20px;padding-right:20px}
}
@media (max-width:899px){
  /* Aree di lavoro: numero, titolo e testo su tre righe piene */
  body .svc-row,body .svc-sub{grid-template-columns:1fr;gap:8px}
  body .svc-sub{gap:14px}
  body .svc-tie{display:none}
  body .svc-sub-body{flex-direction:column;align-items:flex-start;gap:16px}
}
@media (max-width:699px){
  /* Cronometro del ripristino: le fasi in colonna, la scala non serve */
  body .rto-barra{grid-template-columns:1fr!important;gap:18px}
  body .rto-fase{display:grid;grid-template-columns:96px 1fr;gap:2px 12px;align-items:baseline;padding-right:0}
  body .rto-tacca{grid-column:1/-1;width:100%}
}
@media (max-width:559px){
  /* Matrice del perimetro: sigle più strette, sottotitolo nascosto */
  body .mat-riga{grid-template-columns:minmax(0,1fr) repeat(3,40px)}
  body .mat-cella{padding:12px 2px;font-size:11px;letter-spacing:.4px}
}

@media (max-width:599px){
  /* Parole lunghe nei titoli: si riduce il corpo invece di far scorrere la pagina */
  body h1{font-size:clamp(30px,8.6vw,80px)}
  body h1,body h2,body h3{overflow-wrap:break-word}
}
