/* ===== Fieldset "packs" : alignement + responsive ===== */
.estimation fieldset.packs{
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 14px 16px;

  /* grille du fieldset : 1 colonne (mobile) */
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px 16px;   /* ligne / colonne */
  min-width: 0;     /* fix Safari pour éviter les débordements */
}

.estimation fieldset.packs legend{
  grid-column: 1 / -1;        /* le titre prend toute la largeur */
  font-weight: 700;
  color: var(--ink);
  padding: 0 6px;
  margin: 0 0 2px;
}

/* Chaque item .form-check devient une mini-grille : [checkbox] [label] */
.estimation fieldset.packs .form-check{
  display: grid;
  grid-template-columns: 20px 1fr;  /* 20px pour la case, le reste pour le texte */
  align-items: start;                /* aligne en haut si le label passe sur 2 lignes */
  gap: 8px;
  margin: 0;                         /* neutralise le margin Bootstrap */
}

.estimation fieldset.packs .form-check-input{
  margin: 3px 0 0 0;  /* cale la case sur la 1re ligne du label */
  float: none;        /* sécurité si un style tiers impose un float */
}

.estimation fieldset.packs .form-check-label{
  line-height: 1.35;
  margin: 0;
  min-width: 0;       /* permet l’enroulement correct des longs libellés */
  color: var(--ink);
}

/* Focus accessible sur la case */
.estimation fieldset.packs .form-check-input:focus{
  outline: 2px solid var(--green);
  outline-offset: 2px;
}

/* Desktop : 2 colonnes d’options */
@media (min-width: 800px){
  .estimation fieldset.packs{
	grid-template-columns: 1fr 1fr;  /* deux colonnes pour les .form-check */
  }
}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}