/* =========================
   BASE / TYPO / SPACING
   ========================= */
.modulo-iscrizione {
  position: relative;
  margin: 0 -15px;
}
.modulo-iscrizione ul li{ font-size:18px; line-height:25px; }
.modulo-iscrizione h6{ font-size:20px; margin:30px 0 10px; font-weight:bold; }
.modulo-iscrizione .space-60{ position:relative; height:60px; }
.modulo-iscrizione .space-30{ position:relative; height:30px; }
.modulo-iscrizione .a-rete-red{ color:var(--red-color); }
.modulo-iscrizione b{ font-family:"Din-Medium"; }

.modulo-iscrizione h4, .modulo-iscrizione h5{
  position:relative; height:auto; margin:30px 0;
}
.modulo-iscrizione h5{ margin:0; }

.modulo-iscrizione h4 span, .modulo-iscrizione h5 span{
  margin:0; background-color:var(--red-color); text-align:center;
  text-transform:uppercase; font-family:"Din-Condensed"; font-size:28px;
  color:#fff; padding:5px 15px; letter-spacing:2px; display:block;
	line-height: 30px;
}
.modulo-iscrizione h5 span{ background-color:#767575; }

.modulo-iscrizione input[type=text],
.modulo-iscrizione input[type=date],
.modulo-iscrizione input[type=email],
.modulo-iscrizione input[type=tel]{
  position:relative; padding:10px 25px; line-height:30px; margin:12px 0;
}
.modulo-iscrizione .form-control:focus{
  color:#212529; background-color:#fff; border-color:#d13627; outline:0;
  box-shadow:0 0 0 .25rem rgba(209,54,39,.25);
}
.modulo-iscrizione .invalid-feedback{ color:var(--red-color); }

/* =========================
   TABLE-LIKE LAYOUT (Bootstrap rows)
   ========================= */
.modulo-iscrizione .table > .row{
  display:flex; align-items:stretch;
  border-top:1px solid #dee2e6; border-bottom:1px solid #dee2e6;
  border-left:none; border-right:none;
}
.modulo-iscrizione .table > .row + .row{ border-top:none; }

.modulo-iscrizione .table > .row > [class*="col-"]{
  display:flex; align-items:center;
  border-right:1px solid #dee2e6;
  padding-top:0; padding-bottom:0;
}
.modulo-iscrizione .table > .row > [class*="col-"]:last-child{ border-right:none; }

/* quando al centro inseriamo una row annidata (es. orari) */
.modulo-iscrizione .table > .row > .col-md-8{ display:block; }

/* intestazioni riga */
.modulo-iscrizione .table .table-head{ background-color:#f8f9fa; font-weight:600; text-transform:uppercase; }
.modulo-iscrizione .table .table-head > [class*="col-"]{ justify-content:center; font-size:14px; }
@media (min-width:768px){
  .modulo-iscrizione .table .table-head > [class*="col-"]{ font-size:inherit; }
}

/* allineamenti speciali (moduli preferenze) */
.modulo-iscrizione .table > .row:not(.table-head) > .col-3.col-md-2,
.modulo-iscrizione .table > .row:not(.table-head) > .col-4.col-md-2:last-child{
  justify-content:flex-start;
}

/* responsive: togli divisori verticali su mobile */
@media (max-width:767.98px){
  .modulo-iscrizione .table > .row > [class*="col-"]{ border-right:none; }
}

/* =========================
   FORM-CHECK (layout + colori)
   ========================= */
/* dentro i blocchi “table” (checkbox o radio) */
.modulo-iscrizione .table .form-check{
  display:flex; align-items:center; gap:.35rem; margin-bottom:0;padding:0;
}
.modulo-iscrizione .table .form-check .form-check-input{
  float:none; margin-left:0; position:static; margin-right:10px;
  accent-color:#d13627;
}
.modulo-iscrizione .table .form-check .form-check-input:checked{
  background-color:#d13627; border-color:#d13627;
}
.modulo-iscrizione .table .form-check .form-check-input:focus{
  border-color:#d13627; box-shadow:0 0 0 .25rem rgba(209,54,39,.25);
}

/* fuori dai blocchi “table” (checkbox generiche) */
.modulo-iscrizione .container:not(.table) .form-check{ padding-left:0; }
.modulo-iscrizione .form-check{
  display:flex; align-items:center; gap:1rem; margin-bottom:0;
}
.modulo-iscrizione .form-check .form-check-input[type="checkbox"]{
  accent-color:#d13627; margin:0; position:relative; top:0;
}
.modulo-iscrizione .form-check .form-check-input[type="checkbox"]:checked{
  background-color:#d13627; border-color:#d13627;
}
.modulo-iscrizione .form-check .form-check-input[type="checkbox"]:focus{
  border-color:#d13627; box-shadow:0 0 0 .25rem rgba(209,54,39,.25);
}

/* fuori dai blocchi “table” (radio generici, es. soggetto-consenso) */
.modulo-iscrizione .form-check .form-check-input[type="radio"]{
  accent-color:#d13627;
  margin:0;             /* override bootstrap margin-left */
  position:relative;
  top:0;
  float:none;
}
.modulo-iscrizione .form-check .form-check-input[type="radio"]:checked{
  background-color:#d13627; border-color:#d13627;
}
.modulo-iscrizione .form-check .form-check-input[type="radio"]:focus{
  border-color:#d13627; box-shadow:0 0 0 .25rem rgba(209,54,39,.25);
}

/* rimuovi padding sinistro delle form-check in table sotto lg */
@media (max-width:991.98px){
  .modulo-iscrizione .table .form-check{ padding-left:0; }
}

/* =========================
   DISCLAIMER / CLAUSOLE
   ========================= */
.modulo-iscrizione .disclaimer,
.modulo-iscrizione .disclaimer-2,
.modulo-iscrizione .disclaimer-3,
.modulo-iscrizione .disclaimer-4{
  font-size:20px; padding:20px 40px; border:2px solid var(--red-color);
}
.modulo-iscrizione .disclaimer-3, .modulo-iscrizione .disclaimer-4{border:0;}
.modulo-iscrizione .disclaimer,
.modulo-iscrizione .disclaimer *,
.modulo-iscrizione .disclaimer-2,
.modulo-iscrizione .disclaimer-2 *{
  font-family:"Din-Condensed";
}

.modulo-iscrizione .disclaimer-3,
.modulo-iscrizione .disclaimer-3 *{
  font-family:"Din-Light";
}
.modulo-iscrizione .disclaimer-3 b
{
  font-family:"Din-Bold";
}
.modulo-iscrizione .disclaimer-2{ font-size:30px; line-height:36px; }

.modulo-iscrizione .clausola-label{
  background:#ebebeb; width:100%; display:flex; justify-content:space-between; align-items:center;
  flex-wrap:nowrap; padding:20px; font-size:20px; text-transform:uppercase; font-family:"Din-Regular"; cursor:pointer;
}
.modulo-iscrizione .clausola-label span{ font-family:"Din-Regular"; }
.modulo-iscrizione .clausola-text{ position:relative; padding:20px 0; }
.modulo-iscrizione .clausola-label + .clausola-text{ display:none; padding:20px; }

/* =========================
   POPUP NOTIFICHE
   ========================= */
.modulo-iscrizione #popup-modulo-palestra{
  display:none; position:fixed; left:0; top:0; width:100vw; height:100vh;
  background:rgba(30,30,30,0.4); z-index:99999;
}
.modulo-iscrizione #popup-modulo-palestra .popup-box{
  background:#fff; color:#111; max-width:400px; margin:10vh auto 0; padding:32px 24px 24px;
  border-radius:12px; box-shadow:0 10px 30px rgba(0,0,0,0.13); position:relative;
}
.modulo-iscrizione #popup-modulo-palestra-close{
  position:absolute; right:18px; top:14px; border:none; background:transparent; font-size:18px; cursor:pointer;
}

/* =========================
   SEZIONI SPECIFICHE
   ========================= */
.modulo-iscrizione .stack-col{ display:flex; flex-direction:column; }
.modulo-iscrizione button[type=submit]{line-height:40px;}

/* =========================
   FIRMA CANVAS LIBERATORIA
   ========================= */
.modulo-iscrizione .firma-canvas-wrapper {
  border: 1px solid #ccc;
  border-radius: 4px;
  position: relative;
  background: #fff;
}
.modulo-iscrizione canvas.firma-canvas {
  touch-action: none;
  width: 100%;
  height: 150px;
  display: block;
}