/* Appointment request: extend the shared navy and graphite palette. */
header .rdvMenuLink { display:none; }
header .rdvHeaderCta { white-space:nowrap; }
header .nav:has(.rdvHeaderCta) { gap:18px; }
header .nav:has(.rdvHeaderCta) .links { gap:15px; }
header .rdvHeaderCta:focus-visible, header .rdvMenuLink:focus-visible { outline:3px solid #f4c542; outline-offset:4px; }
.contactPage .pageHero { min-height:430px; padding:65px 0; }
.contactPage .pageHero h1 { font-size:clamp(2.65rem,5vw,4.9rem); }
.contactPage .pageHero .wrap { padding-top:0; }
.contactPage #contact { padding-top:64px!important; }
.appointmentSection { display:none; }
.contactPage .appointmentSection { display:block; }
#demande-rdv { scroll-margin-top:96px; padding:70px 0 0; margin-top:70px; border-top:1px solid #ffffff20; color:#f5f7fa; }
#demande-rdv [hidden] { display:none!important; }
#demande-rdv * { min-width:0; }
#demande-rdv .rdvLayout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:70px; align-items:start; }
#demande-rdv .eyebrow { color:#f4c542; font-size:.875rem; }
#demande-rdv h2 { font-size:clamp(2.3rem,4vw,3.7rem); line-height:1.06; margin-bottom:24px; }
#demande-rdv p { color:#bdc9d3; }
#demande-rdv .rdvIntro > p:not(.eyebrow) { font-size:1.0625rem; line-height:1.7; }
#demande-rdv .rdvSteps { margin:32px 0; padding:0; list-style:none; }
#demande-rdv .rdvSteps li { display:flex; gap:18px; padding:18px 0; border-bottom:1px solid #ffffff18; }
#demande-rdv .rdvSteps li > span { color:#f4c542; font-size:.875rem; padding-top:3px; }
#demande-rdv .rdvSteps h3 { font-size:1.125rem; margin:0 0 7px; line-height:1.35; }
#demande-rdv .rdvSteps p { font-size:1rem; margin:0; line-height:1.65; }
#demande-rdv .rdvComing { padding:25px; border:1px solid #ffffff24; border-radius:18px; background:#182a38; }
#demande-rdv .rdvComing > span { display:inline-block; color:#e2c56e; font-size:.875rem; margin-bottom:12px; }
#demande-rdv .rdvComing h3 { font-size:1.25rem; line-height:1.3; margin:0 0 13px; }
#demande-rdv .rdvComing p { margin:0; line-height:1.7; }
#demande-rdv .rdvDirect { margin:24px 0 0; }
#demande-rdv .rdvDirect a { color:#e1c979; overflow-wrap:anywhere; text-underline-offset:4px; }
#demande-rdv .rdvDirect a:hover { text-decoration:underline; }
#demande-rdv .rdvPanel { padding:34px; border:1px solid #ffffff25; border-radius:22px; background:#172532; }
#demande-rdv form { display:grid; gap:22px; margin:0; }
#demande-rdv .rdvFormHeading h3 { font-size:1.65rem; letter-spacing:-.025em; line-height:1.15; margin:0 0 12px; }
#demande-rdv .rdvFormHeading p:last-child { margin:0; font-size:.875rem; }
#demande-rdv .rdvTwoCols { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
#demande-rdv .rdvField { display:grid; gap:9px; align-content:start; }
#demande-rdv label { display:block; color:#eef3f8; font-size:1rem; font-weight:650; line-height:1.4; }
#demande-rdv label span { font-size:.875rem; color:#b4c3d0; font-weight:400; }
#demande-rdv :is(input,select,textarea) { width:100%; max-width:100%; min-height:48px; font:inherit; font-size:1rem; color:#f5f7fa; border:1px solid #697f90; border-radius:10px; background:#101b26; padding:12px; color-scheme:dark; }
#demande-rdv textarea { resize:vertical; line-height:1.65; }
#demande-rdv input::placeholder,#demande-rdv textarea::placeholder { color:#a9b8c5; opacity:1; }
#demande-rdv :is(input,select,textarea):focus-visible { outline:3px solid #f4c542; outline-offset:3px; }
#demande-rdv :is(a,button):focus-visible { outline:3px solid #f4c542; outline-offset:5px; }
#demande-rdv .rdvHelp { font-size:.875rem; color:#b2c2cf; line-height:1.6; margin:0; }
#demande-rdv .rdvTiming { min-width:0; margin:0; padding:20px 0 0; border:0; border-top:1px solid #ffffff24; }
#demande-rdv .rdvTiming legend { float:left; width:100%; font-size:1rem; font-weight:650; padding:0; margin:0 0 8px; }
#demande-rdv .rdvTiming > .rdvHelp { clear:both; margin-bottom:17px; }
#demande-rdv .rdvServiceNotice { padding:18px; border-left:3px solid #dbb54c; border-radius:0 12px 12px 0; background:#25333d; }
#demande-rdv .rdvServiceNotice strong { font-size:1rem; }
#demande-rdv .rdvServiceNotice p { font-size:.9375rem; margin:9px 0 0; }
#demande-rdv .rdvPrepare { font:inherit; font-weight:700; justify-content:center; cursor:pointer; min-height:48px; width:100%; }
#demande-rdv .rdvBeforeSend { margin-top:-6px; }
#demande-rdv .rdvReview { padding:0; }
#demande-rdv .rdvReview h3 { font-size:1.65rem; line-height:1.2; margin:0 0 25px; }
#demande-rdv .rdvReview dl { margin:0; }
#demande-rdv .rdvReview dl > div { display:grid; grid-template-columns:115px minmax(0,1fr); gap:18px; padding:14px 0; border-bottom:1px solid #ffffff1f; }
#demande-rdv .rdvReview dt { color:#aebecb; font-size:.9375rem; }
#demande-rdv .rdvReview dd { margin:0; color:#f5f7fa; overflow-wrap:anywhere; white-space:pre-wrap; }
#demande-rdv .rdvReview .rdvReviewNote { font-size:1rem; line-height:1.7; margin:25px 0; }
#demande-rdv .rdvSendActions { display:grid; gap:12px; }
#demande-rdv .rdvSendActions a { justify-content:center; text-align:center; }
#demande-rdv .rdvEdit { border:0; background:none; color:#e5c66c; font:inherit; cursor:pointer; padding:12px 0; min-height:44px; margin-top:18px; text-decoration:underline; text-underline-offset:4px; }
.rdvPageLinks { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; }
.rdvPageLinks a { display:inline-flex; padding:10px 0; font-size:1rem; color:#e3c76d; font-weight:700; text-underline-offset:5px; }
.rdvPageLinks a:hover { text-decoration:underline; }
#nanoflex .rdvPageLinks { border-top:1px solid #ffffff24; padding-top:20px; }
#services .rdvUpcoming { margin:48px 0 0; padding:28px 30px; border:1px solid #ffffff24; border-radius:18px; background:#172532; }
#services .rdvUpcoming > span { color:#e1c064; font-size:.875rem; }
#services .rdvUpcoming h3 { font-size:1.5rem; margin:13px 0; line-height:1.2; }
#services .rdvUpcoming p { color:#bdc9d3; max-width:800px; }
@media(max-width:1200px) {
 header:has(.rdvHeaderCta) .links { display:none; position:absolute; top:78px; left:0; right:0; background:#08111d; padding:24px; flex-direction:column; align-items:flex-start; }
 header:has(.rdvHeaderCta) .links.open { display:flex; }
 header:has(.rdvHeaderCta) .menu { display:block; min-width:44px; min-height:44px; }
 header:has(.rdvHeaderCta) .order { display:none; }
 header .rdvMenuLink { display:block; color:#f4c542; padding:8px 0; border-top:1px solid #ffffff20; }
}
@media(max-width:960px) { #demande-rdv .rdvLayout { grid-template-columns:1fr; gap:32px; } #demande-rdv .rdvIntro { max-width:700px; } }
@media(max-width:620px) {
 #demande-rdv { padding-top:42px; margin-top:48px; }
 #demande-rdv .rdvPanel { padding:25px 19px; border-radius:18px; }
 #demande-rdv .rdvTwoCols { grid-template-columns:1fr; gap:22px; }
 #demande-rdv .rdvReview dl > div { grid-template-columns:1fr; gap:5px; }
 #demande-rdv h2 { font-size:clamp(2rem,9vw,2.8rem); }
 #services .rdvUpcoming { padding:25px 22px; }
 .contactPage .pageHero { min-height:430px; }
}
