/* Liner Online : thème « été pop ». Contours encre, ombres décalées, aplats saturés, vagues. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--sable);color:var(--encre);font:400 var(--t-corps)/1.62 var(--f-texte);overflow-x:hidden}
img,svg,video{max-width:100%;height:auto}
picture{display:block}
a{color:var(--petrole-f);text-decoration-thickness:2px;text-underline-offset:3px}
a:hover{color:var(--flamant)}
:focus-visible{outline:3px solid var(--flamant);outline-offset:3px;border-radius:6px}
h1,h2,h3,h4{font-family:var(--f-titre);line-height:1.15;letter-spacing:-.01em;color:var(--encre);text-wrap:balance}
h1{font-weight:800;font-size:clamp(2rem,5vw,3.4rem);margin:.2em 0 .35em}
h2{font-weight:800;font-size:clamp(1.5rem,3vw,2.1rem);margin:2.2rem 0 .8rem}
h3{font-weight:700;font-size:1.3rem;margin:1.6rem 0 .5rem}
.lo-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.lo-saut{position:absolute;left:-999px;top:8px;z-index:50;background:var(--soleil);padding:.6rem 1rem;border:var(--trait);border-radius:var(--rayon-s)}
.lo-saut:focus{left:8px}
.lo-cadre{width:100%;max-width:var(--cadre);margin-inline:auto;padding-inline:var(--gouttiere)}

/* ---------- boutons ---------- */
.lo-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.7rem 1.4rem;border:var(--trait);border-radius:var(--rayon-pilule);
  font:800 1rem/1.1 var(--f-titre);color:var(--encre);background:var(--blanc);text-decoration:none;cursor:pointer;box-shadow:var(--ombre-pop);transition:transform .15s ease,box-shadow .15s ease}
.lo-btn:hover{transform:translate(-2px,-2px);box-shadow:var(--ombre-pop-l);color:var(--encre)}
.lo-btn:active{transform:translate(2px,2px);box-shadow:0 0 0 var(--encre)}
.lo-btn-pop{background:var(--soleil)}
.lo-btn-rose{background:var(--flamant);color:var(--blanc)}.lo-btn-rose:hover{color:var(--blanc)}
.lo-btn-clair{background:var(--blanc)}
@media (prefers-reduced-motion:reduce){.lo-btn{transition:none}.lo-btn:hover{transform:none}}

/* ---------- en-tête ---------- */
.lo-tete{position:sticky;top:0;z-index:20;background:rgba(255,247,232,.94);backdrop-filter:blur(8px);border-bottom:var(--trait)}
.lo-tete-in{display:flex;align-items:center;gap:1rem;min-height:72px}
.lo-logo{display:flex;flex:0 0 auto}.lo-logo img{width:150px;height:auto}
.lo-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.2rem}
.lo-nav a{display:block;padding:.45rem .8rem;border-radius:var(--rayon-pilule);font:700 .95rem/1.2 var(--f-titre);color:var(--encre);text-decoration:none}
.lo-nav a:hover,.lo-nav a[aria-current]{background:var(--eau-clair)}
.lo-nav-large{margin-left:auto}
.lo-tete-cta{margin-left:.5rem;white-space:nowrap}
.lo-burger{display:none;margin-left:auto}
.lo-burger summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.5rem;min-height:44px;padding:.4rem .9rem;border:var(--trait);border-radius:var(--rayon-pilule);background:var(--blanc);font:700 .95rem var(--f-titre)}
.lo-burger summary::-webkit-details-marker{display:none}
.lo-burger-i{width:18px;height:12px;border-top:2.5px solid var(--encre);border-bottom:2.5px solid var(--encre);position:relative}
.lo-burger-i::after{content:"";position:absolute;left:0;right:0;top:3px;border-top:2.5px solid var(--encre)}
.lo-burger[open] .lo-nav{position:absolute;left:var(--gouttiere);right:var(--gouttiere);top:78px;background:var(--blanc);border:var(--trait);border-radius:var(--rayon);box-shadow:var(--ombre-pop);padding:.6rem}
.lo-burger .lo-nav ul{flex-direction:column}
@media (max-width:1100px){.lo-nav-large{display:none}.lo-burger{display:block}.lo-tete-cta{margin-left:0}}
@media (max-width:560px){.lo-logo img{width:118px}.lo-tete-cta{padding:.55rem .9rem;font-size:.85rem;min-height:44px}.lo-burger-t{display:none}}

/* ---------- vagues décoratives ---------- */
.lo-vague{display:block;width:100%;height:28px;background:var(--vague-c,var(--eau));
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 28'%3E%3Cpath d='M0 14c15-12 30-12 45 0s30 12 45 0 30-12 30-12V28H0z'/%3E%3C/svg%3E") repeat-x 0 0/120px 28px;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 28'%3E%3Cpath d='M0 14c15-12 30-12 45 0s30 12 45 0 30-12 30-12V28H0z'/%3E%3C/svg%3E") repeat-x 0 0/120px 28px}

/* ---------- accueil ---------- */
.lo-une{position:relative;overflow:hidden;border-bottom:var(--trait);background:var(--eau)}
.lo-une-media{position:absolute;inset:0}
.lo-une-media picture,.lo-une-media img{width:100%;height:100%;object-fit:cover}
@media (prefers-reduced-motion:no-preference){.lo-une .media-anime img{animation:lo-flotte 26s ease-in-out infinite alternate;transform-origin:62% 40%}}
@keyframes lo-flotte{from{transform:scale(1.02) translate(0,0)}to{transform:scale(1.1) translate(-1.5%,1%)}}
.lo-une-voile{position:absolute;inset:0;background:linear-gradient(100deg,rgba(18,50,71,.72) 0%,rgba(18,50,71,.35) 52%,rgba(18,50,71,0) 80%)}
.lo-une-txt{position:relative;padding-block:clamp(3rem,10vw,7rem) clamp(3.5rem,9vw,6rem);color:var(--blanc)}
.lo-une-txt h1{color:var(--blanc);max-width:15ch;font-size:clamp(2.3rem,6vw,4.4rem);text-shadow:3px 3px 0 rgba(18,50,71,.55)}
.lo-une-txt h1 .lo-surligne{background:linear-gradient(transparent 62%,var(--flamant) 62%);padding:0 .1em}
.lo-une-chapo{font-size:clamp(1.1rem,2.2vw,1.35rem);max-width:38ch;font-weight:700;margin:0 0 1.6rem}
.lo-une-actions{display:flex;flex-wrap:wrap;gap:.8rem}
.lo-badges{list-style:none;margin:1.6rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem}
.lo-badges li{display:flex;align-items:center;gap:.4rem;background:rgba(255,255,255,.95);color:var(--encre);border:var(--trait);border-radius:var(--rayon-pilule);padding:.3rem .8rem .3rem .4rem;font:700 .9rem var(--f-titre)}
.lo-badges img{width:28px;height:28px}
.lo-deco{position:absolute;pointer-events:none;width:clamp(56px,9vw,110px);height:auto}
.lo-deco-1{right:6%;top:12%;transform:rotate(12deg)}.lo-deco-2{right:22%;bottom:10%;transform:rotate(-10deg)}
@media (prefers-reduced-motion:no-preference){.lo-deco{animation:lo-bob 5s ease-in-out infinite}.lo-deco-2{animation-delay:-2.5s}}
@keyframes lo-bob{50%{translate:0 -10px}}
@media (max-width:700px){.lo-deco{display:none}}

.lo-section{padding-block:clamp(2.5rem,6vw,4.5rem)}
.lo-section-eau{background:var(--eau-clair)}
.lo-section-soleil{background:var(--soleil-clair)}
.lo-section-t{text-align:left;margin-top:0}
.lo-section-sous{max-width:60ch;margin:-.3rem 0 1.8rem;color:var(--encre-doux);font-size:1.1rem}

/* Choix de la demande */
.lo-demandes{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.1rem}
.lo-demande{position:relative;display:flex;flex-direction:column;gap:.4rem;padding:1.2rem 1.2rem 1.3rem;background:var(--blanc);border:var(--trait);border-radius:var(--rayon);box-shadow:var(--ombre-pop);color:var(--encre);text-decoration:none;transition:transform .15s,box-shadow .15s}
.lo-demande:hover{transform:translate(-3px,-3px) rotate(-.6deg);box-shadow:var(--ombre-pop-l);color:var(--encre)}
.lo-demande img{width:64px;height:64px}
.lo-demande strong{font:800 1.15rem/1.2 var(--f-titre)}
.lo-demande span{font-size:.98rem;color:var(--encre-doux)}
.lo-demande::after{content:"→";position:absolute;right:1rem;top:1rem;font:800 1.3rem var(--f-titre);color:var(--flamant)}
.lo-demande:nth-child(5n+1){background:var(--eau-clair)}.lo-demande:nth-child(5n+2){background:var(--flamant-clair)}.lo-demande:nth-child(5n+3){background:var(--soleil-clair)}
@media (prefers-reduced-motion:reduce){.lo-demande:hover{transform:none}}

/* Étapes « comment ça marche » */
.lo-etapes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.2rem;counter-reset:pas}
.lo-etapes li{counter-increment:pas;position:relative;padding:1.4rem 1.2rem 1.2rem 1.2rem;background:var(--blanc);border:var(--trait);border-radius:var(--rayon)}
.lo-etapes li::before{content:counter(pas);position:absolute;top:-18px;left:16px;width:40px;height:40px;display:grid;place-items:center;background:var(--flamant);color:var(--blanc);border:var(--trait);border-radius:50%;font:800 1.1rem var(--f-titre)}
.lo-etapes img{width:56px;height:56px;float:right;margin-left:.6rem}
.lo-etapes h3{margin:.4rem 0 .3rem}
.lo-etapes p{margin:0}

/* Bande de formes */
.lo-formes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.8rem}
.lo-formes li{text-align:center;background:var(--blanc);border:var(--trait);border-radius:var(--rayon-s);padding:.8rem .4rem;font:700 .92rem var(--f-titre)}
.lo-formes img{width:72px;height:72px;display:block;margin:0 auto .3rem}

/* ---------- hero des pages ---------- */
.lo-hero{background:var(--eau-clair);border-bottom:var(--trait);position:relative}
.lo-hero-grille{max-width:var(--cadre);margin:auto;padding:clamp(1.5rem,4vw,3rem) var(--gouttiere);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(1.2rem,4vw,3rem);align-items:center}
.lo-hero-txt h1{font-size:clamp(1.9rem,4.4vw,3.1rem)}
.lo-chapo{font-size:1.18rem;font-weight:600;max-width:52ch;margin:0 0 1rem}
.lo-hero-visuel{border:var(--trait);border-radius:var(--rayon);overflow:hidden;box-shadow:var(--ombre-pop-l);rotate:1.2deg;background:var(--blanc)}
.lo-hero-visuel img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.lo-hero:not(.lo-hero-img) .lo-hero-grille{grid-template-columns:1fr}
@media (max-width:820px){.lo-hero-grille{grid-template-columns:1fr}.lo-hero-visuel{rotate:0deg}}
.lo-ariane ol{list-style:none;margin:0 0 .6rem;padding:0;display:flex;flex-wrap:wrap;gap:.3rem;font-size:.9rem}
.lo-ariane li+li::before{content:"›";margin-right:.3rem;color:var(--encre-doux)}
.lo-ariane a{color:var(--encre)}
.lo-infos{display:flex;flex-wrap:wrap;gap:.4rem .9rem;margin:0;font-size:.92rem;color:var(--encre-doux)}

/* ---------- corps ---------- */
.lo-corps{padding-block:clamp(1.5rem,4vw,3rem)}
.lo-prose{font-size:var(--t-corps)}
.lo-prose>*:first-child{margin-top:0}
.lo-prose p,.lo-prose li{max-width:none}
.lo-prose h2{padding-top:.3rem;scroll-margin-top:96px}
.lo-prose h2::before{content:"";display:block;width:56px;height:8px;border-radius:8px;background:linear-gradient(90deg,var(--eau) 0 33%,var(--flamant) 33% 66%,var(--soleil) 66%);margin-bottom:.7rem}
.lo-prose h3{scroll-margin-top:96px}
.lo-prose ul li::marker{color:var(--flamant)}
.lo-prose img{border-radius:var(--rayon-s)}
.lo-prose table{display:block;overflow-x:auto;max-width:100%;width:100%;border-collapse:separate;border-spacing:0;border:var(--trait);border-radius:var(--rayon-s);overflow:hidden;margin:1.2rem 0;background:var(--blanc);font-size:1rem}
.lo-prose th{background:var(--soleil-clair);text-align:left;font-family:var(--f-titre)}
.lo-prose th,.lo-prose td{padding:.65rem .8rem;border-bottom:1px solid var(--sable-f);vertical-align:top}
.lo-prose tr:last-child td{border-bottom:0}
.lo-table-defile{overflow-x:auto}
.lo-prose blockquote{margin:1.2rem 0;padding:.8rem 1.2rem;border-left:6px solid var(--eau);background:var(--blanc);border-radius:0 var(--rayon-s) var(--rayon-s) 0}
.lo-essentiel,.lo-encadre{background:var(--blanc);border:var(--trait);border-radius:var(--rayon);padding:1.1rem 1.3rem;margin:0 0 1.6rem;box-shadow:var(--ombre-pop)}
.lo-essentiel{background:var(--soleil-clair)}
.lo-essentiel-t,.lo-encadre-t{font:800 1.05rem var(--f-titre);margin:0 0 .4rem}
.lo-essentiel ul{margin:0;padding-left:1.2rem}
.lo-encadre{background:var(--eau-clair)}
.lo-sommaire{border:var(--trait);border-radius:var(--rayon);background:var(--blanc);padding:.8rem 1.2rem;margin:0 0 1.8rem}
.lo-sommaire summary{cursor:pointer;font:800 1rem var(--f-titre)}
.lo-sommaire ol{margin:.6rem 0 0;padding-left:1.3rem;columns:2 300px;column-gap:2rem}
.lo-figure{margin:1.6rem 0}.lo-figure img{border:var(--trait);border-radius:var(--rayon)}
.lo-figure figcaption{font-size:.9rem;color:var(--encre-doux);margin-top:.4rem}
.lo-faq{margin-top:2.4rem}
.lo-faq details{background:var(--blanc);border:var(--trait);border-radius:var(--rayon-s);margin:.6rem 0;padding:.2rem 1rem}
.lo-faq summary{cursor:pointer;font:700 1.05rem/1.4 var(--f-titre);padding:.7rem 0;min-height:44px}
.lo-faq details p{margin:.2rem 0 .9rem}

/* encart d'appel au devis (articles) */
.lo-appel{display:grid;grid-template-columns:auto 1fr auto;gap:1rem 1.4rem;align-items:center;margin:2.4rem 0;padding:1.3rem 1.5rem;background:var(--flamant-clair);border:var(--trait);border-radius:var(--rayon);box-shadow:var(--ombre-pop)}
.lo-appel img{width:72px;height:72px}
.lo-appel p{margin:0}.lo-appel strong{font:800 1.2rem var(--f-titre);display:block}
@media (max-width:640px){.lo-appel{grid-template-columns:1fr}.lo-appel img{display:none}}

/* bloc IA */
.lo-ia{margin-top:2.4rem;padding:1rem 1.2rem;border:2px dashed var(--petrole);border-radius:var(--rayon)}
.lo-ia-t{font:800 1rem var(--f-titre);margin:0 0 .5rem}
.lo-ia-l{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.lo-ia-l a{display:inline-block;padding:.35rem .8rem;border:var(--trait);border-radius:var(--rayon-pilule);background:var(--blanc);text-decoration:none;color:var(--encre);font:700 .9rem var(--f-titre);min-height:40px}
.lo-ia-md{margin:.6rem 0 0;font-size:.92rem}
.lo-ia-copie{font:inherit;border:0;background:none;color:var(--petrole-f);text-decoration:underline;cursor:pointer;min-height:40px}
.lo-ia-note{font-size:.85rem;color:var(--encre-doux);margin:.4rem 0 0}

/* ---------- cartes ---------- */
.lo-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.4rem}
.lo-carte{display:flex;flex-direction:column;background:var(--blanc);border:var(--trait);border-radius:var(--rayon);overflow:hidden;box-shadow:var(--ombre-pop);transition:transform .15s,box-shadow .15s}
.lo-carte:hover{transform:translate(-2px,-2px);box-shadow:var(--ombre-pop-l)}
.lo-carte-img img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-bottom:var(--trait)}
.lo-carte-txt{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.4rem;flex:1}
.lo-carte-t{margin:0;font-size:1.12rem}.lo-carte-t a{color:var(--encre);text-decoration:none}
.lo-carte-t a::after{content:"";position:absolute;inset:0}
.lo-carte{position:relative}
.lo-carte-d{margin:0;font-size:.98rem;color:var(--encre-doux)}
.lo-etiquette{align-self:flex-start;font:800 .75rem var(--f-titre);text-transform:uppercase;letter-spacing:.06em;background:var(--soleil);border:1.5px solid var(--encre);border-radius:var(--rayon-pilule);padding:.15rem .6rem}
@media (prefers-reduced-motion:reduce){.lo-carte:hover{transform:none}}
.lo-liste{padding-bottom:3rem}
.lo-alire{background:var(--eau-clair);border-top:var(--trait);padding-block:2.5rem}
.lo-alire-t{margin-top:0}
.lo-rubriques{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.lo-rubrique{display:block;padding:1.1rem 1.2rem;background:var(--blanc);border:var(--trait);border-radius:var(--rayon);text-decoration:none;color:var(--encre)}
.lo-rubrique strong{font:800 1.15rem var(--f-titre);display:block}.lo-rubrique span{color:var(--encre-doux);font-size:.98rem}

/* ---------- pied ---------- */
.lo-pied{background:var(--blanc);border-top:var(--trait);margin-top:0}
.lo-pied-in{display:grid;grid-template-columns:1.1fr 2fr;gap:2rem;padding-block:2.4rem 1.2rem}
.lo-pied-logo img{width:170px}
.lo-pied-accroche{margin:.6rem 0 0;color:var(--encre-doux);font-size:.98rem;max-width:34ch}
.lo-pied-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.4rem}
.lo-pied h2{font-size:1rem;margin:0 0 .5rem}
.lo-pied ul{list-style:none;margin:0;padding:0}
.lo-pied li a{display:inline-block;padding:.3rem 0;color:var(--encre);text-decoration:none;min-height:36px}
.lo-pied li a:hover{color:var(--flamant)}
.lo-pied-bas{border-top:1px solid var(--sable-f);padding-block:1rem 1.6rem;font-size:.86rem;color:var(--encre-doux)}
.lo-pied-bas p{margin:.2rem 0}
@media (max-width:760px){.lo-pied-in{grid-template-columns:1fr}}

/* ---------- 404 ---------- */
.lo-404-code{font:800 clamp(4rem,14vw,8rem)/1 var(--f-titre);color:var(--flamant);margin:0;-webkit-text-stroke:2px var(--encre)}
.lo-jeu{margin:2rem 0;padding:1.4rem;background:var(--blanc);border:var(--trait);border-radius:var(--rayon);box-shadow:var(--ombre-pop)}
.lo-jeu-grille{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;max-width:460px}
.lo-jeu-carte{aspect-ratio:1;border:var(--trait);border-radius:var(--rayon-s);background:var(--eau);cursor:pointer;display:grid;place-items:center;padding:0;min-height:44px}
.lo-jeu-carte img{width:70%;height:70%;opacity:0;transition:opacity .2s}
.lo-jeu-carte[aria-pressed="true"]{background:var(--blanc)}.lo-jeu-carte[aria-pressed="true"] img{opacity:1}
.lo-jeu-carte.lo-trouve{background:var(--soleil-clair)}
.lo-jeu-statut{font-weight:700;margin:.8rem 0 0}

/* ===================================================================== formulaires de devis */
.lo-devis-zone{margin:1.5rem 0 2.5rem}
.lo-devis{position:relative;background:var(--blanc);border:var(--trait);border-radius:calc(var(--rayon) + 6px);box-shadow:var(--ombre-pop-l);padding:clamp(1rem,3vw,2rem)}
.lo-pot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.lo-progression{list-style:none;margin:0 0 1.4rem;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:.4rem}
.lo-progression li{display:flex;flex-direction:column;align-items:center;gap:.25rem;text-align:center;font:700 .8rem/1.2 var(--f-titre);color:var(--encre-doux);position:relative;padding-top:.1rem}
.lo-progression li::after{content:"";position:absolute;top:18px;left:calc(50% + 22px);right:calc(-50% + 22px);height:3px;border-radius:3px;background:var(--sable-f)}
.lo-progression li:last-child::after{display:none}
.lo-progression img{width:36px;height:36px;padding:3px;border:2px solid var(--sable-f);border-radius:50%;background:var(--sable);filter:grayscale(.7);opacity:.7}
.lo-progression li.lo-fait img,.lo-progression li.lo-actif img{filter:none;opacity:1;border-color:var(--encre)}
.lo-progression li.lo-actif{color:var(--encre)}
.lo-progression li.lo-actif img{background:var(--soleil);box-shadow:2px 2px 0 var(--encre)}
.lo-progression li.lo-fait::after{background:var(--eau)}
@media (max-width:620px){.lo-progression span{display:none}.lo-progression li.lo-actif span{display:block;position:absolute;top:44px;white-space:nowrap}.lo-progression{margin-bottom:2.2rem}}
.lo-devis.lo-js .lo-etape{display:none}
.lo-devis.lo-js .lo-etape.lo-visible{display:block;animation:lo-entre .28s ease-out}
@keyframes lo-entre{from{opacity:0;transform:translateY(8px)}}
@media (prefers-reduced-motion:reduce){.lo-devis.lo-js .lo-etape.lo-visible{animation:none}}
.lo-devis:not(.lo-js) .lo-etape+.lo-etape{margin-top:2rem;padding-top:1.5rem;border-top:2px dashed var(--sable-f)}
.lo-devis:not(.lo-js) [data-suivant],.lo-devis:not(.lo-js) [data-precedent]{display:none}
.lo-etape-t{margin:0 0 1rem;font-size:1.45rem}
.lo-etape-t span{display:block;font:700 .82rem var(--f-titre);text-transform:uppercase;letter-spacing:.08em;color:var(--flamant);margin-bottom:.2rem}
.lo-champ{border:0;margin:0 0 1.4rem;padding:0;min-width:0}
.lo-q{font:800 1.05rem/1.35 var(--f-titre);padding:0;margin:0 0 .6rem}
.lo-aide{display:block;font:400 .92rem/1.45 var(--f-texte);color:var(--encre-doux);margin-top:.2rem}
.lo-choix{display:flex;flex-wrap:wrap;gap:.5rem}
.lo-option{position:relative;display:flex;align-items:center;gap:.5rem;min-height:46px;padding:.5rem .95rem;border:2px solid var(--encre);border-radius:var(--rayon-pilule);background:var(--sable);cursor:pointer;font-weight:700;line-height:1.25;transition:background .12s,transform .12s}
.lo-option input{position:absolute;opacity:0;width:1px;height:1px}
.lo-option:hover{background:var(--eau-clair)}
.lo-option:has(input:checked){background:var(--soleil);box-shadow:3px 3px 0 var(--encre);transform:translate(-1px,-1px)}
.lo-option:has(input[type=checkbox]:checked)::before{content:"✓";font-weight:800}
.lo-option:has(input:focus-visible){outline:3px solid var(--flamant);outline-offset:2px}
.lo-cartes{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:.7rem}
.lo-cartes .lo-option{flex-direction:column;justify-content:center;text-align:center;border-radius:var(--rayon-s);padding:.8rem .5rem;font-size:.92rem;background:var(--blanc)}
.lo-cartes .lo-option img{width:72px;height:72px;transition:transform .2s}
.lo-cartes .lo-option:has(input:checked) img{transform:scale(1.08) rotate(-3deg)}
.lo-teinte{padding-left:.5rem}
.lo-pastille{width:28px;height:28px;border-radius:50%;border:2px solid var(--encre);flex:0 0 auto}
.lo-p-blanc{background:#F4F7F8}.lo-p-bleu-clair{background:#8FD3F0}.lo-p-bleu-france{background:#2D6FD2}.lo-p-sable{background:#E9D7B0}
.lo-p-gris-clair{background:#C7CED3}.lo-p-gris-anthracite{background:#3D464D}.lo-p-vert-caraibes{background:#3FC6B0}.lo-p-noir{background:#14181B}
.lo-p-motif{background:repeating-conic-gradient(#2D6FD2 0 25%,#8FD3F0 0 50%) 0 0/10px 10px}.lo-p-conseil{background:conic-gradient(var(--eau),var(--flamant),var(--soleil),var(--eau))}
.lo-grille-num{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.9rem 1rem;margin-bottom:1rem}
.lo-num label{display:block;font:700 .98rem/1.3 var(--f-titre);margin-bottom:.35rem}
.lo-num input,.lo-champ textarea,.lo-num select{width:100%;min-height:48px;padding:.6rem .8rem;border:2px solid var(--encre);border-radius:var(--rayon-s);background:var(--blanc);font:600 1.05rem var(--f-texte);color:var(--encre)}
.lo-champ textarea{min-height:110px;resize:vertical}
.lo-champ>label{display:flex;align-items:center;gap:.5rem;font:800 1.02rem var(--f-titre);margin-bottom:.4rem}
.lo-unite{display:flex;align-items:stretch}
.lo-unite input{border-radius:var(--rayon-s) 0 0 var(--rayon-s)}
.lo-unite span{display:grid;place-items:center;padding:0 .8rem;border:2px solid var(--encre);border-left:0;border-radius:0 var(--rayon-s) var(--rayon-s) 0;background:var(--eau-clair);font-weight:800}
.lo-num input:focus,.lo-champ textarea:focus{outline:3px solid var(--eau);outline-offset:1px}
.lo-num input[aria-invalid=true],.lo-champ textarea[aria-invalid=true]{border-color:var(--ko);background:#FFF1EC}
.lo-ligne{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr);gap:1rem;margin-bottom:1.4rem}
@media (max-width:520px){.lo-ligne{grid-template-columns:1fr}}
.lo-estimation{display:flex;gap:.9rem;align-items:center;padding:.9rem 1.1rem;background:var(--eau-clair);border:2px dashed var(--petrole);border-radius:var(--rayon-s)}
.lo-estimation p{margin:0}.lo-estimation output{display:block;font:800 1.35rem var(--f-titre);color:var(--petrole-f)}
.lo-photos input[type=file]{width:100%;padding:.8rem;border:2px dashed var(--encre);border-radius:var(--rayon-s);background:var(--sable);font:inherit}
.lo-accord{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start;padding:1rem;background:var(--sable);border:2px solid var(--encre);border-radius:var(--rayon-s);font-size:.95rem;margin:1rem 0}
.lo-accord input{width:26px;height:26px;margin:.1rem 0 0;accent-color:var(--flamant)}
.lo-pas-nav{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:space-between;margin-top:1.4rem}
.lo-pas-nav [data-suivant],.lo-pas-nav [type=submit]{margin-left:auto}
.lo-erreur{margin:.6rem 0 0;padding:.7rem 1rem;border-radius:var(--rayon-s);background:#FFF1EC;border:2px solid var(--ko);color:var(--ko);font-weight:700}
.lo-envoi{margin:1rem 0 0;font-weight:700}
.lo-devis[aria-busy=true] [type=submit]{opacity:.6;pointer-events:none}
.lo-garanties{list-style:none;margin:1.2rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;font-size:.92rem;color:var(--encre-doux)}
.lo-garanties li{display:flex;align-items:center;gap:.4rem}.lo-garanties img{width:26px;height:26px}
