/* ═══════════════════════════════════════
   JENZ SHOP — shop.css
═══════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Space+Mono:wght@400;700&family=DM+Sans:wght@300;400;500&display=swap');

:root {
  --red:        #C0392B;
  --red-dim:    rgba(192,57,43,0.12);
  --red-glow:   rgba(192,57,43,0.35);
  --silver:     #C0C0C0;
  --black:      #0A0A0A;
  --black-2:    #111111;
  --black-3:    #161616;
  --white:      #FFFFFF;
  --muted:      #888888;
  --font-display: 'Bebas Neue', sans-serif;
  --font-mono:    'Space Mono', monospace;
  --font-body:    'DM Sans', sans-serif;
  --px: clamp(24px, 5vw, 80px);
  --nav-h: 100px;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior: smooth; }
body { background: var(--black); color: var(--white); font-family: var(--font-body); overflow-x:hidden; -webkit-font-smoothing: antialiased; }
img  { display:block; max-width:100%; }
a    { text-decoration:none; color:inherit; }
ul   { list-style:none; }

/* Grain */
body::before {
  content:''; position:fixed; inset:0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity:0.022; pointer-events:none; z-index:9000;
}

/* Scroll progress */
.scroll-progress { position:fixed; top:0; left:0; height:2px; background:var(--red); z-index:99999; width:0%; box-shadow:0 0 8px rgba(192,57,43,0.6); }

/* Cursor glow */
.cursor-glow { position:fixed; width:300px; height:300px; border-radius:50%; background:radial-gradient(circle, rgba(192,57,43,0.05) 0%, transparent 70%); pointer-events:none; z-index:9998; transform:translate(-50%,-50%); will-change:transform; }

/* ── NAV (same as main site) ── */
.nav { position:fixed; top:0; left:0; right:0; height:var(--nav-h); z-index:999; display:flex; flex-direction:row; align-items:center; justify-content:space-between; padding:0 var(--px); background:rgba(10,10,10,0.97); backdrop-filter:blur(20px); border-bottom:1px solid rgba(192,192,192,0.08); transition:height 0.4s; }
.nav.scrolled { height:72px; background:rgba(10,10,10,1); border-color:rgba(192,192,192,0.12); }
.nav__logo { display:flex; align-items:center; flex-shrink:0; }
.nav__logo img { height:clamp(48px,6vw,72px); object-fit:contain; filter:drop-shadow(0 0 14px var(--red-glow)); transition:filter 0.3s, height 0.4s; }
.nav.scrolled .nav__logo img { height:42px; }
.nav__logo--text { font-family:var(--font-display); font-size:clamp(36px,5vw,56px); letter-spacing:0.1em; color:var(--silver); filter:drop-shadow(0 0 14px var(--red-glow)); line-height:1; }
.nav__links { display:flex; flex-direction:row; align-items:center; justify-content:center; gap:clamp(16px,2.2vw,36px); list-style:none; margin:0; padding:0; flex:1; }
.nav__links li { display:flex; align-items:center; }
.nav__links a { display:inline-block; font-family:var(--font-display); font-size:clamp(13px,1.4vw,17px); letter-spacing:0.1em; text-transform:uppercase; color:rgba(255,255,255,0.6); white-space:nowrap; transition:color 0.2s; position:relative; }
.nav__links a::after { content:''; position:absolute; bottom:-4px; left:0; width:0; height:2px; background:var(--red); border-radius:2px; transition:width 0.25s; }
.nav__links a:hover { color:var(--white); }
.nav__links a:hover::after { width:100%; }
.nav__link--active { color:var(--white) !important; }
.nav__link--active::after { width:100% !important; }
.nav__link--trabaye { display:inline-flex !important; align-items:center; gap:6px; color:var(--white) !important; background:var(--red); padding:6px 14px; border-radius:2px; font-size:clamp(11px,1.1vw,14px) !important; }
.nav__link--trabaye::after { display:none !important; }
.nav__link--trabaye:hover { background:#a93226 !important; }
.trabaye-dot { width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,0.75); flex-shrink:0; animation:trabayedot 1.6s ease-in-out infinite; }
@keyframes trabayedot { 0%,100%{opacity:0.5;transform:scale(1);} 50%{opacity:1;transform:scale(1.5);} }
.nav__right { display:flex; flex-direction:row; align-items:center; gap:16px; flex-shrink:0; }
.nav__socials { display:flex; flex-direction:row; align-items:center; gap:12px; }
.nav__socials a { display:flex; align-items:center; justify-content:center; color:rgba(192,192,192,0.4); transition:color 0.2s; width:20px; height:20px; }
.nav__socials a:hover { color:var(--white); }
.nav__socials svg { width:17px; height:17px; display:block; }
.nav__cta { display:inline-block; font-family:var(--font-mono); font-size:10px; letter-spacing:0.15em; text-transform:uppercase; color:var(--white); background:transparent; border:1px solid rgba(192,192,192,0.3); padding:10px 20px; border-radius:2px; white-space:nowrap; transition:all 0.2s; }
.nav__cta:hover { border-color:rgba(192,192,192,0.65); background:rgba(192,192,192,0.06); }
.nav__hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:4px; flex-shrink:0; }
.nav__hamburger span { display:block; width:26px; height:1.5px; background:var(--silver); border-radius:2px; transition:all 0.3s; }
.nav__hamburger.open span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
.nav__hamburger.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
.nav__hamburger.open span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }
.nav__drawer { position:fixed; top:0; left:0; right:0; background:rgba(10,10,10,0.98); backdrop-filter:blur(20px); z-index:998; padding:calc(var(--nav-h) + 24px) var(--px) 48px; display:flex; flex-direction:column; gap:28px; transform:translateY(-110%); transition:transform 0.4s cubic-bezier(0.4,0,0.2,1); border-bottom:1px solid rgba(192,192,192,0.08); }
.nav__drawer.open { transform:translateY(0); }
.nav__drawer a { display:block; font-family:var(--font-display); font-size:clamp(36px,9vw,52px); letter-spacing:0.06em; color:rgba(255,255,255,0.7); transition:color 0.2s; }
.nav__drawer a:hover { color:var(--white); }
.nav__drawer .drawer-trabaye { color:var(--red) !important; }

/* ════════════════════════════════════════
   SHOP HERO
════════════════════════════════════════ */
.shop-hero {
  position: relative;
  height: 60vh;
  min-height: 420px;
  display: flex;
  align-items: flex-end;
  padding: 0 var(--px) clamp(48px,8vh,80px);
  overflow: hidden;
  margin-top: var(--nav-h);
}

.shop-hero__bg {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(160deg, rgba(192,57,43,0.08) 0%, transparent 60%),
    repeating-linear-gradient(
      45deg,
      rgba(192,192,192,0.015) 0px,
      rgba(192,192,192,0.015) 1px,
      transparent 1px,
      transparent 40px
    ),
    var(--black);
}

.shop-hero__bg::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 40%;
  background: linear-gradient(to top, var(--black), transparent);
}

.shop-hero__content {
  position: relative;
  z-index: 2;
}

.eyebrow {
  display: block;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: var(--red);
  margin-bottom: 12px;
}

.shop-hero__title {
  font-family: var(--font-display);
  font-size: clamp(72px, 12vw, 140px);
  letter-spacing: 0.06em;
  line-height: 0.88;
  color: var(--white);
  animation: fadeUp 0.9s ease both;
}

.shop-hero__title em {
  font-style: normal;
  color: var(--red);
  filter: drop-shadow(0 0 20px rgba(192,57,43,0.4));
}

.shop-hero__sub {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(192,192,192,0.4);
  margin-top: 16px;
  animation: fadeUp 0.9s 0.15s ease both;
}

.shop-hero__scroll {
  position: absolute;
  bottom: 28px; right: var(--px);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.shop-hero__scroll span {
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(192,192,192,0.22);
}

.shop-hero__scroll-line {
  width: 1px; height: 44px;
  background: linear-gradient(to bottom, rgba(192,57,43,0.7), transparent);
  animation: scrollline 2s ease-in-out infinite;
}

@keyframes scrollline {
  0%   { opacity:0; transform:scaleY(0); transform-origin:top; }
  50%  { opacity:1; transform:scaleY(1); }
  100% { opacity:0; transform:scaleY(1); transform-origin:bottom; }
}

@keyframes fadeUp {
  from { opacity:0; transform:translateY(22px); }
  to   { opacity:1; transform:translateY(0); }
}

/* ════════════════════════════════════════
   COMING SOON BANNER
════════════════════════════════════════ */
.coming-banner {
  background: rgba(192,57,43,0.08);
  border-top: 1px solid rgba(192,57,43,0.2);
  border-bottom: 1px solid rgba(192,57,43,0.2);
  padding: 16px var(--px);
}

.coming-banner__inner {
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: 1200px;
  margin: 0 auto;
}

.coming-banner__dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--red);
  flex-shrink: 0;
  animation: bardot 1.5s ease-in-out infinite;
}

@keyframes bardot { 0%,100%{opacity:0.5;transform:scale(1);} 50%{opacity:1;transform:scale(1.4);} }

.coming-banner p {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  color: rgba(255,255,255,0.6);
  text-transform: uppercase;
}

/* ════════════════════════════════════════
   SHOP SECTION
════════════════════════════════════════ */
.shop-section {
  padding: clamp(60px,8vh,100px) var(--px);
  max-width: 1280px;
  margin: 0 auto;
}

.shop-header { margin-bottom: clamp(36px,5vw,56px); }

.section__label {
  display: block;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--red);
  margin-bottom: 12px;
}

.section__title {
  font-family: var(--font-display);
  font-size: clamp(40px,6vw,76px);
  letter-spacing: 0.04em;
  line-height: 0.92;
}

/* ════════════════════════════════════════
   PRODUCT GRID
════════════════════════════════════════ */
.product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(280px,100%), 1fr));
  gap: clamp(20px,3vw,32px);
}

.product-card { cursor: pointer; }

.product-card__img {
  position: relative;
  aspect-ratio: 3/4;
  background: var(--black-3);
  border: 1px solid rgba(192,192,192,0.08);
  border-radius: 3px;
  overflow: hidden;
  margin-bottom: 16px;
  transition: border-color 0.3s;
}

.product-card:hover .product-card__img { border-color: rgba(192,57,43,0.4); }

.product-card__img-placeholder {
  width: 100%; height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(145deg, #1a0808 0%, #111111 50%, #1a0808 100%);
  font-family: var(--font-display);
  font-size: clamp(32px,5vw,52px);
  letter-spacing: 0.12em;
  color: rgba(192,57,43,0.12);
  transition: color 0.3s;
}

.product-card:hover .product-card__img-placeholder { color: rgba(192,57,43,0.22); }

.product-card__overlay {
  position: absolute;
  inset: 0;
  background: rgba(10,10,10,0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s;
  backdrop-filter: blur(4px);
}

.product-card:hover .product-card__overlay { opacity: 1; }

.product-card__notify {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--white);
  background: var(--red);
  border: none;
  padding: 12px 24px;
  border-radius: 2px;
  cursor: pointer;
  transition: background 0.2s, transform 0.15s;
}

.product-card__notify:hover { background: #a93226; transform: translateY(-2px); }

.product-card__badge {
  position: absolute;
  top: 12px; left: 12px;
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--white);
  background: rgba(10,10,10,0.75);
  border: 1px solid rgba(192,192,192,0.2);
  padding: 4px 10px;
  border-radius: 2px;
  backdrop-filter: blur(4px);
}

.product-card__badge--red {
  background: var(--red);
  border-color: var(--red);
}

.product-card__name {
  font-family: var(--font-display);
  font-size: clamp(18px,2.2vw,22px);
  letter-spacing: 0.06em;
  color: var(--white);
  margin-bottom: 4px;
}

.product-card__type {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 8px;
}

.product-card__price {
  font-family: var(--font-display);
  font-size: clamp(20px,2.5vw,26px);
  letter-spacing: 0.04em;
  color: var(--red);
}

/* ════════════════════════════════════════
   NOTIFY SECTION
════════════════════════════════════════ */
.notify-section {
  padding: clamp(60px,8vh,100px) var(--px);
  background: var(--black-2);
  border-top: 1px solid rgba(192,192,192,0.05);
  border-bottom: 1px solid rgba(192,192,192,0.05);
}

.notify-wrap {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

.notify-wrap__title {
  font-family: var(--font-display);
  font-size: clamp(44px,6vw,76px);
  letter-spacing: 0.04em;
  line-height: 0.92;
  margin-bottom: 16px;
}

.notify-wrap__body {
  font-size: clamp(14px,1.5vw,16px);
  line-height: 1.8;
  color: rgba(255,255,255,0.5);
  margin-bottom: 36px;
}

.notify-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 12px;
  align-items: stretch;
}

.notify-form__input {
  background: var(--black-3);
  border: 1px solid rgba(192,192,192,0.14);
  border-radius: 2px;
  padding: 14px 18px;
  font-family: var(--font-body);
  font-size: 14px;
  color: var(--white);
  outline: none;
  transition: border-color 0.2s;
  width: 100%;
}

.notify-form__input::placeholder { color: rgba(192,192,192,0.3); }
.notify-form__input:focus { border-color: rgba(192,57,43,0.5); }

.notify-form__btn {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  white-space: nowrap;
  padding: 14px 28px;
  background: var(--red);
  color: var(--white);
  border: none;
  border-radius: 2px;
  cursor: pointer;
  transition: background 0.2s, transform 0.15s;
}

.notify-form__btn:hover { background: #a93226; transform: translateY(-2px); }

.notify-form__note {
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: rgba(192,192,192,0.22);
  margin-top: 12px;
}

.notify-success {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-family: var(--font-display);
  font-size: clamp(20px,3vw,28px);
  letter-spacing: 0.06em;
  color: var(--white);
  padding: 20px 0;
}

/* ════════════════════════════════════════
   SHOPIFY PLACEHOLDER BANNER
════════════════════════════════════════ */
.shopify-placeholder {
  padding: clamp(32px,4vh,48px) var(--px);
  max-width: 1280px;
  margin: 0 auto;
}

.shopify-placeholder__inner {
  display: flex;
  align-items: center;
  gap: 20px;
  background: var(--black-3);
  border: 1px solid rgba(192,192,192,0.07);
  border-radius: 4px;
  padding: clamp(20px,3vw,32px);
  border-left: 3px solid var(--red);
}

.shopify-placeholder__icon {
  width: 48px; height: 48px;
  border-radius: 3px;
  background: var(--red-dim);
  display: flex; align-items: center; justify-content: center;
  color: var(--red);
  flex-shrink: 0;
}

.shopify-placeholder__inner h3 {
  font-family: var(--font-display);
  font-size: clamp(18px,2vw,22px);
  letter-spacing: 0.06em;
  color: var(--white);
  margin-bottom: 4px;
}

.shopify-placeholder__inner p {
  font-size: 13px;
  color: rgba(255,255,255,0.45);
  line-height: 1.6;
}

/* ════════════════════════════════════════
   FOOTER
════════════════════════════════════════ */
.footer {
  padding: clamp(40px,5vh,52px) var(--px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid rgba(192,192,192,0.05);
  flex-wrap: wrap;
  gap: 20px;
  margin-top: clamp(48px,6vh,80px);
}

.footer__logo img { height:24px; object-fit:contain; opacity:0.5; }
.footer__logo--text { font-family:var(--font-display); font-size:18px; color:rgba(192,192,192,0.5); letter-spacing:0.15em; }
.footer__nav { display:flex; gap:clamp(20px,3vw,36px); flex-wrap:wrap; justify-content:center; }
.footer__nav a { font-family:var(--font-mono); font-size:10px; letter-spacing:0.15em; text-transform:uppercase; color:var(--muted); transition:color 0.2s; }
.footer__nav a:hover { color:var(--white); }
.footer__copy { font-family:var(--font-mono); font-size:9px; color:rgba(192,192,192,0.17); letter-spacing:0.1em; }

/* ════════════════════════════════════════
   NOTIFY MODAL
════════════════════════════════════════ */
.notify-modal {
  position: fixed;
  inset: 0;
  background: rgba(10,10,10,0.85);
  backdrop-filter: blur(12px);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  animation: fadeIn 0.3s ease;
}

@keyframes fadeIn { from{opacity:0;} to{opacity:1;} }

.notify-modal__box {
  background: var(--black-3);
  border: 1px solid rgba(192,192,192,0.12);
  border-radius: 4px;
  padding: clamp(28px,4vw,44px);
  width: 100%;
  max-width: 440px;
  animation: scaleIn 0.3s ease;
}

@keyframes scaleIn { from{transform:scale(0.92); opacity:0;} to{transform:scale(1); opacity:1;} }

.notify-modal__product {
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--red);
  margin-bottom: 8px;
}

.notify-modal__box h3 {
  font-family: var(--font-display);
  font-size: clamp(22px,3vw,28px);
  letter-spacing: 0.06em;
  color: var(--white);
  margin-bottom: 20px;
}

.notify-modal__box .notify-form__input { margin-bottom: 0; }

/* ════════════════════════════════════════
   BUTTONS
════════════════════════════════════════ */
.btn {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  border-radius: 2px;
  cursor: pointer;
  transition: all 0.2s;
  border: 1px solid transparent;
  padding: 13px 28px;
}

.btn--primary { background:var(--red); color:var(--white); border-color:var(--red); }
.btn--primary:hover { background:#a93226; transform:translateY(-2px); }
.btn--outline { background:transparent; color:var(--silver); border-color:rgba(192,192,192,0.22); }
.btn--outline:hover { border-color:rgba(192,192,192,0.55); color:var(--white); }

/* ════════════════════════════════════════
   REVEAL
════════════════════════════════════════ */
.reveal { opacity:0; transform:translateY(28px); transition:opacity 0.75s ease, transform 0.75s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }

/* ════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════ */
@media (max-width: 860px) {
  .notify-form__row { grid-template-columns: 1fr; }
  .notify-form__btn { width: 100%; }
  .footer { flex-direction:column; text-align:center; }
}

@media (max-width: 640px) {
  :root { --nav-h: 72px; }
  .nav__links, .nav__socials, .nav__cta { display:none; }
  .nav__hamburger { display:flex; }
  .product-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .shopify-placeholder__inner { flex-direction:column; text-align:center; }
}

@media (max-width: 380px) {
  .product-grid { grid-template-columns: 1fr; }
}
