/* TeCoSo: refinements of the existing charter. No replacement palette, font or layout. */
html,body{min-width:0}
html{scroll-padding-top:5rem}
#header:not(.alt){box-shadow:0 1px 0 rgba(255,255,255,.1),0 4px 18px rgba(0,0,0,.08)}
#header nav>ul>li>a{min-width:44px;text-align:center}
#menu{max-width:100vw}
#menu ul>li>a{padding-block:.85em;line-height:1.65}
#menu .close{min-width:44px;min-height:44px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid currentColor;outline-offset:4px}
#main>header{width:100%;flex-basis:100%;padding:clamp(5rem,8vw,8rem) clamp(1.25rem,4vw,4rem) clamp(3.5rem,6vw,6rem)}
#main>header>h2{max-width:1100px;margin-inline:auto;line-height:1.5;text-wrap:balance}
#main>header>b{display:block;max-width:72ch;margin:1.5rem auto 0;line-height:1.9;overflow-wrap:break-word}
#main>header>p{max-width:72ch;margin-inline:auto;line-height:1.9}
#main>.wrapper>header.major{max-width:1100px;margin-inline:auto;padding-inline:clamp(1rem,4vw,3rem)}
#main>.wrapper>header.major>p{max-width:78ch;margin-inline:auto;line-height:1.9;overflow-wrap:break-word}
#main>.wrapper>header.major>h2{line-height:1.5;text-wrap:balance}
#main .thumb>h2{right:1.5em;line-height:1.65;text-shadow:0 1px 8px rgba(0,0,0,.8)}
#main .thumb:has(>h2:not(:empty)):after{background-image:linear-gradient(to top,rgba(10,17,25,.62),rgba(10,17,25,0) 48%)}
#main .thumb>.image{transition:filter .2s ease}
@media(hover:hover){#main .thumb>.image:hover{filter:brightness(1.05)}}
button,.button,input[type=submit],input[type=reset]{min-height:44px;height:auto;line-height:1.65;white-space:normal;padding:.85em 1.6em}
button:is([id^=open-quote-form],#open-devis-accueil){max-width:calc(100% - 2rem)!important}
section:has(>form[id^=quote-form]),section:has(>#form-devis-accueil){padding-inline:clamp(1.25rem,4vw,3rem)!important}
:is(form[id^=quote-form],#form-devis-accueil){width:100%;padding:1.5rem;border:1px solid rgba(255,255,255,.16);border-radius:4px;background:rgba(0,0,0,.055)}
:is(form[id^=quote-form],#form-devis-accueil) label{margin-bottom:.65rem;line-height:1.6}
:is(form[id^=quote-form],#form-devis-accueil) textarea{resize:vertical;min-height:9rem;line-height:1.8}
:is(form[id^=quote-form],#form-devis-accueil) input,:is(form[id^=quote-form],#form-devis-accueil) select,:is(form[id^=quote-form],#form-devis-accueil) textarea{border-radius:3px}
.wrapper.style1 :is(form[id^=quote-form],#form-devis-accueil) input[type=tel]{background:rgba(255,255,255,.075);color:inherit}
:is(form[id^=quote-form],#form-devis-accueil) button[type=submit]{width:100%;margin-top:.5rem}
:is(div[id^=quote-status],#devis-status):not(:empty){padding:1rem;border-left:2px solid currentColor;line-height:1.7}
.poptrox-popup .caption{padding:1.25em 1.5em;max-height:48%;overflow-y:auto;overscroll-behavior:contain;background-image:linear-gradient(to top,rgba(16,16,16,.88),rgba(16,16,16,.68))}
.poptrox-popup .caption h2{line-height:1.5;text-wrap:balance}
.poptrox-popup .caption p{line-height:1.8}
.poptrox-popup .caption .commande{display:grid;gap:.65rem;margin-bottom:0}
.poptrox-popup .caption .commande select,.poptrox-popup .caption .commande button{width:100%;margin:0;min-height:44px}
.poptrox-popup .closer,.poptrox-popup .nav-next,.poptrox-popup .nav-previous{min-width:44px;min-height:44px}
.poptrox-popup .closer:focus-visible,.poptrox-popup .nav-next:focus-visible,.poptrox-popup .nav-previous:focus-visible{opacity:1}
.video-wrapper{max-width:1120px;margin-inline:auto}
.video-description{line-height:1.9}
#footer .icons>li>a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
@media(max-width:736px){
 #main>header{padding:4.25rem 1.25rem 3rem}
 #main>header>b{line-height:1.8}
 #main>.wrapper>header.major{padding-inline:1.2rem}
 #main .thumb>h2{left:1.35em;right:1.35em;bottom:1.4em}
 :is(form[id^=quote-form],#form-devis-accueil){padding:1.2rem}
 :is(form[id^=quote-form],#form-devis-accueil) input,:is(form[id^=quote-form],#form-devis-accueil) select,:is(form[id^=quote-form],#form-devis-accueil) textarea{font-size:16px}
 .poptrox-popup .caption{max-height:45%;padding:1rem}
 .poptrox-popup .caption h2{font-size:.9em;letter-spacing:.16em}
 .poptrox-popup .caption .commande select,.poptrox-popup .caption .commande button{font-size:14px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}#main .thumb>.image{transition:none}}
