/* La Sono du Coin — V141.7, finitions côté client.
   Design existant préservé, aucune logique de réservation modifiée. */

/* Texte et hiérarchie : Manrope pour lire, Nexa si présente, Inter Tight sinon. */
body.home-body,
body.flow-body,
body.legal-body { font-family:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.home-body .hero h1,
.home-body .booking-title-row h2,
.home-body .section-mini-head h2,
.home-body .section-head-left h2,
.home-body .big-price,
.home-body .cta-box h2,
.home-body .contact-box h2,
.booking-design h1,
.passes-design h1,
.flow-body h1,
.legal-body h1 {
  font-family:"Nexa Black","Inter Tight","Arial Black",sans-serif!important;
  font-weight:900!important;
  letter-spacing:-.047em!important;
}
.home-body .price-card h3,
.home-body .mon-pass-callout-box h2,
.home-body .faq-item summary strong,
.flow-body h2,
.legal-body h2,
.booking-design h2,
.passes-design h2 {
  font-family:"Nexa Heavy","Inter Tight",Arial,sans-serif!important;
  font-weight:800!important;
  letter-spacing:-.027em!important;
}
.home-body .hero h1 { line-height:1.02!important; }
.home-body .hero-sub { max-width:590px!important; }
.home-body .eyebrow,
.home-body .section-mini-head>span,
.home-body .section-head-left>span {
  font-family:"Manrope",Arial,sans-serif!important;
  font-weight:800!important;
  letter-spacing:.13em!important;
}
.home-body .big-price { font-variant-numeric:lining-nums tabular-nums; }

/* Navigation, appels à l'action, états clavier. */
.home-body .header { border-bottom-color:rgba(25,27,29,.1)!important; }
.home-body .header-cta,
.home-body .btn-orange { font-weight:800!important; letter-spacing:-.012em; }
.home-body :is(.btn,.header-cta),
.booking-design .btn,
.passes-design .btn {
  transition:box-shadow .2s ease, background-color .2s ease, transform .2s ease!important;
}
.home-body :is(a,button,input,select,summary):focus-visible,
.booking-design :is(a,button,input,select,textarea):focus-visible,
.passes-design :is(a,button,input,select):focus-visible,
.account-design :is(a,button,input,select):focus-visible {
  outline:3px solid #fb4602!important;
  outline-offset:3px!important;
}
.home-body section[id] { scroll-margin-top:105px; }
.home-body .price-card .btn,
.home-body .hero-actions-v106 .btn-orange {
  min-height:49px!important;
}

/* Cartes, plus de contraste sans changer les prix ni les prestations. */
.home-body .booking-card,
.home-body .price-card {
  border-radius:22px!important;
  border-color:rgba(25,27,29,.11)!important;
}
.home-body .price-card:first-child { border-color:rgba(251,70,2,.48)!important; }
.home-body .price-card>p,
.home-body .price-card ul li,
.home-body .section-head-left>p {
  color:#464d53!important;
}
.home-body .pricing-option { border-radius:16px!important; }
.home-body .pricing-option:focus-within {
  box-shadow:0 0 0 3px rgba(251,70,2,.13)!important;
}
.home-body .pricing-option-status { color:#434a50!important; }
.home-body .hero-photo-note { border-radius:14px!important; }
.home-body .hero-photo-note strong { letter-spacing:-.012em; }

/* Formulaire client : lisibilité des montants et des champs. */
.booking-design .order-total strong,
.passes-design .pass-price strong {
  font-family:"Nexa Black","Inter Tight","Arial Black",sans-serif!important;
  font-weight:900!important;
}
.booking-design :is(input,select,textarea),
.passes-design :is(input,select,textarea),
.account-design :is(input,select,textarea) { font-family:"Manrope",Arial,sans-serif; }
.booking-design .flow-form input:not([type="checkbox"]):not([type="radio"]),
.booking-design .flow-form select { min-height:45px; }

/* Mobile : garder les actions faciles à toucher et les titres équilibrés. */
@media(max-width:759px){
  .home-body .hero h1 { letter-spacing:-.05em!important; }
  .home-body .hero-sub { line-height:1.56!important; }
  .home-body .section-mini-head h2,
  .home-body .section-head-left h2 { line-height:1.04!important; }
  .home-body .price-card { min-height:0!important; }
  .home-body .price-card li { line-height:1.55!important; }
  .home-body .hero-actions-v106 .btn-orange { min-height:50px!important; }
  .booking-design :is(input,select,textarea),
  .passes-design :is(input,select,textarea) { font-size:16px; }
  .home-body section[id] { scroll-margin-top:82px; }
}
@media(prefers-reduced-motion:reduce){
  .home-body :is(.btn,.header-cta),
  .booking-design .btn,
  .passes-design .btn { transition:none!important; }
}

.lighting-home-cta{margin:25px 0 21px;padding:21px 24px;background:#fff5ed;border:1px solid #f1c6a9;border-radius:17px;color:#2c343a;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}.lighting-home-cta strong{font-size:14px}.lighting-home-cta a{color:#a94a18;font-weight:900;font-size:14px;text-underline-offset:4px}
