/* ══════════════════════════════════════════════════════════════════════════════
   GIRI STORE — LA COUCHE ULTIME · 13/10/2026 (feuille compagne de gs-ultime.js)
   Deux thèmes, deux seulement : marbre clair et marbre de nuit (jetons de charte-marbre.css).
   ══════════════════════════════════════════════════════════════════════════ */
:root{--gsu-or:#a57c2c;--gsu-or-vif:#c9a253;--gsu-filet:rgba(160,120,64,.18);--gsu-encre:#2a1200;--gsu-doux:#6b5238;
  --gsu-surface:rgba(255,253,248,.94);--gsu-lingot:linear-gradient(180deg,#f4e19a,#d9b247 52%,#c19b33);--gsu-encre-lingot:#3a2708}
html[data-theme="dark"]{--gsu-or:#e6c872;--gsu-or-vif:#f0d98c;--gsu-filet:rgba(240,217,140,.16);--gsu-encre:#eef2f9;--gsu-doux:#b5c2d6;
  --gsu-surface:rgba(16,27,47,.96)}

/* ── 1. Les icônes ── */
.gsu-ico{width:1.15em;height:1.15em;flex:none;vertical-align:-.2em;display:inline-block}
.gsu-txt{display:inline}
.gs-btn__icon .gsu-ico,.gs-store-link__icon .gsu-ico{width:18px;height:18px}
.gs-header__icon-wrap .gsu-ico,.gs-kpi__icon-wrap .gsu-ico{width:22px;height:22px;color:var(--gsu-or)}
.gs-header__icon-wrap span,.gs-kpi__icon-wrap span{display:flex;align-items:center;justify-content:center}
.gs-empty__icon .gsu-ico{width:44px;height:44px;color:var(--gsu-or);stroke-width:1.2}
.gs-card__thumb-placeholder{justify-content:center!important}
.gs-card__thumb-placeholder .gsu-ico{width:42px;height:42px;color:var(--gsu-or);opacity:.75;stroke-width:1.2}
.gs-card__type-tag .gsu-ico{width:13px;height:13px;vertical-align:-.15em}
.gs-tiroir__icone .gsu-ico{width:20px;height:20px;color:var(--gsu-or)}

/* ── 2. L'accueil épuré : la caisse règne, la navigation devient une rangée calme ── */
.gs-wrap{animation:gsuEntree .38s cubic-bezier(.2,.7,.2,1) both}
@keyframes gsuEntree{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.gs-wrap{animation:none}}
.gs-wrap>.gs-kpi-row{display:none!important}
.gs-wrap>.gs-header--accueil{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;margin:22px 0 6px!important}
.gs-wrap>.gs-header--accueil .gs-header__left{display:none!important}
.gs-wrap>.gs-header--accueil .gs-header__actions{display:grid!important;grid-template-columns:repeat(6,1fr);gap:12px;width:100%}
.gs-wrap>.gs-header--accueil .gs-btn{flex-direction:column;gap:8px;justify-content:center;padding:16px 8px!important;min-height:86px;
  border-radius:16px!important;font-weight:600;font-size:.86rem!important;background:var(--gsu-surface)!important;
  border:1px solid var(--gsu-filet)!important;box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 10px 24px -18px rgba(90,60,10,.5)!important;
  transition:transform .18s,box-shadow .18s,border-color .18s}
.gs-wrap>.gs-header--accueil .gs-btn:hover{transform:translateY(-2px);border-color:var(--gsu-or-vif)!important;
  box-shadow:0 16px 30px -18px rgba(90,60,10,.6)!important}
.gs-wrap>.gs-header--accueil .gs-btn__icon{display:flex}
.gs-wrap>.gs-header--accueil .gs-btn__icon .gsu-ico{width:24px;height:24px;color:var(--gsu-or)}

/* la caisse vivante */
.gs-caisse{position:relative;overflow:hidden}
.gsu-caisse-bas{width:100%;margin-top:18px}
.gsu-puces{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.gsu-puce{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:999px;font:500 .86rem/1.2 var(--sans,Inter,sans-serif);
  color:var(--gsu-doux);background:var(--gsu-filet)}
.gsu-puce b{color:var(--gsu-encre);font-weight:700}
.gsu-puce .gsu-ico{color:var(--gsu-or)}
.gsu-courbe{display:block;width:100%;height:92px;margin-top:14px}
.gsu-courbe__trait{stroke-dasharray:2000;stroke-dashoffset:2000;animation:gsuTrait 1.4s .2s ease-out forwards}
@keyframes gsuTrait{to{stroke-dashoffset:0}}
.gsu-courbe-vide{margin:14px 0 0;text-align:center;font:italic 400 1.02rem/1.4 var(--serif,Georgia,serif);color:var(--gsu-doux)}

/* ── 4. Le parcours d'ouverture ── */
.gsu-parcours{margin:18px 0 4px;padding:22px 24px;border-radius:20px;background:var(--gsu-surface);border:1px solid var(--gsu-filet);
  box-shadow:0 18px 40px -30px rgba(90,60,10,.55)}
.gsu-parcours__tete{display:flex;align-items:center;gap:16px;margin-bottom:14px}
.gsu-parcours h2{margin:0;font:600 1.55rem/1.15 var(--serif,Georgia,serif);color:var(--gsu-encre)}
.gsu-parcours__tete p{margin:3px 0 0;color:var(--gsu-doux);font-size:.95rem}
.gsu-anneau{width:64px;height:64px;flex:none}
.gsu-anneau text{font:700 15px Inter,sans-serif;fill:var(--gsu-encre)}
.gsu-etapes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.gsu-etapes button{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:10px;width:100%;height:100%;padding:12px 12px;
  border-radius:14px;border:1px solid var(--gsu-filet);cursor:pointer;transition:border-color .18s,background .18s}
.gsu-etapes button:hover,.gsu-etapes button:focus-visible{border-color:var(--gsu-or-vif);background:var(--gsu-filet)}
.gsu-etape-txt{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.gsu-etape-txt b{font:600 .9rem/1.25 Inter,sans-serif;color:var(--gsu-encre)}
.gsu-etape-txt small{font-size:.78rem;color:var(--gsu-doux);line-height:1.3}
.gsu-coche{width:26px;height:26px;flex:none;border-radius:50%;border:1.5px solid var(--gsu-or-vif);display:flex;align-items:center;justify-content:center}
.gsu-fait .gsu-coche{background:var(--gsu-lingot);border-color:transparent;color:var(--gsu-encre-lingot)}
.gsu-fait .gsu-coche .gsu-ico{width:15px;height:15px;stroke-width:2.4}
.gsu-fait button{cursor:default;opacity:.62}
.gsu-fait .gsu-etape-txt b{text-decoration:line-through;text-decoration-color:var(--gsu-or-vif)}
.gsu-fleche{color:var(--gsu-or);font-weight:700}

/* ── 5. Partage et QR ── */
.gsu-lien-actions{display:flex;gap:8px;flex-wrap:wrap}
.gsu-lien-actions .gs-btn{display:inline-flex;align-items:center;gap:6px}
.gsu-voile{position:fixed;inset:0;z-index:2000;background:rgba(20,12,2,.5);display:flex;align-items:center;justify-content:center;padding:16px;
  animation:gsuFondu .2s ease-out}
@keyframes gsuFondu{from{opacity:0}to{opacity:1}}
.gsu-feuille{position:relative;width:min(420px,100%);padding:30px 26px 24px;border-radius:24px;background:var(--gsu-surface);text-align:center;
  border:1px solid var(--gsu-filet);box-shadow:0 30px 80px -30px rgba(0,0,0,.6);animation:gsuMonte .28s cubic-bezier(.2,.8,.2,1)}
@keyframes gsuMonte{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
.gsu-feuille h2{margin:0 0 6px;font:600 1.7rem/1.1 var(--serif,Georgia,serif);color:var(--gsu-encre)}
.gsu-feuille p{margin:0;color:var(--gsu-doux)}
.gsu-qr{display:flex;justify-content:center;margin:20px auto 10px;padding:14px;background:#fff;border-radius:18px;width:fit-content;
  box-shadow:0 0 0 1px var(--gsu-filet)}
.gsu-qr img,.gsu-qr canvas{display:block}
.gsu-qr-url{font:600 .9rem Inter,sans-serif;color:var(--gsu-or)!important;word-break:break-all}
.gsu-feuille__actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px}
.gsu-fermer{position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:50%;border:1px solid var(--gsu-filet);background:none;
  color:var(--gsu-encre);font-size:16px;cursor:pointer}
.gsu-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:12px;border:1px solid var(--gsu-or-vif);
  background:transparent;color:var(--gsu-encre);font:600 .92rem Inter,sans-serif;cursor:pointer}
.gsu-btn--plein{background:var(--gsu-lingot);color:var(--gsu-encre-lingot);border-color:#b8912e}

/* ── 6. Le toast de vente ── */
.gsu-toast{position:fixed;left:50%;top:18px;z-index:2100;transform:translateX(-50%);display:flex;align-items:center;gap:10px;
  padding:14px 20px;border-radius:16px;background:var(--gsu-lingot);color:var(--gsu-encre-lingot);font:700 .98rem Inter,sans-serif;
  box-shadow:0 20px 50px -18px rgba(120,80,0,.7);animation:gsuMonte .35s cubic-bezier(.2,.8,.2,1);transition:opacity .5s,transform .5s}
.gsu-toast--part{opacity:0;transform:translate(-50%,-14px)}
.gsu-toast__ico .gsu-ico{width:22px;height:22px}

/* ── 7. L'installation ── */
.gsu-installer{display:flex;align-items:center;gap:14px;margin:14px 0;padding:14px 16px;border-radius:18px;background:var(--gsu-surface);
  border:1px solid var(--gsu-filet)}
.gsu-installer img{border-radius:12px;flex:none}
.gsu-installer div{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.gsu-installer b{color:var(--gsu-encre);font-size:.95rem}
.gsu-installer small{color:var(--gsu-doux)}
.gsu-plus-tard{width:40px;height:40px;border:0;background:none;color:var(--gsu-doux);cursor:pointer;font-size:15px}

/* ── 2bis. La barre du pouce : téléphone seulement, et seulement dans l'app ── */
.gsu-barre{display:none}
@media (max-width:760px){
  body.gs-app-ouverte .gsu-barre{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:10px;right:10px;
    bottom:calc(10px + env(safe-area-inset-bottom));z-index:900;padding:6px;border-radius:22px;background:var(--gsu-surface);
    border:1px solid var(--gsu-filet);box-shadow:0 18px 40px -16px rgba(40,25,0,.45);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  body.gs-app-ouverte{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
  body.gs-app-ouverte [data-dg-credit]{padding-bottom:110px!important}
  .gsu-onglet{all:unset;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
    min-height:54px;border-radius:16px;color:var(--gsu-doux);font:600 11px/1 Inter,sans-serif;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .gsu-onglet .gsu-ico{width:23px;height:23px}
  .gsu-onglet--actif{color:var(--gsu-encre);background:var(--gsu-filet)}
  .gsu-onglet--actif .gsu-ico{color:var(--gsu-or)}
  .gsu-onglet--centre .gsu-onglet__ico{width:46px;height:46px;margin-top:-20px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    background:var(--gsu-lingot);color:var(--gsu-encre-lingot);box-shadow:0 10px 22px -8px rgba(140,95,10,.75),0 0 0 4px var(--gsu-surface)}
  .gsu-onglet--centre .gsu-ico{width:24px;height:24px;stroke-width:2.2}
  /* la navigation de l'accueil est portée par la barre : la rangée d'icônes se retire */
  .gs-wrap>.gs-header--accueil{display:none!important}
  .gsu-etapes{grid-template-columns:1fr}
  .gsu-parcours{padding:18px 16px}
  .gsu-etapes button{padding:12px}

  /* les produits en liste compacte : 6 produits tiennent dans un écran, plus dans six */
  .gs-grid{display:flex!important;flex-direction:column;gap:10px!important}
  .gs-card{display:grid!important;grid-template-columns:76px 1fr;grid-template-rows:auto;align-items:stretch;min-height:0!important;border-radius:16px!important}
  .gs-card__drag-handle{display:none!important}
  .gs-card__visual{grid-row:1;grid-column:1;width:76px;height:auto!important;min-height:96px;aspect-ratio:auto!important;position:relative;overflow:hidden}
  .gs-card__visual::after{display:none}
  .gs-card__thumb{height:100%!important;min-height:96px;aspect-ratio:auto!important}
  .gs-card__thumb img{width:100%;height:100%;object-fit:cover}
  .gs-card__new-badge{top:6px!important;left:6px!important;right:auto!important;font-size:9px!important;padding:3px 6px!important}
  .gs-card__content{grid-column:2;padding:10px 12px!important;gap:4px!important;min-width:0}
  .gs-card__desc,.gs-card__universe-badge{display:none!important}
  .gs-card__title{font-size:1.02rem!important;line-height:1.25!important;margin:2px 0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .gs-card__type-tag{font-size:10.5px!important;padding:2px 7px!important}
  .gs-card__bottom-row{gap:6px!important;padding-top:6px!important;margin-top:auto}
  .gs-card__price{font-size:1rem!important}
}
/* dans l'appli installée, la barre du navigateur n'existe plus : on respire en haut */
.gsu-appli .gs-topbar{padding-top:calc(10px + env(safe-area-inset-top))!important}
@media (min-width:761px) and (max-width:1100px){
  .gs-wrap>.gs-header--accueil .gs-header__actions{grid-template-columns:repeat(3,1fr)}
  .gsu-etapes{grid-template-columns:repeat(2,1fr)}
}

/* ── Étiquettes de type : une seule matière, l'or (fin des restes indigo/lavande) ── */
.gs-card__type-tag{background:var(--gsu-filet)!important;color:var(--gsu-doux)!important;border:1px solid transparent!important;
  display:inline-flex!important;align-items:center;gap:5px;font-weight:600!important;letter-spacing:.01em}
.gs-card__type-tag .gsu-ico{color:var(--gsu-or)}
@media (max-width:760px){
  .gs-card__new-badge:not(.gs-card__new-badge--brouillon){display:none!important}
  .gs-card__bottom-row{flex-wrap:nowrap!important;align-items:center}
  .gs-card__bottom-row>div[style*="margin-left:auto"]{flex:none}
  .gs-card__sales-badge,.gs-card__files-badge{display:none!important}
  .gs-card__bottom-row .gs-btn--edit{min-height:38px;padding:0 12px!important;font-size:.82rem!important}
  .gs-card__bottom-row .gs-btn--trash{width:38px;min-height:38px;padding:0!important;display:inline-flex;align-items:center;justify-content:center}
  .gs-card__content{display:flex!important;flex-direction:column;justify-content:center}
}

/* ── Personnaliser sur téléphone (13/10) : la colonne des réglages était bridée à 50vh
   (prévu pour un aperçu dessous) alors que l'aperçu est masqué sous 600 px → moitié vide.
   On libère la colonne ; l'aperçu revient en plein écran par un bouton. ── */
.gsu-apercu-btn{display:none}
@media (max-width:600px){
  .gsm-v2-layout{flex-direction:column!important}
  .gsm-v2-settings-col{max-height:none!important;flex:1 1 auto!important;min-height:0!important;display:flex!important;flex-direction:column!important;border-bottom:0!important}
  .gsm-v2-settings-body{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch}
  .gsm-v2-settings-footer{flex:none!important}
  .gsm-v2-title{font-size:1.45rem!important;line-height:1.15!important}
  .gsu-apercu-btn{display:inline-flex;align-items:center;gap:6px;min-height:42px;padding:0 14px;margin-left:auto;margin-right:10px;border-radius:12px;
    border:1px solid var(--gsu-or-vif);background:transparent;color:var(--gsu-encre);font:600 .88rem Inter,sans-serif;cursor:pointer}
  .gsm-v2-modal.gsu-apercu .gsm-v2-preview-col{display:flex!important;position:fixed;inset:0;z-index:3000;min-height:0!important}
  .gsm-v2-modal.gsu-apercu .gsm-v2-preview-frame{flex:1}
  .gsu-apercu-retour{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:3001;display:none}
  .gsm-v2-modal.gsu-apercu .gsu-apercu-retour{display:inline-flex}
}
/* les boutons de carte à 42 px : la taille d'un pouce */
@media (max-width:760px){
  .gs-card__bottom-row .gs-btn--edit{min-height:42px}
  .gs-card__bottom-row .gs-btn--trash{width:42px;min-height:42px}
}

/* Personnaliser : des titres qu'on LIT (Inter 15 px, casse normale), plus de lavande */
.gsm-v2-section-title{font-family:Inter,-apple-system,sans-serif!important;font-variant:normal!important;text-transform:none!important;
  letter-spacing:0!important;font-size:15px!important;font-weight:600!important;color:var(--gsu-encre)!important;filter:none!important}
.gsm-v2-title{filter:none!important}
.gsm-v2-settings-footer{background:var(--gsu-surface)!important;border-top:1px solid var(--gsu-filet)!important}
.gsu-astuce{background:var(--gsu-filet)!important;border:1px solid transparent!important;color:var(--gsu-doux)!important;font-size:.88rem!important}

/* Statistiques et pages légales sur téléphone : des cartes, une colonne */
@media (max-width:600px){
  .gsu-grille-2{grid-template-columns:1fr!important}
  .gsu-perf thead{display:none}
  .gsu-perf,.gsu-perf tbody{display:block;width:100%}
  .gsu-perf tr{display:grid;grid-template-columns:repeat(5,1fr);gap:6px 4px;padding:14px 14px 12px;border-bottom:1px solid var(--gsu-filet)!important}
  .gsu-perf td{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:0!important;text-align:left!important;font-size:.95rem}
  .gsu-perf td::before{content:attr(data-l);font:600 10.5px/1.2 Inter,sans-serif;color:var(--gsu-doux);letter-spacing:.02em}
  .gsu-perf td.gsu-perf-titre{grid-column:1/-1;margin-bottom:6px}
  .gsu-perf td.gsu-perf-titre::before{content:none}
  .gs-analytics-products{overflow:visible!important}
}
@media (max-width:600px){.gsu-perf td{border:0!important}}
