/* Identité officielle Créations Adélice : noir, blanc et sceau vectoriel. Aucun crème, aucun brun, aucun or :
   les gris viennent de ces jetons (--ivory pour les fonds, --line pour les filets, --muted, --doux et --texte
   pour les textes) ; le seul rouge est celui des erreurs (--erreur). verify.mjs refuse toute teinte chaude. */
:root{--paper:#fff;--ivory:#f5f5f5;--cocoa:#000;--muted:#626262;--gold:#000;--line:#dedede;--texte:#222;--doux:#555;--erreur:#a12b2b}
/* L'échelle des titres : un h1 toujours plus grand que les h2, des titres équilibrés, coupés seulement à la main. */
h1{font-size:clamp(2.4rem,3.2vw + 1rem,4.4rem)}
h2{font-size:clamp(1.9rem,2.4vw + .9rem,3rem)}
h3{font-size:1.45rem}
h1,h2,h3{text-wrap:balance;hyphens:manual}
/* Les surtitres : jamais sous 12 px. */
.eyebrow{font-size:.75rem;letter-spacing:.12em;color:var(--doux)}
/* Une photo de gâteau n'est jamais rognée, quel que soit son cadre. */
img[src*="/assets/creations-adelice-gateau-"]{object-fit:contain;background:#fff}
.button{border-radius:0;transition:background .18s ease,color .18s ease}
.button-light{background:#fff;color:#000;border-color:#000;transition:background-color .18s ease,color .18s ease,border-color .18s ease}
.button-light:hover,.button-light:focus-visible{background:var(--ivory);color:#000;border-color:#000}
/* Un lien texte seul (accueil, documents, panneaux) : une cible de 44 px de haut, le texte posé en bas pour que son
   filet reste juste dessous ; la flèche garde son espace (gap). */
.text-link{display:inline-flex;align-items:flex-end;gap:.3em;min-height:44px;border-color:#000;text-underline-offset:5px}
em{color:inherit}
.occasion-card>div{position:relative;padding-right:34px}
.occasion-card .occasion-icon{position:absolute;right:0;top:26px;width:25px;height:25px;aspect-ratio:1;object-fit:contain}
/* Le séparateur des sections : le petit gâteau au centre, un filet fin de chaque côté, à la largeur du contenu. Partout
   le même espace (demande d'Hakim, 10 oct.) : 24 px au-dessus et au-dessous ; la section voisine n'ajoute pas le sien. */
/* Prioritaire (!important) : les règles propres à chaque section ne doivent jamais rajouter d'espace contre un séparateur. */
.separateur+*{padding-top:0!important;margin-top:0!important}
:has(+.separateur){padding-bottom:0!important;margin-bottom:0!important}
.separateur{display:block;width:min(1160px,88%);height:30px;margin:24px auto;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}
.closing{background:#f5f5f5;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
/* Le titre d'une invitation finale à l'échelle des h2, sur toutes les pages, galerie comprise (style.css le portait à
   4,6rem) : jamais plus grand que le h1 de la page. */
.closing h2{font-size:clamp(1.9rem,2.4vw + .9rem,3rem);line-height:1.08}
.closing-mark{width:48px;height:52px;object-fit:contain;margin:0 auto 25px}
.gallery-photo>span{background:#fffffff0}
.gallery-filters button{border-radius:0}
.form-progress li{color:#626262}
.field input:not([type=file]),.field select,.field textarea{border-radius:0}
@media(max-width:600px){.occasion-card .occasion-icon{top:21px}.closing{padding-top:45px}}
@media(prefers-reduced-motion:reduce){.button,.button-light{transition:none}}
.occasion-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.occasion-card h3{font-size:1.85rem}
@media(min-width:541px) and (max-width:1000px){.occasion-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.back-to-top{position:fixed;right:22px;bottom:calc(var(--mobile-order-height,0px) + 18px);z-index:15;display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid #d0d0d0;border-radius:50%;background:#fff;color:#111;box-shadow:0 3px 12px #00000010;transition:background .18s ease,border-color .18s ease}
.back-to-top:hover,.back-to-top:focus-visible{background:#eee;border-color:#333}
@media(max-width:600px){.back-to-top{right:14px;width:44px;height:44px;bottom:calc(var(--mobile-order-height,0px) + 14px)}}
@media(prefers-reduced-motion:reduce){.back-to-top{transition:none}}
