/* LOVEVENT : sections de contenu ajoutées (engagements, formules, étapes détaillées, FAQ, repères de maquette).
   Aucun nouveau composant visuel : cartes, blocs numérotés, sections alternées et boutons existants. */

/* Repère de maquette : disparaît à la mise en ligne (marqueurs [À VALIDER] / [À FOURNIR]) */
.av { background: #FFF1B8; color: #4D3A00; font: 600 12px/1.3 var(--font-sans); letter-spacing: 0; text-transform: none; padding: 2px 7px; border-radius: 6px; margin: 0 2px; white-space: normal; }

/* Blocs numérotés en deux colonnes (engagements, « ce qui compte pour vous ») */
.deux-col { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(32px, 6vw, 96px); border-bottom: 1px solid rgba(0, 0, 0, .12); }
.deux-col li:last-child { border-bottom: 0; }
.compte p { margin: 0; color: var(--c-texte); font-size: 18px; max-width: 46ch; }
@media (max-width: 900px) { .deux-col { grid-template-columns: 1fr; } .deux-col li:nth-last-child(2) { border-bottom: 0; } }

/* Trois formules : le composant carte existant, sans image */
.cartes--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.carte--formule { height: 100%; }
.carte--formule:hover { transform: none; }
.carte--formule .carte__corps { padding: 32px 30px 34px; gap: 12px; }
.formule__pour { font-weight: 600; color: var(--c-vert-profond) !important; font-size: 16px; }
.liste-points { margin: 4px 0 0; padding-left: 20px; color: var(--c-texte-secondaire); font-size: 16px; display: grid; gap: 8px; }
.carte--formule .btn { margin-top: auto; align-self: flex-start; }
.carte--formule .petit { margin-top: 8px; }
.prix[hidden] { display: none; }
@media (max-width: 1100px) { .cartes--3 { grid-template-columns: 1fr; } }

/* Étapes : ce que vous faites / ce que nous faisons */
.etapes li::before { align-self: start; margin-top: 2px; }
.etapes li .sous { display: block; margin: 2px 0 6px; font-size: 15px; }
.etapes li .qui { margin: 8px 0 0; color: var(--c-texte-secondaire); font-size: 17px; }
.etapes li .qui i { font-style: normal; font-weight: 700; color: var(--c-vert-profond); margin-right: 6px; }

/* FAQ en accordéon (details/summary natif, sans script) */
.faq { max-width: 880px; margin-top: 40px; border-top: 1px solid rgba(0, 0, 0, .12); }
.faq details { border-bottom: 1px solid rgba(0, 0, 0, .12); }
.faq summary { list-style: none; cursor: pointer; padding: 24px 56px 24px 0; font-size: 20px; font-weight: 700; letter-spacing: -.2px; line-height: 1.3; position: relative; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: ""; position: absolute; right: 8px; top: 50%; width: 11px; height: 11px; border-right: 2px solid var(--c-accent); border-bottom: 2px solid var(--c-accent); transform: translateY(-70%) rotate(45deg); transition: transform var(--motion-fast) var(--motion-ease); }
.faq details[open] summary::after { transform: translateY(-30%) rotate(-135deg); }
.faq .rep { padding: 0 0 26px; max-width: 70ch; }
.faq .rep p { margin: 0; color: var(--c-texte-secondaire); }

/* Engagements courts (page Contact) et listes simples */
.engagements-court { list-style: none; margin: 14px 0 6px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 22px; font-size: 15px; font-weight: 600; color: var(--c-vert-profond); }
.engagements-court li::before { content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--c-accent); margin-right: 8px; vertical-align: middle; }
.contact__carte > .surtitre { margin-bottom: 4px; }
.contact__carte .engagements-court + .petit { margin: 0 0 28px; }

/* Typographie : pas de mot seul en fin de ligne */
p, li, .intro, summary { text-wrap: pretty; }
h1, h2, h3 { text-wrap: balance; }

/* Les attributs width/height des images ne doivent pas fixer la hauteur (le rapport 3:2 de la carte s'applique) */
.carte img { height: auto; }
.bloc__photo img { height: 100%; }
