/* OseCars : corrections communes issues de l'audit du 16 septembre 2026. */
html{scroll-padding-top:90px}img{max-width:100%}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b18b45;outline-offset:4px}
.osecars-menu-toggle{display:none}.osecars-mobile-actions{display:none}.osecars-header nav a{min-height:44px;align-items:center}.osecars-header .container{min-width:0}
[data-form-status]{font-size:14px;line-height:1.5;overflow-wrap:anywhere}[data-form-status]:empty{display:none}
.osecars-header nav a,.btn,.devis{touch-action:manipulation}.texte,.row2>*{min-width:0}.texte a,.form-rgpd{overflow-wrap:anywhere}
body .impact{margin-top:0}
@media(max-width:1320px){
 .osecars-header .container{display:flex;align-items:center;gap:12px;position:relative;min-height:70px}
 .osecars-header .brand{flex-shrink:0;margin-right:auto}.osecars-header .actions{margin-left:0;flex-shrink:0}.osecars-header .actions .tel{display:none!important}
 .osecars-menu-toggle{display:flex;align-items:center;justify-content:center;flex-shrink:0;gap:6px;min-width:48px;min-height:44px;padding:9px;background:transparent;border:1px solid #9a804c;color:inherit;cursor:pointer;order:3}
 .osecars-menu-toggle svg{width:21px;height:21px}.osecars-menu-toggle span{font:600 10px Arial,sans-serif;letter-spacing:.07em}
 .osecars-header nav.osecars-main-nav{display:none!important;position:absolute;top:100%;right:0;left:0;z-index:150;max-height:calc(100dvh - 86px);overflow-y:auto;overscroll-behavior:contain;flex-direction:column;align-items:stretch;gap:0;padding:12px 20px;background:#f2ece0;color:#161616;border:1px solid #b49a62;box-shadow:0 16px 28px #0002;white-space:normal}
 .osecars-header nav.osecars-main-nav.is-open{display:flex!important}.osecars-header nav.osecars-main-nav>a{display:flex!important;align-items:center;min-height:48px;padding:10px 0;border-bottom:1px solid #a68a512c;font-size:13px;line-height:1.4;white-space:normal;letter-spacing:.08em;color:#161616;transform:none}
 .osecars-mobile-actions{display:flex;flex-direction:column;gap:10px;margin-top:14px}.osecars-mobile-actions a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:10px;background:#dbc28a;color:#121212;text-decoration:none;font-size:13px;font-weight:600;letter-spacing:0}
}
@media(max-width:600px){.osecars-header .actions{display:none!important}.osecars-header .brand i{display:none}.osecars-header .container{gap:8px}.osecars-header .brand img{max-width:36px}.osecars-header .brand{font-size:25px}.osecars-header .brand span{font-size:25px}.osecars-menu-toggle{min-width:76px}.row2{grid-template-columns:minmax(0,1fr)!important}input,select,textarea{max-width:100%;font-size:16px!important}.form-rgpd{font-size:13px!important}}
@media(max-width:520px){
 #atouts .tiles{grid-template-columns:minmax(0,1fr)!important}#atouts .tile{min-width:0}#atouts .tile .txt,#atouts .tile .body{min-width:0}
 .display{overflow-wrap:anywhere;font-size:clamp(29px,8.6vw,43px)!important;line-height:1.06!important}h1,h2,h3{overflow-wrap:anywhere}.corps>.texte{min-width:0}
 .ft-grid>*,.grid2>*,.grid>*{min-width:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.reveal,.reveal.in{opacity:1!important;transform:none!important;transition:none!important}.magnetic,.aimant{transform:none!important}.osecars-header *{transition:none!important}}

/* Le hero immersif Pro suit son contenu sur mobile, sans hauteur vide imposée. */
@media(max-width:760px){
 #hero:has(.hero-copy) .grid{height:auto;min-height:0}
 #hero:has(.hero-copy) .hero-copy{position:relative;inset:auto;transform:none;width:auto;margin:0;padding:32px 26px 20px}
 #hero:has(.hero-copy) .photo-wrap{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:16/9;margin:0;z-index:0}
 #hero:has(.hero-copy) .publics{position:relative;inset:auto;margin:0;padding:18px 26px 24px}
 #hero:has(.hero-copy) .scene-shade{background:linear-gradient(0deg,#10110f 0%,transparent 22%);z-index:1;pointer-events:none}
 #hero:has(.hero-copy) .scene-glow{display:none}
}


/* Long headings must wrap at tablet widths too. */
h1,h2,h3{overflow-wrap:anywhere}
