/* V125 — lisibilité, navigation et informations locales.
   Chargé après les styles historiques pour préserver l'identité graphique. */
.skip-link{position:fixed;top:8px;left:12px;z-index:10000;padding:13px 18px;background:#202428;color:#fff;border-radius:8px;font-size:16px;clip-path:inset(100%)}
.skip-link:focus{clip-path:none}
:focus-visible{outline:3px solid #202428!important;outline-offset:4px!important}
.footer :focus-visible{outline-color:#fff!important}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
section[id],main[id],.flow-panel{scroll-margin-top:108px}
.home-body .hero-photo{background:#292824!important;position:relative;overflow:hidden}
.hero-real-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 43%;z-index:-2}
.home-body .hero-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.2));pointer-events:none;z-index:-1}
.home-body .hero-photo-note{z-index:1}
.home-body .hero-sub{font-size:17px!important;line-height:1.65!important}
.home-body .eyebrow{font-size:11px!important;line-height:1.6!important;letter-spacing:.12em!important}
.home-body .nav-links a,.home-body .header-pass-link{font-size:13px!important}
.home-body .nav-links{gap:24px!important}
.home-body .btn,.home-body .header-cta,.home-body .mon-pass-callout-box .btn{font-size:14px!important;min-height:48px!important;line-height:1.4!important}
.home-body .hero-point strong{font-size:14px!important;line-height:1.3!important}
.home-body .hero-point small{font-size:12px!important;line-height:1.45!important;color:#575d62!important}
.home-body .hero-photo-note span{font-size:10px!important}
.home-body .hero-photo-note strong{font-size:13px!important}
.home-body .booking-reassurance,.home-body .section-head-left>p,.home-body .price-card>p,.home-body .price-card ul,.home-body .faq-item p,.home-body .mon-pass-callout-box p,.home-body .contact-box p{font-size:15px!important;line-height:1.65!important;color:#51585e!important}
.home-body .booking-trust-v116 span,.home-body .date-hold,.home-body .date-service-card small,.home-body .date-service-card>span{font-size:12px!important;line-height:1.5!important}
.home-body .date-service-card strong{font-size:14px!important}
.home-body .booking-progress span{font-size:12px!important}
.home-body .booking-progress span b{font-size:12px!important}
.home-body .calendar-panel,.home-body .date-panel{min-width:0}
.home-body .calendar-top strong{font-size:18px!important}
.home-body .calendar-top button{min-width:44px;min-height:44px}
.home-body .weekdays span{font-size:12px!important;color:#596067!important}
.home-body .day{font-size:16px!important;min-height:44px!important;position:relative}
.home-body .day small{font-size:9px!important}
.home-body .day[data-state="free"]{color:#202428!important}
.home-body .day[data-state="free"]::after{content:"";display:block;position:absolute;bottom:5px;left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:#367952}
.home-body .day.selected-day::after{display:none}
.home-body .day.empty{background:transparent!important;border:0!important;box-shadow:none!important}
.calendar-feedback{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-height:42px;margin-top:8px}
.calendar-feedback p{font-size:13px;line-height:1.5;color:#51585e;margin:0;flex:1;min-width:160px}
.calendar-feedback p[data-state="error"]{color:#973b25}
.calendar-retry{border:1px solid #d6d8da;background:#fff;color:#202428;border-radius:8px;padding:10px 14px;min-height:44px;font-size:14px;cursor:pointer}
.calendar-legend{display:flex;flex-wrap:wrap;gap:8px 16px;padding-top:9px;border-top:1px solid #e6e6e6;font-size:12px;color:#51585e}
.calendar-legend span{display:inline-flex;align-items:center;gap:6px}
.calendar-legend i{width:10px;height:10px;border-radius:50%;display:inline-block}
.legend-free{background:#367952}.legend-unavailable{background:#aa5144}.legend-selected{background:#fb4602}
.home-body .selected-date-box strong,.home-body .date-panel-head strong{font-size:15px!important;line-height:1.5!important}
.home-body #clearDate{font-size:13px!important;min-height:44px}
.home-body .quick-info-grid strong{font-size:16px!important;line-height:1.35!important}
.home-body .quick-info-grid small{font-size:13px!important;line-height:1.5!important;color:#596067!important}
.home-body .material-specs-v106 strong{font-size:16px!important;line-height:1.35!important}
.home-body .material-specs-v106 span{font-size:12px!important;line-height:1.5!important;color:#596067!important}
.home-body .audience-strip-inner-v109 strong{font-size:20px!important;line-height:1.3!important}
.home-body .audience-strip-inner-v109 small{font-size:14px!important;line-height:1.5!important}
.home-body .audience-link-v109{font-size:14px!important;min-height:44px;display:inline-flex;align-items:center}
.home-body .price-card ul{display:grid;gap:10px}
.home-body .price-card ul li{font-size:14px!important;line-height:1.6!important;color:#51585e!important}
.home-body .hero-actions-v106 .btn,.home-body .price-card .btn,.home-body .cta-box .btn,.home-body .contact-actions .btn{font-size:14px!important}
.home-body .date-hold>span,.home-body .date-service-card>span,.home-body .date-service-card small,.home-body .price-tag,.home-body .pass-teaser-points-v110 small{color:#555d64!important}
.home-body .pass-teaser-copy-v110>span,.home-body .pass-teaser-points-v110 b,.home-body .section-mini-head>span,.home-body .section-head-left>span,.home-body .mon-pass-callout-box>div>span,.home-body .contact-box>div>span{color:#aa3307!important;font-size:11px!important}
.home-body .local-delivery-card>.eyebrow,.home-body .cta-box>div>span{color:#555d64!important;font-size:11px!important}
.home-body .btn-orange,.home-body .header-cta,.flow-body .btn-orange{background:#ca3700!important;color:#fff!important}
.home-body .btn-orange:hover,.home-body .header-cta:hover,.flow-body .btn-orange:hover{background:#b73100!important}
.home-body .price-tag,.home-body .student-badge{font-size:12px!important}
.home-body .pass-teaser-copy-v110 p{font-size:15px!important;line-height:1.65!important;color:#51585e!important}
.home-body .pass-teaser-copy-v110 h2{font-size:clamp(27px,3vw,40px)!important;line-height:1.15!important}
.home-body .pass-teaser-points-v110 strong{font-size:14px!important;line-height:1.4!important}
.home-body .pass-teaser-points-v110 small{font-size:12px!important;line-height:1.5!important}
.home-body .faq-item summary{font-size:16px!important;line-height:1.45!important;min-height:64px;gap:14px}
.home-body .faq-item summary>span{flex:1;min-width:0}
.home-body .faq-item summary i{flex-shrink:0}
.home-body .faq-item p{padding-bottom:18px!important}
.home-body .footer-brand p,.home-body .footer-contact-block small,.home-body .footer-social-block small{font-size:13px!important;line-height:1.65!important;color:#bbc0c4!important}
.home-body .footer-links-block nav a,.home-body .footer-contact-block a,.home-body .footer-social-block a{font-size:14px!important;color:#e2e5e7!important;min-height:32px;display:inline-flex;align-items:center}
.home-body .footer-links-block>strong,.home-body .footer-contact-block>strong,.home-body .footer-social-block>strong{font-size:12px!important;color:#d2d6d9!important}
.home-body .footer-bottom,.home-body .footer-legal-links a{font-size:12px!important;color:#bbc0c4!important;line-height:1.6!important}
.home-body .footer-legal-links a{min-height:32px;display:inline-flex;align-items:center}
.local-service-section{padding:64px 0 30px}
.local-service-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:48px;align-items:start}
.local-service-copy h2{font-size:clamp(28px,3vw,40px);line-height:1.15;letter-spacing:-.025em;margin:10px 0 20px}
.local-service-copy p{font-size:15px;line-height:1.75;color:#51585e;margin:0 0 16px}
.local-service-copy strong{color:#252b30;font-weight:750}
.local-contact-link{font-size:14px;line-height:1.6;display:inline-block;color:#22282c;padding:10px 0;font-weight:800;text-decoration:underline;text-underline-offset:4px}
.local-delivery-card{padding:28px;background:#fff;border:1px solid #e1e3e5;border-radius:22px;box-shadow:0 12px 36px #23282c06}
.local-delivery-card h3{font-size:22px;line-height:1.3;margin:12px 0;font-family:"Nexa Heavy",sans-serif}
.local-delivery-card p{font-size:14px;line-height:1.65;color:#51585e}
.local-delivery-card dl{margin:18px 0}
.local-delivery-card dl>div{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid #e9eaeb;font-size:14px}
.local-delivery-card dd{margin:0;font-weight:800;white-space:nowrap}
.local-delivery-card .local-delivery-note{font-size:13px}
.local-delivery-card a{font-size:13px;font-weight:750;color:#252b30;text-decoration:underline;text-underline-offset:3px}
.pass-conditions{font-size:14px;line-height:1.6;color:#51585e;margin:0 0 24px;padding:14px 18px;background:#fff;border:1px solid #e2ddd7;border-radius:12px}
.flow-body .flow-progress{flex-wrap:wrap}
.flow-body .flow-panel-title{scroll-margin-top:100px}
.flow-body .flow-form :is(input,select,textarea){font-size:16px!important}
.flow-body .pass-select-card{scroll-margin-top:90px}
.flow-body .pass-label{font-size:12px!important}
.flow-body .pass-select-card .pass-label,.flow-body .pass-summary>.eyebrow,.flow-body #passStandaloneCard .pass-step{color:#555d64!important}
.flow-body .pass-select-card.active .pass-label{padding-right:46px}
.flow-body .pass-select-card.active::after{font-size:10px!important}
.flow-body .pass-form-title p{font-size:14px!important}
.flow-body .flow-nav .brand-logo-img{height:auto!important}
.flow-body .flow-back,.flow-body .flow-help-link{color:#51585e!important}
.flow-body .flow-head>p:not(.eyebrow){font-size:15px!important;line-height:1.6!important;color:#51585e!important}
.flow-body .flow-progress span{font-size:12px!important;line-height:1.5!important}
.flow-body .flow-progress span.active{color:#aa3307!important}
.flow-body .flow-progress span:not(.active){color:#555d64!important}
.flow-body .hold-pill{font-size:12px!important;line-height:1.6!important;color:#51585e!important}
.flow-body .booking-service-strip b{font-size:11px!important;color:#aa3307!important}
.flow-body .booking-service-strip strong{font-size:14px!important;line-height:1.5!important}
.flow-body .booking-service-strip small{font-size:12px!important;line-height:1.5!important;color:#555d64!important}
.flow-body .flow-panel-title>span{font-size:12px!important;color:#aa3307!important}
.flow-body .change-mode{font-size:13px!important;min-height:44px;color:#51585e!important}
.flow-body .flow-form label{font-size:14px!important;line-height:1.6!important;color:#424a51!important}
.flow-body .flow-form small{font-size:12px!important;line-height:1.6!important;color:#555d64!important}
.flow-body .flow-form :is(.structured-address-card,.booking-time-card,.travel-quote-box)>span{font-size:12px!important;line-height:1.5!important;color:#715244!important}
.flow-body .flow-form .fixed-service-field strong,.flow-body .flow-form .travel-quote-box strong,.flow-body .flow-form .rental-conditions-box strong{font-size:14px!important;line-height:1.6!important}
.flow-body .flow-form .option-card strong,.flow-body .payment-option strong,.flow-body .payment-choice legend{font-size:14px!important;line-height:1.5!important}
.flow-body .payment-badge{font-size:11px!important;color:#37424a!important}
.flow-body .payment-option-stripe .payment-badge{color:#fff!important;background:#554bcc!important}
.flow-body .option-card>b{color:#aa3307!important;font-size:14px!important}
.flow-body .rental-conditions-box>span,.flow-body #help>div>span{color:#8c3a1c!important;font-size:12px!important}
.flow-body #help>div>p{color:#51585e!important;font-size:14px!important;line-height:1.6!important}
.flow-body .mode-card p,.flow-body .mode-card li{font-size:14px!important;line-height:1.6!important;color:#51585e!important}
.flow-body .mode-card>span,.flow-body .mode-card em{font-size:13px!important}
.flow-body .mode-badge{font-size:10px!important}
.flow-body .rental-conditions-box,.flow-body .rental-conditions-box li,.flow-body .rental-conditions-box p,.flow-body .flow-form .check>span{font-size:13px!important;line-height:1.65!important;color:#424a51!important}
.flow-body .order-card>span,.flow-body .order-lines span,.flow-body .order-total>span{font-size:12px!important;line-height:1.5!important;color:#c5cbd0!important}
.flow-body .order-card .order-kicker{font-size:12px!important;color:#ffb18e!important}
.flow-body .order-lines b{font-size:13px!important;line-height:1.5!important}
.flow-body .order-lines>div{gap:16px;align-items:center;padding-block:10px}
.flow-body .order-lines b{text-align:right;max-width:65%}
.flow-body .pass-summary-row strong{font-size:14px!important;line-height:1.5!important}
.flow-body .pass-summary-row span,.flow-body .pass-trust div,.flow-body .pass-trust strong{font-size:13px!important;line-height:1.6!important;color:#51585e!important}
.flow-body .pass-summary-icon{color:#aa3307!important}
.flow-body .pass-summary-price{color:#aa3307!important}
.flow-body .pass-select-card.active .pass-label{color:#aa3307!important}
.flow-body .pass-select-card.active::after{background:#ca3700!important}
.flow-body .pass-select-card li{font-size:14px!important;line-height:1.5!important}
.flow-body .pass-step{font-size:11px!important;color:#555d64!important}
.flow-body .pass-check{font-size:14px!important;line-height:1.6!important}
.flow-body .booking-pass-alternative{font-size:14px;line-height:1.6;margin:22px 0}
.flow-body .booking-pass-alternative a{color:#424a51;text-decoration:underline;text-underline-offset:4px}
.flow-body .legal-mini-footer a{font-size:12px!important;min-height:44px;display:inline-flex;align-items:center;color:#555d64!important}
@media(max-width:390px){.flow-body .flow-progress span{font-size:10px!important}}
@media(min-width:760px) and (max-width:1100px){
 .home-body .nav-links{gap:16px!important}.home-body .nav-links a{font-size:12px!important}
 .home-body .header-pass-link{display:none!important}
 .home-body .hero-points{grid-template-columns:1fr!important;gap:12px!important}
 .home-body .hero-point{max-width:none!important}
}
@media(max-width:759px){
 section[id],main[id],.flow-panel{scroll-margin-top:90px}
 .home-body .header-cta{font-size:12px!important;padding:0 12px!important;min-height:44px!important}
 .home-body .menu-toggle{min-width:44px;min-height:44px}
 .home-body .mobile-menu{max-height:calc(100dvh - 78px);overflow-y:auto;overscroll-behavior:contain}
 .home-body .mobile-menu a{font-size:16px!important;min-height:44px;display:flex;align-items:center}
 .home-body .hero-sub{font-size:16px!important;line-height:1.65!important}
 .home-body .hero h1{line-height:1!important}
 .home-body .hero-point strong{font-size:13px!important}
 .home-body .hero-point small{font-size:12px!important}
 .home-body .booking-card{padding:18px 14px!important}
 .home-body .booking-progress span{font-size:11px!important;min-width:0}
 .home-body .booking-progress{gap:5px!important}
 .home-body .calendar-panel,.home-body .date-panel{padding:12px!important}
 .home-body .booking-trust-v116{gap:6px!important;flex-wrap:wrap!important}
 .home-body .booking-trust-v116 span{font-size:11px!important;padding:6px 9px!important;min-height:30px!important}
 .home-body .day{font-size:15px!important}
 .home-body .quick-info-grid article{padding:18px 14px!important;gap:12px!important}
 .home-body .quick-info-grid strong{font-size:15px!important}
 .home-body .quick-info-grid small{font-size:13px!important}
 .home-body .material-specs-v106>div{min-width:0;padding:14px 12px!important}
 .home-body .material-specs-v106 strong{font-size:15px!important}
 .home-body .mon-pass-callout-box p{font-size:14px!important}
 .home-body .faq-item summary{font-size:15px!important;padding:16px!important}
 .home-body .faq-item p{font-size:14px!important;padding:0 16px 18px!important}
 .home-body .footer-links-block nav a,.home-body .footer-contact-block a,.home-body .footer-social-block a,.home-body .footer-legal-links a{min-height:44px}
 .local-service-section{padding:38px 0 20px}
 .local-service-grid{grid-template-columns:1fr;gap:20px}
 .local-delivery-card{padding:22px 18px}
 .flow-body .flow-nav{flex-wrap:wrap;padding-block:8px}
 .flow-body .flow-nav-actions{margin-left:auto;flex-wrap:wrap}
 .flow-body .flow-back,.flow-body .flow-help-link{font-size:12px!important;min-height:44px}
 .flow-body .pass-plan-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;overflow:visible!important;gap:12px!important;scroll-snap-type:none!important}
 .flow-body .pass-select-card{width:100%!important;min-width:0!important;max-width:none!important}
}
@media(max-width:360px){
 .home-body .header-cta{display:none!important}
 .home-body .hero-actions-v106{grid-template-columns:1fr!important;flex-direction:column!important}
 .home-body .hero-actions-v106 .btn{width:100%!important}
 .home-body .booking-progress span{font-size:10px!important}
 .home-body .calendar-panel{padding:9px!important}
 .home-body .day small{font-size:8px!important}
 .home-body .material-specs-v106{grid-template-columns:1fr 1fr!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}

/* V126 — options claires et horaires facultatifs repliables. */
.home-body .pricing-option{display:flex;align-items:center;gap:14px;width:fit-content;max-width:100%;padding:17px 20px;background:#fff;border:1px solid #d9d6d0;border-radius:14px;cursor:pointer;margin:24px 0 0}
.home-body .pricing-option:has(input:checked){border-color:#bd3808;background:#fff7f2}
.home-body .pricing-option input{width:24px;height:24px;margin:0;flex-shrink:0;accent-color:#bf3606;cursor:pointer}
.home-body .pricing-option strong{font-size:16px!important;line-height:1.5;display:block;color:#252b2f}
.home-body .pricing-option strong b{font-size:14px;font-weight:700;color:#9c300a;margin-left:8px;white-space:nowrap}
.home-body .pricing-option small{display:block;color:#555d64;font-size:13px!important;line-height:1.6;margin-top:2px}
.home-body .pricing-option-status{margin:10px 0 24px;font-size:13px;line-height:1.6;color:#555d64;min-height:21px}
.home-body .selected-offer{padding:14px 16px;background:#fff6ee;border:1px solid #e7c4ae;border-radius:12px;display:grid;gap:6px;margin:0 0 14px}
.home-body .selected-offer>span{font-size:10px;letter-spacing:.1em;color:#854122;font-weight:750}
.home-body .selected-offer strong{font-size:14px;line-height:1.6;color:#252b2f}
.home-body .selected-offer small{font-size:12px;line-height:1.5;color:#555d64}
.home-body .selected-offer a{font-size:13px;font-weight:700;min-height:32px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:3px;color:#91320f;width:fit-content}
.flow-body .schedule-disclosure{padding:0!important;border:1px solid #dcdedb!important;background:#f8f8f5!important;overflow:visible}
.flow-body .schedule-disclosure summary{min-height:68px;padding:16px 18px;cursor:pointer;list-style:none;display:flex;align-items:center;gap:14px;color:#2d363d}
.flow-body .schedule-disclosure summary::-webkit-details-marker{display:none}
.flow-body .schedule-disclosure summary::after{content:'+';font-size:23px;line-height:1;flex-shrink:0;font-weight:400;margin-left:auto;color:#525b60}
.flow-body .schedule-disclosure[open] summary::after{content:'−'}
.flow-body .schedule-disclosure summary>span{display:block}
.flow-body .schedule-disclosure summary strong{font-size:14px!important;line-height:1.5;font-weight:750;display:block}
.flow-body .schedule-disclosure summary strong small{font-size:12px!important;font-weight:500;white-space:nowrap}
.flow-body .schedule-disclosure summary>span>small{display:block;font-size:12px!important;font-weight:400;margin-top:3px}
.flow-body .schedule-disclosure .booking-time-grid{margin:0!important;padding:0 18px 12px}
.flow-body .schedule-disclosure>small{display:block;padding:0 18px 18px}
.flow-body .pass-check small{display:block;color:#555d64;font-size:12px;line-height:1.6;margin-top:4px}
@media(max-width:759px){
 .home-body .pricing-option{width:100%;padding:15px 14px;align-items:flex-start;gap:12px}
 .home-body .pricing-option input{margin-top:3px}
 .home-body .pricing-option strong{font-size:15px!important}
 .home-body .selected-offer a{min-height:44px}
 .flow-body .schedule-disclosure summary{padding:14px}
 .flow-body .schedule-disclosure .booking-time-grid{padding:0 14px 12px}
 .flow-body .schedule-disclosure>small{padding:0 14px 14px}
}

/* Une fois la formule choisie, donner la priorité aux informations à remplir. */
.flow-body.has-booking-mode .booking-service-strip{display:none!important}
.flow-body.has-booking-mode .flow-head{margin-bottom:24px!important}
.flow-body.has-booking-mode .flow-head h1{font-size:clamp(28px,3.5vw,42px)!important;line-height:1.15!important;margin-bottom:12px!important}
.flow-body.has-booking-mode .flow-head>p:not(.eyebrow){max-width:650px}
@media(max-width:759px){
 .flow-body.has-booking-mode .flow-head h1{font-size:29px!important;line-height:1.12!important}
 .flow-body.has-booking-mode .flow-head .hold-pill{margin-top:14px!important}
}
