/* =====================================================================
   GAMEDOCK 3D — "LE COFFRE-FORT" — style system
   Direction : vitrine de collection gaming — obsidienne + cyan + or
   ===================================================================== */

:root{
  --void:#08090d;
  --obsidian:#12151c;
  --obsidian-2:#181d27;
  --glass:rgba(18,21,28,.72);
  --cyan:#66fcf1;
  --cyan-dim:rgba(102,252,241,.35);
  --gold:#c9a227;
  --gold-soft:#e8c766;
  --crimson:#ff4d6d;
  --blue:#4fa3ff;
  --ivory:#f4f2ec;
  --muted:#8b93a1;
  --line:rgba(244,242,236,.09);
  --radius:6px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:
    radial-gradient(ellipse 1200px 600px at 50% -10%, rgba(102,252,241,.07), transparent 60%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.025) 0 1px, transparent 1px 48px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.025) 0 1px, transparent 1px 48px),
    var(--void);
  color:var(--ivory);
  font-family:'Inter',sans-serif;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:'Space Grotesk',sans-serif;margin:0;font-weight:600;}
p{margin:0;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
button{font-family:inherit;cursor:pointer;}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;}

.eyebrow, .mono{font-family:'Space Mono',monospace;letter-spacing:.06em;}

/* corner-bracket "vitrine" frame — signature motif, reused on hero/cards/modal */
.slide-img-box, .product-img-box, .modal-form-box{
  --corner-c:var(--cyan);
  position:relative;
  background-repeat:no-repeat;
  background-image:
    linear-gradient(var(--corner-c),var(--corner-c)), linear-gradient(var(--corner-c),var(--corner-c)),
    linear-gradient(var(--corner-c),var(--corner-c)), linear-gradient(var(--corner-c),var(--corner-c)),
    linear-gradient(var(--corner-c),var(--corner-c)), linear-gradient(var(--corner-c),var(--corner-c)),
    linear-gradient(var(--corner-c),var(--corner-c)), linear-gradient(var(--corner-c),var(--corner-c));
  background-size:18px 2px,2px 18px, 18px 2px,2px 18px, 18px 2px,2px 18px, 18px 2px,2px 18px;
  background-position:
    top 10px left 10px, top 10px left 10px,
    top 10px right 10px, top 10px right 10px,
    bottom 10px left 10px, bottom 10px left 10px,
    bottom 10px right 10px, bottom 10px right 10px;
  transition:background-size .35s var(--ease), --corner-c .35s;
}
.product-card:hover .product-img-box, .hero-slide.active .slide-img-box{
  --corner-c:var(--gold-soft);
  background-size:24px 3px,3px 24px, 24px 3px,3px 24px, 24px 3px,3px 24px, 24px 3px,3px 24px;
}

/* ---------- NAVBAR ---------- */
.navbar{
  position:sticky;top:0;z-index:40;
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 5%;
  background:rgba(8,9,13,.78);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.logo-container{display:flex;align-items:center;gap:12px;}
.brand-logo{width:42px;height:42px;border-radius:50%;border:1px solid var(--cyan-dim);}
.brand-names{display:flex;flex-direction:column;line-height:1.1;}
.main-title{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.15rem;letter-spacing:.08em;
  color:var(--ivory);text-shadow:0 0 18px var(--cyan-dim);}
.sub-title{font-family:'Space Mono',monospace;font-size:.65rem;color:var(--gold-soft);letter-spacing:.14em;text-transform:uppercase;}
.shipping-header-badge{
  font-family:'Space Mono',monospace;font-size:.72rem;letter-spacing:.04em;
  border:1px solid var(--cyan-dim);color:var(--cyan);
  padding:7px 14px;border-radius:999px;background:rgba(102,252,241,.06);
}

/* ---------- HERO SLIDER ---------- */
.hero-slider-section{position:relative;padding:56px 5% 40px;overflow:hidden;}
.slider-container{position:relative;max-width:1180px;margin:0 auto;min-height:440px;}
.hero-slide{
  display:none;grid-template-columns:1fr 1fr;gap:48px;align-items:center;
}
.hero-slide.active{display:grid;animation:fadeUp .6s var(--ease);}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}

.slide-img-box{
  position:relative;aspect-ratio:1/1;border:1px solid var(--line);border-radius:var(--radius);
  background:var(--obsidian);overflow:hidden;display:flex;align-items:center;justify-content:center;
}
.slide-img-box img{width:78%;height:78%;object-fit:contain;filter:drop-shadow(0 18px 30px rgba(0,0,0,.6));position:relative;z-index:1;}
.glow-effect{
  position:absolute;inset:0;margin:auto;width:60%;height:60%;border-radius:50%;
  background:radial-gradient(circle, var(--cyan-dim), transparent 70%);
  filter:blur(20px);animation:pulseGlow 3.2s ease-in-out infinite;
}
@keyframes pulseGlow{0%,100%{opacity:.5;transform:scale(1);}50%{opacity:.9;transform:scale(1.08);}}

.slide-info{display:flex;flex-direction:column;gap:16px;}
.slide-badge{
  align-self:flex-start;font-family:'Space Mono',monospace;font-size:.72rem;letter-spacing:.08em;
  padding:6px 14px;border-radius:999px;border:1px solid;text-transform:uppercase;
}
.border-neon-red{color:var(--crimson);border-color:var(--crimson);background:rgba(255,77,109,.07);}
.border-neon-blue{color:var(--blue);border-color:var(--blue);background:rgba(79,163,255,.07);}
.border-neon-gold{color:var(--gold-soft);border-color:var(--gold);background:rgba(201,162,39,.08);}

.slide-info h2{font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.15;letter-spacing:.01em;}
.text-neon-cyan{color:var(--cyan);text-shadow:0 0 22px var(--cyan-dim);}
.product-tagline{color:var(--muted);font-size:.98rem;line-height:1.6;max-width:44ch;}

.live-counter{
  display:inline-flex;align-items:center;gap:8px;width:fit-content;
  font-family:'Space Mono',monospace;font-size:.75rem;color:var(--muted);
  padding:6px 12px;border:1px dashed var(--line);border-radius:999px;
}
.live-counter i{color:var(--crimson);animation:blink 1.6s infinite;}
@keyframes blink{50%{opacity:.25;}}

.slide-price{
  font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:2rem;color:var(--gold-soft);
  display:flex;align-items:baseline;gap:12px;
}
.old-slide-price{font-size:1.05rem;color:var(--muted);text-decoration:line-through;font-weight:400;}

.hero-cta-btn, .buy-action-btn, .submit-order-btn, .btn-back-store{
  font-family:'Space Grotesk',sans-serif;font-weight:600;letter-spacing:.03em;text-transform:uppercase;
  border-radius:var(--radius);border:1px solid var(--cyan);color:var(--void);
  background:linear-gradient(120deg,var(--cyan),var(--gold-soft));
  padding:14px 26px;transition:transform .2s var(--ease), box-shadow .2s var(--ease);
  display:inline-flex;align-items:center;justify-content:center;gap:10px;width:fit-content;
}
.hero-cta-btn:hover, .buy-action-btn:hover, .submit-order-btn:hover, .btn-back-store:hover{
  transform:translateY(-2px);box-shadow:0 10px 30px rgba(102,252,241,.25);
}
.pulse-glow-btn{animation:btnPulse 2.6s ease-in-out infinite;}
@keyframes btnPulse{0%,100%{box-shadow:0 0 0 rgba(102,252,241,0);}50%{box-shadow:0 0 26px rgba(102,252,241,.45);}}

.slider-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  background:var(--glass);border:1px solid var(--line);color:var(--ivory);
  width:40px;height:40px;border-radius:50%;font-size:1rem;
}
.slider-arrow:hover{border-color:var(--cyan);color:var(--cyan);}
.slider-arrow.prev{left:-4px;}
.slider-arrow.next{right:-4px;}
.slider-dots{display:flex;justify-content:center;gap:8px;margin-top:26px;}
.dot{width:7px;height:7px;border-radius:50%;background:var(--line);cursor:pointer;transition:.2s;}
.dot.active{background:var(--cyan);box-shadow:0 0 10px var(--cyan-dim);width:20px;border-radius:4px;}

/* ---------- TRUST BAR ---------- */
.trust-badge-bar{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  max-width:1180px;margin:20px auto 0;background:var(--line);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.trust-item{background:var(--void);padding:22px 18px;display:flex;align-items:center;gap:14px;}
.trust-icon-box{
  width:44px;height:44px;flex:none;border-radius:50%;border:1px solid var(--gold);
  display:flex;align-items:center;justify-content:center;color:var(--gold-soft);
}
.trust-text h4{font-size:.88rem;letter-spacing:.02em;margin-bottom:3px;}
.trust-text p{font-size:.78rem;color:var(--muted);}

/* ---------- TABS / CATALOGUE ---------- */
.tabs-container{max-width:1180px;margin:52px auto 0;padding:0 5%;}
.tabs-navigation{display:flex;gap:10px;border-bottom:1px solid var(--line);}
.tab-button{
  background:none;border:none;color:var(--muted);font-family:'Space Grotesk',sans-serif;
  font-weight:600;font-size:.9rem;padding:12px 6px;position:relative;letter-spacing:.02em;
}
.tab-button.active{color:var(--ivory);}
.tab-button.active::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;
  background:linear-gradient(90deg,var(--cyan),var(--gold-soft));
}
.main-layout-wrapper.store-container{max-width:1180px;margin:0 auto;padding:0 5% 60px;}
.tab-pane{display:none;}
.tab-pane.active{display:block;animation:fadeUp .4s var(--ease);}

.collection-block{margin-top:44px;}
.collection-intro h2{
  font-size:1.3rem;display:flex;align-items:center;gap:12px;flex-wrap:wrap;
}
.price-tag{
  font-family:'Space Mono',monospace;font-size:.72rem;color:var(--gold-soft);
  border:1px solid var(--gold);padding:4px 10px;border-radius:999px;
}
.video-promo-container{margin:18px 0 26px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);}

.products-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;margin-top:18px;
}
.products-grid.mobile-scroll-x{}

/* ---------- PRODUCT CARD (vitrine) ---------- */
.product-card{
  background:var(--glass);border:1px solid var(--line);border-radius:var(--radius);
  padding:16px;transition:transform .25s var(--ease), border-color .25s;
  display:flex;flex-direction:column;gap:10px;
}
.product-card:hover{transform:translateY(-6px);border-color:var(--cyan-dim);}
.product-img-box{aspect-ratio:1/1;overflow:hidden;background:var(--obsidian-2);}
.store-img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease);}
.product-card:hover .store-img{transform:scale(1.06);}
.product-card h4{font-size:.92rem;font-weight:500;line-height:1.35;min-height:2.4em;}
.product-card-price{display:flex;align-items:baseline;gap:10px;font-family:'Space Mono',monospace;}
.old-price-label{color:var(--muted);text-decoration:line-through;font-size:.78rem;}
.product-card-price strong{color:var(--gold-soft);font-size:1.05rem;}
.buy-action-btn{width:100%;padding:11px;font-size:.82rem;}

.see-more-card-trigger{
  border:1px dashed var(--line);border-radius:var(--radius);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  color:var(--muted);min-height:220px;transition:.2s;
}
.see-more-card-trigger:hover{border-color:var(--gold);color:var(--gold-soft);}
.see-more-icon-box{font-size:1.6rem;}

/* mobile: horizontal scroll-snap row */
@media(max-width:768px){
  .products-grid.mobile-scroll-x{
    display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;
    padding-bottom:10px;-webkit-overflow-scrolling:touch;
  }
  .products-grid.mobile-scroll-x .product-card,
  .products-grid.mobile-scroll-x .see-more-card-trigger{
    flex:0 0 62vw;scroll-snap-align:start;
  }
  .hero-slide{grid-template-columns:1fr;gap:22px;}
  .slide-img-box{aspect-ratio:4/3;}
}

/* ---------- ORDER MODAL ---------- */
.modal-form-overlay{
  display:none;position:fixed;inset:0;z-index:80;background:rgba(4,5,7,.82);
  backdrop-filter:blur(6px);align-items:center;justify-content:center;padding:18px;
}
.modal-form-box{
  background:var(--obsidian);border:1px solid var(--line);border-radius:var(--radius);
  max-width:440px;width:100%;padding:32px 26px;position:relative;
}
.close-form-btn{
  position:absolute;top:14px;right:18px;font-size:1.4rem;color:var(--muted);cursor:pointer;
}
.close-form-btn:hover{color:var(--cyan);}
.modal-form-box h3{font-size:1.15rem;margin-bottom:6px;}
.modal-product-subtitle{color:var(--muted);font-size:.85rem;margin-bottom:20px;}
.input-group{margin-bottom:14px;text-align:left;}
.input-group label{display:block;font-size:.75rem;color:var(--muted);margin-bottom:6px;letter-spacing:.02em;}
.input-group input{
  width:100%;background:var(--void);border:1px solid var(--line);border-radius:4px;
  padding:12px 14px;color:var(--ivory);font-family:'Inter',sans-serif;font-size:.92rem;
}
.input-group input:focus{border-color:var(--cyan);outline:none;box-shadow:0 0 0 3px var(--cyan-dim);}
.modal-total-display{
  display:flex;justify-content:space-between;align-items:center;
  font-family:'Space Mono',monospace;font-size:.85rem;color:var(--muted);
  border-top:1px solid var(--line);padding-top:14px;margin:8px 0 18px;
}
.modal-total-display span{color:var(--gold-soft);font-size:1.15rem;font-weight:700;}
.submit-order-btn{width:100%;padding:15px;}

/* ---------- FOOTER ---------- */
.store-footer{
  margin-top:60px;border-top:1px solid var(--line);padding:48px 5%;text-align:center;
}
.footer-content h3{font-size:1.1rem;letter-spacing:.05em;margin-bottom:10px;}
.footer-content > p{color:var(--muted);max-width:52ch;margin:0 auto 22px;font-size:.9rem;}
.social-links-container{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;}
.social-badge{
  border:1px solid var(--line);padding:10px 18px;border-radius:999px;font-size:.82rem;
  display:inline-flex;align-items:center;gap:8px;transition:.2s;
}
.fb-badge:hover{border-color:#4267B2;color:#4267B2;}
.tt-badge:hover{border-color:var(--ivory);color:var(--ivory);}
.wa-badge:hover{border-color:#25d366;color:#25d366;}
.footer-bottom-info{margin-top:26px;color:var(--muted);font-size:.75rem;}

/* ---------- EXIT-INTENT MODAL (éthique : un seul affichage, fermeture facile) ---------- */
.exit-modal-overlay{
  display:none;position:fixed;inset:0;z-index:90;background:rgba(4,5,7,.85);
  align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(6px);
}
.exit-modal-box{
  background:var(--obsidian);border:1px solid var(--gold);border-radius:var(--radius);
  max-width:420px;width:100%;padding:34px 26px;text-align:center;position:relative;
  box-shadow:0 0 40px rgba(201,162,39,.15);
}
.exit-modal-box .close-form-btn{position:absolute;top:12px;right:16px;}
.exit-modal-box .eyebrow{color:var(--gold-soft);font-size:.72rem;display:block;margin-bottom:10px;}
.exit-modal-box h3{font-size:1.25rem;margin-bottom:10px;}
.exit-modal-box p{color:var(--muted);font-size:.9rem;line-height:1.6;margin-bottom:22px;}

/* ---------- STICKY CTA BAR ---------- */
.sticky-cta-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:60;
  display:none;align-items:center;justify-content:space-between;gap:14px;
  background:rgba(8,9,13,.92);backdrop-filter:blur(14px);
  border-top:1px solid var(--cyan-dim);padding:12px 16px;
}
.sticky-cta-bar.visible{display:flex;}
.sticky-cta-info{font-family:'Space Mono',monospace;font-size:.72rem;color:var(--muted);line-height:1.4;}
.sticky-cta-info strong{color:var(--ivory);display:block;font-size:.8rem;}
.sticky-cta-btn{
  font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:.82rem;letter-spacing:.02em;
  text-transform:uppercase;background:linear-gradient(120deg,var(--cyan),var(--gold-soft));
  color:var(--void);border:none;border-radius:var(--radius);padding:11px 18px;white-space:nowrap;
}
.sticky-cta-close{
  background:none;border:none;color:var(--muted);font-size:1.1rem;padding:0 4px;flex:none;
}

@media(prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important;}
}
