/* ALP Rénovation: phones, tablets and touch targets. */
:root{--alpr-header-height:88px}
.header-inner{min-height:var(--alpr-header-height)}
.hero-grid>* ,.content-layout>*,.estimator-grid>*,.contact-layout>*,.split>*{min-width:0}
.hero-photo video{display:block}
.film-toggle{min-height:44px;min-width:44px;font-size:12px;line-height:1.3;padding:11px 15px}
.btn,.menu-button,.header-call,.client-link{touch-action:manipulation}
input,select,textarea{font-size:16px}
.article p,.article li,.article h2,.lead,.contact-info a,.alpr-nearby a,.breadcrumbs{overflow-wrap:anywhere}
.article-section{scroll-margin-top:calc(var(--alpr-header-height) + 18px)}
.alpr-budget-link{margin-top:6px}
@media(max-width:1100px){
 :root{--alpr-header-height:78px}
 html{scroll-padding-top:96px}
 .header .brand-logo{width:150px;height:68px}
 .header-inner{justify-content:space-between;gap:12px}
 .client-link{margin-left:auto}
 .header-call{margin-left:0;min-width:44px;min-height:44px}
 .header-call .call-text{display:none}
 .menu-button{display:inline-grid;place-items:center}
 .nav{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100vh - 160px);max-height:calc(100dvh - 160px);overflow-y:auto;overscroll-behavior:contain;background:white;border-bottom:1px solid var(--line);padding:16px 25px 24px;flex-direction:column;align-items:stretch;gap:0;margin:0}
 .nav.open{display:flex!important}
 .nav>a,.nav summary{min-height:48px;padding:13px 0;border-bottom:1px solid var(--line);font-size:15px}
 .mega{position:static;left:auto;width:100%;max-height:none;grid-template-columns:1fr 1fr;padding:18px 0;border:0;border-radius:0;box-shadow:none;gap:20px}
 .mega a{padding:11px 0;min-height:44px;font-size:13px;line-height:1.45}
 .mega p a{min-height:44px;display:flex;align-items:center}
 body.mobile-menu-open{overflow:hidden}
 .hero-grid{gap:28px}
 .hero h1{font-size:clamp(40px,5.2vw,57px)}
 .hero .lead{font-size:16px}
 .hero .hero-photo{height:auto;aspect-ratio:1;align-self:center}
 .hero .hero-photo .photo-overlay{display:none}
 .hero .film-toggle{top:auto;bottom:16px;left:16px}
 .hero .photo-badge{top:16px;left:16px;max-width:calc(100% - 32px);font-size:9px;line-height:1.45}
 .content-layout{grid-template-columns:minmax(0,1fr) 245px;gap:30px}
 .sidebar{top:98px}
 .estimate-form{padding:26px}
 .estimator-grid,.faq-grid,.contact-layout{gap:32px}
 .solution-grid,.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
 .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:701px) and (max-width:850px){
 .content-layout,.contact-layout,.faq-grid,.split{grid-template-columns:minmax(0,1fr)}
 .sidebar{position:static}
 .page-hero .hero-grid{grid-template-columns:minmax(0,1fr)}
 .page-hero .hero-photo{height:340px}
 .hero h1{font-size:42px}
 .hero .actions{flex-direction:column;align-items:stretch}
 .hero .actions .btn{width:100%}
 .estimator-grid{grid-template-columns:minmax(0,1fr)}
 .estimator-copy h2,.estimator-copy p{max-width:700px}
 .areas{grid-template-columns:minmax(0,1fr)}
 .area-card .dept-num{font-size:44px;margin-bottom:16px}
 .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .footer-grid>div:last-child{grid-column:auto}
}
@media(max-width:700px){
 :root{--alpr-header-height:72px}
 html{scroll-padding-top:90px}
 body{padding-bottom:calc(66px + env(safe-area-inset-bottom,0px))}
 .container{padding-inline:clamp(16px,5vw,22px)}
 .header-inner{gap:8px}
 .header .brand-logo{width:120px;height:60px}
 .client-link,.header-call,.menu-button{width:44px;min-width:44px;height:44px;padding:10px}
 .nav{padding-inline:20px;max-height:calc(100dvh - 148px - env(safe-area-inset-bottom,0px))}
 .mega{grid-template-columns:minmax(0,1fr);gap:10px}
 .hero{padding-top:18px;padding-bottom:36px}
 .hero-grid,.page-hero .hero-grid,.content-layout,.contact-layout,.estimator-grid,.split,.faq-grid,.reviews-panel{grid-template-columns:minmax(0,1fr);gap:26px}
 .hero .hero-photo{order:-1;width:100%;max-height:360px;border-radius:16px}
 .hero-copy{padding-block:0}
 .hero h1{font-size:clamp(35px,8.8vw,48px);line-height:1.08;margin-bottom:20px;letter-spacing:-.045em}
 .hero .lead{margin-bottom:22px;line-height:1.6}
 .hero .actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
 .hero .actions .btn{width:100%;min-height:50px;font-size:14px}
 .trust-row{margin-top:24px;gap:14px}
 .trust-row p{font-size:12px}
 .page-hero h1{font-size:clamp(30px,8vw,42px);line-height:1.15}
 .page-hero .hero-photo{height:280px;max-height:80vw}
 .section{padding-block:48px}
 .section-head h2,.estimator-copy h2,.reviews-panel h2{font-size:32px}
 .solution-grid,.catalogue,.guide-grid,.areas{grid-template-columns:minmax(0,1fr)}
 .solution-card .photo{height:230px}
 .estimate-form,.contact-box{padding:22px}
 .estimate-result strong{font-size:clamp(27px,7.6vw,34px);overflow-wrap:anywhere}
 .form-grid{grid-template-columns:minmax(0,1fr)}
 .sidebar{position:static}
 .article h2{font-size:27px;line-height:1.2}
 .article p,.article li{font-size:16px}
 .price-pill{white-space:normal;line-height:1.5;font-size:18px!important}
 .filter-button{min-height:44px;font-size:13px;padding:10px 14px}
 .faq summary{min-height:44px;font-size:16px;gap:16px}
 .town-links a{padding:8px 0;min-height:40px;display:inline-flex;align-items:center;font-size:13px}
 .commune-list{grid-template-columns:minmax(0,1fr)}
 .commune-list a{min-height:44px;font-size:14px;padding:12px}
 .alpr-nearby{grid-template-columns:minmax(0,1fr)}
 .alpr-place{gap:12px}
 .alpr-place>div{padding:14px}
 .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
 .footer a{padding-block:10px;min-height:40px;font-size:13px}
 .footer-bottom{padding-bottom:24px}
 .footer-bottom a{min-height:0;padding:0;font-size:11px}
 .mobile-bar{padding:8px 16px calc(8px + env(safe-area-inset-bottom,0px));grid-template-columns:1fr 1.4fr}
 .mobile-bar a{min-height:48px;font-size:14px}
 .cta .btn{width:100%}
}
@media(max-width:370px){
 .header .brand-logo{width:103px}
 .header-inner{gap:6px}
 .hero h1{font-size:34px}
 .alpr-place,.footer-grid,.steps{grid-template-columns:minmax(0,1fr)}
 .footer-grid>div:first-child{grid-column:auto}
 .photo-badge{letter-spacing:.02em}
}
@media print{body{padding-bottom:0}.film-toggle{display:none}}
