/* ---------- Boutons (style du site : capitales Heebo, filets 1 px, hover inversé) ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;padding:18px 38px;font-family:var(--f-body);font-size:13px;font-weight:400;letter-spacing:1.4px;text-transform:uppercase;line-height:1;border:1px solid transparent;border-radius:var(--radius);transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease),transform .35s var(--ease);white-space:nowrap;cursor:pointer}
.btn-sm{padding:14px 26px;font-size:12px}
.btn-primary{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}
.btn-primary:hover{background:transparent;color:var(--c-primary)}
.btn-accent{background:var(--c-accent);color:#fff;border-color:var(--c-accent)}
.btn-accent:hover{background:transparent;color:var(--c-accent)}
.section--dark .btn-accent:hover,.page-hero .btn-accent:hover,.hero .btn-accent:hover{color:#fff;border-color:#fff}
.btn-ghost{background:transparent;color:var(--c-primary);border-color:var(--c-primary)}
.btn-ghost:hover{background:var(--c-primary);color:#fff}
.btn-ghost-light{background:transparent;color:#fff;border-color:#fff}
.btn-ghost-light:hover{background:#fff;color:var(--c-primary)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.link-more{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-heading);font-size:var(--fs-xs);font-weight:600;letter-spacing:var(--tracking);text-transform:uppercase}
.link-more::after{content:"";width:22px;height:1px;background:currentColor;transition:width .35s var(--ease)}
.link-more:hover::after{width:36px}
.chip{display:inline-block;padding:10px 20px;border:1px solid var(--c-line);background:transparent;font-family:var(--f-body);font-size:12px;letter-spacing:1px;text-transform:uppercase;transition:all .3s var(--ease);cursor:pointer}
.chip:hover,.chip.is-active{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}
.filter-bar,.step-nav{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-12)}
.step-nav{padding-block:var(--sp-8)}
.tag{display:inline-block;font-size:var(--fs-xs);letter-spacing:1px;text-transform:uppercase;padding:.4em 1em;border:1px solid var(--c-line);margin-right:.4em}

/* ---------- En-têtes de section ---------- */
.section-head{max-width:760px;margin-bottom:var(--sp-16)}
.section-head--center{margin-inline:auto;text-align:center}
.section-head--center .kicker{justify-content:center}
.section-title{margin-bottom:var(--sp-6)}
.section-text{font-size:var(--fs-md);color:inherit;opacity:.8;max-width:64ch}
.section-head--center .section-text{margin-inline:auto}
.section-more{text-align:center;margin-top:var(--sp-12)}

/* ---------- Formulaires ---------- */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-8) var(--sp-8)}
.field--full{grid-column:1/-1}
.field{display:flex;flex-direction:column;gap:var(--sp-3);margin:0;padding:0;border:0;min-width:0}
.label{font-family:var(--f-heading);font-size:11px;letter-spacing:var(--tracking);text-transform:uppercase;font-weight:600;color:var(--c-muted)}
.section--dark .label{color:rgba(255,255,255,.6)}
.input,.textarea{width:100%;padding:12px 0;border:0;border-bottom:1px solid var(--c-line);background:transparent;color:inherit;border-radius:0;transition:border-color .3s;font-weight:300}
.input:focus,.textarea:focus{border-color:var(--c-accent);outline:none}
.input::placeholder,.textarea::placeholder{color:var(--c-muted);opacity:.7}
.section--dark .input,.section--dark .textarea{border-bottom-color:rgba(255,255,255,.25);color:#fff}
.section--dark .input::placeholder{color:rgba(255,255,255,.5)}
.textarea{resize:vertical;min-height:110px}
.choice-group{display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.choice{position:relative}
.choice input{position:absolute;opacity:0;inset:0}
.choice span{display:inline-block;padding:10px 18px;border:1px solid var(--c-line);font-size:12px;letter-spacing:.6px;cursor:pointer;transition:all .3s var(--ease);border-radius:var(--radius)}
.choice input:checked+span{background:var(--c-primary);border-color:var(--c-primary);color:#fff}
.section--dark .choice span{border-color:rgba(255,255,255,.25)}
.section--dark .choice input:checked+span{background:var(--c-accent);border-color:var(--c-accent)}
.choice input:focus-visible+span{outline:1px solid var(--c-accent);outline-offset:2px}
.checkbox{display:flex;gap:var(--sp-3);align-items:flex-start;font-size:var(--fs-sm);cursor:pointer;line-height:1.6}
.checkbox input{margin-top:.35em;accent-color:var(--c-accent)}
.checkbox a{text-decoration:underline;text-underline-offset:3px}
.form-notice{padding:var(--sp-4) var(--sp-6);margin-bottom:var(--sp-6);border-left:1px solid;font-size:var(--fs-sm)}
.form-notice--success{border-color:var(--c-accent);background:var(--c-accent-soft)}
.form-notice--error{border-color:var(--c-error);background:rgba(183,28,28,.06)}
.lead-form__head{margin-bottom:var(--sp-12)}
.lead-form__title{font-size:var(--fs-2xl)}
.lead-form__text{opacity:.8;max-width:60ch}
.lead-form__footer{margin-top:var(--sp-12);display:flex;align-items:center;gap:var(--sp-8);flex-wrap:wrap}
.lead-form__hint{margin:0;font-size:var(--fs-sm);opacity:.75}
.lead-form__hint a{text-decoration:underline;text-underline-offset:3px}

/* Recherche : ligne fine + flèche */
.search-form{display:flex;align-items:flex-end;gap:var(--sp-4);max-width:520px;border-bottom:1px solid currentColor;padding-bottom:6px;margin-bottom:var(--sp-12)}
.search-form input{flex:1;border:0;background:transparent;color:inherit;font:inherit;font-weight:300;padding:10px 0;outline:none;min-width:0}
.search-form input::placeholder{color:currentColor;opacity:.5}
.search-form button{background:none;border:0;color:inherit;padding:10px 0;font-family:var(--f-heading);font-size:11px;letter-spacing:var(--tracking);text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center;gap:10px;opacity:.85;transition:opacity .3s}
.search-form button:hover{opacity:1;color:var(--c-accent)}
.search-form button::after{content:"→";font-size:16px}
.search-form--center{margin-inline:auto}

/* ---------- Cartes ---------- */
.collections-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--sp-12) var(--sp-8)}
.collections-grid--compact{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--sp-8) var(--sp-6)}
.collection-card__link{display:block;color:inherit}
.collection-card__media{aspect-ratio:4/3;overflow:hidden;background:var(--c-light);position:relative}
.collection-card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.25));opacity:0;transition:opacity .6s var(--ease)}
.collection-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.collection-card:hover .collection-card__media img{transform:scale(1.06)}
.collection-card:hover .collection-card__media::after{opacity:1}
.collection-card__body{padding-top:var(--sp-6);display:grid;gap:6px}
.collection-card__approche{font-family:var(--f-heading);font-size:11px;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--c-accent)}
.collection-card__title{font-size:var(--fs-lg);text-transform:uppercase;letter-spacing:.12em;margin:0}
.collection-card__tagline{color:var(--c-muted);font-size:var(--fs-sm);margin:0 0 var(--sp-2)}
.section--dark .collection-card__tagline{color:rgba(255,255,255,.65)}
.showroom-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:var(--sp-8)}
.showroom-card{display:flex;flex-direction:column;background:var(--c-white);border:1px solid var(--c-line);transition:box-shadow .5s var(--ease),transform .5s var(--ease)}
.showroom-card:hover{box-shadow:var(--shadow-soft);transform:translateY(-3px)}
.showroom-card__media{aspect-ratio:16/10;overflow:hidden}
.showroom-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.showroom-card:hover .showroom-card__media img{transform:scale(1.05)}
.showroom-card__body{padding:var(--sp-12)}
.showroom-card__title{font-size:var(--fs-xl);text-transform:uppercase;letter-spacing:.1em}
.showroom-card__address{line-height:2;margin-bottom:var(--sp-8);color:var(--c-muted)}
.showroom-card__address a{color:var(--c-text)}
.showroom-card__hours{font-size:var(--fs-sm)}
.showroom-card__actions{display:flex;flex-wrap:wrap;gap:var(--sp-4);align-items:center}
.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--sp-12) var(--sp-8)}
.post-card__media{aspect-ratio:16/10;overflow:hidden;background:var(--c-light)}
.post-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.post-card:hover .post-card__media img{transform:scale(1.05)}
.post-card__body{padding-top:var(--sp-6)}
.post-card__date{font-family:var(--f-heading);font-size:11px;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--c-accent)}
.post-card__title{font-size:var(--fs-lg);margin:.6em 0;text-transform:none;letter-spacing:0}
.post-card__excerpt{color:var(--c-muted);font-size:var(--fs-sm)}
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--sp-8)}
.team-card{text-align:center}
.team-card__media{aspect-ratio:4/5;overflow:hidden;background:var(--c-light);margin-bottom:var(--sp-4)}
.team-card__media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .8s var(--ease),transform 1.2s var(--ease)}
.team-card:hover .team-card__media img{filter:none;transform:scale(1.03)}
.team-card__name{font-size:var(--fs-md);margin-bottom:.2em;text-transform:uppercase;letter-spacing:.1em}
.team-card__role{color:var(--c-muted);font-size:var(--fs-sm)}
.testimonials{display:flex;gap:var(--sp-8);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--sp-4);scrollbar-width:none}
.testimonials::-webkit-scrollbar{display:none}
.testimonial{flex:0 0 min(440px,85%);scroll-snap-align:start;margin:0;padding:var(--sp-12);background:var(--c-light);position:relative}
.testimonial::before{content:"“";position:absolute;top:18px;left:28px;font-family:var(--f-heading);font-size:72px;line-height:1;color:var(--c-accent);opacity:.35}
.section--dark .testimonial{background:rgba(255,255,255,.04);border:1px solid var(--c-line-dark)}
.testimonial__stars{color:var(--c-accent);letter-spacing:.2em;margin-bottom:var(--sp-4);font-size:12px}
.testimonial__text{font-size:var(--fs-md);font-style:italic;line-height:1.8}
.testimonial__meta{font-size:var(--fs-sm);color:var(--c-muted);margin-top:var(--sp-4)}
.slider-nav{display:flex;gap:var(--sp-2);justify-content:flex-end;margin-top:var(--sp-4)}
.slider-nav button{width:44px;height:44px;border:1px solid var(--c-line);background:transparent;color:inherit;font-size:18px;transition:all .3s}
.slider-nav button:hover{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}
.swatch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:var(--sp-6);list-style:none;margin-bottom:var(--sp-8)}
.swatch{text-align:center;font-size:var(--fs-sm)}
.swatch img{width:100%;aspect-ratio:1;object-fit:cover;margin-bottom:var(--sp-3);transition:transform .6s var(--ease)}
.swatch:hover img{transform:scale(1.04)}
.swatch small{display:block;color:var(--c-muted)}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--sp-8)}
.info-card img{aspect-ratio:4/3;object-fit:cover;width:100%;margin-bottom:var(--sp-4)}
.info-card h3{font-size:var(--fs-md);text-transform:uppercase;letter-spacing:.1em}
.check-list{list-style:none;columns:2;column-gap:var(--sp-12)}
.check-list li{padding:.7em 0 .7em 1.8em;position:relative;border-bottom:1px solid var(--c-line);break-inside:avoid}
.check-list li::before{content:"";position:absolute;left:0;top:1.25em;width:12px;height:1px;background:var(--c-accent)}
.spec-card{background:var(--c-light);padding:var(--sp-12);align-self:start;position:sticky;top:calc(var(--header-h) + 24px)}
.spec-card__title{font-size:var(--fs-md);text-transform:uppercase;letter-spacing:.14em;padding-bottom:var(--sp-4);border-bottom:1px solid var(--c-line);margin-bottom:var(--sp-6)}
.spec-list{display:grid;grid-template-columns:auto 1fr;gap:.6em 1.2em;margin:0 0 var(--sp-6);font-size:var(--fs-sm)}
.spec-list dt{font-family:var(--f-heading);font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:var(--tracking);color:var(--c-muted);padding-top:.25em}
.spec-list dd{margin:0}
.spec-card__address{line-height:2}
.spec-card__hours{color:var(--c-muted);font-size:var(--fs-sm)}
.spec-card .btn{margin:var(--sp-3) var(--sp-2) 0 0}
.download-list{list-style:none;border-top:1px solid var(--c-line);margin-top:var(--sp-6)}
.download-list li{border-bottom:1px solid var(--c-line)}
.download-list a{display:flex;justify-content:space-between;padding:.9em 0;font-size:var(--fs-sm)}
.download-list a::after{content:"↓";color:var(--c-accent)}
.download-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--sp-8)}
.download-card{background:var(--c-light);padding:var(--sp-12);text-align:center}
.download-card__media{margin:calc(var(--sp-12) * -1) calc(var(--sp-12) * -1) var(--sp-8)}
.download-card__title{font-size:var(--fs-lg);text-transform:uppercase;letter-spacing:.1em}
.masonry{columns:3;column-gap:var(--sp-6)}
.masonry__item{display:block;margin-bottom:var(--sp-6);break-inside:avoid;overflow:hidden}
.masonry__item img{width:100%;transition:transform 1.2s var(--ease)}
.masonry__item:hover img{transform:scale(1.03)}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:2000;display:flex;align-items:center;justify-content:center}
.lightbox img{max-width:92vw;max-height:90vh;object-fit:contain}
.lightbox button{position:absolute;background:none;border:0;color:#fff;font-size:36px;padding:16px;line-height:1;opacity:.7;transition:opacity .3s}
.lightbox button:hover{opacity:1}
.lightbox__close{top:8px;right:16px}.lightbox__prev{left:8px;top:50%;transform:translateY(-50%)}.lightbox__next{right:8px;top:50%;transform:translateY(-50%)}
.logo-wall{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-12);list-style:none;align-items:center}
.logo-wall img{max-height:44px;width:auto;filter:grayscale(1);opacity:.55;transition:opacity .4s}
.logo-wall img:hover{opacity:1}
.values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--sp-12)}
.value__title{font-size:var(--fs-md);padding-top:var(--sp-4);border-top:1px solid var(--c-accent);display:inline-block;text-transform:uppercase;letter-spacing:.1em}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--sp-8);text-align:center}
.stat__value{display:block;font-family:var(--f-heading);font-size:var(--fs-3xl);color:var(--c-accent);line-height:1}
.stat__label{font-family:var(--f-heading);font-size:11px;letter-spacing:var(--tracking-wide);text-transform:uppercase;margin-top:var(--sp-3);display:block;opacity:.8}
.steps{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--sp-12)}
.step{position:relative;padding-top:var(--sp-6);border-top:1px solid var(--c-line)}
.step__num{font-family:var(--f-heading);font-size:var(--fs-xs);letter-spacing:var(--tracking-wide);color:var(--c-accent);display:block;margin-bottom:var(--sp-4)}
.step__title{font-size:var(--fs-md);text-transform:uppercase;letter-spacing:.1em}
.step__text{color:var(--c-muted);font-size:var(--fs-sm)}
.socials{display:flex;gap:var(--sp-3);list-style:none;margin-top:var(--sp-6)}
.socials--center{justify-content:center}
.socials a{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border:1px solid var(--c-line-dark);transition:all .3s}
.socials a:hover{background:var(--c-accent);border-color:var(--c-accent);color:#fff}
.socials .icon{width:14px;height:14px;fill:currentColor}
.lang-switcher{display:flex;gap:var(--sp-3);list-style:none;font-family:var(--f-heading);font-size:11px;letter-spacing:.12em}
.lang-switcher a{opacity:.6}
.lang-switcher .is-active a{opacity:1;color:var(--c-accent)}
.breadcrumb{font-family:var(--f-heading);font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.65;margin-bottom:var(--sp-6)}
.breadcrumb ol{display:flex;flex-wrap:wrap;gap:.7em;list-style:none;justify-content:inherit}
.breadcrumb li+li::before{content:"—";margin-right:.7em;opacity:.5}
.pagination{margin-top:var(--sp-12)}
.pagination .nav-links{display:flex;gap:var(--sp-2);justify-content:center}
.pagination .page-numbers{padding:.6em 1em;border:1px solid var(--c-line);font-family:var(--f-heading);font-size:12px;letter-spacing:1px}
.pagination .current{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}
.notice-inline{padding:var(--sp-4);background:#fff3e0;border-left:2px solid #e65100}
.video-embed{aspect-ratio:16/9}
.video-embed iframe{width:100%;height:100%}
.chapter__name{font-family:var(--f-heading);font-size:var(--fs-display);text-transform:lowercase;color:var(--c-accent);line-height:1;display:block;margin-bottom:var(--sp-6);font-weight:300;letter-spacing:.02em}
.perso-step__head{display:grid;grid-template-columns:auto 1fr;gap:var(--sp-8);align-items:start;margin-bottom:var(--sp-12)}
.perso-step__num{font-family:var(--f-heading);font-size:var(--fs-display);color:var(--c-accent);line-height:1;font-weight:300}
@media (max-width:760px){.form-grid{grid-template-columns:1fr}.masonry{columns:2}.check-list{columns:1}.spec-card{position:static}.btn{padding:16px 28px}}

/* ---------- Matériaux ---------- */
.materiaux-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--sp-12) var(--sp-8)}
.materiaux-grid--wide{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.materiau-card__link{display:block;color:inherit}
.materiau-card__media{position:relative;aspect-ratio:1;overflow:hidden;background:var(--c-light)}
.materiau-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.materiau-card:hover .materiau-card__media img{transform:scale(1.06)}
.materiau-card__label{position:absolute;top:12px;left:12px;background:var(--c-primary);color:#fff;font-family:var(--f-heading);font-size:10px;letter-spacing:var(--tracking-wide);text-transform:uppercase;padding:6px 10px}
.materiau-card__body{padding-top:var(--sp-5);display:grid;gap:4px}
.materiau-card__title{font-size:var(--fs-md);text-transform:uppercase;letter-spacing:.14em;margin:0}
.materiau-card__tagline{color:var(--c-muted);font-size:var(--fs-sm);margin:0}
.materiau-card__meta{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4);margin-top:var(--sp-2);font-family:var(--f-heading);font-size:11px;letter-spacing:var(--tracking);text-transform:uppercase;color:var(--c-muted)}
.price-dots{display:inline-flex;gap:4px;vertical-align:middle}
.price-dots i{width:7px;height:7px;border:1px solid var(--c-accent);border-radius:50%;display:block}
.price-dots i.is-on{background:var(--c-accent)}
.muted{color:var(--c-muted)}
.check-list{list-style:none;margin:0 0 var(--sp-6);display:grid;gap:10px;font-size:var(--fs-sm)}
.check-list li{position:relative;padding-left:22px}
.check-list li::before{content:"";position:absolute;left:0;top:.55em;width:12px;height:1px;background:var(--c-accent)}
.swatch-grid--lg{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--sp-8) var(--sp-6)}
.swatch a{display:block;overflow:hidden}
.swatch__label{display:block;font-family:var(--f-heading);font-size:11px;letter-spacing:var(--tracking);text-transform:uppercase}
.nuancier__nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px var(--sp-6);margin:calc(var(--sp-8) * -1) auto var(--sp-12);font-family:var(--f-heading);font-size:11px;letter-spacing:var(--tracking);text-transform:uppercase}
.nuancier__nav a{padding:8px 0;border-bottom:1px solid transparent}
.nuancier__nav a:hover{border-bottom-color:var(--c-accent);color:var(--c-accent)}
.nuancier__section{padding-top:var(--sp-12);margin-top:var(--sp-12);border-top:1px solid var(--c-line)}
.nuancier__section:first-of-type{border-top:0;margin-top:0;padding-top:0}
.nuancier__section-head{max-width:720px;margin-bottom:var(--sp-8)}
.nuancier__section-head h3{font-size:var(--fs-lg);text-transform:uppercase;letter-spacing:.14em;margin-bottom:var(--sp-3)}
.nuancier__section-head p{color:var(--c-muted);font-size:var(--fs-sm)}
.collection-card__media--square{aspect-ratio:1}

/* ---------- Navigation ancrée (familles, thèmes) ---------- */
.anchor-nav{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--c-line)}
.anchor-nav__inner{display:flex;gap:var(--sp-8);overflow-x:auto;scrollbar-width:none;font-family:var(--f-heading);font-size:11px;letter-spacing:var(--tracking);text-transform:uppercase}
.anchor-nav__inner::-webkit-scrollbar{display:none}
.anchor-nav__inner a{padding:18px 0;white-space:nowrap;border-bottom:1px solid transparent;display:inline-flex;gap:8px;align-items:center}
.anchor-nav__inner a span{color:var(--c-accent);font-size:10px}
.anchor-nav__inner a:hover{border-bottom-color:var(--c-accent)}

/* ---------- Bloc « À voir en showroom » ---------- */
.showroom-cta{background:var(--c-primary);color:#fff;padding-block:var(--sp-20)}
.showroom-cta--compact{padding-block:var(--sp-12)}
.showroom-cta__inner{display:grid;grid-template-columns:1.1fr 1fr;gap:var(--sp-16);align-items:center}
.showroom-cta .section-head{margin-bottom:var(--sp-8)}
.showroom-cta .section-text{color:rgba(255,255,255,.7)}
.showroom-cta__actions{display:flex;flex-wrap:wrap;gap:var(--sp-4)}
.showroom-cta .btn-ghost{color:#fff;border-color:rgba(255,255,255,.5)}
.showroom-cta .btn-ghost:hover{background:#fff;color:var(--c-primary);border-color:#fff}
.showroom-cta__rooms{list-style:none;margin:0;display:grid;gap:var(--sp-4)}
.showroom-cta__room a{display:grid;gap:4px;padding:var(--sp-6);border:1px solid rgba(255,255,255,.18);color:#fff;transition:border-color .4s var(--ease),background .4s var(--ease)}
.showroom-cta__room a:hover{border-color:var(--c-accent);background:rgba(255,255,255,.04)}
.showroom-cta__name{font-family:var(--f-heading);font-size:var(--fs-sm);font-weight:600;letter-spacing:var(--tracking);text-transform:uppercase}
.showroom-cta__addr{font-size:var(--fs-sm);color:rgba(255,255,255,.65)}
.showroom-cta__room .link-more{color:var(--c-accent);margin-top:6px}
@media (max-width:860px){.showroom-cta__inner{grid-template-columns:1fr}}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--c-line)}
.faq__item{border-bottom:1px solid var(--c-line)}
.faq__q{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-6);padding:22px 0;cursor:pointer;list-style:none;font-family:var(--f-heading);font-size:var(--fs-md);font-weight:600;letter-spacing:.02em}
.faq__q::-webkit-details-marker{display:none}
.faq__q:hover{color:var(--c-accent)}
.faq__icon{position:relative;flex:0 0 14px;height:14px}
.faq__icon::before,.faq__icon::after{content:"";position:absolute;background:currentColor;top:50%;left:0;width:14px;height:1px;transition:transform .4s var(--ease)}
.faq__icon::after{transform:rotate(90deg)}
.faq__item[open] .faq__icon::after{transform:rotate(0)}
.faq__a{padding:0 0 var(--sp-8);max-width:680px;font-size:var(--fs-base);color:var(--c-text)}
.faq__a p:last-child{margin-bottom:0}
.section--light .faq,.section--light .faq__item{border-color:rgba(0,0,0,.09)}

/* ---------- Devis en ligne (parcours) ---------- */
.devis-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--sp-20);align-items:start}
.devis{border:1px solid var(--c-line);padding:var(--sp-10)}
.devis__step{border:0;padding:0;margin:0;min-width:0}
.devis .label{margin-top:var(--sp-2)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.devis__progress{display:flex;gap:var(--sp-6);margin-bottom:var(--sp-10);font-family:var(--f-heading);font-size:11px;letter-spacing:var(--tracking);text-transform:uppercase;color:var(--c-muted)}
.devis__progress span{flex:1;padding-bottom:10px;border-bottom:1px solid var(--c-line);transition:color .3s,border-color .3s}
.devis__progress span.is-active{color:var(--c-primary);border-bottom-color:var(--c-accent)}
.devis__progress span.is-done{color:var(--c-accent);border-bottom-color:var(--c-accent)}
.devis__step-title{font-size:var(--fs-xl);text-transform:none;letter-spacing:0;margin-bottom:var(--sp-2)}
.devis__step-text{color:var(--c-muted);margin-bottom:var(--sp-8)}
.choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--sp-4);margin-bottom:var(--sp-8)}
.choice-grid .choice{display:block;cursor:pointer}
.choice span.choice__box{display:grid;align-content:start;gap:6px;padding:var(--sp-5);border:1px solid var(--c-line);border-radius:0;min-height:100px;letter-spacing:0;font-size:inherit;transition:border-color .3s var(--ease),background .3s var(--ease)}
.choice__box strong{display:block;font-family:var(--f-heading);font-size:var(--fs-sm);font-weight:600;letter-spacing:.04em}
.choice__box small{display:block;color:var(--c-muted);font-size:var(--fs-xs);line-height:1.5}
.choice:hover .choice__box{border-color:var(--c-primary)}
.choice input:checked + span.choice__box{border-color:var(--c-accent);background:var(--c-light);color:inherit;box-shadow:inset 0 0 0 1px var(--c-accent)}
.choice input:focus-visible + .choice__box{outline:2px solid var(--c-accent);outline-offset:2px}
.choice--wide{grid-column:1/-1}
.devis__nav{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4);margin-top:var(--sp-8);padding-top:var(--sp-6);border-top:1px solid var(--c-line)}
.devis__nav .btn-link{background:none;border:0;padding:0;font-family:var(--f-heading);font-size:11px;letter-spacing:var(--tracking);text-transform:uppercase;cursor:pointer;color:var(--c-muted)}
.devis__nav .btn-link:hover{color:var(--c-primary)}
.devis__aside{position:sticky;top:100px;display:grid;gap:var(--sp-8)}
.devis__aside .aside__title{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:var(--tracking);margin-bottom:var(--sp-4)}
.devis__recap{list-style:none;margin:0;font-size:var(--fs-sm);display:grid;gap:8px}
.devis__recap li{display:flex;justify-content:space-between;gap:var(--sp-4);border-bottom:1px solid var(--c-line);padding-bottom:8px}
.devis__recap li span:first-child{color:var(--c-muted)}
.devis__recap li:empty{display:none}
.devis__trust{list-style:none;margin:0;display:grid;gap:10px;font-size:var(--fs-sm)}
.devis__trust li{padding-left:22px;position:relative}
.devis__trust li::before{content:"";position:absolute;left:0;top:.6em;width:12px;height:1px;background:var(--c-accent)}
.file-field{border:1px dashed var(--c-line);padding:var(--sp-6);text-align:center;font-size:var(--fs-sm);color:var(--c-muted);cursor:pointer;transition:border-color .3s}
.file-field:hover{border-color:var(--c-accent)}
.file-field input{display:none}
.file-field.has-file{border-style:solid;border-color:var(--c-accent);color:var(--c-primary)}
.devis__success{text-align:center;padding:var(--sp-12) 0}
.devis__success h3{font-size:var(--fs-xl);text-transform:none;letter-spacing:0}
.devis__success .btn{margin-top:var(--sp-6)}
@media (max-width:960px){.devis-layout{grid-template-columns:1fr}.devis__aside{position:static}.devis{padding:var(--sp-6)}}

/* ---------- Capture (catalogue / newsletter) ---------- */
.capture{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-16);align-items:center}
.capture__title{font-size:var(--fs-xl);margin-bottom:var(--sp-3)}
.capture__form{max-width:520px}
.capture__row{display:flex;align-items:flex-end;gap:var(--sp-6);border-bottom:1px solid var(--c-line);transition:border-color .3s var(--ease)}
.capture__row:focus-within{border-bottom-color:var(--c-accent)}
.capture__input{flex:1;min-width:0;border:0;background:transparent;color:inherit;padding:14px 0;font-size:var(--fs-md);font-weight:300;outline:none;border-radius:0;box-shadow:none}
.capture__input::placeholder{color:var(--c-muted);opacity:.8}
.capture__input:-webkit-autofill{-webkit-text-fill-color:currentColor;-webkit-box-shadow:0 0 0 1000px transparent inset;transition:background-color 9999s}
.capture__submit{display:inline-flex;align-items:center;gap:12px;background:none;border:0;padding:14px 0;cursor:pointer;color:var(--c-accent);font-family:var(--f-heading);font-size:11px;font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase;white-space:nowrap}
.capture__submit i{width:26px;height:1px;background:currentColor;position:relative;transition:width .35s var(--ease)}
.capture__submit i::after{content:"";position:absolute;right:0;top:-3px;width:6px;height:6px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}
.capture__submit:hover i{width:40px}
.capture__submit:disabled{opacity:.5;cursor:default}
.capture__consent{display:flex;gap:12px;align-items:flex-start;margin-top:var(--sp-4);font-size:var(--fs-xs);color:var(--c-muted);line-height:1.6;cursor:pointer;max-width:520px}
.capture__consent input{position:absolute;opacity:0;width:0;height:0}
.capture__box{flex:0 0 14px;width:14px;height:14px;margin-top:3px;border:1px solid var(--c-muted);position:relative;transition:border-color .3s,background .3s}
.capture__consent input:checked + .capture__box{border-color:var(--c-accent);background:var(--c-accent)}
.capture__consent input:checked + .capture__box::after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border-right:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:rotate(45deg)}
.capture__consent input:focus-visible + .capture__box{outline:1px solid var(--c-accent);outline-offset:2px}
.capture__consent a{text-decoration:underline;text-underline-offset:3px}
.capture .form-notice{margin-top:var(--sp-4)}
@media (max-width:860px){.capture{grid-template-columns:1fr;gap:var(--sp-8)}}
/* Footer */
.site-footer .capture{padding-bottom:var(--sp-12);margin-bottom:var(--sp-12);border-bottom:1px solid rgba(255,255,255,.12)}
.site-footer .capture__title{font-family:var(--f-heading);font-size:11px;font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--c-accent);margin-bottom:var(--sp-4)}
.site-footer .capture .section-text{color:rgba(255,255,255,.62);font-size:var(--fs-sm);max-width:480px}
.site-footer .capture__form{justify-self:end;width:100%}
.site-footer .capture__row{border-bottom-color:rgba(255,255,255,.28)}
.site-footer .capture__input{color:#fff}
.site-footer .capture__input::placeholder{color:rgba(255,255,255,.45)}
.site-footer .capture__consent{color:rgba(255,255,255,.5)}
.site-footer .capture__box{border-color:rgba(255,255,255,.4)}
.site-footer--light .capture{border-bottom-color:var(--c-line)}
.site-footer--light .capture .section-text{color:var(--c-muted)}
.site-footer--light .capture__row{border-bottom-color:var(--c-line)}
.site-footer--light .capture__input{color:inherit}
.site-footer--light .capture__input::placeholder{color:var(--c-muted)}
.site-footer--light .capture__consent{color:var(--c-muted)}
.site-footer--light .capture__box{border-color:var(--c-muted)}
@media (max-width:860px){.site-footer .capture__form{justify-self:stretch}}

/* ---------- Avis Google (extension) ---------- */
.reviews-embed{margin-top:var(--sp-8)}
.reviews-badge{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;align-items:center;padding:var(--sp-5);border:1px solid var(--c-line);color:inherit}
.reviews-badge__stars{color:var(--c-accent);letter-spacing:2px;font-size:14px;grid-row:1}
.reviews-badge__rating{font-family:var(--f-heading);font-size:var(--fs-xl);font-weight:600;line-height:1;grid-row:1/3}
.reviews-badge__rating small{font-size:12px;color:var(--c-muted);margin-left:2px}
.reviews-badge__meta{font-size:var(--fs-xs);color:var(--c-muted);text-transform:uppercase;letter-spacing:var(--tracking)}
.capture__title{font-size:var(--fs-xl);margin-bottom:var(--sp-3)}
