/* Registrazione single-page — King Liquid */

.reg{
  max-width:580px;margin:1rem auto 2rem;background:#fff;
  border:1px solid #e6eaf1;border-radius:20px;
  box-shadow:0 18px 50px rgba(10,18,34,.07);
  padding:1.5rem 1.6rem 1.4rem;
}
.reg-head{margin-bottom:1rem;}
.reg-h1{font-size:1.7rem;font-weight:800;color:#1a1a2e;margin:0 0 .3rem;letter-spacing:-.01em;}
.reg-p{color:#7c7367;font-size:.94rem;margin:0;max-width:46ch;}

/* ── Sezioni ── */
.reg-sec{border:0;margin:0 0 1rem;padding:0 0 .85rem;min-inline-size:auto;
  border-bottom:1px solid #f5f2ef;}
.reg-sec:last-of-type{border-bottom:0;padding-bottom:.2rem;margin-bottom:.6rem;}
.reg-legend{display:flex;align-items:center;gap:.5rem;float:none;width:auto;
  font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:#0e1c38;margin:0 0 .55rem;padding:0;}
.reg-legend .material-icons{font-size:1.05rem;}

/* ── Campi PS (label sopra, full-width, focus arancio) ── */
.reg .form-group{display:block !important;margin-bottom:.65rem;}
.reg .form-group:last-child{margin-bottom:0;}
.reg .form-group > label,.reg .form-control-label{display:block !important;width:auto !important;
  text-align:left !important;float:none !important;padding:0 0 .35rem !important;
  font-weight:700;font-size:.82rem;color:#3a3a44;letter-spacing:.01em;}
.reg .form-control-label.required::after,.reg label.required::after{content:" *";color:#0e1c38;}
.reg .form-group > div,.reg .form-group [class*="col-"]{
  width:100% !important;max-width:100% !important;flex:0 0 100% !important;padding:0 !important;}
.reg .form-control,.reg input[type=text],.reg input[type=email],.reg input[type=tel],
.reg input[type=password],.reg select{
  width:100% !important;height:auto;padding:.6rem .8rem;font-size:1rem;
  border:1.5px solid #e0dbd6;border-radius:11px;background:#fff;color:#1a1a2e;
  transition:border-color .15s,box-shadow .15s;}
.reg .form-control:focus,.reg input:focus,.reg select:focus{
  outline:0;border-color:#0e1c38;box-shadow:0 0 0 3px rgba(14,28,56,.16);}
.reg .form-control-comment,.reg .help-block{font-size:.78rem;color:#9a9088;margin-top:.3rem;}

/* nome + cognome affiancati su desktop */
.reg-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem;}
@media (max-width:520px){.reg-grid{grid-template-columns:1fr;}}

/* input con icona (telefono) */
.reg-input-ico{position:relative;}
.reg-input-ico .material-icons{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);
  font-size:1.15rem;color:#888;pointer-events:none;}
.reg-input-ico input{padding-left:2.4rem !important;}
.reg-hint{display:block;font-size:.78rem;color:#9a9088;margin-top:.35rem;}

/* checkbox/consensi più leggibili */
.reg .custom-checkbox,.reg [class*="psgdpr"] label,.reg .checkbox label{font-size:.88rem;color:#5b5b6b;line-height:1.45;}

/* ── CTA ── */
.reg-foot{margin-top:1rem;}
.reg-submit{width:100%;display:inline-flex;align-items:center;justify-content:center;
  border:0;border-radius:12px;font-weight:800;font-size:1.02rem;padding:.85rem 1.4rem;cursor:pointer;
  background:linear-gradient(135deg,#0e1c38,#1b3560);color:#fff;
  box-shadow:0 10px 26px rgba(14,28,56,.28);transition:filter .15s,transform .15s;}
.reg-submit:hover{filter:brightness(1.05);}
.reg-submit:active{transform:translateY(1px);}
.reg-submit.is-loading{opacity:.7;pointer-events:none;}

/* ── Consensi (checkbox) ── */
.reg-consents{display:flex;flex-direction:column;gap:.75rem;margin-top:.2rem;}
.reg-check{display:flex;align-items:flex-start;gap:.6rem;font-size:.88rem;color:#5b5b6b;line-height:1.5;cursor:pointer;}
.reg-check input[type=checkbox]{margin:.15rem 0 0;width:18px;height:18px;accent-color:#0e1c38;flex-shrink:0;cursor:pointer;}
.reg-check a{color:#0e1c38;text-decoration:underline;}
.reg-check strong{color:#1a1a2e;}

/* ── v6 — Clickwrap minimal (no checkbox, solo disclaimer sotto bottone) ──── */

.reg-clickwrap {
  margin: 1rem 0 0;
  font-size: .8rem;
  color: #7c7367;
  line-height: 1.55;
  text-align: center;
}

.reg-clickwrap a {
  color: #0e1c38;
  font-weight: 700;
  text-decoration: underline;
}

.reg-clickwrap a:hover {
  text-decoration: none;
}

/* ── v6 — Clickwrap minimal (disclaimer sotto bottone) ──────────────── */

.reg-clickwrap {
  margin: 1rem 0 0;
  font-size: .8rem;
  color: #7c7367;
  line-height: 1.55;
  text-align: center;
}

.reg-clickwrap a {
  color: #0e1c38;
  font-weight: 700;
  text-decoration: underline;
}

.reg-clickwrap a:hover {
  text-decoration: none;
}

/* ── v7 — Newsletter opt-in (1 checkbox, NON pre-spuntato) ─────────── */

.reg-newsletter {
  margin: 0 0 .2rem;
  padding: .85rem 1rem;
  background: #f7f9fc;
  border: 1px solid #e6eaf1;
  border-radius: 10px;
}

.reg-newsletter label {
  display: flex !important;
  align-items: flex-start;
  gap: .7rem;
  margin: 0 !important;
  cursor: pointer;
  width: 100% !important;
  text-align: left !important;
  float: none !important;
  padding: 0 !important;
  font-weight: 400 !important;
}

.reg-newsletter input[type=checkbox] {
  margin: .15rem 0 0 !important;
  width: 18px !important;
  height: 18px !important;
  min-height: 0 !important;
  accent-color: #0e1c38;
  flex-shrink: 0;
  cursor: pointer;
  padding: 0 !important;
  border: 1px solid #999 !important;
  border-radius: 3px !important;
  background: #fff !important;
}

.reg-newsletter span {
  font-size: .85rem;
  color: #3a3530;
  line-height: 1.5;
  display: block;
}

.reg-newsletter em {
  display: inline-block;
  font-style: normal;
  font-size: .68rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #777;
  background: #f0f0f0;
  padding: .15rem .5rem;
  border-radius: 999px;
  margin-left: .4rem;
  vertical-align: middle;
}

/* ── v8 — Privacy+Termini obbligatorio sotto newsletter ── */
.reg-consent-privacy{margin-top:.55rem;}
.reg-consent-privacy span{color:#3a3530;}

/* -- v9 -- piu compatto: via le legend di sezione + margini ridotti -- */
/* legend visibili su King */
.reg{padding:1.2rem 1.3rem 1.1rem !important;}
.reg-head{margin-bottom:.7rem !important;}
.reg-sec{margin:0 0 .55rem !important;padding:0 0 .45rem !important;}
.reg-sec:last-of-type{padding-bottom:0 !important;margin-bottom:.4rem !important;}
.reg .form-group{margin-bottom:.5rem !important;}
.reg-foot{margin-top:.7rem !important;}

/* King - due BLOCCHI separati affiancati (card) + form allargato */
.reg.reg-wide{max-width:1040px !important;background:transparent !important;border:0 !important;box-shadow:none !important;padding:0 !important;margin:1rem auto 2.5rem !important;}
.reg-wide .reg-head{text-align:center;margin-bottom:1.3rem;}
.reg-wide .reg-p{margin-left:auto;margin-right:auto;}
.reg-cols{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:stretch;}
@media(max-width:820px){.reg-cols{grid-template-columns:1fr;gap:1.1rem;}}
.reg-col{background:#fff;border:1px solid #e6eaf1;border-radius:16px;box-shadow:0 10px 30px rgba(10,18,34,.06);padding:1.4rem 1.5rem;display:flex;flex-direction:column;}
.reg-col .reg-sec{border-bottom:0 !important;padding-bottom:0 !important;margin-bottom:0 !important;}
.reg-col .reg-sec .reg-legend{margin-bottom:.75rem;}
.reg-adm-sec{margin-top:1.1rem !important;padding-top:1rem !important;border-top:1px solid #f5f2ef !important;}
.reg-df-toggle{display:flex;align-items:flex-start;gap:.55rem;font-size:.88rem;color:#3a3a44;margin:.2rem 0 0;cursor:pointer;}
.reg-df-toggle input[type=checkbox]{width:18px;height:18px;accent-color:#0e1c38;margin:.1rem 0 0;flex-shrink:0;}
.reg-adm-fields{margin-top:.7rem;padding-top:.7rem;border-top:1px dashed #e0dbd6;}
.reg-adm-error{margin-top:.5rem;padding:.55rem .7rem;border-radius:8px;background:#ffe9eb;border:1px solid #ffc2c8;color:#b3121f;font-size:.82rem;font-weight:600;}
/* consenso + CTA centrati sotto i due blocchi */
.reg-consent-privacy{max-width:660px;margin:1.4rem auto 0 !important;}
.reg-foot{max-width:660px;margin:1rem auto 0 !important;}

/* consenso termini e condizioni (sotto password) */
.reg-terms{display:flex;align-items:flex-start;gap:.55rem;font-size:.85rem;color:#3a3530;line-height:1.5;cursor:pointer;margin:.8rem 0 0;}
.reg-terms input[type=checkbox]{width:18px;height:18px;accent-color:#0e1c38;margin:.1rem 0 0;flex-shrink:0;cursor:pointer;}
.reg-terms a{color:#0e1c38;font-weight:700;text-decoration:underline;}
.reg-terms a:hover{text-decoration:none;}

.reg-submit:disabled{opacity:.5;cursor:not-allowed;filter:none;box-shadow:none;}


/* ---- v7: pagina "Dati personali" (identity) read-only ---- */
.reg-identity .ro-field input.is-readonly,
.reg-identity .ro-field select.is-readonly{
  background:#fff4f0 !important; color:#5b6472 !important; cursor:default;
  border-color:#e6eaf1 !important; box-shadow:none !important;
}
.df-ro{padding:.2rem 0;}
.df-ro__title{display:none;} /* la legend della colonna fa gia' da titolo */
.df-ro__note{font-size:.82rem;color:#888;margin:0 0 .9rem;line-height:1.5;}
.df-ro__note a{color:#0e1c38;}
.df-ro__list{margin:0;}
.df-ro__row{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px dashed #f5f2ef;}
.df-ro__row:last-child{border-bottom:0;}
.df-ro__row dt{margin:0;font-weight:600;color:#666;font-size:.85rem;}
.df-ro__row dd{margin:0;font-weight:700;color:#1a1a2e;text-align:right;font-size:.9rem;}


/* ---- v8: pagina "Dati personali" = scheda di consultazione ---- */
.acc-view{max-width:760px;margin:0 auto;}
.acc-card{background:#fff;border:1px solid #e6eaf1;border-radius:16px;padding:1.3rem 1.5rem;margin-bottom:1.2rem;box-shadow:0 8px 24px rgba(10,18,34,.05);}
.acc-card__title{display:flex;align-items:center;gap:.5rem;font-size:1.05rem;font-weight:800;color:#1a1a2e;margin:0 0 1rem;padding-bottom:.6rem;border-bottom:1px solid #f5f2ef;}
.acc-card__title .material-icons{color:#0e1c38;font-size:1.3rem;}
.acc-card--pwd{background:#f8fafc;}
.acc-card--pwd .form-group{margin-bottom:.8rem;}
.acc-card--pwd label,.acc-card--pwd .form-control-label{display:block;font-weight:700;font-size:.82rem;color:#3a3a44;margin-bottom:.35rem;text-align:left;}
.acc-card--pwd .form-control,.acc-card--pwd input[type=password],.acc-card--pwd input[type=text]{width:100%;padding:.6rem .8rem;border:1.5px solid #e0dbd6;border-radius:11px;font-size:1rem;background:#fff;}
.acc-card--pwd .form-control:focus,.acc-card--pwd input:focus{outline:0;border-color:#0e1c38;box-shadow:0 0 0 3px rgba(14,28,56,.16);}
.acc-pwd-btn{margin-top:.6rem;border:0;border-radius:12px;font-weight:800;font-size:1rem;padding:.8rem 2rem;cursor:pointer;background:linear-gradient(135deg,#0e1c38,#1b3560);color:#fff;box-shadow:0 10px 26px rgba(14,28,56,.28);}
.acc-pwd-btn:hover{filter:brightness(1.05);}
.acc-view .df-ro__note{margin-top:0;}
