/** Shopify CDN: Minification failed

Line 727:0 Unexpected "$"

**/
/* =========================================================
   IMPACT — TECHNO IS NOT A CRIME
   Shopify Theme CSS
   ========================================================= */

/* --- RESET & BASE --- */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
/* CURSEUR UNIQUE : Flèche Mac Rouge de partout */
* {
  cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="30" viewBox="0 0 24 30"><g transform="translate(1, 1)"><path d="M 0 0 L 0 20 L 5 15 L 9 24 L 13 22 L 9 13 L 16 13 Z" fill="%23ff0014" stroke="%23000" stroke-width="1.5" stroke-linejoin="round"/></g></svg>') 1 1, auto !important;
}

body{
  background:var(--c-bg);
  color:var(--c-fg);
  font-family:var(--font-body);
  font-weight:700;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input{font:inherit;color:inherit}

/* =========================================================
   MARQUEE
   ========================================================= */
.marquee{
  position:fixed;
  top:0;left:0;right:0;
  height:var(--marquee-h);
  z-index:60;
  overflow:hidden;
  display:flex;
  align-items:center;
  font-family:var(--font-display);
  font-weight:900;
  letter-spacing:.02em;
  font-size:15px;
  text-transform:uppercase;
}
.marquee__track{
  display:flex;
  gap:24px;
  white-space:nowrap;
  padding-left:24px;
  animation:marquee 28s linear infinite;
  will-change:transform;
}
.marquee__track .marquee__item,
.marquee__track .marquee__sep{flex:0 0 auto}
.marquee__item{text-decoration:none;color:inherit}
@keyframes marquee{
  from{transform:translateX(0)}
  to{transform:translateX(-33.333%)}
}

/* =========================================================
   HEADER
   ========================================================= */
.header{
  position:fixed;
  top:var(--marquee-h);
  left:0;right:0;
  height:var(--header-h);
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  padding:0 var(--container-pad);
  z-index:55;
  background:transparent;
}
.header--overlay {
  background: transparent;
  transition: background 0.3s ease, backdrop-filter 0.3s ease, -webkit-backdrop-filter 0.3s ease;
}
.header--scrolled {
  background: rgba(0,0,0,.6) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}
.template-collection .header,
.template-product .header,
.template-page .header,
.template-search .header,
.template-list-collections .header,
.template-cart .header{
  background:rgba(0,0,0,.6);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.header__logo{
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(15px, 1.4vw, 20px);
  letter-spacing:.02em;
  text-align:center;
  line-height:1.05;
  text-transform:uppercase;
  justify-self:center;
}
.header__logo img{
  display:block;
  height:auto;
}
.header__burger,
.header__cart{
  width:44px;
  height:32px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:6px 0;
  position:relative;
}
.header__burger{justify-self:start}
.header__cart{justify-self:end}
.header__burger span,
.header__cart span:not(.header__cart-count){
  display:block;
  height:3px;
  width:100%;
  background:#fff;
  border-radius:2px;
}
.header__cart span:nth-child(1):not(.header__cart-count){width:60%;margin-left:auto}
.header__cart span:nth-child(3):not(.header__cart-count){width:60%;margin-left:auto}

.header__cart-count{
  position:absolute;
  top:-6px;right:-6px;
  background:var(--c-accent);
  color:#fff;
  font-size:10px;
  font-weight:900;
  width:18px;height:18px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}

/* =========================================================
   HERO (homepage)
   ========================================================= */
.hero{
  position:relative;
  width:100%;
  height:100vh;
  min-height:640px;
  overflow:hidden;
  margin-top:0;
  padding-top:calc(var(--marquee-h) + var(--header-h));
}
.hero__media{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:1;
}
.hero__media--placeholder{
  background:#0a0a0a;
}
.hero__overlay{
  position:absolute;
  inset:0;
  z-index:2;
}
.hero__crt-zone{
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
}
.hero__content{
  position:relative;
  z-index:4;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:48px;
  padding:0 var(--container-pad);
  text-align:center;
}
.hero__cta{
  display:inline-block;
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(40px, 8vw, 110px);
  letter-spacing:-.01em;
  color:#fff;
  text-transform:uppercase;
  line-height:1;
  padding:.1em .2em;
  text-shadow:0 2px 30px rgba(0,0,0,.4);
  transition:transform .25s ease, color .25s ease;
}
.hero__cta:hover{color:var(--c-accent);transform:scale(1.02)}

.socials{
  list-style:none;
  display:flex;
  gap:18px;
  padding:0;
  margin:0;
}
.socials a{
  display:grid;
  place-items:center;
  width:34px;height:34px;
  border-radius:50%;
  background:var(--c-accent);
  color:#fff;
  transition:transform .2s;
}
.socials a:hover{transform:translateY(-2px)}
.socials svg{width:18px;height:18px;fill:#fff}

/* =========================================================
   COLLECTION PAGE
   ========================================================= */
.collection{
  position:relative;
  padding:calc(var(--marquee-h) + var(--header-h) + 40px) var(--container-pad) 80px;
  min-height:100vh;
  overflow:hidden;
}
.collection__bg,
.product__bg{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--font-display);
  font-size:min(80vw, 1100px);
  line-height:.8;
  color:transparent;
  -webkit-text-stroke:1px rgba(255,255,255,.06);
  pointer-events:none;
  user-select:none;
  z-index:0;
  overflow:hidden;
}
.collection__title{
  position:relative;
  z-index:1;
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(24px, 3.2vw, 44px);
  letter-spacing:-.005em;
  margin:0 0 32px;
  text-transform:uppercase;
}
.collection__desc{
  position:relative;
  z-index:1;
  color:var(--c-muted);
  font-size:14px;
  margin-bottom:32px;
}
.collection__empty{
  grid-column:1/-1;
  text-align:center;
  color:var(--c-muted);
  padding:80px 0;
}

.grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:24px;
}
@media (max-width: 1024px){.grid{grid-template-columns:repeat(3, 1fr)}}
@media (max-width: 720px){.grid{grid-template-columns:repeat(2, 1fr);gap:14px}}

.card{
  display:flex;
  flex-direction:column;
  gap:14px;
  transition:transform .2s ease;
}
.card:hover{transform:translateY(-3px)}
.card__media{
  aspect-ratio:1/1;
  border:1px solid var(--c-card-border);
  background:#0a0a0a;
  position:relative;
  overflow:hidden;
}
.card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.card__img--primary{
  position:relative;
  z-index:1;
  transition:opacity .3s ease;
}
.card__img--hover{
  position:absolute;
  inset:0;
  z-index:2;
  opacity:0;
  transition:opacity .3s ease;
}
.card:hover .card__img--hover{
  opacity:1;
}
.card__row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  font-family:var(--font-display);
  font-weight:900;
  letter-spacing:0;
  text-transform:uppercase;
  font-size:13px;
}
.card__name{flex:1}
.card__price{text-align:right;line-height:1.2}
.card__compare{
  display:block;
  color:var(--c-accent);
  text-decoration:line-through;
  font-size:12px;
}
.card__sale{display:block}

/* =========================================================
   PRODUCT PAGE
   ========================================================= */
.product{
  position:relative;
  padding:calc(var(--marquee-h) + var(--header-h) + 32px) var(--container-pad) 80px;
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:48px;
  min-height:100vh;
  overflow:hidden;
}
@media (max-width: 900px){.product{grid-template-columns:1fr;gap:32px}}

.product__gallery{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  align-content:start;
}
.gallery__cell{
  aspect-ratio:1/1;
  border:1px solid var(--c-card-border);
  background:#0a0a0a;
  overflow:hidden;
}
.gallery__cell{
  aspect-ratio:1/1;
  border:1px solid var(--c-card-border);
  background:#0a0a0a;
  overflow:hidden;
  cursor:zoom-in;
}
.gallery__cell img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .3s ease;
  transform-origin:center center;
}
.gallery__cell:hover img{
  transform:scale(1.5);
}
/* --- Lightbox Modal --- */
.lightbox{
  position:fixed; inset:0; z-index:1000; display:flex; align-items:center;
  justify-content:center; opacity:0; pointer-events:none; transition:opacity .3s ease;
}
.lightbox.is-open{ opacity:1; pointer-events:auto; }
.lightbox__backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.9); cursor:zoom-out; }
.lightbox__img-wrap{ position:relative; z-index:2; width:90vw; height:90vh; display:flex; align-items:center; justify-content:center; }
.lightbox__img{ max-width:100%; max-height:100%; object-fit:contain; }
.lightbox__close, .lightbox__prev, .lightbox__next{
  position:absolute; z-index:3; color:#fff; font-family:var(--font-display);
  font-weight:100; cursor:pointer; display:grid; place-items:center; transition:color .2s;
}
.lightbox__close:hover, .lightbox__prev:hover, .lightbox__next:hover{ color:var(--c-accent); }
.lightbox__close{ top:20px; right:30px; font-size:50px; line-height:1; }
.lightbox__prev, .lightbox__next{ top:50%; transform:translateY(-50%); font-size:80px; line-height:1; height:100px; width:80px; }
.lightbox__prev{ left:20px; } .lightbox__next{ right:20px; }

.product__info{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  gap:22px;
}
.product__title{
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(28px, 3.4vw, 44px);
  margin:0;
  text-transform:uppercase;
  letter-spacing:-.01em;
  text-align:right;
}
.product__price{
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(22px, 2.4vw, 32px);
  text-align:right;
}
.product__compare-price{
  color:var(--c-accent);
  text-decoration:line-through;
  margin-right:12px;
}

.product__sizes{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:12px;
}
.size{
  border:1px solid #555;
  color:#bdbdbd;
  padding:14px 0;
  font-family:var(--font-display);
  font-weight:700;
  font-size:18px;
  letter-spacing:.02em;
  transition:all .15s;
}
.size:hover{border-color:#fff;color:#fff}
.size.is-active{border-color:#fff;color:#fff}

.product__qty{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  border-top:1px solid #444;
  border-bottom:1px solid #444;
  height:48px;
}
.product__qty button{
  width:48px;height:100%;
  font-size:22px;
  color:#bdbdbd;
}
.product__qty input{
  text-align:center;
  background:transparent;
  border:0;
  font-family:var(--font-display);
  font-weight:700;
  font-size:18px;
  width:100%;
  -moz-appearance:textfield;
}
.product__qty input::-webkit-outer-spin-button,
.product__qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

.product__actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.btn{
  padding:18px 0;
  text-align:center;
  font-family:var(--font-display);
  font-weight:900;
  font-size:18px;
  letter-spacing:.02em;
  border:1px solid #fff;
  transition:all .15s;
  cursor:pointer;
}
.btn--solid{background:#fff;color:#000}
.btn--solid:hover{background:var(--c-accent);border-color:var(--c-accent);color:#fff}
.btn--outline{background:transparent;color:#fff}
.btn--outline:hover{background:#fff;color:#000}
.btn:disabled{opacity:.4;cursor:not-allowed}

.product__desc{
  color:var(--c-muted);
  font-weight:700;
  font-size:13px;
  line-height:1.6;
}
.product__desc p + p{margin-top:14px}

/* =========================================================
   FOOTER
   ========================================================= */
.footer{
  border-top:1px solid #1a1a1a;
  padding:28px var(--container-pad);
  font-size:11px;
  color:var(--c-muted);
  text-transform:uppercase;
  letter-spacing:.04em;
  font-family:var(--font-display);
  font-weight:700;
}
.footer__inner{
  max-width:1400px;
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
}
.footer nav{display:flex;gap:20px}
.footer a:hover{color:#fff}

/* =========================================================
   DRAWERS
   ========================================================= */
.drawer{
  position:fixed;
  top:0;
  height:100vh;
  width:min(380px, 90vw);
  background:#0a0a0a;
  z-index:80;
  padding:80px 28px 28px;
  transform:translateX(-100%);
  transition:transform .35s ease;
  display:flex;
  flex-direction:column;
  gap:18px;
  border-right:1px solid #1a1a1a;
}
.drawer--left{left:0}
.drawer--right{
  left:auto;right:0;
  transform:translateX(100%);
  border-right:0;
  border-left:1px solid #1a1a1a;
}
.drawer.is-open{transform:translateX(0)}
.drawer__close{
  position:absolute;
  top:18px;right:18px;
  font-size:32px;
  line-height:1;
  width:36px;height:36px;
}
.drawer__nav{display:flex;flex-direction:column;gap:18px}
.drawer__nav a{
  font-family:var(--font-display);
  font-weight:900;
  font-size:24px;
  letter-spacing:0;
  text-transform:uppercase;
}
.drawer__nav a:hover{color:var(--c-accent)}
.drawer h3{
  font-family:var(--font-display);
  font-weight:900;
  font-size:22px;
  margin:0 0 8px;
  text-transform:uppercase;
  letter-spacing:0;
}
.drawer__body{flex:1;color:var(--c-muted);font-size:14px;overflow-y:auto}
.drawer__empty{margin:0}
.drawer__total{
  display:flex;
  justify-content:space-between;
  font-family:var(--font-display);
  font-weight:900;
  font-size:16px;
  text-transform:uppercase;
  padding:12px 0;
  border-top:1px solid #1a1a1a;
}
.drawer__checkout{
  display:block;
  text-align:center;
  background:#fff;
  color:#000;
  padding:16px;
  letter-spacing:.02em;
  font-family:var(--font-display);
  font-weight:900;
  text-transform:uppercase;
  transition:background .15s, color .15s;
}
.drawer__checkout:hover{
  background:var(--c-accent);
  color:#fff;
}
.drawer__backdrop{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.6);
  opacity:0;
  pointer-events:none;
  transition:opacity .25s;
  z-index:75;
}
.drawer__backdrop.is-open{opacity:1;pointer-events:auto}

/* --- Cart items in drawer --- */
.cart-item{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:12px 0;
  border-bottom:1px solid #1a1a1a;
  font-size:13px;
}
.cart-item__title{
  color:#fff;
  font-family:var(--font-display);
  text-transform:uppercase;
  font-weight:900;
}
.cart-item__variant{color:var(--c-muted)}
.cart-item__right{text-align:right}
.cart-item__price{color:#fff}
.cart-item__remove{
  color:var(--c-accent);
  font-size:11px;
  text-transform:uppercase;
  background:none;
  border:0;
  cursor:pointer;
  padding:0;
  font-weight:700;
}

/* =========================================================
   LEGAL / POLICY PAGES
   ========================================================= */
.legal{
  position:relative;
  padding:calc(var(--marquee-h) + var(--header-h) + 60px) var(--container-pad) 80px;
  max-width:880px;
  margin:0 auto;
  font-weight:400;
}
.legal h1{
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(28px, 4vw, 48px);
  text-transform:uppercase;
  letter-spacing:-.01em;
  margin:0 0 8px;
}
.legal .legal__lead{
  color:var(--c-muted);
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin:0 0 40px;
  font-weight:700;
}
.legal h2{
  font-family:var(--font-display);
  font-weight:900;
  font-size:18px;
  text-transform:uppercase;
  letter-spacing:.02em;
  margin:36px 0 12px;
  color:#fff;
  border-top:1px solid #1a1a1a;
  padding-top:28px;
}
.legal p, .legal li{
  font-size:14px;
  line-height:1.7;
  color:#d4d4d4;
  font-weight:400;
}
.legal p + p{margin-top:10px}
.legal ul{padding-left:18px;margin:8px 0}
.legal a{color:var(--c-accent);text-decoration:underline}
.legal strong{color:#fff}

/* =========================================================
   PAGINATION
   ========================================================= */
.pagination{
  grid-column:1/-1;
  display:flex;
  justify-content:center;
  gap:12px;
  padding:48px 0 0;
  font-family:var(--font-display);
  font-weight:900;
  font-size:14px;
  text-transform:uppercase;
}
.pagination a,
.pagination span{
  padding:8px 16px;
  border:1px solid #333;
  transition:all .15s;
}
.pagination a:hover{border-color:#fff;color:#fff}
.pagination .current{border-color:#fff;color:#fff}
/* IMAGE ZOOM */
$$('.gallery__cell').forEach(cell => {
  const img = cell.querySelector('img');
  if (!img) return;
  cell.addEventListener('mousemove', e => {
    const rect = cell.getBoundingClientRect();
    const x = ((e.clientX - rect.left) / rect.width) * 100;
    const y = ((e.clientY - rect.top) / rect.height) * 100;
    img.style.transformOrigin = `${x}% ${y}%`;
  });
  cell.addEventListener('mouseleave', () => {
    img.style.transformOrigin = 'center center';
  });
});
/* =========================================================
   CRT / NOISE EFFECTS
   ========================================================= */

/* --- Scanlines overlay --- */
.crt-overlay{
  position:absolute;
  inset:0;
  z-index:5;
  pointer-events:none;
  background:repeating-linear-gradient(
    0deg,
    transparent,
    transparent 2px,
    rgba(0,0,0,var(--crt-opacity, 0.3)) 2px,
    rgba(0,0,0,var(--crt-opacity, 0.3)) 4px
  );
  animation:crt-flicker 0.15s infinite alternate;
}
.crt-overlay--global{
  position:fixed;
  inset:0;
  z-index:100;
}

/* --- Noise canvas overlay --- */
.noise-overlay{
  position:absolute;
  inset:0;
  z-index:6;
  pointer-events:none;
  opacity:0.15;
  width:100%;
  height:100%;
}
.noise-overlay--global{
  position:fixed;
  inset:0;
  z-index:101;
}

/* Subtle CRT flicker */
@keyframes crt-flicker{
  0%{opacity:1}
  100%{opacity:.97}
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 720px){
  :root{--header-h:64px}
  .header__logo{font-size:14px}
  .hero__cta{font-size:46px}
  .footer__inner{flex-direction:column}
  .product__actions{grid-template-columns:1fr}
  .product__sizes{grid-template-columns:repeat(4, 1fr)}
}

/* =========================================================
   UTILITY
   ========================================================= */
.visually-hidden{
  position:absolute!important;
  width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
