/* ============================================================
   FADOI · Scheda di iscrizione (/user/subscribe)
   Restyle SOLO layout — coerente col tema dashboard, mobile-first.
   Non modifica markup/logica Vue: agisce sulle classi esistenti.
   Caricato solo su questa pagina via @section('styles').
   ============================================================ */

:root{
  --fd-blu:#1F4E78; --fd-blu2:#2E6CA4; --fd-aran:#C55A11; --fd-verde:#2E8B57;
  --fd-ink:#1a2330; --fd-muted:#6b7683; --fd-line:#e3e8ef;
}

/* ---- Contenitore / sfondo ---- */
body{ background:#eef1f6; }
.container-md{ max-width:900px !important; margin-left:auto !important; margin-right:auto !important; }

/* Intestazione: niente cornice, logo a sinistra nello spazio del titolo */
.border-front-description,
.border-front-description blockquote,
.border-front-description .td_quote_box{
  border:0 !important; background:transparent !important; box-shadow:none !important;
}
.border-front-description blockquote{
  position:relative; margin:0 !important;
  padding:10px 12px 18px 220px !important; min-height:190px;
  text-align:left !important; border-bottom:1px solid var(--fd-line) !important;
}
.border-front-description .fd-header-logo{
  position:absolute; left:10px; top:50%; transform:translateY(-50%);
  width:185px; height:auto; margin:0;
}
.border-front-description h2 span,
.border-front-description h5 span,
.border-front-description h6 span{ color:var(--fd-blu) !important; }
.border-front-description h2{ font-size:22px; text-align:left !important; margin:2px 0 !important; }
.border-front-description h5{ font-size:14px; font-weight:600; text-align:left !important; margin:6px 0 2px !important; }
.border-front-description h6{ font-size:12.5px; font-weight:500; text-align:left !important; margin:4px 0 0 !important; }

/* Il vecchio logo accanto al form non serve più */
.logo-box{ display:none !important; }

@media(max-width:640px){
  .border-front-description blockquote{ padding:140px 8px 14px !important; text-align:center !important; min-height:0; }
  .border-front-description .fd-header-logo{ left:50%; top:6px; transform:translateX(-50%); width:120px; height:auto; }
  .border-front-description h2,
  .border-front-description h5,
  .border-front-description h6{ text-align:center !important; }
  .border-front-description h2{ font-size:19px; }
}

/* ---- Card come "sezione" del tema ---- */
.tab-content .card,
.form-create .card{
  border:1px solid var(--fd-line) !important; border-radius:14px !important;
  box-shadow:0 2px 12px rgba(20,40,70,.05) !important; overflow:hidden;
}
.card-body{ padding:18px 18px 6px !important; }
.card-footer{ background:#fff !important; border-top:1px solid var(--fd-line) !important; padding:16px 18px !important; }

/* ---- Tab in alto (nav-pills) ---- */
#nav-tab.nav-pills{ background:#fff; border:1px solid var(--fd-line); border-radius:12px; padding:6px; gap:6px; max-width:520px; margin:0 auto; }
#nav-tab .nav-link{ color:var(--fd-muted) !important; font-weight:700; border-radius:9px !important; padding:10px 14px; }
#nav-tab .nav-link.active{ background:var(--fd-blu) !important; color:#fff !important; }

/* ---- Titoli di sezione (css-h3) ---- */
.css-h3{
  font-size:16px !important; font-weight:800 !important; color:var(--fd-blu) !important;
  margin:6px 0 4px !important; padding-bottom:8px; border-bottom:2px solid #eaf0f7; letter-spacing:.2px;
}

/* ---- Etichette e descrizioni campi (css-description) ---- */
.css-description{ font-size:13px !important; font-weight:700 !important; color:#41505f !important; margin-bottom:6px !important; }
.css-description .text-danger{ color:var(--fd-aran) !important; }

/* ---- Input / select / textarea ---- */
.form-control,
.form-control-input-text-css,
.imput-box select,
.imput-box input[type="text"],
.imput-box input[type="email"],
.imput-box input[type="password"],
.imput-box input[type="date"]{
  min-height:46px !important; border:1px solid #cfd7e3 !important; border-radius:10px !important;
  padding:0 13px !important; font-size:15px !important; color:var(--fd-ink) !important; background:#fff !important;
  box-shadow:none !important; width:100% !important;
}
textarea.form-control{ min-height:80px !important; padding:10px 13px !important; }
.form-control:focus,
.form-control-input-text-css:focus{
  border-color:var(--fd-blu2) !important; box-shadow:0 0 0 3px rgba(46,108,164,.15) !important; outline:none !important;
}
.form-control-feedback.text-danger,
.form-control-feedback{ font-size:12px; margin-top:4px; }

/* ---- Quota / prezzo ---- */
.rate{ font-weight:800; color:var(--fd-blu); margin-left:8px; }

/* ---- Chip: Specializzazioni e Aree di competenza ---- */
.fd-chips{ display:flex !important; flex-wrap:wrap; gap:8px; margin:2px 0 0 !important; }
.fd-chips > [class*="col-"]{
  flex:0 0 auto !important; width:auto !important; max-width:none !important;
  margin:0 !important; padding:0 !important;
}
/* un solo checkbox nativo (evita il "doppio quadratino" del tema) */
.fd-chips input[type="checkbox"]{
  -webkit-appearance:checkbox !important; -moz-appearance:checkbox !important; appearance:checkbox !important;
  position:static !important; opacity:1 !important; margin:0 8px 0 0 !important;
  width:16px !important; height:16px !important; vertical-align:-3px; box-shadow:none !important;
}
.fd-chips label::before, .fd-chips label::after{ content:none !important; display:none !important; }
.fd-chips > [class*="col-"] > .form-check-label,
.fd-chips > [class*="col-"] > label{
  margin:0 !important; font-size:13px; color:var(--fd-ink);
}
.fd-chips > [class*="col-"]{
  border:1px solid #cfd7e3; border-radius:22px; padding:8px 13px !important; background:#fff;
  display:inline-flex; align-items:center; cursor:pointer;
}

/* ---- Consensi (privacy / gdpr) ---- */
.css-description a{ color:var(--fd-blu2); text-decoration:underline; word-break:break-word; }
.color-green-custom{ color:#41505f !important; font-size:13.5px !important; line-height:1.5; }
/* Radio Sì/No (ricerca + privacy): allineati e compatti, senza outdent */
.imput-box .form-check-input[type="radio"]{
  -webkit-appearance:radio !important; appearance:radio !important;
  position:static !important; opacity:1 !important; margin:0 8px 0 0 !important;
  width:18px !important; height:18px !important; vertical-align:-4px; box-shadow:none !important;
}
.imput-box .row.ml-3{ margin-left:0 !important; }
.imput-box .row.ml-3 > [class*="col-"]{
  flex:0 0 auto !important; width:auto !important; margin:0 28px 0 0 !important; padding:0 !important;
  display:flex; align-items:center;
}
.imput-box .row.ml-3 label{ margin:0 !important; font-size:15px; }

/* ---- multiselect (ambulatori) ---- */
.multiselect__tags{ min-height:46px !important; border-radius:10px !important; border:1px solid #cfd7e3 !important; padding-top:8px !important; }
.multiselect__option--highlight{ background:var(--fd-blu) !important; }
.multiselect__option--highlight::after{ background:var(--fd-blu) !important; }
.multiselect__tag{ background:var(--fd-blu) !important; }

/* ---- Sezione pagamento ---- */
.type-payment{ min-height:46px !important; border-radius:10px !important; }
.step-1 .card-title{ font-size:18px !important; font-weight:800 !important; color:var(--fd-ink) !important; }
.step-2 .container-plan{ border:1px solid var(--fd-line); border-radius:10px; padding:6px 12px; }

/* Box coordinate bonifico (bank-container) */
.bank-container{ border:1px solid #cfe0d3 !important; background:#f1faf4 !important; border-radius:12px !important; padding:16px !important; }
.bank-container h4{ font-size:15px; font-weight:800; color:#1e5c3a; margin:0 0 8px; }
.bank-container h5{ font-size:15px; line-height:1.6; background:#fff; border:1px solid var(--fd-line); border-radius:9px; padding:12px; margin:0; word-break:break-word; }
.bank-container p{ font-size:12.8px; color:#41505f; margin:10px 0 0; line-height:1.5; }

/* ---- Bottoni ---- */
.card-footer .btn-primary,
.btn-primary.btn-lg,
button[type="submit"].btn-primary{
  background:var(--fd-verde) !important; border-color:var(--fd-verde) !important;
  font-weight:800 !important; border-radius:11px !important; padding:13px 22px !important; font-size:16px !important;
}
.card-footer .btn-primary:hover,
.btn-primary.btn-lg:hover{ background:#26744a !important; }

/* ============================================================
   IMPAGINAZIONE (fix griglia) — logo sopra, form a tutta larghezza,
   campi ordinati su desktop e UNO PER RIGA su mobile.
   ============================================================ */

/* Logo vecchio nascosto; form a piena larghezza della card */
.logo-box{ display:none !important; }
.imput-box{ flex:0 0 100% !important; max-width:100% !important; }

/* Ogni gruppo di campi: riga flessibile con colonne uniformi */
.imput-box .row{
  display:flex !important; flex-wrap:wrap !important; margin-left:-8px !important; margin-right:-8px !important;
}
.imput-box .row > [class*="col-"]{
  flex:1 1 260px !important; max-width:100% !important; width:auto !important;
  padding-left:8px !important; padding-right:8px !important; box-sizing:border-box; margin-bottom:6px;
}

/* Titoli di sezione sempre a piena larghezza */
.imput-box .row > .col-md-12{ flex:1 1 100% !important; }

/* I chip (Specializzazioni/Aree) mantengono il loro layout compatto */
.imput-box .row.fd-chips{ margin-left:0 !important; margin-right:0 !important; }
.imput-box .row.fd-chips > [class*="col-"]{
  flex:0 0 auto !important; width:auto !important; margin-bottom:0 !important; padding:8px 13px !important;
}

/* MOBILE: ogni campo su una riga intera (nessuno affiancato) */
@media(max-width:640px){
  .card-body{ padding:14px 14px 4px !important; }
  .container-md{ padding-left:10px; padding-right:10px; }
  .card-footer .btn-primary{ width:100% !important; display:block; }
  .border-front-description h2{ font-size:19px; }
  .logo-box{ margin-bottom:6px; }
  .imput-box .row > [class*="col-"]{ flex:1 1 100% !important; }
  /* eccetto i chip, che restano a fianco e vanno a capo da soli */
  .imput-box .row.fd-chips > [class*="col-"]{ flex:0 0 auto !important; }
}
