/* Composants légaux et cadeaux communs aux deux sorties. */
.ritual-card-actions{flex-wrap:wrap;gap:12px 20px;padding-block:16px}
.ritual-card-actions .gift-action{flex:0 1 auto;max-width:100%;white-space:normal;text-align:center}
.ritual-detail-link{margin:16px 0 0}
.voucher .voucher-rules,.voucher .voucher-contact{font:400 14px/1.6 var(--sans);color:inherit}
.voucher .voucher-contact{overflow-wrap:anywhere;margin:12px 0 20px}
@media(max-width:620px){.ritual-feature-content .actions>.gift-action,.detail-hero .actions>.gift-action{max-width:100%;white-space:normal;text-align:center}.ritual-card-actions .gift-action{width:100%}}
.legal-document { max-width: 900px; padding-top: 72px; padding-bottom: 100px; }
.legal-document h1 { font-size: clamp(2.4rem,5vw,4.5rem); margin: 20px 0 48px; overflow-wrap: anywhere; }
.legal-document section { margin-top: 42px; }
.legal-document h2 { font-size: clamp(1.5rem,3vw,2.2rem); margin-bottom: 18px; }
.legal-document p, .legal-document li, .legal-document dd { line-height: 1.8; }
.legal-document p { margin: 16px 0; }
.legal-document dt { margin-top: 20px; font-weight: 600; }
.legal-document dd { margin: 4px 0 0; }
.legal-document a, .gift-terms-link a { text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
.to-complete { color: var(--wine); background: var(--cream); padding: 2px 5px; }
.recruitment-block { scroll-margin-top: 120px; }
.recruitment-block p { max-width: 650px; margin-bottom: 24px; }
.gift-terms-link { margin-top: 24px; }

/* Demandes cadeaux WhatsApp : réutilise la composition et les styles de la charte. */
#gift-request { min-width: 0; }
#gift-request > p { margin-block: 18px; }
#gift-request .gift-selection { font-weight: 500; }
#gift-request .button { width: 100%; white-space: normal; text-align: center; }
#gift-request select { font-size: 16px; }
.gift-fallback { padding-left: 20px; }
.gift-fallback .text-link { min-height: 44px; padding-block: 10px; }

/* Repères de prix et réservation : informations visibles, sans animation requise. */
#soins .experience .experience-price { margin-top: 18px; color: var(--wine); font-size: 16px; line-height: 1.6; }
#soins .experience .experience-price strong { font-weight: 600; white-space: nowrap; }
#soins .experience .experience-price-note { margin-top: 3px; font-size: 14px; line-height: 1.6; }
.reservation-guide { margin-top: 30px; padding: 24px; background: var(--cream); border: 1px solid var(--line); }
.reservation-guide h3 { font: 400 24px/1.3 var(--serif); margin: 0 0 20px; }
.reservation-guide ol { padding-left: 1.4em; margin: 0; }
.reservation-guide li { padding-left: 5px; font-size: 16px; line-height: 1.6; }
.reservation-guide li + li { margin-top: 18px; }
.reservation-guide li::marker { color: var(--wine); font-weight: 600; }
.reservation-guide li strong { display: block; font-weight: 500; color: var(--wine); }
.reservation-guide li p { margin-top: 4px; font-size: 16px; line-height: 1.6; color: var(--muted); }
@media (max-width: 620px) { .reservation-guide { padding: 20px; margin-top: 24px; } }

/* Badge officiel transmis par le propriétaire, servi localement sans script tiers. */
.tripadvisor-award { display: flex; align-items: center; justify-content: center; gap: 32px; margin-top: 30px; padding: 22px 24px; border-top: 1px solid var(--line); }
.tripadvisor-award img { flex: 0 0 140px; width: 140px; height: auto; }
.tripadvisor-award-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.tripadvisor-award-copy .eyebrow { font-size: 12px; color: var(--muted); }
.tripadvisor-award-title { font: 30px/1.25 var(--serif); color: var(--ink); }
.tripadvisor-award-link { font-size: 14px; line-height: 1.6; color: var(--wine); text-decoration: underline; text-underline-offset: 4px; }
.tripadvisor-award:hover .tripadvisor-award-link { text-decoration-thickness: 2px; }
@media (max-width: 620px) {
 .tripadvisor-award { flex-direction: column; gap: 10px; padding: 20px 8px 10px; text-align: center; }
 .tripadvisor-award-copy { align-items: center; }
 .tripadvisor-award-title { font-size: 28px; }
}
