/* ============================================================================
   Signature by Somouest — feuille de style du site vitrine (somouest.fr/signature/)
   Charte = catalogue 2026 : Playfair Display + Inter, brun #3b2519, nuit #291b14,
   gris packshot #f4f4f3, or du logo #ba9252. Thème CLAIR uniquement.
============================================================================ */

@font-face{font-family:"Playfair Display";src:url("../fonts/playfair-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Playfair Display";src:url("../fonts/playfair-400-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/inter-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/inter-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/inter-400-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}

:root{
  color-scheme:only light;
  --brun:#3b2519;
  --nuit:#291b14;
  --gris:#f4f4f3;
  --blanc:#fff;
  --or:#ba9252;
  --brun-80:rgba(59,37,25,.82);
  --brun-60:rgba(59,37,25,.62);
  --ligne:rgba(59,37,25,.16);
  --ligne-clair:rgba(255,255,255,.24);
  --serif:"Playfair Display",Georgia,"Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --max:1320px;
  --gut:clamp(16px,4.2vw,64px);
  --head:84px;
  --ease:cubic-bezier(.2,.7,.2,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--head) + 24px);background:var(--nuit)} /* fond brun = ce qu'on voit dans le rebond du défilement (Mac, iPhone) */
body{margin:0;background:var(--blanc);color:var(--brun);font:400 15.5px/1.72 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;margin:0;line-height:1.14;letter-spacing:-.003em}
p{margin:0 0 1.1em}
p:last-child{margin-bottom:0}
em,i{font-style:italic}
button{font:inherit;color:inherit}
:focus-visible{outline:1px solid currentColor;outline-offset:4px}
::selection{background:var(--brun);color:var(--blanc)}

.sg-visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sg-skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--nuit);color:#fff;padding:10px 16px;text-decoration:none}
.sg-skip:focus{top:12px}

.sg-wrap{width:100%;max-width:calc(var(--max) + 2*var(--gut));margin:0 auto;padding:0 var(--gut)}
.sg-narrow{max-width:760px}
.sg-section{padding:clamp(72px,10vw,150px) 0}
.sg-section--tight{padding:clamp(56px,7vw,100px) 0}
.sg-bg-gris{background:var(--gris)}
.sg-bg-nuit{background:var(--nuit);color:#fff}

/* ------------------------------------------------------------------ Typographie */
.sg-kicker{display:block;font:500 11px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--brun-60)}
.sg-bg-nuit .sg-kicker,.is-dark .sg-kicker,.sg-sf .sg-kicker,.sg-split__panel .sg-kicker,.sg-menu .sg-kicker{color:rgba(255,255,255,.7)}
.sg-display{font-size:clamp(42px,6.2vw,92px);line-height:1.02}
.sg-h1{font-size:clamp(36px,4.6vw,64px);line-height:1.06}
.sg-h2{font-size:clamp(30px,3.4vw,48px);line-height:1.12}
.sg-h3{font-size:clamp(22px,1.9vw,27px);line-height:1.2}
.sg-lead{font-size:clamp(17px,1.35vw,19px);line-height:1.7;color:var(--brun-80)}
.sg-muted{color:var(--brun-60)}
.sg-serif-i{font-family:var(--serif);font-style:italic}

/* Titre de section façon catalogue : le mot, puis un filet qui file jusqu'au bord */
.sg-rule{display:flex;align-items:center;gap:clamp(20px,3vw,44px);margin-bottom:clamp(36px,5vw,64px)}
.sg-rule::after{content:"";flex:1;height:1px;background:var(--ligne);transform:translateY(.35em)}
.sg-bg-nuit .sg-rule::after{background:var(--ligne-clair)}
.sg-rule__t{font-family:var(--serif);font-size:clamp(34px,4.2vw,58px);line-height:1;letter-spacing:.04em}
.sg-rule__t--xl{font-size:clamp(52px,8vw,112px);letter-spacing:.07em}
.sg-rule__n{font:500 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--brun-60);order:3;white-space:nowrap}

/* ------------------------------------------------------------------ Boutons & liens */
.sg-btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:50px;padding:0 30px;border:1px solid currentColor;background:transparent;color:var(--brun);font:500 11.5px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background-color .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease)}
.sg-btn:hover{background:var(--brun);color:#fff;border-color:var(--brun)}
.sg-btn--plein{background:var(--nuit);border-color:var(--nuit);color:#fff}
.sg-btn--plein:hover{background:transparent;color:var(--nuit)}
.sg-btn--clair{color:#fff;border-color:rgba(255,255,255,.7)}
.sg-btn--clair:hover{background:#fff;color:var(--nuit);border-color:#fff}
.sg-btn--or{background:var(--or);border-color:var(--or);color:#fff}
.sg-btn--or:hover{background:transparent;color:#fff;border-color:#fff}
.sg-btns{display:flex;flex-wrap:wrap;gap:14px}

.sg-link{display:inline-flex;align-items:center;gap:12px;font:500 11.5px/1.3 var(--sans);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;padding:6px 0;border-bottom:1px solid var(--ligne);transition:border-color .3s var(--ease),gap .3s var(--ease)}
.sg-link:hover{border-color:currentColor;gap:18px}
.sg-bg-nuit .sg-link,.is-dark .sg-link{border-color:var(--ligne-clair)}
.sg-arrow{width:22px;height:10px;flex:none}

/* ------------------------------------------------------------------ En-tête */
.sg-header{position:sticky;top:0;z-index:50;height:var(--head);background:rgba(255,255,255,.97);color:var(--brun);border-bottom:1px solid var(--ligne);transition:background-color .45s var(--ease),color .45s var(--ease),border-color .45s var(--ease)}
.sg-header__in{height:100%;max-width:calc(var(--max) + 2*var(--gut));margin:0 auto;padding:0 var(--gut);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.sg-header.is-over{position:fixed;left:0;right:0;background:transparent;color:#fff;border-color:transparent}
.sg-header.is-over::before{content:"";position:absolute;inset:0 0 -56px;z-index:-1;background:linear-gradient(rgba(59,37,25,.78),rgba(59,37,25,.45) 45%,rgba(59,37,25,0));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-mask-image:linear-gradient(#000 30%,transparent);mask-image:linear-gradient(#000 30%,transparent);pointer-events:none;transition:opacity .45s var(--ease)}
.sg-header.is-over.is-scrolled{background:rgba(255,255,255,.97);color:var(--brun);border-color:var(--ligne)}
.sg-header.is-over.is-scrolled::before{opacity:0}
.sg-nav{display:flex;gap:clamp(18px,2.2vw,36px);position:relative}
.sg-nav--right{justify-content:flex-end}
.sg-nav a{font:500 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;padding:10px 0;position:relative}
.sg-nav a::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.sg-nav a:hover::after,.sg-nav a[aria-current]::after{transform:scaleX(1)}
.sg-logo{position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;text-decoration:none;color:inherit}
.sg-logo__mot{width:clamp(150px,13vw,190px);height:auto;display:block}
.sg-logo__by{font:400 10.5px/1 var(--sans);letter-spacing:.14em}
.sg-burger{display:none;position:relative;justify-self:end;width:44px;height:44px;border:0;background:none;cursor:pointer;color:inherit}
.sg-burger span:not(.sg-visually-hidden){position:absolute;left:11px;right:11px;height:1px;background:currentColor;transition:transform .35s var(--ease)}
.sg-burger span:nth-child(1){top:18px}
.sg-burger span:nth-child(2){top:26px}
.sg-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(4px) rotate(45deg)}
.sg-burger[aria-expanded="true"] span:nth-child(2){transform:translateY(-4px) rotate(-45deg)}

.sg-menu{position:fixed;inset:0;z-index:45;background:var(--nuit);color:#fff;padding:calc(var(--head) + 28px) var(--gut) 40px;display:flex;flex-direction:column;gap:36px;overflow-y:auto;opacity:0;transition:opacity .4s var(--ease)}
.sg-menu.is-open{opacity:1}
.sg-menu[hidden]{display:none}
.sg-menu__nav{display:flex;flex-direction:column}
.sg-menu__nav a{font-family:var(--serif);font-size:34px;line-height:1.2;text-decoration:none;padding:8px 0;border-bottom:1px solid var(--ligne-clair)}
.sg-menu__cats{display:flex;flex-wrap:wrap;gap:10px 22px}
.sg-menu__cats a{font:500 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;opacity:.8;padding:6px 0}
.sg-menu .sg-btn{align-self:flex-start}
body.sg-menu-open{overflow:hidden}
body.sg-menu-open .sg-header,body.sg-menu-open .sg-header.is-over.is-scrolled{background:var(--nuit);color:#fff;border-color:transparent}
body.sg-menu-open .sg-header::before{opacity:0}

/* ------------------------------------------------------------------ Hero accueil (couverture du catalogue) */
.sg-hero{position:relative;height:100vh;height:100svh;min-height:600px;max-height:1100px;color:#fff;overflow:hidden;background:var(--nuit)}
.sg-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);animation:sg-zoom 2.4s var(--ease) forwards}
@keyframes sg-zoom{to{transform:scale(1)}}
.sg-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,12,8,.46) 0%,rgba(20,12,8,.22) 36%,rgba(20,12,8,0) 62%),linear-gradient(0deg,rgba(20,12,8,.5),rgba(20,12,8,0) 35%)}
/* Titre ferré à gauche, aligné sur « Histoire » : même conteneur que l'en-tête (largeur max + gouttière). */
.sg-hero__txt{position:absolute;z-index:2;left:0;right:0;top:32%;max-width:calc(var(--max) + 2*var(--gut));margin:0 auto;padding:0 var(--gut);text-align:left}
.sg-hero__txt h1{font-size:clamp(44px,5.4vw,82px);line-height:1.04;text-shadow:0 2px 30px rgba(20,12,8,.35)}
.sg-hero__txt h1 em{font-style:italic}
.sg-hero__txt .sg-logo__mot{width:clamp(120px,10vw,150px);margin:clamp(22px,2.4vw,34px) 0 0}
.sg-hero__foot{position:absolute;z-index:2;left:0;right:0;bottom:clamp(28px,5vh,56px)}
.sg-hero__foot .sg-wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:32px}
.sg-hero__cap{font-size:12.5px;line-height:1.6;max-width:360px;opacity:.92}
.sg-hero__cap em{font-style:italic}
.sg-hero__scroll{display:flex;align-items:center;gap:12px;font:500 10.5px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;text-decoration:none}
.sg-hero__scroll i{display:block;width:1px;height:46px;background:rgba(255,255,255,.5);position:relative;overflow:hidden}
.sg-hero__scroll i::after{content:"";position:absolute;left:0;top:-46px;width:1px;height:46px;background:#fff;animation:sg-drop 2.2s var(--ease) infinite}
@keyframes sg-drop{to{top:46px}}

/* ------------------------------------------------------------------ Hero pages internes (bandeau photo) */
.sg-banner{position:relative;height:clamp(420px,72vh,820px);color:#fff;overflow:hidden;background:var(--nuit)}
.sg-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sg-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,12,8,.62),rgba(20,12,8,0) 55%)}
.sg-banner__txt{position:absolute;z-index:2;left:0;right:0;bottom:clamp(36px,6vw,80px)}
.sg-banner__txt .sg-kicker{color:rgba(255,255,255,.78);margin-bottom:16px}
.sg-banner__txt p{max-width:620px;margin-top:18px;opacity:.9}
body.has-over-header .sg-banner{height:clamp(480px,82vh,900px)}

/* ------------------------------------------------------------------ En-tête de page simple */
.sg-pagehead{padding:clamp(56px,8vw,120px) 0 clamp(36px,5vw,64px)}
.sg-pagehead .sg-kicker{margin-bottom:18px}
.sg-pagehead .sg-lead{max-width:640px;margin-top:22px}
.sg-crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:12.5px;color:var(--brun-60);margin-bottom:28px}
.sg-crumbs a{text-decoration:none}
.sg-crumbs a:hover{text-decoration:underline}
.sg-crumbs span[aria-hidden]{opacity:.5}

/* ------------------------------------------------------------------ Manifeste (accueil) */
.sg-manif{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(40px,7vw,120px);align-items:center}
.sg-manif__media{position:relative;aspect-ratio:5/6;overflow:hidden;background:var(--gris)}
.sg-manif__media img{width:100%;height:100%;object-fit:cover}
.sg-manif__txt{padding-top:clamp(0px,3vw,48px);max-width:560px}
.sg-manif__txt h2{margin:18px 0 34px}
.sg-manif__fin{font-weight:500;color:var(--brun)}
.sg-cats{margin-top:clamp(48px,6vw,80px)}
.sg-cats h3{font-size:clamp(26px,2.2vw,32px);padding-bottom:18px;border-bottom:1px solid var(--brun)}
.sg-cats a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid var(--ligne);text-decoration:none;font:500 12px/1.2 var(--sans);letter-spacing:.2em;text-transform:uppercase;transition:padding .35s var(--ease)}
.sg-cats a:hover{padding-left:10px}
.sg-cats a small{font:400 12px/1 var(--sans);letter-spacing:.04em;text-transform:none;color:var(--brun-60);margin-left:auto;margin-right:18px}

/* ------------------------------------------------------------------ Savoir-faire (bandeau sombre sur photo) */
.sg-sf{position:relative;min-height:clamp(560px,86vh,920px);color:#fff;overflow:hidden;background:var(--nuit);display:flex;align-items:center}
.sg-sf>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sg-sf::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,12,8,.05) 30%,rgba(20,12,8,.62) 78%)}
.sg-sf .sg-wrap{position:relative;z-index:2;display:flex;justify-content:flex-end}
.sg-sf__txt{max-width:430px}
.sg-sf__txt h2{margin:16px 0 26px}
.sg-sf__txt p{opacity:.92}
.sg-sf__txt .sg-link{margin-top:22px}

/* ------------------------------------------------------------------ Rails horizontaux (ensembles, tissus) */
.sg-railhead{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:clamp(30px,4vw,54px)}
.sg-railhead .sg-rule{flex:1;margin:0}
.sg-railnav{display:flex;gap:10px;flex:none}
.sg-railnav button{width:48px;height:48px;border:1px solid var(--ligne);background:transparent;cursor:pointer;display:grid;place-items:center;transition:border-color .3s,background-color .3s,color .3s}
.sg-railnav button:hover{border-color:var(--brun);background:var(--brun);color:#fff}
.sg-railnav button[disabled]{opacity:.3;pointer-events:none}
.sg-railnav .sg-arrow--prev{transform:scaleX(-1)}
.sg-rail{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(260px,31%,440px);gap:clamp(16px,2vw,28px);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px;margin:0 calc(-1*var(--gut));padding-left:var(--gut);padding-right:var(--gut);scroll-padding:0 var(--gut)}
.sg-rail::-webkit-scrollbar{display:none}
.sg-rail>*{scroll-snap-align:start}
/* défilé « par pages » (data-rail-entier, ex. tissus) : seules les vignettes ENTIÈREMENT visibles restent affichées */
[data-rail-entier]>*{transition:opacity .3s var(--ease)}
[data-rail-entier]>.is-coupe{opacity:0;pointer-events:none}

/* ------------------------------------------------------------------ Carte ensemble */
.sg-ens{display:block;text-decoration:none;color:inherit}
/* Cartes « Ensemble » en 4:3 : les photos sont très larges, en 4:5 on ne voyait que la moitié du lit.
   Cadrage propre à chaque photo : clé 'carte' de $SIG_ENSEMBLES (data.php). */
.sg-ens__media{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--gris)}
.sg-ens__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.sg-ens:hover .sg-ens__media img{transform:scale(1.05)}
.sg-ens__body{display:block;padding:20px 0 0;border-top:0}
.sg-ens__title{display:block;font-family:var(--serif);font-size:clamp(21px,1.7vw,25px);line-height:1.2}
.sg-ens__meta{display:block;margin-top:6px;font-size:13px;color:var(--brun-60)}
.sg-bg-nuit .sg-ens__meta{color:rgba(255,255,255,.62)}

/* ------------------------------------------------------------------ Carte produit */
.sg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(36px,4vw,56px) clamp(18px,2.4vw,34px)}
.sg-card{display:block;text-decoration:none;color:inherit}
.sg-card__media{position:relative;display:block;aspect-ratio:5/4;background:var(--gris);overflow:hidden}
.sg-card__pk{position:absolute;inset:12% 10%;width:80%;height:76%;object-fit:contain;transition:opacity .6s var(--ease),transform .9s var(--ease)}
.sg-card__amb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity .7s var(--ease),transform 1.2s var(--ease)}
.sg-card:hover .sg-card__amb,.sg-card:focus-visible .sg-card__amb{opacity:1;transform:scale(1)}
.sg-card:hover .sg-card__pk{opacity:0;transform:scale(.97)}
.sg-card__body{display:block;padding-top:20px}
.sg-card__body .sg-kicker{margin-bottom:8px}
.sg-card__title{font-size:clamp(22px,1.8vw,26px);line-height:1.15}
.sg-card__meta{display:block;margin-top:8px;font-size:13px;color:var(--brun-60)}
.sg-bg-gris .sg-card__media,.sg-bg-gris .sg-tissu__img{background:var(--blanc)}
@media (hover:none){.sg-card__amb{display:none}}

/* ------------------------------------------------------------------ Split (photo + panneau sombre) */
.sg-split{display:grid;grid-template-columns:1fr 1fr;min-height:clamp(520px,70vw,860px)}
.sg-split__media{position:relative;overflow:hidden;background:var(--gris)}
.sg-split__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sg-split__panel{background:var(--nuit);color:#fff;display:flex;align-items:center;padding:clamp(48px,7vw,120px)}
.sg-split__panel>div{max-width:470px}
.sg-split__panel h2{margin:16px 0 24px}
.sg-split__panel p{opacity:.88}
.sg-split__panel .sg-btns{margin-top:34px}

/* Avant / après (accueil) : croquis à gauche du curseur, photo à droite. */
.sg-ba{cursor:ew-resize;touch-action:pan-y;-webkit-user-select:none;user-select:none}
.sg-ba img{pointer-events:none;-webkit-user-drag:none}
.sg-ba .sg-ba__sketch{clip-path:inset(0 calc(100% - var(--pos,50%)) 0 0)}
.sg-ba__handle{position:absolute;z-index:2;top:0;bottom:0;left:var(--pos,50%);width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 14px rgba(41,27,20,.35);outline:none}
.sg-ba__knob{position:absolute;top:50%;left:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:#fff;border:2px solid var(--brun);color:var(--brun);display:grid;place-items:center;box-shadow:0 8px 22px -8px rgba(41,27,20,.55);transition:transform .25s var(--ease)}
.sg-ba:hover .sg-ba__knob,.sg-ba.is-drag .sg-ba__knob{transform:scale(1.07)}
.sg-ba__handle:focus-visible .sg-ba__knob{box-shadow:0 0 0 3px var(--or),0 8px 22px -8px rgba(41,27,20,.55)}
.sg-ba.is-intro .sg-ba__sketch{transition:clip-path 1.8s var(--ease)}
.sg-ba.is-intro .sg-ba__handle{transition:left 1.8s var(--ease)}

/* ------------------------------------------------------------------ Tissus */
.sg-tissu{display:block;text-decoration:none;color:inherit;text-align:left;border:0;background:none;padding:0;cursor:pointer;width:100%}
.sg-tissu__img{display:block;aspect-ratio:4/5;overflow:hidden;background:var(--gris)}
.sg-tissu__img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.sg-tissu:hover .sg-tissu__img img{transform:scale(1.07)}
.sg-tissu__nom{display:block;margin-top:12px;font-family:var(--serif);font-size:15.5px;line-height:1.25}
.sg-tissu__ref{display:block;margin-top:3px;font-size:12px;font-style:italic;color:var(--brun-60)}
/* défilé « Tissus » (accueil) : largeurs variables comme le nuancier du catalogue — hauteur commune, chaque vignette prend
   la largeur de SON image (images extraites du nuancier avec leurs proportions ; width/height posés par sig_tissu_img) */
.sg-rail--tissus{--th:clamp(170px,17vw,240px)}
.sg-rail.sg-rail--tissus{grid-auto-columns:max-content}   /* plus fort que les colonnes fixes des défilés en tablette / mobile (sinon 1 seul tissu par écran) */
.sg-rail--tissus .sg-tissu{width:min-content}
.sg-rail--tissus .sg-tissu__img{aspect-ratio:auto;height:var(--th);width:max-content}   /* max-content : sinon le cadre (overflow:hidden) s'écrase au texte */
.sg-rail--tissus .sg-tissu__img img{width:auto;height:100%}
.sg-nuancier{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:clamp(22px,2.4vw,34px) clamp(10px,1.2vw,16px)}
/* Chaque tissu est un <button> : un bouton CENTRE verticalement son contenu. Étiré à la hauteur du plus haut
   de la rangée (nom sur 2 lignes, ex. « Marbre contemporain »), les autres descendaient → on les cale en haut. */
.sg-nuancier .sg-tissu{align-self:start}
/* Survol (piloté par signature.js, souris seulement) : seul le tissu survolé grossit (.is-grand) ; les autres
   tissus de sa rangée glissent de --dx à gauche ou à droite pour lui faire de la place. Effet volontairement discret. */
.sg-nuancier.is-dock .sg-tissu > span{transform:translateX(var(--dx,0px));transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s}
.sg-nuancier.is-dock .sg-tissu__img{position:relative;transform-origin:50% 60%}
.sg-nuancier.is-dock .sg-tissu.is-grand{position:relative;z-index:2}
.sg-nuancier.is-dock .sg-tissu.is-grand .sg-tissu__img{transform:scale(1.1);box-shadow:0 18px 30px -16px rgba(41,27,20,.45)}
.sg-nuancier.is-dock .sg-tissu:hover .sg-tissu__img img{transform:none}
.sg-nuancier-sep{grid-column:1/-1;height:1px;background:var(--ligne);margin:clamp(6px,1vw,14px) 0}
.sg-note{font-size:13px;color:var(--brun-60);margin-top:clamp(40px,5vw,64px);max-width:620px}

/* Visionneuse de tissu */
.sg-lb{position:fixed;inset:0;z-index:80;background:rgba(20,12,8,.72);display:grid;place-items:center;padding:24px;opacity:0;transition:opacity .35s var(--ease)}
.sg-lb.is-open{opacity:1}
.sg-lb[hidden]{display:none}
.sg-lb__box{position:relative;background:#fff;width:min(880px,100%);max-height:calc(100vh - 48px);overflow:auto;display:grid;grid-template-columns:1.1fr 1fr}
.sg-lb__img{aspect-ratio:4/5;background:var(--gris)}
.sg-lb__img img{width:100%;height:100%;object-fit:cover}
.sg-lb__txt{padding:clamp(28px,4vw,52px);display:flex;flex-direction:column;gap:14px}
.sg-lb__txt h2{font-size:clamp(28px,3vw,40px)}
.sg-lb__txt ul{list-style:none;padding:0;margin:6px 0 0}
.sg-lb__txt li a{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--ligne);text-decoration:none}
.sg-lb__close{position:absolute;top:10px;right:10px;width:44px;height:44px;border:0;background:#fff;cursor:pointer;font-size:26px;line-height:1;color:var(--brun)}
.sg-lb__nav{display:flex;gap:10px;margin-top:auto;padding-top:20px}
.sg-lb__nav button{flex:1;min-height:46px;border:1px solid var(--ligne);background:none;cursor:pointer;font:500 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase}
.sg-lb__nav button:hover{border-color:var(--brun)}

/* ------------------------------------------------------------------ Bandeau catalogue */
.sg-catband{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,100px);align-items:center}
.sg-catband__cover{position:relative;aspect-ratio:1.44;background:var(--nuit);box-shadow:0 30px 60px -30px rgba(41,27,20,.45);overflow:hidden}
.sg-catband__cover img{width:100%;height:100%;object-fit:cover}
.sg-catband h2{margin:16px 0 22px}
.sg-catband .sg-btns{margin-top:32px}

/* ------------------------------------------------------------------ Fiche produit */
.sg-prod{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(36px,6vw,96px);align-items:start}
.sg-gal{position:sticky;top:calc(var(--head) + 24px)}
.sg-gal__main{position:relative;aspect-ratio:5/4;background:var(--gris);overflow:hidden}
.sg-gal__slide{position:absolute;inset:0;opacity:0;transition:opacity .6s var(--ease);margin:0}
.sg-gal__slide.is-on{opacity:1;z-index:1}
.sg-gal__slide img{width:100%;height:100%;object-fit:cover}
.sg-gal__slide--pk img{object-fit:contain;padding:9% 8%}
.sg-gal__thumbs{display:flex;gap:10px;margin-top:12px;overflow-x:auto;scrollbar-width:none}
.sg-gal__thumbs::-webkit-scrollbar{display:none}
.sg-gal__thumbs button{flex:0 0 92px;aspect-ratio:5/4;padding:0;border:1px solid transparent;background:var(--gris);cursor:pointer;overflow:hidden;opacity:.62;transition:opacity .3s,border-color .3s}
.sg-gal__thumbs button[aria-current="true"],.sg-gal__thumbs button:hover{opacity:1;border-color:var(--brun)}
.sg-gal__thumbs img{width:100%;height:100%;object-fit:cover}
.sg-gal__thumbs .is-pk img{object-fit:contain;padding:8%}
.sg-gal__arrows{position:absolute;z-index:3;right:12px;bottom:12px;display:flex;gap:8px}
.sg-gal__arrows button{width:44px;height:44px;border:0;background:rgba(255,255,255,.92);cursor:pointer;display:grid;place-items:center;color:var(--brun)}
.sg-gal__arrows .sg-arrow--prev{transform:scaleX(-1)}
.sg-prod__txt h1{margin:14px 0 28px}
.sg-prod__txt>p{font-size:16px;line-height:1.78}
.sg-specs{list-style:none;padding:0;margin:34px 0 0;border-top:1px solid var(--brun)}
.sg-specs li{padding:14px 0;border-bottom:1px solid var(--ligne);font-size:14.5px}
.sg-coloris{display:flex;align-items:center;gap:16px;margin-top:28px;text-decoration:none}
.sg-coloris img{width:56px;height:56px;object-fit:cover;flex:none}
.sg-coloris span{font-size:14px;line-height:1.5}
.sg-coloris em{font-style:italic}
.sg-coloris:hover span em{text-decoration:underline}
.sg-prod__cta{margin-top:36px}
.sg-prod__more{margin-top:26px;display:flex;flex-wrap:wrap;gap:12px 28px}

/* Ensemble (page) */
.sg-ens-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,6vw,96px);align-items:end}
.sg-ens-intro .sg-coloris{margin-top:0}
.sg-ens-list{display:grid;gap:clamp(56px,7vw,96px)}
.sg-ens-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
.sg-ens-item:nth-child(even) .sg-ens-item__media{order:2}
.sg-ens-item__media{position:relative;display:block;aspect-ratio:5/4;background:var(--gris)}
.sg-ens-item__media img{position:absolute;inset:10% 9%;width:82%;height:80%;object-fit:contain;transition:transform .9s var(--ease)}
.sg-ens-item__media:hover img{transform:scale(1.03)}
.sg-ens-item h3{font-size:clamp(28px,2.6vw,38px);margin:12px 0 20px}
.sg-ens-item .sg-specs{margin-top:22px}
.sg-ens-item .sg-link{margin-top:26px}

/* ------------------------------------------------------------------ Histoire */
.sg-quote{font-family:var(--serif);font-size:clamp(26px,2.8vw,40px);line-height:1.3}
.sg-duo{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(12px,1.6vw,24px);align-items:end}
.sg-duo>div{overflow:hidden;background:var(--gris)}
.sg-duo>div:first-child{aspect-ratio:4/3}
/* Photo Sérénade (large) : en 3:2 on voit le banc ET le chevet en entier (en 4:5 les deux étaient coupés). */
.sg-duo>div:last-child{aspect-ratio:3/2}
.sg-duo img{width:100%;height:100%;object-fit:cover}

/* ------------------------------------------------------------------ Revendeurs */
.sg-finder{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);border-top:1px solid var(--ligne);min-height:640px}
.sg-finder__side{display:flex;flex-direction:column;border-right:1px solid var(--ligne);min-height:0}
.sg-finder__search{padding:24px var(--gut) 20px 0;border-bottom:1px solid var(--ligne)}
.sg-finder__form{display:flex;border-bottom:1px solid var(--brun)}
.sg-finder__form input{flex:1;min-width:0;border:0;background:none;padding:14px 0;font:400 16px/1.4 var(--sans);color:var(--brun);outline:none}
.sg-finder__form input::placeholder{color:var(--brun-60)}
.sg-finder__form button{border:0;background:none;cursor:pointer;padding:0 4px 0 14px;color:var(--brun)}
.sg-finder__tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;font-size:13px;color:var(--brun-60)}
.sg-finder__tools button{border:0;background:none;padding:6px 0;cursor:pointer;font:500 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--brun);text-decoration:underline;text-underline-offset:4px}
.sg-finder__list{list-style:none;margin:0;padding:0 var(--gut) 0 0;overflow-y:auto;max-height:720px;flex:1}
.sg-store{padding:20px 18px;border-bottom:1px solid var(--ligne);cursor:pointer;transition:background-color .2s}
.sg-store:hover,.sg-store.is-on{background:linear-gradient(90deg,var(--gris),rgba(244,244,243,0))}
.sg-store h3{font-size:19px;line-height:1.25}
.sg-store p{margin:6px 0 0;font-size:13.5px;line-height:1.55;color:var(--brun-80)}
.sg-store__d{float:right;font-size:12px;color:var(--brun-60);margin-left:12px}
.sg-store a{text-decoration:none;border-bottom:1px solid var(--ligne)}
.sg-store__h{display:block;margin-top:8px;font-size:12.5px;line-height:1.5;color:var(--brun-60)}
.sg-pop__img{display:block;width:100%;max-width:240px;height:auto;margin-bottom:10px}
/* La carte Leaflet empile ses calques jusqu'à z-index 1000 : on l'enferme dans son propre contexte,
   sinon elle passe par-dessus l'en-tête collant (z-index 50) et le menu mobile. */
.sg-finder__map{position:relative;z-index:0;isolation:isolate;min-height:420px;background:var(--gris)}
#sg-map{position:absolute;inset:0}
.sg-finder__empty{padding:28px 0;color:var(--brun-60)}
.leaflet-container{font-family:var(--sans)!important;background:var(--gris)!important}
.sg-map-tiles{filter:grayscale(.85) sepia(.18) contrast(.96) brightness(1.02)}
/* Repères façon « store locator » : goutte blanche, contour et point brun Signature ; brun plein quand sélectionné. */
.sg-pin{display:block;width:30px;height:40px;filter:drop-shadow(0 2px 3px rgba(41,27,20,.28));transform-origin:50% 100%;transition:transform .2s var(--ease)}
.sg-pin svg{display:block;width:100%;height:100%;overflow:visible}
.sg-pin .sg-pin__g{fill:#fff;stroke:var(--brun);stroke-width:2}
.sg-pin .sg-pin__d{fill:var(--brun)}
.sg-pin:hover{transform:scale(1.08)}
.sg-pin.is-on{transform:scale(1.15)}
.sg-pin.is-on .sg-pin__g{fill:var(--brun)}
.sg-pin.is-on .sg-pin__d{fill:#fff}
.sg-pin--me .sg-pin__g{fill:var(--or);stroke:#fff}
.sg-pin--me .sg-pin__d{fill:#fff}
/* Regroupements (zones denses) : rond brun nuit, chiffre blanc, halo translucide. */
.sg-cluster{display:grid!important;place-items:center;border-radius:50%;background:rgba(41,27,20,.22);transition:transform .2s var(--ease)}
.sg-cluster span{display:grid;place-items:center;width:calc(100% - 10px);height:calc(100% - 10px);border-radius:50%;background:var(--nuit);border:2px solid #fff;color:#fff;font:600 14px/1 var(--sans);box-sizing:border-box}
.sg-cluster:hover{transform:scale(1.06)}
.leaflet-popup-content-wrapper{border-radius:0!important;box-shadow:0 12px 30px -10px rgba(41,27,20,.35)!important}
.leaflet-popup-content{margin:16px 18px!important;font:400 13.5px/1.55 var(--sans)!important;color:var(--brun)}
.leaflet-popup-content strong{font:400 17px/1.3 var(--serif);display:block;margin-bottom:4px}
.leaflet-popup-content a{color:var(--brun)!important;text-decoration:none;border-bottom:1px solid var(--ligne)}
.leaflet-popup-content a:hover{border-color:var(--brun)}
.leaflet-container a.leaflet-popup-close-button{color:var(--brun-60)}
.sg-pro{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center}

/* ------------------------------------------------------------------ Pied de page */
.sg-footer{background:var(--nuit);color:#fff;padding:clamp(64px,8vw,110px) 0 36px}
.sg-footer a{text-decoration:none}
.sg-footer__top{display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;padding-bottom:clamp(44px,6vw,72px);border-bottom:1px solid var(--ligne-clair)}
.sg-footer__logo{display:flex;flex-direction:column;align-items:center;gap:8px;color:#fff}
.sg-footer__logo .sg-logo__mot{width:clamp(200px,20vw,260px)}
.sg-footer__logo .sg-logo__by{font-size:12px}
.sg-footer__baseline{font-family:var(--serif);font-style:italic;font-size:17px;opacity:.75;margin:0}
.sg-footer__cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding:clamp(40px,5vw,64px) 0}
.sg-footer__cols>div{display:flex;flex-direction:column;gap:12px;font-size:14px}
.sg-footer__cols a{opacity:.8;transition:opacity .25s}
.sg-footer__cols a:hover{opacity:1}
.sg-footer__h{font-family:var(--serif);font-size:22px;padding-bottom:14px;margin-bottom:6px;border-bottom:1px solid var(--ligne-clair)}
.sg-footer__legal{display:flex;flex-wrap:wrap;gap:10px 28px;padding-top:28px;border-top:1px solid var(--ligne-clair);font-size:12.5px;opacity:.7}
.sg-footer__legal span{margin-right:auto}
.sg-footer__legal a:hover{text-decoration:underline}

/* ------------------------------------------------------------------ Mentions légales (page mentions/)
   Le TEXTE vient de la source unique du Groupe (accueil/mentions_legales_contenu.php, partagée avec
   somouest.fr/mentionslegales/) et les CGV de accueil/cgv-in.php : ici, uniquement la mise en forme Signature. */
.sg-legal{padding-bottom:clamp(64px,8vw,120px)}
.sg-legal__bloc{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,5vw,80px);padding:clamp(40px,5vw,64px) 0;border-top:1px solid var(--ligne);scroll-margin-top:calc(var(--head) + 16px)}
.sg-legal__tete .sg-kicker{margin-bottom:14px}
.sg-legal__h2{font:400 clamp(24px,2.4vw,32px)/1.2 var(--serif);color:var(--brun);margin:0}
.sg-legal__tete p{margin:14px 0 0;color:var(--brun-60);font-size:14px;line-height:1.6}
.sg-legal__corps{max-width:780px;font-size:15px;line-height:1.75;color:var(--brun-80)}
.sg-legal__corps p{margin:0 0 14px}
.sg-legal__corps a{color:var(--brun);text-decoration:underline;text-decoration-color:var(--or);text-underline-offset:3px}
.sg-legal__corps b,.sg-legal__corps strong{color:var(--brun);font-weight:600}
.sg-legal__corps h3{font:italic 400 21px/1.3 var(--serif);color:var(--brun);margin:0 0 12px}
.sg-legal__duo{display:grid;grid-template-columns:1fr 1fr;gap:36px}
.sg-legal__id{display:grid;grid-template-columns:170px 1fr;gap:14px 24px;margin:0}
.sg-legal__id dt{font:500 10.5px/2 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--brun-60)}
.sg-legal__id dd{margin:0;color:var(--brun);font-weight:500}
.sg-legal__badge{display:inline-block;margin:30px 0 0!important;padding:11px 16px;border:1px solid var(--or);color:var(--brun);font:500 10.5px/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase}
.sg-legal__copy{color:var(--or);margin-top:22px!important}
.sg-legal__cgv .cgv-somouest > br,.sg-legal__cgv .cgv-somouest h1{display:none}
.sg-legal__cgv .cgv-somouest h2{font:400 20px/1.3 var(--serif);color:var(--brun);margin:32px 0 10px;padding-top:24px;border-top:1px solid var(--ligne)}
.sg-legal__cgv .cgv-somouest h3{font:500 11px/1.5 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--or);margin:20px 0 8px}
.sg-legal__cgv .cgv-somouest ul,.sg-legal__cgv .cgv-somouest ol{padding-left:22px;margin:0 0 14px}
.sg-legal__cgv .cgv-somouest li{margin-bottom:6px;padding-left:4px}
.sg-legal__cgv .cgv-somouest li::marker{color:var(--or)}
@media (max-width:900px){
  .sg-legal__bloc{grid-template-columns:1fr}
  .sg-legal__duo{grid-template-columns:1fr;gap:12px}
  .sg-legal__id{grid-template-columns:1fr;gap:0}
  .sg-legal__id dd{margin-bottom:14px}
}

/* ------------------------------------------------------------------ Avancement de la lecture
   Fin trait doré en haut de l'écran qui se remplit à mesure qu'on descend dans la page (repris de remy.paris) ;
   piloté par signature.js (.sg-lu). */
.sg-lu{position:fixed;top:0;left:0;right:0;height:2px;z-index:60;pointer-events:none;transform:scaleX(0);transform-origin:0 50%;will-change:transform;background:linear-gradient(90deg,var(--brun),#6e4f2c 50%,#9a7843)}

/* ------------------------------------------------------------------ Catalogue à feuilleter (catalogue/)
   La liseuse est le composant partagé stock/app_serta/as_liseuse_lib.php (même que le magazine Serta) ;
   ses couleurs Signature lui sont passées par la page. Ici : seulement la section qui l'entoure. */
/* immersion : la section remplit l'écran sous le menu, le livre prend toute la largeur (marges minimes) */
.sg-liseuse{box-sizing:border-box;min-height:calc(100vh - var(--head));min-height:calc(100svh - var(--head));display:flex;flex-direction:column;justify-content:center;background:var(--nuit);padding:clamp(12px,1.8vw,26px) 0}
.sg-liseuse > .sg-wrap{max-width:none;padding:0 clamp(8px,1.2vw,20px)}
.sg-liseuse .mag-flip-stage{min-height:0}
.sg-liseuse .mag-flip-loading{padding:clamp(80px,14vw,200px) 0}
.sg-liseuse .mag-pageinfo{font:500 12px/1 var(--sans);letter-spacing:.2em}
.sg-liseuse__pied{display:flex;justify-content:center;margin-top:20px}

/* ------------------------------------------------------------------ Lever de rideau : deux panneaux de lattes de bois qui coulissent
   À l'arrivée sur une page qui le demande (sig_page_start(['rideau' => true]), ex. Nos créations) : deux panneaux de
   lattes de noyer, éclairés PAR-DERRIÈRE (la lumière chaude filtre entre les lattes et par la jointure), s'écartent vers
   les côtés comme des portes coulissantes. CSS pur : rien n'est bloqué (pointer-events:none), disparition automatique. */
.sg-rideau{position:fixed;inset:0;z-index:200;pointer-events:none;overflow:hidden;animation:sg-rideau-fin 0s linear 2.05s forwards}
.sg-rideau__pan{position:absolute;top:0;bottom:0;width:50.2%;box-sizing:border-box;background:#150d09;box-shadow:0 0 18px rgba(0,0,0,.28);animation:1.25s cubic-bezier(.65,0,.25,1) .7s forwards}
.sg-rideau__pan--g{left:0;animation-name:sg-rideau-g}
.sg-rideau__pan--d{right:0;animation-name:sg-rideau-d}
/* la lumière derrière les panneaux, au centre (plus forte vers la jointure) : elle s'allume, filtre entre les lattes,
   puis s'estompe jusqu'à disparaître dès que les panneaux s'ouvrent */
.sg-rideau__pan::before{content:"";position:absolute;inset:0;opacity:0;animation:sg-rideau-lum 1.15s ease .1s forwards}
.sg-rideau__pan--g::before{background:radial-gradient(ellipse 95% 80% at 100% 50%,rgba(255,206,140,.95),rgba(255,160,80,.45) 40%,rgba(255,140,60,0) 80%)}
.sg-rideau__pan--d::before{background:radial-gradient(ellipse 95% 80% at 0% 50%,rgba(255,206,140,.95),rgba(255,160,80,.45) 40%,rgba(255,140,60,0) 80%)}
/* la jointure : un filet de lumière entre les deux panneaux */
.sg-rideau__pan::after{content:"";position:absolute;z-index:2;top:0;bottom:0;width:2px;background:rgba(255,214,160,.95);box-shadow:0 0 22px 6px rgba(255,180,100,.55);opacity:0;animation:sg-rideau-lum 1.15s ease .1s forwards}
.sg-rideau__pan--g::after{right:-1px}
.sg-rideau__pan--d::after{left:-1px}
/* le bois : texture tirée du mur de lattes de la photo Symphonie (irrégularités naturelles), recolorée dans les bruns
   Signature, jointures transparentes pour laisser passer la lumière de derrière. Une seule image pour les deux panneaux
   (assets/img/claustra.webp, passée par la variable --claustra posée dans layout.php). */
.sg-rideau__pan i{position:absolute;inset:0;z-index:1;background:var(--claustra) 0 0/200% 100% no-repeat}
.sg-rideau__pan--d i{background-position:100% 0}
/* variante « grands panneaux » (Les ensembles : 'rideau' => 'panneaux-noyer', bois du mur de la photo Sonate) : un seul panneau
   de noyer par côté, le droit en miroir du gauche — veinage symétrique à la jointure, comme un placage */
/* volume à la jointure = profil RELEVÉ sur la maquette Photoshop de Rémy (01/10/2026), proportionnel à la largeur de l'écran :
   chaque panneau porte au bord une planche de battement (~4,5 % de l'écran, maquette réduite de 25 %, les deux bandes de même largeur) — à gauche une ombre très marquée avant la planche,
   à droite la planche bordée d'une arête lumineuse puis d'une rainure sombre. Panneau droit retourné en miroir : sa jointure
   est à DROITE dans ses coordonnées. */
.sg-rideau--panneaux-noyer .sg-rideau__pan--g i{background:linear-gradient(90deg,rgba(0,0,0,0) calc(100% - 11.53vw),rgba(0,0,0,0.000) calc(100% - 11.15vw),rgba(0,0,0,0.003) calc(100% - 11.06vw),rgba(0,0,0,0.007) calc(100% - 10.97vw),rgba(0,0,0,0.013) calc(100% - 10.88vw),rgba(0,0,0,0.021) calc(100% - 10.79vw),rgba(0,0,0,0.031) calc(100% - 10.70vw),rgba(0,0,0,0.043) calc(100% - 10.61vw),rgba(0,0,0,0.057) calc(100% - 10.52vw),rgba(0,0,0,0.069) calc(100% - 10.43vw),rgba(0,0,0,0.087) calc(100% - 10.34vw),rgba(0,0,0,0.104) calc(100% - 10.25vw),rgba(0,0,0,0.120) calc(100% - 10.16vw),rgba(0,0,0,0.140) calc(100% - 10.07vw),rgba(0,0,0,0.151) calc(100% - 9.98vw),rgba(0,0,0,0.162) calc(100% - 9.89vw),rgba(0,0,0,0.170) calc(100% - 9.80vw),rgba(0,0,0,0.180) calc(100% - 9.71vw),rgba(0,0,0,0.190) calc(100% - 9.62vw),rgba(0,0,0,0.199) calc(100% - 9.53vw),rgba(0,0,0,0.211) calc(100% - 9.44vw),rgba(0,0,0,0.221) calc(100% - 9.35vw),rgba(0,0,0,0.228) calc(100% - 9.26vw),rgba(0,0,0,0.237) calc(100% - 9.17vw),rgba(0,0,0,0.231) calc(100% - 9.08vw),rgba(0,0,0,0.240) calc(100% - 8.99vw),rgba(0,0,0,0.250) calc(100% - 8.90vw),rgba(0,0,0,0.256) calc(100% - 8.81vw),rgba(0,0,0,0.258) calc(100% - 8.72vw),rgba(0,0,0,0.261) calc(100% - 8.63vw),rgba(0,0,0,0.274) calc(100% - 8.54vw),rgba(0,0,0,0.279) calc(100% - 8.45vw),rgba(0,0,0,0.280) calc(100% - 8.36vw),rgba(0,0,0,0.268) calc(100% - 8.27vw),rgba(0,0,0,0.266) calc(100% - 8.18vw),rgba(0,0,0,0.260) calc(100% - 8.09vw),rgba(0,0,0,0.248) calc(100% - 8.00vw),rgba(0,0,0,0.242) calc(100% - 7.91vw),rgba(0,0,0,0.237) calc(100% - 7.82vw),rgba(0,0,0,0.232) calc(100% - 7.73vw),rgba(0,0,0,0.236) calc(100% - 7.64vw),rgba(0,0,0,0.243) calc(100% - 7.55vw),rgba(0,0,0,0.249) calc(100% - 7.46vw),rgba(0,0,0,0.255) calc(100% - 7.37vw),rgba(0,0,0,0.264) calc(100% - 7.28vw),rgba(0,0,0,0.271) calc(100% - 7.19vw),rgba(0,0,0,0.294) calc(100% - 7.10vw),rgba(0,0,0,0.313) calc(100% - 7.01vw),rgba(0,0,0,0.334) calc(100% - 6.92vw),rgba(0,0,0,0.356) calc(100% - 6.83vw),rgba(0,0,0,0.386) calc(100% - 6.74vw),rgba(0,0,0,0.410) calc(100% - 6.65vw),rgba(0,0,0,0.440) calc(100% - 6.56vw),rgba(0,0,0,0.455) calc(100% - 6.47vw),rgba(0,0,0,0.472) calc(100% - 6.38vw),rgba(0,0,0,0.481) calc(100% - 6.29vw),rgba(0,0,0,0.496) calc(100% - 6.20vw),rgba(0,0,0,0.505) calc(100% - 6.11vw),rgba(0,0,0,0.529) calc(100% - 6.02vw),rgba(0,0,0,0.536) calc(100% - 5.93vw),rgba(0,0,0,0.553) calc(100% - 5.84vw),rgba(0,0,0,0.559) calc(100% - 5.75vw),rgba(0,0,0,0.591) calc(100% - 5.66vw),rgba(0,0,0,0.609) calc(100% - 5.57vw),rgba(0,0,0,0.625) calc(100% - 5.48vw),rgba(0,0,0,0.646) calc(100% - 5.39vw),rgba(0,0,0,0.683) calc(100% - 5.30vw),rgba(0,0,0,0.691) calc(100% - 5.21vw),rgba(0,0,0,0.710) calc(100% - 5.12vw),rgba(0,0,0,0.727) calc(100% - 5.03vw),rgba(0,0,0,0.750) calc(100% - 4.94vw),rgba(0,0,0,0.753) calc(100% - 4.85vw),rgba(0,0,0,0.732) calc(100% - 4.76vw),rgba(0,0,0,0.733) calc(100% - 4.68vw),rgba(0,0,0,0.726) calc(100% - 4.59vw),rgba(0,0,0,0.503) calc(100% - 4.50vw),rgba(0,0,0,0.009) calc(100% - 4.41vw),rgba(255,255,255,0.007) calc(100% - 4.32vw),rgba(255,255,255,0.012) calc(100% - 4.23vw),rgba(255,255,255,0.015) calc(100% - 4.14vw),rgba(255,255,255,0.018) calc(100% - 4.05vw),rgba(255,255,255,0.018) calc(100% - 3.96vw),rgba(255,255,255,0.016) calc(100% - 3.87vw),rgba(255,255,255,0.015) calc(100% - 3.78vw),rgba(255,255,255,0.014) calc(100% - 3.69vw),rgba(255,255,255,0.013) calc(100% - 3.60vw),rgba(255,255,255,0.015) calc(100% - 3.51vw),rgba(255,255,255,0.016) calc(100% - 3.42vw),rgba(255,255,255,0.018) calc(100% - 3.33vw),rgba(255,255,255,0.021) calc(100% - 3.24vw),rgba(255,255,255,0.026) calc(100% - 3.15vw),rgba(255,255,255,0.029) calc(100% - 3.06vw),rgba(255,255,255,0.032) calc(100% - 2.97vw),rgba(255,255,255,0.033) calc(100% - 2.88vw),rgba(255,255,255,0.033) calc(100% - 2.79vw),rgba(255,255,255,0.034) calc(100% - 2.70vw),rgba(255,255,255,0.033) calc(100% - 2.61vw),rgba(255,255,255,0.032) calc(100% - 2.52vw),rgba(255,255,255,0.032) calc(100% - 2.43vw),rgba(255,255,255,0.032) calc(100% - 2.34vw),rgba(255,255,255,0.033) calc(100% - 2.25vw),rgba(255,255,255,0.033) calc(100% - 2.16vw),rgba(255,255,255,0.034) calc(100% - 2.07vw),rgba(255,255,255,0.034) calc(100% - 1.98vw),rgba(255,255,255,0.036) calc(100% - 1.89vw),rgba(255,255,255,0.037) calc(100% - 1.80vw),rgba(255,255,255,0.039) calc(100% - 1.71vw),rgba(255,255,255,0.041) calc(100% - 1.62vw),rgba(255,255,255,0.042) calc(100% - 1.53vw),rgba(255,255,255,0.041) calc(100% - 1.44vw),rgba(255,255,255,0.038) calc(100% - 1.35vw),rgba(255,255,255,0.034) calc(100% - 1.26vw),rgba(255,255,255,0.029) calc(100% - 1.17vw),rgba(255,255,255,0.024) calc(100% - 1.08vw),rgba(255,255,255,0.020) calc(100% - 0.99vw),rgba(255,255,255,0.018) calc(100% - 0.90vw),rgba(255,255,255,0.017) calc(100% - 0.81vw),rgba(255,255,255,0.017) calc(100% - 0.72vw),rgba(255,255,255,0.017) calc(100% - 0.63vw),rgba(255,255,255,0.016) calc(100% - 0.54vw),rgba(255,255,255,0.016) calc(100% - 0.45vw),rgba(255,255,255,0.015) calc(100% - 0.36vw),rgba(255,255,255,0.017) calc(100% - 0.27vw),rgba(255,255,255,0.017) 100%),var(--claustra) 100% 50%/cover no-repeat}
.sg-rideau--panneaux-noyer .sg-rideau__pan--d i{transform:scaleX(-1);background:linear-gradient(90deg,rgba(0,0,0,0) calc(100% - 9.84vw),rgba(255,255,255,0.000) calc(100% - 9.53vw),rgba(255,255,255,0.000) calc(100% - 9.46vw),rgba(0,0,0,0.000) calc(100% - 9.39vw),rgba(0,0,0,0.002) calc(100% - 9.32vw),rgba(0,0,0,0.004) calc(100% - 9.25vw),rgba(0,0,0,0.007) calc(100% - 9.17vw),rgba(0,0,0,0.006) calc(100% - 9.10vw),rgba(0,0,0,0.002) calc(100% - 9.03vw),rgba(255,255,255,0.001) calc(100% - 8.96vw),rgba(255,255,255,0.003) calc(100% - 8.88vw),rgba(255,255,255,0.004) calc(100% - 8.81vw),rgba(255,255,255,0.005) calc(100% - 8.74vw),rgba(255,255,255,0.006) calc(100% - 8.67vw),rgba(255,255,255,0.005) calc(100% - 8.60vw),rgba(255,255,255,0.003) calc(100% - 8.52vw),rgba(0,0,0,0.001) calc(100% - 8.45vw),rgba(0,0,0,0.017) calc(100% - 8.38vw),rgba(0,0,0,0.044) calc(100% - 8.31vw),rgba(0,0,0,0.065) calc(100% - 8.23vw),rgba(0,0,0,0.095) calc(100% - 8.16vw),rgba(0,0,0,0.123) calc(100% - 8.09vw),rgba(0,0,0,0.162) calc(100% - 8.02vw),rgba(0,0,0,0.194) calc(100% - 7.94vw),rgba(0,0,0,0.228) calc(100% - 7.87vw),rgba(0,0,0,0.243) calc(100% - 7.80vw),rgba(0,0,0,0.253) calc(100% - 7.73vw),rgba(0,0,0,0.225) calc(100% - 7.66vw),rgba(0,0,0,0.211) calc(100% - 7.58vw),rgba(0,0,0,0.205) calc(100% - 7.51vw),rgba(0,0,0,0.197) calc(100% - 7.44vw),rgba(0,0,0,0.191) calc(100% - 7.37vw),rgba(0,0,0,0.192) calc(100% - 7.29vw),rgba(0,0,0,0.183) calc(100% - 7.22vw),rgba(0,0,0,0.165) calc(100% - 7.15vw),rgba(0,0,0,0.140) calc(100% - 7.08vw),rgba(0,0,0,0.106) calc(100% - 7.00vw),rgba(0,0,0,0.092) calc(100% - 6.93vw),rgba(0,0,0,0.093) calc(100% - 6.86vw),rgba(0,0,0,0.097) calc(100% - 6.79vw),rgba(0,0,0,0.105) calc(100% - 6.72vw),rgba(0,0,0,0.119) calc(100% - 6.64vw),rgba(0,0,0,0.126) calc(100% - 6.57vw),rgba(0,0,0,0.144) calc(100% - 6.50vw),rgba(0,0,0,0.159) calc(100% - 6.43vw),rgba(0,0,0,0.169) calc(100% - 6.35vw),rgba(0,0,0,0.188) calc(100% - 6.28vw),rgba(0,0,0,0.181) calc(100% - 6.21vw),rgba(0,0,0,0.186) calc(100% - 6.14vw),rgba(0,0,0,0.178) calc(100% - 6.06vw),rgba(0,0,0,0.178) calc(100% - 5.99vw),rgba(0,0,0,0.176) calc(100% - 5.92vw),rgba(0,0,0,0.169) calc(100% - 5.85vw),rgba(0,0,0,0.165) calc(100% - 5.78vw),rgba(0,0,0,0.153) calc(100% - 5.70vw),rgba(0,0,0,0.141) calc(100% - 5.63vw),rgba(0,0,0,0.131) calc(100% - 5.56vw),rgba(0,0,0,0.110) calc(100% - 5.49vw),rgba(0,0,0,0.093) calc(100% - 5.41vw),rgba(0,0,0,0.098) calc(100% - 5.34vw),rgba(0,0,0,0.163) calc(100% - 5.27vw),rgba(0,0,0,0.233) calc(100% - 5.20vw),rgba(0,0,0,0.337) calc(100% - 5.12vw),rgba(0,0,0,0.425) calc(100% - 5.05vw),rgba(0,0,0,0.505) calc(100% - 4.98vw),rgba(0,0,0,0.547) calc(100% - 4.91vw),rgba(0,0,0,0.587) calc(100% - 4.84vw),rgba(0,0,0,0.675) calc(100% - 4.76vw),rgba(0,0,0,0.645) calc(100% - 4.69vw),rgba(0,0,0,0.556) calc(100% - 4.62vw),rgba(0,0,0,0.390) calc(100% - 4.55vw),rgba(255,255,255,0.066) calc(100% - 4.47vw),rgba(255,255,255,0.215) calc(100% - 4.40vw),rgba(255,255,255,0.178) calc(100% - 4.33vw),rgba(255,255,255,0.118) calc(100% - 4.26vw),rgba(255,255,255,0.077) calc(100% - 4.19vw),rgba(255,255,255,0.044) calc(100% - 4.11vw),rgba(255,255,255,0.027) calc(100% - 4.04vw),rgba(255,255,255,0.017) calc(100% - 3.97vw),rgba(255,255,255,0.003) calc(100% - 3.90vw),rgba(0,0,0,0.038) calc(100% - 3.82vw),rgba(0,0,0,0.071) calc(100% - 3.76vw),rgba(0,0,0,0.086) calc(100% - 3.69vw),rgba(0,0,0,0.062) calc(100% - 3.61vw),rgba(0,0,0,0.055) calc(100% - 3.54vw),rgba(0,0,0,0.042) calc(100% - 3.47vw),rgba(0,0,0,0.029) calc(100% - 3.40vw),rgba(0,0,0,0.026) calc(100% - 3.33vw),rgba(0,0,0,0.016) calc(100% - 3.25vw),rgba(0,0,0,0.016) calc(100% - 3.18vw),rgba(0,0,0,0.015) calc(100% - 3.11vw),rgba(0,0,0,0.010) calc(100% - 3.04vw),rgba(0,0,0,0.006) calc(100% - 2.96vw),rgba(0,0,0,0.003) calc(100% - 2.89vw),rgba(255,255,255,0.000) calc(100% - 2.82vw),rgba(255,255,255,0.000) calc(100% - 2.75vw),rgba(255,255,255,0.001) calc(100% - 2.67vw),rgba(255,255,255,0.002) calc(100% - 2.60vw),rgba(255,255,255,0.004) calc(100% - 2.53vw),rgba(255,255,255,0.005) calc(100% - 2.46vw),rgba(255,255,255,0.008) calc(100% - 2.39vw),rgba(255,255,255,0.008) calc(100% - 2.31vw),rgba(255,255,255,0.008) calc(100% - 2.24vw),rgba(255,255,255,0.008) calc(100% - 2.17vw),rgba(255,255,255,0.008) calc(100% - 2.10vw),rgba(255,255,255,0.010) calc(100% - 2.02vw),rgba(255,255,255,0.011) calc(100% - 1.95vw),rgba(255,255,255,0.012) calc(100% - 1.88vw),rgba(255,255,255,0.014) calc(100% - 1.81vw),rgba(255,255,255,0.013) calc(100% - 1.74vw),rgba(255,255,255,0.012) calc(100% - 1.66vw),rgba(255,255,255,0.010) calc(100% - 1.59vw),rgba(255,255,255,0.009) calc(100% - 1.52vw),rgba(255,255,255,0.009) calc(100% - 1.45vw),rgba(255,255,255,0.008) calc(100% - 1.37vw),rgba(255,255,255,0.009) calc(100% - 1.30vw),rgba(255,255,255,0.010) calc(100% - 1.23vw),rgba(255,255,255,0.011) calc(100% - 1.16vw),rgba(255,255,255,0.011) calc(100% - 1.08vw),rgba(255,255,255,0.011) calc(100% - 1.01vw),rgba(255,255,255,0.008) calc(100% - 0.94vw),rgba(255,255,255,0.005) calc(100% - 0.87vw),rgba(0,0,0,0.023) calc(100% - 0.80vw),rgba(0,0,0,0.050) calc(100% - 0.72vw),rgba(0,0,0,0.094) calc(100% - 0.65vw),rgba(0,0,0,0.098) calc(100% - 0.58vw),rgba(0,0,0,0.143) calc(100% - 0.51vw),rgba(0,0,0,0.211) calc(100% - 0.43vw),rgba(0,0,0,0.283) calc(100% - 0.36vw),rgba(0,0,0,0.319) calc(100% - 0.29vw),rgba(0,0,0,0.409) calc(100% - 0.22vw),rgba(0,0,0,0.395) calc(100% - 0.14vw),rgba(0,0,0,0.084) calc(100% - 0.07vw),rgba(0,0,0,0.084) 100%),var(--claustra) 100% 50%/cover no-repeat}
.sg-rideau__txt{position:absolute;z-index:3;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;color:#fff;text-align:center;text-shadow:0 2px 26px rgba(20,12,8,.85);animation:sg-rideau-txt .45s var(--ease) .5s forwards}
.sg-rideau__txt .sg-logo__mot{width:clamp(130px,12vw,170px);filter:drop-shadow(0 2px 18px rgba(20,12,8,.8))}
.sg-rideau__txt em{font:italic 400 clamp(30px,3.6vw,52px)/1.1 var(--serif);color:#fff8f0}
@keyframes sg-rideau-g{to{transform:translateX(-101%)}}
@keyframes sg-rideau-d{to{transform:translateX(101%)}}
@keyframes sg-rideau-lum{0%{opacity:0}40%,55%{opacity:1}100%{opacity:0}}
@keyframes sg-rideau-txt{to{opacity:0;transform:translateY(-10px)}}
@keyframes sg-rideau-fin{to{visibility:hidden}}
@media (prefers-reduced-motion:reduce){.sg-rideau{display:none}}

/* ------------------------------------------------------------------ Apparitions douces */
.sg-reveal{opacity:0;transform:translateY(26px);transition:opacity 1s var(--ease),transform 1.1s var(--ease)}
.sg-reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .sg-reveal{opacity:1;transform:none}
}

/* ------------------------------------------------------------------ Responsive */
@media (max-width:1180px){
  .sg-nuancier{grid-template-columns:repeat(6,minmax(0,1fr))}
  .sg-nuancier-sep{display:none}
}
@media (max-width:1024px){
  :root{--head:72px}
  .sg-nav{display:none}
  .sg-burger{display:block}
  .sg-header__in{grid-template-columns:44px 1fr 44px}
  .sg-logo{grid-column:2;justify-self:center}
  .sg-burger{grid-column:3}
  .sg-logo__mot{width:150px}
  .sg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sg-manif{grid-template-columns:1fr}
  .sg-manif__media{position:relative;top:0;aspect-ratio:4/3}
  .sg-prod{grid-template-columns:1fr}
  .sg-gal{position:relative;top:0}
  .sg-split{grid-template-columns:1fr}
  .sg-split__media{aspect-ratio:4/3}
  .sg-catband{grid-template-columns:1fr}
  .sg-finder{grid-template-columns:1fr}
  .sg-finder__side{border-right:0}
  .sg-finder__map{order:-1;min-height:0;height:54vh}
  .sg-finder__search,.sg-finder__list{padding-right:0}
  .sg-finder__list{max-height:none}
  .sg-rail{grid-auto-columns:clamp(250px,44%,400px)}
  .sg-rail--tissus{--th:clamp(145px,25vw,215px)}
  .sg-nuancier{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:760px){
  body{font-size:15px}
  .sg-hero__txt{top:auto;bottom:34%}
  .sg-hero::after{background:linear-gradient(0deg,rgba(20,12,8,.72),rgba(20,12,8,.1) 60%,rgba(20,12,8,.25))}
  .sg-hero__foot .sg-wrap{flex-direction:column;align-items:flex-start;gap:22px}
  .sg-hero__scroll{display:none}
  .sg-sf{align-items:flex-end;padding-bottom:48px}
  .sg-sf::after{background:linear-gradient(0deg,rgba(20,12,8,.82),rgba(20,12,8,.1) 70%)}
  .sg-grid{grid-template-columns:1fr 1fr;gap:34px 14px}
  .sg-card__title{font-size:20px}
  .sg-card__meta{font-size:12px}
  .sg-rail{grid-auto-columns:78%}
  .sg-rail--tissus{--th:calc((100vw - 2 * var(--gut) - 40px) / 2.3)}   /* au moins 2 tissus à l'écran, même la paire voisine la plus large (17+18 = 2,26 × la hauteur) */
  .sg-railnav{display:none}
  .sg-ens-intro,.sg-ens-item{grid-template-columns:1fr}
  .sg-ens-item:nth-child(even) .sg-ens-item__media{order:0}
  .sg-duo{grid-template-columns:1fr}
  .sg-duo>div:first-child{aspect-ratio:4/3}
  .sg-nuancier{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sg-lb__box{grid-template-columns:1fr}
  .sg-lb__img{aspect-ratio:1}
  .sg-footer__cols{grid-template-columns:1fr;gap:34px}
  .sg-footer__legal{flex-direction:column}
  .sg-pro{grid-template-columns:1fr}
  .sg-btn{padding:0 22px}
  .sg-rule{gap:16px;flex-wrap:wrap}
  .sg-rule__t{min-width:0;overflow-wrap:anywhere}
  .sg-rule__n{flex-basis:100%;order:4;margin-top:-4px}
}
@media (max-width:420px){
  .sg-grid{grid-template-columns:1fr}
}

/* ------------------------------------------------------------------ Bandeau cookies (module partagé stock/cookie-consent.php)
   Habillage Signature pour CE site uniquement (le module est aussi utilisé par les autres sites, inchangés).
   « html body » = priorité sur le <style> du module, émis plus bas dans la page. Accepter et refuser ont
   exactement le même poids visuel : refuser doit être aussi simple qu'accepter. */
html body .slcc-bar{background:var(--nuit);color:#f3ece6;border-radius:0;box-shadow:0 18px 50px -12px rgba(20,12,8,.55);font-family:var(--sans);padding:20px 22px}
html body .slcc-bar p{font-size:13.5px;line-height:1.6;color:#efe6de}
html body .slcc-bar a{color:var(--or)}
html body .slcc-btn{border-radius:0;font:500 11.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;padding:15px 18px;min-height:46px}
html body .slcc-bar .slcc-accept,html body .slcc-bar .slcc-refuse{background:#fff;color:var(--brun);border:1px solid #fff}
html body .slcc-bar .slcc-accept:hover,html body .slcc-bar .slcc-refuse:hover{background:transparent;color:#fff}
html body .slcc-bar .slcc-custom{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.45)}
html body .slcc-bar .slcc-custom:hover{border-color:#fff}
html body #slcc-ov{background:rgba(41,27,20,.55);font-family:var(--sans)}
html body .slcc-card{border-radius:0;color:var(--brun);box-shadow:0 30px 70px -20px rgba(20,12,8,.6)}
html body .slcc-hd h2{font-family:var(--serif);font-weight:400;font-size:26px;color:var(--brun)}
html body .slcc-hd p,html body .slcc-cat p{color:var(--brun-80)}
html body .slcc-cat{border:1px solid var(--ligne);border-radius:0}
html body .slcc-cat h3{font-family:var(--serif);font-weight:400;font-size:18px;color:var(--brun)}
html body .slcc-lock{color:var(--or);font-family:var(--sans);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;margin-left:6px}
html body .slcc-sw input:checked + .slcc-track{background:var(--brun)}
html body .slcc-sw input:disabled + .slcc-track{background:var(--or)}
html body .slcc-ft .slcc-accept,html body .slcc-ft .slcc-refuse{background:var(--nuit);color:#fff;border:1px solid var(--nuit)}
html body .slcc-ft .slcc-accept:hover,html body .slcc-ft .slcc-refuse:hover{background:#fff;color:var(--nuit)}
html body #slcc-fab{color:var(--brun);border-color:var(--ligne);box-shadow:0 4px 14px rgba(41,27,20,.14);font-family:var(--sans)}
html body #slcc-fab:hover{background:var(--gris)}
