/* Public pages: fluid layout and touch controls, without changing content. */
.mcp-shell-page { -webkit-text-size-adjust:100%; }
.mcp-shell-page main,.mcp-shell-page main>*,.mcp-shell-page .footer-top>*{min-width:0}
.mcp-shell-page :is(input,select,textarea){max-width:100%}
.mcp-shell-page :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #1b8fe8;outline-offset:3px}
#mcp-footer a{overflow-wrap:anywhere}
.blocks-page #section-bloc .bloc-seo-title{font:600 .75rem/1.5 Barlow,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#fff;max-width:none;margin:0 0 14px;text-wrap:wrap}
.blocks-page #section-bloc .bloc-unique-text{container-type:inline-size;width:100%}
@media(max-width:1000px){
 #site-header.mcp-shell .header-cta{min-height:44px;display:flex;align-items:center;justify-content:center;font-size:12px}
 #site-header.mcp-shell nav{padding-bottom:max(24px,env(safe-area-inset-bottom));overscroll-behavior:contain}
 .mcp-shell-page :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){font-size:16px!important}
 .mcp-shell-page :is(input[type=checkbox],input[type=radio]){flex-shrink:0}
 .mcp-shell-page :is(.review-controls button,.v4-product-nav button,.v4-equipment-controls button){min-width:44px;min-height:44px}
 #mcp-footer .footer-top div a{font-size:14px;min-height:44px;margin:0;display:flex;align-items:center;padding-block:8px}
 #mcp-footer .footer-bottom a{min-height:44px;display:flex;align-items:center;font-size:13px}
 .kit-v4 .kit-mobile-bar{padding-bottom:calc(10px + env(safe-area-inset-bottom))!important}
 .kit-v4 .kit-quote-dialog{max-height:calc(100dvh - 24px);overscroll-behavior:contain;scroll-padding-block:24px}
}
@media(max-width:760px){
 .index-page #hero{padding-top:88px;padding-bottom:48px;row-gap:32px;align-content:center}
 .index-page #hero .hero-heading{font-size:clamp(42px,12vw,82px)}
 .index-page #hero .home-kit-visual{width:calc(100% - 12px);max-width:460px;justify-self:center}
 .blocks-page #section-bloc .bloc-unique-tagline,.blocks-page #section-bloc .bloc-unique-unit{font-size:clamp(30px,10cqw,56px)}
 .blocks-page #section-bloc .bloc-unique-number{font-size:clamp(60px,19cqw,104px)}
 .blocks-page #section-bloc .bloc-unique-line2{margin-top:12px;gap:.22em}
 .kits-page .kits-block-intro{padding-inline:clamp(16px,5vw,32px)!important}
 .kit-v4 #contenu{width:calc(100% - 32px)}
 .kit-v4 .v4-equipment-panel .equipment-visual{height:clamp(180px,48vw,250px)!important}
 .kit-v4 .kit-faq summary,.kit-v4 .kit-technical-group summary{min-height:48px;line-height:1.4}
 .kit-v4 .comparison,.catalogue-comparison .comparison-table-wrap{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
 .project-page{width:calc(100% - 32px)}
 .project-heading h1{font-size:clamp(34px,8vw,52px)}
 .project-section legend{max-width:100%;white-space:normal}
 .project-choice .stair-model{font-size:clamp(20px,5vw,24px)}
 .mcp-contact h2{font-size:clamp(30px,8vw,42px);overflow-wrap:break-word}
}
@media(max-width:480px){
 #site-header.mcp-shell{padding-inline:12px;gap:8px}
 #site-header.mcp-shell .brand,#site-header.mcp-shell .brand img{width:82px}
 #site-header.mcp-shell .menu-toggle{padding-inline:10px}
 #site-header.mcp-shell .header-cta{padding:10px;max-width:120px}
 #mcp-footer{padding-inline:20px}
 #mcp-footer .footer-top{grid-template-columns:minmax(0,1fr);gap:24px}
 #mcp-footer .footer-top strong{margin-bottom:8px}
 #mcp-footer .footer-top p{font-size:15px;line-height:1.6;margin:0;max-width:36ch}
 #mcp-footer .footer-logo{width:150px}
 .kit-v4 .kit-quote-dialog{width:calc(100% - 16px);padding:24px 16px}
 .kit-v4 .kit-quote-form-view h2{font-size:26px;line-height:1.15}
 .kit-v4 .extra-option{flex-basis:88%}
 .kit-v4 .v4-equipment-tab{min-height:44px}
 .project-section{padding-inline:12px}
 .project-choice .stair-type{font-size:14px;overflow-wrap:break-word}
 .project-submit button{min-height:52px;white-space:normal}
 .contact-form-wrap button[type=submit]{width:100%;min-height:48px;white-space:normal}
}
@media(max-height:600px) and (orientation:landscape){
 .index-page #hero{min-height:auto;padding-block:100px 40px}
 .kit-v4 .v3-offer{max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain}
}
