/* Extrait de style.css (V28.13) lors de la stabilisation CSS — module : gs-module-home-catalogue.css
   Ne pas reordonner par rapport a style.css : ce fichier est charge APRES en dependance. */

/* =====================================================================
   V27.81 — Hero Accueil : illustration Radar / Archives GamingSecrets
   L’illustration reste décorative : le texte et les trois CTA sont du HTML.
   ===================================================================== */




.gs-brand-hero-v2781 .gs-premium-hero-copy>*{z-index:2;}






@media (max-width:900px){
  
  
}

@media (max-width:560px){
  
  
  
  
  
  
  
  
}

/* =====================================================================
   V27.82 — Hero accueil : illustration réelle + scroll mobile prioritaire
   ===================================================================== */



.gs-brand-hero-v2782 .gs-premium-hero-copy>*{position:relative;z-index:1;}




.gs-brand-hero-v2782 .gs-home-hero-illustration img{
  display:block;
  width:100%;
  height:100%;
  min-height:620px;
  object-fit:cover;
  object-position:76% center;
}
@media (max-width:900px){
  
  
  
  .gs-brand-hero-v2782 .gs-home-hero-illustration img{
    min-height:400px;
    object-position:73% center;
  }
}
@media (max-width:560px){
  
  
  
  
  
  
  .gs-brand-hero-v2782 .gs-home-hero-illustration img{
    min-height:355px;
    object-position:72% center;
  }
}

/* Mobile : les rails horizontaux ne capturent QUE le geste horizontal ;
   le swipe vertical garde toujours la priorité au défilement de la page. */
@media (hover:none) and (pointer:coarse){
  /* conteneurs (non-scrollables) : le toucher défile la page normalement */
  .gs-home-calendar-premium,
  .gs-brand-pillar-calendar-preview,
  .gs-home-calendar-visual,
  .gs-home-release-preview,
  .gs-home-release-card{
    touch-action:auto!important;
    overscroll-behavior:auto;
    overscroll-behavior-y:auto!important;
  }
  /* rails (scroll horizontal) : pan-x SEUL → le geste vertical repart à la page */
  .gs-home-release-rail,
  .gs-terminal-card-rail,
  .gs-calendar-month-rail{
    touch-action:pan-x!important;
    overscroll-behavior-x:contain!important;
    overscroll-behavior-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
}


/* =====================================================================
   V27.83 — Hero accueil : FUSION texte ⇄ illustration (panneau unique)
   Un seul bloc continu : le texte est posé sur un fondu sombre qui se
   dissout vers l'illustration. Aucune couture franche, finition premium :
   filet doré, lisière lumineuse "radar", respiration lente de l'image.
   Remplace l'agencement deux-cartes de v2782 (classe v2782 retirée du HTML).
   ===================================================================== */
.gs-brand-hero-v2783{
  position:relative;
  display:block;
  width:min(1260px,calc(100vw - 28px));
  min-height:600px;
  margin:24px auto 22px;
  overflow:hidden;
  border-radius:var(--gs-r-hero);
  border:1px solid rgba(196,18,48,.24);
  background:#070708;
  box-shadow:
    0 42px 120px rgba(0,0,0,.62),
    0 0 0 1px rgba(255,255,255,.045) inset,
    0 1px 0 rgba(255,255,255,.06) inset;
  isolation:isolate;
}
/* filet doré → rouge en tête de panneau : signal "luxe" discret */
.gs-brand-hero-v2783::before{
  content:"";position:absolute;left:0;right:0;top:0;height:1px;z-index:6;
  pointer-events:none;opacity:.75;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(210,177,91,.55) 28%,
    rgba(255,81,101,.50) 58%,
    rgba(196,18,48,.10) 80%,
    transparent 100%);
}

/* ---- couche illustration plein cadre (fond du panneau) ---- */
.gs-brand-hero-v2783 .gs-home-hero-illustration{
  position:absolute;inset:0;z-index:0;
  min-height:0;border:0;border-radius:0;box-shadow:none;
  background:#070708;overflow:hidden;
  animation:gsV2783Reveal .9s ease both;
}
.gs-brand-hero-v2783 .gs-home-hero-illustration img{
  display:block;width:100%;height:100%;min-height:100%;
  object-fit:cover;object-position:72% center;
  transform:scale(1.05);transform-origin:72% 42%;
  animation:gsV2783Breathe 18s ease-in-out infinite alternate;
  will-change:transform;
}
/* FONDU de fusion : noir opaque à gauche (texte) → image révélée à droite.
   La gauche de l'illustration étant déjà noire, le raccord est invisible. */
.gs-brand-hero-v2783 .gs-home-hero-illustration::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(90deg,
      #070708 0%,
      rgba(7,7,8,.985) 26%,
      rgba(7,7,8,.86) 40%,
      rgba(7,7,8,.45) 54%,
      rgba(7,7,8,.12) 70%,
      rgba(7,7,8,0) 86%),
    radial-gradient(120% 82% at 8% 18%, rgba(196,18,48,.20), transparent 46%),
    radial-gradient(70% 90% at 78% 42%, rgba(196,18,48,.12), transparent 55%);
}
/* assise : voile bas + vignette douce */
.gs-brand-hero-v2783 .gs-home-hero-illustration::after{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(180deg,
    rgba(0,0,0,.10) 0%, transparent 22%, transparent 62%, rgba(0,0,0,.44) 100%);
  box-shadow:inset 0 0 120px rgba(0,0,0,.45);
}

/* ---- colonne texte posée sur le fondu ---- */
.gs-brand-hero-v2783 .gs-premium-hero-copy{
  position:relative;z-index:3;
  display:flex;flex-direction:column;justify-content:center;
  width:min(560px,52%);min-height:600px;
  padding:54px 50px 50px;
  border:0;border-radius:0;background:none;box-shadow:none;
  overflow:visible;
}
.gs-brand-hero-v2783 .gs-premium-hero-copy::before{display:none;} /* retire la trame de points */
/* LISIÈRE lumineuse "radar" = signature à la jonction texte / image */
.gs-brand-hero-v2783 .gs-premium-hero-copy::after{
  content:"";position:absolute;top:9%;bottom:9%;right:-1px;width:2px;z-index:4;
  pointer-events:none;border-radius:2px;
  background:linear-gradient(180deg,
    transparent 0%,
    rgba(255,81,101,.55) 46%,
    rgba(210,177,91,.42) 66%,
    transparent 100%);
  box-shadow:0 0 18px rgba(196,18,48,.50),0 0 46px rgba(196,18,48,.26);
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 14%,#000 86%,transparent);
          mask-image:linear-gradient(180deg,transparent,#000 14%,#000 86%,transparent);
  animation:gsV2783Seam 6.5s ease-in-out infinite;
}

/* ---- animations (lentes & sobres) ---- */
@keyframes gsV2783Breathe{from{transform:scale(1.045)}to{transform:scale(1.085)}}
@keyframes gsV2783Reveal{from{opacity:0}to{opacity:1}}
@keyframes gsV2783Seam{0%,100%{opacity:.55}50%{opacity:1}}

/* ====================== TABLETTE ====================== */
@media (max-width:900px){
  .gs-brand-hero-v2783{min-height:580px;margin-top:18px;}
  .gs-brand-hero-v2783 .gs-premium-hero-copy{
    width:min(640px,80%);min-height:580px;padding:44px 36px;
  }
  .gs-brand-hero-v2783 .gs-home-hero-illustration img{object-position:70% 30%;}
}

/* ====================== MOBILE : texte posé sur l'illustration (1 bloc, façon gauche) ======================
   Même esprit que le desktop : l'illustration occupe toute la carte, le perso
   est poussé à droite, et un fondu sombre à gauche accueille le texte. Le crop
   mobile n'ayant pas de noir naturel, le fondu est plus appuyé + ombre de texte
   pour garantir la lisibilité quand le titre chevauche la scène. */
@media (max-width:560px){
  .gs-brand-hero-v2783{
    width:calc(100vw - 22px);min-height:600px;margin:18px auto 22px;
  }
  /* perso cadré en haut à droite → la gauche/centre reste la zone sombre du texte */
  .gs-brand-hero-v2783 .gs-home-hero-illustration img{
    object-position:84% 22%;transform:scale(1.05);transform-origin:84% 22%;
  }
  /* fondu façon gauche, version mobile appuyée */
  .gs-brand-hero-v2783 .gs-home-hero-illustration::before{
    background:
      linear-gradient(90deg,
        rgba(7,7,8,.95) 0%,
        rgba(7,7,8,.90) 40%,
        rgba(7,7,8,.66) 60%,
        rgba(7,7,8,.30) 80%,
        rgba(7,7,8,.08) 100%),
      linear-gradient(180deg,
        rgba(7,7,8,.36) 0%, transparent 26%, transparent 62%, rgba(7,7,8,.54) 100%),
      radial-gradient(120% 68% at 88% 18%, rgba(196,18,48,.22), transparent 50%);
  }
  .gs-brand-hero-v2783 .gs-premium-hero-copy{
    width:100%;min-height:600px;
    justify-content:center;
    padding:30px 22px 30px;
  }
  /* lisibilité garantie même quand le texte passe sur la scène */
  .gs-brand-hero-v2783 h1{max-width:300px;text-shadow:0 2px 22px rgba(0,0,0,.80),0 1px 3px rgba(0,0,0,.85);}
  .gs-brand-hero-v2783 p{max-width:300px;text-shadow:0 1px 12px rgba(0,0,0,.85);}
  .gs-brand-hero-v2783 .gs-premium-hero-actions{margin-top:22px;}
  .gs-brand-hero-v2783 .gs-premium-btn{width:100%;justify-content:center;}
  /* sur petit écran le fondu suffit : on retire la lisière pour rester net */
  .gs-brand-hero-v2783 .gs-premium-hero-copy::after{display:none;}
}

/* respect de prefers-reduced-motion */
@media (prefers-reduced-motion:reduce){
  .gs-brand-hero-v2783 .gs-home-hero-illustration img{animation:none;transform:scale(1.04)}
  .gs-brand-hero-v2783 .gs-home-hero-illustration{animation:none}
  .gs-brand-hero-v2783 .gs-premium-hero-copy::after{animation:none;opacity:.8}
}

/* V27.88 — Accueil : carousel Les derniers Outils Secrets */
.gs-home-tools-showcase{
 width:min(1260px,calc(100vw - 28px));
 margin:28px auto 34px;
 position:relative;
 font-family:Outfit,'Segoe UI',system-ui,sans-serif;
}
.gs-home-tools-showcase-head{
 display:flex;
 align-items:end;
 justify-content:space-between;
 gap:18px;
 margin-bottom:16px;
 padding:0 2px;
}
.gs-home-tools-kicker{
 display:inline-flex;
 align-items:center;
 min-height:25px;
 margin-bottom:7px;
 padding:0 10px;
 border:1px solid rgba(196,18,48,.35);
 border-radius:999px;
 color:#ff8496;
 background:linear-gradient(90deg,rgba(196,18,48,.17),rgba(196,18,48,.03));
 font-size:10px;
 font-weight:950;
 letter-spacing:.18em;
 text-transform:uppercase;
}
.gs-home-tools-showcase h2{
 margin:0;
 color:#fff;
 font-family:'Bebas Neue',Impact,'Arial Narrow',sans-serif;
 font-size:clamp(40px,5vw,68px);
 font-weight:400;
 letter-spacing:.018em;
 line-height:.9;
 text-transform:uppercase;
 text-wrap:balance;
}
.gs-home-tools-showcase-head p{
 margin:9px 0 0;
 color:#d7a546;
 font-size:15px;
 font-weight:900;
 letter-spacing:.01em;
}
.gs-home-tools-all-link{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 flex:0 0 auto;
 min-height:42px;
 padding:0 14px;
 border:1px solid rgba(255,255,255,.13);
 border-radius:12px;
 color:#fff;
 background:rgba(255,255,255,.045);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 14px 28px rgba(0,0,0,.22);
 text-decoration:none;
 font-size:12px;
 font-weight:900;
 transition:transform .22s ease,border-color .22s ease,background .22s ease;
}
.gs-home-tools-all-link:hover{
 transform:translateY(-2px);
 border-color:rgba(196,18,48,.58);
 background:rgba(196,18,48,.13);
}
.gs-home-tools-carousel{
 display:flex;
 gap:16px;
 overflow-x:auto;
 overflow-y:hidden;
 overscroll-behavior-x:contain;
 scroll-snap-type:x mandatory;
 scroll-padding-left:2px;
 padding:2px 2px 15px;
 margin:0 -2px;
 -webkit-overflow-scrolling:touch;
 scrollbar-width:none;
 touch-action:pan-y;
}
.gs-home-tools-carousel::-webkit-scrollbar{display:none}
.gs-home-tool-card{
 --gs-tool-accent:#e21b3c;
 position:relative;
 display:flex;
 flex:0 0 min(870px,72vw);
 flex-direction:column;
 min-width:0;
 overflow:hidden;
 border:1px solid rgba(255,255,255,.095);
 border-radius:22px;
 color:#fff;
 background:linear-gradient(155deg,rgba(18,18,21,.98),rgba(6,6,8,.99));
 box-shadow:0 0 0 1px rgba(255,255,255,.018),0 24px 70px rgba(0,0,0,.48);
 scroll-snap-align:start;
 text-decoration:none;
 isolation:isolate;
 transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
}
.gs-home-tool-card::before{
 content:"";
 position:absolute;
 z-index:-1;
 inset:0;
 background:radial-gradient(circle at 15% 0,rgba(255,255,255,.05),transparent 36%),radial-gradient(circle at 94% 100%,var(--gs-tool-accent),transparent 45%);
 opacity:.18;
 pointer-events:none;
}
.gs-home-tool-card-dojo{--gs-tool-accent:#ff8a42}
.gs-home-tool-card-price{--gs-tool-accent:#29d783}
.gs-home-tool-card-builder{--gs-tool-accent:#62a6ff}
.gs-home-tool-card-temple{--gs-tool-accent:#249cff}
.gs-home-tool-card-xbox{--gs-tool-accent:#6fe6a0}
.gs-home-tool-card:hover{
 transform:translateY(-5px);
 border-color:color-mix(in srgb,var(--gs-tool-accent) 58%,#fff 8%);
 box-shadow:0 0 0 1px rgba(255,255,255,.035),0 18px 36px color-mix(in srgb,var(--gs-tool-accent) 16%,transparent),0 32px 80px rgba(0,0,0,.68);
}
.gs-home-tool-card:focus-visible,
.gs-home-tools-all-link:focus-visible{
 outline:3px solid #fff;
 outline-offset:4px;
}
.gs-home-tool-media{
 position:relative;
 width:100%;
 aspect-ratio:16/9;
 overflow:hidden;
 background:#09090c;
 border-bottom:1px solid rgba(255,255,255,.085);
}
.gs-home-tool-media::after{
 content:"";
 position:absolute;
 inset:0;
 background:linear-gradient(180deg,transparent 56%,rgba(4,4,6,.48) 100%);
 pointer-events:none;
}
.gs-home-tool-media img{
 display:block;
 width:100%;
 height:100%;
 object-fit:cover;
 transition:transform .5s cubic-bezier(.2,.75,.25,1),filter .5s ease;
}
.gs-home-tool-card:hover .gs-home-tool-media img{
 transform:scale(1.025);
 filter:brightness(1.06) contrast(1.03);
}
.gs-home-tool-media span{
 position:absolute;
 z-index:2;
 top:14px;
 left:14px;
 display:inline-flex;
 align-items:center;
 min-height:27px;
 padding:0 10px;
 border:1px solid color-mix(in srgb,var(--gs-tool-accent) 70%,#fff 4%);
 border-radius:999px;
 color:#fff;
 background:rgba(5,5,7,.76);
 box-shadow:0 8px 20px rgba(0,0,0,.34),inset 0 0 16px color-mix(in srgb,var(--gs-tool-accent) 24%,transparent);
 font-size:10px;
 font-weight:950;
 letter-spacing:.12em;
 text-transform:uppercase;
}
.
.gs-home-tool-media .gs-home-tool-badge{
 position:absolute;
 top:14px;
 right:14px;
 z-index:2;
 display:inline-flex;
 align-items:center;
 justify-content:center;
 min-height:28px;
 padding:0 11px;
 border-radius:999px;
 border:1px solid rgba(128,225,168,.42);
 background:linear-gradient(135deg,rgba(8,18,14,.92),rgba(16,44,31,.96));
 color:#d5ffe4;
 font-size:10px;
 font-weight:900;
 letter-spacing:.16em;
 text-transform:uppercase;
 box-shadow:0 10px 24px rgba(0,0,0,.32),0 0 22px rgba(128,225,168,.16);
 pointer-events:none;
}
gs-home-tool-body{
 display:grid;
 grid-template-columns:1fr auto;
 grid-template-areas:"category action" "title action" "desc action";
 gap:0 18px;
 align-items:center;
 min-height:137px;
 padding:18px 20px 19px;
 background:linear-gradient(180deg,rgba(255,255,255,.022),rgba(255,255,255,.008));
}
.gs-home-tool-body small{
 grid-area:category;
 display:block;
 margin-bottom:5px;
 color:var(--gs-tool-accent);
 font-size:10px;
 font-weight:950;
 letter-spacing:.145em;
 line-height:1.1;
 text-transform:uppercase;
}
.gs-home-tool-body h3{
 grid-area:title;
 margin:0;
 color:#fff;
 font-family:'Bebas Neue',Impact,'Arial Narrow',sans-serif;
 font-size:clamp(30px,3.4vw,45px);
 font-weight:400;
 letter-spacing:.03em;
 line-height:.92;
 text-transform:uppercase;
}
.gs-home-tool-body p{
 grid-area:desc;
 margin:8px 0 0;
 color:rgba(255,255,255,.69);
 font-size:13px;
 font-weight:650;
 line-height:1.42;
}
.gs-home-tool-body strong{
 grid-area:action;
 display:inline-flex;
 align-items:center;
 gap:10px;
 min-height:43px;
 padding:0 14px;
 border:1px solid color-mix(in srgb,var(--gs-tool-accent) 52%,transparent);
 border-radius:12px;
 color:#fff;
 background:color-mix(in srgb,var(--gs-tool-accent) 18%,#0a0a0d);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 12px 22px rgba(0,0,0,.22);
 font-size:12px;
 font-weight:950;
 white-space:nowrap;
}
.gs-home-tool-body strong b{
 color:var(--gs-tool-accent);
 font-size:21px;
 font-weight:500;
 line-height:1;
 transition:transform .22s ease;
}
.gs-home-tool-card:hover .gs-home-tool-body strong b{transform:translateX(3px)}
.gs-home-tools-swipe{
 display:none;
 margin:6px 0 0;
 color:rgba(255,255,255,.47);
 font-size:11px;
 font-weight:750;
 letter-spacing:.015em;
}
@media (max-width:900px){
 .gs-home-tools-showcase{margin-top:24px}
 .gs-home-tool-card{flex-basis:min(82vw,650px)}
}
@media (max-width:640px){
 .gs-home-tools-showcase{width:min(100% - 22px,1260px);margin:24px auto 30px}
 .gs-home-tools-showcase-head{align-items:start;gap:12px;margin-bottom:14px}
 .gs-home-tools-showcase h2{font-size:clamp(36px,11vw,56px);line-height:.92}
 .gs-home-tools-showcase-head p{margin-top:7px;font-size:14px}
 .gs-home-tools-all-link{min-height:36px;padding:0 10px;border-radius:10px;font-size:10px;white-space:nowrap}
 .gs-home-tools-carousel{gap:13px;padding-bottom:12px;margin-right:-11px;padding-right:11px}
 .gs-home-tool-card{flex-basis:84vw;border-radius:18px}
 .gs-home-tool-media span{top:10px;left:10px;min-height:24px;padding:0 8px;font-size:9px}
 .gs-home-tool-body{grid-template-columns:1fr;grid-template-areas:"category" "title" "desc" "action";gap:0;min-height:0;padding:15px}
 .gs-home-tool-body small{margin-bottom:6px;font-size:9px}
 .gs-home-tool-body h3{font-size:34px}
 .gs-home-tool-body p{margin-top:7px;font-size:13px}
 .gs-home-tool-body strong{justify-content:center;width:100%;min-height:40px;margin-top:14px;font-size:12px}
 .gs-home-tools-swipe{display:block}
}
@media (prefers-reduced-motion:reduce){
 .gs-home-tool-card,.gs-home-tool-media img,.gs-home-tool-body strong b,.gs-home-tools-all-link{transition:none!important}
}


/* =====================================================================
   V27.89 — Accueil : carousel GS Outils tactile mobile
   Correction : pan-y bloquait le défilement horizontal natif.
   On autorise les deux axes ; Android garde le geste dominant et la page
   continue donc de défiler verticalement normalement.
   ===================================================================== */
.gs-home-tools-carousel{
 display:flex!important;
 flex-wrap:nowrap!important;
 overflow-x:scroll!important;
 overflow-y:hidden!important;
 -webkit-overflow-scrolling:touch!important;
 touch-action:pan-x pan-y!important;
 -ms-touch-action:pan-x pan-y;
 scroll-snap-type:x proximity!important;
 scroll-behavior:smooth;
 overscroll-behavior-x:contain;
 overscroll-behavior-y:auto;
}
.gs-home-tools-carousel > .gs-home-tool-card{
 touch-action:pan-x pan-y!important;
}
@media (max-width:640px){
 .gs-home-tools-carousel{
  cursor:grab;
  padding-right:18px!important;
  scroll-padding-left:2px;
 }
 .gs-home-tools-carousel:active{cursor:grabbing}
}


/* =====================================================================
   V27.90 — Accueil allégé + GS Calendar mobile : scroll vertical garanti
   - Le vieux accès GS Secrets et l'ancien bloc Pokémon Champions sortent
     de l'accueil : le carrousel Outils est désormais l'accès Dojo.
   - Le calendrier compact reste le seul aperçu calendrier de l'accueil.
   - Aucun rail ne doit verrouiller le geste vertical lorsqu'il commence
     sur une fiche de sortie. Le navigateur arbitre naturellement l'axe.
   ===================================================================== */
.gs-home-release-rail,
.gs-home-release-rail > .gs-home-release-card,
.gs-home-calendar-visual,
.gs-home-release-preview{
  touch-action:pan-x pan-y!important;
  -ms-touch-action:pan-x pan-y;
  overscroll-behavior-y:auto!important;
}
@media (hover:none) and (pointer:coarse){
  .gs-home-release-rail,
  .gs-home-release-rail > .gs-home-release-card,
  .gs-home-calendar-visual,
  .gs-home-release-preview{
    touch-action:pan-x pan-y!important;
    overscroll-behavior-x:auto!important;
    overscroll-behavior-y:auto!important;
  }
  .gs-home-release-rail{cursor:default;}
}


/* V28.01 — Desktop arrows + premium rails for home secrets/calendar/tools */
.gs-home-scroll-shell{position:relative;display:flex;align-items:center;gap:14px}
.gs-home-scroll-shell .gs-home-scroll-arrow{flex:0 0 46px;width:46px;height:46px;border-radius:999px;border:1px solid rgba(196,18,48,.42);background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.12), rgba(196,18,48,.18) 38%, rgba(18,18,22,.98) 72%);box-shadow:0 12px 30px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.08), 0 0 0 1px rgba(255,255,255,.03);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .22s ease,border-color .22s ease,opacity .22s ease,box-shadow .22s ease;position:relative;z-index:2}
.gs-home-scroll-shell .gs-home-scroll-arrow span{display:block;font-size:28px;line-height:1;font-weight:900;transform:translateY(-1px)}
.gs-home-scroll-shell .gs-home-scroll-arrow:hover{transform:translateY(-2px) scale(1.04);border-color:rgba(255,116,130,.86);box-shadow:0 14px 34px rgba(196,18,48,.18),0 18px 32px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.1)}
.gs-home-scroll-shell .gs-home-scroll-arrow:disabled{opacity:.28;cursor:default;transform:none;box-shadow:0 10px 22px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.05)}
.gs-home-scroll-shell .gs-home-scroll-arrow:focus-visible{outline:2px solid #fff;outline-offset:3px}

@media (min-width: 901px){
 .gs-home-secret-strip{display:block}
 .gs-home-secret-carousel{display:flex;gap:16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;padding:2px 2px 10px;margin:0;flex:1 1 auto}
 .gs-home-secret-carousel::-webkit-scrollbar{display:none}
 .gs-home-secret-carousel .gs-home-secret-card{display:block;flex:0 0 min(320px, calc((100% - 32px) / 3));min-width:250px;max-width:340px;scroll-snap-align:start;border-radius:22px;box-shadow:0 20px 44px rgba(0,0,0,.28)}
 .gs-home-secret-cover{height:170px;min-height:170px}
 .gs-home-secret-strip::after{content:none}
 .gs-home-release-rail{scrollbar-width:none;-ms-overflow-style:none;flex:1 1 auto;touch-action:auto;padding:2px 2px 10px}
 .gs-home-release-rail::-webkit-scrollbar{display:none}
 .gs-home-release-card{flex:0 0 min(210px, calc((100% - 20px) / 3));min-width:180px}
 .gs-home-tools-carousel{flex:1 1 auto;touch-action:auto;padding:2px 2px 14px;margin:0;scrollbar-width:none;-ms-overflow-style:none}
 .gs-home-tools-carousel::-webkit-scrollbar{display:none}
 .gs-home-tool-card{flex:0 0 min(980px,78vw)}
}
@media (max-width: 900px){
 .gs-home-scroll-shell{gap:0}
 .gs-home-scroll-shell .gs-home-scroll-arrow{display:none}
}


/* V28.02 — Desktop home carousel polish: bigger premium arrows + edge fades */
@media (min-width: 901px){
 .gs-home-scroll-shell{
  gap:18px;
  isolation:isolate;
 }
 .gs-home-scroll-shell .gs-home-scroll-arrow{
  flex:0 0 56px;
  width:56px;
  height:56px;
  border-color:rgba(236,50,74,.72);
  background:
   radial-gradient(circle at 31% 26%,rgba(255,255,255,.18),rgba(255,255,255,0) 28%),
   radial-gradient(circle at 52% 52%,rgba(232,43,65,.46),rgba(127,4,23,.25) 52%,rgba(10,9,12,.98) 78%);
  box-shadow:
   0 0 0 1px rgba(255,255,255,.05),
   0 0 22px rgba(224,25,56,.25),
   0 16px 34px rgba(0,0,0,.48),
   inset 0 1px 0 rgba(255,255,255,.15),
   inset 0 -10px 20px rgba(0,0,0,.23);
 }
 .gs-home-scroll-shell .gs-home-scroll-arrow::before{
  content:"";
  position:absolute;
  inset:5px;
  border-radius:inherit;
  border:1px solid rgba(255,255,255,.11);
  pointer-events:none;
 }
 .gs-home-scroll-shell .gs-home-scroll-arrow span{
  font-size:36px;
  text-shadow:0 0 13px rgba(255,255,255,.28),0 0 20px rgba(232,43,65,.65);
 }
 .gs-home-scroll-shell .gs-home-scroll-arrow:hover:not(:disabled){
  transform:translateY(-3px) scale(1.06);
  border-color:#ff8b98;
  box-shadow:
   0 0 0 1px rgba(255,255,255,.08),
   0 0 30px rgba(238,35,64,.56),
   0 20px 42px rgba(0,0,0,.58),
   inset 0 1px 0 rgba(255,255,255,.2),
   inset 0 -10px 20px rgba(0,0,0,.2);
 }
 .gs-home-scroll-shell .gs-home-scroll-arrow:disabled{
  opacity:.18;
  filter:saturate(.45);
 }
 .gs-home-scroll-shell::before,
 .gs-home-scroll-shell::after{
  content:"";
  position:absolute;
  top:8px;
  bottom:10px;
  width:108px;
  pointer-events:none;
  z-index:1;
  transition:opacity .24s ease;
 }
 .gs-home-scroll-shell::before{
  left:74px;
  background:linear-gradient(90deg,rgba(9,9,12,.94) 0%,rgba(9,9,12,.62) 44%,rgba(9,9,12,0) 100%);
 }
 .gs-home-scroll-shell::after{
  right:74px;
  background:linear-gradient(270deg,rgba(9,9,12,.94) 0%,rgba(9,9,12,.62) 44%,rgba(9,9,12,0) 100%);
 }
 .gs-home-scroll-shell.is-at-start::before{opacity:0}
 .gs-home-scroll-shell.is-at-end::after{opacity:0}
 .gs-home-scroll-shell .gs-home-secret-carousel,
 .gs-home-scroll-shell .gs-home-release-rail,
 .gs-home-scroll-shell .gs-home-tools-carousel{
  position:relative;
  z-index:0;
 }
 .gs-home-scroll-shell .gs-home-scroll-arrow{z-index:3}
 .gs-home-scroll-shell-secrets .gs-home-secret-carousel .gs-home-secret-card{
  box-shadow:0 18px 46px rgba(0,0,0,.34),0 0 0 1px rgba(255,255,255,.018);
 }
}

/* V28.03 — Fix: halo/glow des cartes Archives non rogne verticalement (overflow-y:hidden du carrousel) */
.gs-home-scroll-shell-secrets .gs-home-secret-carousel{
  padding-top:22px ;
  padding-bottom:20px ;
}

/* V28.05 — Archives "hub" desktop: petit terminal classifie pour remplir la colonne gauche */
.gs-home-hub-intel{display:none}
@media (min-width:901px){
 .gs-home-hub{align-items:stretch}
 .gs-home-hub-main{display:flex;flex-direction:column;align-items:flex-start}
 .gs-home-hub-main > h2,
 .gs-home-hub-main > p{align-self:stretch}
 .gs-home-hub-intel{display:block;width:100%;margin-top:auto}
}
.gs-hub-terminal{width:100%;border:1px solid rgba(196,18,48,.30);border-radius:12px;background:linear-gradient(180deg,rgba(10,10,12,.92),rgba(6,6,8,.96));box-shadow:0 14px 34px rgba(0,0,0,.4),inset 0 0 0 1px rgba(255,255,255,.02),0 0 26px rgba(196,18,48,.10);overflow:hidden;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Liberation Mono',monospace}
.gs-hub-term-bar{display:flex;align-items:center;gap:7px;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02)}
.gs-hub-term-bar i{width:9px;height:9px;border-radius:99px;flex:0 0 auto}
.gs-hub-term-bar i:nth-child(1){background:#ff5f57}
.gs-hub-term-bar i:nth-child(2){background:#f2a71b}
.gs-hub-term-bar i:nth-child(3){background:#3ad06b}
.gs-hub-term-title{margin-left:6px;color:#8a8a8a;font-size:11px;letter-spacing:.04em}
.gs-hub-term-body{padding:12px 14px 13px;display:flex;flex-direction:column;gap:6px}
.gs-hub-term-body p{margin:0;color:#c9c9c9;font-size:12.5px;line-height:1.5;word-break:break-word}
.gs-hub-term-body .p{color:#ff5165;font-weight:700;margin-right:8px}
.gs-hub-term-body .ok{color:#3ad06b;font-weight:700}
.gs-hub-term-body .warn{color:#f2a71b;font-weight:700}

@keyframes gsHubBlink{50%{opacity:0}}


/* V28.06 — Archives Terminal desktop: glow rouge contenu, sans chevauchement des previews */
@media (min-width:901px){
  .gs-home-hub{
    column-gap:34px;
    isolation:isolate;
  }
  .gs-home-hub-main,
  .gs-home-secret-strip{
    position:relative;
    min-width:0;
  }
  .gs-home-hub-main{z-index:1}
  .gs-home-secret-strip{z-index:2}

  /* Le halo reste dans le terminal : plus de lumière rouge qui traverse vers les cartes. */
  .gs-home-hub-intel{
    overflow:hidden;
    border-radius:14px;
    padding:1px;
  }
  .gs-hub-terminal{
    position:relative;
    isolation:isolate;
    box-shadow:
      0 14px 30px rgba(0,0,0,.42),
      inset 0 0 0 1px rgba(255,255,255,.025),
      inset 0 0 34px rgba(196,18,48,.11);
  }
  .gs-hub-terminal::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    background:
      radial-gradient(105% 82% at 0% 0%,rgba(196,18,48,.16),transparent 62%),
      linear-gradient(90deg,rgba(196,18,48,.055),transparent 48%);
  }
  .gs-hub-term-bar,
  .gs-hub-term-body{
    position:relative;
    z-index:1;
  }
}


/* V28.08 — libellé calendrier plus fort sur l’accueil */
.gs-brand-pillar-calendar-preview .gs-cal-month{display:flex;align-items:flex-end;gap:14px;flex-wrap:nowrap}
.gs-brand-pillar-calendar-preview .gs-cal-heading{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;min-width:0;padding-bottom:6px}
.gs-brand-pillar-calendar-preview .gs-cal-month small{display:block;color:rgba(191,227,255,.92);font-size:12px;font-weight:950;letter-spacing:.18em;text-transform:uppercase}
.gs-brand-pillar-calendar-preview .gs-cal-heading strong{display:block;color:#ffffff;font-family:'Bebas Neue',Impact,'Arial Narrow',sans-serif;font-size:clamp(28px,4.4vw,48px);line-height:.92;letter-spacing:.02em;text-transform:uppercase;text-shadow:0 6px 22px rgba(0,0,0,.35)}
@media (max-width: 720px){
 .gs-brand-pillar-calendar-preview .gs-cal-month{gap:10px;align-items:center}
 .gs-brand-pillar-calendar-preview .gs-cal-heading{padding-bottom:0}
 .gs-brand-pillar-calendar-preview .gs-cal-heading strong{font-size:clamp(22px,6.6vw,34px);line-height:.96;max-width:10ch}
}

/* V28.09 — Terminal cherchable (champ) + version compacte mobile + entete resultats secrets */
.gs-hub-term-form{display:flex;align-items:center;margin-top:3px;border-bottom:1px solid rgba(255,255,255,.10);padding-bottom:4px;transition:border-color .2s ease;position:relative;z-index:1}
.gs-hub-term-form:focus-within{border-color:rgba(255,81,101,.65)}
.gs-hub-term-form .p{flex:0 0 auto;color:#ff5165;font-weight:700;margin-right:8px}
.gs-hub-term-input{flex:1;min-width:0;background:transparent;border:0;outline:0;color:#eaeaea;font:inherit;font-size:12.5px;caret-color:#ff5165;padding:2px 0}
.gs-hub-term-input::placeholder{color:#6a6a6a}
.gs-hub-term-input:focus{outline:0}
/* Mobile : terminal compact — juste la barre de recherche, pas trop intrusif */
@media (max-width:900px){
 .gs-home-hub-intel{display:block;width:100%;margin:14px 0 2px}
 .gs-hub-term-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .gs-hub-term-body{padding:10px 12px 11px;gap:0}
 .gs-hub-term-log{display:none}
 .gs-hub-term-form{margin-top:0}
}
/* Entete du bloc resultats "Secrets & articles" du catalogue */
.gs-cat-secrets-head{margin:6px 0 14px}
.gs-cat-secrets-head h2{margin:2px 0 0}


/* V28.11 — Accueil : GS Calendar vivant, filtres et accès complet */
.gs-brand-pillar-calendar-preview .gs-home-release-preview{position:relative}
.gs-home-release-preview-head{align-items:flex-start;gap:14px}
.gs-home-release-preview-title{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}
.gs-brand-pillar-calendar-preview .gs-home-release-preview-head .gs-home-release-preview-title span{display:block}
.gs-brand-pillar-calendar-preview .gs-home-release-preview-head .gs-home-release-preview-title strong{display:block;color:#fff;font-size:15px;font-weight:900;white-space:normal}
.gs-home-calendar-all-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;min-height:34px;padding:0 11px;border:1px solid rgba(82,116,150,.34);border-radius:10px;background:linear-gradient(180deg,rgba(82,116,150,.13),rgba(82,116,150,.045));color:#D5E2EA;font-family:Outfit,'Segoe UI',system-ui,sans-serif;font-size:11px;font-weight:900;line-height:1;text-decoration:none;white-space:nowrap;transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}
.gs-home-calendar-all-link b{font-size:17px;line-height:1;transition:transform .2s ease}
.gs-home-calendar-all-link:hover{transform:translateY(-2px);border-color:rgba(82,116,150,.72);background:linear-gradient(180deg,rgba(82,116,150,.25),rgba(82,116,150,.08));box-shadow:0 10px 22px rgba(44,137,255,.15)}
.gs-home-calendar-all-link:hover b{transform:translateX(2px)}
.gs-home-calendar-signal{display:flex;align-items:center;gap:8px;margin:0 0 11px;color:#D6E3EA;font-size:12px;font-weight:800;line-height:1.35}
.gs-home-calendar-signal span{width:7px;height:7px;border-radius:50%;background:#7E9FBC;box-shadow:0 0 0 4px rgba(82,116,150,.12),0 0 16px rgba(82,116,150,.75);flex:0 0 auto}
.gs-home-calendar-signal.is-confirmed span{background:#71e096;box-shadow:0 0 0 4px rgba(113,224,150,.11),0 0 16px rgba(113,224,150,.58)}
.gs-home-calendar-signal.is-featured span{background:#ffd166;box-shadow:0 0 0 4px rgba(255,209,102,.10),0 0 16px rgba(255,209,102,.55)}
.gs-home-calendar-filters{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:1px 1px 10px;margin:0 -1px;scrollbar-width:none}
.gs-home-calendar-filters::-webkit-scrollbar{display:none}
.gs-home-calendar-filters button{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:31px;padding:0 11px;border:1px solid rgba(255,255,255,.10);border-radius:999px;background:rgba(0,0,0,.22);color:rgba(255,255,255,.72);font-family:Outfit,'Segoe UI',system-ui,sans-serif;font-size:10px;font-weight:900;letter-spacing:.03em;white-space:nowrap;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease}
.gs-home-calendar-filters button:hover{transform:translateY(-1px);border-color:rgba(82,116,150,.48);color:#DCE8EF}
.gs-home-calendar-filters button.is-active{border-color:rgba(82,116,150,.70);background:linear-gradient(180deg,rgba(82,116,150,.24),rgba(82,116,150,.08));color:#E2EBF1;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 7px 18px rgba(29,128,255,.12)}
.gs-home-release-card[hidden]{display:none}
.gs-home-calendar-filter-empty{display:block;flex:1 1 100%;margin:6px 0 0;padding:14px;border:1px dashed rgba(82,116,150,.28);border-radius:12px;background:rgba(0,0,0,.16);color:rgba(255,255,255,.62);font-size:12px;line-height:1.45}
.gs-home-calendar-filter-empty[hidden]{display:none!important}
.gs-home-calendar-filter-empty a{color:#A9C1D2;font-weight:800;text-decoration:underline;text-underline-offset:3px}
@media (min-width:901px){
 .gs-brand-pillar-calendar-preview .gs-home-release-preview{padding:16px}
 .gs-home-calendar-filters{padding-bottom:12px}
}
@media (max-width:560px){
 .gs-home-release-preview-head{gap:10px;align-items:flex-start}
 .gs-home-calendar-all-link{min-height:32px;padding:0 9px;font-size:10px}
 .gs-home-calendar-all-link b{display:none}
 .gs-home-calendar-signal{font-size:11px}
 .gs-home-calendar-filters{gap:7px}
 .gs-home-calendar-filters button{min-height:30px;padding:0 10px}
}

.gs-home-scroll-shell-calendar.is-calendar-filter-empty .gs-home-release-rail,
.gs-home-scroll-shell-calendar.is-calendar-filter-empty .gs-home-scroll-arrow{display:none!important}
.gs-home-scroll-shell-calendar.is-calendar-filter-empty .gs-home-calendar-filter-empty{display:block!important;flex:1 1 auto}



/* V30.0 — commande TRICKGS dans le terminal de l’accueil. */
.gs-hub-term-trick-status{margin-top:6px!important;color:#d3d3d3!important}
.gs-hub-term-trick-status[hidden]{display:none!important}
.gs-hub-term-form.is-trickgs-open{border-color:rgba(255,179,87,.82);box-shadow:0 7px 18px rgba(196,18,48,.14)}
.gs-hub-term-form.is-trickgs-open .gs-hub-term-input{color:#ffd687;font-weight:800}
@media(max-width:900px){.gs-hub-term-trick-status:not([hidden]){display:block!important;font-size:10.5px!important;margin-top:7px!important}}

/* =====================================================================
   V30.6.1 — FIX FINAL GS Calendar mobile
   Le calendrier d'accueil garde son rail horizontal, mais les gestes
   verticaux ne doivent jamais être capturés par les cartes sur mobile.
   ===================================================================== */
@media (hover:none) and (pointer:coarse){
 .gs-home-calendar-premium,
 .gs-brand-pillar-calendar-preview,
 .gs-home-calendar-visual,
 .gs-home-release-preview,
 .gs-home-release-card{
  touch-action:auto!important;
  -ms-touch-action:auto!important;
  overscroll-behavior:auto!important;
 }
 .gs-home-release-rail{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:auto!important;
  -ms-touch-action:auto!important;
  overscroll-behavior-x:contain!important;
  overscroll-behavior-y:auto!important;
  cursor:default!important;
 }
}

/* V31.43.5 — correction : suppression de l'override V31.43.4 qui retirait la zone CTA de la
   carte Temple. Une image ne peut pas servir de bouton ; le vrai badge + CTA HTML sont rétablis
   et la carte retrouve le gabarit "category action / title action / desc action" des 3 autres. */


/* V31.44.20 — accueil mobile plus compact */
@media (max-width:560px){
  .gs-brand-hero-v2783{
    min-height:550px;
  }
  .gs-brand-hero-v2783 .gs-premium-hero-copy{
    min-height:550px;
    padding-top:26px;
    padding-bottom:26px;
  }
  .gs-premium-hero-extra{
    display:none;
  }
  .gs-brand-hero-v2783 .gs-premium-hero-intro{
    margin-bottom:0;
  }
  .gs-home-secret-strip-subtitle{
    display:none!important;
  }
  .gs-home-secret-strip-head{
    margin-bottom:10px;
  }
}


/* V31.57.24 — accueil : aperçu calendar avec image de jeu en fond sur chaque mini carte */
.gs-brand-pillar-calendar-preview .gs-home-release-card{
 position:relative;
 overflow:hidden;
 isolation:isolate;
 background:radial-gradient(circle at 100% 0%,rgba(82,116,150,.13),transparent 44%),rgba(0,0,0,.28);
}
.gs-brand-pillar-calendar-preview .gs-home-release-card::before{
 content:"";
 position:absolute;
 inset:0;
 z-index:0;
 opacity:0;
 background:
  linear-gradient(180deg,rgba(4,8,12,.18) 0%,rgba(4,8,12,.62) 54%,rgba(4,8,12,.9) 100%),
  radial-gradient(120% 88% at 84% 12%,rgba(91,193,140,.14),transparent 42%),
  var(--gs-home-release-cover) center center / cover no-repeat;
 transform:scale(1.04);
 transition:opacity .22s ease,transform .35s ease;
 pointer-events:none;
}
.gs-brand-pillar-calendar-preview .gs-home-release-card.has-cover::before{
 opacity:1;
}
.gs-brand-pillar-calendar-preview .gs-home-release-card::after{
 content:"";
 position:absolute;
 inset:0;
 z-index:0;
 border-radius:inherit;
 pointer-events:none;
 box-shadow:inset 0 0 0 1px rgba(255,255,255,.04), inset 0 -34px 54px rgba(0,0,0,.18);
}
.gs-brand-pillar-calendar-preview .gs-home-release-card > *{
 position:relative;
 z-index:1;
}
.gs-brand-pillar-calendar-preview .gs-home-release-card:hover::before,
.gs-brand-pillar-calendar-preview .gs-home-release-card:focus-visible::before{
 transform:scale(1.08);
}
.gs-brand-pillar-calendar-preview .gs-home-release-card strong{
 text-shadow:0 3px 18px rgba(0,0,0,.5);
}
.gs-brand-pillar-calendar-preview .gs-home-release-card small{
 color:rgba(255,255,255,.78);
 text-shadow:0 2px 14px rgba(0,0,0,.44);
}
.gs-brand-pillar-calendar-preview .gs-home-release-card em{
 background:rgba(6,10,14,.5);
 backdrop-filter:blur(4px);
}
@media (max-width:560px){
 .gs-brand-pillar-calendar-preview .gs-home-release-card{
  min-height:126px;
 }
 .gs-brand-pillar-calendar-preview .gs-home-release-card::before{
  background:
   linear-gradient(180deg,rgba(4,8,12,.14) 0%,rgba(4,8,12,.60) 50%,rgba(4,8,12,.92) 100%),
   radial-gradient(120% 88% at 84% 12%,rgba(91,193,140,.16),transparent 42%),
   var(--gs-home-release-cover) center center / cover no-repeat;
 }
}
