/* ==========================================================================
   Gholami Concept — feuille de styles du thème
   Conversion des maquettes (styles en ligne) en système de classes.
   Ordre : 1. jetons  2. base  3. mise en page  4. composants
           5. simulateur  6. responsive  7. préférences  8. impression
   ========================================================================== */

/* ── 1. Jetons de design ─────────────────────────────────────────────── */
:root{
  --gc-dark:#262019;
  --gc-dark-deep:#1a1512;
  --gc-dark-hero:#17130f;
  --gc-dark-card:#332b23;
  --gc-gold:#c8a45c;
  --gc-gold-light:#d9bd80;
  --gc-gold-dark:#a9812f;
  /* Or « encre » : même famille, assez foncé pour du texte sur crème
     ou sur blanc (contraste ≥ 4,5). L'or vif reste pour les aplats. */
  --gc-gold-ink:#7d5e1e;
  /* Bois : couleur d'appui propre à Gholami Concept, absente du site
     Gholami International Bois avec lequel il ne faut pas confondre. */
  --gc-wood:#8a6440;
  --gc-wood-light:#c9ae8a;
  --gc-cream:#f4ece0;
  --gc-ink:#241f19;
  --gc-text:#5d5449;
  --gc-muted:#6f6558;
  --gc-faint:#968b7c;
  --gc-line:#e8e1d5;
  --gc-line-soft:#efe9de;
  --gc-line-strong:#e1d9ca;
  --gc-bg:#ffffff;
  --gc-bg-alt:#f7f3ec;
  --gc-bg-field:#fcfaf5;
  --gc-bg-search:#f4efe6;
  --gc-shell:1440px;
  --gc-gutter:clamp(16px,2.5vw,40px);
  --gc-font-title:'Montserrat',system-ui,-apple-system,'Segoe UI',sans-serif;
  --gc-font-body:'Barlow',system-ui,-apple-system,'Segoe UI',sans-serif;
  --gc-shadow-card:0 24px 50px rgba(38,32,25,.14);
  --gc-shadow-soft:0 20px 40px rgba(38,32,25,.12);
  --gc-ease:.25s ease;
}

/* ── 2. Base ─────────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box}

html{-webkit-text-size-adjust:100%}

body{
  margin:0;
  background:var(--gc-bg);
  font-family:var(--gc-font-body);
  font-size:16px;
  color:var(--gc-ink);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}

a{color:var(--gc-dark);text-decoration:none;transition:color var(--gc-ease)}
a:hover,a:focus{color:var(--gc-gold)}

img{max-width:100%;height:auto;display:block}

h1,h2,h3,h4,h5,h6{font-family:var(--gc-font-title);color:var(--gc-dark);margin:0}

p{margin:0}

button{font:inherit}

::selection{background:var(--gc-gold);color:var(--gc-dark)}

:focus-visible{outline:2px solid var(--gc-gold);outline-offset:2px}

.gc-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;
}
.gc-skip-link{
  position:absolute;left:-9999px;top:0;z-index:1000;
  background:var(--gc-gold);color:var(--gc-dark);
  font-family:var(--gc-font-title);font-weight:800;font-size:13px;
  letter-spacing:.12em;padding:14px 22px;
}
.gc-skip-link:focus{left:0}

@keyframes gc-fade{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* ── 3. Mise en page ─────────────────────────────────────────────────── */
.gc-shell{max-width:var(--gc-shell);margin:0 auto;padding-left:var(--gc-gutter);padding-right:var(--gc-gutter);width:100%}

.gc-section{padding:100px 0}
.gc-section--tight{padding:80px 0}
.gc-section--slim{padding:60px 0}
.gc-section--alt{background:var(--gc-bg-alt)}
.gc-section--dark{background:var(--gc-dark)}

.gc-grid{display:grid;gap:24px}
.gc-grid--2{grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr))}
.gc-grid--cards{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}
.gc-grid--tiles{grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr))}
.gc-grid--wide-gap{gap:64px;align-items:center}
.gc-grid--media{grid-template-columns:1fr 1fr;gap:18px}

/* Grille « cloisonnée » : cartes séparées par un liseré, comme la maquette. */
.gc-split{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));
  gap:1px;background:var(--gc-line);border:1px solid var(--gc-line);
}
.gc-split--narrow{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}

/* ── 4. Composants ───────────────────────────────────────────────────── */

/* 4.1 Eyebrow (surtitre doré barré) */
.gc-eyebrow{
  display:flex;align-items:center;gap:14px;margin-bottom:16px;
  font-family:var(--gc-font-title);font-size:11px;font-weight:700;
  letter-spacing:.3em;color:var(--gc-eyebrow-ink,var(--gc-gold-ink));text-transform:uppercase;
}
/* Sur fond sombre, l'or vif reprend sa place. */
.gc-section--dark .gc-eyebrow,
.gc-simu-band .gc-eyebrow,
.gc-hero .gc-eyebrow{color:var(--gc-eyebrow-ink-light,var(--gc-gold))}
.gc-eyebrow::before{content:"";width:40px;height:2px;background:var(--gc-gold);display:block;flex:none}
.gc-eyebrow--plain::before{display:none}

/* 4.2 Titres */
.gc-h1{font-weight:900;font-size:clamp(38px,5vw,68px);line-height:1.02;color:var(--gc-title-light,#fff)}
/* Les titres de héros sont donnés en capitales ; la règle permet aussi d'y
   passer un titre de page saisi normalement, sans le transformer en PHP —
   ce qui abîmerait les entités HTML comme « &amp; ». */
.gc-hero .gc-h1{text-transform:uppercase}
.gc-h1--compact{font-size:clamp(34px,4.4vw,60px);line-height:1.04}
.gc-h2{font-weight:800;font-size:clamp(28px,3.2vw,42px);line-height:1.1;text-wrap:balance;color:var(--gc-title,var(--gc-ink))}
.gc-h2--lg{font-size:clamp(30px,3.4vw,46px);line-height:1.08}
.gc-h2--sm{font-size:clamp(26px,3vw,38px);line-height:1.12}
.gc-h2--light{color:var(--gc-title-light,#fff)}
.gc-lead{font-size:17.5px;line-height:1.7;color:var(--gc-lead-ink,var(--gc-text));text-wrap:pretty}
.gc-lead--light{color:var(--gc-lead-ink-light,rgba(255,255,255,.78))}
.gc-lead--xl{font-size:19px;line-height:1.6}
.gc-gold{color:var(--gc-gold)}

/* 4.3 Boutons */
.gc-btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--gc-font-title);font-weight:800;font-size:13px;
  letter-spacing:.14em;padding:19px 34px;border:1px solid transparent;
  cursor:pointer;text-align:center;white-space:nowrap;
  transition:background var(--gc-ease),color var(--gc-ease),border-color var(--gc-ease);
}
.gc-btn--gold{background:var(--gc-gold);color:var(--gc-dark)}
.gc-btn--gold:hover,.gc-btn--gold:focus{background:#fff;color:var(--gc-dark)}
.gc-btn--dark{background:var(--gc-dark);color:#fff}
.gc-btn--dark:hover,.gc-btn--dark:focus{background:var(--gc-gold);color:var(--gc-dark)}
.gc-btn--ghost{border-color:rgba(255,255,255,.5);color:#fff;background:transparent}
.gc-btn--ghost:hover,.gc-btn--ghost:focus{background:#fff;color:var(--gc-dark);border-color:#fff}
.gc-btn--outline{border-color:rgba(255,255,255,.4);color:#fff;background:transparent}
.gc-btn--outline:hover,.gc-btn--outline:focus{background:var(--gc-gold);color:var(--gc-dark);border-color:var(--gc-gold)}
.gc-btn--lg{padding:20px 36px}
.gc-btn--sm{padding:14px 22px;font-size:11.5px;letter-spacing:.12em}

.gc-link-more{
  font-family:var(--gc-font-title);font-size:12px;font-weight:700;
  letter-spacing:.16em;color:var(--gc-dark);
  border-bottom:2px solid var(--gc-gold);padding-bottom:8px;white-space:nowrap;
}
.gc-link-arrow{
  font-family:var(--gc-font-title);font-size:11.5px;font-weight:700;
  letter-spacing:.16em;color:var(--gc-dark);
}
.gc-link-arrow:hover{color:var(--gc-gold)}

/* 4.4 En-tête du site */
.gc-topbar{background:var(--gc-topbar-bg,var(--gc-dark-deep));color:var(--gc-topbar-ink,rgba(255,255,255,.72));font-size:13px;letter-spacing:.04em}
.gc-topbar__inner{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-top:6px;padding-bottom:6px}
.gc-topbar__left{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.gc-topbar__place{display:flex;align-items:center;gap:8px}
.gc-topbar__place::before{content:"";width:6px;height:6px;background:var(--gc-topbar-accent,var(--gc-gold));transform:rotate(45deg);display:block;flex:none}
.gc-topbar a{color:var(--gc-topbar-ink,rgba(255,255,255,.72))}
.gc-topbar a:hover{color:var(--gc-topbar-accent,var(--gc-gold))}
.gc-topbar__social{display:flex;align-items:center;gap:20px;font-family:var(--gc-font-title);font-size:11px;font-weight:600;letter-spacing:.14em}
.gc-topbar__sep{color:var(--gc-topbar-faint,rgba(255,255,255,.25))}
.gc-topbar__lang{color:var(--gc-topbar-accent,var(--gc-gold))}

.gc-identity{background:var(--gc-identity-bg,#fff);border-bottom:1px solid var(--gc-line-soft)}
.gc-identity__inner{padding-top:20px;padding-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
.gc-logo{display:flex;align-items:center;gap:16px}
.gc-logo__mark{
  width:50px;height:50px;flex:none;display:block;
  background:linear-gradient(135deg,var(--gc-gold-light),var(--gc-gold-dark));
  transform:rotate(45deg);box-shadow:0 8px 22px rgba(169,129,47,.28);
}
.gc-logo__text{display:block}
.gc-logo__name{display:block;font-family:var(--gc-font-title);font-weight:800;font-size:23px;letter-spacing:.02em;color:var(--gc-identity-ink,var(--gc-dark));line-height:1}
.gc-logo__tag{display:block;font-family:var(--gc-font-title);font-weight:600;font-size:12.5px;letter-spacing:.38em;color:var(--gc-identity-accent,var(--gc-gold));margin-top:5px}
/* Hauteur pilotée depuis le personnalisateur. On fixe `height` et non
   `max-height` : un plafond ne fait que rogner les grands fichiers, alors
   que le réglage doit aussi pouvoir agrandir un logo trop petit. La largeur
   suit le rapport de l'image, sans jamais dépasser son conteneur. */
.gc-logo__img{
  height:var(--gc-logo-h,60px);
  width:auto;
  max-width:100%;
  object-fit:contain;
}
/* Le logo du pied de page a son propre gabarit, indépendant de l'en-tête. */
.gc-logo--footer .gc-logo__img{height:var(--gc-logo-footer-h,56px)}

.gc-infos{display:flex;align-items:stretch;gap:clamp(18px,2.4vw,40px);flex-wrap:wrap}
.gc-info{display:flex;flex-direction:column;gap:3px;border-left:1px solid var(--gc-line-soft);padding-left:24px}
.gc-info__label{font-family:var(--gc-font-title);font-size:10px;font-weight:700;letter-spacing:.18em;color:var(--gc-identity-accent,var(--gc-gold))}
.gc-info__value{font-family:var(--gc-font-title);font-size:13px;font-weight:700;color:var(--gc-identity-ink,var(--gc-dark))}
.gc-info__note{font-size:13px;color:var(--gc-identity-ink-soft,var(--gc-muted))}

.gc-navbar{background:var(--gc-navbar-bg,#fff);border-bottom:1px solid var(--gc-line-soft);position:sticky;top:0;z-index:40;box-shadow:0 10px 30px rgba(38,32,25,.05)}
.gc-navbar__inner{display:flex;align-items:center;justify-content:space-between;gap:clamp(12px,2vw,32px)}
.gc-nav{display:flex;align-items:center;gap:clamp(14px,1.8vw,34px);font-family:var(--gc-font-title);font-size:clamp(11px,.95vw,13px);font-weight:700;letter-spacing:.08em;flex:1 1 auto;min-width:0}
.gc-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:clamp(14px,1.8vw,34px);flex-wrap:wrap}
.gc-nav li{position:relative}
.gc-nav a{display:block;color:var(--gc-navbar-ink,var(--gc-dark));padding:22px 0;border-bottom:2px solid transparent;white-space:nowrap;text-transform:uppercase}
.gc-nav a:hover{color:var(--gc-gold)}
.gc-nav .current-menu-item>a,
.gc-nav .current_page_item>a,
.gc-nav .current-menu-ancestor>a,
.gc-nav .current_page_parent>a{border-bottom-color:var(--gc-gold)}
/* Sous-menus */
.gc-nav ul ul{
  position:absolute;top:100%;left:0;min-width:230px;background:#fff;
  border:1px solid var(--gc-line);box-shadow:var(--gc-shadow-soft);
  flex-direction:column;align-items:stretch;gap:0;padding:6px 0;
  display:none;z-index:60;
}
.gc-nav li:hover>ul,.gc-nav li:focus-within>ul{display:flex}
.gc-nav ul ul a{padding:11px 18px;border-bottom:none;white-space:normal}
.gc-nav ul ul a:hover{background:var(--gc-bg-alt)}

.gc-nav__cats{display:none}
.gc-nav__fermer{display:none}
.gc-nav__deplier{display:none}
.gc-navvoile{display:none}
.gc-navbar__actions{display:flex;align-items:center;gap:8px;flex:none}
.gc-search{
  display:flex;align-items:center;gap:10px;background:var(--gc-bg-search);
  border:1px solid #e6ded0;padding:10px 16px;width:clamp(44px,12vw,230px);
  overflow:hidden;flex:none;
}
.gc-search__icon{width:11px;height:11px;border:2px solid #a79a88;border-radius:50%;display:block;flex:none}
.gc-search input{border:none;background:transparent;outline:none;font-family:var(--gc-font-body);font-size:14px;width:100%;color:var(--gc-dark);min-width:0}
.gc-navbar__cta{
  background:var(--gc-cta-bg,var(--gc-gold));color:var(--gc-cta-ink,var(--gc-dark));font-family:var(--gc-font-title);
  font-weight:800;font-size:13px;letter-spacing:.12em;padding:20px clamp(16px,2vw,30px);
  white-space:nowrap;flex:none;transition:background var(--gc-ease),color var(--gc-ease);
}
.gc-navbar__cta:hover,.gc-navbar__cta:focus{background:var(--gc-cta-bg-survol,var(--gc-dark));color:var(--gc-cta-ink-survol,#fff)}

.gc-burger{
  display:none;align-items:center;justify-content:center;flex:none;
  width:46px;height:46px;background:var(--gc-dark);border:none;cursor:pointer;
}
.gc-burger span{display:block;width:20px;height:2px;background:#fff;position:relative;transition:background .2s ease}
.gc-burger span::before,.gc-burger span::after{content:"";position:absolute;left:0;width:20px;height:2px;background:#fff;transition:transform .2s ease}
.gc-burger span::before{top:-6px}
.gc-burger span::after{top:6px}
.gc-burger[aria-expanded="true"] span{background:transparent}
.gc-burger[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg)}
.gc-burger[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg)}

.gc-catbar{background:var(--gc-catbar-bg,var(--gc-dark))}
.gc-catbar__inner{display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap}
.gc-catbar ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap}
.gc-catbar a{
  display:block;color:var(--gc-catbar-ink,rgba(255,255,255,.86));font-family:var(--gc-font-title);
  font-size:12.5px;font-weight:700;letter-spacing:.12em;padding:16px 20px;
  border-bottom:3px solid transparent;white-space:nowrap;text-transform:uppercase;
  transition:color var(--gc-ease),border-color var(--gc-ease);
}
.gc-catbar a:hover,.gc-catbar a:focus{color:var(--gc-catbar-accent,var(--gc-gold));border-bottom-color:var(--gc-catbar-accent,var(--gc-gold))}
.gc-catbar .current-menu-item>a,
.gc-catbar .current-menu-parent>a,
.gc-catbar .current-menu-ancestor>a{color:var(--gc-catbar-accent,var(--gc-gold));border-bottom-color:var(--gc-catbar-accent,var(--gc-gold))}

/* Sous-menu : les catégories d'une famille se déploient au survol. */
.gc-catbar li{position:relative}
/* `menu-item-has-children` est posée par WordPress : plus fiable que `:has()`,
   que Safari et Firefox anciens ne connaissent pas. */
.gc-catbar .menu-item-has-children > a::after{
  content:"";
  display:inline-block;
  width:5px;height:5px;
  margin-left:8px;
  vertical-align:middle;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:translateY(-2px) rotate(45deg);
}
.gc-catbar ul ul{
  position:absolute;top:100%;left:0;
  display:none;
  flex-direction:column;
  align-items:stretch;
  gap:0;
  min-width:250px;
  padding:6px 0;
  background:var(--gc-catbar-bg-deep,var(--gc-dark-deep));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 24px 50px rgba(0,0,0,.35);
  z-index:70;
}
.gc-catbar li:hover > ul,
.gc-catbar li:focus-within > ul{display:flex}
.gc-catbar ul ul a{
  padding:11px 18px;
  border-bottom:none;
  white-space:normal;
  font-size:12px;
  letter-spacing:.06em;
  text-transform:none;
  color:var(--gc-catbar-ink,rgba(255,255,255,.8));
}
.gc-catbar ul ul a:hover{background:rgba(255,255,255,.07);color:var(--gc-catbar-accent,var(--gc-gold))}

/* 4.5 Bandeau vertical latéral (accueil) */
.gc-rail{position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;z-index:5}
.gc-rail a{
  writing-mode:vertical-rl;font-family:var(--gc-font-title);font-size:11px;
  font-weight:700;letter-spacing:.24em;padding:26px 13px;
}
.gc-rail a:first-child{background:var(--gc-dark);color:#fff}
.gc-rail a:last-child{background:var(--gc-gold);color:var(--gc-dark)}
.gc-rail a:hover{opacity:.88;color:inherit}

/* 4.6 Héros */
.gc-hero{position:relative;background:var(--gc-dark-hero);overflow:hidden}
.gc-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.4}
.gc-hero__inner{position:relative;padding-top:88px;padding-bottom:88px}
.gc-hero--home{min-height:620px;display:flex;align-items:center}
.gc-hero--home .gc-hero__bg{opacity:.55}
.gc-hero--home .gc-hero__inner{padding-top:110px;padding-bottom:110px}
.gc-hero__veil{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(23,19,15,.92) 0%,rgba(23,19,15,.62) 55%,rgba(23,19,15,.35) 100%);
}
.gc-hero--flat{background:var(--gc-dark)}
.gc-hero--flat .gc-hero__inner{padding-top:72px;padding-bottom:72px}
.gc-hero__content{max-width:820px;animation:gc-fade .7s ease both}
.gc-hero__kicker{display:flex;align-items:center;gap:14px;margin-bottom:26px}
.gc-hero__kicker span:first-child{width:56px;height:2px;background:var(--gc-gold);display:block;flex:none}
.gc-hero__kicker span:last-child{font-family:var(--gc-font-title);font-size:12px;font-weight:700;letter-spacing:.34em;color:var(--gc-gold)}
.gc-hero h1{margin:20px 0 0;letter-spacing:-.01em}
.gc-hero--home h1{margin:0}
.gc-hero p{margin:22px 0 0;max-width:680px}
.gc-hero--home p{margin-top:28px;font-size:21px;line-height:1.55;color:rgba(255,255,255,.82);max-width:620px}
.gc-hero__actions{display:flex;gap:16px;margin-top:44px;flex-wrap:wrap}

.gc-breadcrumb{
  font-family:var(--gc-font-title);font-size:11.5px;font-weight:700;
  letter-spacing:.2em;color:rgba(255,255,255,.6);
  display:flex;gap:10px;align-items:center;flex-wrap:wrap;text-transform:uppercase;
}
.gc-breadcrumb a{color:rgba(255,255,255,.6)}
.gc-breadcrumb a:hover{color:var(--gc-gold)}
.gc-breadcrumb [aria-current]{color:var(--gc-gold)}

/* 4.7 Bandeau de chiffres */
.gc-stats{background:#fff;border-bottom:1px solid var(--gc-line-soft)}
.gc-stats__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}
.gc-stat{padding:42px 30px;border-right:1px solid var(--gc-line-soft);display:flex;flex-direction:column;gap:6px}
.gc-stat:last-child{border-right:none}
.gc-stat__value{font-family:var(--gc-font-title);font-weight:900;font-size:44px;color:var(--gc-dark);line-height:1}
.gc-stat__label{font-family:var(--gc-font-title);font-size:11px;font-weight:700;letter-spacing:.18em;color:var(--gc-gold)}
.gc-stat__note{font-size:15px;color:var(--gc-muted)}

.gc-figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:20px;margin-top:36px}
.gc-figure{border-left:2px solid var(--gc-gold);padding-left:16px}
.gc-figure__value{font-family:var(--gc-font-title);font-weight:900;font-size:34px;color:var(--gc-dark);line-height:1}
.gc-figure__label{font-family:var(--gc-font-title);font-size:10.5px;font-weight:700;letter-spacing:.16em;color:var(--gc-faint);margin-top:8px}

/* 4.8 En-tête de section (titre + lien) */
.gc-sechead{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:48px;flex-wrap:wrap}
.gc-sechead h2{max-width:660px}

/* 4.9 Cartes univers */
.gc-univers{
  background:#fff;display:flex;flex-direction:column;overflow:hidden;
  border:1px solid var(--gc-line);
  transition:transform var(--gc-ease),box-shadow var(--gc-ease);
}
.gc-univers:hover{transform:translateY(-6px);box-shadow:var(--gc-shadow-card)}
.gc-univers__media{position:relative;display:block;height:250px;background:var(--gc-dark);overflow:hidden}
.gc-univers__media img{width:100%;height:100%;object-fit:cover;opacity:.92}
.gc-univers__tag{
  position:absolute;left:0;bottom:0;background:var(--gc-gold);color:var(--gc-dark);
  font-family:var(--gc-font-title);font-size:11px;font-weight:800;letter-spacing:.16em;padding:9px 14px;
}
.gc-univers__body{display:block;padding:26px 24px 30px}
.gc-univers__title{display:block;font-family:var(--gc-font-title);font-weight:800;font-size:19px;letter-spacing:.04em;color:var(--gc-dark)}
.gc-univers__text{display:block;margin-top:12px;font-size:15.5px;line-height:1.6;color:var(--gc-muted)}
.gc-univers__more{display:block;margin-top:20px;font-family:var(--gc-font-title);font-size:11.5px;font-weight:700;letter-spacing:.16em;color:var(--gc-gold-ink)}

/* 4.10 Carte « numérotée » (services, gammes, atouts, familles) */
.gc-tile{background:#fff;padding:40px 34px;display:flex;flex-direction:column;gap:12px;transition:background var(--gc-ease)}
.gc-tile:hover{background:var(--gc-bg-alt)}
.gc-tile__num{font-family:var(--gc-font-title);font-weight:900;font-size:14px;color:var(--gc-gold-ink);letter-spacing:.1em}
.gc-tile__title{font-family:var(--gc-font-title);font-weight:800;font-size:18px;color:var(--gc-dark);letter-spacing:.03em;line-height:1.3}
.gc-tile__text{font-size:15.5px;line-height:1.65;color:var(--gc-muted)}
.gc-tile__link{margin-top:8px}
.gc-tile--boxed{border:1px solid var(--gc-line);padding:30px 26px;gap:10px}
.gc-tile--boxed:hover{background:#fff}
.gc-tile--boxed .gc-tile__title{font-size:16.5px}

/* 4.11 Puces losange */
.gc-proofs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:16px;margin-top:32px}
.gc-proof{display:flex;align-items:center;gap:12px;background:var(--gc-bg-alt);padding:16px 18px}
.gc-proof::before{content:"";width:8px;height:8px;background:var(--gc-gold);transform:rotate(45deg);display:block;flex:none}
.gc-proof span{font-family:var(--gc-font-title);font-size:13.5px;font-weight:700;color:var(--gc-dark)}

/* 4.11 bis — Substitut de visuel
   Affiché quand aucune image n'est disponible, ou quand une image distante
   échoue au chargement. Occupe exactement la place de l'image attendue. */
.gc-ph{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  width:100%;
  height:100%;
  min-height:120px;
  padding:20px;
  text-align:center;
  background:
    repeating-linear-gradient(135deg,rgba(200,164,92,.07) 0 12px,transparent 12px 24px),
    linear-gradient(160deg,#2e2720 0%,var(--gc-dark) 60%,#17130f 100%);
  color:rgba(255,255,255,.72);
}
.gc-ph__mark{
  width:34px;height:34px;flex:none;display:block;
  background:linear-gradient(135deg,var(--gc-gold-light),var(--gc-gold-dark));
  transform:rotate(45deg);
  box-shadow:0 6px 18px rgba(169,129,47,.35);
}
.gc-ph__label{
  font-family:var(--gc-font-title);
  font-size:11.5px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--gc-gold);
  line-height:1.4;
  word-break:break-word;
}
/* Sur fond clair (brochures, partenaires) le substitut reste discret. */
.gc-cata .gc-ph,
.gc-brochure .gc-ph,
.gc-partner .gc-ph{
  min-height:150px;
  background:
    repeating-linear-gradient(135deg,rgba(38,32,25,.05) 0 10px,transparent 10px 20px),
    var(--gc-bg-alt);
}
.gc-cata .gc-ph__label,
.gc-brochure .gc-ph__label,
.gc-partner .gc-ph__label{color:var(--gc-gold-ink)}
.gc-partner .gc-ph{min-height:0;padding:8px;gap:8px}
.gc-partner .gc-ph__mark{width:18px;height:18px;box-shadow:none}
.gc-partner__name{
  font-family:var(--gc-font-title);font-size:12px;font-weight:700;
  letter-spacing:.1em;color:var(--gc-dark);text-align:center;
}

/* 4.12 Carte décor */
.gc-decor{
  background:#fff;border:1px solid var(--gc-line);display:flex;flex-direction:column;
  overflow:hidden;transition:transform var(--gc-ease),box-shadow var(--gc-ease);
}
.gc-decor:hover{transform:translateY(-5px);box-shadow:var(--gc-shadow-soft)}
.gc-decor__media{display:block;position:relative;height:260px;overflow:hidden;background:#f2ede4}
.gc-decor__media img{width:100%;height:100%;object-fit:cover}
/* Colonne souple : le bouton se cale en bas, à la même hauteur sur toutes
   les cartes d'une rangée, qu'un nom tienne sur une ligne ou sur deux. */
.gc-decor__body{display:flex;flex-direction:column;flex:1 1 auto;padding:18px 18px 22px}
.gc-decor__family{display:block;font-family:var(--gc-font-title);font-size:10px;font-weight:700;letter-spacing:.18em;color:var(--gc-gold-ink);text-transform:uppercase}
.gc-decor--dark .gc-decor__family{color:var(--gc-gold)}
.gc-decor__name{display:block;margin-top:8px;font-family:var(--gc-font-title);font-size:14.5px;font-weight:700;color:var(--gc-dark);line-height:1.35}
.gc-decor__cta{display:block;margin-top:14px;font-family:var(--gc-font-title);font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--gc-faint)}
/* Variante sur fond marine */
.gc-decor--dark{background:var(--gc-dark-card);border-color:rgba(255,255,255,.08)}
.gc-decor--dark:hover{transform:none;box-shadow:none;border-color:var(--gc-gold)}
.gc-decor--dark .gc-decor__media{height:230px;background:#241e17}
.gc-decor--dark .gc-decor__name{color:#fff}

/* 4.12 bis — Catégories d'une famille */
.gc-cats-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr));
  gap:12px;
}
.gc-cat-chip{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:18px 20px;
  background:#fff;
  border:1px solid var(--gc-line);
  border-left:3px solid var(--gc-gold);
  transition:transform var(--gc-ease),box-shadow var(--gc-ease),border-color var(--gc-ease);
}
.gc-cat-chip:hover{
  transform:translateY(-3px);
  box-shadow:var(--gc-shadow-soft);
  border-left-color:var(--gc-dark);
}
.gc-cat-chip__name{
  font-family:var(--gc-font-title);
  font-size:14px;
  font-weight:700;
  color:var(--gc-dark);
  line-height:1.35;
}
.gc-cat-chip__count{
  flex:none;
  min-width:30px;
  padding:3px 9px;
  background:var(--gc-bg-alt);
  color:var(--gc-muted);
  font-family:var(--gc-font-title);
  font-size:12px;
  font-weight:700;
  text-align:center;
}
.gc-cat-chip:hover .gc-cat-chip__count{background:var(--gc-gold);color:var(--gc-dark)}
/* Sur fond alterné, les pastilles gardent leur contraste. */
.gc-section--alt .gc-cat-chip__count{background:#f2ede4}

/* Fiche produit */
.gc-product__media img,
.gc-product__media .gc-ph{
  width:100%;
  height:480px;
  object-fit:cover;
  display:block;
  border:1px solid var(--gc-line);
}

/* 4.12 ter — Carrousel de photos produit */
.gc-carousel{outline:none}
.gc-carousel:focus-visible{outline:2px solid var(--gc-gold);outline-offset:4px}

.gc-carousel__viewport{
  position:relative;
  overflow:hidden;
  background:var(--gc-bg-alt);
  border:1px solid var(--gc-line);
}
.gc-carousel__track{
  display:flex;
  transition:transform .45s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}
.gc-carousel__slide{
  flex:0 0 100%;
  margin:0;
  min-width:0;
}
.gc-carousel__slide img{
  width:100%;
  height:480px;
  object-fit:cover;
  display:block;
}

.gc-carousel__nav{
  position:absolute;top:50%;transform:translateY(-50%);
  width:46px;height:46px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(38,32,25,.72);
  border:none;color:#fff;cursor:pointer;
  transition:background var(--gc-ease);
}
.gc-carousel__nav:hover{background:var(--gc-gold);color:var(--gc-dark)}
.gc-carousel__nav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.gc-carousel__nav--prev{left:0}
.gc-carousel__nav--next{right:0}

.gc-carousel__count{
  position:absolute;right:12px;bottom:12px;
  padding:6px 12px;
  background:rgba(38,32,25,.78);color:#fff;
  font-family:var(--gc-font-title);font-size:11.5px;font-weight:700;letter-spacing:.1em;
}

.gc-carousel__thumbs{
  display:flex;gap:8px;margin-top:10px;
  overflow-x:auto;padding-bottom:4px;
  scrollbar-width:thin;
}
.gc-carousel__thumb{
  flex:0 0 auto;
  width:78px;height:60px;
  padding:0;border:1px solid var(--gc-line-strong);
  background:none;cursor:pointer;overflow:hidden;
  opacity:.6;
  transition:opacity var(--gc-ease),border-color var(--gc-ease);
}
.gc-carousel__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.gc-carousel__thumb:hover{opacity:1}
.gc-carousel__thumb.is-on{opacity:1;border-color:var(--gc-gold);border-width:2px}

@media (prefers-reduced-motion:reduce){
  .gc-carousel__track{transition:none}
}

/* 4.13 Tableau de spécifications */
.gc-specs{border-top:1px solid var(--gc-line-strong)}
.gc-spec{display:flex;justify-content:space-between;gap:24px;padding:18px 0;border-bottom:1px solid var(--gc-line-strong)}
.gc-spec__k{font-family:var(--gc-font-title);font-size:12.5px;font-weight:700;letter-spacing:.1em;color:var(--gc-dark)}
.gc-spec__v{font-size:16px;color:var(--gc-text);text-align:right}

/* 4.14 Jauges */
.gc-gauges{display:flex;flex-direction:column;gap:20px}
.gc-gauge__head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.gc-gauge__label{font-family:var(--gc-font-title);font-size:13px;font-weight:700;letter-spacing:.08em;color:#fff}
.gc-gauge__pct{font-family:var(--gc-font-title);font-size:15px;font-weight:800;color:var(--gc-gold)}
.gc-gauge__track{height:4px;background:rgba(255,255,255,.18)}
.gc-gauge__bar{height:4px;background:var(--gc-gold);transition:width .9s ease}

/* 4.15 Partenaires */
.gc-partners__title{text-align:center;font-family:var(--gc-font-title);font-size:11px;font-weight:700;letter-spacing:.3em;color:var(--gc-faint);margin-bottom:32px;text-transform:uppercase}
/* Ancienne grille, conservée pour tout appel qui l'utiliserait encore. */
.gc-partners__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:24px;align-items:center}

/* ── Carrousel de partenaires ──────────────────────────────────────────
   Défilement continu, sans JavaScript ni bibliothèque : la piste porte
   deux copies de la liste et se décale de moitié, en boucle. */
.gc-partners__voie{
  overflow:hidden;
  /* Les logos s'effacent aux bords plutôt que d'être tranchés net. */
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.gc-partners__piste{
  display:flex;width:max-content;
  animation:gc-defile var(--gc-defile,40s) linear infinite;
  will-change:transform;
}
.gc-partners__lot{display:flex;gap:24px;padding-right:24px}
/* Le survol suspend le défilement : on peut lire un logo qui intéresse. */
.gc-partners__voie:hover .gc-partners__piste,
.gc-partners__voie:focus-within .gc-partners__piste{animation-play-state:paused}
.gc-partners__piste .gc-partner{width:172px;flex:none}

@keyframes gc-defile{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

@media (max-width:640px){
  .gc-partners__lot{gap:16px;padding-right:16px}
  .gc-partners__piste .gc-partner{width:140px}
}

/* Sans animation : la piste s'arrête et devient une bande que l'on fait
   défiler au doigt. Rien n'est perdu, rien ne bouge tout seul. */
@media (prefers-reduced-motion:reduce){
  .gc-partners__piste{animation:none}
  .gc-partners__voie{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
}
.gc-partner{height:70px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--gc-line);padding:14px}
.gc-partner img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;filter:grayscale(1);opacity:.7;transition:filter var(--gc-ease),opacity var(--gc-ease)}
.gc-partner:hover img{filter:none;opacity:1}

/* 4.16 Bandeau CTA */
.gc-cta-band{background:var(--gc-dark);padding:80px 0}
.gc-cta-band__inner{display:flex;align-items:center;justify-content:space-between;gap:36px;flex-wrap:wrap}
.gc-cta-band h2{color:var(--gc-title-light,#fff);max-width:640px}
.gc-cta-band p{margin:14px 0 0;font-size:18px;color:var(--gc-lead-ink-light,rgba(255,255,255,.72))}
.gc-cta-band__actions{display:flex;gap:16px;flex-wrap:wrap}

/* 4.17 Encart image + badge */
.gc-figure-shot{position:relative}
.gc-figure-shot img{width:100%;height:500px;object-fit:cover;display:block}
.gc-badge{position:absolute;right:-20px;bottom:-24px;background:var(--gc-dark);color:#fff;padding:30px 34px}
.gc-badge__value{font-family:var(--gc-font-title);font-weight:900;font-size:40px;color:var(--gc-gold);line-height:1}
.gc-badge__label{font-family:var(--gc-font-title);font-size:11px;font-weight:700;letter-spacing:.2em;margin-top:8px}

/* 4.18 Filtres du catalogue */
.gc-filterbar{background:var(--gc-bg-alt);border-bottom:1px solid var(--gc-line-soft);position:sticky;top:0;z-index:30}

/* Le panneau du catalogue : rangées empilées, séparées d'un filet, posées
   sur la page plutôt que fondues dedans. */
.gc-filtres{
  background:#fff;
  border:1px solid var(--gc-line);
  box-shadow:0 18px 44px rgba(38,32,25,.10);
  margin:20px 0;
}
.gc-filtres__bas{
  display:flex;align-items:center;gap:20px;flex-wrap:wrap;
  padding:16px clamp(16px,2vw,26px);
  border-top:1px solid var(--gc-line-soft);
  background:var(--gc-bg-alt);
}

/* La recherche du catalogue : plus haute, avec une vraie loupe et une croix
   qui n'apparaît qu'une fois quelque chose de saisi. */
.gc-search--catalogue{
  flex:1 1 320px;width:auto;min-width:0;
  background:#fff;border:1px solid var(--gc-line-strong);
  padding:13px 16px;gap:12px;
  transition:border-color var(--gc-ease),box-shadow var(--gc-ease);
}
.gc-search--catalogue:focus-within{
  border-color:var(--gc-gold);
  box-shadow:0 0 0 3px rgba(200,164,92,.20);
}
.gc-search__loupe{
  width:17px;height:17px;flex:none;
  fill:none;stroke:var(--gc-faint);stroke-width:2;stroke-linecap:round;
  transition:stroke var(--gc-ease);
}
.gc-search--catalogue:focus-within .gc-search__loupe{stroke:var(--gc-gold-ink)}
.gc-search--catalogue input{font-size:15px}
.gc-search__vider{
  flex:none;width:26px;height:26px;padding:0;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  background:var(--gc-line);border:0;color:var(--gc-dark);
  transition:background var(--gc-ease);
}
.gc-search__vider:hover,.gc-search__vider:focus-visible{background:var(--gc-gold)}
.gc-search__vider svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round}
.gc-filterbar__inner{padding-top:18px;padding-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.gc-chips{display:flex;gap:6px;flex-wrap:wrap}
/* Au repos, la puce se pose sur un fond crème : blanche sur blanc, elle ne
   se lisait comme un bouton qu'à sa bordure. À l'état actif, l'or est
   légèrement surélevé — la sélection se voit sans avoir à comparer. */
.gc-chip{
  font-family:var(--gc-font-title);font-size:12px;font-weight:700;letter-spacing:.13em;
  padding:13px 22px;cursor:pointer;border:1px solid transparent;
  background:var(--gc-bg-alt);color:var(--gc-muted);text-transform:uppercase;
  transition:background var(--gc-ease),color var(--gc-ease),border-color var(--gc-ease),box-shadow var(--gc-ease),transform var(--gc-ease);
}
.gc-chip:hover{background:#fff;border-color:var(--gc-line-strong);color:var(--gc-dark)}
.gc-chip:focus-visible{outline:2px solid var(--gc-gold);outline-offset:2px}
.gc-chip.is-active,.gc-chip[aria-pressed="true"]{
  background:var(--gc-gold);border-color:var(--gc-gold);color:var(--gc-dark);
  box-shadow:0 8px 18px rgba(38,32,25,.16);transform:translateY(-1px);
}
.gc-chip--sm{font-size:11.5px;letter-spacing:.11em;padding:11px 17px}
/* Une catégorie sans référence reste cliquable — elle dit simplement qu'il
   n'y a rien encore, plutôt que de disparaître de l'arborescence. */
.gc-chip--vide{opacity:.55}
.gc-chip--vide:hover{opacity:1}
.gc-filterbar__right{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.gc-filterbar .gc-search:not(.gc-search--catalogue){min-width:min(240px,100%);width:auto;flex:1 1 240px}
.gc-count{
  display:inline-flex;align-items:baseline;gap:9px;flex:none;
  font-family:var(--gc-font-title);font-size:11px;font-weight:700;
  letter-spacing:.16em;color:var(--gc-muted);text-transform:uppercase;
}
.gc-count__n{
  font-size:23px;font-weight:900;letter-spacing:0;line-height:1;
  color:var(--gc-dark);font-variant-numeric:tabular-nums;
}
.gc-empty{padding:70px 0;text-align:center;font-size:18px;color:var(--gc-muted)}
.gc-decor.is-hidden{display:none}

/* 4.19 Brochures */
.gc-brochures{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:18px}
.gc-brochure{display:block;border:1px solid var(--gc-line);background:var(--gc-bg-alt);transition:transform var(--gc-ease)}
.gc-brochure:hover{transform:translateY(-6px)}
.gc-brochure img{width:100%;display:block}
.gc-brochure span{display:block;padding:14px;font-family:var(--gc-font-title);font-size:11.5px;font-weight:700;letter-spacing:.12em;color:var(--gc-dark);text-align:center}

/* 4.19 bis — Lecteur de brochures (double page) */
.gc-fb-section{background:var(--gc-dark-hero);padding:40px 0 56px}

.gc-fb{
  position:relative;
  background:linear-gradient(180deg,#33281c 0%,var(--gc-dark-hero) 100%);
  border:1px solid rgba(255,255,255,.08);
  padding:24px 24px 0;
  outline:none;
}
.gc-fb:focus-visible{outline:2px solid var(--gc-gold);outline-offset:3px}
.gc-fb:fullscreen{padding:20px 20px 0;display:flex;flex-direction:column;justify-content:center}
.gc-fb:fullscreen .gc-fb__stage{height:calc(100vh - 130px)}

.gc-fb__stage{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:2px;
  height:min(74vh,760px);
  min-height:340px;
  /* Reliure centrale : l'ombre au pli donne l'impression du livre ouvert. */
  background:
    radial-gradient(ellipse at center,rgba(0,0,0,.45) 0%,rgba(0,0,0,0) 62%),
    transparent;
}
.gc-fb__stage.is-single{gap:0}

.gc-fb__side{
  display:flex;
  align-items:center;
  height:100%;
  max-width:50%;
}
.gc-fb__stage.is-single .gc-fb__side{max-width:100%}
.gc-fb__side--left{justify-content:flex-end}
.gc-fb__side--right{justify-content:flex-start}

.gc-fb-page{
  display:block;
  height:100%;
  width:auto;
  max-width:100%;
  object-fit:contain;
  background:#fff;
  box-shadow:0 18px 50px rgba(0,0,0,.5);
  /* Le contenu ne doit pas pouvoir être glissé ni sélectionné. */
  -webkit-user-select:none;
  user-select:none;
  -webkit-user-drag:none;
  pointer-events:none;
}
.gc-fb__side--left .gc-fb-page{border-right:1px solid rgba(0,0,0,.18)}

/* Tourne de page : une bascule brève, sans surcharge. */
@keyframes gc-fb-next{from{opacity:.25;transform:translateX(22px)}to{opacity:1;transform:none}}
@keyframes gc-fb-prev{from{opacity:.25;transform:translateX(-22px)}to{opacity:1;transform:none}}
.gc-fb__stage.is-turn-next .gc-fb-page{animation:gc-fb-next .38s ease both}
.gc-fb__stage.is-turn-prev .gc-fb-page{animation:gc-fb-prev .38s ease both}

.gc-fb__loader{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  text-align:center;padding:24px;
  color:rgba(255,255,255,.75);
  font-family:var(--gc-font-title);font-size:13px;
  letter-spacing:.14em;text-transform:uppercase;
}

.gc-fb__bar{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:16px 0;
  margin-top:16px;
  border-top:1px solid rgba(255,255,255,.08);
  flex-wrap:wrap;
}
.gc-fb__btn{
  display:flex;align-items:center;justify-content:center;
  width:44px;height:44px;flex:none;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.14);
  color:#fff;cursor:pointer;
  transition:background var(--gc-ease),border-color var(--gc-ease),opacity var(--gc-ease);
}
.gc-fb__btn:hover:not([disabled]){background:var(--gc-gold);border-color:var(--gc-gold);color:var(--gc-dark)}
.gc-fb__btn[disabled]{opacity:.3;cursor:default}
.gc-fb__btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.gc-fb__btn--play svg{fill:currentColor;stroke:none}
.gc-fb__ico-pause{display:none}
.gc-fb__btn--play.is-on{background:var(--gc-gold);border-color:var(--gc-gold);color:var(--gc-dark)}
.gc-fb__btn--play.is-on .gc-fb__ico-play{display:none}
.gc-fb__btn--play.is-on .gc-fb__ico-pause{display:block}

.gc-fb__status{
  min-width:170px;text-align:center;
  font-family:var(--gc-font-title);font-size:12px;font-weight:700;
  letter-spacing:.12em;color:rgba(255,255,255,.72);
}
.gc-fb__note{
  margin-top:24px;text-align:center;
  font-size:14.5px;color:rgba(255,255,255,.6);
  max-width:640px;margin-left:auto;margin-right:auto;
}

/* 4.19 ter — Fenêtre modale générique */
.gc-modal{
  position:fixed;inset:0;z-index:200;
  display:flex;align-items:center;justify-content:center;
  padding:20px;
  background:rgba(23,19,15,.78);
  -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
  overflow-y:auto;
}
.gc-modal[hidden]{display:none}
.gc-modal__card{
  width:100%;max-width:min(640px,100%);
  background:#fff;
  box-shadow:0 40px 90px rgba(0,0,0,.45);
  max-height:calc(100vh - 40px);
  display:flex;flex-direction:column;
  animation:gc-fade .28s ease both;
}
.gc-modal__head{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:22px 26px;border-bottom:1px solid var(--gc-line);
}
.gc-modal__head h2{font-size:20px;font-weight:800}
.gc-modal__close{
  width:38px;height:38px;flex:none;
  display:flex;align-items:center;justify-content:center;
  background:var(--gc-bg-alt);border:none;cursor:pointer;color:var(--gc-dark);
  transition:background var(--gc-ease),color var(--gc-ease);
}
.gc-modal__close:hover{background:var(--gc-dark);color:#fff}
.gc-modal__close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.gc-modal__body{padding:24px 26px 28px;overflow-y:auto}
.gc-modal__intro{font-size:15.5px;line-height:1.65;color:var(--gc-text);margin-bottom:20px}

/* 4.19 quater — Section « Nos catalogues » (accueil)
   Couvertures présentées comme des ouvrages posés, légèrement inclinés et
   redressés au survol : la pile attire l'œil sans masquer les titres. */
.gc-catalogues{
  padding:100px 0;
  background:
    radial-gradient(900px 420px at 12% -8%,rgba(200,164,92,.20) 0%,transparent 60%),
    linear-gradient(168deg,#efe6d8 0%,var(--gc-cream) 100%);
  border-top:1px solid var(--gc-line);
  border-bottom:1px solid var(--gc-line);
}
.gc-catalogues .gc-sechead{margin-bottom:52px}

.gc-catalogues__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));
  gap:28px;
}

.gc-cata{
  display:flex;
  flex-direction:column;
  gap:18px;
  color:var(--gc-dark);
  animation:gc-fade .6s ease both;
  animation-delay:var(--gc-cata-delay,0ms);
}

.gc-cata__cover{
  position:relative;
  display:block;
  aspect-ratio:212/300;
  overflow:hidden;
  background:#fff;
  box-shadow:0 22px 44px -18px rgba(38,32,25,.42);
  transform:perspective(900px) rotateY(-7deg) translateZ(0);
  transform-origin:left center;
  transition:transform .45s cubic-bezier(.22,.61,.36,1),box-shadow .45s ease;
}
.gc-cata:hover .gc-cata__cover,
.gc-cata:focus-visible .gc-cata__cover{
  transform:perspective(900px) rotateY(0deg) translateY(-6px);
  box-shadow:0 30px 58px -18px rgba(38,32,25,.5);
}
.gc-cata__cover img,
.gc-cata__cover .gc-ph{
  width:100%;height:100%;
  object-fit:cover;display:block;
}

/* Tranche : la fine bande sombre qui donne l'épaisseur du livre. */
.gc-cata__spine{
  position:absolute;top:0;bottom:0;left:0;width:9px;
  background:linear-gradient(90deg,rgba(38,32,25,.42) 0%,rgba(38,32,25,.1) 60%,transparent 100%);
}

.gc-cata__badge{
  position:absolute;left:0;bottom:0;
  display:flex;align-items:center;gap:7px;
  padding:9px 13px;
  background:var(--gc-gold);color:var(--gc-dark);
  font-family:var(--gc-font-title);font-size:10.5px;font-weight:800;letter-spacing:.14em;
}
.gc-cata__badge svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}

.gc-cata__body{display:flex;flex-direction:column;gap:6px}
.gc-cata__title{
  font-family:var(--gc-font-title);font-size:15px;font-weight:800;
  letter-spacing:.08em;color:var(--gc-dark);text-transform:uppercase;
}
.gc-cata__meta{font-size:13.5px;color:var(--gc-muted)}
.gc-cata:hover .gc-cata__title{color:var(--gc-wood)}

@media (prefers-reduced-motion:reduce){
  .gc-cata__cover{transform:none}
  .gc-cata:hover .gc-cata__cover{transform:translateY(-4px)}
}

/* 4.20 Formulaire */
.gc-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.gc-form input[type="text"],
.gc-form input[type="email"],
.gc-form input[type="tel"],
.gc-form input[type="search"],
.gc-form textarea{
  width:100%;border:1px solid var(--gc-line-strong);padding:16px 18px;
  font-family:var(--gc-font-body);font-size:16px;outline:none;
  color:var(--gc-dark);background:var(--gc-bg-field);
  transition:border-color var(--gc-ease);
}
.gc-form input:focus,.gc-form textarea:focus{border-color:var(--gc-gold)}
.gc-form textarea{margin-top:22px;min-height:150px;resize:vertical}
.gc-form__legend{font-family:var(--gc-font-title);font-size:11px;font-weight:700;letter-spacing:.18em;color:var(--gc-faint);margin-bottom:12px;text-transform:uppercase}
.gc-form__block{margin-top:22px}
.gc-form__submit{margin-top:22px;border:none}
.gc-form__submit[disabled]{opacity:.6;cursor:progress}
.gc-form__note{margin-top:14px;font-size:13.5px;color:var(--gc-faint)}
.gc-alert{margin-top:18px;padding:16px 18px;font-size:16px}
.gc-alert--ok{background:#f2f7f2;border-left:3px solid #4b7f52;color:#2f5636}
.gc-alert--ko{background:#fdf3f2;border-left:3px solid #a4443a;color:#7d322b}
.gc-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* 4.21 Cartes contact */
.gc-contact-cards{display:flex;flex-direction:column;gap:22px}
.gc-contact-card{border:1px solid var(--gc-line);padding:26px 28px}
.gc-contact-card__label{font-family:var(--gc-font-title);font-size:10.5px;font-weight:700;letter-spacing:.2em;color:var(--gc-gold-ink);margin-bottom:10px;text-transform:uppercase}
.gc-contact-card__value{font-family:var(--gc-font-title);font-size:17px;font-weight:700;color:var(--gc-dark)}
.gc-contact-card__note{font-size:15.5px;color:var(--gc-muted);margin-top:6px}
.gc-map{position:relative;display:block;height:220px;background:var(--gc-dark);overflow:hidden}
.gc-map img{width:100%;height:100%;object-fit:cover;opacity:.45}
.gc-map span{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:var(--gc-font-title);font-size:12.5px;font-weight:800;letter-spacing:.18em;color:#fff;
}

/* 4.22 Newsletter + pied de page */

/* Bandeau d'inscription : l'argument à gauche, le panneau d'inscription à
   droite, posés sur deux losanges en filigrane — le motif de l'identité.
   Toutes les teintes viennent du personnalisateur (« Bandeau newsletter ») :
   --gc-lettre-bg le fond, --gc-lettre-ink le texte fort, --gc-lettre-soft le
   texte discret, --gc-lettre-btn-* le bouton, --gc-lettre-voile et
   --gc-lettre-line le panneau. Les replis donnent le bandeau d'origine, or
   sur graphite. */
.gc-newsletter{position:relative;overflow:hidden;background:var(--gc-lettre-bg,var(--gc-gold))}
.gc-newsletter__motif{position:absolute;inset:0;pointer-events:none}
.gc-newsletter__motif::before,.gc-newsletter__motif::after{
  content:'';position:absolute;transform:rotate(45deg);
  border:1px solid var(--gc-lettre-ink,var(--gc-dark));opacity:.13;
}
.gc-newsletter__motif::before{width:320px;height:320px;top:-150px;right:4%}
.gc-newsletter__motif::after{width:170px;height:170px;bottom:-85px;right:21%}
.gc-newsletter__inner{
  position:relative;padding-top:62px;padding-bottom:62px;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,448px);
  align-items:center;gap:48px;
}
.gc-newsletter__eyebrow{
  display:flex;align-items:center;gap:11px;
  font-family:var(--gc-font-title);font-size:11px;font-weight:800;letter-spacing:.3em;
  color:var(--gc-lettre-soft,rgba(38,32,25,.68));
}
.gc-newsletter__eyebrow::before{content:'';width:9px;height:9px;flex:none;transform:rotate(45deg);background:currentColor}
.gc-newsletter h2{margin:16px 0 0;font-weight:800;font-size:clamp(27px,2.6vw,38px);line-height:1.14;color:var(--gc-lettre-ink,var(--gc-dark))}
.gc-newsletter__intro{margin:14px 0 0;max-width:48ch;font-size:16.5px;line-height:1.68;color:var(--gc-lettre-soft,rgba(38,32,25,.72))}
.gc-newsletter__atouts{margin:22px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:10px 28px}
.gc-newsletter__atouts li{
  display:flex;align-items:center;gap:9px;
  font-family:var(--gc-font-title);font-size:11.5px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--gc-lettre-ink,var(--gc-dark));
}
.gc-newsletter__atouts svg{width:14px;height:14px;flex:none;opacity:.85}

/* Le panneau : il tient le champ, sa mention et la réponse, pour que la
   saisie ne flotte pas seule dans l'aplat. */
.gc-newsletter__carte{
  background:var(--gc-lettre-voile,rgba(255,255,255,.2));
  border:1px solid var(--gc-lettre-line,rgba(38,32,25,.16));
  padding:26px;
}
.gc-newsletter__piege{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.gc-newsletter__champ{
  display:flex;align-items:center;gap:12px;background:#fff;padding:6px 6px 6px 18px;
  box-shadow:0 18px 34px rgba(38,32,25,.14);transition:box-shadow var(--gc-ease);
}
.gc-newsletter__champ:focus-within{box-shadow:0 18px 34px rgba(38,32,25,.18),0 0 0 2px var(--gc-lettre-ink,var(--gc-dark))}
.gc-newsletter__ico{width:20px;height:20px;flex:none;color:var(--gc-faint)}
.gc-newsletter input[type=email]{
  flex:1;min-width:0;border:none;background:none;padding:16px 0;
  font-family:var(--gc-font-body);font-size:16px;color:var(--gc-dark);outline:none;
}
.gc-newsletter input[type=email]::placeholder{color:var(--gc-faint)}
.gc-newsletter button{
  display:inline-flex;align-items:center;gap:10px;flex:none;
  background:var(--gc-lettre-btn-bg,var(--gc-dark));color:var(--gc-lettre-btn-ink,#fff);border:none;
  font-family:var(--gc-font-title);font-weight:800;font-size:12.5px;letter-spacing:.14em;
  padding:16px 24px;cursor:pointer;white-space:nowrap;
  transition:background var(--gc-ease),color var(--gc-ease);
}
.gc-newsletter button svg{width:17px;height:17px;flex:none;transition:transform var(--gc-ease)}
.gc-newsletter button:hover{background:var(--gc-lettre-ink,var(--gc-dark-deep));color:var(--gc-lettre-bg,var(--gc-gold))}
.gc-newsletter button:hover svg{transform:translateX(3px)}
.gc-newsletter button[disabled]{opacity:.6;cursor:default}
.gc-newsletter button[disabled] svg{display:none}
.gc-newsletter__note{
  margin:14px 0 0;display:flex;align-items:flex-start;gap:9px;
  font-size:13.5px;line-height:1.55;color:var(--gc-lettre-soft,rgba(38,32,25,.7));
}
.gc-newsletter__note svg{width:15px;height:15px;flex:none;margin-top:2px;opacity:.8}

/* La réponse à l'inscription, au même endroit avec ou sans JavaScript. */
.gc-newsletter__retour{
  margin-top:16px;padding:14px 16px;background:#fff;color:var(--gc-ink);
  font-size:14.5px;line-height:1.5;border-left:3px solid var(--gc-gold);
}
.gc-newsletter__retour.is-ok{border-left-color:#2f7a4f}
.gc-newsletter__retour.is-ko{border-left-color:#b4442f}

.gc-footer{background:var(--gc-footer-bg,var(--gc-dark-deep));color:var(--gc-footer-ink,rgba(255,255,255,.7));padding:76px 0 0}
.gc-footer__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:48px}
.gc-footer__about p{margin:24px 0 0;font-size:15.5px;line-height:1.7;max-width:330px}
.gc-footer .gc-logo__name{color:var(--gc-footer-strong,#fff)}
.gc-footer .gc-logo__mark{width:44px;height:44px;box-shadow:none}
.gc-footer .gc-logo__tag{font-size:11px;letter-spacing:.34em;color:var(--gc-footer-accent,var(--gc-gold))}
.gc-footer__title{font-family:var(--gc-font-title);font-size:12px;font-weight:700;letter-spacing:.2em;color:var(--gc-footer-strong,#fff);margin-bottom:22px}
.gc-footer__links{display:flex;flex-direction:column;gap:12px;font-size:15.5px;list-style:none;margin:0;padding:0}
.gc-footer a{color:var(--gc-footer-ink,rgba(255,255,255,.7))}
.gc-footer a:hover{color:var(--gc-footer-accent,var(--gc-gold))}
.gc-footer__contact{display:flex;flex-direction:column;gap:18px;font-size:15.5px}
.gc-footer__ckey{font-family:var(--gc-font-title);font-size:10.5px;font-weight:700;letter-spacing:.18em;color:var(--gc-footer-accent,var(--gc-gold));margin-bottom:5px}
.gc-footer__cval,.gc-footer__contact a{color:var(--gc-footer-strong,#fff)}
.gc-footer__bottom{
  max-width:var(--gc-shell);margin:60px auto 0;
  padding:24px var(--gc-gutter);border-top:1px solid var(--gc-footer-line,rgba(255,255,255,.12));
  display:flex;justify-content:space-between;gap:24px;font-size:14px;flex-wrap:wrap;
}
.gc-footer__social{display:flex;gap:20px;font-family:var(--gc-font-title);font-size:11px;font-weight:700;letter-spacing:.14em;flex-wrap:wrap}

/* 4.23 Contenu éditorial (pages/articles standards) */
.gc-prose{max-width:840px;margin:0 auto;font-size:17px;line-height:1.75;color:var(--gc-text)}
.gc-prose h2{margin:44px 0 16px;font-size:clamp(24px,2.6vw,32px)}
.gc-prose h3{margin:32px 0 12px;font-size:21px}
.gc-prose p,.gc-prose ul,.gc-prose ol{margin:0 0 18px}
.gc-prose ul,.gc-prose ol{padding-left:22px}
.gc-prose li{margin-bottom:8px}
.gc-prose img{margin:24px 0}
.gc-prose blockquote{margin:24px 0;padding:18px 24px;border-left:3px solid var(--gc-gold);background:var(--gc-bg-alt)}
.gc-prose a{text-decoration:underline;text-underline-offset:3px}
.gc-prose table{width:100%;border-collapse:collapse;margin:24px 0}
.gc-prose th,.gc-prose td{border:1px solid var(--gc-line-strong);padding:10px 14px;text-align:left}
.gc-prose .wp-caption-text{font-size:14px;color:var(--gc-faint);text-align:center}
.alignleft{float:left;margin:0 24px 18px 0}
.alignright{float:right;margin:0 0 18px 24px}
.aligncenter{margin-left:auto;margin-right:auto}

/* Liste d'articles */
.gc-post{border-bottom:1px solid var(--gc-line);padding-bottom:28px;margin-bottom:28px}
.gc-post__meta{font-family:var(--gc-font-title);font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--gc-gold);text-transform:uppercase}
.gc-post h2{margin:10px 0 12px;font-size:24px}

/* Pagination */
.gc-pagination{display:flex;gap:8px;justify-content:center;margin-top:48px;flex-wrap:wrap}
.gc-pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.gc-pagination .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.gc-pagination .page-numbers{
  display:block;padding:12px 18px;border:1px solid var(--gc-line-strong);
  font-family:var(--gc-font-title);font-size:13px;font-weight:700;color:var(--gc-dark);
}
.gc-pagination .current,.gc-pagination .page-numbers:hover{background:var(--gc-gold);border-color:var(--gc-gold)}

/* ── 5. Page simulateur ──────────────────────────────────────────────── */
.gc-simu-intro{padding:56px 0 32px}
.gc-simu-intro .gc-lead{max-width:760px}

/* ── 6. Responsive ───────────────────────────────────────────────────── */
@media (max-width:1080px){
  .gc-rail{display:none}
  .gc-info:nth-child(3){display:none}
}

@media (max-width:900px){
  .gc-section{padding:70px 0}
  .gc-section--tight{padding:56px 0}
  .gc-grid--wide-gap{gap:40px}
  .gc-badge{right:0;bottom:-16px;padding:22px 24px}
  .gc-badge__value{font-size:32px}
  .gc-figure-shot img{height:360px}
  .gc-newsletter__inner{grid-template-columns:1fr;gap:34px;padding-top:52px;padding-bottom:52px}
  .gc-newsletter__motif::before{width:220px;height:220px;top:-120px;right:-70px}
  .gc-newsletter__motif::after{display:none}
}

@media (max-width:860px){
  .gc-burger{display:flex}
  .gc-navbar__inner{padding-top:10px;padding-bottom:10px}

  /*
   * Tiroir coulissant. L'ancienne version dépliait le menu sous la barre :
   * praticable pour cinq entrées, intenable dès qu'on y ajoute les gammes et
   * leurs catégories. Un panneau qui défile pour lui-même tient n'importe
   * quelle longueur.
   */
  .gc-nav{
    position:fixed;top:0;right:0;bottom:0;
    width:min(370px,88vw);
    display:block;
    padding:16px 22px 40px;
    background:var(--gc-tiroir-bg,var(--gc-navbar-bg,#fff));
    color:var(--gc-tiroir-ink,var(--gc-navbar-ink,var(--gc-dark)));
    box-shadow:-24px 0 60px rgba(38,32,25,.28);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    z-index:61;
    transform:translateX(100%);
    visibility:hidden;
    transition:transform .32s cubic-bezier(.22,.61,.36,1),visibility .32s;
  }
  .gc-nav.is-open{transform:none;visibility:visible}

  /*
   * Le tiroir démarre sous la barre d'administration quand elle est là.
   * Sans ça, ses premières entrées passent dessous et deviennent
   * inatteignables — ce que montrait la capture : le menu commençait à
   * « NOS SERVICES », « ACCUEIL » et « À PROPOS » étant masqués.
   */
  .admin-bar .gc-nav{top:46px}

  .gc-nav__fermer{
    display:flex;align-items:center;justify-content:center;
    width:44px;height:44px;margin:0 -10px 6px auto;
    background:none;border:0;cursor:pointer;color:var(--gc-tiroir-ink,var(--gc-navbar-ink,var(--gc-dark)));
  }
  .gc-nav__fermer svg{
    width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;
    stroke-linecap:round;
  }
  .gc-nav__fermer:hover{color:var(--gc-tiroir-accent,var(--gc-gold))}

  .gc-nav ul{flex-direction:column;align-items:stretch;gap:0;width:100%}
  .gc-nav li{display:block}
  .gc-nav a{
    padding:15px 0;border-bottom:1px solid var(--gc-tiroir-line,var(--gc-line-soft));
    font-size:13.5px;white-space:normal;
    color:var(--gc-tiroir-ink,var(--gc-navbar-ink,var(--gc-dark)));
  }
  .gc-nav a:hover{color:var(--gc-tiroir-accent,var(--gc-gold))}
  .gc-nav .current-menu-item>a,
  .gc-nav .current_page_item>a{color:var(--gc-tiroir-accent,var(--gc-gold));border-bottom-color:var(--gc-tiroir-line,var(--gc-line-soft))}

  /* Chaque famille porte son bouton : le lien reste cliquable à côté. */
  .gc-nav .menu-item-has-children{position:relative}
  .gc-nav .menu-item-has-children > a{padding-right:52px}
  .gc-nav__deplier{
    position:absolute;top:2px;right:0;
    width:46px;height:48px;
    display:flex;align-items:center;justify-content:center;
    background:none;border:0;cursor:pointer;color:var(--gc-tiroir-ink,var(--gc-navbar-ink,var(--gc-dark)));
  }
  .gc-nav__deplier svg{
    width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;
    stroke-linecap:round;stroke-linejoin:round;
    transition:transform var(--gc-ease);
  }
  .gc-nav .is-deplie > .gc-nav__deplier svg{transform:rotate(180deg)}

  /* Replié par défaut ; sans JavaScript le bouton n'existe pas et le
     sous-menu reste visible, donc rien n'est perdu. */
  .gc-nav .menu-item-has-children > ul{
    position:static;display:none;border:none;box-shadow:none;
    padding:0 0 6px 16px;min-width:0;background:none;
  }
  .gc-nav .is-deplie > ul{display:block}
  .gc-nav ul ul a{font-size:13px;padding:12px 0;color:var(--gc-tiroir-ink-soft,var(--gc-text))}
  .gc-nav ul ul a:hover{background:none;color:var(--gc-tiroir-accent,var(--gc-gold))}

  /* Les gammes, absentes de l'ordinateur, apparaissent ici. */
  .gc-nav__cats{display:block;margin-top:26px;padding-top:22px;border-top:2px solid var(--gc-tiroir-line,var(--gc-line-strong))}
  .gc-nav__catstitre{
    display:block;margin-bottom:8px;
    font-family:var(--gc-font-title);font-size:10.5px;font-weight:700;
    letter-spacing:.2em;color:var(--gc-tiroir-accent,var(--gc-gold-ink));
  }

  .gc-navvoile{
    position:fixed;inset:0;z-index:60;
    background:rgba(26,21,18,.55);
    animation:gc-fade .25s ease both;
  }

  .gc-navbar__actions{gap:6px}
  /* La recherche de l'en-tête seulement : celle du catalogue reste. */
  .gc-navbar__actions .gc-search{display:none}
  .gc-navbar__cta{padding:16px 18px;font-size:12px}
  .gc-infos{display:none}
  .gc-topbar__social a:not(:first-child){display:none}

  /* Bande des catégories : accès rapide aux familles, avec un dégradé à
     droite qui signale qu'elle défile. Le détail des catégories est dans
     le tiroir, où il est réellement manipulable. */
  .gc-catbar{position:relative}
  .gc-catbar::after{
    content:"";position:absolute;top:0;right:0;bottom:0;width:44px;
    background:linear-gradient(90deg,transparent,var(--gc-dark));
    pointer-events:none;
  }
  .gc-catbar__inner{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
  .gc-catbar__inner::-webkit-scrollbar{display:none}
  .gc-catbar ul{flex-wrap:nowrap}
  .gc-catbar ul ul{display:none !important}
  .gc-catbar .menu-item-has-children > a::after{display:none}
}

/* Page figée pendant que le tiroir est ouvert. */
body.gc-nav-ouvert{overflow:hidden}

@media (max-width:640px){
  .gc-section{padding:56px 0}
  .gc-hero--home{min-height:auto}
  .gc-hero--home .gc-hero__inner{padding-top:72px;padding-bottom:72px}
  .gc-hero__veil{background:linear-gradient(180deg,rgba(23,19,15,.86) 0%,rgba(23,19,15,.7) 100%)}
  .gc-hero__actions{gap:12px}
  .gc-btn{padding:16px 24px;font-size:12px;flex:1 1 auto}
  .gc-form__grid{grid-template-columns:1fr}
  .gc-grid--media{grid-template-columns:1fr}
  .gc-stat{border-right:none;border-bottom:1px solid var(--gc-line-soft);padding:30px 0}
  .gc-tile{padding:30px 24px}
  .gc-sechead{margin-bottom:32px;gap:20px}
  .gc-footer{padding-top:56px}
  .gc-footer__grid{gap:36px}
  .gc-footer__bottom{margin-top:40px}
  .gc-newsletter__carte{padding:20px 18px}
  .gc-newsletter__champ{display:block;padding:0}
  .gc-newsletter__ico{display:none}
  .gc-newsletter input[type=email]{width:100%;padding:17px 18px}
  .gc-newsletter button{width:100%;justify-content:center;padding:17px}
  .gc-newsletter__atouts{gap:8px 18px}
  .gc-decor__media{height:200px}
  .gc-spec{flex-direction:column;gap:6px}
  .gc-spec__v{text-align:left}
  .gc-figure-shot img{height:260px}

  /* Lecteur de brochures : une seule page à la fois sur mobile — deux pages
     côte à côte y seraient illisibles. */
  .gc-fb{padding:14px 12px 0}
  .gc-fb__stage{height:min(64vh,520px);min-height:280px;gap:0}
  .gc-fb__side--right{display:none !important}
  .gc-fb__side--left{max-width:100%;justify-content:center}
  .gc-fb__bar{gap:8px;padding:12px 0}
  .gc-fb__btn{width:40px;height:40px}
  .gc-fb__status{min-width:100%;order:3}
  .gc-modal__head{padding:16px 18px}
  .gc-modal__body{padding:18px 18px 22px}
  .gc-product__media img,.gc-product__media .gc-ph{height:320px}
  .gc-carousel__slide img{height:300px}
  .gc-carousel__nav{width:38px;height:38px}
  .gc-carousel__thumb{width:62px;height:48px}
  .gc-catalogues{padding:64px 0}
  .gc-catalogues__grid{grid-template-columns:1fr 1fr;gap:18px}
  .gc-cata__cover{transform:none}
}

/* ── 7. Préférences utilisateur ──────────────────────────────────────── */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;animation-iteration-count:1 !important;
    transition-duration:.01ms !important;scroll-behavior:auto !important;
  }
}

/* ── 8. Impression ───────────────────────────────────────────────────── */
@media print{
  .gc-topbar,.gc-navbar,.gc-catbar,.gc-rail,.gc-newsletter,.gc-footer__social,#gc-simu{display:none !important}
  body{color:#000;background:#fff}
  .gc-hero{background:none}
  .gc-hero__bg,.gc-hero__veil{display:none}
  .gc-hero h1,.gc-hero p{color:#000}
}

/* Lien « feuilleter » sur la vignette de brochure. */
.gc-brochure__read{
  display:block;margin-top:6px;
  font-family:var(--gc-font-title);font-size:10.5px;font-weight:700;
  letter-spacing:.14em;color:var(--gc-gold-ink);font-style:normal;
}

/* ── 9. Confort tactile sur mobile ───────────────────────────────────────
   Les liens de navigation et de pied de page sont des cibles de doigt :
   sous 860 px on leur donne une hauteur exploitable, sans changer le
   dessin de la page sur ordinateur. */
@media (max-width:860px){
  .gc-footer__links a,
  .gc-topbar__left a,
  .gc-topbar__social a,
  .gc-footer__social a,
  .gc-footer__contact a{
    display:inline-block;
    padding-top:7px;
    padding-bottom:7px;
  }
  .gc-footer__links{gap:4px}
  .gc-link-more,
  .gc-link-arrow{display:inline-block;padding-top:8px;padding-bottom:8px}
  .gc-decor__cta,
  .gc-univers__more{padding-top:4px}
  /* Un pouce ne vise pas 21 px : on élargit la zone cliquable des pastilles. */
  .gc-cat-chip{padding:16px 18px}
  .gc-chip{padding:14px 20px}
}

/* Mobiles : la largeur disponible borne la hauteur utile du logo. */
@media (max-width:640px){
  .gc-logo__img{height:min(var(--gc-logo-h,60px),72px)}
  .gc-logo--footer .gc-logo__img{height:min(var(--gc-logo-footer-h,56px),72px)}
}

/* Très petits écrans : on resserre les marges plutôt que de rogner le texte. */
@media (max-width:380px){
  :root{--gc-gutter:14px}
  .gc-btn{padding:15px 18px;font-size:11.5px;letter-spacing:.1em}
  .gc-navbar__cta{padding:14px 12px;font-size:11px;letter-spacing:.08em}
  .gc-logo__name{font-size:20px}
  .gc-logo__tag{font-size:11px;letter-spacing:.3em}
  .gc-logo__mark{width:42px;height:42px}
  /*
   * Sous 380 px, une hauteur de logo généreuse ne peut plus tenir en largeur :
   * l'image se retrouverait cerclée de vide. On plafonne donc la hauteur au
   * lieu de laisser la largeur brider. Un réglage plus petit que le plafond
   * est respecté tel quel — c'est un maximum, pas une valeur imposée.
   */
  .gc-logo__img{height:min(var(--gc-logo-h,60px),52px)}
  .gc-logo--footer .gc-logo__img{height:min(var(--gc-logo-footer-h,56px),52px)}
  .gc-stat__value{font-size:36px}
  .gc-newsletter h2{font-size:22px}
  .gc-hero__kicker span:last-child{font-size:11px;letter-spacing:.24em}
}

/* ── 10. Filtres en cascade du catalogue ─────────────────────────────────
   Deux niveaux empilés : la catégorie, puis les familles qu'elle contient.
   Le second niveau reste masqué tant qu'aucune catégorie n'est choisie. */
.gc-filtre{
  display:flex;align-items:center;gap:20px;flex-wrap:wrap;width:100%;
  padding:15px clamp(16px,2vw,26px);
}
.gc-filtre + .gc-filtre{border-top:1px solid var(--gc-line-soft)}
/* Variante d'une seule rangée : les puces à gauche, le compte à droite. */
.gc-filtre--duo .gc-count{margin-left:auto}
.gc-filtre__label{
  flex:none;
  min-width:92px;
  font-family:var(--gc-font-title);
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--gc-muted);
}
/* Le second niveau se distingue par sa taille, plus par un pointillé : la
   puce n'a plus de bordure au repos, le pointillé n'y paraissait plus. */
#gc-filtre-familles{background:linear-gradient(180deg,rgba(0,0,0,.012),transparent)}

@media (max-width:640px){
  .gc-filtres{margin:14px 0}
  .gc-filtre{align-items:flex-start;gap:10px;padding:14px 16px}
  .gc-filtre__label{min-width:0;width:100%}
  /* Les puces défilent au doigt plutôt que de s'empiler sur quatre lignes. */
  .gc-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:2px 16px}
  .gc-chips::-webkit-scrollbar{display:none}
  .gc-chip{white-space:nowrap}
  .gc-filtres__bas{padding:14px 16px;gap:12px}
  .gc-search--catalogue{flex:1 1 100%}
  .gc-count{width:100%;justify-content:flex-start}
  .gc-filtre{position:relative}
  .gc-filtre::after{
    content:"";position:absolute;top:0;right:0;bottom:0;width:34px;
    background:linear-gradient(90deg,rgba(255,255,255,0),#fff);
    pointer-events:none;
  }
}

/* ══════════════════════════════════════════════════════════════════════════
   11. Animations à l'apparition
   Un seul mécanisme pour tout le site : un attribut sur l'élément, une
   classe ajoutée quand il entre dans le champ. Le décalage se règle par
   la variable --gc-delay, ce qui évite un attribut par élément.
   ══════════════════════════════════════════════════════════════════════════ */
/* L'état masqué n'est posé que lorsque le script a pris la main (classe
   `gc-js` ajoutée par l'en-tête) : sans JavaScript, la classe `is-in` ne
   viendrait jamais et la page resterait blanche. */
.gc-js [data-gc-reveal]{
  opacity:0;
  transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1);
  transition-delay:var(--gc-delay,0ms);
  will-change:opacity,transform;
}
.gc-js [data-gc-reveal="up"]{transform:translateY(34px)}
.gc-js [data-gc-reveal="left"]{transform:translateX(44px)}
.gc-js [data-gc-reveal="right"]{transform:translateX(-44px)}
.gc-js [data-gc-reveal="zoom"]{transform:scale(.94)}
.gc-js [data-gc-reveal].is-in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  .gc-js [data-gc-reveal]{opacity:1 !important;transform:none !important;transition:none !important}
}

/* ══════════════════════════════════════════════════════════════════════════
   12. Page d'accueil
   ══════════════════════════════════════════════════════════════════════════ */

/* ── 12.1 Héros ─────────────────────────────────────────────────────── */
.gc-hero2{
  position:relative;
  display:flex;
  align-items:center;
  min-height:min(92vh,880px);
  padding:120px 0 96px;
  background:var(--gc-dark-hero);
  overflow:hidden;
}
.gc-hero2__bg{position:absolute;inset:0}
.gc-hero2__bg img{
  width:100%;height:100%;object-fit:cover;
  /* Zoom très lent : la scène respire sans distraire de la lecture. */
  animation:gc-kenburns 26s ease-out both;
}
@keyframes gc-kenburns{from{transform:scale(1.12)}to{transform:scale(1)}}

.gc-hero2__veil{
  position:absolute;inset:0;
  background:
    linear-gradient(105deg,rgba(8,17,32,.95) 0%,rgba(8,17,32,.82) 45%,rgba(8,17,32,.42) 100%),
    radial-gradient(900px 500px at 8% 20%,rgba(200,164,92,.22) 0%,transparent 70%);
}
.gc-hero2__inner{position:relative;z-index:2}

.gc-hero2__eyebrow{
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--gc-font-title);font-size:11.5px;font-weight:700;
  letter-spacing:.28em;text-transform:uppercase;color:var(--gc-gold);
  margin-bottom:26px;
}
.gc-hero2__tick{width:34px;height:2px;background:var(--gc-gold);display:block;flex:none}

.gc-hero2__title{
  font-family:var(--gc-font-title);
  font-weight:900;
  font-size:clamp(38px,5.6vw,80px);
  line-height:1.02;
  letter-spacing:-.02em;
  color:var(--gc-title-light,#fff);
  max-width:16ch;
  text-wrap:balance;
}
.gc-hero2__title .gc-gold{display:block}

.gc-hero2__lead{
  margin-top:26px;
  max-width:56ch;
  font-size:clamp(17px,1.5vw,20.5px);
  line-height:1.65;
  color:var(--gc-lead-ink-light,rgba(255,255,255,.8));
  text-wrap:pretty;
}
.gc-hero2__actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:38px}

/* Bandeau des quatre métiers, posé sous le discours. */
.gc-hero2__metiers{
  list-style:none;margin:64px 0 0;padding:0;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));
  gap:1px;background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.14);
}
.gc-hero2__metiers a{
  display:block;
  padding:22px 20px;
  background:rgba(23,19,15,.66);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  height:100%;
  transition:background var(--gc-ease),transform var(--gc-ease);
}
.gc-hero2__metiers a:hover{background:var(--gc-gold);transform:translateY(-4px)}
.gc-hero2__num{
  display:block;font-family:var(--gc-font-title);font-size:11px;font-weight:800;
  letter-spacing:.2em;color:var(--gc-gold);margin-bottom:10px;
}
.gc-hero2__metiers a:hover .gc-hero2__num{color:var(--gc-dark)}
.gc-hero2__metier{
  display:block;font-family:var(--gc-font-title);font-size:15px;font-weight:800;
  color:#fff;line-height:1.3;
}
.gc-hero2__metiers a:hover .gc-hero2__metier{color:var(--gc-dark)}
.gc-hero2__accroche{display:block;margin-top:6px;font-size:13.5px;color:rgba(255,255,255,.6)}
.gc-hero2__metiers a:hover .gc-hero2__accroche{color:rgba(38,32,25,.75)}

.gc-hero2__scroll{
  position:absolute;left:50%;bottom:26px;transform:translateX(-50%);
  width:26px;height:42px;border:1.5px solid rgba(255,255,255,.4);border-radius:14px;
  display:flex;justify-content:center;padding-top:8px;z-index:2;
}
.gc-hero2__scroll span{
  width:3px;height:8px;border-radius:2px;background:var(--gc-gold);display:block;
  animation:gc-scroll 1.9s ease-in-out infinite;
}
@keyframes gc-scroll{0%,100%{opacity:0;transform:translateY(0)}40%{opacity:1}70%{opacity:0;transform:translateY(12px)}}
@media (prefers-reduced-motion:reduce){
  .gc-hero2__bg img{animation:none}
  .gc-hero2__scroll span{animation:none;opacity:1}
}

/* ── 12.2 Nos services ──────────────────────────────────────────────── */
.gc-services{padding:110px 0;background:var(--gc-bg)}
.gc-services__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));
  gap:26px;
}
.gc-service{
  display:flex;flex-direction:column;
  background:#fff;
  border:1px solid var(--gc-line);
  overflow:hidden;
  transition:transform var(--gc-ease),box-shadow var(--gc-ease),border-color var(--gc-ease);
}
.gc-service:hover{
  transform:translateY(-8px);
  box-shadow:0 30px 60px -24px rgba(38,32,25,.32);
  border-color:var(--gc-gold);
}
.gc-service__media{position:relative;display:block;height:230px;overflow:hidden;background:var(--gc-dark)}
.gc-service__media img,
.gc-service__media .gc-ph{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .7s cubic-bezier(.22,.61,.36,1);
}
.gc-service:hover .gc-service__media img{transform:scale(1.07)}
.gc-service__num{
  position:absolute;left:0;bottom:0;
  padding:10px 16px;
  background:var(--gc-gold);color:var(--gc-dark);
  font-family:var(--gc-font-title);font-size:13px;font-weight:900;letter-spacing:.12em;
}
.gc-service__body{padding:28px 26px 32px;display:flex;flex-direction:column;flex:1}
.gc-service__accroche{
  font-family:var(--gc-font-title);font-size:11px;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;color:var(--gc-gold-ink);
}
.gc-service__title{margin:10px 0 0;font-size:21px;font-weight:800;letter-spacing:.01em;line-height:1.25}
.gc-service__title a{color:inherit;transition:color var(--gc-ease)}
.gc-service:hover .gc-service__title a{color:var(--gc-wood)}
.gc-service__text{margin-top:12px;font-size:15.5px;line-height:1.65;color:var(--gc-muted)}
.gc-service__points{
  list-style:none;margin:20px 0 0;padding:0;
  display:flex;flex-direction:column;gap:9px;
}
.gc-service__points li{
  position:relative;padding-left:20px;
  font-size:14.5px;color:var(--gc-text);
}
.gc-service__points li::before{
  content:"";position:absolute;left:0;top:8px;
  width:7px;height:7px;background:var(--gc-gold);transform:rotate(45deg);
}
/*
 * Les deux issues de la carte. Côte à côte quand la largeur le permet,
 * empilées sinon — d'où l'alignement à gauche plutôt qu'un `space-between`
 * qui les jetterait aux deux bords une fois passés à la ligne.
 */
.gc-service__actions{
  display:flex;align-items:center;
  column-gap:18px;row-gap:14px;flex-wrap:wrap;
  margin-top:auto;padding-top:24px;
}
/* Dans le duo, l'espacement est porté par le conteneur. */
.gc-service__actions .gc-service__cta{margin-top:0;padding-top:0}
.gc-service__cta{
  display:inline-flex;align-items:center;gap:9px;margin-top:auto;padding-top:22px;
  font-family:var(--gc-font-title);font-size:12px;font-weight:800;
  letter-spacing:.14em;text-transform:uppercase;color:var(--gc-dark);
}
.gc-service__cta svg{
  width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;
  transition:transform var(--gc-ease);
}
.gc-service:hover .gc-service__cta{color:var(--gc-gold)}
.gc-service:hover .gc-service__cta svg{transform:translateX(5px)}

/* ── 12.3 Méthode ───────────────────────────────────────────────────── */
.gc-process{
  padding:110px 0;
  background:
    radial-gradient(720px 380px at 88% 0%,rgba(138,100,64,.10) 0%,transparent 66%),
    var(--gc-cream);
}
.gc-process .gc-eyebrow{margin-bottom:16px}
.gc-process__list{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));
  gap:0;
}
.gc-process__step{
  position:relative;
  padding:0 28px 0 0;
  border-top:2px solid rgba(138,100,64,.28);
  padding-top:28px;
}
/* Pastille sur la ligne de progression. */
.gc-process__step::before{
  content:"";position:absolute;top:-7px;left:0;
  width:12px;height:12px;background:var(--gc-gold);transform:rotate(45deg);
}
.gc-process__num{
  /* Le numéro reste doré : c'est le fil conducteur du site. */
  display:block;font-family:var(--gc-font-title);font-size:12px;font-weight:800;
  letter-spacing:.2em;color:var(--gc-gold-ink);margin-bottom:12px;
}
.gc-process__title{font-size:19px;font-weight:800;color:var(--gc-dark);line-height:1.3}
.gc-process__text{margin-top:10px;font-size:15px;line-height:1.7;color:var(--gc-muted)}

/* ── 12.4 Réalisations ──────────────────────────────────────────────── */
.gc-reals{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));
  gap:22px;
}
.gc-real{
  position:relative;display:block;overflow:hidden;
  background:var(--gc-dark);
  aspect-ratio:4/3;
  transition:transform var(--gc-ease),box-shadow var(--gc-ease);
}
.gc-real:hover{transform:translateY(-6px);box-shadow:0 30px 60px -24px rgba(38,32,25,.45)}
.gc-real.is-hidden{display:none}
.gc-real__media{position:absolute;inset:0;display:block}
.gc-real__media img,
.gc-real__media .gc-ph{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .8s cubic-bezier(.22,.61,.36,1);
}
.gc-real:hover .gc-real__media img{transform:scale(1.08)}
.gc-real__veil{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(23,19,15,0) 32%,rgba(23,19,15,.55) 62%,rgba(23,19,15,.92) 100%);
  transition:background var(--gc-ease);
}
.gc-real:hover .gc-real__veil{background:linear-gradient(180deg,rgba(23,19,15,.15) 0%,rgba(23,19,15,.72) 58%,rgba(23,19,15,.96) 100%)}

.gc-real__body{
  position:absolute;left:0;right:0;bottom:0;
  display:block;padding:24px 24px 26px;
}
.gc-real__metier{
  display:inline-block;margin-bottom:10px;padding:5px 11px;
  background:var(--gc-gold);color:var(--gc-dark);
  font-family:var(--gc-font-title);font-size:10px;font-weight:800;
  letter-spacing:.14em;text-transform:uppercase;
}
.gc-real__title{
  display:block;font-family:var(--gc-font-title);font-size:19px;font-weight:800;
  color:#fff;line-height:1.3;
}
.gc-real__meta{display:block;margin-top:7px;font-size:13.5px;color:rgba(255,255,255,.66)}
.gc-real__go{
  position:absolute;right:22px;bottom:26px;
  width:38px;height:38px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.12);
  opacity:0;transform:translateX(-8px);
  transition:opacity var(--gc-ease),transform var(--gc-ease),background var(--gc-ease);
}
.gc-real__go svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.gc-real:hover .gc-real__go{opacity:1;transform:none;background:var(--gc-gold)}
.gc-real:hover .gc-real__go svg{stroke:var(--gc-dark)}

/* Première tuile mise en avant sur grand écran : le portfolio respire. */
@media (min-width:1100px){
  .gc-reals{grid-template-columns:repeat(3,1fr)}
  .gc-reals > .gc-real:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
  .gc-reals > .gc-real:first-child .gc-real__title{font-size:26px}
}

/* ── 12.5 Chiffres animés ───────────────────────────────────────────── */
.gc-figures2{padding:76px 0;background:var(--gc-bg-alt);border-top:1px solid var(--gc-line);border-bottom:1px solid var(--gc-line)}
.gc-figures2__grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));
  gap:32px;
}
.gc-figure2{text-align:center}
.gc-figure2__value{
  display:block;
  font-family:var(--gc-font-title);font-weight:900;
  font-size:clamp(38px,4.4vw,58px);
  line-height:1;color:var(--gc-dark);
  font-variant-numeric:tabular-nums;
}
.gc-figure2__label{
  display:block;margin-top:12px;
  font-family:var(--gc-font-title);font-size:11.5px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gc-gold-ink);
}

/* ── 12.6 Bandeau simulateur ────────────────────────────────────────── */
.gc-simu-band{
  padding:100px 0;
  background:linear-gradient(120deg,var(--gc-dark-deep) 0%,var(--gc-dark) 55%,#3a3128 100%);
  overflow:hidden;
}
.gc-simu-band__inner{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));
  gap:56px;align-items:center;
}
.gc-simu-band__visual{
  position:relative;height:300px;
  display:flex;align-items:center;justify-content:center;
}
.gc-simu-band__grid{
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:38px 38px;
  mask-image:radial-gradient(circle at 50% 50%,#000 35%,transparent 72%);
  -webkit-mask-image:radial-gradient(circle at 50% 50%,#000 35%,transparent 72%);
}
/* Volume filaire en rotation lente : évoque la 3D sans charger d'image. */
.gc-simu-band__cube{
  position:relative;width:132px;height:132px;
  border:2px solid var(--gc-gold);
  transform:rotate(45deg) skewY(-12deg);
  animation:gc-cube 9s ease-in-out infinite;
  box-shadow:0 0 60px rgba(200,164,92,.34);
}
.gc-simu-band__cube::before,
.gc-simu-band__cube::after{
  content:"";position:absolute;inset:16px;border:1px solid rgba(200,164,92,.5);
}
.gc-simu-band__cube::after{inset:34px;border-color:rgba(200,164,92,.3)}
@keyframes gc-cube{
  0%,100%{transform:rotate(45deg) skewY(-12deg) translateY(0)}
  50%{transform:rotate(45deg) skewY(-12deg) translateY(-18px)}
}
@media (prefers-reduced-motion:reduce){
  .gc-simu-band__cube{animation:none}
}

/* ── 12.7 Responsive de la page d'accueil ───────────────────────────── */
@media (max-width:900px){
  .gc-hero2{min-height:auto;padding:88px 0 72px}
  .gc-hero2__metiers{margin-top:44px}
  .gc-hero2__scroll{display:none}
  .gc-services,.gc-process,.gc-simu-band{padding:72px 0}
  .gc-process__step{padding-right:0;padding-bottom:26px}
  .gc-simu-band__visual{height:220px}
}

@media (max-width:640px){
  .gc-hero2{padding:64px 0 56px}
  .gc-hero2__title{font-size:clamp(30px,8.5vw,42px)}
  .gc-hero2__lead{font-size:16px}
  .gc-hero2__metiers a{padding:16px 16px}
  .gc-services,.gc-process,.gc-figures2,.gc-simu-band{padding:56px 0}
  .gc-service__media{height:190px}
  .gc-service__body{padding:22px 20px 26px}
  .gc-reals{gap:14px}
  .gc-real{aspect-ratio:3/2}
  .gc-real__body{padding:18px}
  .gc-real__title{font-size:16.5px}
  .gc-real__go{display:none}
  .gc-figures2__grid{gap:24px}
  .gc-simu-band__inner{gap:36px}
}

/* ── 12.8 Fiche réalisation ─────────────────────────────────────────── */
.gc-real-infos{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));
  gap:1px;background:var(--gc-line);border:1px solid var(--gc-line);margin-top:28px;
}
.gc-real-infos__item{background:#fff;padding:20px 22px}
.gc-real-infos__k{
  display:block;font-family:var(--gc-font-title);font-size:10.5px;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;color:var(--gc-gold-ink);margin-bottom:7px;
}
.gc-real-infos__v{display:block;font-family:var(--gc-font-title);font-size:16px;font-weight:700;color:var(--gc-dark)}

/* ── 12.9 Bandeau « les références » des quatre pages univers ────────── */
.gc-univers-band{
  padding:86px 0;
  background:
    radial-gradient(720px 360px at 85% 0%,rgba(138,100,64,.09) 0%,transparent 66%),
    var(--gc-cream);
  border-top:1px solid var(--gc-line);
  border-bottom:1px solid var(--gc-line);
}
.gc-univers-band .gc-sechead{margin-bottom:0}
.gc-univers-band .gc-cats-grid{margin-top:38px}

@media (max-width:640px){
  .gc-univers-band{padding:58px 0}
}

/* ── 12.10 Bloc détaillé d'un univers (page « Nos services ») ────────── */
.gc-ubloc{padding:104px 0;background:var(--gc-bg);border-top:1px solid var(--gc-line-soft)}
.gc-ubloc--alt{
  background:
    radial-gradient(760px 380px at 88% 0%,rgba(138,100,64,.08) 0%,transparent 66%),
    var(--gc-bg-alt);
}
.gc-ubloc__actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px}

.gc-ubloc__visuels{margin-top:8px}
/* Hauteur des vues pilotée par le gabarit, pour garder de grandes images
   sur écran large sans écraser la page sur mobile. */
.gc-ubloc__visuels .gc-carousel__slide img,
.gc-ubloc__visuels .gc-carousel__viewport > img,
.gc-ubloc__visuels .gc-carousel__viewport > .gc-ph{
  height:var(--gc-slide-h,480px);
  width:100%;object-fit:cover;display:block;
}

.gc-ubloc__atelier{margin-top:64px}
.gc-ubloc__ateliertete{margin-bottom:38px}
.gc-ubloc__atelier .gc-process__list{gap:0 28px}

.gc-ubloc__gammes{margin-top:58px}
.gc-ubloc__gammes .gc-eyebrow{margin-bottom:20px}

@media (max-width:860px){
  .gc-ubloc{padding:70px 0}
  .gc-ubloc__actions{flex-direction:row;flex-wrap:wrap;align-items:center}
  .gc-ubloc__atelier{margin-top:46px}
  .gc-ubloc__gammes{margin-top:42px}
}

/* ── 12.11 Bouton flottant WhatsApp ──────────────────────────────────── */
.gc-wa{
  position:fixed;right:24px;bottom:24px;z-index:900;
  display:flex;align-items:center;justify-content:center;
  width:64px;height:64px;border-radius:50%;
  background:#25d366;color:#fff;
  box-shadow:0 12px 28px -8px rgba(37,211,102,.7),0 4px 12px rgba(38,32,25,.28);
  transition:transform var(--gc-ease),box-shadow var(--gc-ease);
}
.gc-wa--gauche{right:auto;left:22px}
.gc-wa:hover,.gc-wa:focus-visible{transform:scale(1.08);color:#fff}
.gc-wa:focus-visible{outline:3px solid #fff;outline-offset:3px}
.gc-wa__ico{position:relative;width:36px;height:36px;fill:currentColor;display:block}

/* Halo qui pulse doucement : attire l'œil sans clignoter. */
.gc-wa__halo{
  position:absolute;inset:0;border-radius:50%;
  background:#25d366;opacity:.55;
  animation:gc-wa-pulse 2.4s cubic-bezier(.22,.61,.36,1) infinite;
}
@keyframes gc-wa-pulse{
  0%   {transform:scale(1);opacity:.55}
  70%  {transform:scale(1.7);opacity:0}
  100% {transform:scale(1.7);opacity:0}
}

/* Réservé au mobile quand le réglage le demande. */
@media (min-width:861px){
  .gc-wa--mobile{display:none}
}

@media (max-width:640px){
  .gc-wa{width:58px;height:58px;right:16px;bottom:16px}
  .gc-wa--gauche{right:auto;left:16px}
  .gc-wa__ico{width:33px;height:33px}
}

/* Le halo s'arrête pour qui a demandé moins d'animations ; le bouton reste. */
@media (prefers-reduced-motion:reduce){
  .gc-wa__halo{animation:none;opacity:0}
}

/* Inutile à l'impression. */
@media print{
  .gc-wa{display:none}
}

/* ── 12.12 Case de consentement des formulaires ──────────────────────── */
.gc-form__consent{
  display:flex;align-items:flex-start;gap:12px;
  margin:6px 0 20px;
  font-size:14px;line-height:1.6;color:var(--gc-muted);cursor:pointer;
}
.gc-form__consent input{
  flex:none;width:18px;height:18px;margin-top:2px;
  accent-color:var(--gc-gold);cursor:pointer;
}
.gc-form__consent:hover span{color:var(--gc-text)}

/* ── 12.13 Plan pleine largeur ────────────────────────────────────────── */
.gc-mapfull{
  position:relative;
  display:block;
  width:100%;
  height:clamp(320px,46vh,520px);
  background:var(--gc-bg-alt);
  border-top:1px solid var(--gc-line);
  overflow:hidden;
}
.gc-mapfull__frame{
  display:block;width:100%;height:100%;border:0;
  /* Le plan de Google est très clair : on le pose dans la teinte du site. */
  filter:saturate(.88) contrast(1.02);
}

/* Encart posé sur le plan, décalé pour ne pas masquer le repère. */
.gc-mapfull__carte{
  position:absolute;top:50%;left:var(--gc-gutter);transform:translateY(-50%);
  display:flex;flex-direction:column;align-items:flex-start;gap:12px;
  max-width:min(340px,calc(100% - var(--gc-gutter) * 2));
  padding:26px 28px;
  background:var(--gc-dark);
  box-shadow:var(--gc-shadow-card);
}
.gc-mapfull__label{
  font-family:var(--gc-font-title);font-size:10.5px;font-weight:700;
  letter-spacing:.2em;color:var(--gc-gold);text-transform:uppercase;
}
.gc-mapfull__lieu{
  font-family:var(--gc-font-title);font-size:17px;font-weight:800;
  line-height:1.35;color:#fff;
}

@media (max-width:860px){
  .gc-mapfull{height:auto}
  .gc-mapfull__frame{height:clamp(260px,52vw,360px)}
  /* Sous l'encart flottant, le plan se réduirait trop : on empile. */
  .gc-mapfull__carte{
    position:static;transform:none;
    max-width:none;width:100%;
    align-items:flex-start;
  }
}

/* Le plan n'a aucun sens sur papier. */
@media print{
  .gc-mapfull{display:none}
}

/* ══════════════════════════════════════════════════════════════════════
   13. En-tête sur mobile — compacité
   Placé en fin de feuille à dessein : ces règles doivent passer après
   celles qui élargissent les zones tactiles, sinon elles sont annulées.
   ══════════════════════════════════════════════════════════════════════ */
@media (max-width:860px){

  /* Barre du haut : le téléphone, qui s'appelle d'un doigt, et la langue.
     Adresse, e-mail et réseaux tenaient sur trois lignes — l'en-tête
     occupait un tiers de l'écran avant la moindre ligne de contenu. */
  .gc-topbar__inner{min-height:34px;gap:12px;flex-wrap:nowrap;padding-top:2px;padding-bottom:2px}
  .gc-topbar__left{gap:14px;min-width:0}
  .gc-topbar__place{display:none}
  .gc-topbar__left a[href^="mailto"]{display:none}
  .gc-topbar__social a{display:none}
  .gc-topbar__sep{display:none}
  .gc-topbar__left a{padding:0;font-size:12.5px}

  /*
   * Une seule bande : logo à gauche, bouton du menu à droite. La barre de
   * navigation en dessous ne portait plus rien de visible — le menu est un
   * tiroir, le devis et la recherche sont masqués — elle ne servait donc
   * qu'à occuper 61 px.
   */
  .gc-identity{position:sticky;top:0;z-index:40;box-shadow:0 8px 24px rgba(38,32,25,.06)}
  .gc-identity__inner{padding-top:10px;padding-bottom:10px;gap:16px}
  .gc-navbar{border-bottom:0;box-shadow:none}
  .gc-navbar__inner{padding-top:0;padding-bottom:0}
  .gc-navbar__actions{display:none}
  .gc-navbar__cta{padding:13px 16px;font-size:11.5px}

  /* La bande des catégories disparaît : tout ce qu'elle contient est dans
     le tiroir, avec ses sous-catégories — ce que la bande ne savait pas
     faire. La garder coûtait 55 px et un défilement horizontal muet. */
  .gc-catbar{display:none}

  /* La barre du haut disparaît entièrement : téléphone et e-mail sont au
     pied du tiroir, à une portée de pouce sans occuper l'écran. */
  .gc-topbar{display:none}

  /* Le devis cède la place à WhatsApp : écrire un message se fait d'un
     doigt, remplir un formulaire au pouce beaucoup moins. */
  .gc-navbar__cta{display:none}
}

/* ── 13.2 Pied du tiroir : coordonnées et réseaux ────────────────────── */
.gc-nav__pied{display:none}

@media (max-width:860px){
  .gc-nav__pied{
    display:block;
    margin-top:28px;padding-top:22px;
    border-top:2px solid var(--gc-tiroir-line,var(--gc-line-strong));
  }
  .gc-nav__tel{
    display:block;
    font-family:var(--gc-font-title);font-size:18px;font-weight:800;
    color:var(--gc-tiroir-ink,var(--gc-dark));border:0;padding:0 0 4px;
  }
  .gc-nav__mail{
    display:block;font-size:14px;color:var(--gc-tiroir-ink-soft,var(--gc-muted));
    border:0;padding:0 0 18px;word-break:break-word;
  }
  .gc-nav__tel:hover,.gc-nav__mail:hover{color:var(--gc-tiroir-accent,var(--gc-gold))}

  .gc-nav__reseaux{display:flex;gap:14px;flex-wrap:wrap}

  /*
   * Pastilles rondes aux couleurs de chaque marque : on les reconnaît sans
   * lire. Le pictogramme blanc y atteint 4,2 pour Facebook, 5,1 pour
   * Instagram et 5,7 pour LinkedIn — au-dessus du seuil de 3 exigé pour un
   * élément graphique.
   */
  .gc-nav a.gc-nav__reseau{
    display:flex;align-items:center;justify-content:center;
    width:50px;height:50px;padding:0;border:0;border-radius:50%;
    color:#fff;background:var(--gc-dark);
    box-shadow:0 6px 16px -6px rgba(38,32,25,.5);
    transition:transform var(--gc-ease),box-shadow var(--gc-ease),filter var(--gc-ease);
  }
  .gc-nav a.gc-nav__reseau svg{width:22px;height:22px;fill:currentColor}
  .gc-nav a.gc-nav__reseau:hover,
  .gc-nav a.gc-nav__reseau:focus-visible{
    transform:translateY(-3px);
    box-shadow:0 12px 22px -8px rgba(38,32,25,.55);
    filter:saturate(1.15);
    color:#fff;
  }
  .gc-nav a.gc-nav__reseau--facebook{background:#1877f2}
  .gc-nav a.gc-nav__reseau--linkedin{background:#0a66c2}
  /* Rouge du repère Google Maps : 3,9 de contraste avec le blanc. */
  .gc-nav a.gc-nav__reseau--maps{background:#ea4335}
  /* Le dégradé officiel d'Instagram, du jaune au violet. */
  .gc-nav a.gc-nav__reseau--instagram{
    background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fd5949 45%,#d6249f 60%,#285aeb 90%);
  }
}

/* Quatre pastilles sur une seule ligne, jusque sur les écrans les plus
   étroits : à 320 px il ne manquait que quatre pixels. */
@media (max-width:360px){
  .gc-nav .gc-nav__reseaux{gap:12px}
  .gc-nav a.gc-nav__reseau{width:48px;height:48px}
  .gc-nav a.gc-nav__reseau svg{width:21px;height:21px}
}

/* ── 13.3 Champs supplémentaires des formulaires ─────────────────────── */
.gc-form__sup{margin-bottom:16px}
.gc-form__suplabel{
  display:block;margin-bottom:6px;
  font-family:var(--gc-font-title);font-size:11px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gc-gold-ink);
}
.gc-form__sup select{
  width:100%;padding:16px 18px;
  border:1px solid var(--gc-line-strong);background:var(--gc-bg-field);
  font-family:var(--gc-font-body);font-size:15px;color:var(--gc-ink);
}
.gc-form__sup select:focus{outline:2px solid var(--gc-gold);outline-offset:-2px}

/* ── 13.4 Sections libres ────────────────────────────────────────────── */
/* Les blocs que l'on écrit soi-même reprennent le dessin des sections
   dessinées à la main : même largeur de texte, même rythme vertical.
   Le défaut corrigé ici : .gc-prose est centré dans sa colonne, ce qui
   décalait le texte vers la droite alors que le titre reste à gauche. */
.gc-libre .gc-prose{max-width:820px;margin-left:0;margin-right:0}
.gc-libre__titre{max-width:800px}
.gc-libre__texte{margin-top:22px}
.gc-libre__lead{margin-top:18px;max-width:720px}
.gc-libre__tete{margin-bottom:44px}
.gc-libre__tete .gc-libre__lead{max-width:480px;margin:0}
.gc-libre__grille{margin-top:42px}
.gc-libre--blocs .gc-libre__grille,
.gc-libre--points .gc-libre__points,
.gc-libre--chiffres .gc-libre__chiffres{margin-top:0}
.gc-libre__points{margin-top:28px}
.gc-libre__chiffres{margin-top:30px;gap:36px}
.gc-libre__btn{margin-top:30px}
.gc-libre__img{width:100%;height:460px;object-fit:cover;display:block;box-shadow:var(--gc-shadow-card)}

/* Fond sombre : le texte et les repères passent en clair. */
.gc-libre--sombre .gc-h2{color:var(--gc-title-light,#fff)}
.gc-libre--sombre .gc-prose{color:rgba(255,255,255,.82)}
.gc-libre--sombre .gc-lead{color:var(--gc-lead-ink-light,rgba(255,255,255,.78))}
.gc-libre--sombre .gc-proof{background:rgba(255,255,255,.08)}
.gc-libre--sombre .gc-proof span{color:#fff}
.gc-libre--sombre .gc-figure__value,
.gc-libre--sombre .gc-figure2__value{color:#fff}
.gc-libre--sombre .gc-figure__label,
.gc-libre--sombre .gc-figure2__label{color:var(--gc-gold)}
.gc-libre--sombre .gc-split{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.16)}
.gc-libre--sombre .gc-tile{background:var(--gc-dark)}
.gc-libre--sombre .gc-tile:hover{background:var(--gc-dark-card)}
.gc-libre--sombre .gc-tile__num{color:var(--gc-gold)}
.gc-libre--sombre .gc-tile__title{color:#fff}
.gc-libre--sombre .gc-tile__text{color:rgba(255,255,255,.74)}

/* Sur fond crème les cartes blanches ressortent seules ; sur fond blanc
   elles se confondraient, on leur rend donc leur filet. */
.gc-libre:not(.gc-section--alt):not(.gc-section--dark) .gc-tile{border:1px solid var(--gc-line)}

@media (max-width:900px){
  .gc-libre__img{height:320px}
}

/* ── 13.5 Fiche produit ──────────────────────────────────────────────── */
/* Le titre vit dans la colonne d'informations, pas dans une bannière qui le
   répéterait : l'écran d'arrivée montre d'un coup la photo, le nom, la
   référence et les deux boutons. */
.gc-fiche{padding:26px 0 84px}
.gc-fiche__fil{margin-bottom:26px}

.gc-fiche__grille{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(28px,4vw,64px);
  align-items:start;
}

/* La galerie reste sous les yeux pendant qu'on parcourt les informations. */
.gc-fiche__media{position:sticky;top:24px}

.gc-fiche__famille{
  display:inline-block;margin-bottom:16px;padding:7px 14px;
  background:var(--gc-bg-alt);border:1px solid var(--gc-line);
  font-family:var(--gc-font-title);font-size:10.5px;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;color:var(--gc-gold-ink);
  transition:background var(--gc-ease),border-color var(--gc-ease);
}
.gc-fiche__famille:hover{background:#fff;border-color:var(--gc-gold)}

.gc-fiche__titre{
  font-family:var(--gc-font-title);font-weight:900;
  font-size:clamp(28px,3.4vw,44px);line-height:1.06;
  color:var(--gc-title,var(--gc-ink));text-wrap:balance;margin:0;
}

.gc-fiche__ref{
  display:flex;align-items:baseline;gap:10px;margin:14px 0 0;
  font-family:var(--gc-font-title);font-size:11px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gc-muted);
}
.gc-fiche__ref strong{
  font-size:14px;letter-spacing:.08em;color:var(--gc-dark);
  padding:4px 10px;background:var(--gc-bg-alt);border:1px solid var(--gc-line);
}

.gc-fiche__lead{margin:22px 0 0;max-width:52ch}

/* Les trois premières caractéristiques, en avant : ce qu'on regarde d'abord
   sur une pièce technique. */
.gc-fiche__cles{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));
  gap:1px;margin-top:28px;
  background:var(--gc-line);border:1px solid var(--gc-line);
}
.gc-fiche__cle{background:#fff;padding:16px 18px;display:flex;flex-direction:column;gap:6px}
.gc-fiche__cle-k{
  font-family:var(--gc-font-title);font-size:10px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gc-muted);
}
.gc-fiche__cle-v{
  font-family:var(--gc-font-title);font-size:17px;font-weight:800;
  color:var(--gc-dark);line-height:1.2;
}

.gc-fiche__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.gc-fiche__actions .gc-btn{flex:1 1 auto;justify-content:center}

/* Le bouton WhatsApp porte la couleur de la marque : on sait où l'on va
   avant de cliquer. */
.gc-btn--wa{background:#25d366;color:#0b3d20;gap:10px}
.gc-btn--wa:hover,.gc-btn--wa:focus-visible{background:#1eb457;color:#062c16}
.gc-btn--wa svg{width:19px;height:19px;fill:currentColor;flex:none}

.gc-fiche__tel{
  display:inline-flex;align-items:center;gap:9px;margin-top:18px;
  font-family:var(--gc-font-title);font-size:14px;font-weight:800;
  letter-spacing:.06em;color:var(--gc-dark);
}
.gc-fiche__tel svg{width:16px;height:16px;fill:currentColor;flex:none;color:var(--gc-gold-ink)}
.gc-fiche__tel:hover{color:var(--gc-gold-ink)}

.gc-fiche__points{
  list-style:none;margin:26px 0 0;padding:22px 0 0;
  border-top:1px solid var(--gc-line-soft);
  display:flex;flex-direction:column;gap:11px;
}
.gc-fiche__points li{
  display:flex;align-items:flex-start;gap:11px;
  font-size:14.5px;color:var(--gc-text);
}
.gc-fiche__points li::before{
  content:"";flex:none;margin-top:6px;
  width:7px;height:7px;background:var(--gc-gold);transform:rotate(45deg);
}

/* --- Onglets --- */
.gc-onglets{padding-top:0}
.gc-tabs{
  display:flex;gap:2px;flex-wrap:wrap;
  border-bottom:1px solid var(--gc-line-strong);
}
.gc-tab{
  position:relative;bottom:-1px;
  padding:16px 26px;cursor:pointer;border:0;background:transparent;
  font-family:var(--gc-font-title);font-size:12.5px;font-weight:800;
  letter-spacing:.13em;text-transform:uppercase;color:var(--gc-muted);
  border-bottom:3px solid transparent;
  transition:color var(--gc-ease),border-color var(--gc-ease),background var(--gc-ease);
}
.gc-tab:hover{color:var(--gc-dark);background:rgba(255,255,255,.6)}
.gc-tab:focus-visible{outline:2px solid var(--gc-gold);outline-offset:-4px}
.gc-tab.is-on{color:var(--gc-dark);border-bottom-color:var(--gc-gold);background:#fff}

.gc-panneau{padding:34px 0 0;outline:none}
.gc-panneau__prose{max-width:820px;margin-left:0}
.gc-panneau__ident{margin-top:30px;max-width:640px}

/* La galerie de la fiche : cadre net, vignettes alignées dessous. */
.gc-fiche__media .gc-carousel__viewport,
.gc-fiche__media .gc-product__media{
  border:1px solid var(--gc-line);
  background:var(--gc-bg-alt);
}
.gc-fiche__media .gc-carousel__thumbs{margin-top:12px}

@media (max-width:980px){
  .gc-fiche{padding:20px 0 64px}
  .gc-fiche__grille{grid-template-columns:1fr;gap:32px}
  .gc-fiche__media{position:static}
  .gc-fiche__actions .gc-btn{flex:1 1 100%}
  .gc-tab{padding:14px 18px;font-size:11.5px;letter-spacing:.1em}
  .gc-panneau{padding-top:26px}
}

/* ── 13.6 Questionnaire, sondage, carrousel de produits ──────────────── */

/* --- Questionnaire --- */
.gc-quest{margin-top:30px;max-width:820px}
.gc-quest__intro{margin:0 0 26px}
.gc-quest__champs{display:flex;flex-direction:column;gap:22px}

.gc-quest__label,
.gc-quest__groupe legend{
  display:block;margin-bottom:9px;
  font-family:var(--gc-font-title);font-size:11px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gc-gold-ink);
}
.gc-quest__groupe{border:0;margin:0;padding:0}

.gc-quest input[type="text"],
.gc-quest input[type="email"],
.gc-quest input[type="tel"],
.gc-quest input[type="number"],
.gc-quest input[type="date"],
.gc-quest textarea{
  width:100%;padding:15px 18px;
  border:1px solid var(--gc-line-strong);background:var(--gc-bg-field);
  font-family:var(--gc-font-body);font-size:15.5px;color:var(--gc-ink);
  transition:border-color var(--gc-ease),box-shadow var(--gc-ease);
}
.gc-quest input:focus,.gc-quest textarea:focus{
  outline:none;border-color:var(--gc-gold);
  box-shadow:0 0 0 3px rgba(200,164,92,.18);
}
.gc-quest textarea{resize:vertical;min-height:110px}

/* Les choix sont des pastilles cliquables : la case ronde des navigateurs
   est trop discrète pour une question qu'on veut voir répondue. */
.gc-quest__choix,.gc-quest__notes{display:flex;gap:8px;flex-wrap:wrap}
.gc-quest__opt,.gc-quest__note{
  position:relative;cursor:pointer;
  display:inline-flex;align-items:center;
  border:1px solid var(--gc-line-strong);background:#fff;
  transition:background var(--gc-ease),border-color var(--gc-ease),color var(--gc-ease);
}
.gc-quest__opt span,.gc-quest__note span{
  padding:12px 20px;
  font-family:var(--gc-font-title);font-size:12.5px;font-weight:700;
  letter-spacing:.07em;color:var(--gc-text);
}
.gc-quest__note span{min-width:52px;justify-content:center;text-align:center;font-size:15px}
.gc-quest__opt input,.gc-quest__note input{
  position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;
}
.gc-quest__opt:hover,.gc-quest__note:hover{border-color:var(--gc-gold)}
.gc-quest__opt:has(input:checked),
.gc-quest__note:has(input:checked){background:var(--gc-gold);border-color:var(--gc-gold)}
.gc-quest__opt:has(input:checked) span,
.gc-quest__note:has(input:checked) span{color:var(--gc-dark)}
.gc-quest__opt:has(input:focus-visible),
.gc-quest__note:has(input:focus-visible){outline:2px solid var(--gc-gold);outline-offset:2px}

/* La phrase qui explique une question, juste sous son champ. */
.gc-quest__aide,.gc-form__supaide{
  display:block;margin-top:7px;
  font-size:13.5px;line-height:1.5;color:var(--gc-muted);
}
.gc-libre--sombre .gc-quest__aide{color:rgba(255,255,255,.62)}
.gc-quest__envoi{margin-top:28px}
.gc-quest .gc-form__note{margin-top:16px;font-size:13.5px;color:var(--gc-faint)}
.gc-libre--sombre .gc-quest .gc-form__note{color:rgba(255,255,255,.6)}
.gc-libre--sombre .gc-quest__label,
.gc-libre--sombre .gc-quest__groupe legend{color:var(--gc-gold)}

/* --- Sondage --- */
.gc-sondage{margin-top:28px;max-width:640px}
.gc-sondage__question{margin:0 0 22px}
.gc-sondage__form{display:flex;flex-direction:column;gap:9px}
.gc-sondage__choix{
  text-align:left;cursor:pointer;padding:16px 20px;
  border:1px solid var(--gc-line-strong);background:#fff;
  font-family:var(--gc-font-title);font-size:14px;font-weight:700;
  letter-spacing:.04em;color:var(--gc-dark);
  transition:background var(--gc-ease),border-color var(--gc-ease),transform var(--gc-ease);
}
.gc-sondage__choix:hover,.gc-sondage__choix:focus-visible{
  background:var(--gc-bg-alt);border-color:var(--gc-gold);transform:translateX(3px);
}

.gc-sondage__resultats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.gc-sondage__tete{display:flex;justify-content:space-between;gap:16px;margin-bottom:7px}
.gc-sondage__nom{
  font-family:var(--gc-font-title);font-size:13.5px;font-weight:700;color:var(--gc-dark);
}
.gc-sondage__pct{
  font-family:var(--gc-font-title);font-size:13.5px;font-weight:900;color:var(--gc-gold-ink);
  font-variant-numeric:tabular-nums;
}
.gc-sondage__barre{
  display:block;height:10px;background:var(--gc-line);overflow:hidden;
}
.gc-sondage__barre > span{
  display:block;height:100%;background:var(--gc-gold);
  transition:width .5s cubic-bezier(.22,.61,.36,1);
}
.gc-sondage__total{
  margin:20px 0 0;
  font-family:var(--gc-font-title);font-size:11px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gc-muted);
}
.gc-sondage__merci{color:var(--gc-gold-ink);margin-left:10px}

.gc-libre--sombre .gc-sondage__choix{background:var(--gc-dark);border-color:rgba(255,255,255,.18);color:#fff}
.gc-libre--sombre .gc-sondage__choix:hover{background:var(--gc-dark-card)}
.gc-libre--sombre .gc-sondage__nom{color:#fff}
.gc-libre--sombre .gc-sondage__pct{color:var(--gc-gold)}
.gc-libre--sombre .gc-sondage__barre{background:rgba(255,255,255,.14)}
.gc-libre--sombre .gc-sondage__total{color:rgba(255,255,255,.7)}

/* --- Carrousel de produits --- */
.gc-pcar{position:relative;margin-top:34px}
.gc-pcar__piste{
  display:flex;gap:20px;
  overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;
  scrollbar-width:none;padding-bottom:4px;
}
.gc-pcar__piste::-webkit-scrollbar{display:none}
.gc-pcar__item{
  flex:0 0 clamp(220px,24vw,280px);
  scroll-snap-align:start;
}
.gc-pcar__nav{
  position:absolute;top:calc(50% - 24px);z-index:2;
  width:46px;height:46px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  background:var(--gc-dark);border:0;color:#fff;
  box-shadow:var(--gc-shadow-soft);
  transition:background var(--gc-ease),color var(--gc-ease),opacity var(--gc-ease);
}
.gc-pcar__nav:hover{background:var(--gc-gold);color:var(--gc-dark)}
.gc-pcar__nav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.gc-pcar__nav--prev{left:-14px}
.gc-pcar__nav--next{right:-14px}
.gc-pcar__nav[disabled]{opacity:.25;cursor:default}
.gc-pcar__nav[disabled]:hover{background:var(--gc-dark);color:#fff}

@media (max-width:980px){
  .gc-pcar__nav{display:none}
  .gc-pcar__piste{margin:0 calc(var(--gc-gutter) * -1);padding-left:var(--gc-gutter);padding-right:var(--gc-gutter)}
  .gc-quest__choix,.gc-quest__notes{gap:6px}
}

/* ── 13.7 Visionneuse de photos ──────────────────────────────────────── */
/* La photo de la fiche est un bouton : clic, Entrée ou Espace l'ouvrent en
   grand. La loupe dans le coin le signale — au survol sur ordinateur, en
   permanence sur écran tactile, où il n'y a pas de survol. */
.gc-zoom{
  position:relative;display:block;width:100%;
  padding:0;margin:0;border:0;background:none;
  cursor:zoom-in;
}
.gc-zoom:focus-visible{outline:2px solid var(--gc-gold);outline-offset:-2px}
.gc-zoom__indice{
  position:absolute;top:12px;right:12px;
  width:40px;height:40px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(38,32,25,.74);color:#fff;
  opacity:0;transform:scale(.9);
  transition:opacity var(--gc-ease),transform var(--gc-ease);
  pointer-events:none;
}
.gc-zoom:hover .gc-zoom__indice,
.gc-zoom:focus-visible .gc-zoom__indice{opacity:1;transform:none}
@media (hover:none){
  .gc-zoom__indice{opacity:1;transform:none}
}
.gc-zoom__indice svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}

/* La boîte couvre tout, barre d'administration comprise : c'est une vue
   à part, que l'on quitte par la croix, Échap ou un clic sur le fond. */
html.gc-lb-ouvert{overflow:hidden}
.gc-lb{
  position:fixed;inset:0;z-index:100001;
  display:flex;align-items:center;justify-content:center;
  background:rgba(14,11,9,.94);
  animation:gc-lb-apparait .2s ease both;
}
@keyframes gc-lb-apparait{from{opacity:0}to{opacity:1}}
.gc-lb[hidden]{display:none}

/* L'image tient entière dans l'écran, sans jamais être rognée ni étirée. */
.gc-lb__cadre{
  position:relative;margin:0;
  width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;
  padding:72px clamp(12px,7vw,110px);
}
.gc-lb__img{
  max-width:100%;max-height:100%;
  width:auto;height:auto;object-fit:contain;
  box-shadow:0 30px 80px rgba(0,0,0,.55);
  -webkit-user-select:none;user-select:none;
}

.gc-lb__fermer,
.gc-lb__nav{
  position:absolute;z-index:2;
  display:flex;align-items:center;justify-content:center;
  border:0;cursor:pointer;color:#fff;
  background:rgba(255,255,255,.1);
  transition:background var(--gc-ease),color var(--gc-ease);
}
.gc-lb__fermer:hover,.gc-lb__nav:hover,
.gc-lb__fermer:focus-visible,.gc-lb__nav:focus-visible{background:var(--gc-gold);color:var(--gc-dark)}
.gc-lb__fermer:focus-visible,.gc-lb__nav:focus-visible{outline:2px solid #fff;outline-offset:2px}
.gc-lb__fermer svg,.gc-lb__nav svg{
  width:22px;height:22px;fill:none;stroke:currentColor;
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
}
.gc-lb__fermer{top:16px;right:16px;width:50px;height:50px}
.gc-lb__nav{top:50%;transform:translateY(-50%);width:56px;height:56px}
.gc-lb__nav--prev{left:16px}
.gc-lb__nav--next{right:16px}
.gc-lb__nav[hidden]{display:none}

.gc-lb__compte{
  position:absolute;left:50%;bottom:22px;transform:translateX(-50%);
  font-family:var(--gc-font-title);font-size:12px;font-weight:700;
  letter-spacing:.14em;color:rgba(255,255,255,.8);
}

/* Pendant le chargement de la grande version, un fin anneau tourne. */
.gc-lb__attente{
  position:absolute;top:50%;left:50%;
  width:34px;height:34px;margin:-17px 0 0 -17px;
  border:2px solid rgba(255,255,255,.25);border-top-color:var(--gc-gold);
  border-radius:50%;
  display:none;
  animation:gc-lb-tourne .8s linear infinite;
}
.gc-lb.is-attente .gc-lb__attente{display:block}
@keyframes gc-lb-tourne{to{transform:rotate(360deg)}}

@media (max-width:640px){
  .gc-lb__cadre{padding:64px 8px 84px}
  .gc-lb__nav{top:auto;bottom:14px;transform:none;width:50px;height:50px}
  .gc-lb__compte{bottom:30px}
}

@media (prefers-reduced-motion:reduce){
  .gc-lb{animation:none}
  .gc-lb__attente{animation-duration:2.4s}
}

/* ══════════════════════════════════════════════════════════════════════
   15. Version 3.20 — cartes produit et recherche instantanée
   ══════════════════════════════════════════════════════════════════════ */

/* ── 15.1 Bouton « Voir le produit » ─────────────────────────────────────
   Au survol de la carte, le bouton prend un liseré or : il signale ce qui
   est cliquable. Au survol du bouton lui-même, il se remplit d'or et la
   flèche avance. La sélection `.gc-decor .…--btn` passe devant la règle
   tactile qui ramène le retrait du texte à 4 px sous 860 px. */
.gc-decor__ref{
  display:block;margin-top:6px;
  font-family:var(--gc-font-title);font-size:11px;font-weight:600;
  letter-spacing:.12em;color:var(--gc-faint);text-transform:uppercase;
}
.gc-decor .gc-decor__cta--btn{
  display:inline-flex;align-items:center;gap:10px;align-self:flex-start;
  margin-top:auto;padding:11px 15px;
  font-family:var(--gc-font-title);font-size:11px;font-weight:700;letter-spacing:.14em;
  color:var(--gc-dark);background:var(--gc-bg-alt);border:1px solid var(--gc-line-strong);
  transition:background var(--gc-ease),color var(--gc-ease),border-color var(--gc-ease),box-shadow var(--gc-ease);
}
/* `margin-top:auto` cale le bouton en bas ; la marge sous la ligne qui le
   précède garantit l'air minimum quand la carte est déjà pleine. */
.gc-decor__body--btn > :nth-last-child(2){margin-bottom:16px}
.gc-decor .gc-decor__cta--btn svg{
  width:15px;height:15px;flex:none;
  fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
  transition:transform var(--gc-ease);
}
.gc-decor:hover .gc-decor__cta--btn{border-color:var(--gc-gold);color:var(--gc-gold-ink)}
.gc-decor .gc-decor__cta--btn:hover,
.gc-decor:focus-visible .gc-decor__cta--btn{
  background:var(--gc-gold);border-color:var(--gc-gold);color:var(--gc-dark);
  box-shadow:0 10px 22px rgba(200,164,92,.35);
}
.gc-decor .gc-decor__cta--btn:hover svg,
.gc-decor:focus-visible .gc-decor__cta--btn svg{transform:translateX(4px)}

/* ── 15.2 Diaporama au survol ────────────────────────────────────────────
   Les photos de la galerie se superposent à la première et passent en
   fondu. De fins traits en bas situent la photo dans la série ; au repos,
   une pastille annonce combien la carte en contient. */
.gc-decor__media > img{transition:transform .8s ease}
.gc-decor:hover .gc-decor__media > img{transform:scale(1.035)}

.gc-diapo{position:absolute;inset:0;display:block;pointer-events:none}
.gc-diapo__img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transform:scale(1.06);
  transition:opacity .45s ease,transform 1.8s ease;
}
.gc-diapo__img.is-on{opacity:1;transform:scale(1)}

.gc-diapo__traits{
  position:absolute;left:12px;right:12px;bottom:12px;z-index:1;
  display:flex;gap:4px;
  opacity:0;transition:opacity var(--gc-ease);
}
.gc-decor.is-diapo .gc-diapo__traits{opacity:1}
.gc-diapo__trait{
  flex:1 1 0;height:3px;border-radius:2px;
  background:rgba(255,255,255,.45);box-shadow:0 1px 4px rgba(0,0,0,.3);
  transition:background var(--gc-ease);
}
.gc-diapo__trait.is-on{background:#fff}

.gc-decor__photos{
  position:absolute;top:10px;right:10px;z-index:1;
  display:inline-flex;align-items:center;gap:5px;padding:5px 8px;
  background:rgba(38,32,25,.72);color:#fff;
  font-family:var(--gc-font-title);font-size:11px;font-weight:700;line-height:1;
  transition:opacity var(--gc-ease);
}
.gc-decor.is-diapo .gc-decor__photos{opacity:0}
.gc-decor__photos svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}

@media (prefers-reduced-motion:reduce){
  .gc-decor__media > img,.gc-diapo__img{transition:opacity .2s linear}
  .gc-decor:hover .gc-decor__media > img,.gc-diapo__img{transform:none}
}

/* ── 15.3 Recherche de l'en-tête ─────────────────────────────────────────
   Une vraie barre, à la hauteur du bouton devis. Au focus, le champ
   s'élargit vers la gauche par-dessus le menu, sans le repousser. */
.gc-recherche{position:relative;flex:none;width:clamp(200px,16vw,290px);height:50px;z-index:5}
.gc-recherche__champ{
  position:absolute;top:0;right:0;height:100%;width:100%;
  display:flex;align-items:center;gap:10px;padding:0 8px 0 16px;
  background:var(--gc-bg-search);border:1px solid #e6ded0;cursor:text;
  transition:width .32s cubic-bezier(.22,.61,.36,1),background var(--gc-ease),border-color var(--gc-ease),box-shadow var(--gc-ease);
}
.gc-recherche__champ:hover{border-color:var(--gc-wood-light)}
.gc-recherche:focus-within .gc-recherche__champ,
.gc-recherche.is-ouvert .gc-recherche__champ{
  width:min(520px,calc(100vw - 2 * var(--gc-gutter)));
  background:#fff;border-color:var(--gc-gold);
  box-shadow:0 0 0 3px rgba(200,164,92,.2),0 16px 34px rgba(38,32,25,.12);
}
.gc-recherche__loupe{
  width:19px;height:19px;flex:none;
  fill:none;stroke:var(--gc-faint);stroke-width:2;stroke-linecap:round;
  transition:stroke var(--gc-ease);
}
.gc-recherche:focus-within .gc-recherche__loupe{stroke:var(--gc-gold-ink)}
.gc-recherche input{
  flex:1 1 auto;min-width:0;height:100%;padding:0;
  border:0;background:transparent;outline:none;
  font-family:var(--gc-font-body);font-size:15px;color:var(--gc-dark);
  -webkit-appearance:none;appearance:none;
}
.gc-recherche input::placeholder{color:var(--gc-faint);opacity:1}
.gc-recherche input::-webkit-search-cancel-button,
.gc-recherche input::-webkit-search-decoration{-webkit-appearance:none;display:none}
.gc-recherche__touche{
  flex:none;min-width:24px;height:24px;margin-right:4px;padding:0 6px;
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--gc-font-title);font-size:12px;font-weight:700;color:var(--gc-muted);
  background:#fff;border:1px solid var(--gc-line-strong);border-bottom-width:2px;border-radius:4px;
}
.gc-recherche:focus-within .gc-recherche__touche,
.gc-recherche.a-du-texte .gc-recherche__touche{display:none}
.gc-recherche__vider{
  flex:none;width:30px;height:30px;padding:0;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  background:var(--gc-line);border:0;color:var(--gc-dark);
  transition:background var(--gc-ease);
}
.gc-recherche__vider[hidden]{display:none}
.gc-recherche__vider:hover,.gc-recherche__vider:focus-visible{background:var(--gc-gold)}
.gc-recherche__vider svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round}
.gc-recherche__annuler,
.gc-recherche__voile,
.gc-loupe{display:none}

/* Le panneau des suggestions */
.gc-recherche__panneau{
  position:absolute;top:calc(100% + 8px);right:0;
  width:min(520px,calc(100vw - 2 * var(--gc-gutter)));
  max-height:min(72vh,640px);overflow-y:auto;overscroll-behavior:contain;
  background:#fff;border:1px solid var(--gc-line);
  box-shadow:0 30px 60px rgba(38,32,25,.18);
  animation:gc-sg-apparait .18s ease both;
}
.gc-recherche__panneau[hidden]{display:none}
@keyframes gc-sg-apparait{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

.gc-recherche mark{background:rgba(200,164,92,.3);color:inherit;padding:0 1px}

.gc-sg-groupe{padding:10px 0 6px}
.gc-sg-groupe + .gc-sg-groupe{border-top:1px solid var(--gc-line-soft)}
.gc-sg-groupe__titre{
  display:flex;align-items:center;gap:8px;padding:6px 18px 8px;
  font-family:var(--gc-font-title);font-size:10.5px;font-weight:700;
  letter-spacing:.18em;color:var(--gc-gold-ink);text-transform:uppercase;
}
.gc-sg-groupe__n{
  padding:2px 7px;background:var(--gc-bg-alt);color:var(--gc-muted);
  font-size:10.5px;letter-spacing:0;
}

/* Une ligne produit : vignette, catégorie, nom, référence. */
.gc-sg{
  display:flex;align-items:center;gap:14px;padding:9px 18px;
  color:var(--gc-dark);transition:background var(--gc-ease);
}
.gc-sg:hover,.gc-sg:focus,.gc-sg.is-actif{background:var(--gc-bg-alt);color:var(--gc-dark)}
/* La ligne choisie au clavier porte un liseré or : le fond crème seul se
   distinguait mal du blanc. */
.gc-sg.is-actif,.gc-sg-page.is-actif{box-shadow:inset 3px 0 0 var(--gc-gold)}
.gc-sg__img{
  flex:none;width:58px;height:58px;overflow:hidden;
  background:#f2ede4;border:1px solid var(--gc-line-soft);
}
.gc-sg__img img{width:100%;height:100%;object-fit:cover}
.gc-sg__img .gc-ph{min-height:0;padding:0;gap:0}
.gc-sg__img .gc-ph__mark{width:14px;height:14px;box-shadow:none}
.gc-sg__img .gc-ph__label{display:none}
.gc-sg__img.is-vide{
  background:
    repeating-linear-gradient(135deg,rgba(200,164,92,.12) 0 6px,transparent 6px 12px),
    var(--gc-bg-alt);
}
.gc-sg__txt{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px}
.gc-sg__fam{
  font-family:var(--gc-font-title);font-size:9.5px;font-weight:700;
  letter-spacing:.16em;color:var(--gc-faint);text-transform:uppercase;
}
/* Deux lignes au plus : un nom de décor coupé à la première ne se
   reconnaît plus (« Panneau mélaminé Amber Baroqu… »). */
.gc-sg__nom{
  font-family:var(--gc-font-title);font-size:14px;font-weight:700;line-height:1.3;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;
}
.gc-sg__ref{
  flex:none;font-family:var(--gc-font-title);font-size:11px;font-weight:600;
  letter-spacing:.06em;color:var(--gc-muted);white-space:nowrap;
}
.gc-sg > svg,.gc-sg-tout > svg{
  width:16px;height:16px;flex:none;
  fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
}
.gc-sg > svg{opacity:0;transform:translateX(-4px);color:var(--gc-gold-ink);transition:opacity var(--gc-ease),transform var(--gc-ease)}
.gc-sg:hover > svg,.gc-sg.is-actif > svg{opacity:1;transform:none}

/* Catégories : deux par rangée, en pastilles. */
.gc-sg-cats{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:0 14px 6px}
.gc-sg-cat{
  display:flex;align-items:center;gap:10px;min-width:0;padding:7px;
  border:1px solid var(--gc-line-soft);color:var(--gc-dark);
  transition:border-color var(--gc-ease),background var(--gc-ease);
}
.gc-sg-cat:hover,.gc-sg-cat:focus,.gc-sg-cat.is-actif{border-color:var(--gc-gold);background:var(--gc-bg-alt);color:var(--gc-dark)}
.gc-sg-cat .gc-sg__img{width:40px;height:40px}
.gc-sg-cat__txt{min-width:0;display:flex;flex-direction:column;gap:1px}
.gc-sg-cat__nom{
  font-family:var(--gc-font-title);font-size:12.5px;font-weight:700;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.gc-sg-cat__n{font-size:12.5px;color:var(--gc-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.gc-sg-page{
  display:flex;align-items:center;gap:12px;padding:10px 18px;
  font-family:var(--gc-font-title);font-size:13px;font-weight:600;color:var(--gc-dark);
  transition:background var(--gc-ease);
}
.gc-sg-page:hover,.gc-sg-page:focus,.gc-sg-page.is-actif{background:var(--gc-bg-alt);color:var(--gc-dark)}
.gc-sg-page svg{width:18px;height:18px;flex:none;fill:none;stroke:var(--gc-faint);stroke-width:1.6;stroke-linejoin:round}

/* La porte vers la page de résultats reste visible au bas du panneau. */
.gc-sg-tout{
  position:sticky;bottom:0;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:15px 18px;background:var(--gc-dark);color:#fff;
  font-family:var(--gc-font-title);font-size:12px;font-weight:700;letter-spacing:.06em;
  transition:background var(--gc-ease),color var(--gc-ease);
}
.gc-sg-tout span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gc-sg-tout:hover,.gc-sg-tout:focus,.gc-sg-tout.is-actif{background:var(--gc-gold);color:var(--gc-dark)}

.gc-sg-etat{padding:20px 18px;font-size:14.5px;color:var(--gc-muted)}
.gc-sg-etat.is-attente{display:flex;align-items:center;gap:12px}
.gc-sg-etat.is-attente::before{
  content:"";width:16px;height:16px;flex:none;border-radius:50%;
  border:2px solid var(--gc-line-strong);border-top-color:var(--gc-gold);
  animation:gc-lb-tourne .8s linear infinite;
}
.gc-sg-vide{display:flex;flex-direction:column;gap:6px;padding:22px 18px}
.gc-sg-vide strong{font-family:var(--gc-font-title);font-size:14px;color:var(--gc-dark)}
.gc-sg-vide span{font-size:14.5px;color:var(--gc-muted)}

/* Ordinateur étroit : la place manque pour le menu et un champ large. La
   barre se réduit à sa loupe et se déploie au clic, toujours vers la
   gauche. */
@media (min-width:861px) and (max-width:1200px){
  .gc-recherche{width:50px}
  .gc-recherche__champ{padding:0 8px 0 14px}
  .gc-recherche__touche{display:none}
  .gc-recherche:not(:focus-within):not(.is-ouvert) input::placeholder{color:transparent}
}

/* Téléphone : la loupe de l'en-tête ouvre une recherche plein écran — le
   champ en haut, les suggestions dessous, la page assombrie derrière. */
@media (max-width:860px){
  .gc-loupe{
    display:flex;align-items:center;justify-content:center;flex:none;
    width:46px;height:46px;margin-left:auto;padding:0;cursor:pointer;
    background:transparent;border:1px solid var(--gc-line-strong);
    color:var(--gc-identity-ink,var(--gc-dark));
  }
  .gc-loupe + .gc-burger{margin-left:-8px}
  .gc-loupe svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}

  html.gc-recherche-ouverte{overflow:hidden}
  html.gc-recherche-ouverte .gc-navbar{z-index:950}
  html.gc-recherche-ouverte .gc-navbar__actions{display:flex}

  .gc-recherche{
    position:fixed;inset:0;top:var(--wp-admin--admin-bar--height,0);
    width:auto;height:auto;z-index:2;
    display:flex;flex-direction:column;
  }
  .gc-recherche__voile{
    display:block;position:absolute;inset:0;
    background:rgba(26,21,18,.6);
    animation:gc-fade .2s ease both;
  }
  .gc-recherche__champ,
  .gc-recherche:focus-within .gc-recherche__champ,
  .gc-recherche.is-ouvert .gc-recherche__champ{
    position:relative;width:100%;height:64px;flex:none;
    padding:0 8px 0 18px;
    background:var(--gc-navbar-bg,#fff);border:0;border-bottom:1px solid var(--gc-line);
    box-shadow:none;
  }
  .gc-recherche input{font-size:16px}
  .gc-recherche__touche{display:none}
  .gc-recherche__annuler{
    display:block;flex:none;height:44px;padding:0 12px;margin-left:4px;
    background:none;border:0;border-left:1px solid var(--gc-line);cursor:pointer;
    font-family:var(--gc-font-title);font-size:12px;font-weight:700;
    letter-spacing:.08em;color:var(--gc-navbar-ink,var(--gc-dark));text-transform:uppercase;
  }
  .gc-recherche__panneau{
    position:relative;top:auto;right:auto;width:auto;
    max-height:none;flex:0 1 auto;min-height:0;
    border:0;box-shadow:0 20px 40px rgba(0,0,0,.25);
    animation:none;
  }
  .gc-sg{padding:10px 16px}
  .gc-sg-groupe__titre{padding-left:16px;padding-right:16px}
  .gc-sg-cats{grid-template-columns:1fr;padding:0 12px 6px}
  .gc-sg > svg{display:none}
}

/* ── 15.4 Page de résultats ──────────────────────────────────────────── */
.gc-trouve-cats{padding-bottom:0}
.gc-trouve-cats__liste{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.gc-trouve-cat{
  display:flex;align-items:center;gap:12px;padding:8px 18px 8px 8px;
  background:#fff;border:1px solid var(--gc-line);color:var(--gc-dark);
  transition:border-color var(--gc-ease),box-shadow var(--gc-ease);
}
.gc-trouve-cat:hover{border-color:var(--gc-gold);box-shadow:var(--gc-shadow-soft);color:var(--gc-dark)}
.gc-trouve-cat__img{width:48px;height:48px;flex:none;overflow:hidden;background:var(--gc-bg-alt)}
.gc-trouve-cat__img img{width:100%;height:100%;object-fit:cover}
.gc-trouve-cat__img .gc-ph{min-height:0;padding:0}
.gc-trouve-cat__img .gc-ph__mark{width:14px;height:14px;box-shadow:none}
.gc-trouve-cat__txt{display:flex;flex-direction:column}
.gc-trouve-cat__nom{font-family:var(--gc-font-title);font-size:13.5px;font-weight:700}
.gc-trouve-cat__n{font-size:13px;color:var(--gc-muted)}
.gc-trouve-plus{margin-top:28px;text-align:center;color:var(--gc-muted)}
.gc-trouve-conseil{margin:10px 0 26px;font-size:15px}
.gc-trouve-pages{margin-top:56px}
.gc-trouve-pages ul{list-style:none;margin:20px 0 0;padding:0;border-top:1px solid var(--gc-line)}
.gc-trouve-pages li{border-bottom:1px solid var(--gc-line)}
.gc-trouve-pages a{display:flex;flex-direction:column;gap:4px;padding:18px 4px;color:var(--gc-dark)}
.gc-trouve-pages a:hover .gc-trouve-pages__titre{color:var(--gc-gold-ink)}
.gc-trouve-pages__titre{font-family:var(--gc-font-title);font-size:15px;font-weight:700;transition:color var(--gc-ease)}
.gc-trouve-pages__extrait{font-size:14.5px;color:var(--gc-muted)}

/* ── 13.8 Vitrine des nouveaux arrivages (bannière d'accueil) ────────── */
/* Activée dans « Contenu de la page d'accueil » : la bannière passe sur deux
   colonnes — le discours et la carte —, les quatre métiers restent dessous
   sur toute la largeur. Masquée, rien de ceci ne s'applique. */
.gc-hero2--vitrine{padding:96px 0 88px}
.gc-hero2--vitrine .gc-hero2__inner{
  display:grid;align-items:center;
  grid-template-columns:minmax(0,1fr) minmax(340px,440px);
  column-gap:clamp(32px,5vw,84px);
}
.gc-hero2--vitrine-gauche .gc-hero2__inner{grid-template-columns:minmax(340px,440px) minmax(0,1fr)}
.gc-hero2--vitrine-gauche .gc-vitrine{order:-1}
.gc-hero2--vitrine .gc-hero2__texte{min-width:0}
.gc-hero2--vitrine .gc-hero2__metiers{grid-column:1/-1;margin-top:56px}
.gc-hero2--vitrine .gc-hero2__title{font-size:clamp(34px,4.6vw,68px)}
.gc-hero2--vitrine .gc-hero2__scroll{display:none}
/* Carte à gauche : le voile s'assombrit du côté de la carte aussi. */
.gc-hero2--vitrine-gauche .gc-hero2__veil{
  background:
    linear-gradient(90deg,rgba(8,17,32,.62) 0%,rgba(8,17,32,.88) 45%,rgba(8,17,32,.6) 100%),
    radial-gradient(900px 500px at 92% 20%,rgba(200,164,92,.2) 0%,transparent 70%);
}

.gc-vitrine{
  position:relative;min-width:0;overflow:hidden;
  background:rgba(23,19,15,.9);color:#fff;
  border:1px solid rgba(200,164,92,.34);border-top:3px solid var(--gc-gold);
  box-shadow:0 34px 80px rgba(0,0,0,.45);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
}
.gc-vitrine__piste{display:grid}
.gc-vitrine__fiche{
  grid-area:1/1;min-width:0;display:flex;flex-direction:column;
  opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s;
}
.gc-vitrine__fiche.is-active{opacity:1;visibility:visible}

.gc-vitrine__media{
  position:relative;display:block;aspect-ratio:16/9;overflow:hidden;
  background:var(--gc-dark-card);touch-action:pan-y;
}
.gc-vitrine__media img{
  display:block;width:100%;height:100%;max-width:none;object-fit:cover;
  transform:scale(1.1);transition:transform 1.6s cubic-bezier(.2,.7,.2,1);
  -webkit-user-drag:none;
}
.gc-vitrine__media .gc-ph{position:absolute;inset:0;min-height:0}
.gc-vitrine__fiche.is-active .gc-vitrine__media img{transform:scale(1)}
.gc-vitrine__media:hover img{transform:scale(1.04)}
.gc-vitrine__media::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(23,19,15,.5) 0%,rgba(23,19,15,0) 34%,rgba(23,19,15,0) 68%,rgba(23,19,15,.55) 100%);
}
.gc-vitrine__gamme{
  position:absolute;z-index:1;left:18px;bottom:16px;max-width:calc(100% - 36px);
  padding:6px 10px;background:var(--gc-gold);color:var(--gc-dark);
  font-family:var(--gc-font-title);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

.gc-vitrine__corps{display:flex;flex-direction:column;gap:9px;padding:20px 24px 22px}
/* Le contenu arrive en léger décalé après la photo. */
.gc-vitrine__corps>*{opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
.gc-vitrine__fiche.is-active .gc-vitrine__corps>*{opacity:1;transform:none}
.gc-vitrine__fiche.is-active .gc-vitrine__corps>:nth-child(2){transition-delay:.08s}
.gc-vitrine__fiche.is-active .gc-vitrine__corps>:nth-child(3){transition-delay:.14s}
.gc-vitrine__fiche.is-active .gc-vitrine__corps>:nth-child(n+4){transition-delay:.2s}

.gc-vitrine__surtitre{
  font-family:var(--gc-font-title);font-size:11px;font-weight:700;
  letter-spacing:.24em;text-transform:uppercase;color:var(--gc-gold);
}
.gc-vitrine__nom{
  margin:0;font-family:var(--gc-font-title);font-size:24px;line-height:1.15;
  font-weight:800;letter-spacing:-.01em;overflow-wrap:anywhere;
}
.gc-vitrine__nom a{color:#fff;transition:color var(--gc-ease)}
.gc-vitrine__nom a:hover,.gc-vitrine__nom a:focus-visible{color:var(--gc-gold)}
.gc-vitrine__accroche{
  margin:0;font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.72);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}

.gc-vitrine__onglets{display:flex;gap:24px;margin-top:4px;border-bottom:1px solid rgba(200,164,92,.26)}
.gc-vitrine__onglets button{
  margin:0 0 -1px;padding:10px 0;border:0;border-bottom:2px solid transparent;background:none;
  font-family:var(--gc-font-title);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.58);cursor:pointer;
  transition:color var(--gc-ease),border-color var(--gc-ease);
}
.gc-vitrine__onglets button:hover{color:#fff}
.gc-vitrine__onglets button.is-active{color:#fff;border-bottom-color:var(--gc-gold)}
.gc-vitrine__onglets button:focus-visible{outline:2px solid var(--gc-gold);outline-offset:2px}

/* Les deux panneaux dans la même case : la carte ne change pas de hauteur. */
.gc-vitrine__panneaux{display:grid}
.gc-vitrine__panneau{
  grid-area:1/1;min-width:0;margin:0;padding:0;list-style:none;
  max-height:156px;overflow-y:auto;
  scrollbar-width:thin;scrollbar-color:rgba(200,164,92,.5) transparent;
  opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s;
}
.gc-vitrine__panneau.is-active{opacity:1;visibility:visible}
.gc-vitrine__panneau li{
  display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  padding:8px 0;border-bottom:1px solid rgba(255,255,255,.08);
}
.gc-vitrine__k{flex:0 0 auto;max-width:48%;font-size:13.5px;color:rgba(255,255,255,.62)}
.gc-vitrine__k::before{
  content:"";display:inline-block;width:5px;height:5px;margin:0 10px 2px 0;
  background:var(--gc-gold);transform:rotate(45deg);vertical-align:middle;
}
.gc-vitrine__v{flex:0 1 auto;min-width:0;font-size:13.5px;font-weight:600;color:#fff;text-align:right;overflow-wrap:anywhere}

.gc-vitrine__lien{
  align-self:flex-start;
  font-family:var(--gc-font-title);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:var(--gc-gold);
}
.gc-vitrine__lien span{display:inline-block;transition:transform var(--gc-ease)}
.gc-vitrine__lien:hover{color:#fff}
.gc-vitrine__lien:hover span{transform:translateX(4px)}

.gc-vitrine__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}
.gc-vitrine__actions .gc-btn{
  min-width:0;gap:8px;padding:15px 10px;
  font-size:11px;letter-spacing:.08em;white-space:normal;line-height:1.25;
}
.gc-vitrine__actions .gc-btn--wa svg{width:17px;height:17px}

.gc-vitrine__nav{position:absolute;z-index:3;top:14px;right:14px;display:flex;gap:6px}
.gc-vitrine__fleche{
  width:40px;height:40px;padding:0;display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.4);background:rgba(23,19,15,.55);color:#fff;cursor:pointer;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  transition:background var(--gc-ease),border-color var(--gc-ease),color var(--gc-ease);
}
.gc-vitrine__fleche svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.gc-vitrine__fleche:hover{background:var(--gc-gold);border-color:var(--gc-gold);color:var(--gc-dark)}
.gc-vitrine__fleche:focus-visible{outline:2px solid var(--gc-gold);outline-offset:2px}

/* Une jauge par produit : elle se remplit pendant l'affichage, et sa fin
   fait passer au produit suivant. */
.gc-vitrine__points{
  position:absolute;z-index:3;top:32px;left:18px;right:118px;
  display:flex;flex-wrap:wrap;gap:5px;
}
.gc-vitrine__points span{flex:0 1 22px;height:3px;background:rgba(255,255,255,.35);overflow:hidden}
.gc-vitrine__points i{display:block;height:100%;background:var(--gc-gold);transform:scaleX(0);transform-origin:left center}
.gc-vitrine__points span.is-vu i{transform:scaleX(1)}
.gc-vitrine__points span.is-active i{animation:gc-vt-jauge var(--gc-vt-delai,6000ms) linear both}
.gc-vitrine.is-paused .gc-vitrine__points span.is-active i{animation-play-state:paused}
@keyframes gc-vt-jauge{from{transform:scaleX(0)}to{transform:scaleX(1)}}

@media (max-width:1180px){
  .gc-hero2--vitrine .gc-hero2__inner{grid-template-columns:minmax(0,1fr) minmax(310px,390px);column-gap:36px}
  .gc-hero2--vitrine-gauche .gc-hero2__inner{grid-template-columns:minmax(310px,390px) minmax(0,1fr)}
  .gc-vitrine__corps{padding:20px 20px 22px}
  .gc-vitrine__nom{font-size:21px}
  .gc-vitrine__actions .gc-btn{font-size:10.5px;letter-spacing:.06em;padding:14px 8px}
}

/* Tablette et téléphone : le discours d'abord, la carte dessous, puis les
   métiers — quelle que soit la position choisie pour l'ordinateur. */
@media (max-width:900px){
  .gc-hero2--vitrine{padding:72px 0 64px}
  .gc-hero2--vitrine .gc-hero2__inner,
  .gc-hero2--vitrine-gauche .gc-hero2__inner{grid-template-columns:minmax(0,1fr);row-gap:40px}
  .gc-hero2--vitrine-gauche .gc-vitrine{order:0}
  .gc-hero2--vitrine .gc-hero2__metiers{margin-top:4px}
  .gc-hero2--vitrine .gc-hero2__veil,
  .gc-hero2--vitrine-gauche .gc-hero2__veil{
    background:linear-gradient(180deg,rgba(8,17,32,.86) 0%,rgba(8,17,32,.74) 50%,rgba(8,17,32,.9) 100%);
  }
  .gc-vitrine{width:100%;max-width:560px}
}

@media (max-width:640px){
  .gc-hero2--vitrine{padding:56px 0 52px}
  .gc-hero2--vitrine .gc-hero2__title{font-size:clamp(30px,8.5vw,42px)}
}

@media (max-width:480px){
  .gc-vitrine__corps{padding:18px 16px 20px}
  .gc-vitrine__nom{font-size:19px}
  .gc-vitrine__onglets{gap:16px}
  .gc-vitrine__onglets button{font-size:10px;letter-spacing:.1em}
  .gc-vitrine__actions{grid-template-columns:1fr}
  .gc-vitrine__actions .gc-btn{padding:15px 12px;font-size:11px}
  .gc-vitrine__points{right:100px;top:30px}
  .gc-vitrine__fleche{width:36px;height:36px}
}

@media (prefers-reduced-motion:reduce){
  .gc-vitrine__fiche,.gc-vitrine__corps>*,.gc-vitrine__panneau{transition:none}
  .gc-vitrine__media img{transform:none;transition:none}
}

/* ── 13.9 Formulaires créés dans le menu Formulaires ─────────────────── */
/* Deux colonnes : les champs courts côte à côte, les paragraphes et les
   notes sur toute la largeur. Une colonne sur téléphone. */
.gc-fo{max-width:880px}
.gc-fo__intro{margin-bottom:26px}
.gc-fo__grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}
.gc-fo__grille .gc-form__sup{margin:0 0 18px;min-width:0;border:0;padding:0}
.gc-fo__grille .gc-form__sup--large{grid-column:1/-1}
.gc-fo__grille .gc-form__sup textarea{margin-top:0;min-height:140px}

/* Nombre et date prennent le même dessin que les autres champs. */
.gc-form__sup input[type="number"],
.gc-form__sup input[type="date"]{
  width:100%;border:1px solid var(--gc-line-strong);padding:16px 18px;
  font-family:var(--gc-font-body);font-size:16px;outline:none;
  color:var(--gc-dark);background:var(--gc-bg-field);
  transition:border-color var(--gc-ease);
}
.gc-form__sup input[type="number"]:focus,
.gc-form__sup input[type="date"]:focus{border-color:var(--gc-gold)}
.gc-fo .gc-form__submit{margin-top:6px}
.gc-fo__merci{margin-top:0}

/* Sur fond sombre (section libre « Bleu foncé »). */
.gc-libre--sombre .gc-fo .gc-form__suplabel{color:var(--gc-gold)}
.gc-libre--sombre .gc-fo .gc-form__supaide,
.gc-libre--sombre .gc-fo .gc-form__note,
.gc-libre--sombre .gc-fo .gc-form__consent{color:rgba(255,255,255,.66)}
.gc-libre--sombre .gc-fo .gc-form__submit{background:var(--gc-gold);color:var(--gc-dark)}

@media (max-width:640px){
  .gc-fo__grille{grid-template-columns:minmax(0,1fr)}
}

/* ── 13.10 Barre de filtres pleine largeur ───────────────────────────── */
/* La barre tient toute la largeur de l'écran et reste collée en haut : on
   change de catégorie sans remonter la grille. Les rangées de puces
   défilent latéralement plutôt que de passer sur trois lignes. */
.gc-filterbar--plein{padding:0;box-shadow:0 10px 24px rgba(38,32,25,.06)}
.gc-filterbar--plein .gc-filtres{
  margin:0;border-left:0;border-right:0;border-top:0;box-shadow:none;
  background:#fff;
}
.gc-filtres__rangees{display:flex;flex-direction:column}
.gc-filterbar--plein .gc-filtre{
  display:flex;align-items:center;gap:clamp(12px,2vw,28px);
  padding:14px clamp(16px,3vw,48px);
  min-width:0;
}
.gc-filterbar--plein .gc-filtre--sous{
  border-top:1px solid var(--gc-line-soft);background:var(--gc-bg-field);
}
.gc-filterbar--plein .gc-filtre__label{
  flex:none;margin:0;
  font-family:var(--gc-font-title);font-size:10.5px;font-weight:800;
  letter-spacing:.2em;text-transform:uppercase;color:var(--gc-faint);
}
/* Rail : les puces défilent au doigt, sans barre visible ni retour à la ligne. */
.gc-chips--rail{
  flex:1 1 auto;min-width:0;
  flex-wrap:nowrap;overflow-x:auto;gap:8px;padding:2px 0;
  scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x proximity;
}
.gc-chips--rail::-webkit-scrollbar{display:none}
.gc-chips--rail .gc-chip{flex:none;scroll-snap-align:start;border-radius:999px}
.gc-filterbar--plein .gc-filtres__bas{
  padding:14px clamp(16px,3vw,48px);
  background:var(--gc-bg-alt);
}
.gc-filtres__reset{
  display:inline-flex;align-items:center;gap:8px;flex:none;cursor:pointer;
  padding:11px 18px;border:1px solid var(--gc-line-strong);border-radius:999px;background:#fff;
  font-family:var(--gc-font-title);font-size:11px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--gc-muted);
  transition:border-color var(--gc-ease),color var(--gc-ease),background var(--gc-ease);
}
.gc-filtres__reset:hover,.gc-filtres__reset:focus-visible{border-color:var(--gc-gold);color:var(--gc-dark);background:#fff}
.gc-filtres__reset svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.gc-filterbar--plein .gc-search--catalogue{border-radius:999px;padding:12px 20px}
.gc-filterbar--plein .gc-count{margin-left:auto}

@media (max-width:900px){
  .gc-filterbar--plein .gc-filtre{align-items:stretch;flex-direction:column;gap:8px;padding:12px 16px}
  /* En colonne, le rail prend toute la largeur : sans cela il s'étale à la
     largeur de ses puces et pousse la page hors de l'écran. */
  .gc-filterbar--plein .gc-chips--rail{width:100%;align-self:stretch}
  .gc-filterbar--plein .gc-filtre__label{align-self:flex-start}
  .gc-filterbar--plein .gc-filtres__bas{flex-wrap:wrap;padding:12px 16px}
  .gc-filterbar--plein .gc-count{margin-left:0}
  .gc-filtres__reset{padding:10px 14px}
}

/* ── 13.11 Configurateur de produit ──────────────────────────────────── */
/* Sans JavaScript, rien de tout cela ne fonctionnerait : on ne l'affiche
   donc que si le script a pris la main. */
.gc-cfg{display:none}
.gc-js .gc-cfg{display:block;border-top:1px solid var(--gc-line);padding:14px 18px 18px}
.gc-cfg--fiche{border-top:0;padding:0;margin-top:22px}

.gc-cfg__reperes{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:5px}
.gc-cfg__reperes li{
  background:var(--gc-bg-alt);padding:7px 10px;
  font-size:11.5px;line-height:1.45;color:var(--gc-text);
  overflow-wrap:anywhere;
}
.gc-cfg__reperes em{
  font-style:normal;font-family:var(--gc-font-title);font-weight:700;
  font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--gc-gold-ink);
}
.gc-cfg__reperes--fiche{margin:4px 0 14px}

.gc-cfg__fiche{
  display:inline-flex;align-items:center;gap:7px;margin-bottom:12px;
  font-family:var(--gc-font-title);font-size:11px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gc-muted);
}
.gc-cfg__fiche svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.gc-cfg__fiche:hover{color:var(--gc-gold-ink)}

.gc-cfg__bouton{width:100%;padding:14px 16px;font-size:11.5px;letter-spacing:.1em}
.gc-cfg--fiche .gc-cfg__bouton{width:auto;min-width:min(320px,100%)}

.gc-cfg__panneau{margin-top:14px;display:flex;flex-direction:column;gap:12px}
.gc-cfg__panneau[hidden]{display:none}
.gc-cfg__ligne{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:baseline}
.gc-cfg__label{
  font-family:var(--gc-font-title);font-size:11px;font-weight:700;letter-spacing:.08em;
  color:var(--gc-dark);text-transform:uppercase;
}
.gc-cfg__choix{
  justify-self:end;max-width:62%;font-size:12px;font-weight:600;color:var(--gc-gold-ink);
  background:rgba(200,164,92,.16);padding:2px 9px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.gc-cfg__select,.gc-cfg__qte{
  grid-column:1/-1;width:100%;
  border:1px solid var(--gc-line-strong);background:var(--gc-bg-field);
  padding:12px 14px;font-family:var(--gc-font-body);font-size:15px;color:var(--gc-ink);
  transition:border-color var(--gc-ease);
}
.gc-cfg__select:focus,.gc-cfg__qte:focus{outline:none;border-color:var(--gc-gold)}
.gc-cfg__ligne--qte .gc-cfg__qte{max-width:140px}
.gc-cfg__ajouter{width:100%;gap:9px;padding:15px 16px;font-size:11.5px;letter-spacing:.09em}
.gc-cfg__ajouter svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gc-cfg__avis{
  margin:0;padding:9px 12px;background:#f2f7f2;border-left:3px solid #4b7f52;
  font-size:13px;color:#2f5636;
}
.gc-cfg__avis[hidden]{display:none}

/* La carte n'est plus un lien entier : seule la partie haute l'est. */
.gc-decor__lien{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}
.gc-decor--cfg{position:relative}

/* ── 13.12 Tiroir « Ma sélection » ───────────────────────────────────── */
.gc-identity__droite{display:flex;align-items:stretch;gap:clamp(18px,2.4vw,40px);flex-wrap:wrap}
.gc-navsel{display:none}
.gc-js .gc-navsel{
  display:inline-flex;align-items:center;gap:9px;flex:none;cursor:pointer;align-self:center;
  padding:13px 18px;border:1px solid var(--gc-gold);background:transparent;
  font-family:var(--gc-font-title);font-size:11px;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;color:var(--gc-identity-ink,var(--gc-dark));
  transition:border-color var(--gc-ease),background var(--gc-ease),color var(--gc-ease);
}
.gc-navsel:hover,.gc-navsel:focus-visible{background:var(--gc-gold);color:var(--gc-dark)}
.gc-navsel:hover .gc-navsel__n,.gc-navsel:focus-visible .gc-navsel__n{background:var(--gc-dark);color:var(--gc-gold)}
.gc-navsel svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.gc-navsel__n{
  min-width:20px;height:20px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;
  background:var(--gc-gold);color:var(--gc-dark);border-radius:999px;
  font-size:11px;font-weight:900;letter-spacing:0;
}
.gc-navsel__n[hidden]{display:none}
.gc-navsel.is-plein{background:var(--gc-gold);color:var(--gc-dark)}

.gc-sel{position:fixed;inset:0;z-index:100000;display:flex;justify-content:flex-end}
.gc-sel[hidden]{display:none}
.gc-sel__voile{position:absolute;inset:0;background:rgba(14,11,9,.55);animation:gc-sel-voile .2s ease both}
@keyframes gc-sel-voile{from{opacity:0}to{opacity:1}}
.gc-sel__tiroir{
  position:relative;z-index:1;
  width:min(440px,100%);height:100%;
  display:flex;flex-direction:column;
  background:#fff;box-shadow:-24px 0 60px rgba(0,0,0,.28);
  animation:gc-sel-entre .3s ease both;
}
@keyframes gc-sel-entre{from{transform:translateX(24px);opacity:.6}to{transform:none;opacity:1}}

.gc-sel__tete{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:22px 24px;border-bottom:1px solid var(--gc-line);
}
.gc-sel__titre{
  margin:0;font-family:var(--gc-font-title);font-size:14px;font-weight:800;
  letter-spacing:.18em;text-transform:uppercase;color:var(--gc-dark);
}
.gc-sel__fermer{
  width:38px;height:38px;flex:none;padding:0;cursor:pointer;border:0;
  display:flex;align-items:center;justify-content:center;
  background:var(--gc-bg-alt);color:var(--gc-dark);
  transition:background var(--gc-ease);
}
.gc-sel__fermer:hover,.gc-sel__fermer:focus-visible{background:var(--gc-gold)}
.gc-sel__fermer svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}

.gc-sel__vide{margin:0;padding:28px 24px;font-size:15px;line-height:1.6;color:var(--gc-muted)}
.gc-sel__vide[hidden]{display:none}

.gc-sel__liste{list-style:none;margin:0;padding:0;flex:1 1 auto;overflow-y:auto}
.gc-sel__item{display:grid;grid-template-columns:76px 1fr auto;gap:14px;padding:16px 24px;border-bottom:1px solid var(--gc-line-soft)}
.gc-sel__media{display:block;width:76px;height:76px;background:var(--gc-bg-alt);overflow:hidden}
.gc-sel__media img{width:100%;height:100%;object-fit:cover}
.gc-sel__corps{min-width:0;display:flex;flex-direction:column;gap:5px}
.gc-sel__nom{
  font-family:var(--gc-font-title);font-size:13.5px;font-weight:700;line-height:1.35;
  color:var(--gc-dark);overflow-wrap:anywhere;
}
.gc-sel__nom:hover{color:var(--gc-gold-ink)}
.gc-sel__ref{font-size:11.5px;color:var(--gc-faint)}
.gc-sel__opts{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:5px}
.gc-sel__opts li{background:var(--gc-bg-alt);padding:3px 8px;font-size:11.5px;color:var(--gc-text)}
.gc-sel__opts em{font-style:normal;color:var(--gc-faint)}
.gc-sel__qte{display:inline-flex;align-items:center;gap:0;margin-top:6px;border:1px solid var(--gc-line-strong);align-self:flex-start}
.gc-sel__qte button{
  width:30px;height:30px;padding:0;border:0;cursor:pointer;background:#fff;
  font-size:15px;line-height:1;color:var(--gc-dark);
}
.gc-sel__qte button:hover{background:var(--gc-bg-alt)}
.gc-sel__qte span{min-width:34px;text-align:center;font-size:13px;font-weight:700}
.gc-sel__retirer{
  width:30px;height:30px;flex:none;padding:0;cursor:pointer;border:0;background:none;color:var(--gc-faint);
  transition:color var(--gc-ease);
}
.gc-sel__retirer:hover,.gc-sel__retirer:focus-visible{color:#a4443a}
.gc-sel__retirer svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}

.gc-sel__pied{padding:18px 24px 24px;border-top:1px solid var(--gc-line);background:var(--gc-bg-alt)}
.gc-sel__pied[hidden]{display:none}
.gc-sel__total{
  display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;
  font-family:var(--gc-font-title);font-size:11.5px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--gc-muted);
}
.gc-sel__vider{
  padding:0;border:0;background:none;cursor:pointer;
  font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;
  color:var(--gc-faint);text-decoration:underline;text-underline-offset:3px;
}
.gc-sel__vider:hover{color:#a4443a}
.gc-sel__devis{width:100%;padding:17px 18px;font-size:11.5px;letter-spacing:.08em;white-space:normal;line-height:1.3}

/* Le détail de la sélection, rappelé dans la fenêtre de devis. */
.gc-modal__sel{margin:0 0 20px;padding:14px 16px;background:var(--gc-bg-alt);border-left:3px solid var(--gc-gold)}
.gc-modal__sel[hidden]{display:none}
.gc-modal__sel-titre{
  margin:0 0 8px;font-family:var(--gc-font-title);font-size:11px;font-weight:800;
  letter-spacing:.14em;text-transform:uppercase;color:var(--gc-gold-ink);
}
.gc-modal__sel-liste{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:190px;overflow-y:auto}
.gc-modal__sel-liste li{font-size:13.5px;line-height:1.45;color:var(--gc-text);overflow-wrap:anywhere}

@media (max-width:1180px){
  .gc-js .gc-navsel{padding:13px 14px}
  .gc-navsel__mot{display:none}
}
@media (max-width:640px){
  .gc-sel__tiroir{width:100%}
  .gc-sel__item{grid-template-columns:62px 1fr auto;gap:11px;padding:14px 16px}
  .gc-sel__media{width:62px;height:62px}
  .gc-sel__tete,.gc-sel__pied{padding-left:16px;padding-right:16px}
  .gc-sel__vide{padding:24px 16px}
}
@media (prefers-reduced-motion:reduce){
  .gc-sel__tiroir,.gc-sel__voile{animation:none}
}

/* Téléphone et tablette : la barre d'actions de l'en-tête est masquée — le
   menu est un tiroir. Le bouton de sélection devient une pastille posée en
   bas à gauche, à l'opposé du bouton WhatsApp, et ne réapparaît que lorsque
   la sélection contient quelque chose : un panier vide n'a rien à annoncer. */
@media (max-width:860px){
  .gc-js .gc-navsel{display:none}
  .gc-js .gc-navsel.is-plein{
    display:inline-flex;position:fixed;left:16px;bottom:16px;z-index:899;
    padding:14px 18px;border-radius:999px;border-color:var(--gc-gold);
    background:var(--gc-dark);color:#fff;
    box-shadow:0 12px 28px rgba(38,32,25,.34);
  }
  .gc-js .gc-navsel.is-plein .gc-navsel__mot{display:inline}
  body.gc-nav-ouvert .gc-navsel.is-plein{display:none}
}
@media (max-width:380px){
  .gc-js .gc-navsel.is-plein .gc-navsel__mot{display:none}
}

/* ── 13.13 Configurateur dans la carte des nouveaux arrivages ─────────── */
/* Le même qu'au catalogue, posé sur fond sombre : libellés dorés, champs
   translucides, bouton d'ouverture discret pour ne pas concurrencer
   « Demander un devis ». */
.gc-js .gc-cfg--vitrine{border-top:1px solid rgba(200,164,92,.26);padding:14px 0 0;margin-top:2px}
.gc-cfg--vitrine .gc-cfg__bouton{
  width:100%;background:transparent;color:var(--gc-gold);
  border:1px solid rgba(200,164,92,.5);
}
.gc-cfg--vitrine .gc-cfg__bouton:hover,
.gc-cfg--vitrine .gc-cfg__bouton:focus{background:var(--gc-gold);color:var(--gc-dark);border-color:var(--gc-gold)}
.gc-cfg--vitrine .gc-cfg__panneau{gap:10px}
.gc-cfg--vitrine .gc-cfg__label{color:rgba(255,255,255,.82)}
.gc-cfg--vitrine .gc-cfg__choix{background:rgba(200,164,92,.2);color:var(--gc-gold)}
.gc-cfg--vitrine .gc-cfg__select,
.gc-cfg--vitrine .gc-cfg__qte{
  background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.22);color:#fff;
  padding:10px 12px;font-size:14px;
}
.gc-cfg--vitrine .gc-cfg__select option{color:var(--gc-dark)}
.gc-cfg--vitrine .gc-cfg__select:focus,
.gc-cfg--vitrine .gc-cfg__qte:focus{border-color:var(--gc-gold)}
.gc-cfg--vitrine .gc-cfg__ajouter{background:var(--gc-gold);color:var(--gc-dark);padding:13px 14px}
.gc-cfg--vitrine .gc-cfg__ajouter:hover,
.gc-cfg--vitrine .gc-cfg__ajouter:focus{background:#fff;color:var(--gc-dark)}
.gc-cfg--vitrine .gc-cfg__avis{background:rgba(75,127,82,.18);border-left-color:#7fc08a;color:#d9efdc}

/* Pas de défilement interne : le bouton « Ajouter à ma sélection » doit
   rester visible sans qu’on ait à faire défiler le panneau. La carte
   s’allonge, et le défilement du bandeau est de toute façon suspendu. */

/* ── 13.14 Mentions légales ──────────────────────────────────────────── */
/* Deux colonnes : un sommaire qui reste à portée pendant la lecture, et le
   texte. Une colonne sur tablette et téléphone, sommaire replié en tête. */
.gc-legal__grille{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start}

.gc-legal__sommaire{position:sticky;top:96px;background:var(--gc-bg-alt);padding:24px 22px;border-top:3px solid var(--gc-gold)}
.gc-legal__sommaire-titre{
  display:block;margin-bottom:14px;
  font-family:var(--gc-font-title);font-size:11px;font-weight:800;
  letter-spacing:.2em;color:var(--gc-gold-ink);
}
.gc-legal__sommaire ol{margin:0;padding:0 0 0 18px;display:flex;flex-direction:column;gap:9px}
.gc-legal__sommaire li{font-size:14px;line-height:1.4;color:var(--gc-muted)}
.gc-legal__sommaire a{color:var(--gc-text);transition:color var(--gc-ease)}
.gc-legal__sommaire a:hover{color:var(--gc-gold-ink)}
.gc-legal__maj{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--gc-line);font-size:12.5px;color:var(--gc-faint)}

.gc-legal__intro{margin-bottom:34px}
.gc-legal__section{scroll-margin-top:110px;padding-bottom:30px;margin-bottom:30px;border-bottom:1px solid var(--gc-line-soft)}
.gc-legal__section:last-of-type{border-bottom:0}
.gc-legal__titre{
  margin:0 0 16px;font-family:var(--gc-font-title);font-size:clamp(19px,2vw,24px);
  font-weight:800;color:var(--gc-title,var(--gc-dark));letter-spacing:-.01em;
}
.gc-legal__corps p{margin:0 0 14px;font-size:16px;line-height:1.75;color:var(--gc-text);text-wrap:pretty}
.gc-legal__corps p:last-child{margin-bottom:0}

/* Les informations de la société : un tableau de définitions, pas un bloc
   de texte — on y retrouve un numéro d'un coup d'œil. */
.gc-legal__liste{
  display:grid;grid-template-columns:minmax(0,210px) minmax(0,1fr);
  gap:1px;margin:0 0 20px;background:var(--gc-line-soft);
  border:1px solid var(--gc-line-soft);
}
.gc-legal__liste dt,
.gc-legal__liste dd{margin:0;padding:11px 16px;background:var(--gc-bg);font-size:14.5px}
.gc-legal__liste dt{
  font-family:var(--gc-font-title);font-size:11.5px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--gc-muted);
  background:var(--gc-bg-alt);
}
.gc-legal__liste dd{color:var(--gc-dark);overflow-wrap:anywhere}
.gc-legal__liste a{color:var(--gc-gold-ink);text-decoration:underline;text-underline-offset:3px}

.gc-legal__pied{margin-top:36px}

@media (max-width:900px){
  .gc-legal__grille{grid-template-columns:minmax(0,1fr);gap:28px}
  .gc-legal__sommaire{position:static}
  .gc-legal__liste{grid-template-columns:minmax(0,1fr)}
  .gc-legal__liste dt{padding-bottom:4px}
  .gc-legal__liste dd{padding-top:4px}
}

/* Le lien légal du pied de page suit la couleur des mentions voisines. */
.gc-footer__legal{margin-left:14px;padding-left:14px;border-left:1px solid rgba(255,255,255,.22)}

/* La famille au-dessus du titre d'un catalogue de catégorie : on voit à
   quel ensemble il appartient sans ouvrir le fichier. */
.gc-cata__famille{
  display:block;margin-bottom:5px;
  font-family:var(--gc-font-title);font-size:10px;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;color:var(--gc-gold-ink);
}
