﻿/* Sito pubblico (sito.html) e pagine segnaposto: stesso stile dell'app, colori e font presi da tema.css */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 76px; }
body { margin: 0; font-family: var(--font-testo); color: var(--colore-testo); background: var(--colore-sfondo); line-height: 1.55; }
img { max-width: 100%; }
h1, h2, h3, h4 { font-family: var(--font-titoli); font-weight: 600; line-height: 1.15; margin: 0 0 12px; }
a { color: var(--colore-primario-scuro); }
.s-contenuto { width: 100%; max-width: 1080px; margin: 0 auto; padding: 0 20px; }
.s-stretto { max-width: 760px; }
.s-centro { text-align: center; }
.s-piccolo { font-size: .85rem; color: var(--colore-testo-tenue); }

/* Pulsanti */
.s-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 13px 24px; border-radius: 999px; font-weight: 600; text-decoration: none; border: 1.5px solid transparent; transition: transform .15s, box-shadow .15s; }
.s-btn:hover { transform: translateY(-1px); box-shadow: var(--ombra); }
.s-btn-primario { background: var(--colore-primario); color: var(--colore-bianco); }
.s-btn-secondario { background: var(--colore-superficie); color: var(--colore-primario-scuro); border-color: var(--colore-primario); }

/* Testata */
.s-testata { position: sticky; top: 0; z-index: 10; display: flex; align-items: center; gap: 20px; padding: 12px 20px; background: var(--velo-252-238-240-p92); backdrop-filter: blur(8px); border-bottom: 1px solid var(--colore-bordo); }
.s-logo { display: flex; align-items: center; gap: 8px; text-decoration: none; color: var(--colore-testo); font-family: var(--font-titoli); font-size: 1.3rem; font-weight: 600; }
.s-logo img { height: 36px; }
.s-menu { display: flex; gap: 22px; margin-left: auto; }
.s-menu a { color: var(--colore-testo); text-decoration: none; font-weight: 500; font-size: .95rem; }
.s-menu a:hover { color: var(--colore-primario-scuro); }
.s-accedi { padding: 9px 20px; }
.s-hamburger { display: none; width: 42px; height: 42px; border: 0; border-radius: 12px; background: var(--colore-superficie); flex-direction: column; justify-content: center; align-items: center; gap: 4px; cursor: pointer; }
.s-hamburger span { display: block; width: 18px; height: 2px; border-radius: 2px; background: var(--colore-testo); }

/* Apertura */
.s-apertura { padding: 56px 0 40px; background: radial-gradient(circle at 85% 20%, var(--colore-primario-chiaro), transparent 45%); }
.s-apertura-griglia { display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px; align-items: center; }
.s-logo-grande { height: 110px; width: auto; margin-bottom: 16px; }
.s-apertura h1 { font-size: clamp(2rem, 5vw, 3.2rem); }
.s-apertura h1 em { font-style: normal; color: var(--colore-primario-scuro); }
.s-sotto { font-size: 1.1rem; max-width: 520px; }
.s-azioni { display: flex; flex-wrap: wrap; gap: 12px; margin: 22px 0 12px; }
.s-nota { font-size: .85rem; color: var(--colore-testo-tenue); }

/* Telefono disegnato (nessuna foto) */
.s-telefono { justify-self: center; width: 270px; padding: 12px; border-radius: 40px; background: var(--colore-testo); box-shadow: 0 24px 50px var(--velo-90-62-70-p25); }
.s-telefono.piccolo { width: 240px; }
.s-schermo { min-height: 470px; padding: 20px 14px; border-radius: 30px; background: var(--colore-sfondo); display: flex; flex-direction: column; gap: 12px; }
.s-telefono.piccolo .s-schermo { min-height: 380px; }
.s-tel-logo { height: 34px; align-self: center; }
.s-tel-titolo { margin: 0; font-family: var(--font-titoli); font-size: 1.2rem; font-weight: 600; }
.s-tel-giorni { display: flex; gap: 6px; }
.s-tel-giorni span { flex: 1; display: flex; flex-direction: column; align-items: center; padding: 6px 0; border-radius: 12px; background: var(--colore-superficie); font-size: .7rem; color: var(--colore-testo-tenue); }
.s-tel-giorni b { font-size: 1rem; color: var(--colore-testo); }
.s-tel-giorni .on, .s-tel-orari .on { background: var(--colore-primario); color: var(--colore-bianco); }
.s-tel-giorni .on b { color: var(--colore-bianco); }
.s-tel-orari { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.s-tel-orari span { padding: 7px 0; text-align: center; border-radius: 999px; background: var(--colore-superficie); font-size: .78rem; font-weight: 500; }
.s-tel-card { display: flex; flex-direction: column; padding: 10px 12px; border-radius: 14px; background: var(--colore-superficie); font-size: .85rem; }
.s-tel-card small { color: var(--colore-testo-tenue); }
.s-tel-ok { margin-top: 4px; width: fit-content; padding: 2px 8px; border-radius: 999px; background: var(--colore-conf-chiaro); color: var(--colore-successo); font-size: .72rem; font-weight: 600; }
.s-tel-btn { margin-top: auto; padding: 11px; border-radius: 999px; background: var(--colore-primario); color: var(--colore-bianco); text-align: center; font-weight: 600; font-size: .85rem; }

/* Sezioni */
.s-sezione { padding: 64px 0; }
.s-rosa { background: var(--colore-superficie-2); }
.s-occhiello { margin: 0 0 6px; color: var(--colore-primario-scuro); font-weight: 600; text-transform: uppercase; letter-spacing: .08em; font-size: .8rem; }
.s-sezione h2 { font-size: clamp(1.7rem, 4vw, 2.4rem); max-width: 680px; }
.s-griglia { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; margin: 26px 0; }
.s-punto { padding: 22px; border-radius: var(--raggio); background: var(--colore-superficie); box-shadow: var(--ombra); }
.s-punto.evidenziato { background: var(--colore-primario); color: var(--colore-bianco); }
.s-punto h3 { font-size: 1.2rem; margin: 10px 0 6px; }
.s-punto p { margin: 0; font-size: .95rem; }
.s-icona { display: inline-flex; width: 48px; height: 48px; border-radius: 50%; align-items: center; justify-content: center; background: var(--np-accent); font-size: 1.4rem; }
.s-punto.evidenziato .s-icona { background: var(--velo-255-255-255-p25); }
.s-titoletto { font-size: 1.5rem; margin-top: 30px; text-align: center; }

/* Prezzi */
.s-piani { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin: 18px 0 24px; }
.s-piano { position: relative; padding: 26px 20px 20px; border-radius: 20px; background: var(--colore-superficie); text-align: center; border: 1px solid var(--colore-bordo); }
.s-piano.consigliato { border: 2px solid var(--colore-primario); }
.s-piano h4 { font-size: 1.5rem; margin-bottom: 6px; }
.s-prezzo { margin: 0 0 8px; }
.s-prezzo s { color: var(--colore-testo-tenue); margin-right: 4px; }
.s-prezzo b { font-size: 1.6rem; }
.s-pillola { display: inline-block; padding: 2px 12px; border-radius: 999px; background: var(--np-accent); color: var(--colore-primario-scuro); font-weight: 600; font-size: .8rem; }
.s-badge { position: absolute; top: -13px; left: 50%; transform: translateX(-50%); white-space: nowrap; padding: 4px 14px; border-radius: 999px; background: var(--colore-primario); color: var(--colore-bianco); font-size: .78rem; font-weight: 600; }

/* Come funziona */
.s-passi { list-style: none; padding: 0; margin: 26px 0 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.s-passi li { position: relative; padding: 26px 22px; border-radius: var(--raggio); background: var(--colore-superficie); box-shadow: var(--ombra); text-align: center; }
.s-numero { position: absolute; top: 14px; left: 16px; width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--colore-primario); color: var(--colore-bianco); font-weight: 600; font-size: .85rem; }
.s-passi h3 { margin: 10px 0 6px; font-size: 1.3rem; }
.s-passi p { margin: 0; }

/* App */
.s-app-griglia { display: grid; grid-template-columns: 1.3fr 1fr; gap: 40px; align-items: center; }
.s-store { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.s-store-btn { display: inline-flex; align-items: center; gap: 10px; padding: 10px 18px; border-radius: 14px; border: 0; background: var(--colore-testo); color: var(--colore-bianco); font: inherit; font-weight: 600; text-align: left; cursor: pointer; }
.s-store-btn small { display: block; font-weight: 400; font-size: .7rem; opacity: .85; }
.s-store-icona { font-size: 1.4rem; }

/* Domande frequenti */
details { margin: 10px 0; border-radius: 14px; background: var(--colore-superficie); border: 1px solid var(--colore-bordo); }
summary { padding: 16px 48px 16px 18px; font-weight: 600; cursor: pointer; list-style: none; position: relative; }
summary::-webkit-details-marker { display: none; }
summary::after { content: "+"; position: absolute; right: 18px; top: 50%; transform: translateY(-50%); font-size: 1.4rem; color: var(--colore-primario-scuro); }
details[open] summary::after { content: "–"; }
details p { margin: 0; padding: 0 18px 16px; }

/* Piè di pagina */
.s-piede { padding: 40px 0 20px; background: var(--colore-superficie); border-top: 1px solid var(--colore-bordo); }
.s-piede-griglia { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 16px; }
.s-piede-logo { height: 70px; }
.s-piede nav { display: flex; gap: 18px; }
.s-social { display: flex; gap: 8px; }
.s-social button { padding: 8px 14px; border-radius: 999px; border: 1px solid var(--colore-bordo); background: var(--colore-sfondo); font: inherit; font-size: .85rem; color: var(--colore-testo); cursor: pointer; }
.s-messaggio { position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); z-index: 20; max-width: calc(100% - 32px); padding: 12px 20px; border-radius: 999px; background: var(--colore-testo); color: var(--colore-bianco); font-size: .9rem; text-align: center; }
.s-messaggio[hidden] { display: none; }

/* Pagina segnaposto */
.s-segnaposto { min-height: 60vh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 60px 20px; }

/* Telefono */
@media (max-width: 820px) {
  .s-hamburger { display: flex; }
  .s-menu { display: none; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; gap: 0; padding: 8px 20px 16px; background: var(--colore-sfondo); border-bottom: 1px solid var(--colore-bordo); box-shadow: var(--ombra); }
  .menu-aperto .s-menu { display: flex; }
  .s-menu a { padding: 12px 0; border-bottom: 1px solid var(--colore-bordo); }
  .s-accedi { margin-left: auto; }
  .s-logo span { display: none; }
  .s-apertura { padding-top: 32px; }
  .s-apertura-griglia, .s-app-griglia { grid-template-columns: 1fr; }
  .s-logo-grande { height: 80px; }
  .s-sezione { padding: 44px 0; }
  .s-piede-griglia { flex-direction: column; text-align: center; }
}

/* ===== 13.5: sito diviso in due (ingresso, clienti, onicotecniche, brand) ===== */
/* Colore di accento di ogni sezione */
.sito-clienti { --accento: var(--colore-primario); --accento-chiaro: var(--colore-primario-chiaro); }
.sito-oni { --accento: var(--tinta-9b3f6b); --accento-chiaro: var(--tinta-f3dde8); }
.sito-oni .s-btn-primario, .sito-oni .s-numero, .sito-oni .s-badge, .sito-oni .s-punto.evidenziato { background: var(--accento); }
.sito-oni .s-occhiello, .sito-oni .s-apertura h1 em { color: var(--accento); }
.sito-oni .s-piano.consigliato { border-color: var(--accento); }
.sito-oni .s-icona, .sito-oni .s-pillola { background: var(--accento-chiaro); color: var(--accento); }
.sito-oni .s-rosa { background: var(--tinta-f8eef3); }
.s-icona { color: var(--colore-primario-scuro); }
.s-icona svg, [data-i] svg { width: 60%; height: 60%; }
.s-ico-btn { display: inline-flex; width: 18px; height: 18px; }
.s-ico-btn svg { width: 100%; height: 100%; }
.s-cambia-sezione { margin: 0; padding: 6px 20px; text-align: right; font-size: .82rem; background: var(--colore-superficie); }
.s-cambia-sezione a { color: var(--colore-testo-tenue); text-decoration: none; }
.s-cambia-sezione a:hover { color: var(--colore-primario-scuro); text-decoration: underline; }

/* Pagina d'ingresso: due porte */
.sito-ingresso { min-height: 100vh; display: flex; flex-direction: column; background: radial-gradient(circle at 80% 15%, var(--colore-primario-chiaro), transparent 40%), radial-gradient(circle at 10% 90%, var(--tinta-fbe3ec), transparent 45%), var(--colore-sfondo); }
.s-ingresso-testata { display: flex; justify-content: flex-end; padding: 18px 20px 0; }
.s-ingresso { flex: 1; width: 100%; max-width: 940px; margin: 0 auto; padding: 10px 20px 30px; text-align: center; }
.s-ingresso-logo { height: 120px; width: auto; }
.s-ingresso h1 { font-size: clamp(2.2rem, 7vw, 3.6rem); margin: 18px 0 8px; }
.s-ingresso h1 em { color: var(--colore-primario); font-style: italic; }
.s-ingresso-sotto { font-size: 1.1rem; color: var(--colore-testo-tenue); margin: 0 0 32px; }
.s-porte { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.s-porta { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 30px 24px; border-radius: 26px; background: var(--velo-255-255-255-p75); box-shadow: var(--ombra); color: inherit; text-decoration: none; transition: transform .15s, box-shadow .15s; }
.s-porta:hover { transform: translateY(-3px); box-shadow: 0 14px 34px var(--velo-90-62-70-p16); }
.s-porta h2 { font-size: 1.7rem; margin: 6px 0 0; }
.s-porta p { margin: 0 0 8px; color: var(--colore-testo-tenue); }
.s-porta .s-btn { width: 100%; max-width: 280px; }
.s-porta-icona { display: inline-flex; align-items: center; justify-content: center; width: 96px; height: 96px; border-radius: 50%; background: var(--colore-primario-chiaro); color: var(--colore-primario-scuro); }
.s-porta-icona svg { width: 52%; height: 52%; }
.s-ingresso-piede { text-align: center; padding: 10px 20px 24px; }
.s-link-brand { display: inline-block; margin-bottom: 10px; color: var(--colore-primario-scuro); font-weight: 500; }

/* Apertura clienti: "Per te è gratis", ricerca, garanzie, mappa disegnata */
.s-gratis { display: inline-flex; align-items: center; gap: 8px; margin: 4px 0 16px; font-family: var(--font-titoli); font-style: italic; font-size: 1.6rem; color: var(--colore-primario); }
.s-gratis [data-i], .s-garanzie [data-i], .s-mappa-citta [data-i] { display: inline-flex; width: 26px; height: 26px; }
.s-gratis svg, .s-garanzie svg, .s-mappa-citta svg { width: 100%; height: 100%; }
.s-cerca { display: flex; gap: 8px; padding: 6px; border-radius: 999px; background: var(--colore-superficie); box-shadow: var(--ombra); max-width: 520px; }
.s-cerca label { flex: 1; display: flex; align-items: center; gap: 8px; padding-left: 12px; min-width: 0; }
.s-cerca-icona { display: inline-flex; width: 22px; height: 22px; color: var(--colore-primario-scuro); flex: none; }
.s-cerca-icona svg { width: 100%; height: 100%; }
.s-cerca input { flex: 1; min-width: 0; border: 0; background: transparent; font: inherit; font-size: 1rem; outline: none; }
.s-garanzie { display: flex; flex-wrap: wrap; gap: 14px 22px; margin-top: 20px; font-size: .9rem; color: var(--colore-testo-tenue); }
.s-garanzie > span { display: inline-flex; align-items: center; gap: 8px; }
.s-garanzie [data-i] { color: var(--colore-primario-scuro); width: 22px; height: 22px; }
.s-illustrazione-mappa { position: relative; justify-self: center; width: 100%; max-width: 380px; height: 360px; }
.s-mappa-fondo { position: absolute; inset: 20px 0 0 60px; border-radius: 28px; background: linear-gradient(135deg, var(--tinta-fff7f9) 0 30%, var(--tinta-fde9ef) 30% 33%, var(--tinta-fff7f9) 33% 62%, var(--tinta-fde9ef) 62% 65%, var(--tinta-fff7f9) 65%); border: 1px solid var(--colore-bordo); }
.s-mappa-fondo span { position: absolute; width: 38px; height: 38px; color: var(--colore-primario); }
.s-mappa-fondo svg { width: 100%; height: 100%; fill: var(--colore-primario-chiaro); }
.s-mappa-fondo .p1 { top: 30px; right: 30px; } .s-mappa-fondo .p2 { top: 150px; right: 90px; } .s-mappa-fondo .p3 { bottom: 40px; right: 40px; }
.s-mappa-card { position: absolute; left: 0; top: 60px; width: 230px; padding: 14px; border-radius: 20px; background: var(--colore-superficie); box-shadow: 0 14px 34px var(--velo-90-62-70-p16); }
.s-mappa-citta { display: flex; align-items: center; gap: 6px; margin: 0 0 8px; font-weight: 600; font-size: .9rem; }
.s-mappa-citta [data-i] { width: 20px; height: 20px; color: var(--colore-primario-scuro); }
.s-mappa-riga { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-top: 1px solid var(--colore-bordo); font-size: .85rem; }
.s-mappa-riga b { flex: none; width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--colore-primario-chiaro); color: var(--colore-primario-scuro); font-family: var(--font-titoli); font-size: .85rem; }
.s-mappa-riga small { display: block; color: var(--colore-testo-tenue); font-size: .75rem; }
.s-ispirati { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; max-width: 360px; justify-self: center; width: 100%; }
.s-ispirati span { aspect-ratio: 1; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-family: var(--font-titoli); color: var(--velo-80-34-52-p8); }
.s-ispirati .c1 { background: linear-gradient(140deg, var(--tinta-fbf7f5), var(--tinta-e6dcd8)); } .s-ispirati .c2 { background: linear-gradient(140deg, var(--tinta-f3e2d3), var(--tinta-d9b79a)); } .s-ispirati .c3 { background: linear-gradient(140deg, var(--tinta-eadcf0), var(--tinta-c6a8d6)); }
.s-ispirati .c4 { background: linear-gradient(140deg, var(--tinta-f6e9c9), var(--tinta-d9b66a)); } .s-ispirati .c5 { background: linear-gradient(140deg, var(--tinta-f8d7e3), var(--tinta-e9a9c2)); } .s-ispirati .c6 { background: linear-gradient(140deg, var(--tinta-c9707f), var(--tinta-7e2f45)); color: var(--colore-bianco); }
.s-store-icona { display: inline-flex; width: 26px; height: 26px; }
.s-store-icona svg { width: 100%; height: 100%; }

/* Apertura onicotecniche: calendario disegnato */
.s-illustrazione-cal { position: relative; justify-self: center; width: 100%; max-width: 380px; height: 330px; }
.s-cal-carta { position: absolute; inset: 0 30px 40px 0; padding: 18px; border-radius: 26px; background: var(--colore-superficie); box-shadow: 0 14px 34px var(--velo-90-62-70-p16); display: flex; flex-direction: column; gap: 12px; }
.s-cal-giorni { display: grid; grid-template-columns: repeat(6, 1fr); gap: 4px; font-size: .72rem; text-align: center; color: var(--colore-testo-tenue); }
.s-cal-giorni .on { background: var(--accento, var(--colore-primario)); color: var(--colore-bianco); border-radius: 8px; }
.s-cal-blocchi { flex: 1; display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(3, 1fr); gap: 8px; }
.s-cal-blocchi i { border-radius: 10px; background: var(--tinta-e6f0e4); }
.s-cal-blocchi .b2, .s-cal-blocchi .b5 { background: var(--tinta-fff1d6); } .s-cal-blocchi .b3 { background: var(--colore-primario-chiaro); } .s-cal-blocchi .b6 { background: transparent; border: 1.5px dashed var(--colore-bordo); }
.s-cal-notifica { position: absolute; right: 0; bottom: 0; display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-radius: 18px; background: var(--colore-bianco); box-shadow: 0 10px 26px var(--velo-90-62-70-p18); font-size: .85rem; }
.s-cal-notifica > [data-i] { display: inline-flex; width: 28px; height: 28px; color: var(--accento, var(--colore-primario)); }
.s-cal-notifica small { display: block; color: var(--colore-testo-tenue); }
.s-piani.quattro { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
.s-incluso { list-style: none; margin: 12px 0 14px; padding: 0; text-align: left; font-size: .88rem; }
.s-incluso li { padding: 3px 0 3px 22px; position: relative; }
.s-incluso li::before { content: ""; position: absolute; left: 4px; top: 9px; width: 8px; height: 4px; border-left: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); color: var(--colore-successo, var(--tinta-5e8b6b)); }
.s-finale { background: linear-gradient(135deg, var(--accento-chiaro, var(--colore-primario-chiaro)), var(--colore-sfondo)); }

@media (max-width: 820px) {
  .s-porte { grid-template-columns: 1fr; }
  .s-ingresso-logo { height: 90px; }
  .s-illustrazione-mappa, .s-illustrazione-cal { height: 300px; }
}

/* 14.2: area di tocco di almeno 44 x 44 px (invisibile, l'aspetto non cambia) */
:where(.s-testata, .s-piede, .s-ingresso-testata, .s-ingresso-piede, main) :where(a[href]:not(p a):not(details a), button, label) { position: relative; }
:where(.s-testata, .s-piede, .s-ingresso-testata, .s-ingresso-piede, main) :where(a[href]:not(p a):not(details a), button)::after { content: ""; position: absolute; left: 50%; top: 50%; width: max(100%, 44px); height: max(100%, 44px); transform: translate(-50%, -50%); }
.s-cerca input { min-height: 44px; }

/* 16.4: stessa testata e stesso piede in tutte le pagine */
.s-menu a[aria-current="page"] { color: var(--colore-primario-scuro); font-weight: 600; text-decoration: underline; text-underline-offset: 6px; }
.s-social a { display: inline-flex; align-items: center; min-height: 40px; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--colore-bordo); background: var(--colore-sfondo); font-size: .85rem; color: var(--colore-testo); text-decoration: none; }
.s-social { flex-wrap: wrap; justify-content: center; }
.s-piede nav { flex-wrap: wrap; justify-content: center; }
.s-piede nav a, .s-piede p a { color: var(--colore-testo); }
.s-ingresso-brand { margin-top: 26px; font-size: .95rem; }
.s-ingresso-brand a { color: var(--colore-primario-scuro); }
.s-bozza { display: inline-block; margin: 0 0 14px; padding: 6px 12px; border-radius: 10px; background: #FFF4D6; color: #8A6516; font-size: .85rem; font-weight: 600; }
.sito-ingresso { display: flex; flex-direction: column; min-height: 100vh; }
@media (max-width: 820px) {
  .s-testata { gap: 10px; padding: 10px 16px; }
  .s-accedi { margin-left: auto; }
}

/* ===== 18.2: sito vero ===== */
/* Lista d'attesa "Avvisami quando esce" */
.s-attesa { scroll-margin-top: 70px; }
.s-modulo { display: grid; gap: 14px; margin-top: 18px; padding: 22px; border-radius: 22px; background: var(--colore-superficie); border: 1px solid var(--colore-bordo); box-shadow: var(--ombra); text-align: left; }
.s-campo { display: grid; gap: 6px; border: 0; padding: 0; margin: 0; }
.s-campo > span, .s-campo legend { font-weight: 500; font-size: .95rem; }
.s-campo input { width: 100%; min-height: 48px; padding: 12px 14px; border-radius: 14px; border: 1px solid var(--colore-bordo); background: var(--colore-sfondo); font: inherit; font-size: 16px; color: var(--colore-testo); box-sizing: border-box; }
.s-campo input:focus { outline: 2px solid var(--colore-primario); outline-offset: 1px; }
.s-scelte { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.s-scelta { position: relative; }
.s-scelta input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.s-scelta span { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 16px; border-radius: 999px; border: 1px solid var(--colore-bordo); background: var(--colore-sfondo); cursor: pointer; }
.s-scelta input:checked + span { background: var(--colore-primario-chiaro); border-color: var(--colore-primario); color: var(--colore-primario-scuro); font-weight: 600; }
.s-scelta input:focus-visible + span { outline: 2px solid var(--colore-primario); }
.s-check { display: flex; gap: 10px; align-items: flex-start; font-size: .92rem; line-height: 1.4; cursor: pointer; }
.s-check input { flex: none; width: 22px; height: 22px; margin: 1px 0 0; accent-color: var(--colore-primario-scuro); }
.s-errore { margin: 0; padding: 10px 12px; border-radius: 12px; background: #FDECEC; color: #9B1C1C; font-size: .92rem; }
.s-blocco { width: 100%; justify-content: center; min-height: 50px; }
.s-nascosto { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.s-prime10 { display: flex; gap: 8px; align-items: center; justify-content: center; margin: 10px 0 0; padding: 10px 14px; border-radius: 14px; background: var(--colore-primario-chiaro); color: var(--colore-primario-scuro); font-weight: 600; }
.s-prime10 svg { width: 20px; height: 20px; flex: none; }
/* Funzioni che arriveranno dopo il lancio */
.s-in-arrivo { display: inline-block; vertical-align: middle; margin-left: 6px; padding: 2px 9px; border-radius: 999px; background: var(--colore-superficie); border: 1px solid var(--colore-bordo); color: var(--colore-testo-tenue); font: 600 .7rem/1.6 var(--font-testo, inherit); letter-spacing: .02em; text-transform: none; }
/* Pagine legali e contatti */
.s-legale { padding: 40px 0 60px; }
.s-legale h1 { margin-top: 0; }
.s-legale h2 { font-size: 1.25rem; margin-top: 26px; }
.s-segnaposto .s-porta-icona { margin-bottom: 10px; }
.s-ingresso + .s-attesa { background: transparent; }
.s-modulo button.s-btn { font: inherit; font-weight: 600; cursor: pointer; }
/* 18.2: interruttore del lancio – ciò che è nascosto resta nascosto anche se è un pulsante */
[hidden] { display: none !important; }
span.s-presto { cursor: default; }
span.s-presto:hover { transform: none; box-shadow: none; }
.s-testata .s-presto, .s-testata .s-accedi { white-space: nowrap; }
@media (max-width: 820px) { .s-testata .s-accedi { padding: 9px 14px; font-size: .82rem; } }
.s-azioni-app { justify-content: center; flex-wrap: wrap; }
