/* ⚠️ Les jetons sont sur :root ET sur .grb-app. La feuille de filtres est posee sur le
   body, donc HORS de .grb-app : si les variables n'existent que sur .grb-app, chaque
   border et chaque color de la feuille resout dans le vide et la regle est jetee.
   C'est ce qui lui donnait l'air d'un texte brut sans cadre. */
:root{--grb-encre:#07082C;--grb-ancre:#08092D;--grb-dore:#958E09;--grb-beige:#A39268;
  --grb-filet:#E9E6ED;--grb-gris:#6B6B70}
.grb-app{--grb-encre:#07082C;--grb-ancre:#08092D;--grb-dore:#958E09;--grb-beige:#A39268;
  --grb-filet:#E9E6ED;--grb-gris:#6B6B70;color:var(--grb-ancre)}
.grb-app *,.grb-app *::before,.grb-app *::after{box-sizing:border-box}
.grb-app button,.grb-app input,.grb-feuille button,.grb-feuille input{border-radius:0;font-family:inherit}
.grb-attente{min-height:420px}

/* Les quatre rayons en mots, pas en pastilles. */
.grb-racc{display:flex;gap:20px;overflow-x:auto;scrollbar-width:none;align-items:center;
  height:40px;border-bottom:1px solid var(--grb-filet)}
.grb-racc::-webkit-scrollbar{display:none}
.grb-racc button{flex:none;font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  background:none;border:0;padding:0;cursor:pointer;color:var(--grb-gris);white-space:nowrap;
  border-bottom:1px solid transparent;line-height:22px}
.grb-racc button[aria-pressed="true"]{color:var(--grb-encre);font-weight:700;border-bottom-color:var(--grb-encre)}

/* La rangée de commande : 44 px, du texte nu, un filet. */
.grb-cmd{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:12px;
  height:44px;background:#fff;border-bottom:1px solid var(--grb-filet)}
.grb-cpt{font-size:11px;color:var(--grb-gris);font-variant-numeric:tabular-nums;white-space:nowrap}
.grb-vues{display:flex;gap:9px}
.grb-vues button{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;background:none;
  border:0;padding:0;cursor:pointer;color:var(--grb-gris)}
.grb-vues button[aria-pressed="true"]{color:var(--grb-encre);font-weight:700;border-bottom:1px solid var(--grb-encre)}
.grb-actions{margin-left:auto;display:flex;align-items:center;gap:14px}
.grb-actions .grb-sep{width:1px;height:16px;background:var(--grb-filet)}
.grb-actions button{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  background:none;border:0;padding:0;cursor:pointer;color:var(--grb-encre);white-space:nowrap}
.grb-actions button i{font-style:normal;color:var(--grb-dore);margin-left:5px}

.grb-grille{display:grid;grid-template-columns:repeat(2,1fr);gap:26px 14px;padding:22px 0 40px}
.grb-carte{min-width:0}
.grb-cadre{display:block;aspect-ratio:1/1;border:1px solid var(--grb-filet);background:#fff;
  overflow:hidden;position:relative}
.grb-cadre img{position:absolute;inset:7%;width:86%;height:86%;object-fit:contain}
.grb-mt{display:block;margin:9px 0 2px;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--grb-gris)}
.grb-app a.grb-nom{display:block;font-size:13px;line-height:18px;min-height:36px;
  color:var(--grb-ancre)!important;text-decoration:none!important;border:0;box-shadow:none}
.grb-app a.grb-nom:hover{color:var(--grb-encre)!important;text-decoration:none!important}
.grb-prix{display:block;margin-top:4px;font-size:14px;font-weight:700;color:var(--grb-dore);font-variant-numeric:tabular-nums}
.grb-g{font-size:11px;color:var(--grb-gris);font-variant-numeric:tabular-nums}
.grb-app a.grb-ach,.grb-app a.grb-ach:visited{display:block;width:100%;margin-top:9px;font-size:12px;
  line-height:16px;font-weight:600;padding:11px 10px;border-radius:3px;
  background:var(--grb-encre);border:1px solid var(--grb-encre);color:#fff!important;
  cursor:pointer;text-align:center;text-decoration:none!important;box-shadow:none}
.grb-app a.grb-ach:hover{background:#101238;border-color:#101238;color:#fff!important;
  text-decoration:none!important}
.grb-app a.grb-ach.added{display:none}
.grb-app a.added_to_cart{display:block;width:100%;margin-top:6px;font-size:11.5px;text-align:center;
  color:var(--grb-gris)!important;text-decoration:underline!important;text-underline-offset:3px}
.grb-ach.loading{opacity:.6;pointer-events:none}

.grb-grille.liste{display:block;padding:0 0 40px}
.grb-grille.liste .grb-carte{display:grid;grid-template-columns:52px minmax(0,1fr) auto;
  gap:2px 14px;align-items:center;padding:13px 0;border-bottom:1px solid var(--grb-filet)}
.grb-grille.liste .grb-cadre{width:52px;height:52px;aspect-ratio:auto;grid-row:span 2;border:0}
.grb-grille.liste .grb-mt,.grb-grille.liste .grb-g{display:none}
.grb-grille.liste .grb-nom{grid-column:2;grid-row:1;min-height:0;font-size:14px}
.grb-grille.liste .grb-prix{grid-column:3;grid-row:1;margin:0;text-align:right}
.grb-grille.liste .grb-ach{grid-column:2/4;grid-row:2;width:auto;justify-self:end;margin-top:5px;padding:8px 14px;font-size:11.5px}

.grb-vide{padding:48px 0;text-align:center;color:var(--grb-gris)}
.grb-vide b{display:block;font-size:17px;color:var(--grb-ancre);font-weight:700;margin-bottom:5px}

/* La feuille monte du bas. */
.grb-feuille{position:fixed;inset:auto 0 0 0;width:100%;max-width:100%;max-height:90dvh;height:78dvh;
  margin:0;padding:0;border:0;background:#fff;color:var(--grb-ancre);flex-direction:column;z-index:100000}
.grb-feuille[open]{display:flex}
.grb-feuille:not([open]){display:none}
.grb-feuille::backdrop{background:rgba(7,8,44,.36)}
.grb-fh{display:flex;align-items:center;height:50px;padding:0 16px;border-bottom:1px solid var(--grb-filet);flex:none}
.grb-fh b{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.grb-fh button{margin-left:auto;width:40px;height:40px;border:0;background:none;cursor:pointer;
  font-size:22px;line-height:1;color:var(--grb-encre)}
.grb-fcorps{overflow-y:auto;flex:1;padding:4px 16px 10px;-webkit-overflow-scrolling:touch}
.grb-fsec{padding:14px 0 4px;border-bottom:1px solid var(--grb-filet)}
.grb-fsec:last-child{border-bottom:0}
.grb-fsec h3{margin:0 0 10px;font-size:9.5px;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--grb-gris)}
.grb-fopts{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:12px}
.grb-fopts button{font-size:13px;line-height:18px;padding:8px 12px;background:#fff;
  border:1px solid var(--grb-filet);color:var(--grb-ancre);cursor:pointer}
.grb-fopts button i{font-style:normal;margin-left:7px;font-size:11px;color:var(--grb-gris);font-variant-numeric:tabular-nums}
.grb-fopts button[aria-pressed="true"]{border-color:var(--grb-encre);background:var(--grb-encre);color:#fff}
.grb-fopts button[aria-pressed="true"] i{color:rgba(255,255,255,.72)}
.grb-fopts button[disabled]{opacity:.34;cursor:default}
.grb-fpied{flex:none;display:flex;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid var(--grb-filet)}
.grb-raz{font-size:12px;background:none;border:0;color:var(--grb-gris);cursor:pointer;
  text-decoration:underline;text-underline-offset:3px}
.grb-voir{margin-left:auto;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  padding:13px 20px;background:var(--grb-encre);border:1px solid var(--grb-encre);color:#fff;cursor:pointer}
.grb-fcherche{padding:10px 0 4px}
.grb-fcherche input{width:100%;font-family:inherit;font-size:14px;padding:11px 12px;
  border:1px solid var(--grb-filet);outline:0;color:var(--grb-ancre);border-radius:0}

@media (min-width:760px){
  .grb-grille{grid-template-columns:repeat(3,1fr);gap:34px 22px}
  .grb-grille.liste .grb-carte{grid-template-columns:64px minmax(0,1fr) 110px 130px 170px;gap:0 20px}
  .grb-grille.liste .grb-cadre{width:64px;height:64px;grid-row:auto}
  .grb-grille.liste .grb-nom,.grb-grille.liste .grb-prix{grid-row:auto}
  .grb-grille.liste .grb-g{display:block;grid-row:auto;text-align:right}
  .grb-grille.liste .grb-ach{grid-column:auto;grid-row:auto;margin:0;width:100%;justify-self:stretch}
}
@media (min-width:1100px){ .grb-grille{grid-template-columns:repeat(4,1fr)} }

/* ⚠️ BLINDAGE. Le kit Elementor repeint tous les `button` du site en bleu et leur
   impose son remplissage, son rayon et sa graisse. La feuille vit hors de .grb-app
   (elle est posee sur le body), donc elle prend tout de plein fouet : les options
   perdaient leur cadre, « Tout effacer » et « Voir les references » viraient au
   bleu. Chaque propriete est donc redonnee explicitement, en important. */
dialog.grb-feuille{box-sizing:border-box}
dialog.grb-feuille *,dialog.grb-feuille *::before,dialog.grb-feuille *::after{box-sizing:border-box}
dialog.grb-feuille button,dialog.grb-feuille input{
  font-family:inherit!important;border-radius:0!important;box-shadow:none!important;
  text-transform:none!important;letter-spacing:normal!important;text-decoration:none!important;
  min-height:0!important;line-height:normal}
dialog.grb-feuille .grb-fopts button{
  display:inline-block!important;font-size:13px!important;line-height:18px!important;
  font-weight:400!important;padding:8px 12px!important;background:#fff!important;
  border:1px solid var(--grb-filet)!important;color:var(--grb-ancre)!important;
  width:auto!important;height:auto!important;margin:0!important}
dialog.grb-feuille .grb-fopts button i{
  font-style:normal!important;margin-left:7px!important;font-size:11px!important;
  color:var(--grb-gris)!important;font-variant-numeric:tabular-nums}
dialog.grb-feuille .grb-fopts button[aria-pressed="true"]{
  border-color:var(--grb-encre)!important;background:var(--grb-encre)!important;color:#fff!important}
dialog.grb-feuille .grb-fopts button[aria-pressed="true"] i{color:rgba(255,255,255,.72)!important}
dialog.grb-feuille .grb-fopts button[disabled]{opacity:.34!important;cursor:default}
dialog.grb-feuille .grb-fh button{
  background:none!important;border:0!important;color:var(--grb-encre)!important;
  width:40px!important;height:40px!important;font-size:22px!important;padding:0!important}
dialog.grb-feuille .grb-raz{
  background:none!important;border:0!important;color:var(--grb-gris)!important;
  font-size:12px!important;padding:0!important;width:auto!important;
  text-decoration:underline!important;text-underline-offset:3px}
dialog.grb-feuille .grb-voir{
  background:var(--grb-encre)!important;border:1px solid var(--grb-encre)!important;
  color:#fff!important;font-size:11px!important;font-weight:700!important;
  letter-spacing:.12em!important;text-transform:uppercase!important;
  padding:13px 20px!important;width:auto!important}
dialog.grb-feuille .grb-fcherche input{
  width:100%!important;font-size:14px!important;padding:11px 12px!important;
  border:1px solid var(--grb-filet)!important;background:#fff!important;
  color:var(--grb-ancre)!important;height:auto!important}
dialog.grb-feuille .grb-fsec h3{
  margin:0 0 10px!important;font-size:9.5px!important;font-weight:700!important;
  letter-spacing:.18em!important;text-transform:uppercase!important;
  color:var(--grb-gris)!important;line-height:14px!important}
dialog.grb-feuille .grb-fopts{display:flex!important;flex-wrap:wrap!important;gap:8px!important;
  padding-bottom:12px!important}
dialog.grb-feuille .grb-fsec{padding:14px 0 4px!important;border-bottom:1px solid var(--grb-filet)!important}
dialog.grb-feuille .grb-fsec:last-child{border-bottom:0!important}

/* Meme blindage sur la rangee de commande et les raccourcis, qui sont aussi des boutons. */
.grb-app .grb-racc button,.grb-app .grb-cmd button{
  background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;
  padding:0!important;width:auto!important;height:auto!important;min-height:0!important;
  text-decoration:none!important;font-family:inherit!important}
.grb-app .grb-racc button{font-size:12px!important;letter-spacing:.1em!important;
  text-transform:uppercase!important;color:var(--grb-gris)!important;line-height:22px!important;
  border-bottom:1px solid transparent!important}
.grb-app .grb-racc button[aria-pressed="true"]{color:var(--grb-encre)!important;font-weight:700!important;
  border-bottom-color:var(--grb-encre)!important}
.grb-app .grb-cmd .grb-vues button{font-size:9.5px!important;letter-spacing:.1em!important;
  text-transform:uppercase!important;color:var(--grb-gris)!important}
.grb-app .grb-cmd .grb-vues button[aria-pressed="true"]{color:var(--grb-encre)!important;
  font-weight:700!important;border-bottom:1px solid var(--grb-encre)!important}
.grb-app .grb-cmd .grb-actions button{font-size:11.5px!important;font-weight:700!important;
  letter-spacing:.12em!important;text-transform:uppercase!important;color:var(--grb-encre)!important}
.grb-app .grb-cmd .grb-actions button i{font-style:normal!important;color:var(--grb-dore)!important;
  margin-left:5px!important}

/* ⚠️ TYPOGRAPHIE DU SITE. Mulish etait deja herite, mais l'habillage ne l'etait
   pas : petites capitales et interlettrage large partout, ce que goldreserve.fr
   n'utilise nulle part sauf les intertitres du pied de page. Le site ecrit en bas
   de casse, sans interlettrage : nav 13,5 px, titres produit 20 px en 700.
   Tout ce qui suit remet le bloc dans cette voix. */
.grb-app .grb-racc button{font-size:14px!important;letter-spacing:normal!important;
  text-transform:none!important;line-height:24px!important}
.grb-app .grb-racc button[aria-pressed="true"]{font-weight:700!important}
.grb-app .grb-cpt{font-size:13px!important;letter-spacing:normal!important}
.grb-app .grb-cmd .grb-vues button{font-size:12px!important;letter-spacing:normal!important;
  text-transform:none!important}
.grb-app .grb-cmd .grb-actions button{font-size:14px!important;font-weight:700!important;
  letter-spacing:normal!important;text-transform:none!important}
.grb-app .grb-mt{font-size:11px!important;letter-spacing:normal!important;
  text-transform:none!important}
dialog.grb-feuille .grb-fh b{font-size:14px!important;font-weight:700!important;
  letter-spacing:normal!important;text-transform:none!important}
dialog.grb-feuille .grb-fsec h3{font-size:12px!important;font-weight:700!important;
  letter-spacing:normal!important;text-transform:none!important;color:var(--grb-ancre)!important}
dialog.grb-feuille .grb-voir{font-size:13px!important;font-weight:600!important;
  letter-spacing:normal!important;text-transform:none!important}
dialog.grb-feuille .grb-raz{font-size:13px!important}

/* ---------------------------------------------------------------------------
   Fil d'Ariane maison, en remplacement du widget ShopLentor, et bloc des
   references voisines en bas de fiche, en remplacement de la grille
   JetWooBuilder. Les deux servent a pouvoir couper les extensions.
   --------------------------------------------------------------------------- */
.grb-fil{display:flex;flex-wrap:wrap;align-items:center;gap:9px;
  font-size:13px;line-height:20px;color:var(--grb-gris)}
.grb-fil a{color:var(--grb-beige);text-decoration:none}
.grb-fil a:hover{color:var(--grb-encre);text-decoration:underline}
.grb-fil [aria-current]{color:var(--grb-ancre)}
.grb-fil-sep{color:#C9C4D2}

.grb-lies{margin-top:56px;padding-top:34px;border-top:1px solid var(--grb-filet)}
.grb-lies-t{margin:0;font-size:20px;line-height:1.3;font-weight:700;color:var(--grb-encre)}
.grb-lies .grb-grille{padding-bottom:0}
@media (min-width:1100px){ .grb-lies-t{font-size:23px} }

/* ⚠️ 09/10/2026. Le nombre de colonnes sur grand ecran vit ICI et pas dans
   largeur.css : les deux feuilles ont la meme specificite, et boutique.css est
   mise en file pendant le rendu du code court, donc servie APRES. Posee dans
   largeur.css, la regle a cinq colonnes ne passait jamais devant le repeat(4)
   ci-dessus, et la boutique restait a quatre cartes de 368 px de large. */
@media (min-width:1300px){ .grb-grille{grid-template-columns:repeat(5,1fr)} }
/* ⚠️ On s'ARRETE a cinq colonnes, decide le 09/10/2026. A six, sur un 27 pouces,
   la carte tombait a 238 px et la piece a 205 : ca faisait catalogue de
   liquidation. A cinq, la carte fait 288 px et la piece 248. Sur un catalogue de
   78 references photographiees sur fond blanc, la lisibilite de l'objet compte
   plus que le nombre de vignettes vues d'un coup. */

/* ---------------------------------------------------------------------------
   09/10/2026. La photo de la carte est devenue un lien : le kit Elementor
   repeint tout <a> en bleu souligne, il faut donc le neutraliser ici comme on
   l'a fait pour le nom et le bouton d'achat.
   --------------------------------------------------------------------------- */
.grb-app a.grb-cadre,.grb-app a.grb-cadre:hover,.grb-app a.grb-cadre:focus{
  text-decoration:none!important;color:inherit!important;border-bottom:0!important}
.grb-app a.grb-cadre{cursor:pointer}
.grb-app a.grb-cadre:hover img{transform:scale(1.03)}
.grb-app a.grb-cadre img{transition:transform .18s ease}

/* Le bloc des voisines ne montre que quatre references : on plafonne sa grille a
   quatre colonnes pour que la rangee soit pleine, au lieu de laisser deux trous
   dans la grille a six colonnes de la boutique. */
@media (min-width:1300px){ .grb-lies .grb-grille{grid-template-columns:repeat(4,1fr)} }
@media (min-width:1700px){ .grb-lies .grb-grille{grid-template-columns:repeat(4,1fr)} }

/* Le widget qui porte le fil d'Ariane recevait les 20 px de marge basse
   d'Elementor. A 0, le titre de la boutique se collait au fil ; a 20, la page
   categorie avait un trou. 12 px partout : un pas regulier. */
/* ⚠️ Pas de `>` : Elementor intercale un .elementor-shortcode entre le
   conteneur du widget et notre balise. Le selecteur enfant direct ne trouvait
   rien et la marge restait. */
.elementor-widget-shortcode:has(.grb-fil){margin-bottom:12px!important}
