/* Ticket Travel – livello di design: token, vetro e accenti tropicali.
   Caricato da tutte le pagine dopo gli stili inline. Valori dal design system Ticket Travel. */
:root {
  --tt-navy: #14213d; --tt-slate: #4a5675; --tt-orange: #e07a1f; --tt-orange-light: #f0a35e;
  --tt-peach: #fbeee1; --tt-mist: #edf1f6; --tt-white: #ffffff; --tt-orange-ink: #a8550c; --tt-hairline: #d9e0e9;
  /* accento tropicale: azzurro mare (dalla laguna della foto 2x1), solo per luci di fondo, etichette e piccoli segni */
  --tt-mare: #a6ece9; --tt-mare-chiaro: #e0f7f6;
  --tt-glass-fill: rgba(255,255,255,0.18); --tt-glass-border: rgba(255,255,255,0.4);
  --tt-glass-navy: rgba(20,33,61,0.55); --tt-glass-milk: rgba(255,255,255,0.7);
  --tt-blur: blur(24px) saturate(150%);
  --tt-shadow-glass: inset 0 1px 0 rgba(255,255,255,0.45), 0 14px 34px -18px rgba(20,33,61,0.5);
}

/* Luce tropicale in cima alla pagina: mare a destra, tramonto a sinistra. Leggera, dietro ai contenuti. */
body::before, body::after { content: ""; position: absolute; top: 0; z-index: -1; pointer-events: none; height: min(78vw, 1100px); }
body::before { right: 0; width: min(70vw, 1100px);
  background: radial-gradient(circle min(46vw, 640px) at 78% 22%, rgba(150,232,232,0.55), rgba(166,236,233,0.22) 55%, rgba(166,236,233,0) 100%); }
body::after { left: 0; width: min(60vw, 900px);
  background: radial-gradient(circle min(38vw, 520px) at 14% 44%, rgba(240,163,94,0.22), rgba(251,238,225,0.10) 55%, rgba(251,238,225,0) 100%); }

/* Vetro chiaro: su foto e su navy */
.tt-glass { background: var(--tt-glass-fill) !important; border: 1px solid var(--tt-glass-border) !important; color: #ffffff !important;
  -webkit-backdrop-filter: var(--tt-blur); backdrop-filter: var(--tt-blur); box-shadow: var(--tt-shadow-glass); }
/* Vetro scuro: su foto chiare (cielo, sabbia) */
.tt-glass-navy { background: var(--tt-glass-navy) !important; color: #ffffff !important;
  -webkit-backdrop-filter: var(--tt-blur); backdrop-filter: var(--tt-blur); box-shadow: inset 0 1px 0 rgba(255,255,255,0.35); }
/* Vetro latte: su pesca o arancio, testo navy */
.tt-glass-milk { background: var(--tt-glass-milk) !important; border: 1px solid rgba(255,255,255,0.8) !important; color: #14213d !important;
  -webkit-backdrop-filter: var(--tt-blur); backdrop-filter: var(--tt-blur); }

/* Sezioni navy: due luci tropicali sfumate dietro al contenuto */
.tt-tropic-dark { position: relative; isolation: isolate; overflow: hidden; }
.tt-tropic-dark::before, .tt-tropic-dark::after { content: ""; position: absolute; z-index: -1; pointer-events: none; border-radius: 50%; }
.tt-tropic-dark::before { width: 640px; height: 640px; right: -220px; top: -260px; background: radial-gradient(circle, rgba(166,236,233,0.42), rgba(166,236,233,0) 66%); }
.tt-tropic-dark::after { width: 520px; height: 520px; left: -200px; bottom: -260px; background: radial-gradient(circle, rgba(224,122,31,0.38), rgba(224,122,31,0) 66%); }

/* Blocco arancio dei contatti: un riflesso di sole, nient'altro */
.tt-tropic-sun { position: relative; isolation: isolate; overflow: hidden; }
.tt-tropic-sun::before { content: ""; position: absolute; z-index: -1; pointer-events: none; width: 620px; height: 620px; right: -180px; top: -280px; border-radius: 50%;
  background: radial-gradient(circle, rgba(255,232,196,0.55), rgba(255,232,196,0) 66%); }

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .tt-glass { background: rgba(20,33,61,0.55) !important; }
  .tt-glass-milk { background: rgba(255,255,255,0.92) !important; }
}
@media print { body::before, body::after { display: none; } }

/* Campi dei moduli: restano sempre dentro la loro colonna */
label > input:not([type=checkbox]):not([type=radio]), label > textarea, label > select { box-sizing: border-box; width: 100%; min-width: 0; }
