/* Corrections visuelles après V4.1 : fichier distinct pour renouveler le cache. */
.is-page .reviews-widget>h1,.is-page .gallery-page>.page-intro>h1,.is-page .faq-page>.page-intro>h1{font-size:clamp(24px,2.4vw,30px);font-weight:500;line-height:1.5;letter-spacing:-.02em;margin-bottom:32px}
.is-page .reviews-widget>h1{text-align:center;margin-inline:auto}
.cta-panel--centered{text-align:center}
.cta-panel--centered p{margin-inline:auto}
.cta-panel--centered .cta-actions,.review-actions{justify-content:center}
.is-page .review-actions .google-reviews{background:#fff;color:#3c4043;border:1px solid #dadce0;border-radius:6px;padding:15px 25px;font-size:12px}
.is-page .review-actions .google-reviews:hover,.is-page .review-actions .google-reviews:focus-visible{background:#f1f5ff;color:#174ea6;border-color:#4285f4}
.mast a,.foot a,.about-profile__content a,.about-story__right a,.cta-panel a,.review-actions a{text-decoration:none!important}
.about-profile__content a,.about-story__right a{font-weight:700!important;border-bottom:0!important;box-shadow:none!important}
.is-page .about-profile__content a:hover,.is-page .about-profile__content a:focus-visible,.is-page .about-story__right a:hover,.is-page .about-story__right a:focus-visible{color:var(--gold)}
@media(max-width:560px){.is-page .reviews-widget>h1,.is-page .gallery-page>.page-intro>h1,.is-page .faq-page>.page-intro>h1{font-size:23px;line-height:1.5;margin-bottom:26px}}

/* Horaires mobiles : trois lignes cohérentes, numéro insécable. */
.foot__reservation{white-space:nowrap}
@media(max-width:600px){.foot .foot__local{font-size:14px;line-height:1.9}.foot__schedule-line{display:block;white-space:nowrap}.foot__schedule-separator{display:none}}
@media(max-width:360px){.foot .foot__local{font-size:12px}}

#formulaire-contact{scroll-margin-top:110px;margin:40px auto 65px}
.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
#contact-form label{display:block;font-size:15px;font-weight:700;margin:20px 0 8px}
#contact-form input,#contact-form textarea{display:block;width:100%;max-width:100%;padding:13px 14px;background:#f8f1e7;color:#211c16;border:1px solid #a48b67;border-radius:4px;font:16px/1.5 Manrope,Arial,sans-serif}
#contact-form textarea{resize:vertical}
#contact-form input:focus-visible,#contact-form textarea:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.is-page .contact-form-note{font-size:13px;line-height:1.7;margin-top:20px}
#contact-status{margin:18px 0 0;font-size:15px}
#contact-form button:disabled{opacity:.6;cursor:wait}
@media(max-width:600px){.contact-form-grid{grid-template-columns:1fr;gap:0}}

.contact-page .contact-card,.contact-page .hours-panel{padding:28px;background:rgba(18,16,13,.92);border:1px solid rgba(199,155,85,.42);border-radius:6px}
.contact-page .contact-card h2,.contact-page .hours-panel h2{color:var(--gold)}
.contact-page .contact-card a{overflow-wrap:anywhere}
.contact-page .contact-cards{align-items:stretch;gap:22px}
@media(max-width:560px){.contact-page .contact-card,.contact-page .hours-panel{padding:24px}}

.contact-page #route-title{color:var(--gold)}

/* V6 : titres Contact et Rendez-vous identiques au titre de l’accueil. */
.is-page .contact-page>.page-intro>h1,.is-page .appointment-page>.page-intro>h1{font-size:clamp(24px,2.4vw,30px);font-weight:500;line-height:1.5;letter-spacing:-.02em;margin-bottom:32px}
@media(max-width:560px){.is-page .contact-page>.page-intro>h1,.is-page .appointment-page>.page-intro>h1{font-size:23px;line-height:1.5;margin-bottom:26px}}

.studio-hours{width:100%;border-collapse:collapse;font-size:16px}
.studio-hours th,.studio-hours td{padding:10px 0;border-bottom:1px solid var(--line);text-align:left}
.studio-hours th{font-weight:600}.studio-hours td{text-align:right;white-space:nowrap}
.contact-confirmation{padding:36px 16px;text-align:center;scroll-margin-top:115px}
.contact-confirmation[hidden],#contact-form[hidden]{display:none}
.confirmation-check{display:grid;place-items:center;width:78px;height:78px;border:2px solid #68bb89;border-radius:50%;margin:0 auto 24px;color:#80d5a3;background:#173727;font-size:46px}
#contact-status.contact-status--error{padding:18px;border:1px solid #ee8a80;border-radius:4px;background:#3a1917;color:#ffe2dd;scroll-margin-top:115px}
#contact-name{scroll-margin-top:130px}
@media(max-width:400px){.studio-hours{font-size:14px}.contact-confirmation{padding:25px 0}}

/* Coordonnées centrées dans leurs encadrés. */
.contact-page .contact-card{text-align:center}
.contact-page .contact-card h2,.contact-page .contact-card p{margin-left:auto;margin-right:auto}

/* V10 : tailles cohérentes, liens et navigation au clavier. */
.is-page h1,.is-page .about-profile__title,.contact-page #route-title{font-size:clamp(24px,2.4vw,30px);line-height:1.5;font-weight:500}
.is-page h1,.is-page h2{color:var(--gold)}
.welcome a:not(.btn),.is-page main a:not(.btn):not(.g__item){text-decoration:none;font-weight:700}
.welcome a:not(.btn):hover,.welcome a:not(.btn):focus-visible{color:var(--gold)}
.lb[hidden]{display:none!important}
.lb__status{position:absolute;bottom:12px;color:var(--text);font-size:14px}
@media(max-width:560px){.is-page h1,.is-page .about-profile__title,.contact-page #route-title{font-size:23px}.lb__status{bottom:74px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.g__img,.welcome-social .social-button{transition:none}.g__item:hover .g__img,.welcome-social .social-button:hover{transform:none}}
