/* Le formulaire du site Adelice conserve ses contrôles et son parcours.
   Seule son apparence reprend l’identité actuelle du site. */
.soumission-original{--cream:#fff;--cream-2:#f5f5f5;--champagne:#dedede;--r:0px;--r-lg:0px;--ink:#000;--ink-soft:#555;--ink-muted:#626262;--white:#fff;--gold:#000;--gold-deep:#000;--dur:.2s;--ease:ease;--shadow-md:none;--script:var(--serif)}
.soumission-original .container{width:min(860px,88%);margin-inline:auto}
/* Le titre suit l'échelle des h1 du site (identite.css). */
.soumission-original .section-script-title{font-size:clamp(2.4rem,3.2vw + 1rem,4.4rem);margin-bottom:24px}
.soumission-original .section-intro{display:block}
/* LES ESPACES DU HAUT (demande d'Hakim, 11 oct.) : 24 px sous le menu au téléphone, 32 px à l'ordinateur ; autant entre
   l'introduction et les étapes, ou l'avis « Reprendre où vous en étiez », lui-même à 20 px (24 px) des étapes. */
.soumission-original .soumission-hero{padding:24px 0 0}
.soumission-original .soumission-intro{margin-bottom:0}
.soumission-original .soumission-wizard{padding-top:24px}
.soumission-original .wizard-draft{margin-bottom:20px}
@media(min-width:760px){
 .soumission-original .soumission-hero,.soumission-original .soumission-wizard{padding-top:32px}
 .soumission-original .wizard-draft{margin-bottom:24px}
}
.soumission-original .btn{display:inline-flex;align-items:center;justify-content:center;min-height:51px;padding:13px 27px;border:1px solid #000;background:#000;color:#fff;font:inherit;line-height:1.4;text-align:center}
.soumission-original .btn:hover{background:#333;color:#fff}
/* « Précédent » et « Recommencer » : le contour noir de « Découvrir nos créations ». */
.soumission-original .btn-gold,.soumission-original .btn-ghost{background:#fff;color:#000;border-color:#000}
.soumission-original .btn-gold:hover,.soumission-original .btn-ghost:hover{background:var(--ivory);color:#000}
.soumission-original .field{margin:0;display:flex;flex-direction:column;gap:8px;min-width:0}
.soumission-original .field.conditional{display:none}
.soumission-original .field.conditional.is-visible{display:flex}
.soumission-original .field-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.soumission-original .field label{display:block;font-size:.92rem}
/* Les questions à choix : en capitales de 12 px au moins ; « (optionnel) » se lit en minuscules. */
.soumission-original .field-label{font-size:.75rem;letter-spacing:.12em}
.soumission-original .field-label em{font-size:.875rem}
.soumission-original .field-help{font-size:.875rem}
.soumission-original .field input:not([type=radio]):not([type=checkbox]):not([type=file]),.soumission-original textarea,.soumission-original select{width:100%;min-height:50px;padding:12px 14px;background:#fff;border:1px solid #dedede;border-radius:0}
.soumission-original textarea{resize:vertical}
.soumission-original .choice{margin:0}
.soumission-original .choice input:focus-visible+span{outline:2px solid #000;outline-offset:3px}
/* Un seul rouge, pour les erreurs ; « Envoi en cours… » reste en noir. */
.soumission-original .field-error,.soumission-original .form-note{font-size:.9rem}
.soumission-original .form-note{color:#222}
.soumission-original .field-error,.soumission-original .form-note.error{color:var(--erreur)}
.soumission-original .has-error input{border-color:var(--erreur)}
.soumission-original .choices.has-error .choice span{border-color:var(--erreur)}
.soumission-original .consent.has-error span{color:var(--erreur)}
/* Le consentement : une case de 22 px dans une rangée de 44 px. */
.soumission-original .consent{min-height:44px;font-size:.92rem}
.soumission-original .consent input{width:22px;height:22px;margin-top:1px}
.soumission-original .consent a{text-decoration:underline}
/* Les photos d'inspiration ajoutées : le nom en 14 px, et un ✕ assez grand pour le doigt. */
.soumission-original .upload-list li{font-size:.875rem}
.soumission-original .upload-list button{width:28px;height:28px}
.soumission-original .wizard-draft[hidden]{display:none}
.soumission-original .wizard-legend{font-size:clamp(1.8rem,3vw,2.5rem)}
@media(max-width:640px){.soumission-original .field-row{grid-template-columns:1fr}.soumission-original .wizard-form{padding:24px 18px}}
/* Entre les étapes et le cadre du formulaire, 24 px comme entre les questions (demande d’Hakim, 14 oct. ; avant,
   jusqu’à 48 px). */
.soumission-original .wizard-progress{margin-bottom:24px}
.soumission-original .wizard-progress::before{top:23px}
.soumission-original .wp-step .wp-dot{width:46px;height:46px;background:#000;color:#fff;border:1px solid #000;font:500 1rem var(--sans);transition:background .2s,box-shadow .2s}
.soumission-original .wp-dot:hover{background:#333}
.soumission-original .wp-label{font-size:.75rem;letter-spacing:.12em}
.soumission-original .wp-step.is-current .wp-dot{box-shadow:0 0 0 5px #fff,0 0 0 6px #000}
.soumission-original .wp-step.is-current .wp-label{color:#000;font-weight:500}
/* Au téléphone, les noms des étapes sont cachés (formulaire-original.css) : l'étape en cours garde le sien, sous sa
   pastille, calé sur le bord pour la première et la dernière. */
@media(max-width:640px){
 .soumission-original .wizard-progress{padding-bottom:28px}
 .soumission-original .wp-step.is-current .wp-label{display:block;position:absolute;top:56px;left:50%;transform:translateX(-50%);white-space:nowrap}
 .soumission-original .wp-step.is-current:first-child .wp-label{left:0;transform:none}
 .soumission-original .wp-step.is-current:last-child .wp-label{left:auto;right:0;transform:none}
}
/* Boutons de saveurs : cartes blanches à angles droits, filet gris, fond gris très clair au survol, contour noir et ✓
   une fois choisies. Chaque saveur montre sa photo (dossier « Nos saveurs » d'Hakim) ; « Autre » garde sa pastille. */
.soumission-original .choices:has(input[name=baseGateau]),.soumission-original .choices:has(input[name=garnitures]){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.soumission-original .choice:has(input[name=baseGateau])>span,.soumission-original .choice:has(input[name=garnitures])>span{display:flex;width:100%;min-height:62px;gap:11px;padding:14px 36px 14px 16px;border:1px solid var(--line);border-radius:0;background:#fff;color:var(--texte);font-size:.94rem;line-height:1.4;box-shadow:none;transition:border-color .18s,background .18s,box-shadow .18s}
.soumission-original .choice:has(input[name=baseGateau]):hover>span,.soumission-original .choice:has(input[name=garnitures]):hover>span{border-color:var(--line);background:var(--ivory)}
.soumission-original .choice:has(input:checked[name=baseGateau])>span,.soumission-original .choice:has(input:checked[name=garnitures])>span{border-color:#000;background:#fff;color:#000;box-shadow:inset 0 0 0 1px #000}
.soumission-original .choice:has(input:checked[name=baseGateau])>span::after,.soumission-original .choice:has(input:checked[name=garnitures])>span::after{content:'✓';position:absolute;right:13px;top:50%;transform:translateY(-50%);font-size:.95rem;color:#000}
.soumission-original .choice:has(input[name=baseGateau]) .dot,.soumission-original .choice:has(input[name=garnitures]) .dot{display:inline-block;flex:0 0 20px;width:20px;height:20px;min-height:0;padding:0;margin:0;border:1px solid #00000012;border-radius:50%;box-shadow:inset 0 0 0 3px #ffffff35}
.soumission-original .choice:has(input[name=baseGateau]) .dot--autre,.soumission-original .choice:has(input[name=garnitures]) .dot--autre{border:1px dashed var(--muted);background:conic-gradient(#f3e5c0,#e85c6c,#93c572,#6b4226,#f3e5c0)}
.soumission-original .choice:has(input[name=baseGateau])>span,.soumission-original .choice:has(input[name=garnitures])>span{align-items:center}
.soumission-original .choice .saveur-photo{display:block;flex:0 0 48px;width:48px;height:48px;margin:-6px 0;object-fit:contain}
.soumission-original .choice:has(input[name=baseGateau]) .dot--autre,.soumission-original .choice:has(input[name=garnitures]) .dot--autre{flex-basis:40px;width:40px;height:40px;margin:0 4px}
@media(max-width:640px){.soumission-original .choices:has(input[name=baseGateau]),.soumission-original .choices:has(input[name=garnitures]){grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.soumission-original .choice:has(input[name=baseGateau])>span,.soumission-original .choice:has(input[name=garnitures])>span{padding-left:12px;font-size:.88rem}}
@media(max-width:350px){.soumission-original .choices:has(input[name=baseGateau]),.soumission-original .choices:has(input[name=garnitures]){grid-template-columns:1fr}}
/* Les garnitures en familles, comme dans Nos saveurs (11 oct.) : chaque famille sous son nom, écrit comme dans Nos
   saveurs (petites capitales espacées, gris doux), ses cases dans la même grille que plus haut ; « Autre demande » seule
   à la fin. */
.soumission-original .choices.choices--familles:has(input[name=garnitures]){display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.soumission-original .choices-famille-titre{margin:0 0 8px;font-family:var(--sans);font-size:.75rem;font-weight:500;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;color:var(--doux)}
.soumission-original .choices-famille-liste{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media(max-width:640px){.soumission-original .choices-famille-liste{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
@media(max-width:350px){.soumission-original .choices-famille-liste{grid-template-columns:1fr}}


/* Retouches d'octobre 2026 : on voit l'étape en cours, les questions se lisent bien, la date avertit. */
.soumission-original .wp-step:not(.is-current):not(.is-done) .wp-dot{background:#fff;color:var(--muted);border-color:#cfcfcf}
.soumission-original .wp-step:not(.is-current):not(.is-done) .wp-dot:hover{background:#f3f3f3}
.soumission-original .wizard-legend{color:#111}
.soumission-original .wizard-lead-soft,.soumission-original .field-help{color:#555}
.soumission-original .choice>span{color:#222}
.soumission-original .date-avis{margin:10px 0 0;padding:10px 14px;border-left:3px solid #000;background:#f5f5f5;color:#222;font-size:.92rem;line-height:1.55}
.soumission-original .date-avis[hidden]{display:none}
.soumission-original .inspiration-choisie{margin:0 0 22px;padding:12px 16px;border:1px solid #dedede;color:#333;font-size:.95rem}

/* Après l'envoi, le message de remerciement prend la place du titre de la page : le titre ne se voit plus, mais les
   lecteurs d'écran le lisent toujours ; l'introduction disparaît. */
.soumission-original:has(#wizardSuccess:not([hidden])) .soumission-hero{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.soumission-original:has(#wizardSuccess:not([hidden])) .soumission-intro{display:none}


/* LES QUESTIONS D'UNE ÉTAPE, SÉPARÉES PAR LE PETIT GÂTEAU (demande d'Hakim, 10 oct.) : dans les étapes à plusieurs
   questions (Votre gâteau, Personnalisation, Logistique), le séparateur du site entre deux questions, avec le même
   espace qu'ailleurs : 24 px de part et d'autre — au-dessus, l'écart entre les questions ; dessous, 16 px plus l'écart
   de 8 px de la question. Rien n'est ajouté au formulaire : c'est un dessin.
   L'ÉCART ENTRE LES QUESTIONS (demande d'Hakim, 11 oct. : trop d'espace) : 24 px dans toutes les étapes, sans rien qui
   s'y ajoute — ni marge au-dessus du séparateur (il en avait 50 px au-dessus pour 24 dessous), ni marge autour du
   consentement (51 px) ; le courriel et le téléphone, l'un sous l'autre au téléphone, aussi à 24 px ; la ligne des
   boutons à 24 px de la dernière question, et ses boutons à 24 px de la ligne. */
.soumission-original .wizard-step.is-active{gap:24px}
.soumission-original .wizard-step:is([data-step="2"],[data-step="3"],[data-step="4"])>.field{margin-bottom:0}
.soumission-original .wizard-step>.consent{margin:0}
.soumission-original .wizard-nav{margin-top:24px;padding-top:24px}
.soumission-original .wizard-step:is([data-step="2"],[data-step="3"],[data-step="4"])>.field+.field::before{content:"";display:block;flex:none;height:30px;margin:0 0 16px;background:url(/assets/identite/gateau.svg) center/30px 30px no-repeat,linear-gradient(var(--line),var(--line)) left center/calc(50% - 34px) 1px no-repeat,linear-gradient(var(--line),var(--line)) right center/calc(50% - 34px) 1px no-repeat}
/* La liste des photos jointes, tant qu'elle est vide, ne prend aucune place (sinon l'espace avant le séparateur
   suivant grandirait de sa marge et de l'écart de la question). */
.soumission-original .upload-list:empty{display:none}
/* L'AVIS ROUGE (soumission-original.js, demande d'Hakim, 10 oct.) : en bas de l'écran, sur toute la largeur, il nomme
   la réponse obligatoire qui manque pendant que la page glisse jusqu'au champ ; il s'efface dès que c'est corrigé. */
.avis-erreur{position:fixed;left:0;right:0;bottom:0;z-index:80;padding:14px 16px calc(14px + env(safe-area-inset-bottom));background:var(--erreur);color:#fff;font-size:.9375rem;line-height:1.45;text-align:center;box-shadow:0 -6px 18px #0000001f}
.avis-erreur[hidden]{display:none}
/* La question visée par l'avis rouge s'arrête sous l'en-tête collant, jamais dessous. */
.soumission-original .wizard-step legend,.soumission-original .field-label,.soumission-original .field>label,.soumission-original .consent{scroll-margin-top:120px}
/* LA FORME ET LES DIMENSIONS (cahier d'Hakim, 14 oct.) : des cartes comme celles des saveurs — à angles droits, filet
   gris, fond gris très clair au survol, contour noir et ✓ une fois choisies —, l'illustration au-dessus du libellé.
   Les dimensions et le nombre de personnes suivent la forme dans la même question, sans séparateur ; « Je ne sais pas
   encore », sans illustration, sur toute la largeur. Les illustrations des ronds gardent leurs proportions entre elles
   (le gâteau de 15 cm paraît plus petit que celui de 30 cm) ; le bas de leur toile, toujours vide, est rogné. */
.soumission-original .format-gateau>.field{margin-top:16px}
.soumission-original .choices:has(input[name=forme]),.soumission-original .choices:has(input[name=formatEtages]){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:4px}
.soumission-original .choice:has(input[name=forme])>span,.soumission-original .choice:has(input[name=formatEtages])>span{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;width:100%;height:100%;padding:14px 10px;border:1px solid var(--line);border-radius:0;background:#fff;color:#000;font-size:.94rem;line-height:1.3;text-align:center;box-shadow:none;transition:border-color .18s,background .18s,box-shadow .18s}
.soumission-original .choice:has(input[name=forme]):hover>span,.soumission-original .choice:has(input[name=formatEtages]):hover>span{background:var(--ivory)}
.soumission-original .choice:has(input:checked[name=forme])>span,.soumission-original .choice:has(input:checked[name=formatEtages])>span{border-color:#000;background:#fff;box-shadow:inset 0 0 0 1px #000}
.soumission-original .choice:has(input:checked[name=forme])>span::after,.soumission-original .choice:has(input:checked[name=formatEtages])>span::after{content:'✓';position:absolute;right:10px;top:8px;font-size:.95rem;color:#000}
.soumission-original .choice:has(input[name=forme]) img{display:block;width:100%;max-width:112px;height:auto;margin:0 auto 4px}
/* La toile des ronds (512 × 512) est rognée à ce que les gâteaux occupent, de x 56 à 456 et de y 0 à 420 ; la
   pastille du formulaire d'origine (.choice span) ne s'applique pas à l'illustration. */
.soumission-original .choice .choix-illustration{display:block;width:100%;max-width:128px;min-height:0;aspect-ratio:400 / 420;overflow:hidden;margin:0 auto 2px;padding:0;border:0;border-radius:0;background:none;transition:none}
.soumission-original .choix-illustration img{display:block;width:128%;max-width:none;height:auto;margin-left:-14%}
.soumission-original .choice:has(input[name=formatEtages]) strong{font-weight:500}
.soumission-original .choice:has(input[name=formatEtages]) small{display:block;font-size:.8125rem;line-height:1.35;color:var(--doux)}
.soumission-original .choice:has(input[name=formatEtages]) .choix-etages{font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase}
.soumission-original .choice:has(input[name=formatEtages][value="Je ne sais pas encore"]){grid-column:1 / -1}
.soumission-original .choice:has(input[name=formatEtages][value="Je ne sais pas encore"])>span{justify-content:center;min-height:52px}
/* À l’ordinateur, les cinq ronds d’un étage sur une rangée, du plus petit au plus grand ; les gâteaux à étages gardent
   trois colonnes : une rangée par nombre d’étages (2, 3, puis 4 et 5). */
@media(min-width:641px){.soumission-original .choices[aria-labelledby=lblFormatRond]:has(input[name=formatEtages]){grid-template-columns:repeat(5,minmax(0,1fr))}}
/* La forme du gâteau sur une seule rangée dès que la largeur le permet (demande d’Hakim, 14 oct.) : six petites
   cartes ; au téléphone, trois par rangée, pour que chaque nom reste lisible. */
@media(min-width:768px){.soumission-original .choices[aria-labelledby=lblForme]:has(input[name=forme]){grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.soumission-original .choice:has(input[name=forme])>span{padding:10px 6px;font-size:.8125rem}.soumission-original .choice:has(input[name=forme]) img{max-width:80px}.soumission-original .choice:has(input:checked[name=forme])>span::after{right:5px;top:3px;font-size:.85rem}}
/* Carrés et rectangles (14 oct.) : leur illustration détaillée au-dessus de la dimension ; quatre par rangée à
   l’ordinateur, deux au téléphone. */
.soumission-original .choice:has(input[name=formatEtages])>span>img{display:block;width:100%;max-width:112px;height:auto;margin:0 auto 4px}
@media(min-width:641px){.soumission-original .choices:is([aria-labelledby=lblFormatCarre],[aria-labelledby=lblFormatRectangle]):has(input[name=formatEtages]){grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:640px){.soumission-original .choices:is([aria-labelledby=lblFormatCarre],[aria-labelledby=lblFormatRectangle]):has(input[name=formatEtages]){grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Sculpté (3D) et autre forme : « Joindre des photos d'inspiration » ouvre le champ des photos de l'étape
   Personnalisation ; le nombre de photos jointes s'écrit à côté. */
.soumission-original .photos-forme{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.soumission-original .bouton-photos{min-height:44px;padding:10px 18px;border:1px solid #000;border-radius:0;background:#fff;color:#000;font-size:.9rem;line-height:1.3;cursor:pointer}
.soumission-original .bouton-photos:hover{background:var(--ivory)}
.soumission-original .photos-forme-compte{font-size:.875rem;color:var(--doux)}
@media(max-width:640px){.soumission-original .choices:has(input[name=forme]),.soumission-original .choices:has(input[name=formatEtages]){gap:8px}.soumission-original .choice:has(input[name=forme])>span,.soumission-original .choice:has(input[name=formatEtages])>span{padding:10px 6px;font-size:.85rem}.soumission-original .choice:has(input:checked[name=forme])>span::after,.soumission-original .choice:has(input:checked[name=formatEtages])>span::after{right:6px;top:4px}.soumission-original .choice:has(input[name=formatEtages]) small{font-size:.75rem}}
