/* Configurateur de commande (/commander/). S'appuie sur les jetons et composants du thème cubik. */
.cubik-commander { padding-block: var(--cubik-esp-5) var(--cubik-esp-7); }
.cubik-commander__grille { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--cubik-esp-5); align-items: start; }
@media (min-width: 64em) { .cubik-commander__grille { grid-template-columns: minmax(0, 7fr) minmax(18rem, 4fr); gap: var(--cubik-esp-6); } }
.cubik-commander__etapes { display: grid; gap: var(--cubik-esp-3); min-width: 0; }
.cubik-commander__lien { margin-top: var(--cubik-esp-3); }
.cubik-commander__note { color: var(--cubik-ardoise); font-size: var(--cubik-taille-petit); max-width: var(--cubik-mesure); margin: 0; }
.cubik-commander__reco { color: var(--cubik-encre); max-width: var(--cubik-mesure); margin: 0; }

/* Étapes : une ouverte à la fois, les autres repliées avec leur résumé */
.cubik-etape-config { border: 1px solid var(--cubik-filet); border-radius: var(--cubik-rayon-surface); background: var(--cubik-blanc); }
.cubik-etape-config.est-ouverte { border-color: var(--cubik-marine); }
.cubik-etape-config__entete { margin: 0; font-size: var(--cubik-taille-base); }
.cubik-etape-config__bouton {
  display: grid; grid-template-columns: 2rem 1fr auto; align-items: center; column-gap: var(--cubik-esp-3);
  width: 100%; padding: 0.875rem 1rem; background: none; border: 0; text-align: left; cursor: pointer; font: inherit; color: var(--cubik-encre);
}
.cubik-etape-config__bouton:focus-visible { box-shadow: var(--cubik-focus); outline: none; border-radius: var(--cubik-rayon-controle); }
.cubik-etape-config__numero {
  width: 2rem; height: 2rem; border-radius: 50%; display: grid; place-items: center; font-family: var(--cubik-police-titres); font-weight: 700;
  background: var(--cubik-ciel); color: var(--cubik-marine);
}
.est-ouverte .cubik-etape-config__numero, .est-faite .cubik-etape-config__numero { background: var(--cubik-marine); color: var(--cubik-blanc); }
.cubik-etape-config__titre { font-family: var(--cubik-police-titres); font-weight: 700; font-size: var(--cubik-taille-intro); color: var(--cubik-marine); }
.cubik-etape-config__resume { grid-column: 2; color: var(--cubik-ardoise); font-size: var(--cubik-taille-petit); }
.cubik-etape-config:not(.est-faite) .cubik-etape-config__resume, .cubik-etape-config__resume:empty { display: none; }
.cubik-etape-config__modifier { grid-column: 3; grid-row: 1; color: var(--cubik-bleu-lien); font-weight: 700; font-size: var(--cubik-taille-petit); text-decoration: underline; }
.cubik-etape-config__modifier { visibility: hidden; }
.est-faite .cubik-etape-config__modifier { visibility: visible; }
.cubik-etape-config__corps { padding: 0 1rem 1.25rem; display: grid; gap: var(--cubik-esp-4); }
.cubik-etape-config__corps > .cubik-encadre { margin: 0; }
.cubik-etape-config__actions { display: flex; flex-wrap: wrap; gap: var(--cubik-esp-3); justify-content: flex-end; padding-top: var(--cubik-esp-2); }
.cubik-etape-config__erreur { background: var(--cubik-erreur-fond); border-left: 4px solid var(--cubik-erreur); color: var(--cubik-erreur); padding: 0.75rem 1rem; margin: 0; border-radius: 0 var(--cubik-rayon-surface) var(--cubik-rayon-surface) 0; font-weight: 700; }
.cubik-etape-config__erreur[hidden] { display: none; }
.cubik-encadre--erreur { border-left-color: var(--cubik-erreur); background: var(--cubik-erreur-fond); }
.cubik-encadre--erreur .cubik-encadre__titre { color: var(--cubik-erreur); }
.cubik-encadre--erreur ul { margin: 0; padding-left: 1.25rem; }

/* Cartes-radio riches (accroche + liste) et disposition en deux colonnes */
.cubik-commander .cubik-choix { grid-template-columns: minmax(0, 1fr); min-width: 0; }
.cubik-choix--deux { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 40em) { .cubik-commander .cubik-choix--deux { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.cubik-carte-radio--riche { align-items: start; padding: 0.875rem 1rem; }
.cubik-carte-radio--riche input { margin-top: 0.2rem; }
.cubik-carte-radio--riche .cubik-carte-radio__prix { font-family: var(--cubik-police-titres); font-size: var(--cubik-taille-intro); }
.cubik-carte-radio--riche .cubik-carte-radio__detail { grid-column: 2 / -1; }
.cubik-carte-radio__liste { grid-column: 2 / -1; margin: 0.375rem 0 0; padding-left: 1.1rem; font-size: var(--cubik-taille-petit); color: var(--cubik-encre); }
.cubik-carte-radio__liste li + li { margin-top: 0.125rem; }
.cubik-carte-radio .cubik-pastille { font-size: 0.875rem; vertical-align: 0.1em; }
.cubik-carte-radio__prix.cubik-pastille { font-family: var(--cubik-police-corps); font-size: 0.875rem; border: 0; color: var(--cubik-blanc); }

/* Champs : règles communes dans composants.css (thème) ; ici seulement les sous-étapes conditionnelles */
.cubik-sous-etape { display: grid; gap: var(--cubik-esp-3); }
.cubik-sous-etape[hidden], [data-si][hidden], [data-si-forfait][hidden] { display: none !important; }
.cubik-consentements { gap: var(--cubik-esp-3); }
.cubik-choix legend { font-weight: 700; color: var(--cubik-marine); margin-bottom: var(--cubik-esp-2); }

/* Recherche de domaine */
.cubik-recherche-domaine { display: flex; gap: var(--cubik-esp-2); flex-wrap: wrap; }
.cubik-recherche-domaine input { flex: 1 1 14rem; }
.cubik-resultats-domaine__liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.375rem; }
.cubik-resultat-domaine { display: grid; grid-template-columns: 1fr auto; gap: 0.25rem 0.75rem; align-items: center; padding: 0.625rem 0.875rem; border: 1px solid var(--cubik-filet); border-radius: var(--cubik-rayon-controle); background: var(--cubik-blanc); }
.cubik-resultat-domaine__nom { font-weight: 700; word-break: break-all; }
.cubik-resultat-domaine__etat { font-size: var(--cubik-taille-petit); color: var(--cubik-ardoise); grid-column: 1; }
.cubik-resultat-domaine__etat { font-weight: 700; }
.cubik-resultat-domaine__etat.cubik-champ__etat--pris { color: var(--cubik-ardoise); }
.cubik-resultat-domaine__choisir { grid-column: 2; grid-row: 1 / span 3; min-height: 2.75rem; padding-inline: 1rem; }
.cubik-resultat-domaine__choisir[aria-pressed="true"] { background: var(--cubik-ciel); color: var(--cubik-marine); opacity: 1; cursor: default; }
.cubik-resultat-domaine.est-choisi { border-color: var(--cubik-marine); box-shadow: inset 0 0 0 1px var(--cubik-marine); }
.cubik-resultat-domaine__note { grid-column: 1; font-size: var(--cubik-taille-petit); color: var(--cubik-ardoise); }
.cubik-resultat-domaine--pris .cubik-resultat-domaine__nom, .cubik-resultat-domaine--premium .cubik-resultat-domaine__nom { color: var(--cubik-ardoise); text-decoration: line-through; }
.cubik-domaine-choisi { border-left: 4px solid var(--cubik-bleu); background: var(--cubik-ciel); padding: 0.875rem 1rem; border-radius: 0 var(--cubik-rayon-surface) var(--cubik-rayon-surface) 0; display: grid; gap: 0.25rem; }
.cubik-domaine-choisi--pris, .cubik-domaine-choisi--premium, .cubik-domaine-choisi--non_offerte { border-left-color: var(--cubik-erreur); background: var(--cubik-erreur-fond); }
.cubik-domaine-choisi--manuel, .cubik-domaine-choisi--attente { border-left-color: var(--cubik-ambre); background: var(--cubik-ambre-fond); }
.cubik-domaine-choisi[hidden] { display: none; }
.cubik-domaine-choisi__nom, .cubik-domaine-choisi__message { margin: 0; }
.cubik-domaine-choisi__nom strong { font-family: var(--cubik-police-titres); font-size: var(--cubik-taille-h4); color: var(--cubik-marine); }
.cubik-domaine-choisi .cubik-lien-bouton { min-height: 2.75rem; justify-self: start; background: none; border: 0; padding: 0; cursor: pointer; text-decoration: underline; }

/* Options et boîtes courriel */
.cubik-option { display: grid; gap: 0.375rem; padding-bottom: var(--cubik-esp-3); border-bottom: 1px solid var(--cubik-filet); }
.cubik-option:last-of-type { border-bottom: 0; }
.cubik-option__prix { color: var(--cubik-marine); font-variant-numeric: tabular-nums; }
.cubik-boites { display: grid; gap: 0.5rem; }
.cubik-boites__ligne { display: grid; grid-template-columns: minmax(0, 14rem) max-content 2.75rem; align-items: center; gap: 0.5rem; justify-content: start; }
.cubik-boites__ligne input { max-width: none; }
.cubik-boites__ligne .cubik-boites__retirer[hidden] { display: block !important; visibility: hidden; }
.cubik-boites__domaine { color: var(--cubik-ardoise); }
.cubik-boites__retirer { background: none; border: 1px solid var(--cubik-bordure-controle); border-radius: var(--cubik-rayon-controle); width: 2.75rem; height: 2.75rem; cursor: pointer; color: var(--cubik-ardoise); font-size: 1.25rem; line-height: 1; }
.cubik-boites__retirer:hover, .cubik-boites__retirer:focus-visible { color: var(--cubik-marine); border-color: var(--cubik-marine); }
button.cubik-lien-bouton { background: none; border: 0; padding: 0; cursor: pointer; text-decoration: underline; text-decoration-color: var(--cubik-bleu); }

/* Récapitulatif (étape 7) */
.cubik-recap { display: grid; grid-template-columns: max-content 1fr; gap: 0.5rem 1.25rem; margin: 0; }
.cubik-recap dt { font-weight: 700; color: var(--cubik-marine); }
.cubik-recap dd { margin: 0; }
.cubik-recap__total { font-family: var(--cubik-police-titres); font-size: var(--cubik-taille-h4); font-weight: 700; color: var(--cubik-marine); }
@media (max-width: 39.99em) { .cubik-recap { grid-template-columns: 1fr; gap: 0.125rem; } .cubik-recap dd { margin-bottom: 0.5rem; } }

/* Résumé collant */
.cubik-commander__resume { position: sticky; top: var(--cubik-esp-3); }
@media (max-width: 63.99em) { .cubik-commander__resume { display: none; } }
.cubik-resume { border: 1px solid var(--cubik-filet); border-top: 4px solid var(--cubik-marine); border-radius: var(--cubik-rayon-surface); padding: var(--cubik-esp-4); background: var(--cubik-blanc); display: grid; gap: var(--cubik-esp-3); }
.cubik-resume__titre { font-family: var(--cubik-police-corps); font-size: var(--cubik-taille-base); color: var(--cubik-ardoise); margin: 0; }
.cubik-resume__liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.375rem; font-size: var(--cubik-taille-petit); }
.cubik-resume__liste:empty::before { content: "Vos choix apparaîtront ici."; color: var(--cubik-ardoise); }
.cubik-resume__liste strong { color: var(--cubik-marine); }
.cubik-resume__total { display: flex; align-items: baseline; gap: 0.5rem; flex-wrap: wrap; border-top: 2px solid var(--cubik-marine); padding-top: var(--cubik-esp-3); font-weight: 700; color: var(--cubik-marine); }
.cubik-resume__montant { font-family: var(--cubik-police-titres); font-size: var(--cubik-taille-prix); line-height: 1; margin-left: auto; font-variant-numeric: tabular-nums; }
.cubik-resume__periode { color: var(--cubik-ardoise); font-weight: 400; }
.cubik-resume__detail, .cubik-resume__mention, .cubik-resume__support { margin: 0; font-size: var(--cubik-taille-petit); color: var(--cubik-ardoise); }
.cubik-resume__mention { color: var(--cubik-marine); font-weight: 700; }

/* Barre mobile : total + action, fixée en bas */
.cubik-commander__barre { display: none; }
@media (max-width: 63.99em) {
  .cubik-commander__barre { position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; display: flex; align-items: center; justify-content: space-between; gap: var(--cubik-esp-3); padding: 0.625rem var(--cubik-marge-page); background: var(--cubik-blanc); border-top: 1px solid var(--cubik-filet); }
  .cubik-commander__barre-total { font-family: var(--cubik-police-titres); font-size: var(--cubik-taille-h4); font-weight: 700; color: var(--cubik-marine); font-variant-numeric: tabular-nums; }
  .cubik-commander__barre-total small { font-family: var(--cubik-police-corps); font-size: var(--cubik-taille-petit); color: var(--cubik-ardoise); font-weight: 400; }
  .cubik-commander { padding-bottom: 6rem; }
}

/* Mobile : les textes secondaires restent à 16 px (lisibilité, docs/03) */
@media (max-width: 39.99em) {
  .cubik-commander .cubik-carte-radio__liste, .cubik-commander .cubik-carte-radio__detail, .cubik-commander .cubik-champ__aide, .cubik-commander__note, .cubik-commander .cubik-resultat-domaine__etat { font-size: 1rem; }
}
.cubik-commander__barre-puis { display: block; font-size: var(--cubik-taille-petit); }
.cubik-commander__barre-bouton { white-space: nowrap; flex: none; }
.cubik-resume__puis { color: var(--cubik-marine); }

.cubik-resultat-domaine__actions { grid-column: 2; grid-row: 1 / span 3; display: grid; gap: 0.25rem; justify-items: end; text-align: right; }
.cubik-resultat-domaine__actions .cubik-lien-bouton { min-height: 2.75rem; font-size: var(--cubik-taille-petit); }
[data-domaine-contact-bloc] .cubik-lien-bouton { justify-self: start; }
