/* Finitions de la charte Barlow / noir / or de Jonathan. */
h1,h2,h3 { text-wrap:balance; }
.nav-links a { min-height:44px; display:inline-flex; align-items:center; }
.btn { white-space:normal; text-align:center; line-height:1.5; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible {
  outline:2px solid var(--gold-bright); outline-offset:4px;
}
section:not(.trust-strip):not(.cta-final) { padding-block:clamp(72px,8vw,112px); }
.section-head h2 { line-height:1.15; }
.section-head p { max-width:68ch; line-height:1.7; }
.service-body { padding:24px 4px 8px; }
.service-body h3 { line-height:1.25; }
.service-img img.photo { object-position:center 42%; }
.option-price { gap:16px; }
.option-price span { line-height:1.5; }
.option-price strong,.fabric-row .price { flex-shrink:0; font-variant-numeric:tabular-nums; }
.deposit-row { align-items:start; gap:16px; }
.deposit-row small { display:block; max-width:28ch; margin-top:6px; font-size:13px; line-height:1.5; color:var(--muted); }
.deposit-row strong { flex-shrink:0; font-variant-numeric:tabular-nums; }
.hosting-info { margin-bottom:16px; overflow-wrap:anywhere; }
.booking-form,.booking-info,.option-price { min-width:0; }
.booking-form .field-label { line-height:1.5; }
.calendar-panel iframe { height:900px; }
@media(max-width:560px) {
  .service-body { padding-top:18px; }
  .section-head .row { gap:20px; }
  .booking-form { padding:24px 18px; }
  .booking-step h4 { font-size:22px; }
}
@media(hover:hover) {
  .btn:active { transform:translateY(1px); }
}
@media(hover:none) {
  .btn:active,.menu-toggle:active,.choose-formula:active { transform:scale(.98); }
}
