/* AUD-SEO-20260919-GLOBAL: contact and consent, preserve the shared content width. */
html body :is(.request-form,.project-form,.quote-form,.contact-form) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea){font-size:16px!important;box-sizing:border-box;max-width:100%;min-width:0}
html body :is(.request-form,.project-form,.quote-form,.contact-form) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select){min-height:48px}
html body :is(.request-form,.project-form,.quote-form,.contact-form) :is(input[type="checkbox"],input[type="radio"]){width:20px!important;height:20px;min-height:20px;flex:0 0 20px}
html body :is(.form-grid,.form-grid>label,.contact-layout,.contact-grid){min-width:0}
html body :is(.form-extras){margin-block:16px;padding:12px;border:1px solid #c9d2d9;border-radius:8px}
html body .form-extras summary{cursor:pointer;min-height:32px;font-weight:600}
html body :is(.poly-consent,.consent-note,.cookie-banner){font-size:14px!important;line-height:1.45!important;padding:14px!important;max-height:calc(100dvh - 110px);overflow:auto}
html body :is(.poly-consent,.consent-note,.cookie-banner) :is(h2,strong){font-size:16px!important;margin-block:0 6px!important}
html body :is(.poly-consent,.consent-note,.cookie-banner) p{font-size:14px!important;margin-block:0 10px!important}
html body :is(.poly-consent-actions,.consent-actions,.cookie-actions) button{font-size:14px!important;min-height:44px;padding:10px 12px!important;flex:1}
html body :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #185a91;outline-offset:3px}
html body :is(.contact-form,.request-form,.project-form,.quote-form) button[type="submit"]{min-height:48px}
html body [role="alert"]{color:#8d1414}
@media(max-width:700px){
 html body :is(.poly-consent,.consent-note,.cookie-banner){bottom:80px!important;left:12px!important;right:12px!important;width:auto!important;max-width:none!important;transform:none!important}
 html body :is(.contact-hero,.contact-page .content-hero){padding-block:20px!important}
 html body :is(.contact-hero,.contact-page .content-hero) h1{font-size:clamp(28px,7.2vw,36px)!important;line-height:1.12!important;margin-block:8px 12px!important}
 html body :is(.request-form,.project-form,.quote-form){padding:16px!important}
 html body :is(.contact-standalone,.contact-layout){display:flex;flex-direction:column;gap:22px!important}
 html body :is(.contact-standalone,.contact-layout) :is(.quote-form,.project-form){order:0;width:100%}
 html body :is(.contact-standalone,.contact-layout)>.contact-intro{order:1}
 html body .contact-hero-grid{display:block}
 html body .contact-hero .contact-direct{display:none}
 html body .contact-section{padding-block:10px 28px!important}
 html body .contact-aside{margin-top:12px}
}

@media(max-width:700px){
 .pms-contact .hero{padding:20px 0!important;min-height:0!important}
 .pms-contact .hero p{font-size:16px;line-height:1.5}
 .pms-contact .section{padding:24px 0}
 .pms-contact .contact-form__char-hint{color:#526171}
 .pms-contact .contact-grid{margin-top:12px}
}

/* DEP-SEO-20260920-PMS-WIDTH */
.pms-contact .contact-grid > *{min-width:0;max-width:100%}
.pms-contact .contact-form{grid-template-columns:minmax(0,1fr);min-width:0}
.pms-contact .contact-form > *{min-width:0;max-width:100%}
.pms-contact .contact-aside{overflow-wrap:anywhere}
@media(max-width:800px){.pms-contact .contact-grid{grid-template-columns:minmax(0,1fr)}.pms-contact .contact-form,.pms-contact .contact-aside{padding:16px}}

/* Post-audit: keep mobile widths, strengthen secondary text contrast. */
html body #message-char-hint{color:#536171!important;opacity:1!important}
html body .pms-design .pm-brand small{color:#586673}
html body .before-after__figure figcaption{color:#fff!important;background:#172c3f!important}

/* CRO-20260926-01: reserve the mobile action area for consent while it is open. */
@media(max-width:700px){
 html body :is(.poly-consent,.consent-note,.cookie-banner){bottom:12px!important;max-height:calc(100dvh - 24px)}
 body:has(.poly-consent:not([hidden]),.consent-note,.cookie-banner) :is(#poly-mobile-actions,.mobile-cta-bar,.mobile-cta){display:none!important}
 body:has(form :is(input,textarea,select):focus) :is(#poly-mobile-actions,.mobile-cta-bar,.mobile-cta){display:none!important}
}
html body.pms-contact .hero{background:#f4f5f3!important;min-height:0!important;padding-block:20px!important;color:#172b3b!important}html body.pms-contact .hero::before,html body.pms-contact .hero::after,html body.pms-contact .hero__overlay{display:none!important}html body.pms-contact .hero :is(h1,p){color:#172b3b!important}html body.pms-contact .hero__inner{padding-block:0!important}html body.pms-contact .hero__actions{display:none}html body.pms-contact #formulaire{padding-top:16px!important}

@media(max-width:700px){html body.pms-contact .hero__kicker{display:none}html body.pms-contact .hero__subtitle{margin-bottom:0!important}html body.pms-contact .breadcrumb{padding-block:10px!important}html body.pms-contact #formulaire{padding-top:12px!important}html body.pms-contact .contact-grid{margin-top:0}body:has(.poly-consent:not([hidden])) .floating,body:has(form :is(input,textarea,select):focus) .floating{display:none!important}}
