/* Accessible controls and responsive layout fixes, October 2026. */
html {scroll-behavior:smooth;scroll-padding-top:110px}
#reviews, #place-map-wrapper {scroll-margin-top:110px}
.consent-banner {position:fixed;bottom:0;left:0;right:0;z-index:9999;background:#fff;border-top:1px solid #ced9df;box-shadow:0 -4px 24px #17334d22;padding:18px max(20px,calc((100vw - 1150px)/2));display:flex;align-items:center;gap:24px}
.consent-banner[hidden] {display:none!important}
.consent-banner p {margin:0;flex:1;font-size:14px;line-height:1.5}
.consent-banner button {min-height:44px;white-space:nowrap}
.agency-actions {display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.agency-actions .btn {min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.quote-card {background:#f0f8f6;border:1px solid #cce1db;padding:22px;border-radius:10px;margin:24px 0}
.quote-card h2 {font-size:1.35rem;margin-top:0}
#place-map-wrapper {position:relative}
.map-fallback {position:absolute;inset:0;background:#f3f7f9;display:flex;align-items:center;justify-content:center;padding:30px;text-align:center}
.map-status {font-size:.9rem;color:#4b5c66}
.review-response {margin:12px 0}
@media(max-width:767px){
 #header-nav,#header-nav.transparent,.tpl-home #header-nav,.tpl-home #header-nav.transparent {background:#fff!important;color:#17334d}
 #header-nav .navbar-brand {max-width:43%;margin-right:6px}
 #header-nav .logo {max-width:100%;height:auto}
 #header-nav .navbar-toggler {color:#17334d!important;min-height:44px;font-size:26px;padding:4px 8px}
 .mobile-quote-link {font-size:13px;padding:10px 9px;margin-left:auto;margin-right:8px}
 .consent-banner {display:block;padding:14px 16px;max-height:55vh;overflow:auto}
 .consent-banner p {margin-bottom:12px;font-size:13px}
 .consent-banner button {min-width:130px}
 #business-header {margin-bottom:24px!important}
 #place-map-wrapper {height:300px}
 .agency-actions .btn {flex:1 1 42%;font-size:14px}
 .tpl-comparateur-sante section.prestep-top {height:130px!important}
 .tpl-comparateur-sante #marque_blanche_content {width:100%;max-width:100%}
 .tpl-comparateur-sante #marque_blanche_content .container {max-width:100%!important;width:100%;padding:0 14px}
 .tpl-comparateur-sante #marque_blanche_content .row {margin-left:0!important;margin-right:0!important;width:auto;max-width:100%}
 .tpl-comparateur-sante .medium-7.columns,.tpl-comparateur-sante .medium-4.columns {flex:0 0 100%;max-width:100%;width:100%}
 .tpl-comparateur-sante .inputrow.medium-6 {width:100%;flex:0 0 100%;max-width:100%}
 .tpl-comparateur-sante #form-sante .row {display:block}
 .tpl-comparateur-sante #form-sante .small-up-2 {display:flex}
 .tpl-comparateur-sante #form-sante .small-up-2>.column {width:50%}
 .tpl-comparateur-sante #form-sante select,.tpl-comparateur-sante #form-sante input:not([type=checkbox]):not([type=radio]) {max-width:100%;min-height:44px}
 .tpl-comparateur-sante .tooltips .tooltipstext {position:fixed;left:16px;right:16px;bottom:24px;width:auto;max-width:calc(100vw - 32px);z-index:3000}
 .tpl-comparateur-sante .accroche-form {font-size:1.6rem;line-height:1.25}
}

/* Simple account controls, including readers who need larger text and targets. */
.tpl-user-register .card-body, .tpl-user-sign-in .card-body { font-size: 1.0625rem; line-height: 1.6; }
.tpl-user-register label, .tpl-user-sign-in label { font-weight: 600; }
.tpl-user-register .form-control, .tpl-user-sign-in .form-control { min-height: 48px !important; font-size: 1.0625rem; }
.tpl-user-register .btn, .tpl-user-sign-in .btn { min-height: 44px; font-size: 1rem; }
.tpl-user-register small, .tpl-user-sign-in small { font-size: .9375rem; }
