/* Adaptation fluide commune au site vitrine, sans modifier la boutique. */
@media(max-width:999px){
 html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--hdr-h,72px) + 18px)}
 body{min-width:0}
 .wrap,.wrap>*{min-width:0}
 main :is(h1,h2,h3,h4,p,dd,li,a,label){overflow-wrap:break-word}
 main :is(input,select,textarea){max-width:100%;min-width:0;box-sizing:border-box;font-size:16px}
 main :is(.btns,.dv-actions){flex-wrap:wrap}
 main :is(.btn,.dv-btn){max-width:100%;white-space:normal;text-align:center;min-height:44px}
 main :is(iframe,video){max-width:100%}
 .legal :is(dd,a),.ftr a{overflow-wrap:anywhere}
 .legal dl{min-width:0}.legal dd{min-width:0;margin-inline-start:0}
 .cat-ess__tabs{max-width:100%;overscroll-behavior-x:contain;scroll-padding-inline:16px}
 :is(.cat-ess__tab,.finish-choice,.mat-select){min-height:44px}
 .field,.field>*{min-width:0}
 input[type=file]{width:100%;max-width:100%}
 .hdr__in{padding-inline:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right))}
 .nav{padding-bottom:max(24px,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;max-height:100dvh}
}
@media (min-width:1000px) and (max-width:1200px){
 .js .p-index .scale{height:100svh!important}
}

/* Catalogue mobile : les vignettes doivent rester de vraies cartes lisibles,
   sans la grille mosaïque ultra-compacte prévue pour le grand écran. */
@media(max-width:650px){
 .p-catalogue .cat-ess__stream{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-auto-rows:auto!important;gap:18px!important;padding:20px 0 56px!important}
 .p-catalogue .cat-ess__stream .cat-ess__item:nth-child(n){grid-column:1/-1!important;grid-row:auto!important;margin:0!important;transform:none!important}
 .p-catalogue .cat-ess__stream .cat-ess__item:nth-child(n) .cat-ess__btn{width:100%!important;height:auto!important;min-height:240px!important;aspect-ratio:4/3!important;padding:12px!important}
 .p-catalogue .cat-ess__stream .cat-ess__item:nth-child(n) .cat-ess__btn img{width:100%;height:100%;max-height:none;object-fit:contain;transform:none!important}
 .p-catalogue .cat-panel:not(#panel-adheclean) .cat-ess__stream>.ref-card{grid-column:1/-1!important;grid-row:auto!important;width:100%!important;min-height:240px!important;aspect-ratio:4/3!important}
 .p-catalogue .cat-panel:not(#panel-adheclean) .cat-ess__stream>.ref-card .ref-photo{width:100%!important;height:100%!important;min-height:0!important;aspect-ratio:auto!important}
 .p-catalogue .cat-panel:not(#panel-adheclean) .ref-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:18px!important}
 .p-catalogue .cat-panel:not(#panel-adheclean) .ref-grid>.ref-card{width:100%!important;min-height:240px!important;aspect-ratio:4/3!important}
 .p-catalogue .cat-panel:not(#panel-adheclean) .ref-grid>.ref-card .ref-photo{width:100%!important;height:100%!important;aspect-ratio:auto!important;background-size:contain!important}
 .p-catalogue .cat-tabs,.p-catalogue .cat-ess__tabs{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
}

/* Séquences machines : présentation mobile lisible et animée au défilement. */
@media(max-width:999px) and (prefers-reduced-motion:no-preference){
 .js .mx__pin{position:sticky;top:0;min-height:100svh;height:100svh;overflow:hidden;padding:0;display:flex;align-items:center}
 .js .mx--full{height:190svh;--e:clamp(0,calc(var(--p,0) / .45),1)}
 .js .mx--full .mx-full__media{position:absolute;inset:0;aspect-ratio:auto;clip-path:inset(calc((1 - var(--e,0)) * 10%) calc((1 - var(--e,0)) * 7%) calc((1 - var(--e,0)) * 10%) calc((1 - var(--e,0)) * 7%) round 14px)}
 .js .mx--full .mx-full__media--tri video{transform:scale(calc(1.08 - var(--p,0) * .08));transition:transform .25s ease-out}
 .js .mx--full .mx-full__text{position:absolute;z-index:2;left:var(--gut);right:var(--gut);bottom:9svh;padding:0;max-width:none;margin:0;color:#fff;opacity:max(0,min(1,calc(var(--p,0) * 5)))!important;transform:translateY(calc((1 - min(1,var(--p,0) * 5)) * 24px))}
 .js .mx--full .mx-full__text>*{max-width:34rem}
 .js .mx--full .mx-full__shade{display:block;position:absolute;inset:0;background:linear-gradient(180deg,#ffffff00 25%,#ffffff38 55%,#ffffff8c 100%)!important;opacity:1}
 .js .mx--full .mach__role,.js .mx--full .mach__name,.js .mx--full .mach__desc,.js .mx--full .mach__specs{color:#fff!important}
 .js .mx--full .mach__role{font-size:14px;margin-bottom:10px}
 .js .mx--full .mach__name{font-size:clamp(30px,8vw,42px)!important;line-height:1.05;margin:0 0 14px}
 .js .mx--full .mach__desc{font-size:16px;line-height:1.45;margin:0;max-width:34ch}
 .js .mx--full .mach__specs{display:none}
 .js .mx--tech{height:auto;background:#fff}
 .js .mx--tech .mx__pin{position:relative;min-height:0;height:auto;display:block;padding:64px 0 72px;overflow:visible}
 .js .mx-tech{width:auto;display:block}
 .js .mx-tech__head{display:block;opacity:1}
 .js .mx-tech__head .mach__desc{margin:0}
 .js .mx-tech__stage{height:auto;margin-top:28px}
 .js .mx-tech__img{position:relative;left:auto;right:auto;top:auto;bottom:auto;aspect-ratio:4/3;transform:scale(calc(.96 + var(--p,0) * .04));opacity:clamp(.35,calc(var(--p,0) * 2),1);box-shadow:none;transition:transform .25s ease-out,opacity .25s ease-out}
 .js .mx-tech__grid,.js .mx-tech__lines{display:none}
 .js .mx-tech__callouts{position:static;display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0 0;pointer-events:auto}
 .js .mx-tech__callouts li{position:static;width:auto;opacity:1;transform:none;border-top:1px solid #d9e0e5;padding-top:10px;text-align:left}
 .js .mx-tech__callouts .tr,.js .mx-tech__callouts .br{text-align:left}
}

@media(max-width:999px){
 .js .mx1__word{display:none!important}
 .mx-full__media--tri{height:100%;min-height:62svh}
 .mx-full__media--tri .pic{min-width:0}
 .mx-full__media--tri video{object-fit:cover}
 .mx-full__text{box-sizing:border-box;width:100%;min-width:0}
 .mx-full__text .mach__name,.mx-full__text .mach__desc{max-width:100%;overflow-wrap:normal;word-break:normal}
 .mx-tech__head .mach__name,.mx-tech__head .mach__desc{max-width:100%;overflow-wrap:normal;word-break:normal}
}
@media(max-width:480px){
 .ph__title,.cat-ess__title,.h-sec{overflow-wrap:anywhere}
 .legal-layout{grid-template-columns:minmax(0,1fr)}
 .legal dl{grid-template-columns:minmax(0,1fr);gap:6px}
 .legal dd{margin-bottom:14px}
 .dv-prog{min-width:0;max-width:100%}.dv-prog>*{min-width:0}
 .finish-detail,.finishes__layout,.finishes__layout>*{min-width:0}
 .finish-choice b{overflow-wrap:normal;font-size:clamp(15px,4.4vw,19px)}
 .p-index .rl__title{font-size:clamp(28px,8.3vw,40px);line-height:1.08}
 .p-index .rl__caps{width:calc(100% - 32px);max-width:none}
 .p-index .rl__caps .btns{flex-wrap:wrap;gap:12px}
}
@media(max-width:359px){
 .hdr__logo,.hdr.is-scrolled .hdr__logo{max-width:112px}
 .hdr__logo img,.hdr.is-scrolled .hdr__logo img{max-width:100%;height:auto}
 .hdr__in{gap:8px}
 .hdr__burger{gap:7px;padding-inline:8px;font-size:11px}
 .hdr__in>.btn{padding-inline:12px;font-size:12px;min-height:44px}
 .cat-ess__title,.h-sec{font-size:clamp(26px,8.5vw,31px)!important}
 .arc__gallery{gap:6px}.arc__card,.arc__card[aria-pressed=false]{min-width:0}
 .dv-actions>*{width:100%;justify-content:center}
}
/* Sur les téléphones en paysage, garder le menu entier accessible. */
@media(max-width:999px) and (max-height:500px) and (orientation:landscape){
 .nav{height:100dvh;max-height:100dvh;overflow-y:auto;padding-top:80px}
 .nav__a{font-size:clamp(18px,3.2vw,26px);padding-block:8px}
 .js .p-covering-vehicules .cov-proc__pin{align-items:start;overflow-y:auto}
 .js .p-covering-vehicules .cov-proc__img{height:110px;min-height:0}
 .js .p-covering-vehicules .cov-proc__head .h-sec{font-size:23px}
}

/* Carte Imprim’Vert : marges intérieures et colonne de lecture plus généreuse. */
.p-eco-responsable .eco-pillars>.eco-certificate-card{box-sizing:border-box;padding:clamp(28px,4vw,64px)!important;grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);column-gap:clamp(32px,4vw,64px);border-radius:24px!important}
.p-eco-responsable .eco-certificate-card>:not(.eco-pillars__media){min-width:0}
.p-eco-responsable .imprimvert-explanation h4{margin-top:30px;margin-bottom:18px;line-height:1.3}
.p-eco-responsable .imprimvert-explanation .tri-criteria li{padding:20px 0 20px 44px!important;line-height:1.65}
.p-eco-responsable .imprimvert-explanation .tri-criteria li::before{top:23px}
.p-eco-responsable .eco-attest .sec-head{align-items:start}
@media(max-width:900px){.p-eco-responsable .eco-pillars>.eco-certificate-card{grid-template-columns:minmax(0,1fr);padding:28px 22px!important}}
@media(max-width:380px){.p-eco-responsable .eco-pillars>.eco-certificate-card{padding:24px 16px!important}}

@media(max-width:999px){
 .p-impression-grand-format .ph h1{
  position:relative;
  z-index:2;
  background:var(--encre,#182733);
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
  padding-inline:.08em;
  margin-inline:-.08em;
 }
 .p-index .sx__media{display:none!important}
 .p-index .sx__grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:0!important;align-items:stretch!important}
 .p-index .sx__media{display:block;position:relative;order:0;margin:0 0 24px;top:auto}
 .p-index .sx__frame{max-height:none;aspect-ratio:16/10}
 .p-index .sx__grid>div:last-child{min-width:0}
 /* Le dégradé de remplissage créait une transparence horizontale dans les titres sur mobile. */
 .p-index .sx__t,
 .p-index .sx__item.is-active .sx__t,
 .p-index .sx__link:hover .sx__t,
 .p-index .sx__link:focus-visible .sx__t{
  background-image:none!important;
  background-color:transparent!important;
  -webkit-text-fill-color:var(--sx-gris,#5d666d)!important;
  color:var(--sx-gris,#5d666d)!important;
  -webkit-text-stroke:0!important;
 }
 .p-index .sx__item:first-child .sx__t{-webkit-text-fill-color:var(--bleu,#229ad6)!important;color:var(--bleu,#229ad6)!important}
}

/* Animation mobile de la pile de finition, identique à la séquence PC. */
@media(max-width:999px) and (prefers-reduced-motion:no-preference){
 .js .p-impression-grand-format .mx--stack{height:300svh;--a:clamp(0,calc((var(--p,0) - .04) / .26),1);--b:clamp(0,calc((var(--p,0) - .34) / .26),1);--c:clamp(0,calc((var(--p,0) - .66) / .24),1)}
 .js .p-impression-grand-format .mx--stack .mx__pin{position:sticky;top:0;height:100svh;min-height:0;display:flex;align-items:center;overflow:hidden}
 .js .p-impression-grand-format .mx--stack .mx-stack__stage{height:46svh;perspective:1000px}
 .js .p-impression-grand-format .mx--stack .mx-stack__pile{width:min(520px,88%);transform:translate(-50%,-50%) rotateX(calc(60deg - var(--b)*8deg - var(--c)*38deg)) rotateZ(calc(-32deg + var(--b)*10deg + var(--c)*22deg)) scale(calc(.9 + var(--b)*.06 + var(--c)*.1))}
 .js .p-impression-grand-format .mx--stack .mx-stack__sheet{transform:translateZ(calc(var(--i)*(8px + var(--b)*(1 - var(--c))*70px + var(--c)*6px)))}
 .js .p-impression-grand-format .mx--stack .mx-stack__sheet--print{transform:translateZ(calc(3*(8px + var(--b)*(1 - var(--c))*70px + var(--c)*6px) + var(--b)*(1 - var(--c))*60px + var(--c)*30px));clip-path:inset(calc(var(--b)*6.15%) calc(var(--b)*4.5%) round calc(var(--b)*12px))}
 .js .p-impression-grand-format .mx--stack .mx-stack__cut{stroke-width:3;stroke-dasharray:1200;stroke-dashoffset:calc(1200 - var(--a)*1200);opacity:calc(1 - var(--b)*.7)}
 .js .p-impression-grand-format .mx--stack .mx-stack__lines li{--in:clamp(0,calc((var(--p,0) - .04 - var(--k)*.31)/.06),1);--out:clamp(0,calc((var(--p,0) - .35 - var(--k)*.31)/.06),1);opacity:calc(.32 + (var(--in) - var(--out)*.5)*.68);transform:translate3d(calc((1 - var(--in))*-14px),0,0)}
}

/* Même séquence que sur desktop : le C se forme puis la section suivante
   traverse la lettre pendant le défilement. */
@media(max-width:999px) and (prefers-reduced-motion:no-preference){
 .js .p-index .scale{height:300svh;overflow:clip;--a:clamp(0,calc(var(--p,0) / .3),1);--z:clamp(0,calc((var(--p,0) - .5) / .44),1)}
 .js .p-index .scale__pin{position:sticky!important;top:0;height:100svh;min-height:0;padding:0 var(--gut)!important;display:flex!important;flex-direction:column;justify-content:center;overflow:hidden}
 .js .p-index .scale__l--1{transform:translate3d(calc((1 - var(--a)) * 72vw),0,0);opacity:clamp(0,calc(1 - var(--z) * 3),1)}
 .js .p-index .scale__l--3{transform:translate3d(calc((1 - var(--a)) * -72vw),0,0);opacity:clamp(0,calc(1 - var(--z) * 3),1);text-align:left}
 .js .p-index .scale__l,.js .p-index .scale__l--2{font-size:clamp(2rem,8vw,4rem);line-height:.86;white-space:normal}
 .js .p-index .scale__l--2{position:relative;z-index:2;display:block;width:100%;text-align:center;font-size:clamp(2.8rem,15vw,7rem)}
 .js .p-index .scale__big{display:inline-block;transform:scale(clamp(.55,calc(.55 + var(--a) * .45 + var(--z) * var(--z) * var(--z) * 2),2.15));transform-origin:50% 50%;-webkit-text-stroke-width:2px;color:rgba(34,154,214,clamp(0,calc(var(--z) * 1.6 - .2),1))}
 .js .p-index .scale__note{position:absolute!important;right:var(--gut);bottom:9svh;margin:0!important;opacity:clamp(0,calc(var(--a) * 1.2 - .2 - var(--z) * 4),1)!important;max-width:34rem}
}
@media(max-width:999px){
 .js .p-index .scale{height:100svh!important}
 .js .p-index .scale__title{display:block!important;width:100%!important;font-size:clamp(1.55rem,5.8vw,2.5rem)!important;text-align:left!important;line-height:.98!important}
 .js .p-index .scale__l,.js .p-index .scale__l--2,.js .p-index .scale__l--3{font-size:inherit!important}
 .js .p-index .scale__l--2,.js .p-index .scale__l--3{white-space:nowrap!important}
 .js .p-index .scale__note{left:8%!important;right:8%!important;bottom:22svh!important;max-width:none!important;padding-left:4%!important;opacity:1!important}
 .js .p-index .scale__txt.is-split span[data-w]{opacity:1!important}
 .js .p-index .scale__l--1{display:block!important}
 .js .p-index .scale__l--2,.js .p-index .scale__l--3{display:inline!important;width:auto!important;white-space:normal!important;text-align:left!important}
 .js .p-index .scale__l--3{margin-left:.18em}
 .js .p-index .scale__l,.js .p-index .scale__l--1,.js .p-index .scale__l--3{transform:none!important;opacity:1!important;transition:none!important}
 .js .p-index .scale__big{transform:none!important;transform-origin:center;color:transparent!important;-webkit-text-stroke-width:2px!important;will-change:auto!important;transition:none!important}
}
