/* site.css — Immigration Expert Agency
   Grafica «Liquid Glass»: superfici di vetro che sfocano ciò che hanno dietro, bordo con riflesso, ombre morbide, forme tonde.
   Regole iPhone (skill website-creator): niente elementi fissi larghi vicino ai bordi (solo la pillola in basso, larga ≤ 86% e staccata di 10 px),
   html con colore vero, 100svh, viewport-fit=cover; il popup dei servizi è un foglio largo ≤ 86%, la testata scorre con la pagina.
   Scrittura da destra a sinistra (arabo): proprietà logiche (inline-start/end) ovunque; le frecce si specchiano con [dir=rtl].
   Contrasti calcolati (WCAG AA): testo #0a1f33 su #eaf3fb 14,6:1 · testo secondario #38526c 7,3:1 · terziario #56708a 4,7:1 · marca #0b63ce 5,2:1 · bianco su pulsanti ≥ 4,7:1. */

/* ===== 1. Variabili ===== */
:root {
  color-scheme: light dark;
  --font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", system-ui, sans-serif;
  --fondo: #eaf3fb;
  --testo: #0a1f33;
  --testo-2: #38526c;
  --testo-3: #56708a;
  --marca: #0b63ce;
  --marca-1: #1569d6;
  --marca-2: #0a54b8;
  --acqua: #0aa39a;
  --wa-1: #0c844f;
  --wa-2: #086a40;
  --vetro: rgba(255, 255, 255, .44);
  --vetro-forte: rgba(255, 255, 255, .76);
  --vetro-solido: rgba(250, 253, 255, .97);
  --vetro-luce: rgba(255, 255, 255, .9);
  --vetro-bordo-1: rgba(255, 255, 255, .95);
  --vetro-bordo-2: rgba(255, 255, 255, .62);
  --vetro-ombra: 0 24px 48px -24px rgba(9, 52, 104, .45), 0 6px 18px -8px rgba(9, 52, 104, .2);
  --sfocatura: blur(20px) saturate(1.7);
  --linea: rgba(10, 31, 51, .1);
  --pomello: rgba(255, 255, 255, .92);
  --r-xl: 36px;
  --r-lg: 28px;
  --r-md: 20px;
  --r-sm: 14px;
  --contenitore: 1180px;
  --gutter: clamp(18px, 4.5vw, 32px);
  --bordo-pillola: 12px;
  --barra-alta: 96px;
  --ease: cubic-bezier(.2, .8, .2, 1);
  --molla: cubic-bezier(.3, 1.35, .45, 1);
  --aurora-1: rgba(46, 134, 255, .34);
  --aurora-2: rgba(16, 186, 168, .3);
  --aurora-3: rgba(255, 168, 128, .3);
  --aurora-4: rgba(130, 150, 255, .24);
}
@media (max-width: 899px) { :root { --bordo-pillola: max(26px, 7vw); } }   /* iOS: pillola larga ≤ 86% su ogni telefono */
@media (prefers-color-scheme: dark) {
  :root {
    --fondo: #06101c;
    --testo: #e9f2fb;
    --testo-2: #b4c6d9;
    --testo-3: #8ea6bf;
    --marca: #6db0ff;
    --vetro: rgba(255, 255, 255, .075);
    --vetro-forte: rgba(14, 30, 50, .78);
    --vetro-solido: rgba(12, 26, 44, .97);
    --vetro-luce: rgba(255, 255, 255, .34);
    --vetro-bordo-1: rgba(255, 255, 255, .5);
    --vetro-bordo-2: rgba(255, 255, 255, .22);
    --vetro-ombra: 0 24px 48px -22px rgba(0, 0, 0, .75), 0 6px 18px -8px rgba(0, 0, 0, .5);
    --linea: rgba(233, 242, 251, .14);
    --pomello: rgba(255, 255, 255, .17);
    --aurora-1: rgba(32, 100, 220, .42);
    --aurora-2: rgba(10, 140, 128, .36);
    --aurora-3: rgba(200, 100, 70, .22);
    --aurora-4: rgba(80, 90, 210, .3);
  }
}
:lang(ar) { --font: -apple-system, "SF Arabic", "Geeza Pro", "Segoe UI", Tahoma, "Noto Sans Arabic", "Noto Naskh Arabic", Arial, sans-serif; }

/* ===== 2. Base ===== */
*, *::before, *::after { box-sizing: border-box; }
html {
  background-color: var(--fondo);
  /* Aurora: ellissi di colore che non toccano mai il bordo del riquadro, quindi il motivo si ripete senza giunture.
     Sta su html (non su body) così copre anche la fascia della barra di scorrimento. */
  background-image:
    radial-gradient(ellipse 58% 15% at 10% 18%, var(--aurora-1), transparent 100%),
    radial-gradient(ellipse 50% 15% at 94% 20%, var(--aurora-2), transparent 100%),
    radial-gradient(ellipse 46% 14% at 78% 52%, var(--aurora-3), transparent 100%),
    radial-gradient(ellipse 52% 16% at 6% 66%, var(--aurora-4), transparent 100%),
    radial-gradient(ellipse 54% 14% at 90% 86%, var(--aurora-2), transparent 100%);
  background-size: 100% 1900px;
  background-repeat: repeat-y;
  -webkit-text-size-adjust: 100%; text-size-adjust: 100%;
  scrollbar-gutter: stable;
  scroll-behavior: smooth;
  scroll-padding-top: 24px;
}
html.dialogo-aperto { overflow: hidden; }
body {
  margin: 0;
  min-height: 100vh; min-height: 100svh;
  font-family: var(--font);
  font-size: 1rem;
  line-height: 1.62;
  color: var(--testo);
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
}
@media (max-width: 899px) { body { padding-bottom: calc(var(--barra-alta) + env(safe-area-inset-bottom)); } }
img, svg { display: block; max-width: 100%; }
a { color: var(--marca); text-underline-offset: .18em; }
address { font-style: normal; }
button { font: inherit; color: inherit; }
ul, ol { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, p, figure, dl, dd { margin: 0; }
::selection { background: rgba(11, 99, 206, .24); }
:focus-visible { outline: 3px solid var(--marca); outline-offset: 3px; }
.vh { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; white-space: nowrap; clip-path: inset(50%); contain: paint; }   /* testo solo per gli screen reader: ritagliato a 1 px (contain: paint non allarga la pagina, né da sinistra a destra né da destra a sinistra) */
.salta { position: absolute; inset-inline-start: 12px; top: -80px; z-index: 100; padding: 12px 18px; border-radius: 999px; background: var(--testo); color: var(--fondo); font-weight: 700; text-decoration: none; transition: top .2s; }
.salta:focus { top: max(12px, env(safe-area-inset-top)); }
.icona { width: 22px; height: 22px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.sprite { position: absolute; width: 0; height: 0; overflow: hidden; }

/* ===== 3. Tipografia ===== */
h1, h2, h3 { line-height: 1.12; letter-spacing: -.025em; text-wrap: balance; overflow-wrap: break-word; hyphens: auto; }
h1 { font-size: clamp(2.15rem, 1.25rem + 4.4vw, 4rem); font-weight: 800; margin-bottom: .45em; }
h2 { font-size: clamp(1.65rem, 1.1rem + 2.5vw, 2.6rem); font-weight: 760; margin-bottom: .5em; }
h3 { font-size: 1.15rem; font-weight: 700; letter-spacing: -.012em; margin-bottom: .4em; }
p { margin-bottom: 1em; text-wrap: pretty; overflow-wrap: break-word; }
.lead { font-size: clamp(1.06rem, 1rem + .4vw, 1.27rem); color: var(--testo-2); max-width: 62ch; line-height: 1.6; }
.sopratitolo { display: inline-flex; align-items: center; gap: .5rem; margin-bottom: 1rem; font-size: .8rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; color: var(--marca); }
.sopratitolo .icona { width: 18px; height: 18px; }
.evidenzia { background: linear-gradient(100deg, var(--marca), var(--acqua)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; hyphens: none; }
@media (min-width: 700px) { h1, h2 { hyphens: manual; } }   /* i titoli grandi non si spezzano col trattino da tablet in su; sul telefono resta il ripiego automatico */
:lang(ar) h1, :lang(ar) h2, :lang(ar) h3, :lang(ar) .sopratitolo, :lang(ar) .marchio-testo span { letter-spacing: 0; }
:lang(ar) .sopratitolo, :lang(ar) .marchio-testo span { text-transform: none; }
:lang(ar) body, body:lang(ar) { line-height: 1.85; }
:lang(ar) h1, :lang(ar) h2, :lang(ar) h3 { line-height: 1.35; }
:lang(ru) h1, :lang(de) h1 { font-size: clamp(2rem, 1.1rem + 4vw, 3.5rem); }

/* ===== 4. Vetro (Liquid Glass) ===== */
.vetro, .vetro-forte, .lingue-elenco, .pillola, .foglio-pannello, .foglio-chiudi {
  position: relative;
  isolation: isolate;
  background: var(--vetro);
  -webkit-backdrop-filter: var(--sfocatura); backdrop-filter: var(--sfocatura);
  box-shadow: inset 0 1px 0 var(--vetro-luce), inset 0 -1px 0 rgba(255, 255, 255, .1), var(--vetro-ombra);
}
.vetro { border-radius: var(--r-lg); }
.vetro-forte, .lingue-elenco, .foglio-pannello { background: var(--vetro-forte); }
.vetro::before, .vetro-forte::before, .lingue-elenco::before, .pillola::before, .foglio-pannello::before, .foglio-chiudi::before {
  content: ""; position: absolute; inset: 0; z-index: 3; padding: 1px; border-radius: inherit; pointer-events: none;
  background: linear-gradient(135deg, var(--vetro-bordo-1), rgba(255, 255, 255, .08) 30%, rgba(255, 255, 255, .02) 58%, var(--vetro-bordo-2));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask-composite: exclude;
}
/* riflesso che segue il puntatore (solo con il mouse) */
.vetro::after { content: ""; position: absolute; inset: 0; z-index: 2; border-radius: inherit; pointer-events: none; opacity: 0; transition: opacity .35s; background: radial-gradient(280px circle at var(--mx, 50%) var(--my, 0%), rgba(255, 255, 255, .34), transparent 62%); }
@media (hover: hover) and (pointer: fine) { .vetro:hover::after { opacity: 1; } }
@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .vetro, .vetro-forte, .lingue-elenco, .pillola, .foglio-pannello, .foglio-chiudi { background: var(--vetro-solido); }
}
@media (prefers-reduced-transparency: reduce) {
  .vetro, .vetro-forte, .lingue-elenco, .pillola, .foglio-pannello, .foglio-chiudi { background: var(--vetro-solido); -webkit-backdrop-filter: none; backdrop-filter: none; }
}
@media (forced-colors: active) { .vetro, .vetro-forte, .lingue-elenco, .pillola, .foglio-pannello { border: 1px solid CanvasText; } }

/* ===== 5. Struttura e movimento ===== */
.contenitore { width: 100%; max-width: calc(var(--contenitore) + 2 * var(--gutter)); margin-inline: auto; padding-left: max(var(--gutter), env(safe-area-inset-left)); padding-right: max(var(--gutter), env(safe-area-inset-right)); }
.contenitore-stretto { max-width: calc(840px + 2 * var(--gutter)); }
.sezione { padding-block: clamp(36px, 7vw, 84px); }
.sezione-testa { max-width: 760px; margin-bottom: clamp(24px, 4vw, 44px); }
.sezione-azione { display: flex; justify-content: center; margin: clamp(24px, 4vw, 40px) 0 0; }
.intestazione-pagina { padding-block: clamp(30px, 6vw, 72px) clamp(6px, 2vw, 20px); }
.azioni { display: flex; flex-wrap: wrap; gap: 12px; margin-block: 1.5rem 0; }
@keyframes entra { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
.entra { animation: entra .9s var(--ease) both; animation-delay: var(--ritardo, 0s); }
.js .reveal { opacity: 0; transform: translateY(20px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
.js .reveal.visibile { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .entra { animation: none; }
  .js .reveal { opacity: 1; transform: none; transition: none; }
  html { scroll-behavior: auto; }
}

/* ===== 6. Pulsanti ===== */
.bottone {
  position: relative; isolation: isolate; display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 52px; padding: 0 26px; border: 0; border-radius: 999px;
  font: inherit; font-size: 1rem; font-weight: 700; line-height: 1.2; text-align: center; text-decoration: none; color: #fff; cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: transform .35s var(--molla), box-shadow .35s var(--ease), filter .25s;
}
.bottone::after { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: linear-gradient(180deg, rgba(255, 255, 255, .13), transparent 52%); pointer-events: none; }
.bottone:active { transform: scale(.965); }
.bottone-primario { background: linear-gradient(180deg, var(--marca-1), var(--marca-2)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .45), 0 12px 26px -10px rgba(11, 99, 206, .7); }
.bottone-wa { background: linear-gradient(180deg, var(--wa-1), var(--wa-2)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .4), 0 12px 26px -10px rgba(8, 106, 64, .75); }
.bottone-vetro { color: var(--testo); background: var(--vetro-forte); -webkit-backdrop-filter: var(--sfocatura); backdrop-filter: var(--sfocatura); box-shadow: inset 0 1px 0 var(--vetro-luce), inset 0 0 0 1px var(--vetro-bordo-2), 0 10px 22px -12px rgba(9, 52, 104, .45); }
.bottone-vetro::after { background: linear-gradient(180deg, rgba(255, 255, 255, .22), transparent 52%); }
@media (hover: hover) { .bottone:hover { transform: translateY(-3px); } .bottone:active { transform: scale(.965); } .bottone:hover .freccia { transform: translateX(3px); } [dir="rtl"] .bottone:hover .freccia { transform: scaleX(-1) translateX(3px); } }
.freccia { transition: transform .3s var(--ease); }
[dir="rtl"] .freccia { transform: scaleX(-1); }

/* ===== 7. Testata e selettore di lingua (la testata scorre con la pagina: mai fissa né sticky) ===== */
.testata { position: relative; z-index: 30; padding-top: max(12px, env(safe-area-inset-top)); }
.testata-barra { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: calc(100% - 2 * var(--gutter)); max-width: var(--contenitore); margin-inline: auto; padding: 8px 8px 8px 12px; border-radius: 999px; }
[dir="rtl"] .testata-barra { padding: 8px 12px 8px 8px; }
.marchio { display: flex; align-items: center; gap: 10px; min-width: 0; color: var(--testo); text-decoration: none; }
.marchio-logo { width: 42px; height: 42px; flex: none; filter: drop-shadow(0 6px 12px rgba(11, 99, 206, .38)); }
.marchio-testo { display: flex; flex-direction: column; min-width: 0; line-height: 1.08; }
.marchio-testo strong { font-size: 1.05rem; font-weight: 800; letter-spacing: -.02em; }
.marchio-testo span { font-size: .68rem; font-weight: 650; letter-spacing: .15em; text-transform: uppercase; color: var(--testo-2); white-space: nowrap; }
.nav-desk { display: none; }
.lingue { position: relative; flex: none; }
.lingue-bottone { display: inline-flex; align-items: center; gap: 7px; min-height: 46px; padding: 0 14px 0 13px; border-radius: 999px; list-style: none; cursor: pointer; font-size: .9rem; font-weight: 750; letter-spacing: .02em; color: var(--testo); background: var(--vetro-forte); box-shadow: inset 0 1px 0 var(--vetro-luce), inset 0 0 0 1px var(--vetro-bordo-2), 0 4px 10px -4px rgba(9, 52, 104, .35); -webkit-tap-highlight-color: transparent; transition: transform .3s var(--molla); user-select: none; }
.lingue-bottone::-webkit-details-marker { display: none; }
.lingue-bottone:active { transform: scale(.95); }
.lingue-bottone .icona { width: 20px; height: 20px; }
.lingue-freccia { width: 16px !important; height: 16px !important; transition: transform .3s var(--ease); }
.lingue-dettagli[open] .lingue-freccia { transform: rotate(180deg); }
@keyframes lingue-entra { from { opacity: 0; transform: translateY(-8px) scale(.96); } to { opacity: 1; transform: none; } }
.lingue-elenco { position: absolute; z-index: 60; inset-inline-end: 0; top: calc(100% + 10px); width: min(272px, calc(100vw - 2 * var(--gutter))); padding: 8px; border-radius: 26px; transform-origin: top right; animation: lingue-entra .28s var(--ease); }
[dir="rtl"] .lingue-elenco { transform-origin: top left; }
.lingue-elenco a { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 0 14px; border-radius: 18px; color: var(--testo); font-weight: 650; text-decoration: none; transition: background .2s; }
.lingue-elenco a:hover, .lingue-elenco a:focus-visible { background: rgba(11, 99, 206, .1); }
.lingue-elenco a[aria-current="true"] { background: rgba(11, 99, 206, .14); color: var(--marca); }
.lingua-codice { margin-inline-start: auto; font-size: .7rem; font-weight: 700; letter-spacing: .1em; color: var(--testo-3); }
.lingua-spunta { width: 18px; height: 18px; opacity: 0; color: var(--marca); }
.lingue-elenco a[aria-current="true"] .lingua-spunta { opacity: 1; }
.lingue-elenco a[aria-current="true"] .lingua-codice { display: none; }
@media (min-width: 900px) {
  .testata { padding-top: max(18px, env(safe-area-inset-top)); }
  .testata-barra { padding: 9px 9px 9px 18px; }
  [dir="rtl"] .testata-barra { padding: 9px 18px 9px 9px; }
  .nav-desk { display: flex; align-items: center; gap: 4px; margin-inline: auto; padding: 4px; border-radius: 999px; background: rgba(255, 255, 255, .28); box-shadow: inset 0 0 0 1px var(--vetro-bordo-2); }
  .nav-desk a { position: relative; padding: 11px 22px; border-radius: 999px; color: var(--testo-2); font-weight: 700; text-decoration: none; transition: color .2s, background .3s; }
  .nav-desk a:hover { color: var(--testo); background: rgba(255, 255, 255, .45); }
  .nav-desk a[aria-current="page"] { color: var(--marca); background: var(--pomello); box-shadow: inset 0 1px 0 #fff, 0 6px 14px -6px rgba(9, 52, 104, .45); }
}

/* ===== 8. Barra in basso a pillola (telefono e tablet; unico elemento fisso del sito) ===== */
.barra-fissa { position: fixed; z-index: 60; left: max(var(--bordo-pillola), env(safe-area-inset-left)); right: max(var(--bordo-pillola), env(safe-area-inset-right)); bottom: calc(10px + env(safe-area-inset-bottom)); max-width: 520px; margin-inline: auto; pointer-events: none; }
.barra-fissa > * { pointer-events: auto; }
@media (min-width: 900px) { .barra-fissa { display: none; } }
.pillola { --i: 0; display: grid; grid-template-columns: repeat(3, 1fr); width: 100%; max-width: 420px; margin-inline: auto; padding: 6px; border-radius: 999px; background: var(--vetro-forte); }
.pillola[data-pagina="home"] { --i: 0; } .pillola[data-pagina="services"] { --i: 1; } .pillola[data-pagina="contacts"] { --i: 2; }
.pillola-pomello { position: absolute; z-index: 0; inset-block: 6px; inset-inline-start: 6px; width: calc((100% - 12px) / 3); border-radius: 999px; background: var(--pomello); box-shadow: inset 0 1px 0 #fff, inset 0 0 0 1px var(--vetro-bordo-2), 0 6px 14px -6px rgba(9, 52, 104, .5); transform: translateX(calc(var(--i) * 100%)); transition: transform .6s var(--molla); }
[dir="rtl"] .pillola-pomello { transform: translateX(calc(var(--i) * -100%)); }
.pillola:not([data-pagina="home"], [data-pagina="services"], [data-pagina="contacts"]) .pillola-pomello { opacity: 0; }
.pillola-voce { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-width: 0; min-height: 56px; padding: 6px 4px; border-radius: 999px; font-size: .72rem; font-weight: 700; line-height: 1.1; text-align: center; text-decoration: none; color: var(--testo-2); -webkit-tap-highlight-color: transparent; transition: color .3s, transform .3s var(--molla); }
.pillola-voce:active { transform: scale(.93); }
.pillola-voce[aria-current="page"] { color: var(--marca); }
.pillola-voce .icona { width: 24px; height: 24px; }
.pillola-voce span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ===== 9. Home ===== */
.eroe { padding-block: clamp(24px, 5vw, 64px) clamp(36px, 7vw, 92px); }
.eroe-griglia { display: grid; gap: clamp(30px, 5vw, 60px); align-items: center; }
.eroe-testo .azioni { margin-bottom: 1.2rem; }
.cornice { position: relative; overflow: hidden; border-radius: var(--r-xl); box-shadow: 0 34px 64px -30px rgba(9, 52, 104, .6), 0 10px 26px -12px rgba(9, 52, 104, .35); background: #cfe3f2; }
.cornice::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .4), inset 0 1px 0 rgba(255, 255, 255, .7); }
.eroe-immagine { position: relative; }
.eroe-cornice img { width: 100%; aspect-ratio: 5 / 4; height: auto; object-fit: cover; }
.eroe-chip { position: absolute; inset: 0; pointer-events: none; }
.chip { position: absolute; display: inline-flex; align-items: center; gap: 9px; padding: 10px 17px 10px 12px; border-radius: 999px; font-size: .88rem; font-weight: 700; white-space: nowrap; color: var(--testo); background: var(--vetro-forte); }
[dir="rtl"] .chip { padding: 10px 12px 10px 17px; }
.chip .icona { width: 20px; height: 20px; color: var(--marca); }
.chip.c1 { inset-block-start: 14px; inset-inline-start: 14px; }
.chip.c2 { inset-block-end: 14px; inset-inline-end: 14px; }
.chip.c3 { display: none; }
@keyframes galleggia { from { transform: translateY(0); } to { transform: translateY(-9px); } }
@media (min-width: 900px) {
  .eroe-griglia { grid-template-columns: 1.04fr .96fr; }
  .chip.c1 { inset-block-start: 9%; inset-inline-start: -7%; }
  .chip.c2 { inset-block-start: 47%; inset-block-end: auto; inset-inline-end: -6%; }
  .chip.c3 { display: inline-flex; inset-block-end: 8%; inset-inline-start: 7%; }
}
@media (min-width: 900px) and (hover: hover) and (prefers-reduced-motion: no-preference) {
  .chip { animation: galleggia 6s ease-in-out infinite alternate; }
  .chip.c2 { animation-duration: 7.4s; animation-delay: -2s; }
  .chip.c3 { animation-duration: 6.6s; animation-delay: -4s; }
}
/* stato di apertura */
.stato { display: inline-flex; align-items: center; gap: 10px; margin: 0; padding: 8px 16px 8px 13px; border-radius: 999px; font-size: .9rem; font-weight: 650; color: var(--testo); background: var(--vetro-forte); box-shadow: inset 0 1px 0 var(--vetro-luce), inset 0 0 0 1px var(--vetro-bordo-2); -webkit-backdrop-filter: var(--sfocatura); backdrop-filter: var(--sfocatura); }
.stato[hidden] { display: none; }
.stato-punto { width: 10px; height: 10px; border-radius: 50%; background: #9aa7b5; box-shadow: 0 0 0 4px rgba(154, 167, 181, .28); }
.stato[data-stato="aperto"] .stato-punto { background: #17b26a; box-shadow: 0 0 0 4px rgba(23, 178, 106, .28); animation: pulsa 2.4s ease-in-out infinite; }
.stato[data-stato="chiuso"] .stato-punto { background: #e0623a; box-shadow: 0 0 0 4px rgba(224, 98, 58, .24); }
@keyframes pulsa { 50% { box-shadow: 0 0 0 8px rgba(23, 178, 106, 0); } }
@media (prefers-reduced-motion: reduce) { .stato[data-stato="aperto"] .stato-punto { animation: none; } }
.eroe-testo .stato { margin-top: .6rem; }
.intestazione-pagina .stato { margin-top: 1.2rem; }

.icona-tonda { display: grid; place-items: center; width: 52px; height: 52px; flex: none; border-radius: 50%; color: var(--marca); background: linear-gradient(145deg, rgba(255, 255, 255, .95), rgba(255, 255, 255, .4)); box-shadow: inset 0 1px 0 #fff, 0 8px 18px -8px rgba(11, 99, 206, .5); }
.icona-tonda .icona { width: 26px; height: 26px; }
.icona-wa { color: var(--wa-1); box-shadow: inset 0 1px 0 #fff, 0 8px 18px -8px rgba(12, 132, 79, .55); }
@media (prefers-color-scheme: dark) { .icona-tonda { background: linear-gradient(145deg, rgba(255, 255, 255, .22), rgba(255, 255, 255, .06)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .4), 0 8px 18px -8px rgba(0, 0, 0, .6); } }

.sezione-fiducia { padding-top: 0; }
.fiducia { display: grid; gap: 16px; }
.fiducia li { display: grid; gap: 4px; align-content: start; padding: 26px 24px 20px; }
.fiducia .icona-tonda { margin-bottom: 10px; }
.fiducia p { margin: 0; color: var(--testo-2); }
@media (min-width: 800px) { .fiducia { grid-template-columns: repeat(3, 1fr); gap: 20px; } }

.tessere { display: grid; gap: 14px; }
.tessera { display: flex; align-items: center; gap: 16px; min-height: 76px; padding: 14px 20px 14px 14px; color: var(--testo); font-weight: 700; text-decoration: none; transition: transform .4s var(--molla), box-shadow .3s; border-radius: 999px; }
[dir="rtl"] .tessera { padding: 14px 14px 14px 20px; }
.tessera-testo { flex: 1; min-width: 0; line-height: 1.25; overflow-wrap: break-word; hyphens: auto; }
.tessera .freccia { color: var(--testo-3); width: 20px; height: 20px; }
@media (hover: hover) { .tessera:hover { transform: translateY(-4px); } }
.tessera:active { transform: scale(.98); }
@media (min-width: 560px) { .tessere { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 900px) { .tessere { grid-template-columns: repeat(3, 1fr); gap: 18px; } }

.passi { display: grid; gap: 16px; counter-reset: passo; }
.passo { position: relative; padding: 26px 24px 22px; }
.passo-numero { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 16px; border-radius: 50%; font-weight: 800; font-size: 1.15rem; color: #fff; background: linear-gradient(145deg, var(--marca-1), var(--acqua)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), 0 10px 20px -8px rgba(11, 99, 206, .6); }
.passo p { margin: 0; color: var(--testo-2); }
@media (min-width: 640px) { .passi { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .passi { grid-template-columns: repeat(4, 1fr); } }
.nota-passi { display: flex; align-items: flex-start; gap: 12px; max-width: 720px; margin: 28px auto 0; color: var(--testo-2); font-size: .98rem; }
.nota-passi .icona { width: 24px; height: 24px; margin-top: 2px; color: var(--marca); }
.nota-passi span { margin: 0; }

.chi-griglia { display: grid; gap: clamp(26px, 5vw, 64px); align-items: center; }
.ritratto { position: relative; width: min(100%, 420px); margin-inline: auto; }
.ritratto-cornice img { width: 100%; aspect-ratio: 1 / 1.04; height: auto; object-fit: cover; object-position: 50% 28%; }
.ritratto figcaption { position: absolute; inset-inline: 18px; bottom: 18px; padding: 13px 20px; border-radius: 999px; text-align: center; font-weight: 750; letter-spacing: -.01em; color: var(--testo); }
.chi-testo p { color: var(--testo-2); font-size: 1.06rem; max-width: 60ch; }
@media (min-width: 900px) { .chi-griglia { grid-template-columns: .85fr 1.15fr; } .ritratto { margin-inline: 0; } }

.cta-pannello { display: grid; gap: 24px; align-items: center; padding: clamp(28px, 5vw, 56px); border-radius: var(--r-xl); background: linear-gradient(135deg, rgba(21, 105, 214, .2), rgba(10, 163, 154, .17)), var(--vetro-forte); }
.cta-testo h2 { margin-bottom: .3em; }
.cta-testo p { margin: 0; color: var(--testo-2); font-size: 1.08rem; max-width: 52ch; }
.cta-pannello .azioni { margin: 0; }
@media (min-width: 900px) { .cta-pannello { grid-template-columns: 1.15fr .85fr; } .cta-pannello .azioni { justify-content: flex-end; } }

.visita-pannello { display: grid; gap: 24px; align-items: center; padding: clamp(26px, 4.5vw, 48px); border-radius: var(--r-xl); }
.visita-testo p { color: var(--testo-2); }
.dati-riga { display: grid; gap: 14px; margin-top: 18px; }
.dati-riga li { display: flex; align-items: flex-start; gap: 12px; }
.dati-riga .icona { width: 24px; height: 24px; margin-top: 3px; color: var(--marca); }
.dati-riga address, .orari-breve { display: flex; flex-direction: column; font-weight: 650; }
.orari-breve span { font-weight: 500; color: var(--testo-2); }
.visita-pannello .azioni { margin: 0; }
@media (min-width: 900px) { .visita-pannello { grid-template-columns: 1.1fr .9fr; } .visita-pannello .azioni { justify-content: flex-end; } }

/* ===== 10. Servizi: schede e popup ===== */
.schede { display: grid; gap: clamp(16px, 2.4vw, 28px); }
@media (min-width: 700px) { .schede { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .schede { grid-template-columns: repeat(3, 1fr); } }
.scheda { display: flex; flex-direction: column; width: 100%; height: 100%; padding: 0; border: 0; text-align: start; cursor: pointer; overflow: hidden; border-radius: var(--r-lg); -webkit-tap-highlight-color: transparent; transition: transform .5s var(--molla), box-shadow .4s var(--ease); }
.scheda-foto { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #cfe3f2; }
.scheda-foto img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.scheda-icona { position: absolute; inset-block-start: 14px; inset-inline-start: 14px; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; color: var(--marca); background: rgba(255, 255, 255, .78); -webkit-backdrop-filter: blur(14px) saturate(1.6); backdrop-filter: blur(14px) saturate(1.6); box-shadow: inset 0 1px 0 #fff, 0 6px 16px -6px rgba(0, 0, 0, .35); }
.scheda-icona .icona { width: 24px; height: 24px; }
.scheda-corpo { display: flex; flex: 1; flex-direction: column; gap: 6px; padding: 18px 22px 22px; }
.scheda-titolo { font-size: 1.14rem; font-weight: 750; line-height: 1.2; letter-spacing: -.015em; overflow-wrap: break-word; hyphens: auto; }
.scheda-testo { color: var(--testo-2); font-size: .97rem; line-height: 1.5; }
.scheda-link { display: inline-flex; align-items: center; gap: 7px; margin-top: auto; padding-top: 10px; color: var(--marca); font-weight: 750; }
.scheda-link .icona { width: 18px; height: 18px; }
@media (hover: hover) {
  .scheda:hover { transform: translateY(-6px); }
  .scheda:hover .scheda-foto img { transform: scale(1.06); }
  .scheda:hover .scheda-link .freccia { transform: translateX(4px); }
  [dir="rtl"] .scheda:hover .scheda-link .freccia { transform: scaleX(-1) translateX(4px); }
}
.scheda:active { transform: scale(.985); }
.nota-servizi { display: flex; align-items: flex-start; gap: 12px; max-width: 760px; margin: 34px auto 0; color: var(--testo-2); font-size: .96rem; }
.nota-servizi .icona { width: 24px; height: 24px; margin-top: 2px; color: var(--marca); }
.nota-servizi span { margin: 0; }

/* popup: un grande foglio di vetro, largo ≤ 86% su telefono e staccato di ≥ 10 px dai bordi (regole iPhone) */
.foglio { padding: 0; border: 0; background: transparent; color: var(--testo); max-width: none; max-height: none; overflow: visible; }
.foglio[open] { display: block; position: fixed; inset: 0; margin: auto; width: min(920px, calc(100% - 2 * var(--bordo-pillola))); height: min(calc(100svh - 2 * max(var(--bordo-pillola), 20px) - env(safe-area-inset-top) - env(safe-area-inset-bottom)), 880px); animation: foglio-entra .5s var(--molla); }
.foglio.chiude[open] { animation: foglio-esce .24s ease-in forwards; }
.foglio::backdrop { background: rgba(6, 28, 54, .5); -webkit-backdrop-filter: blur(10px) saturate(1.2); backdrop-filter: blur(10px) saturate(1.2); animation: velo-entra .35s ease-out; }
.foglio.chiude::backdrop { animation: velo-esce .24s ease-in forwards; }
@keyframes foglio-entra { from { opacity: 0; transform: translateY(40px) scale(.94); } to { opacity: 1; transform: none; } }
@keyframes foglio-esce { to { opacity: 0; transform: translateY(24px) scale(.97); } }
@keyframes velo-entra { from { opacity: 0; } }
@keyframes velo-esce { to { opacity: 0; } }
@media (prefers-color-scheme: dark) { .foglio::backdrop { background: rgba(0, 6, 14, .62); } }
.foglio-pannello { display: flex; flex-direction: column; width: 100%; height: 100%; overflow: hidden; border-radius: clamp(28px, 5vw, 40px); background: var(--vetro-solido); }
.foglio-scorri { flex: 1; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
.foglio-chiudi { position: absolute; z-index: 5; inset-block-start: 14px; inset-inline-end: 14px; display: grid; place-items: center; width: 46px; height: 46px; padding: 0; border: 0; border-radius: 50%; cursor: pointer; color: var(--testo); background: rgba(255, 255, 255, .72); -webkit-tap-highlight-color: transparent; transition: transform .3s var(--molla); }
.foglio-chiudi:active { transform: scale(.9); }
@media (hover: hover) { .foglio-chiudi:hover { transform: rotate(90deg) scale(1.05); } }
.foglio-chiudi .icona { width: 22px; height: 22px; stroke-width: 2.2; }
.foglio-foto { position: relative; width: 100%; height: clamp(170px, 36svh, 360px); overflow: hidden; background: #cfe3f2; }   /* altezza esplicita: aspect-ratio + max-height ridurrebbero anche la larghezza */
.foglio-foto img { width: 100%; height: 100%; object-fit: cover; }
.foglio-foto::after { content: ""; position: absolute; inset: auto 0 0 0; height: 45%; background: linear-gradient(to top, var(--vetro-solido), transparent); pointer-events: none; }
.foglio-testo { padding: clamp(18px, 4vw, 40px); padding-top: 4px; }
.foglio-etichetta { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 10px; font-size: .8rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; color: var(--marca); }
.foglio-etichetta .icona { width: 20px; height: 20px; }
:lang(ar) .foglio-etichetta { letter-spacing: 0; text-transform: none; }
.foglio-testo h2 { font-size: clamp(1.5rem, 1.1rem + 2vw, 2.25rem); }
.foglio-colonne { display: grid; gap: 22px; margin-top: 26px; }
@media (min-width: 720px) { .foglio-colonne { grid-template-columns: 1fr 1fr; gap: 34px; } }
.foglio-colonne h3, .foglio-costo h3 { font-size: .86rem; letter-spacing: .08em; text-transform: uppercase; color: var(--testo-3); margin-bottom: .8em; }
:lang(ar) .foglio-colonne h3, :lang(ar) .foglio-costo h3 { letter-spacing: 0; text-transform: none; font-size: 1rem; }
.elenco { display: grid; gap: 12px; }
.elenco li { position: relative; padding-inline-start: 32px; line-height: 1.5; }
.elenco li::before { content: ""; position: absolute; inset-inline-start: 0; top: .2em; width: 22px; height: 22px; border-radius: 50%; }
.elenco-spunte li::before { background: var(--marca) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6.5 12.5 3.8 3.8L17.8 8.5'/%3E%3C/svg%3E") center / 14px no-repeat; }
.elenco-puntini li::before { width: 10px; height: 10px; top: .55em; inset-inline-start: 6px; background: var(--acqua); box-shadow: 0 0 0 5px rgba(10, 163, 154, .18); }
.foglio-costo { margin-top: 26px; padding: 18px 22px; border-radius: var(--r-md); background: linear-gradient(135deg, rgba(21, 105, 214, .13), rgba(10, 163, 154, .1)); box-shadow: inset 0 0 0 1px var(--vetro-bordo-2); }
.foglio-costo h3 { margin-bottom: .3em; }
.foglio-costo p { margin: 0; font-weight: 650; }
.foglio-testo .azioni { margin-top: 24px; }
.foglio-nota { margin: 18px 0 0; color: var(--testo-3); font-size: .88rem; }
/* senza JavaScript i popup restano sotto le schede, già aperti */
html:not(.js) .foglio:not([open]) { display: block; position: static; width: auto; height: auto; max-width: 920px; margin: 28px auto; }
html:not(.js) .foglio .foglio-pannello { height: auto; }
html:not(.js) .foglio .foglio-scorri { overflow: visible; }
html:not(.js) .foglio-chiudi, html:not(.js) .scheda-link { display: none; }

/* ===== 11. Contatti e mappa ===== */
.contatti-griglia { display: grid; gap: clamp(18px, 3vw, 32px); }
.contatti-schede { display: grid; gap: 16px; align-content: start; }
.scheda-contatto { display: grid; gap: 8px; padding: 26px 26px 24px; }
.scheda-contatto .icona-tonda { margin-bottom: 8px; }
.scheda-contatto h2 { margin: 0; font-size: 1.4rem; }
.scheda-contatto p { margin: 0; color: var(--testo-2); }
.numero { font-size: clamp(1.35rem, 1.1rem + 1.2vw, 1.8rem); font-weight: 800; letter-spacing: -.02em; color: var(--testo) !important; }
.numero a { color: inherit; text-decoration: none; }
.indirizzo { display: flex; flex-direction: column; font-size: 1.08rem; font-weight: 600; line-height: 1.45; }
.indirizzo span:first-child { color: var(--testo-2); font-weight: 500; font-size: .95rem; }
.scheda-contatto .azioni { margin-top: 14px; }
.orari-elenco { display: grid; grid-template-columns: auto 1fr; gap: 6px 22px; align-items: baseline; margin: 0; }
.orari-elenco dt { color: var(--testo-2); }
.orari-elenco dd { display: flex; flex-wrap: wrap; gap: 2px 14px; font-weight: 650; font-variant-numeric: tabular-nums; }
.orari-grandi { font-size: 1.04rem; margin-top: 4px; }
.mappa-blocco { display: grid; gap: 16px; padding: clamp(18px, 3vw, 28px); border-radius: var(--r-xl); align-content: start; }
.mappa-testa h2 { margin-bottom: .3em; font-size: 1.5rem; }
.mappa-testa p { margin: 0; color: var(--testo-2); }
.mappa { position: relative; height: clamp(320px, 56vw, 480px); overflow: hidden; border-radius: var(--r-lg); background: linear-gradient(135deg, #d6e8f5, #c4dcee); box-shadow: inset 0 0 0 1px var(--vetro-bordo-2); isolation: isolate; }
.mappa-segnaposto { position: absolute; inset: 0; display: grid; place-items: center; color: var(--marca); background-image: linear-gradient(rgba(255, 255, 255, .5) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .5) 1px, transparent 1px); background-size: 44px 44px; }
.mappa-segnaposto .icona { width: 54px; height: 54px; stroke-width: 1.5; }
.mappa.pronta .mappa-segnaposto { display: none; }
.mappa-azioni { margin-top: 4px; }
.mappa-errore, .mappa-hint { position: absolute; z-index: 800; inset-inline: 14px; bottom: 14px; padding: 10px 16px; border-radius: 18px; font-size: .9rem; font-weight: 600; text-align: center; color: var(--testo); background: var(--vetro-forte); -webkit-backdrop-filter: var(--sfocatura); backdrop-filter: var(--sfocatura); box-shadow: var(--vetro-ombra); pointer-events: none; opacity: 0; transition: opacity .3s; }
.mappa-errore { opacity: 1; pointer-events: auto; }
.mappa-hint.visibile { opacity: 1; }
.marcatore { position: relative; width: 48px; height: 56px; }
.marcatore svg { position: relative; z-index: 2; width: 48px; height: 56px; filter: drop-shadow(0 8px 10px rgba(9, 52, 104, .45)); }
.marcatore-onda { position: absolute; z-index: 1; left: 50%; bottom: 2px; width: 22px; height: 22px; margin-left: -11px; border-radius: 50%; background: rgba(11, 99, 206, .45); animation: onda 2.4s ease-out infinite; }
@keyframes onda { from { transform: scale(.4); opacity: 1; } to { transform: scale(3.2); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .marcatore-onda { animation: none; opacity: .4; } }
/* ritocchi a Leaflet: controlli di vetro, testo del sito, niente bandiera nell'attribuzione */
.leaflet-container { font-family: var(--font); background: #cde0ef; outline-offset: -3px; }
.leaflet-control-zoom { border: 0 !important; box-shadow: var(--vetro-ombra) !important; border-radius: 999px !important; overflow: hidden; }
.leaflet-control-zoom a { width: 42px !important; height: 42px !important; line-height: 40px !important; font-size: 22px !important; color: var(--testo) !important; background: var(--vetro-forte) !important; -webkit-backdrop-filter: var(--sfocatura); backdrop-filter: var(--sfocatura); border: 0 !important; }
.leaflet-control-zoom a:first-child { border-bottom: 1px solid var(--linea) !important; }
.leaflet-control-attribution { margin: 0 8px 8px !important; padding: 4px 10px !important; border-radius: 999px; font-size: 11px !important; color: var(--testo-2) !important; background: var(--vetro-forte) !important; -webkit-backdrop-filter: var(--sfocatura); backdrop-filter: var(--sfocatura); }
.leaflet-control-attribution a { color: var(--marca) !important; }
@media (prefers-color-scheme: dark) { .leaflet-tile-pane { filter: invert(1) hue-rotate(180deg) brightness(.9) contrast(.92) saturate(.75); } .leaflet-container { background: #14202e; } .mappa { background: linear-gradient(135deg, #14202e, #0d1823); } }
@media (min-width: 960px) {
  .contatti-griglia { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: start; }
  .mappa { height: clamp(420px, 40vw, 560px); }
}
/* avviso breve «indirizzo copiato»: una pillola ≤ 86%, staccata dal bordo, chiusa con display:none (regole iPhone) */
.avviso-copia { position: fixed; z-index: 90; left: 50%; transform: translateX(-50%); bottom: calc(var(--barra-alta) + 8px + env(safe-area-inset-bottom)); width: max-content; max-width: calc(100% - 2 * var(--bordo-pillola)); margin: 0; padding: 12px 22px; border-radius: 999px; font-weight: 700; font-size: .95rem; text-align: center; color: #fff; background: rgba(8, 106, 64, .97); box-shadow: 0 14px 30px -10px rgba(0, 0, 0, .55); }
.avviso-copia.errore { background: rgba(163, 54, 29, .97); }
.avviso-copia[hidden] { display: none; }
@media (min-width: 900px) { .avviso-copia { bottom: 28px; } }

/* ===== 12. Privacy ===== */
.documento { padding: clamp(24px, 5vw, 52px); border-radius: var(--r-xl); }
.documento h2 { font-size: clamp(1.25rem, 1.1rem + .6vw, 1.55rem); margin-top: 1.6em; }
.documento h2:first-child { margin-top: 0; }
.documento p { color: var(--testo-2); max-width: 68ch; }
.dati-legali { padding: 16px 20px; border-radius: var(--r-md); background: rgba(11, 99, 206, .08); color: var(--testo) !important; line-height: 1.7; box-shadow: inset 0 0 0 1px var(--vetro-bordo-2); }

/* ===== 13. Piè di pagina ===== */
.piede { padding-block: clamp(28px, 6vw, 64px) 26px; }
.piede-pannello { padding: clamp(24px, 4vw, 46px); border-radius: var(--r-xl); }
.piede-griglia { display: grid; gap: 28px; }
.piede-marchio p { margin: 14px 0 0; color: var(--testo-2); max-width: 30ch; }
.piede-colonna h2 { margin: 0 0 .9em; font-size: .78rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; color: var(--testo-3); }
:lang(ar) .piede-colonna h2 { letter-spacing: 0; text-transform: none; font-size: .95rem; }
.piede-colonna ul { display: grid; gap: 10px; }
.piede-colonna a { display: inline-flex; align-items: flex-start; gap: 10px; color: var(--testo); font-weight: 600; text-decoration: none; }
.piede-colonna a:hover { color: var(--marca); }
.piede-colonna a .icona { width: 20px; height: 20px; margin-top: 3px; color: var(--marca); }
.piede-colonna address { display: flex; flex-direction: column; }
.piede-colonna .orari-elenco { font-size: .95rem; }
.piede-sotto { display: grid; gap: 8px; margin-top: 30px; padding-top: 22px; border-top: 1px solid var(--linea); font-size: .88rem; color: var(--testo-3); }
.piede-sotto p { margin: 0; }
.piede-crediti a { color: var(--testo); font-weight: 750; text-decoration-thickness: 1.5px; }
.piede-crediti a:hover { color: var(--marca); }
@media (min-width: 700px) { .piede-griglia { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .piede-griglia { grid-template-columns: 1.25fr .9fr 1.25fr 1.1fr; gap: 36px; } .piede-sotto { grid-template-columns: 1fr auto; } .piede-nota { grid-column: 1 / -1; grid-row: 2; } .piede-crediti { grid-column: 2; grid-row: 1; text-align: end; } }

/* ===== 14. Scelta della lingua e 404 generale ===== */
.pagina-scelta { display: grid; place-items: center; padding: max(24px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom)); }
.scelta { width: 100%; max-width: 560px; }
.scelta-pannello { display: grid; justify-items: center; gap: 14px; padding: clamp(28px, 6vw, 52px); text-align: center; border-radius: var(--r-xl); }
.scelta-pannello .marchio-logo { width: 72px; height: 72px; }
.scelta-marchio { margin: 0; font-size: 1.15rem; letter-spacing: -.01em; }
.scelta-pannello h1 { font-size: clamp(1.5rem, 1.1rem + 2vw, 2.1rem); margin: .2em 0 .2em; }
.scelta-elenco { display: grid; gap: 10px; width: 100%; }
.scelta-elenco .bottone { width: 100%; }
.scelta-lingua { width: 100%; padding-block: 16px; border-top: 1px solid var(--linea); }
.scelta-lingua:first-of-type { border-top: 0; }
.scelta-lingua h1 { font-size: 1.3rem; }
.scelta-lingua p { margin-bottom: .6em; color: var(--testo-2); }
.pagina-404 .intestazione-pagina { min-height: 46vh; }

@media print { .barra-fissa, .lingue, .nav-desk { display: none; } .vetro, .vetro-forte { box-shadow: none; background: none; } }
