/* =========================================================
   Ethicalmeeting — stile chiaro delle pagine pubbliche
   (home, registrazione, conferma email).
   Se modifichi questo file incrementa EM_VERSIONE in session_config.php.
   ========================================================= */

:root{
  --fondo:#f7f5f2; --bianco:#ffffff; --testo:#1f1a1e; --testo-2:#5c545a; --testo-3:#6e666c;
  --accento:#8c2f4b; --accento-scuro:#74253d; --bordo:#e2ddd8; --foto:#ebe5df;
  --errore:#a12a2a; --errore-fondo:#fbeceb; --ok:#2f6b3a; --ok-fondo:#eaf3ea;
  --serif:'Instrument Serif',Georgia,serif; --sans:'Figtree',system-ui,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--fondo);color:var(--testo);font-family:var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--testo)} a:hover{color:var(--accento)}
img{max-width:100%;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.serif{font-family:var(--serif);font-weight:400}
.acc{font-style:italic;color:var(--accento)}

/* Pulsanti */
.btn{display:inline-block;text-decoration:none;padding:17px 28px;border-radius:999px;font-weight:500;font-size:16px;line-height:1.2;
  border:0;font-family:inherit;cursor:pointer}
.btn-acc{background:var(--accento);color:#fff} .btn-acc:hover{color:#fff;background:var(--accento-scuro)}
.btn-scuro{background:var(--testo);color:var(--fondo)} .btn-scuro:hover{color:var(--fondo);background:#000}
.btn-chiaro{background:var(--fondo);color:var(--testo)} .btn-chiaro:hover{color:var(--testo);background:#fff}
.btn:focus-visible{outline:2px solid var(--accento);outline-offset:3px}

/* Header */
.header .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-top:24px;padding-bottom:24px}
.logo{text-decoration:none;font-family:var(--serif);font-size:28px;letter-spacing:-0.01em}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:24px;font-size:15px}
.nav a{text-decoration:none}
.nav .btn{padding:12px 22px;font-size:15px}
.lingue{display:flex;gap:6px;color:var(--testo-3)}
.lingue a{color:var(--testo-3)} .lingue a[aria-current]{color:var(--testo);font-weight:600}

/* Footer */
.footer .wrap{padding-top:36px;padding-bottom:36px;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;font-size:14px;color:var(--testo-2)}
.footer nav{display:flex;flex-wrap:wrap;gap:24px}
.footer a{color:var(--testo-2)}

/* Pagine con un modulo (registrazione, conferma email...) */
.pagina-modulo{max-width:600px;margin:0 auto;padding:48px 24px 96px}
.pagina-modulo h1{margin:0;font-size:clamp(40px,5vw,60px);line-height:1.02;letter-spacing:-0.02em}
.pagina-modulo .lead{margin:20px 0 40px;font-size:18px;line-height:1.6;color:var(--testo-2)}
.modulo{background:var(--bianco);border-radius:20px;padding:36px;
  box-shadow:0 1px 2px rgba(31,26,30,.06),0 12px 40px rgba(31,26,30,.06)}
.modulo fieldset{border:0;margin:0 0 28px;padding:0;min-width:0}
.modulo legend,.campo>label{display:block;padding:0;margin-bottom:8px;font-size:15px;font-weight:600}
.campo{margin-bottom:22px}
.campo input[type=text],.campo input[type=email],.campo input[type=password],.campo input[type=date]{
  width:100%;font-family:inherit;font-size:16px;color:var(--testo);background:var(--bianco);
  border:1.5px solid var(--bordo);border-radius:12px;padding:14px 16px}
.campo input:focus{outline:2px solid var(--accento);outline-offset:1px;border-color:var(--accento)}
.campo[aria-invalid=true] input,.campo.con-errore input{border-color:var(--errore)}
.aiuto{margin:6px 0 0;font-size:14px;color:var(--testo-3)}
.errore-campo{margin:6px 0 0;font-size:14px;color:var(--errore)}
.due-colonne{display:flex;flex-wrap:wrap;gap:0 16px}
.due-colonne>.campo{flex:1 1 220px;min-width:0}

/* Scelte a pillola (radio) */
.scelte{display:flex;flex-wrap:wrap;gap:10px}
.scelta{position:relative}
.scelta input{position:absolute;opacity:0;pointer-events:none}
.scelta span{display:block;padding:12px 20px;border:1.5px solid var(--bordo);border-radius:999px;font-size:15px;cursor:pointer;background:var(--bianco)}
.scelta span:hover{border-color:var(--accento)}
.scelta input:checked+span{border-color:var(--accento);background:var(--accento);color:#fff}
.scelta input:focus-visible+span{outline:2px solid var(--accento);outline-offset:2px}

/* Casella di consenso */
.consenso{display:flex;align-items:flex-start;gap:12px;font-size:15px;line-height:1.5;color:var(--testo-2);cursor:pointer}
.consenso input{accent-color:var(--accento);width:18px;height:18px;margin:2px 0 0;flex:none}

/* Messaggi */
.avviso{padding:16px 20px;border-radius:12px;font-size:15px;line-height:1.5;margin-bottom:28px}
.avviso.errore{background:var(--errore-fondo);color:var(--errore)}
.avviso.successo{background:var(--ok-fondo);color:var(--ok)}
.avviso.info{background:var(--bianco);color:var(--testo-2);border:1.5px solid var(--bordo)}

.modulo .btn{width:100%;margin-top:8px}
.sotto-modulo{margin:24px 0 0;text-align:center;font-size:15px;color:var(--testo-2)}

@media (max-width:640px){
  .modulo{padding:24px}
  .pagina-modulo{padding-top:24px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
