/* V16 finale provisoire — couche de stabilisation et d'accessibilité. */
:root{--accent-readable:#f36f21;--focus:#ffd166}
html{scroll-padding-top:calc(var(--site-header-height,82px) + 18px)}
[id]{scroll-margin-top:calc(var(--site-header-height,82px) + 18px)}
:focus-visible{outline:3px solid var(--focus)!important;outline-offset:4px!important}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.tag,.eyebrow{color:var(--accent-readable)}
.hero .tag,.faq-page-hero .tag,.contact-hero .tag{color:#f36f21}
.button,.v12-v3 .button{min-height:48px;background:var(--brand-deep)!important;border-color:var(--brand-deep)!important;color:var(--cream)!important;font-size:.75rem!important}
.button:hover,.button:focus-visible{background:var(--accent-readable)!important;border-color:var(--accent-readable)!important;color:#fff!important}
.menu-toggle,.v12-v3 .menu-toggle{background:var(--brand-deep)!important;color:var(--cream)!important;font-size:.75rem!important}
.hero-copy small{color:#eee5df!important;font-size:.78rem!important}
.hero-service,.hero-location{color:#f36f21!important}
.first-opinion-form select{width:100%;min-height:48px;margin:5px 0 17px;padding:11px 13px;border:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);font:inherit}
.first-opinion-form small{font-size:.79rem;line-height:1.45}
.first-opinion-form input:invalid:not(:placeholder-shown){border-color:#8b2b1f}
.home-faq .faq-answer,.faq-page .faq-answer{max-width:820px;margin:0 42px 25px 0;color:#514d49;font-size:1rem;line-height:1.7}
.home-faq{display:block}
.home-faq .faq-answer p,.faq-page .faq-answer p{margin:0 0 14px;color:inherit;font-size:inherit}
.faq-answer ul{margin:0 0 14px;padding-left:22px}
.faq-answer a{color:var(--brand);text-decoration-thickness:1px;text-underline-offset:3px}
.faq-anchor{display:inline-block;margin-top:2px;font:800 .68rem/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase}
.faq-number{flex:0 0 34px;color:var(--accent-readable);font:800 .7rem/1 var(--sans);letter-spacing:.08em}
.faq-page .faq-item summary{justify-content:flex-start}
.faq-page .faq-item summary:after{margin-left:auto}
.faq-tools{position:relative;padding:38px 0 30px;background:var(--mist);border-bottom:1px solid var(--line)}
.faq-tools label{display:block;margin-bottom:10px;font:clamp(1.45rem,3vw,2.2rem)/1.05 var(--serif)}
.faq-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;max-width:850px}
.faq-search-row input{min-height:54px;padding:12px 16px;border:2px solid var(--brand);background:var(--white);color:var(--ink);font:1rem var(--sans)}
.faq-reset,.faq-filter,.picker-toolbar button,.picker-reset{min-height:44px;padding:10px 15px;border:1px solid var(--brand);background:transparent;color:var(--brand);font:800 .72rem var(--sans);letter-spacing:.05em;text-transform:uppercase;cursor:pointer}
.faq-reset:hover,.faq-reset:focus-visible,.faq-filter:hover,.faq-filter:focus-visible,.faq-filter.is-active{background:var(--brand);color:var(--cream)}
.faq-filters{display:flex;gap:8px;margin-top:18px;padding-bottom:5px;overflow-x:auto;scrollbar-width:thin}
.faq-filter{flex:0 0 auto;white-space:nowrap}
.faq-count{margin:15px 0 0;color:#4d5d5b;font-size:.85rem}
.faq-item[hidden]{display:none!important}
.faq-empty{padding:60px 0;text-align:center}
.faq-empty h2{font:clamp(2rem,5vw,3.8rem)/1 var(--serif)}
.not-found{min-height:100vh;display:grid;align-items:center;background:var(--brand);color:var(--cream)}
.not-found h1{max-width:800px;margin:12px 0 20px;font:clamp(3.2rem,8vw,7rem)/.9 var(--serif)}
.not-found .text-link{margin-left:22px;color:var(--cream)}

@media(max-width:760px){
  .hero-v11 .hero-image{aspect-ratio:1/1.06!important;min-height:0!important}
  .hero-v11 .hero-after,.hero-v11 .hero-after picture{height:100%;display:block}
  .hero-v11 .hero-after img{width:100%;height:100%;object-fit:cover;object-position:center 19%}
  .hero-v11 .hero-before{width:34%!important;max-width:130px!important}
  .hero-v11 .hero-before picture,.hero-v11 .hero-before img{display:block;width:100%;height:auto}
  .hero-v11 .hero-intro{padding-top:22px!important}
  .hero-v11 .hero-keyword{margin-top:8px!important}
  .hero-copy small{font-size:.75rem!important}
  .home-faq .faq-answer,.faq-page .faq-answer{margin-right:0;font-size:.96rem}
  .faq-search-row{grid-template-columns:1fr}
  .faq-reset{justify-self:start}
  .faq-page .faq-item summary{align-items:flex-start;gap:10px}
  .faq-number{padding-top:5px;flex-basis:28px}
  .chat-cta{max-width:166px!important}
  body:has(input:focus) .chat-cta,body:has(textarea:focus) .chat-cta,body:has(select:focus) .chat-cta{display:none!important}
  html:not(.js) #site-navigation,html:not(.js) .nav-links{display:grid!important;position:static!important;width:100%!important;grid-template-columns:1fr 1fr!important;padding:12px!important;background:var(--cream)!important}
  html:not(.js) #site-header .nav{height:auto!important;flex-wrap:wrap!important}
  html:not(.js) .menu-toggle{display:none!important}
}
