/* 1 · Reset + fuente */
*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:"Poppins",Arial,Helvetica,sans-serif;
  background:#f4f4f4;color:#111;
}

/* 2 · Card centrada */
.mad-section{
  max-width:600px;margin:40px auto;
  background:#fff;padding:32px 42px;
  border-radius:12px;box-shadow:0 5px 20px rgba(0,0,0,.15);
}
.mad-title{font-size:2rem;text-align:center;margin-bottom:2rem;font-weight:700}

/* 3 · Inputs */
label{display:block;margin-top:20px;font-weight:600}
input,select,textarea{
  width:100%;margin-top:6px;padding:10px 14px;
  border:1px solid #ccc;border-radius:6px;font-size:1rem
}
textarea{resize:vertical}

/* 4 · Botón */
.mad-btn{
  width:100%;margin-top:28px;padding:12px 20px;
  background:#000;color:#fff;border:none;border-radius:8px;
  font-weight:700;cursor:pointer;transition:background .25s
}
.mad-btn:hover{background:#222}

/* 5 · Fieldsets */
.chk-box{margin-top:22px;padding:20px;border:1px solid #ccc;border-radius:8px}
.chk-box legend{padding:0 6px;font-weight:700;color:#03a9f4}

/* 5.1 · Grilla dos columnas */
.checkbox-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin-top:12px
}
.checkbox-grid label{
  display:flex;align-items:center;gap:8px;font-size:.95rem;font-weight:500
}
.checkbox-grid input{transform:scale(1.15)}

/* 6 · Resumen + total */
.resumen{margin-top:22px;padding:18px;background:#000;color:#fff;border-radius:10px;font-size:.93rem}
.total{margin-top:12px;font-weight:700;font-size:1.15rem;color:#03a9f4;text-align:right}

/* Cuadrícula 2-col para los checks */
.chk-grid{
  display:grid;
  grid-template-columns: 18px auto;
  column-gap:10px;
  row-gap:6px;
  margin-bottom:6px;
}
.chk-grid label{ cursor:pointer; }