:root {
  --green: #2db87e;
  --green-dark: #25a06c;
  --green-light: #e8f9f2;
  --black: #000000;
  --white: #ffffff;
  --gray-bg: #f6f6f6;
  --gray-mid: #e5e5e5;
  --gray-dark: #999999;
  --text: #000000;
  --text-light: #666666;
  --border: #ebebeb;
  --red: #e74c3c;
  --accent: #f5a623;
  --shadow: none;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; color:var(--text); background:#fff; font-size:13px; line-height:1.5; overflow-x:hidden; user-select:none; -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; }

/* ===== CUSTOM SCROLLBAR — hidden but functional ===== */
/* Firefox */
* { scrollbar-width: none; }
/* Webkit (Chrome, Edge, Safari) */
::-webkit-scrollbar { display: none; width: 0; height: 0; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: transparent; }
::-webkit-scrollbar-thumb:hover { background: transparent; }
::-webkit-scrollbar-corner { background: transparent; }
a { text-decoration:none; color:inherit; }
ul { list-style:none; }
img { max-width:100%; display:block; }
button { cursor:pointer; }

/* PROMO TOP BAR */
.promo-bar { background:var(--green); color:#fff; font-size:12px; text-align:center; padding:7px 16px; overflow:hidden; }
.promo-bar-track { display:flex; gap:60px; animation:promo-scroll 24s linear infinite; white-space:nowrap; }
.promo-bar-track span { flex-shrink:0; display:flex; align-items:center; gap:6px; }
@keyframes promo-scroll { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

/* UTILITY BAR */
.utility-bar { background:var(--green); border-bottom:none; overflow:visible; position:relative; z-index:1001; }
.utility-bar-inner { max-width:1280px; margin:0 auto; padding:0 20px; height:36px; display:flex; align-items:center; flex-wrap:nowrap; min-width:0; overflow:visible; position:relative; }
.utility-left { display:flex; align-items:center; flex-shrink:0; }
.utility-btn { display:flex; align-items:center; gap:4px; padding:0 6px; color:#fff; font-size:12px; background:none; border:none; font-family:'Inter',sans-serif; cursor:pointer; transition:opacity 0.15s; opacity:0.85; white-space:nowrap; flex-shrink:0; }
.utility-btn:hover { opacity:1; }
.utility-btn svg { width:11px; height:11px; flex-shrink:0; }
.utility-sep { color:rgba(255,255,255,0.4); margin:0 6px; flex-shrink:0; }
.utility-right { margin-left:auto; display:flex; align-items:center; flex-shrink:0; }
.utility-help { display:flex; align-items:center; gap:6px; font-size:12px; color:#fff; font-weight:500; transition:opacity 0.15s; opacity:0.85; white-space:nowrap; }
.utility-help:hover { opacity:1; }
.utility-help svg { width:13px; height:13px; flex-shrink:0; }

/* MAIN HEADER */
#site-header { position:sticky; top:0; z-index:1000; background:#fff; }
.main-header { background:#fff; border-bottom:none; }
.header-inner { max-width:1280px; margin:0 auto; padding:0 20px; height:72px; display:flex; align-items:center; gap:16px; }

/* Logo */
.logo { display:flex; align-items:center; gap:0; flex-shrink:0; text-decoration:none; }
.logo-img { height:48px; width:auto; display:block; object-fit:contain; }
.logo-icon { display:none; }
.logo-text-wrap { display:none; }
.logo-main { display:none; }


/* Search */
.header-search { flex:1; max-width:560px; position:relative; }
.header-search input { width:100%; height:44px; background:#fff; border:1.5px solid #eee; border-radius:0; padding:0 52px 0 18px; font-size:13px; font-family:'Inter',sans-serif; color:#000; outline:none; transition:border-color 0.2s, background 0.2s; }
.header-search input:focus { border-color:var(--green); background:#fff; }
.header-search input::placeholder { color:#aaa; }
.header-search button { position:absolute; right:0; top:0; height:44px; width:48px; background:var(--green); border:none; border-radius:0; display:flex; align-items:center; justify-content:center; color:#fff; transition:background 0.2s; }
.header-search button:hover { background:var(--green-dark); }

/* Header Icons area */
.header-icons { display:flex; align-items:center; gap:4px; margin-left:auto; flex-shrink:0; }
.icon-btn { display:flex; align-items:center; justify-content:center; width:44px; height:44px; color:#333; border-radius:0; transition:background 0.15s, color 0.15s; position:relative; background:none; border:none; flex-shrink:0; }
.icon-btn:hover { background:var(--green-light); color:var(--green); }
.icon-btn svg { width:22px; height:22px; }
.header-badge { position:absolute; top:4px; right:4px; background:var(--green); color:#fff; font-size:9px; font-weight:700; min-width:16px; height:16px; border-radius:0; display:flex; align-items:center; justify-content:center; padding:0 3px; }

/* User block */
.header-user-block { display:flex; align-items:center; gap:8px; padding:8px 12px; border-radius:0; transition:background 0.15s; cursor:pointer; text-decoration:none; color:#333; border:1px solid transparent; }
.header-user-block:hover { background:var(--green-light); border-color:var(--green-light); color:var(--green); }
.header-user-block svg { width:22px; height:22px; flex-shrink:0; color:#888; }
.header-user-block:hover svg { color:var(--green); }
.header-user-text { display:flex; flex-direction:column; line-height:1.2; }
.header-user-text .top { font-size:10px; color:#aaa; }
.header-user-text .bot { font-size:12px; font-weight:700; color:#000; }
.header-user-block:hover .header-user-text .bot { color:var(--green); }

/* Wish block */
.header-wish-block { display:flex; align-items:center; gap:8px; padding:8px 12px; border-radius:0; transition:background 0.15s; cursor:pointer; text-decoration:none; color:#333; position:relative; border:1px solid transparent; }
.header-wish-block:hover { background:var(--green-light); border-color:var(--green-light); }
.header-wish-block svg { width:22px; height:22px; color:#888; }
.header-wish-block:hover svg { color:var(--green); }
.hw-label { font-size:10px; color:#aaa; display:block; }
.hw-name { font-size:12px; font-weight:700; color:#000; display:block; }
.header-wish-block:hover .hw-name { color:var(--green); }
.hw-badge { position:absolute; top:6px; right:6px; background:var(--green); color:#fff; font-size:9px; font-weight:700; min-width:16px; height:16px; border-radius:0; display:none; align-items:center; justify-content:center; padding:0 3px; }

/* Cart block */
.header-cart-block { display:flex; align-items:center; gap:8px; padding:10px 16px; background:var(--green); border-radius:0; cursor:pointer; border:none; font-family:'Inter',sans-serif; color:#fff; transition:background 0.25s; flex-shrink:0; }
.header-cart-block:hover { background:var(--green-dark); }
.header-cart-block svg { width:20px; height:20px; }
.header-cart-text { display:flex; flex-direction:column; line-height:1.2; text-align:left; }
.header-cart-text .ct { font-size:10px; color:rgba(255,255,255,0.75); }
.header-cart-text .ca { font-size:13px; font-weight:800; }
.header-cart-badge { background:#fff; color:var(--green); font-size:10px; font-weight:800; min-width:20px; height:20px; border-radius:0; display:flex; align-items:center; justify-content:center; padding:0 4px; margin-left:4px; }

/* NAV BAR */
.main-nav { background:#000; }
.nav-inner { max-width:1280px; margin:0 auto; padding:0; height:46px; display:flex; align-items:stretch; position:relative; margin-left:100px; margin-right:100px; }
.nav-categories-btn { display:flex; align-items:center; gap:10px; background:var(--green); color:#fff; border:none; padding:0 20px; font-size:13px; font-weight:700; font-family:'Inter',sans-serif; text-transform:uppercase; letter-spacing:0.3px; cursor:pointer; white-space:nowrap; transition:background 0.2s; flex-shrink:0; }
.nav-categories-btn:hover, .nav-categories-btn.open { background:var(--green-dark); letter-spacing:0.3px; }
.nav-categories-btn svg { width:16px; height:16px; transition:transform 0.2s; }
.nav-categories-btn.open svg.chevron { transform:rotate(180deg); }
.nav-links { display:flex; align-items:center; margin-left:auto; padding:0 8px; }
.nav-link { display:flex; align-items:center; height:46px; padding:0 16px; font-size:12px; color:rgba(255,255,255,0.7); white-space:nowrap; transition:color 0.15s; font-weight:600; text-transform:uppercase; letter-spacing:0.5px; }
.nav-link:hover { color:#fff; }
.nav-link.active { color:#fff; border-bottom:2px solid var(--green); }
.nav-divider { width:1px; height:16px; background:#444; margin:0 4px; flex-shrink:0; align-self:center; }

/* CATEGORIES DROPDOWN */
.cat-dropdown { position:absolute; top:46px; left:0; width:240px; background:#fff; z-index:5000; display:none; flex-direction:column; border-top:3px solid var(--green); margin-top:10px; clip-path:polygon(0 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%); }
.cat-dropdown.open { display:flex; }
.cat-dropdown-item { display:flex; align-items:center; gap:12px; padding:12px 20px; font-size:13px; font-weight:500; color:#333; transition:background 0.15s, color 0.15s; cursor:pointer; text-decoration:none; border-bottom:1px solid #e0e0e0; }
.cat-dropdown-item:last-child { border-bottom:none; }
.cat-dropdown-item:hover { background:var(--green-light); color:var(--green); }
.cat-dropdown-item svg { width:16px; height:16px; flex-shrink:0; color:var(--green); }
.cat-dropdown-item span.cat-count { margin-left:auto; font-size:11px; color:#999; font-weight:400; }

/* HERO AREA */
.hero-section { background:#fff; margin-left:100px; margin-right:100px; }
.hero-area { max-width:1280px; margin:0 auto; padding:12px 20px; display:grid; grid-template-columns:1fr 310px; gap:12px; align-items:start; }

/* SLIDER */
.hero-slider { position:relative; border-radius:0; overflow:hidden; background:#111; height:340px; }
.slider-track { display:flex; width:100%; height:100%; transition:transform 0.65s cubic-bezier(.77,0,.18,1); }
.slide { min-width:100%; height:100%; position:relative; overflow:hidden; display:flex; align-items:center; }
.slide-1 { background:linear-gradient(135deg, #0d3320 0%, #1a6640 45%, #2db87e 100%); }
.slide-2 { background:linear-gradient(135deg, #0a2e1c 0%, #145c38 45%, #22a06a 100%); }
.slide-3 { background:linear-gradient(135deg, #112e1e 0%, #1e6e42 45%, #2db87e 100%); }
.slide-content { position:relative; z-index:2; padding:36px 44px; max-width:55%; }

/* SLIDER TEXT ANIMATIONS - each element enters differently */
@keyframes anim-fade-up   { from{opacity:0;transform:translateY(22px)} to{opacity:1;transform:translateY(0)} }
@keyframes anim-fade-left { from{opacity:0;transform:translateX(-30px)} to{opacity:1;transform:translateX(0)} }
@keyframes anim-fade-down { from{opacity:0;transform:translateY(-18px)} to{opacity:1;transform:translateY(0)} }
@keyframes anim-scale-in  { from{opacity:0;transform:scale(0.88) translateY(8px)} to{opacity:1;transform:scale(1) translateY(0)} }
@keyframes anim-clip-in   { from{opacity:0;clip-path:inset(0 100% 0 0)} to{opacity:1;clip-path:inset(0 0% 0 0)} }

.slide-eyebrow { font-size:11px; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:rgba(255,255,255,0.65); margin-bottom:10px; display:flex; align-items:center; gap:8px; opacity:0; }
.slide-eyebrow::before { content:''; display:block; width:20px; height:2px; background:#fff; border-radius:0; opacity:0.5; }
.slide-title { font-family:'Bebas Neue',cursive; font-size:clamp(34px,4vw,56px); color:#fff; line-height:1; margin-bottom:8px; letter-spacing:1px; opacity:0; }
.slide-sub { font-size:13px; font-weight:700; color:rgba(255,255,255,0.55); text-transform:uppercase; letter-spacing:1.5px; margin-bottom:22px; opacity:0; }
.slide-btn-wrap { opacity:0; }

.slide.active .slide-eyebrow { animation:anim-fade-left 0.55s cubic-bezier(.16,1,.3,1) 0.05s both; }
.slide.active .slide-title   { animation:anim-scale-in  0.6s  cubic-bezier(.16,1,.3,1) 0.18s both; }
.slide.active .slide-sub     { animation:anim-fade-up   0.55s cubic-bezier(.16,1,.3,1) 0.32s both; }
.slide.active .slide-btn-wrap{ animation:anim-fade-up   0.5s  cubic-bezier(.16,1,.3,1) 0.44s both; }

.slide-btn { display:inline-flex; align-items:center; gap:8px; background:#fff; color:#000; padding:11px 22px; border-radius:0; font-size:12px; font-weight:700; letter-spacing:0.3px; border:none; cursor:pointer; font-family:'Inter',sans-serif; position:relative; overflow:hidden; transition:color 0.25s; }
.slide-btn::after { content:''; position:absolute; inset:0; background:var(--green); transform:scaleX(0); transform-origin:left; transition:transform 0.3s cubic-bezier(.16,1,.3,1); z-index:0; }
.slide-btn:hover::after { transform:scaleX(1); }
.slide-btn:hover { color:#fff; }
.slide-btn span, .slide-btn svg { position:relative; z-index:1; }
.slide-btn svg { width:14px; height:14px; }
.slide-image { position:absolute; right:0; bottom:0; height:108%; width:50%; object-fit:contain; object-position:bottom right; }
.slide.active .slide-image { animation:img-in 0.7s 0.1s cubic-bezier(.16,1,.3,1) both; }
@keyframes img-in { from{opacity:0;transform:translateX(28px) scale(0.95)} to{opacity:1;transform:translateX(0) scale(1)} }
.slide-badge { position:absolute; top:14px; left:14px; background:rgba(255,255,255,0.15); border:1px solid rgba(255,255,255,0.2); color:#fff; font-size:10px; font-weight:800; padding:4px 10px; border-radius:0; letter-spacing:0.5px; z-index:3; }
.slider-prev, .slider-next { display:none !important; }
.slider-dots { position:absolute; bottom:14px; left:50%; transform:translateX(-50%); display:flex; gap:7px; z-index:10; }
.slider-dot { width:22px; height:4px; border-radius:0; background:rgba(255,255,255,0.35); cursor:pointer; transition:background 0.2s, width 0.25s; border:none; padding:0; }
.slider-dot.active { background:#fff; width:34px; }

/* SIDE BANNERS */
.hero-banners { display:flex; flex-direction:column; gap:8px; height:340px; }
.side-banner { position:relative; border-radius:0; overflow:hidden; flex:1; display:flex; align-items:center; cursor:pointer; text-decoration:none; transition:opacity 0.25s; }
.side-banner:hover { opacity:0.92; }
.side-banner-1 { background:linear-gradient(135deg, #0d3d26, #1e6e42, #2db87e); }
.side-banner-2 { background:linear-gradient(135deg, #0d3d26, #1e6e42, #2db87e); }
.side-banner-content { padding:20px 16px; position:relative; z-index:2; flex:1; }
.side-banner-label { font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,0.55); margin-bottom:6px; }
.side-banner-title { font-size:15px; font-weight:800; color:#fff; line-height:1.25; margin-bottom:12px; }
.side-banner-cta { display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:700; color:#fff; text-transform:uppercase; letter-spacing:0.8px; border-bottom:1px solid rgba(255,255,255,0.4); padding-bottom:2px; transition:border-color 0.15s; }
.side-banner:hover .side-banner-cta { border-color:#fff; }
.side-banner-cta svg { width:11px; height:11px; }
.side-banner-image { width:120px; height:100%; object-fit:contain; object-position:center; flex-shrink:0; padding:8px; }
.side-banner:hover .side-banner-image { }

/* GREEN PROMO STRIP */
.green-promo-strip { background:var(--green); margin-left:100px; margin-right:100px; }
.green-promo-strip-inner { max-width:1280px; margin:0 auto; padding:0 20px; height:36px; display:flex; align-items:center; overflow:hidden; }
.green-promo-track { display:flex; gap:60px; animation:promo-scroll 22s linear infinite; white-space:nowrap; }
.green-promo-track span { flex-shrink:0; display:flex; align-items:center; gap:8px; color:#fff; font-size:12px; font-weight:600; letter-spacing:0.3px; }
.green-promo-track span svg { width:13px; height:13px; flex-shrink:0; }

/* PROMO STRIP */
.promo-strip { background:#000; border-top:1px solid #222; border-bottom:1px solid #222; }
.promo-strip-inner { max-width:1280px; margin:0 auto; padding:0 20px; display:grid; grid-template-columns:repeat(4,1fr); }
.promo-item { display:flex; align-items:center; gap:14px; padding:18px 24px; border-right:1px solid #1f1f1f; transition:background 0.2s; }
.promo-item:hover { background:#0d0d0d; }
.promo-item:first-child { padding-left:0; }
.promo-item:last-child { border-right:none; }
.promo-item-icon { width:44px; height:44px; background:var(--green); border:1.5px solid var(--green); display:flex; align-items:center; justify-content:center; flex-shrink:0; color:#fff; transition:background 0.2s, color 0.2s, box-shadow 0.2s; }
.promo-item:hover .promo-item-icon { background:var(--green); color:#fff; box-shadow: 0 0 14px rgba(45,184,126,0.5); }
.promo-item-icon svg { width:20px; height:20px; }
.promo-item-text strong { display:block; font-size:13px; font-weight:700; color:#fff; letter-spacing:0.2px; }
.promo-item-text span { font-size:11px; color:rgba(255,255,255,0.4); }

/* CATEGORY STRIP */
.cat-strip { padding:24px 0 20px; background:#fff; margin-left:100px; margin-right:100px; }
.cat-strip-inner { max-width:1280px; margin:0 auto; padding:0 20px; }
.section-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.section-title { font-size:18px; font-weight:800; color:#111; letter-spacing:-0.3px; }
.section-more { font-size:12px; color:#666; display:flex; align-items:center; gap:4px; transition:color 0.15s; }
.section-more:hover { color:var(--green); }
.cat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.cat-card { background:#f8f8f8; border-radius:0; overflow:hidden; cursor:pointer; display:block; }
.cat-card:hover { background:#e8e8e8; }
.cat-card-inner { padding:24px 20px; display:flex; flex-direction:column; align-items:flex-start; min-height:120px; justify-content:flex-end; position:relative; }
.cat-card-content { position:relative; z-index:2; }
.cat-card-name { font-size:15px; font-weight:700; color:#fff; margin-bottom:4px; }
.cat-card-count { font-size:11px; color:rgba(255,255,255,0.7); }
.cat-card-arrow { position:absolute; right:14px; bottom:20px; z-index:2; width:28px; height:28px; background:rgba(255,255,255,0.15); border-radius:0; display:flex; align-items:center; justify-content:center; color:#fff; transition:background 0.2s; }
.cat-card:hover .cat-card-arrow { background:var(--green); }
.cat-card-arrow svg { width:14px; height:14px; }

/* DEALS */
.deals-section { background:#f6f6f6; padding:24px 0; margin-left:100px; margin-right:100px; }
.deals-inner { max-width:1280px; margin:0 auto; padding:0 20px; }
.deals-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.deal-box { background:#fff; border-radius:0; overflow:hidden; padding:16px; }
.deal-box-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; padding-bottom:12px; border-bottom:1px solid #e0e0e0; }
.deal-box-title { font-size:15px; font-weight:800; color:#111; display:flex; align-items:center; gap:6px; }
.deal-box-more { font-size:11px; color:#999; display:flex; align-items:center; gap:2px; }
.deal-box-more:hover { color:var(--green); }
.deal-products { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.deal-product { cursor:pointer; }
.deal-product-img { background:#f5f5f5; border-radius:0; aspect-ratio:3/4; overflow:hidden; margin-bottom:6px; }
.deal-product-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.3s; }
.deal-product:hover .deal-product-img img { transform:scale(1.07); }
.deal-product-price { font-size:12px; font-weight:700; color:#111; }
.deal-product-tag { font-size:10px; color:#fff; background:var(--green); padding:2px 5px; border-radius:0; display:inline-block; margin-top:3px; }

/* PRODUCTS GRID */
.for-you-section { padding:28px 0; background:#fff; margin-left:100px; margin-right:100px; }
.for-you-inner { max-width:1280px; margin:0 auto; padding:0 20px; }
.for-you-title { font-size:22px; font-weight:800; color:#111; margin-bottom:20px; letter-spacing:-0.5px; }
.products-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.product-card { cursor:pointer; position:relative; }
.product-img-wrap { position:relative; background:#f5f5f5; border-radius:0; overflow:hidden; aspect-ratio:3/4; margin-bottom:10px; }
.product-img-wrap img { width:100%; height:100%; object-fit:cover; transition:opacity 0.3s, transform 0.4s; }
.product-card:hover .product-img-wrap img { transform:scale(1.04); }
.product-badge { position:absolute; top:8px; left:8px; background:var(--green); color:#fff; font-size:10px; font-weight:700; padding:2px 7px; border-radius:0; z-index:2; }
.product-badge.new-badge { background:var(--green); }
.product-actions { position:absolute; left:10px; right:10px; bottom:10px; display:flex; flex-direction:row; gap:6px; opacity:0; z-index:2;
  transform:translateY(8px) skewX(-2deg);
  clip-path:inset(0 100% 0 0);
  transition:opacity 0.15s, transform 0.2s, clip-path 0.25s cubic-bezier(.16,1,.3,1);
}
.product-card:hover .product-actions {
  opacity:1;
  transform:translateY(0) skewX(0);
  clip-path:inset(0 0% 0 0);
  animation: cp-actions-in 0.3s cubic-bezier(.16,1,.3,1) both;
}
.product-card:not(:hover) .product-actions {
  animation: cp-actions-out 0.2s ease both;
}
@keyframes cp-actions-in {
  0%   { opacity:0; clip-path:inset(0 100% 0 0); transform:translateY(6px) skewX(-3deg); filter:brightness(2); }
  30%  { opacity:1; filter:brightness(1.4); }
  60%  { clip-path:inset(0 5% 0 0); transform:translateY(-1px) skewX(0.5deg); }
  80%  { filter:brightness(1); }
  100% { opacity:1; clip-path:inset(0 0% 0 0); transform:translateY(0) skewX(0); filter:brightness(1); }
}
@keyframes cp-actions-out {
  0%   { opacity:1; clip-path:inset(0 0% 0 0); }
  100% { opacity:0; clip-path:inset(0 0% 0 100%); }
}
.product-action-btn { flex:1; width:auto; height:36px; background:#000; border:none; border-right:1px solid rgba(255,255,255,0.12); display:flex; align-items:center; justify-content:center; color:#fff; transition:background 0.2s, color 0.2s; }
.product-action-btn:last-child { border-right:none; }
.product-action-btn:hover { background:var(--green); color:#fff; }
.product-action-btn svg { width:14px; height:14px; }
.add-to-cart-btn { display:none; }
.product-action-btn { width:32px; height:32px; background:#000; border:none; border-radius:0; display:flex; align-items:center; justify-content:center; color:#fff; transition:background 0.2s, color 0.2s, transform 0.2s; }
.product-action-btn:hover { background:var(--green); color:#fff; }
.product-action-btn svg { width:13px; height:13px; }
.add-to-cart-btn { position:absolute; bottom:0; left:0; right:0; background:rgba(0,0,0,0.85); color:#fff; border:none; padding:10px; font-size:12px; font-weight:600; font-family:'Inter',sans-serif; opacity:0; transition:opacity 0.2s, background 0.15s; width:100%; }
.add-to-cart-btn:hover { background:var(--green); }
.product-card:hover .add-to-cart-btn { opacity:1; }
.product-info { padding:0 2px; }
.product-brand { font-size:11px; color:#999; font-weight:600; text-transform:uppercase; letter-spacing:0.5px; margin-bottom:3px; }
.product-name { font-size:13px; font-weight:500; color:#000; line-height:1.4; margin-bottom:6px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.product-prices { display:flex; align-items:center; gap:8px; }
.product-price { font-size:14px; font-weight:700; color:#111; }
.product-old-price { font-size:12px; color:#bbb; text-decoration:line-through; }
.product-sold-count { display:none; }
.view-more-wrap { text-align:center; padding:28px 0 8px; }
.view-more-btn { display:inline-flex; align-items:center; gap:8px; padding:11px 40px; border:1.5px solid var(--green); border-radius:0; font-size:13px; font-weight:600; color:var(--green); font-family:'Inter',sans-serif; position:relative; overflow:hidden; transition:color 0.25s, background 0.25s; background:none; }
.view-more-btn:hover { background:var(--green); color:#fff; border-color:var(--green); }

/* TRUST SECTION */
.trust-section { background:#111; padding:36px 0; }
.trust-inner { max-width:1280px; margin:0 auto; padding:0 20px; display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.trust-item { text-align:center; color:#fff; padding:20px; }
.trust-num { font-family:'Bebas Neue',cursive; font-size:48px; color:var(--green); line-height:1; margin-bottom:6px; }
.trust-label { font-size:14px; font-weight:600; margin-bottom:6px; }
.trust-desc { font-size:12px; color:rgba(255,255,255,0.5); line-height:1.5; }

/* NEWSLETTER */
.newsletter-section { background:var(--green); padding:40px 0; }
.newsletter-inner { max-width:640px; margin:0 auto; padding:0 20px; text-align:center; }
.nl-title { font-size:24px; font-weight:800; margin-bottom:8px; color:#fff; }
.nl-desc { font-size:13px; color:rgba(255,255,255,0.8); margin-bottom:20px; }
.nl-form { display:flex; gap:8px; max-width:460px; margin:0 auto; }
.nl-input { flex:1; height:44px; border:none; border-radius:0; padding:0 16px; font-size:13px; font-family:'Inter',sans-serif; outline:none; }
.nl-input:focus { }
.nl-btn { height:44px; padding:0 24px; background:#111; color:#fff; border:none; border-radius:0; font-size:13px; font-weight:700; font-family:'Inter',sans-serif; transition:background 0.15s; flex-shrink:0; }
.nl-btn:hover { background:#000; }

/* FOOTER */
.site-footer { background:#000; color:#fff; }
.footer-main { padding:56px 0 44px; overflow: visible; width: 100%; }
.footer-main-inner { max-width:1400px; margin:0 auto; padding:0 80px; display:grid; grid-template-columns:380px 1fr 1fr 1fr; gap:48px; align-items:start; }

/* Contact Us column */
.footer-col-title { font-size:14px; font-weight:700; color:#fff; margin-bottom:22px; letter-spacing:0.3px; text-transform:uppercase; }
.footer-contact-block { margin-bottom:28px; }
.footer-company-name { font-size:13px; font-weight:700; color:#fff; margin-bottom:10px; }
.footer-addr { font-size:12.5px; color:rgba(255,255,255,0.5); line-height:1.75; margin-bottom:16px; }
.footer-addr-label { font-size:12.5px; font-weight:700; color:#fff; margin-bottom:6px; }
.footer-contact-email { display:flex; align-items:center; gap:16px; margin-top:12px; }
.footer-headset-wrap { width:50px; height:50px; background:var(--green); border:none; display:flex; align-items:center; justify-content:center; flex-shrink:0; clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,0 100%); }
.footer-headset-wrap svg { width:24px; height:24px; color:#fff; stroke:#fff; }
.footer-got-q { font-size:11px; color:rgba(255,255,255,0.45); margin-bottom:5px; }
.footer-email-link { font-size:16px; font-weight:700; color:#fff; transition:color 0.15s; }
.footer-email-link:hover { color:var(--green); }

/* Link columns */
.footer-col { }
.footer-col-list { list-style:none; margin:0; padding:0; }
.footer-col-list li { margin-bottom:14px; }
.footer-col-list li a { font-size:13px; color:rgba(255,255,255,0.5); transition:color 0.15s; line-height:1.4; display:block; }
.footer-col-list li a:hover { color:#fff; }

/* Footer bottom */
.footer-bottom { padding:22px 0; border-top:1px solid #2a2a2a; }
.footer-bottom-inner { max-width:1280px; margin:0 auto; padding:0 40px; display:flex; align-items:center; justify-content:center; gap:20px; flex-direction:column; }
.footer-copy { font-size:12px; color:rgba(255,255,255,0.4); text-align:center; }
.footer-payment-icons { display:flex; gap:10px; align-items:center; justify-content:center; }
.payment-icon { height:32px; background:#fff; border-radius:0; padding:4px 10px; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:900; color:#000; min-width:48px; }
.payment-icon.visa { background:#1a1f71; color:#fff; letter-spacing:0.5px; font-style:italic; }
.payment-icon.mc { background:#fff; padding:4px 6px; }
.payment-icon.amex { background:#2e77bc; color:#fff; font-size:10px; letter-spacing:0.3px; }
.footer-bottom { padding:16px 0; border-top:1px solid #111; }
.footer-bottom-inner { max-width:1280px; margin:0 auto; padding:0 20px; display:flex; align-items:center; justify-content:space-between; font-size:12px; color:rgba(255,255,255,0.3); }

/* MOBILE BOTTOM NAV */
.mob-bottom-nav { display:none; position:fixed; bottom:0; left:0; right:0; z-index:999; background:#fff; border-top:1px solid #e5e5e5; padding:8px 0 env(safe-area-inset-bottom,8px); }
.mob-bottom-nav-inner { display:flex; align-items:center; justify-content:space-around; }
.mob-nav-item { display:flex; flex-direction:column; align-items:center; gap:3px; font-size:10px; color:#999; padding:4px 12px; transition:color 0.15s; background:none; border:none; font-family:'Inter',sans-serif; }
.mob-nav-item svg { width:22px; height:22px; }
.mob-nav-item.active, .mob-nav-item:hover { color:var(--green); }

/* TOAST */
#toast { position:fixed; bottom:80px; left:50%; transform:translateX(-50%) translateY(20px); background:#111; color:#fff; padding:10px 20px; border-radius:0; font-size:13px; font-weight:600; opacity:0; transition:all 0.3s cubic-bezier(.16,1,.3,1); z-index:9999; pointer-events:none; white-space:nowrap; border-left:3px solid var(--green); }
#toast.show { opacity:1; transform:translateX(-50%) translateY(0); }

/* CART SIDEBAR */
.cart-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.4); z-index:1100; }
.cart-overlay.open { display:block; }
/* ── CART SIDEBAR — CYBERPUNK RESTYLE ───────────────────────── */
.cart-sidebar {
  position:fixed; top:0; right:0; width:400px; height:100%;
  background:#fff;
  z-index:1101; display:flex; flex-direction:column;
  transform:translateX(100%);
  transition:transform 0.35s cubic-bezier(.16,1,.3,1);
  border-left:2px solid var(--green);
  box-shadow:-4px 0 32px rgba(0,0,0,0.12);
  clip-path: polygon(20px 0, 100% 0, 100% 100%, 0 100%, 0 20px);
}
.cart-sidebar.open { transform:translateX(0); }

/* green top bar — same as auth-popup::before */
.cart-sidebar::before {
  content:'';
  position:absolute; top:0; left:0; right:0; height:3px;
  background:var(--green); z-index:1;
}
.cart-sidebar::after { display:none; }

/* ══ HEADER — pixel-identical to .auth-sidebar-header ══ */
.cart-sidebar-header {
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 22px;
  border-bottom:1px solid #e8e8e8;
  position:relative; z-index:1;
  background:#fff; flex-shrink:0;
}
.cart-sidebar-header::after {
  content:'';
  position:absolute; bottom:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg, var(--green), transparent 70%);
}
.cart-sidebar-header h3 {
  font-size:13px; font-weight:800; color:#0a0a0a;
  letter-spacing:0.12em; text-transform:uppercase;
  position:relative; padding-left:12px;
  display:flex; align-items:center;
  margin:0;
}
.cart-sidebar-header h3::before {
  content:'';
  position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:3px; height:80%; background:var(--green);
  clip-path:polygon(0 0,100% 4px,100% calc(100% - 4px),0 100%);
}
.cart-count-badge {
  font-size:12px; color:#999; font-weight:400; margin-left:5px;
}

/* ══ CLOSE — pixel-identical to .auth-close ══ */
.cart-close {
  width:32px; height:32px; background:transparent; border:1.5px solid #ddd;
  display:flex; align-items:center; justify-content:center; color:#999;
  clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);
  transition:border-color 0.2s, color 0.2s, background 0.2s; cursor:pointer;
}
.cart-close:hover { border-color:var(--green); color:var(--green); background:var(--green-light); }
.cart-close svg { width:13px; height:13px; }

/* ══ ITEMS SCROLL AREA — same as .auth-body ══ */
.cart-items {
  flex:1; overflow-y:auto; padding:24px 22px 16px;
  position:relative; z-index:1; background:#fff;
}
.cart-items::-webkit-scrollbar { display:none; }

/* ══ EMPTY STATE ══ */
.cart-empty {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  height:100%; gap:14px;
  font-size:10px; font-weight:700; letter-spacing:2px;
  text-transform:uppercase; color:#bbb;
}
.cart-empty svg { width:40px; height:40px; color:#ddd; }

/* ══ ITEM ROW ══ */
.cart-item-row {
  display:flex; gap:12px; margin-bottom:14px; padding-bottom:14px;
  border-bottom:1px solid #f0f0f0; align-items:flex-start;
  position:relative;
}
.cart-item-row::before {
  content:'';
  position:absolute; bottom:-1px; left:0; width:30%;
  height:1px; background:var(--green); opacity:0.3;
}

/* ══ REMOVE BUTTON ══ */
.cart-item-remove {
  flex-shrink:0; width:28px; height:28px;
  background:#f9f9f9; border:1.5px solid #e8e8e8;
  display:flex; align-items:center; justify-content:center; color:#bbb;
  transition:background 0.2s, color 0.2s, border-color 0.2s; cursor:pointer; margin-top:2px;
  clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);
}
.cart-item-remove:hover { background:var(--green-light); color:var(--green); border-color:var(--green); }
.cart-item-remove svg { width:13px; height:13px; }

/* ══ ITEM IMAGE ══ */
.cart-item-img {
  width:68px; height:88px; object-fit:cover;
  background:#f5f5f5; flex-shrink:0;
  border:1.5px solid #ebebeb; outline:1px solid transparent;
  transition:outline-color 0.2s;
}
.cart-item-row:hover .cart-item-img { outline-color:var(--green); }

/* ══ ITEM INFO ══ */
.cart-item-info { flex:1; }
.cart-item-name {
  font-size:11px; font-weight:600; color:#333;
  margin-bottom:5px; line-height:1.5; letter-spacing:0.02em;
}
.cart-item-qty {
  font-size:10px; color:#aaa; font-weight:700;
  letter-spacing:1px; text-transform:uppercase; margin-bottom:5px;
}
.cart-item-price {
  font-size:13px; font-weight:800; color:var(--green); letter-spacing:0.04em;
}

/* ══ FOOTER — same bg/border as auth bottom area ══ */
.cart-sidebar-footer {
  padding:16px 22px 20px; border-top:1px solid #e8e8e8;
  position:relative; z-index:1;
  background:#fafafa; flex-shrink:0;
}
.cart-sidebar-footer::before {
  content:'';
  position:absolute; top:0; left:0; width:40%;
  height:1px; background:linear-gradient(90deg, var(--green), transparent);
}

/* ══ FREE SHIPPING BAR — styled like auth-strength bar ══ */
.cart-free-ship-bar { margin-bottom:16px; }
.cart-free-ship-label {
  font-size:10px; color:#888; margin-bottom:8px;
  line-height:1.5; letter-spacing:1.5px; text-transform:uppercase; font-weight:700;
  display:flex; align-items:center;
}
.cart-free-ship-label strong { color:var(--green); margin:0 2px; }
.cart-free-ship-track {
  width:100%; height:3px; background:#ebebeb; overflow:hidden;
}
.cart-free-ship-fill {
  height:100%; background:var(--green);
  transition:width 0.5s cubic-bezier(.16,1,.3,1);
}

/* ══ TOTAL ROW — same spacing as auth fields ══ */
.cart-total-row {
  display:flex; justify-content:space-between; align-items:center;
  margin-bottom:14px; padding:12px 0;
  border-top:1px solid #ebebeb; border-bottom:1px solid #ebebeb;
}
.cart-total-label {
  font-size:10px; color:#888; letter-spacing:1.5px;
  text-transform:uppercase; font-weight:700;
}
.cart-total-amount {
  font-size:22px; font-weight:900; color:#0a0a0a; letter-spacing:0.02em;
}

/* ══ CHECKOUT BUTTON — pixel-identical to .auth-submit ══ */
.btn-checkout {
  display:flex; align-items:center; justify-content:center; gap:8px;
  width:100%; height:48px;
  background:var(--green); color:#fff;
  font-size:12px; font-weight:800; font-family:'Inter',sans-serif;
  letter-spacing:1.5px; text-transform:uppercase;
  border:none; cursor:pointer; text-decoration:none;
  clip-path:polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%);
  transition:background 0.2s;
  position:relative; overflow:hidden;
}
.btn-checkout:hover { background:var(--green-dark); }
.btn-checkout svg { width:15px; height:15px; }

/* SCROLL REVEAL — handled via JS inline styles */
.reveal { }
.reveal.visible { }

/* RESPONSIVE */
@media(max-width:1024px) {
  .hero-area { grid-template-columns:1fr 280px; }
  .products-grid { grid-template-columns:repeat(4,1fr); }
  .cat-grid { grid-template-columns:repeat(2,1fr); }
  .deals-grid { grid-template-columns:1fr; }
  .footer-main-inner { grid-template-columns:1fr 1fr; gap:32px; padding:0 40px; }
  .footer-bottom-inner { padding:0 20px; }
  .trust-inner { grid-template-columns:repeat(3,1fr); }
}

/* FLOATING BUTTONS */
.floating-buttons { position:fixed; bottom:28px; right:24px; display:flex; flex-direction:column; align-items:flex-end; gap:10px; z-index:1000; transition:right 0.35s cubic-bezier(.16,1,.3,1); }

/* LIVE CHAT BUTTON */
.live-chat-btn { display:flex; align-items:center; gap:10px; background:var(--green); color:#fff; border:none; padding:0 20px 0 16px; height:50px; cursor:pointer; font-family:'Inter',sans-serif; font-size:13px; font-weight:700; transition:background 0.25s; letter-spacing:0.2px; }
.live-chat-btn:hover { background:var(--green-dark); }
.live-chat-btn svg { width:20px; height:20px; flex-shrink:0; }
.live-chat-dot { width:8px; height:8px; background:#7fffca; border-radius:0; display:inline-block; animation:chat-pulse 1.8s ease-in-out infinite; flex-shrink:0; }
@keyframes chat-pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:0.5;transform:scale(0.7)} }

/* BACK TO TOP BUTTON */
.back-to-top { width:50px; height:50px; background:#000; color:#fff; border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background 0.25s, opacity 0.3s, visibility 0.3s; opacity:0; visibility:hidden; }
.back-to-top.visible { opacity:1; visibility:visible; }
.back-to-top:hover { background:var(--green); }
.back-to-top svg { width:20px; height:20px; }

/* BUTTON HOVER STATES */
/* view-more-btn styles defined above */

.product-action-btn:hover { background:var(--green); color:#fff; }

.btn-checkout:hover { background:var(--green-dark); }


.icon-btn { transition:background 0.2s, color 0.2s; }

/* NAV LINK underline slide */
.nav-link { position:relative; }
.nav-link::after { content:''; position:absolute; bottom:0; left:16px; right:16px; height:2px; background:var(--green); transform:scaleX(0); transition:transform 0.25s cubic-bezier(.16,1,.3,1); }
.nav-link:hover::after { transform:scaleX(1); }
.nav-link.active::after { transform:scaleX(1); }

/* Slider prev/next pulse on hover */
.slider-prev, .slider-next { transition:background 0.2s, transform 0.2s; }

/* Cat dropdown item arrow */
.cat-dropdown-item { transition:background 0.2s, color 0.2s; }

/* UTILITY DROPDOWNS */
.utility-dropdown-wrap { position:relative; }
.utility-chevron { transition:transform 0.2s; }
.utility-dropdown-wrap.open .utility-chevron { transform:rotate(180deg); }
.utility-dropdown { position:absolute; top:calc(100% + 4px); left:0; background:#fff; min-width:180px; z-index:9500; display:none; flex-direction:column; border:1px solid #e8e8e8; border-top:2px solid var(--green); box-shadow:0 8px 24px rgba(0,0,0,0.15); }
.utility-dropdown-wrap.open .utility-dropdown { display:flex; }
.utility-dropdown-item { display:block; width:100%; padding:9px 14px; font-size:12px; font-family:'Inter',sans-serif; color:#333; background:none; border:none; text-align:left; cursor:pointer; transition:background 0.15s, color 0.15s, padding-left 0.15s; border-bottom:1px solid #e0e0e0; white-space:nowrap; }
.utility-dropdown-item:last-child { border-bottom:none; }
.utility-dropdown-item:hover { background:var(--green-light); color:var(--green); }
.utility-dropdown-item.active { color:var(--green); font-weight:700; }

/* ========================
   SALE POPUP
   ======================== */
.sale-popup-overlay {
  display:none; position:fixed; inset:0;
  background:rgba(0,0,0,0.65); z-index:9100;
  backdrop-filter:blur(3px);
}
.sale-popup-overlay.open { display:block; }

.sale-popup {
  position:fixed;
  top:50%; left:50%;
  transform:translate(-50%,-50%) scale(0.92);
  z-index:9200;
  width:420px; max-width:calc(100vw - 32px);
  opacity:0; pointer-events:none;
  transition:opacity 0.3s cubic-bezier(.16,1,.3,1), transform 0.3s cubic-bezier(.16,1,.3,1);
  /* NO clip-path here — it breaks translate centering */
}
.sale-popup.open {
  opacity:1; pointer-events:all;
  transform:translate(-50%,-50%) scale(1);
}
.sale-popup-inner {
  background:#0d0d0d;
  padding:40px 36px 32px;
  display:flex; flex-direction:column; align-items:center;
  text-align:center;
  border-top:3px solid var(--green);
  position:relative;
  clip-path: polygon(0 24px, 24px 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%);
}

.sale-popup-close {
  position:absolute; top:14px; right:14px;
  width:30px; height:30px;
  background:var(--green); color:#fff; border:none;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:background 0.2s;
}
.sale-popup-close:hover { background:var(--green-dark); }
.sale-popup-close svg { width:14px; height:14px; }

.sale-popup-icon {
  width:56px; height:56px;
  background:var(--green); color:#fff;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:18px;
}
.sale-popup-icon svg { width:28px; height:28px; }

.sale-popup-label {
  font-size:11px; font-weight:700; letter-spacing:1.5px;
  text-transform:uppercase; color:rgba(255,255,255,0.55);
  margin-bottom:16px; line-height:1.6;
}

.sale-popup-badge {
  display:flex; align-items:baseline; gap:6px;
  margin-bottom:6px;
}
.sale-popup-pct {
  font-family:'Bebas Neue',cursive;
  font-size:88px; line-height:1; color:var(--green);
  letter-spacing:-2px;
}
.sale-popup-off {
  font-family:'Bebas Neue',cursive;
  font-size:52px; line-height:1; color:#fff;
  letter-spacing:1px;
}

.sale-popup-sub {
  font-size:11px; font-weight:700; letter-spacing:2px;
  text-transform:uppercase; color:rgba(255,255,255,0.4);
  margin-bottom:24px;
}

.sale-popup-form { width:100%; display:flex; flex-direction:column; gap:10px; margin-bottom:14px; }

.sale-popup-input {
  width:100%; height:46px;
  background:#111; border:1.5px solid #333;
  color:#fff; font-size:13px; font-family:'Inter',sans-serif;
  padding:0 16px; outline:none;
  transition:border-color 0.2s;
}
.sale-popup-input:focus { border-color:var(--green); }
.sale-popup-input::placeholder { color:#555; }

.sale-popup-btn {
  width:100%; height:46px;
  background:var(--green); color:#fff; border:none;
  font-size:12px; font-weight:700; letter-spacing:0.8px;
  text-transform:uppercase; font-family:'Inter',sans-serif;
  cursor:pointer; transition:background 0.2s;
}
.sale-popup-btn:hover { background:var(--green-dark); }

.sale-popup-check-wrap {
  display:flex; align-items:center; gap:8px;
  font-size:11px; color:rgba(255,255,255,0.35);
  cursor:pointer; margin-bottom:16px; text-align:left;
}
.sale-popup-check-wrap input { accent-color:var(--green); width:13px; height:13px; flex-shrink:0; }

.sale-popup-skip {
  background:none; border:none; color:rgba(255,255,255,0.2);
  font-size:11px; font-family:'Inter',sans-serif;
  cursor:pointer; transition:color 0.2s;
  text-decoration:underline; padding:0;
}
.sale-popup-skip:hover { color:rgba(255,255,255,0.5); }

/* ============================================================
   ██████╗ ██╗   ██╗██████╗ ███████╗██████╗ ██████╗ ██╗   ██╗███╗   ██╗██╗  ██╗
   CYBERPUNK POLYGON SYSTEM
   ============================================================ */

/* CSS VARIABLES FOR CYBERPUNK */
:root {
  --cp-cut-sm: 6px;
  --cp-cut-md: 12px;
  --cp-cut-lg: 18px;
  --cp-cut-xl: 24px;
  --cp-glow: 0 0 12px rgba(45,184,126,0.4), 0 0 24px rgba(45,184,126,0.15);
  --cp-glow-strong: 0 0 16px rgba(45,184,126,0.7), 0 0 40px rgba(45,184,126,0.25);
  --cp-scan-color: rgba(45,184,126,0.03);
}

/* scanline removed */

/* ── BUTTONS ─────────────────────────────────────────── */

/* NAV CATEGORIES BUTTON — no clip path */
.nav-categories-btn {
  border-radius: 0px;
  padding-right: 26px;
}

/* SLIDE BUTTON — top-right corner cut */
.slide-btn {
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%);
  overflow: visible;
}
.slide-btn::after {
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%);
}

/* CART BUTTON — bottom-left cut */
.header-cart-block {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 14px 100%, 0 calc(100% - 14px));
}

/* SUBSCRIBE BUTTON — asymmetric cuts */
.sale-popup-btn {
  clip-path: polygon(8px 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%, 0 8px);
}

/* NEWSLETTER SUBSCRIBE BUTTON */
.nl-btn {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 10px 100%, 0 calc(100% - 10px));
}

/* VIEW MORE BUTTON — both corners cut */
.view-more-btn {
  clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px);
  border: none !important;
  background: transparent;
  outline: none;
  position: relative;
}
.view-more-btn::before {
  content: '';
  position: absolute; inset: 0;
  background: transparent;
  clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px);
  border: 1.5px solid var(--green);
  z-index: 0;
  pointer-events: none;
}
.view-more-btn:hover {
  background: var(--green) !important;
  color: #fff !important;
}
.view-more-btn > * { position:relative; z-index:1; }

/* CHECKOUT BUTTON — top-right cut (matches auth-submit) */
.btn-checkout {
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%);
}

/* BACK TO TOP — matches live-chat-btn style */
.back-to-top {
  clip-path: polygon(12px 0, 100% 0, 100% 100%, 0 100%, 0 12px);
  width: 44px; height: 44px;
}

/* LIVE CHAT — left side sharp cut */
.live-chat-btn {
  clip-path: polygon(12px 0, 100% 0, 100% 100%, 0 100%, 0 12px);
}

/* PROMO ITEM ICON — hexagon-ish */
.promo-item-icon {
  clip-path: polygon(25% 0, 75% 0, 100% 25%, 100% 75%, 75% 100%, 25% 100%, 0 75%, 0 25%);
  width: 46px; height: 46px;
}

/* LOGO ICON — corner cut */
.logo-icon {
  clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
}

/* HEADER BADGE — angled */
.header-badge {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 4px 100%, 0 calc(100% - 4px));
}

/* HEADER CART BADGE */
.header-cart-badge {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 4px 100%, 0 calc(100% - 4px));
}

/* PRODUCT BADGE — sharp left side */
.product-badge {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 6px 100%, 0 calc(100% - 6px));
}

/* SLIDE BADGE */
.slide-badge {
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%);
}

/* SEARCH BUTTON — right-angled */
.header-search button {
  clip-path: polygon(8px 0, 100% 0, 100% 100%, 0 100%, 0 8px);
}

/* TRUST SECTION NUMBERS */
.trust-num {
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%);
  display: inline-block;
  padding-right: 8px;
}

/* SALE POPUP ICON BOX */
.sale-popup-icon {
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px));
}

/* SALE POPUP CLOSE BUTTON */
.sale-popup-close {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 8px 100%, 0 calc(100% - 8px));
}

/* SALE POPUP INPUT */
.sale-popup-input {
  clip-path: polygon(8px 0, 100% 0, 100% 100%, calc(100% - 8px) 100%, 0 100%, 0 8px);
}

/* NEWSLETTER INPUT */
.nl-input {
  clip-path: polygon(6px 0, 100% 0, 100% 100%, 0 100%, 0 6px);
}

/* ── CARDS & SECTIONS ────────────────────────────────── */

/* CATEGORY CARDS — different polygon per nth */
.cat-card:nth-child(1) {
  clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 0 100%);
}
.cat-card:nth-child(2) {
  clip-path: polygon(20px 0, 100% 0, 100% 100%, calc(100% - 20px) 100%, 0 calc(100% - 20px), 0 0);
}
.cat-card:nth-child(3) {
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 20px), calc(100% - 20px) 100%, 0 100%);
}
.cat-card:nth-child(4) {
  clip-path: polygon(0 20px, 20px 0, 100% 0, 100% 100%, 0 100%);
}

/* PRODUCT CARDS — subtle top-right snip */
.product-img-wrap {
  clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 0 100%);
}

/* SIDE BANNERS — diagonal cuts */
.side-banner-1 {
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 18px), calc(100% - 18px) 100%, 0 100%);
}
.side-banner-2 {
  clip-path: polygon(18px 0, 100% 0, 100% 100%, 0 100%, 0 18px);
}

/* HERO SLIDER — bottom-right diagonal */
.hero-slider {
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%);
}

/* PROMO STRIP — redesigned */
.promo-strip {
  clip-path: none;
  margin: 0;
  border-top: 2px solid var(--green);
  border-bottom: none;
}

/* DEAL BOX — corner accents */
.deal-box {
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px));
}

/* TRUST ITEMS — left cut */
.trust-item {
  clip-path: polygon(12px 0, 100% 0, 100% 100%, 0 100%, 0 12px);
  padding: 24px 24px 24px 32px;
}

/* TRUST INNER GRID GAPS */
.trust-inner { gap: 16px; }

/* FOOTER MAIN INNER — accent cut on first col */
.footer-brand {
  position: relative;
}
.footer-brand::before {
  content: '';
  position: absolute; top: 0; left: -20px;
  width: 3px; height: 60px;
  background: var(--green);
  clip-path: polygon(0 0, 100% 8px, 100% 100%, 0 calc(100% - 8px));
}

/* PAYMENT ICONS */
.payment-icon {
  clip-path: polygon(4px 0, 100% 0, 100% calc(100% - 4px), calc(100% - 4px) 100%, 0 100%, 0 4px);
}

/* SALE POPUP BOX — hexagonal feel — applied to .sale-popup-inner */
.sale-popup-inner {
  /* clip-path already set above */
}

/* NAV DROPDOWN — left edge cut */
.cat-dropdown {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 14px 100%, 0 calc(100% - 14px));
}

/* ICON BTNS hover state — polygon outline, no glow */
.icon-btn:hover {
  background: transparent;
  color: var(--green);
  box-shadow: inset 0 0 0 1.5px var(--green);
  clip-path: polygon(6px 0, 100% 0, 100% calc(100% - 6px), calc(100% - 6px) 100%, 0 100%, 0 6px);
}

/* HEADER USER / WISH blocks */
.header-user-block:hover {
  clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 8px 100%, 0 calc(100% - 8px));
  background: var(--green-light);
}
.header-wish-block:hover {
  clip-path: polygon(8px 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%, 0 8px);
  background: var(--green-light);
}

/* ── GLOWING OUTLINES — REMOVED ─────────────────────── */
.header-cart-block:hover,
.nav-categories-btn:hover,
.sale-popup-btn:hover,
.nl-btn:hover,
.btn-checkout:hover { box-shadow: none; }

.cart-sidebar.open { box-shadow: -4px 0 32px rgba(0,0,0,0.12); } /* matches auth-popup shadow */

/* ── CYBER CORNER DECORATORS ─────────────────────────── */
/* Animated corner brackets on hero slider */
/* hero-slider corner decorators removed */

/* Cyber corner on trust section */
.trust-section {
  position: relative;
}
.trust-section::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--green), transparent);
}

/* Animated scan line on nav — removed */


/* Green top border pulse on site header */
#site-header::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0;
  height: 2px;
  background: var(--green);
  box-shadow: 0 0 10px var(--green);
  z-index: 1;
}

/* Newsletter section — diagonal clip */
.newsletter-section {
  margin-top: 0; margin-bottom: 0;
}

/* Footer main inner — decorative left line */
.footer-main { position: relative; overflow: visible; clip-path: none; }
.footer-main::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, var(--green), transparent 60%);
  z-index: 1;
}

/* Section title cyber accent */
.section-title {
  position: relative;
  padding-left: 14px;
}
.section-title::before {
  content: '';
  position: absolute; left: 0; top: 50%;
  transform: translateY(-50%);
  width: 4px; height: 100%;
  background: var(--green);
  clip-path: polygon(0 0, 100% 4px, 100% calc(100% - 4px), 0 100%);
}

/* For-you section title */
.for-you-title {
  position: relative;
  padding-left: 14px;
}
.for-you-title::before {
  content: '';
  position: absolute; left: 0; top: 50%;
  transform: translateY(-50%);
  width: 4px; height: 80%;
  background: var(--green);
  clip-path: polygon(0 4px, 100% 0, 100% 100%, 0 calc(100% - 4px));
}

/* ── PRODUCT ACTION BUTTONS ──────────────────────────── */
.product-action-btn {
  border-radius: 4px;
}

/* ADD TO CART button on product cards */
.add-to-cart-btn {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  background: var(--green);
  color: #fff;
  border: none;
  padding: 11px 10px;
  font-size: 11px;
  font-weight: 800;
  font-family: 'Inter', sans-serif;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity 0.2s ease, transform 0.2s ease, background 0.15s;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  cursor: pointer;
}
.add-to-cart-btn:hover { background: var(--green-dark); }
.product-card:hover .add-to-cart-btn { opacity: 1; transform: translateY(0); }

/* Promo bar cyber */
.promo-bar {
  position: relative;
}
.promo-bar::after {
  content: '';
  position: absolute; bottom: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
}


/* ══════════════════════════════════════════════════════════════
   ▓▓▓  CYBERPUNK ANIMATION SYSTEM v2  ▓▓▓
   ══════════════════════════════════════════════════════════════ */

/* ── CORE KEYFRAMES ─────────────────────────────────────────── */

/* Glitch flicker */
@keyframes cp-glitch {
  0%,94%,100%  { transform:translate(0,0) skewX(0deg); opacity:1; }
  95%          { transform:translate(-3px,1px) skewX(-2deg); opacity:0.85; }
  96%          { transform:translate(3px,-1px) skewX(1deg); opacity:0.9; }
  97%          { transform:translate(-2px,2px) skewX(-1deg); opacity:1; }
}

/* RGB color split on hover — brand colors only (green + black) */
@keyframes cp-rgb-split {
  0%,100% { text-shadow: none; }
  25%     { text-shadow: -2px 0 #000000, 2px 0 var(--green); }
  50%     { text-shadow: 2px 0 #000000, -2px 0 var(--green); }
  75%     { text-shadow: -1px 0 var(--green), 1px 0 #000000; }
}

/* Neon pulse glow — disabled */
@keyframes cp-neon-pulse {
  0%,100% { box-shadow: none; }
  50%     { box-shadow: none; }
}

/* Neon text pulse — disabled */
@keyframes cp-neon-text {
  0%,100% { text-shadow: none; }
  50%     { text-shadow: none; }
}

/* Clip-path wipe from left */
@keyframes cp-wipe-left {
  from { clip-path: polygon(0 0,0 0,0 100%,0 100%); opacity:0; }
  to   { clip-path: polygon(0 0,100% 0,100% 100%,0 100%); opacity:1; }
}

/* Clip-path wipe from right */
@keyframes cp-wipe-right {
  from { clip-path: polygon(100% 0,100% 0,100% 100%,100% 100%); opacity:0; }
  to   { clip-path: polygon(0 0,100% 0,100% 100%,0 100%); opacity:1; }
}

/* Clip-path wipe from top */
@keyframes cp-wipe-top {
  from { clip-path: polygon(0 0,100% 0,100% 0,0 0); opacity:0; }
  to   { clip-path: polygon(0 0,100% 0,100% 100%,0 100%); opacity:1; }
}

/* Clip-path wipe from bottom */
@keyframes cp-wipe-bottom {
  from { clip-path: polygon(0 100%,100% 100%,100% 100%,0 100%); opacity:0; }
  to   { clip-path: polygon(0 0,100% 0,100% 100%,0 100%); opacity:1; }
}

/* Polygon morph reveal — diagonal slash */
@keyframes cp-slash-in {
  from { clip-path: polygon(0 0,0 0,0 100%,0 100%); transform:translateX(-20px); opacity:0; }
  to   { clip-path: polygon(0 0,100% 0,100% 100%,0 100%); transform:translateX(0); opacity:1; }
}

/* Polygon morph from right slash */
@keyframes cp-slash-right {
  from { clip-path: polygon(100% 0,100% 0,100% 100%,100% 100%); transform:translateX(20px); opacity:0; }
  to   { clip-path: polygon(0 0,100% 0,100% 100%,0 100%); transform:translateX(0); opacity:1; }
}

/* Cyber data-load — vertical expand */
@keyframes cp-expand-v {
  from { clip-path: polygon(0 50%,100% 50%,100% 50%,0 50%); opacity:0; }
  to   { clip-path: polygon(0 0,100% 0,100% 100%,0 100%); opacity:1; }
}

/* Flicker on entry */
@keyframes cp-flicker-in {
  0%   { opacity:0; }
  10%  { opacity:0.9; }
  12%  { opacity:0.2; }
  14%  { opacity:0.95; }
  16%  { opacity:0; }
  18%  { opacity:1; }
  100% { opacity:1; }
}

/* Border draw */
@keyframes cp-border-draw {
  from { box-shadow: inset 0 0 0 0 var(--green); }
  to   { box-shadow: inset 0 0 0 2px var(--green); }
}

/* Scan line sweep */
@keyframes cp-sweep {
  0%   { background-position: 0 -100%; }
  100% { background-position: 0 300%; }
}

/* Float up subtle */
@keyframes cp-float {
  0%,100% { transform: translateY(0); }
  50%     { transform: translateY(-6px); }
}

/* Horizontal glide */
@keyframes cp-glide-x {
  0%,100% { transform: translateX(0); }
  50%     { transform: translateX(4px); }
}

/* Bottom nav cyberpunk hide — scan-line collapse downward */
@keyframes cp-nav-hide {
  0%   { transform: translateY(0); clip-path: polygon(0 0,100% 0,100% 100%,0 100%); opacity:1; }
  15%  { clip-path: polygon(0 0,100% 0,100% 100%,0 100%); opacity:0.8; }
  30%  { clip-path: polygon(2px 0,calc(100% - 2px) 0,100% 100%,0 100%); opacity:0.6; }
  60%  { clip-path: polygon(8px 0,calc(100% - 8px) 0,100% 100%,0 100%); opacity:0.3; transform: translateY(40%); }
  100% { transform: translateY(100%); clip-path: polygon(20% 0,80% 0,100% 100%,0 100%); opacity:0; }
}

/* Bottom nav cyberpunk show — scan-line expand upward */
@keyframes cp-nav-show {
  0%   { transform: translateY(100%); clip-path: polygon(20% 0,80% 0,100% 100%,0 100%); opacity:0; }
  20%  { clip-path: polygon(6px 0,calc(100% - 6px) 0,100% 100%,0 100%); opacity:0.4; transform: translateY(60%); }
  40%  { opacity:0.7; clip-path: polygon(2px 0,calc(100% - 2px) 0,100% 100%,0 100%); transform: translateY(20%); }
  70%  { opacity:0.9; clip-path: polygon(0 0,100% 0,100% 100%,0 100%); transform: translateY(-3px); }
  85%  { opacity:1; transform: translateY(2px); }
  100% { transform: translateY(0); clip-path: polygon(0 0,100% 0,100% 100%,0 100%); opacity:1; }
}

/* Power-on: scale + clip */
@keyframes cp-power-on {
  0%   { transform:scaleY(0.02); opacity:0; filter:brightness(3); }
  20%  { transform:scaleY(1.04); opacity:1; filter:brightness(1.5); }
  40%  { transform:scaleY(0.98); filter:brightness(1); }
  60%  { transform:scaleY(1.01); }
  100% { transform:scaleY(1); filter:brightness(1); }
}

/* Diagonal slide in */
@keyframes cp-diag-in {
  from { transform:translate(-24px, 16px); opacity:0; clip-path:polygon(0 0,0 0,0 100%,0 100%); }
  to   { transform:translate(0,0); opacity:1; clip-path:polygon(0 0,100% 0,100% 100%,0 100%); }
}

/* Counter blip (trust numbers) */
@keyframes cp-blip {
  0%,100% { opacity:1; color:var(--green); }
  50%     { opacity:0.7; color:#fff; }
}

/* ── HEADER ANIMATIONS ──────────────────────────────────────── */

.logo            { animation: cp-flicker-in 0.9s ease 0.1s both; }
.header-search   { animation: cp-wipe-left  0.8s cubic-bezier(.16,1,.3,1) 0.2s both; }
.header-icons    { animation: cp-slash-right 0.8s cubic-bezier(.16,1,.3,1) 0.3s both; }
.header-cart-block  { animation: cp-flicker-in 0.9s ease 0.4s both; }
.header-user-block  { animation: cp-wipe-right 0.8s cubic-bezier(.16,1,.3,1) 0.25s both; }
.header-wish-block  { animation: cp-wipe-right 0.8s cubic-bezier(.16,1,.3,1) 0.35s both; }

/* ── NAV BAR ────────────────────────────────────────────────── */

.main-nav          { animation: cp-power-on   0.8s ease 0.5s both; }
.nav-categories-btn{ animation: cp-flicker-in 0.8s ease 0.6s both; }
.nav-link:nth-child(1) { animation: cp-wipe-right 0.7s cubic-bezier(.16,1,.3,1) 0.65s both; }
.nav-link:nth-child(2) { animation: cp-wipe-right 0.7s cubic-bezier(.16,1,.3,1) 0.78s both; }
.nav-link:nth-child(3) { animation: cp-wipe-right 0.7s cubic-bezier(.16,1,.3,1) 0.91s both; }
.nav-link:nth-child(4) { animation: cp-wipe-right 0.7s cubic-bezier(.16,1,.3,1) 1.04s both; }
/* After entry animation done, clear it so hover works without conflict */
.nav-links.anim-done .nav-link:nth-child(1),
.nav-links.anim-done .nav-link:nth-child(2),
.nav-links.anim-done .nav-link:nth-child(3),
.nav-links.anim-done .nav-link:nth-child(4) {
  animation: none;
  opacity: 1;
  visibility: visible;
}
.nav-links.anim-done .nav-link:hover {
  animation: cp-rgb-split 0.4s ease forwards !important;
}

/* Cat dropdown — wipe top on open (interaction only) */
.cat-dropdown.open { animation: cp-wipe-top 0.3s cubic-bezier(.16,1,.3,1) both; }
.cat-dropdown.open .cat-dropdown-item:nth-child(1) { animation: cp-slash-in 0.3s ease 0.05s both; }
.cat-dropdown.open .cat-dropdown-item:nth-child(2) { animation: cp-slash-in 0.3s ease 0.10s both; }
.cat-dropdown.open .cat-dropdown-item:nth-child(3) { animation: cp-slash-in 0.3s ease 0.15s both; }
.cat-dropdown.open .cat-dropdown-item:nth-child(4) { animation: cp-slash-in 0.3s ease 0.20s both; }
.cat-dropdown.open .cat-dropdown-item:nth-child(5) { animation: cp-slash-in 0.3s ease 0.25s both; }

/* ── HERO SECTION ───────────────────────────────────────────── */

.hero-section { animation: cp-expand-v 1.0s cubic-bezier(.16,1,.3,1) 0.7s both; }
.side-banner-1 { animation: cp-slash-right 0.9s cubic-bezier(.16,1,.3,1) 1.0s both; }
.side-banner-2 { animation: cp-slash-right 0.9s cubic-bezier(.16,1,.3,1) 1.15s both; }

.side-banner:hover {
  opacity: 1;
  box-shadow: inset 0 0 0 2px var(--green);
}

/* ── PROMO STRIP ────────────────────────────────────────────── */
/* scroll-revealed via JS */

/* promo icon hover */
.promo-item:hover .promo-item-icon {
  box-shadow: 0 0 10px rgba(45,184,126,0.3);
}

/* ── CATEGORY SECTION ───────────────────────────────────────── */
/* cat-strip, cat-cards scroll-revealed via JS */

.cat-card:hover { box-shadow: 0 0 0 2px var(--green); }

/* ── PRODUCTS GRID ──────────────────────────────────────────── */
/* product-cards scroll-revealed via JS */

.product-card:hover .product-img-wrap { box-shadow: 0 0 0 2px var(--green); }

.product-card:hover .product-action-btn { animation: cp-flicker-in 0.25s ease both; }
.product-card:hover .product-actions .product-action-btn:nth-child(1) { animation-delay: 0s; }
.product-card:hover .product-actions .product-action-btn:nth-child(2) { animation-delay: 0.06s; }
.product-card:hover .add-to-cart-btn { animation: cp-wipe-left 0.3s cubic-bezier(.16,1,.3,1) both; }/* ── TRUST SECTION ──────────────────────────────────────────── */
/* trust-items scroll-revealed via JS */

/* ── NEWSLETTER SECTION ─────────────────────────────────────── */

/* ── FOOTER ─────────────────────────────────────────────────── */

/* footer links hover — glide */
.footer-col-list li a:hover {
  color: var(--green);
  padding-left: 6px;
  transition: all 0.2s;
}

/* footer email hover */
.footer-email-link:hover {
  color: var(--green);
}

/* ── CART SIDEBAR ───────────────────────────────────────────── */

.cart-sidebar.open {
  animation: cart-slide-in 0.35s cubic-bezier(.16,1,.3,1) both;
}

@keyframes cart-slide-in {
  from { transform: translateX(100%); opacity: 0; }
  to   { transform: translateX(0); opacity: 1; }
}

/* ── SCROLL REVEAL ───────────────────────────────────────────── */
/* All scroll-reveal handled via inline styles by JS (initScrollReveal) */
/* Keeping .reveal/.reveal-section as no-op for backward compat */
.reveal {}
.reveal.visible {}
.reveal-section {}
.reveal-section.visible {}

/* ── FLOATING BUTTONS ───────────────────────────────────────── */

/* Back-to-top hover */
.back-to-top:hover {
  box-shadow: 0 0 12px rgba(0,200,100,0.4);
  animation: none;
}

/* ── BUTTON HOVER UPGRADES ──────────────────────────────────── */

/* Nav link hover */
.nav-link:hover {
  animation: cp-rgb-split 0.4s ease forwards;
}

/* Section more links */
.section-more:hover {
  color: var(--green);
}

/* Utility dropdown items */
.utility-dropdown-item:hover {
  background: var(--green-light);
  color: var(--green);
}

/* ── SALE POPUP ─────────────────────────────────────────────── */

/* ── CYBER CORNER ENHANCEMENTS ──────────────────────────────── */

/* CORNER BRACKETS — trust-section too */
.trust-section {
  position: relative;
}
.trust-section::after {
  content: '';
  position: absolute; bottom: 0; right: 0;
  width: 28px; height: 28px;
  border-bottom: 2px solid var(--green);
  border-right: 2px solid var(--green);
  opacity: 0.3;
}

/* Search button — no glow pulse */
/* .header-search button { animation: none; } */

/* Neon-bordered search on focus — removed glow */
.header-search input:focus {
  box-shadow: 0 0 0 2px rgba(45,184,126,0.25);
}

/* Newsletter input focus */
.nl-input:focus {
  box-shadow: 0 0 0 2px rgba(255,255,255,0.4), 0 0 16px rgba(255,255,255,0.1);
}

/* Popup input focus */
.sale-popup-input:focus {
  box-shadow: 0 0 0 2px var(--green), 0 0 16px rgba(45,184,126,0.3);
}

/* cat-card hover — corner accent */
.cat-card { position: relative; overflow: hidden; }
.cat-card::after {
  content: '';
  position: absolute; bottom: 0; right: 0;
  width: 0; height: 0;
  border-style: solid;
  border-width: 0 0 28px 28px;
  border-color: transparent transparent var(--green) transparent;
  opacity: 0;
  transition: opacity 0.2s;
}
.cat-card:hover::after { opacity: 1; }

/* product-card hover corner */
.product-card { overflow: hidden; }
.product-card::after {
  content: '';
  position: absolute; top: 0; right: 0; z-index: 3;
  width: 0; height: 0;
  border-style: solid;
  border-width: 0 20px 20px 0;
  border-color: transparent var(--green) transparent transparent;
  opacity: 0;
  transition: opacity 0.25s;
}
.product-card:hover::after { opacity: 1; }

/* ── PROMO BAR ───────────────────────────────────────────────── */
.promo-bar-track {
  animation: promo-scroll 24s linear infinite;
}

/* ── UTILITY DROPDOWN ANIMATION ─────────────────────────────── */
.utility-dropdown-wrap.open .utility-dropdown {
  animation: cp-wipe-top 0.25s cubic-bezier(.16,1,.3,1) both;
}

/* ── MAIN NAV ───────────────────────────────────────────────── */
.main-nav { position: relative; overflow: visible; }

/* ══════════════════════════════════════════════════════════════
   ▓▓▓  AUTH POPUP — LOGIN / REGISTER  ▓▓▓
   ══════════════════════════════════════════════════════════════ */

.auth-overlay {
  display:none; position:fixed; inset:0;
  background:rgba(0,0,0,0.5); z-index:9100;
  backdrop-filter:blur(3px);
}
.auth-overlay.open { display:block; }

/* AUTH MODAL — centered popup */
.auth-popup {
  position:fixed;
  top:50%; left:50%;
  transform:translate(-50%, -60%);
  width:420px;
  max-width:95vw;
  max-height:90vh;
  background:#fff;
  z-index:9200;
  display:flex;
  flex-direction:column;
  opacity:0;
  pointer-events:none;
  transition:transform 0.35s cubic-bezier(.16,1,.3,1), opacity 0.3s ease;
  border-top:2px solid var(--green);
  box-shadow:0 20px 60px rgba(0,0,0,0.22);
  clip-path: polygon(20px 0, 100% 0, 100% 100%, 0 100%, 0 20px);
  border-radius:2px;
}
.auth-popup.open {
  transform:translate(-50%, -50%);
  opacity:1;
  pointer-events:all;
}

/* green top bar */
.auth-popup::before {
  content:'';
  position:absolute; top:0; left:0; right:0; height:3px;
  background:var(--green); z-index:1;
}

/* HEADER */
.auth-sidebar-header {
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 22px;
  border-bottom:1px solid #e8e8e8;
  position:relative; z-index:1;
  background:#fff; flex-shrink:0;
}
.auth-sidebar-header::after {
  content:'';
  position:absolute; bottom:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg, var(--green), transparent 70%);
}
.auth-sidebar-header h3 {
  font-size:13px; font-weight:800; color:#0a0a0a;
  letter-spacing:0.12em; text-transform:uppercase;
  position:relative; padding-left:12px;
  display:flex; align-items:center; gap:0;
  margin:0;
}
.auth-sidebar-header h3::before {
  content:'';
  position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:3px; height:80%; background:var(--green);
  clip-path:polygon(0 0,100% 4px,100% calc(100% - 4px),0 100%);
}

.auth-close {
  width:32px; height:32px; background:transparent; border:1.5px solid #ddd;
  display:flex; align-items:center; justify-content:center; color:#999;
  clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);
  transition:border-color 0.2s, color 0.2s, background 0.2s; cursor:pointer;
}
.auth-close:hover { border-color:var(--green); color:var(--green); background:var(--green-light); }
.auth-close svg { width:13px; height:13px; }

/* TABS */
.auth-tabs {
  display:flex; flex-shrink:0;
  border-bottom:1px solid #e8e8e8;
  background:#fff;
}
.auth-tab {
  flex:1; padding:13px 0; font-size:12px; font-weight:700;
  letter-spacing:1.5px; text-transform:uppercase;
  color:#aaa; background:none; border:none;
  font-family:'Inter',sans-serif; cursor:pointer; position:relative;
  transition:color 0.2s;
}
.auth-tab.active { color:#0a0a0a; }
.auth-tab::after {
  content:''; position:absolute; bottom:-1px; left:0; right:0; height:2px;
  background:var(--green); transform:scaleX(0); transition:transform 0.25s cubic-bezier(.16,1,.3,1);
}
.auth-tab.active::after { transform:scaleX(1); }

/* BODY — scrollable */
.auth-body {
  flex:1; overflow-y:auto; padding:24px 22px 32px; max-height:70vh;
  background:#fff;
}
.auth-body::-webkit-scrollbar { display:none; }

.auth-panel { display:none; }
.auth-panel.active { display:block; }

/* Welcome line */
.auth-welcome {
  font-size:10px; font-weight:700; letter-spacing:2px;
  text-transform:uppercase; color:#bbb;
  margin-bottom:20px; display:flex; align-items:center; gap:10px;
}
.auth-welcome::before, .auth-welcome::after {
  content:''; flex:1; height:1px; background:#ebebeb;
}

/* Fields */
.auth-field { margin-bottom:14px; }
.auth-field label {
  display:block; font-size:10px; font-weight:700; letter-spacing:1.5px;
  text-transform:uppercase; color:#888; margin-bottom:7px;
}
.auth-input {
  width:100%; height:46px; background:#f9f9f9; border:1.5px solid #e8e8e8;
  color:#0a0a0a; font-size:13px; font-family:'Inter',sans-serif;
  padding:0 16px; outline:none; transition:border-color 0.2s, background 0.2s;
  clip-path: polygon(6px 0, 100% 0, 100% 100%, calc(100% - 6px) 100%, 0 100%, 0 6px);
}
.auth-input:focus {
  border-color:var(--green); background:#fff;
}
.auth-input::placeholder { color:#bbb; }

.auth-input-wrap { position:relative; }
.auth-input-wrap .auth-input { padding-right:46px; }
.auth-eye {
  position:absolute; right:14px; top:50%; transform:translateY(-50%);
  background:none; border:none; color:#bbb; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:color 0.2s; padding:0;
}
.auth-eye:hover { color:var(--green); }
.auth-eye svg { width:16px; height:16px; }

/* Row */
.auth-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }

/* Forgot */
.auth-forgot {
  display:block; text-align:right; font-size:11px;
  color:#bbb; margin-top:-8px; margin-bottom:14px;
  transition:color 0.2s; cursor:pointer;
}
.auth-forgot:hover { color:var(--green); }

/* Submit button — matches cart's btn-checkout */
.auth-submit {
  width:100%; height:48px; background:var(--green); color:#fff; border:none;
  font-size:12px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase;
  font-family:'Inter',sans-serif; cursor:pointer; position:relative; overflow:hidden;
  transition:background 0.2s; margin-top:6px;
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%);
}
.auth-submit:hover { background:var(--green-dark); }
.auth-submit-inner { display:flex; align-items:center; justify-content:center; gap:8px; }
.auth-submit svg { width:15px; height:15px; }

/* Divider */
.auth-divider {
  display:flex; align-items:center; gap:12px; margin:18px 0;
  font-size:10px; font-weight:700; letter-spacing:1px;
  text-transform:uppercase; color:#ccc;
}
.auth-divider::before, .auth-divider::after { content:''; flex:1; height:1px; background:#ebebeb; }

/* Social — full width single button */
.auth-socials { display:flex; gap:10px; }
.auth-social-btn {
  flex:1; height:44px; background:#f9f9f9; border:1.5px solid #e8e8e8;
  color:#555; font-size:12px; font-weight:600;
  letter-spacing:0.5px; font-family:'Inter',sans-serif;
  display:flex; align-items:center; justify-content:center; gap:10px;
  cursor:pointer; transition:all 0.2s;
  clip-path: polygon(4px 0, 100% 0, 100% calc(100% - 4px), calc(100% - 4px) 100%, 0 100%, 0 4px);
}
.auth-social-btn:hover { border-color:var(--green); color:var(--green); background:var(--green-light); }
.auth-social-btn svg { width:16px; height:16px; }

/* Switch link */
.auth-switch {
  text-align:center; margin-top:20px; font-size:12px; color:#aaa;
}
.auth-switch button {
  background:none; border:none; color:var(--green); font-size:12px;
  font-family:'Inter',sans-serif; font-weight:700; cursor:pointer;
  text-decoration:underline; padding:0; transition:color 0.2s;
}
.auth-switch button:hover { color:var(--green-dark); }

/* Terms */
.auth-terms {
  font-size:10px; color:#bbb; margin-top:12px; text-align:center; line-height:1.6;
}
.auth-terms a { color:#999; text-decoration:underline; }
.auth-terms a:hover { color:var(--green); }

/* Strength bar */
.auth-strength { margin-top:6px; display:flex; gap:4px; height:3px; }
.auth-strength-bar { flex:1; background:#ebebeb; transition:background 0.3s; }
.auth-strength-bar.weak  { background:#e74c3c; }
.auth-strength-bar.fair  { background:#f5a623; }
.auth-strength-bar.good  { background:var(--green); }

.sale-popup-inner::before {
  content:''; position:absolute; top:12px; left:12px;
  width:20px; height:20px;
  border-top:2px solid var(--green); border-left:2px solid var(--green);
  pointer-events:none; opacity:0.5;
}
.sale-popup-inner::after {
  content:''; position:absolute; bottom:12px; right:12px;
  width:20px; height:20px;
  border-bottom:2px solid var(--green); border-right:2px solid var(--green);
  pointer-events:none; opacity:0.5;
}

@media(max-width:480px) {
  .auth-popup { width:calc(100vw - 16px); }
  .auth-row { grid-template-columns:1fr; }
  .auth-body { padding:20px 18px 24px; }
  .auth-tabs { margin:16px 18px 0; }
  .auth-header { padding:16px 18px 0; }
}

/* ============================================================
   OUR COLLECTIONS — photo-style grid
   ============================================================ */
.our-collections-section {
  padding: 36px 0 28px;
  background: #fff;
}
.our-collections-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px;
}
.our-collections-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
  position: relative;
}
.our-collections-eyebrow {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--green);
  padding: 4px 10px;
  border: 1px solid var(--green);
  clip-path: polygon(6px 0, 100% 0, 100% 100%, calc(100% - 6px) 100%, 0 100%, 0 6px);
}
.our-collections-title {
  font-family: 'Bebas Neue', cursive;
  font-size: 32px;
  letter-spacing: 2px;
  color: #0d0d0d;
  margin: 0;
  flex: 1;
}
.our-collections-viewall {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #555;
  transition: color 0.2s;
}
.our-collections-viewall:hover { color: var(--green); }

/* GRID: big card left, 3-stack right */
.our-collections-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  align-items: stretch;
}
.oc-card-col {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* BASE CARD */
.oc-card {
  position: relative;
  overflow: hidden;
  display: block;
  cursor: pointer;
  clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 20px 100%, 0 calc(100% - 20px));
}
.oc-card-big { min-height: 360px; }
.oc-card-sm { min-height: 112px; flex: 1; }

.oc-card-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transition: transform 0.55s cubic-bezier(.16,1,.3,1);
}
.oc-card:hover .oc-card-bg { transform: scale(1.07); }

.oc-card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.82) 0%, rgba(0,0,0,0.25) 55%, rgba(0,0,0,0.05) 100%);
  transition: background 0.35s;
}
.oc-card:hover .oc-card-overlay {
  background: linear-gradient(to top, rgba(0,0,0,0.88) 0%, rgba(0,0,0,0.35) 55%, rgba(0,0,0,0.1) 100%);
}

.oc-card-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
  padding: 22px 24px;
}
.oc-card-sm .oc-card-content {
  padding: 14px 18px;
}
.oc-card-tag {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--green);
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.oc-card-tag::before {
  content: '';
  width: 18px;
  height: 1px;
  background: var(--green);
  display: inline-block;
}
.oc-card-name {
  font-family: 'Bebas Neue', cursive;
  font-size: 30px;
  letter-spacing: 2px;
  color: #fff;
  line-height: 1;
  margin-bottom: 5px;
}
.oc-card-big .oc-card-name { font-size: 34px; }
.oc-card-sub {
  font-size: 12px;
  color: rgba(255,255,255,0.6);
  margin-bottom: 14px;
  font-weight: 400;
}
.oc-card-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #fff;
  padding: 7px 16px 7px 14px;
  background: var(--green);
  clip-path: polygon(6px 0, 100% 0, 100% 100%, calc(100% - 6px) 100%, 0 100%, 0 6px);
  transition: background 0.2s, transform 0.2s;
  transform: translateY(6px);
  opacity: 0;
}
.oc-card:hover .oc-card-btn {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.25s 0.05s, transform 0.25s 0.05s, background 0.2s;
}
.oc-card-btn:hover { background: var(--green-dark); }

/* Corner accent decorators */
.oc-card-corner-tl,
.oc-card-corner-br {
  position: absolute;
  width: 22px;
  height: 22px;
  z-index: 3;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s;
}
.oc-card:hover .oc-card-corner-tl,
.oc-card:hover .oc-card-corner-br { opacity: 1; }
.oc-card-corner-tl {
  top: 8px; left: 8px;
  border-top: 2px solid var(--green);
  border-left: 2px solid var(--green);
}
.oc-card-corner-br {
  bottom: 8px; right: 8px;
  border-bottom: 2px solid var(--green);
  border-right: 2px solid var(--green);
}

@media (max-width: 768px) {
  .our-collections-grid { grid-template-columns: 1fr; }
  .oc-card-big { min-height: 320px; }
  .oc-card-sm { min-height: 130px; }
  .oc-card-big .oc-card-name { font-size: 32px; }
}

/* ============================================================
   POPUP OVERRIDES — WHITE BACKGROUND, SITE STYLE
   ============================================================ */

/* Sale Popup — white */
.sale-popup-inner {
  background: #fff !important;
  box-shadow: 0 8px 60px rgba(0,0,0,0.16);
}
.sale-popup-label {
  color: rgba(0,0,0,0.45) !important;
}
.sale-popup-off {
  color: #0d0d0d !important;
}
.sale-popup-sub {
  color: rgba(0,0,0,0.35) !important;
}
.sale-popup-input {
  background: #f5f5f5 !important;
  border: 1.5px solid #ddd !important;
  color: #111 !important;
}
.sale-popup-input::placeholder { color: #999 !important; }
.sale-popup-input:focus { border-color: var(--green) !important; background: #fff !important; }
.sale-popup-check-wrap {
  color: rgba(0,0,0,0.4) !important;
}
.sale-popup-skip {
  color: rgba(0,0,0,0.3) !important;
}
.sale-popup-skip:hover { color: rgba(0,0,0,0.6) !important; }
.sale-popup-inner::before,
.sale-popup-inner::after {
  border-color: var(--green) !important;
  opacity: 0.35 !important;
}

/* Auth Popup — white */
.auth-popup-inner {
  background: #fff !important;
  box-shadow: 0 8px 60px rgba(0,0,0,0.16);
}
.auth-tab {
  color: rgba(0,0,0,0.35) !important;
}
.auth-tab.active { color: #0d0d0d !important; }
.auth-tabs { border-bottom-color: #ddd !important; }
.auth-welcome {
  color: rgba(0,0,0,0.35) !important;
}
.auth-welcome::before,
.auth-welcome::after { background: #ddd !important; }
.auth-field label { color: rgba(0,0,0,0.4) !important; }
.auth-input {
  background: #f5f5f5 !important;
  border-color: #ddd !important;
  color: #111 !important;
}
.auth-input::placeholder { color: #aaa !important; }
.auth-input:focus {
  background: #fff !important;
  border-color: var(--green) !important;
}
.auth-close {
  background: #f0f0f0 !important;
  border-color: #ddd !important;
  color: #555 !important;
}
.auth-close:hover { background: var(--green) !important; color: #fff !important; }
.auth-divider { color: rgba(0,0,0,0.35) !important; }
.auth-divider::before, .auth-divider::after { background: #ddd !important; }
.auth-forgot { color: rgba(0,0,0,0.45) !important; }
.auth-forgot:hover { color: var(--green) !important; }
.auth-switch-text { color: rgba(0,0,0,0.5) !important; }
.auth-switch { color: rgba(0,0,0,0.5) !important; }
.auth-switch button { color: var(--green) !important; }
.auth-switch button:hover { color: var(--green-dark) !important; }
.auth-terms { color: rgba(0,0,0,0.4) !important; }
.auth-terms a { color: rgba(0,0,0,0.5) !important; }
.auth-terms a:hover { color: var(--green) !important; }
.auth-social-btn {
  background: #f5f5f5 !important;
  border-color: #ddd !important;
  color: rgba(0,0,0,0.6) !important;
}
.auth-social-btn:hover { border-color: var(--green) !important; color: var(--green) !important; background: var(--green-light) !important; }
.auth-popup-inner::before,
.auth-popup-inner::after { border-color: var(--green) !important; opacity: 0.35 !important; }

/* ============================================================
   OUR COLLECTIONS — EXTRA CYBERPUNK ANIMATIONS (Task 5)
   ============================================================ */

/* Scan-line sweep on hover */
.oc-card::before {
  content: '';
  position: absolute;
  top: -100%;
  left: 0;
  width: 100%;
  height: 60%;
  background: linear-gradient(to bottom, transparent 0%, rgba(45,184,126,0.08) 50%, transparent 100%);
  z-index: 4;
  pointer-events: none;
  transition: none;
}
.oc-card:hover::before {
  animation: oc-scanline 0.7s ease-out forwards;
}
@keyframes oc-scanline {
  0%   { top: -60%; opacity: 1; }
  100% { top: 110%;  opacity: 0; }
}

/* Glitch flicker on card name — green only, like nav-links */
.oc-card:hover .oc-card-name {
  animation: oc-glitch 0.4s ease both;
}
@keyframes oc-glitch {
  0%,100% { text-shadow: none; transform: skewX(0deg); }
  25%     { text-shadow: -2px 0 #000, 2px 0 var(--green); transform: skewX(-1deg); }
  50%     { text-shadow:  2px 0 #000, -2px 0 var(--green); transform: skewX(1deg); }
  75%     { text-shadow: -1px 0 var(--green), 1px 0 #000; transform: skewX(0deg); }
}

/* Border on hover — subtle only, no glow */
.oc-card:hover {
  box-shadow: 0 0 0 1.5px var(--green);
}

/* Tag — static on hover */
.oc-card:hover .oc-card-tag {
  opacity: 0.8;
}

/* Corner TL/BR — animated draw-in */
.oc-card:hover .oc-card-corner-tl {
  animation: oc-corner-draw 0.3s ease-out forwards;
}
.oc-card:hover .oc-card-corner-br {
  animation: oc-corner-draw 0.3s ease-out 0.1s forwards;
}
@keyframes oc-corner-draw {
  from { width: 0; height: 0; opacity: 0; }
  to   { width: 22px; height: 22px; opacity: 1; }
}

/* scroll-reveal for the whole section — always visible */
.our-collections-section {
  opacity: 1;
  transform: none;
}
.oc-card {
  opacity: 1;
  transform: none;
  transition: box-shadow 0.25s ease;
}

/* ============================================================
   SECTION STYLES — trust, newsletter, footer (animations removed)
   ============================================================ */

/* --- TRUST SECTION --- */
.trust-section {
  overflow: hidden;
}

/* Each trust-item — always visible */
.trust-item {
  opacity: 1;
  transform: none;
}

.trust-num {
  position: relative;
}

/* --- NEWSLETTER SECTION --- */
.newsletter-section {
  position: relative;
  overflow: hidden;
}

/* --- SITE FOOTER --- */
.site-footer {
  position: relative;
}

/* Footer columns — always visible */
.footer-brand,
.footer-col {
  opacity: 1;
  transform: none;
}

/* Footer links hover */
.footer-col-list a {
  transition: color 0.2s, padding-left 0.2s;
}
.footer-col-list a:hover {
  color: var(--green) !important;
  padding-left: 4px;
}

/* Footer bottom border */
.footer-bottom {
  position: relative;
}
.footer-bottom::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--green) 40%, var(--green) 60%, transparent);
  opacity: 0.4;
}

/* Payment icons hover */
.payment-icon {
  transition: transform 0.2s;
}
.payment-icon:hover {
  transform: translateY(-2px);
}

/* ============================================================
   HERO BANNERS — CYBERPUNK HOVER EFFECTS (Task 5)
   ============================================================ */

.side-banner {
  position: relative;
  overflow: hidden;
  transition: transform 0.3s cubic-bezier(.16,1,.3,1), box-shadow 0.3s ease;
}

/* Remove old simple opacity hover */
.side-banner:hover { opacity: 1; }

/* Lift + green border on hover */
.side-banner:hover {
  transform: translateY(-3px);
  box-shadow: 0 0 0 2px var(--green), 0 8px 28px rgba(0,0,0,0.35);
}

/* Scan line sweep */
.side-banner::before {
  content: '';
  position: absolute;
  top: -100%; left: 0;
  width: 100%; height: 50%;
  background: linear-gradient(to bottom, transparent, rgba(45,184,126,0.1), transparent);
  z-index: 3;
  pointer-events: none;
}
.side-banner:hover::before {
  animation: sb-scanline 0.65s ease-out forwards;
}
@keyframes sb-scanline {
  0%   { top: -50%; opacity: 1; }
  100% { top: 110%;  opacity: 0; }
}

/* Corner bracket TL */
.side-banner::after {
  content: '';
  position: absolute;
  top: 8px; left: 8px;
  width: 0; height: 0;
  border-top: 2px solid var(--green);
  border-left: 2px solid var(--green);
  z-index: 4;
  pointer-events: none;
  transition: width 0.25s ease, height 0.25s ease;
}
.side-banner:hover::after {
  width: 18px;
  height: 18px;
}

/* Image zoom */
.side-banner-image {
  transition: transform 0.45s cubic-bezier(.16,1,.3,1);
}
.side-banner:hover .side-banner-image {
  transform: scale(1.08);
}

/* CTA label glitch on hover */
.side-banner:hover .side-banner-cta {
  animation: sb-glitch 0.35s ease both;
  color: var(--green);
  border-bottom-color: var(--green);
}
@keyframes sb-glitch {
  0%,100% { text-shadow: none; transform: skewX(0); }
  25%     { text-shadow: -2px 0 #000, 2px 0 var(--green); transform: skewX(-1deg); }
  50%     { text-shadow:  2px 0 #000, -2px 0 var(--green); transform: skewX(1deg); }
  75%     { text-shadow: -1px 0 var(--green); transform: skewX(0); }
}

/* Title slide up slightly */
.side-banner-title {
  transition: transform 0.3s ease, color 0.2s ease;
}
.side-banner:hover .side-banner-title {
  transform: translateY(-3px);
  color: #fff;
}

/* Label color on hover */
.side-banner:hover .side-banner-label {
  color: var(--green);
}

/* ══ WISHLIST ITEM ACTIONS (move to cart top, remove bottom) ══ */
.wishlist-item-actions {
  display:flex; flex-direction:column; gap:6px; flex-shrink:0; margin-top:2px;
}
.wishlist-move-to-cart {
  flex-shrink:0; width:28px; height:28px;
  background:#f9f9f9; border:1.5px solid #e8e8e8;
  display:flex; align-items:center; justify-content:center; color:#bbb;
  transition:background 0.2s, color 0.2s, border-color 0.2s; cursor:pointer;
  clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);
}
.wishlist-move-to-cart:hover { background:var(--green-light); color:var(--green); border-color:var(--green); }
.wishlist-move-to-cart svg { width:13px; height:13px; }

/* ══ WISHLIST FOOTER MOVE-ALL BUTTON ══ */
.wishlist-move-all-btn {
  display:flex; align-items:center; justify-content:center; gap:8px;
  width:100%; height:48px; background:var(--green); color:#fff;
  font-size:12px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase;
  border:none; cursor:pointer; font-family:'Inter',sans-serif;
  transition:background 0.2s;
  clip-path:polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%);
  position:relative; overflow:hidden;
}
.wishlist-move-all-btn::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 60%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
  transition: left 0.5s;
  z-index: 1;
  pointer-events: none;
}
.wishlist-move-all-btn:hover::before { left: 150%; }
.wishlist-move-all-btn:hover { background: var(--green-dark); box-shadow: 0 0 20px rgba(45,184,126,0.35); }
.wishlist-move-all-btn svg { width:15px; height:15px; position:relative; z-index:2; flex-shrink:0; }
.wishlist-move-all-btn * { position:relative; z-index:2; }

/* ══ WISHLIST SIDEBAR — identical pattern to cart-sidebar ══ */
.wishlist-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.4); z-index:1100; }
.wishlist-overlay.open { display:block; }

.wishlist-sidebar {
  position:fixed; top:0; right:0; width:400px; height:100%;
  background:#fff;
  z-index:1101; display:flex; flex-direction:column;
  transform:translateX(100%);
  transition:transform 0.35s cubic-bezier(.16,1,.3,1);
  border-left:2px solid var(--green);
  box-shadow:-4px 0 32px rgba(0,0,0,0.12);
  clip-path: polygon(20px 0, 100% 0, 100% 100%, 0 100%, 0 20px);
}
.wishlist-sidebar.open { transform:translateX(0); animation: cart-slide-in 0.35s cubic-bezier(.16,1,.3,1) both; }
.wishlist-sidebar::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:var(--green); z-index:1;
}
.wishlist-sidebar-header {
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 22px;
  border-bottom:1px solid #e8e8e8;
  position:relative; z-index:1;
  background:#fff; flex-shrink:0;
}
.wishlist-sidebar-header::after {
  content:'';
  position:absolute; bottom:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg, var(--green), transparent 70%);
}
.wishlist-sidebar-header h3 {
  font-size:13px; font-weight:800; color:#0a0a0a;
  letter-spacing:0.12em; text-transform:uppercase;
  position:relative; padding-left:12px;
  display:flex; align-items:center;
  margin:0;
}
.wishlist-sidebar-header h3::before {
  content:'';
  position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:3px; height:80%; background:var(--green);
  clip-path:polygon(0 0,100% 4px,100% calc(100% - 4px),0 100%);
}
.wishlist-close {
  width:32px; height:32px; background:transparent; border:1.5px solid #ddd;
  display:flex; align-items:center; justify-content:center; color:#999;
  clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);
  transition:border-color 0.2s, color 0.2s, background 0.2s; cursor:pointer;
}
.wishlist-close:hover { border-color:var(--green); color:var(--green); background:var(--green-light); }
.wishlist-close svg { width:13px; height:13px; }
.wishlist-items { flex:1; overflow-y:auto; padding:24px 22px 16px; position:relative; z-index:1; background:#fff; }
.wishlist-items::-webkit-scrollbar { display:none; }
.wishlist-footer {
  padding:16px 22px 20px; border-top:1px solid #e8e8e8;
  position:relative; z-index:1;
  background:#fafafa; flex-shrink:0;
}
.wishlist-footer::before {
  content:'';
  position:absolute; top:0; left:0; width:40%;
  height:1px; background:linear-gradient(90deg, var(--green), transparent);
}
.wishlist-footer a {
  display:flex; align-items:center; justify-content:center; gap:8px;
  width:100%; height:48px; background:var(--green); color:#fff;
  font-size:12px; font-weight:800; letter-spacing:0.08em; text-transform:uppercase;
  text-decoration:none; transition:background 0.2s;
  clip-path: polygon(12px 0, 100% 0, 100% 100%, 0 100%, 0 12px);
}
.wishlist-footer a:hover { background:var(--green-dark); }
.wishlist-footer a svg { width:15px; height:15px; }

/* ══════════════════════════════════════════════════════
   UNIVERSAL BUTTON ANIMATION — cf-submit style
   Applies to: all main action buttons site-wide
═══════════════════════════════════════════════════════ */

/* The shimmer mixin applied to every action button */
.policy-contact-btn,
.btn-checkout,
.auth-submit,
.sale-popup-btn,
.nl-btn,
.view-more-btn,
.am-cta,
.slide-btn,
.add-to-cart-btn,
.wishlist-footer a,
.cf-submit {
  position: relative !important;
  overflow: hidden !important;
}

.policy-contact-btn::before,
.btn-checkout::before,
.auth-submit::before,
.sale-popup-btn::before,
.nl-btn::before,
.view-more-btn::before,
.am-cta::before,
.slide-btn::before,
.add-to-cart-btn::before,
.wishlist-footer a::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 60%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
  transition: left 0.5s;
  z-index: 1;
  pointer-events: none;
}

.policy-contact-btn:hover::before,
.btn-checkout:hover::before,
.auth-submit:hover::before,
.sale-popup-btn:hover::before,
.nl-btn:hover::before,
.view-more-btn:hover::before,
.am-cta:hover::before,
.slide-btn:hover::before,
.add-to-cart-btn:hover::before,
.wishlist-footer a:hover::before {
  left: 150%;
}

/* Ensure inner content stays above shimmer */
.policy-contact-btn *,
.btn-checkout *,
.auth-submit *,
.sale-popup-btn *,
.nl-btn *,
.view-more-btn *,
.am-cta *,
.add-to-cart-btn *,
.wishlist-footer a * {
  position: relative;
  z-index: 2;
}

/* Hover: dark green + glow on all action buttons */
.policy-contact-btn:hover,
.btn-checkout:hover,
.auth-submit:hover,
.sale-popup-btn:hover,
.nl-btn:hover,
.am-cta:hover,
.add-to-cart-btn:hover,
.wishlist-footer a:hover {
  background: var(--green-dark) !important;
  box-shadow: 0 0 20px rgba(45, 184, 126, 0.35) !important;
  transition: background 0.2s, box-shadow 0.2s !important;
}

/* view-more-btn special: outline style, fill on hover */
.view-more-btn:hover {
  box-shadow: 0 0 20px rgba(45, 184, 126, 0.35) !important;
}

/* policy-contact-btn clip-path + layout fix */
.policy-contact-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px) !important;
  white-space: nowrap !important;
  color: #fff !important;
  text-decoration: none !important;
}

/* ── NEWSLETTER SECTION diagonal pattern ── */
.newsletter-section.revealed {
  background-image: repeating-linear-gradient(
    45deg, transparent, transparent 20px,
    rgba(0, 0, 0, 0.04) 20px, rgba(0, 0, 0, 0.04) 21px
  ) !important;
}

/* ============================================================
   MOBILE RESPONSIVE — COMPLETE REWRITE
   ============================================================ */

/* ── MOBILE SEARCH BAR (desktop: hidden) ── */
/* ============================================================
   MOBILE SEARCH BAR (hidden on desktop, shown on mobile)
   ============================================================ */
.mob-search-bar {
  display: none;
  padding: 0;
  background: #fff;
  border-bottom: 1px solid #e0e0e0;
  position: sticky;
  top: 84px; /* 32px utility-bar + 52px header */
  z-index: 900;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.mob-search-bar form {
  display: flex;
  align-items: stretch;
  background: #fff;
  height: 44px;
  padding: 0;
  gap: 0;
  margin: 0;
}
.mob-search-bar input {
  flex: 1;
  border: 1.5px solid #eee;
  border-right: none;
  background: #fff;
  height: 44px;
  padding: 0 18px;
  font-size: 13px;
  color: #000;
  outline: none;
  font-family: 'Inter', sans-serif;
  border-radius: 0;
}
.mob-search-bar input::placeholder { color: #aaa; }
.mob-search-bar input:focus { border-color: var(--green); }
.mob-search-bar button {
  background: var(--green);
  border: none;
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 44px;
  flex-shrink: 0;
  transition: background 0.15s;
  border-radius: 0;
}
.mob-search-bar button:hover { background: var(--green-dark); }
/* Hide the inline SVG search icon that precedes the input in HTML */
.mob-search-bar > form > svg:first-child { display: none !important; }

@media (max-width: 768px) {

  /* ── GLOBAL OVERFLOW FIX ── */
  body { overflow-x: hidden !important; }
  * { max-width: 100%; box-sizing: border-box; }

  /* ── DISABLE ALL ENTRY ANIMATIONS ON MOBILE (prevent opacity:0 flicker) ── */
  .hero-section,
  .green-promo-strip,
  .promo-strip,
  .cat-strip,
  .our-collections-section,
  .deals-section,
  .for-you-section,
  .trust-section,
  .newsletter-section,
  .site-footer,
  .side-banner-1,
  .side-banner-2 {
    animation: none !important;
    opacity: 1 !important;
    clip-path: none !important;
    transform: none !important;
    visibility: visible !important;
  }

/* ============================================================
   MOBILE — max-width: 768px
   Goal: EXACT 1:1 visual match with desktop design
   ============================================================ */
@media (max-width: 768px) {

  /* ── GLOBAL ── */
  body {
    overflow-x: hidden !important;
    padding-bottom: 0px !important;
  }
  * { max-width: 100%; box-sizing: border-box; }

  /* ── MOBILE SEARCH BAR ── */
  .mob-search-bar {
    display: block !important;
    top: 84px !important; /* 32px utility + 52px header */
  }

  /* ── UTILITY BAR — same as desktop, full width on mobile ── */
  .utility-bar {
    display: block !important;
    background: var(--green) !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 1001 !important;
  }
  .utility-bar-inner {
    height: 32px !important;
    padding: 0 12px !important;
    display: flex !important;
    align-items: center !important;
    max-width: 100% !important;
  }
  .utility-left {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
  }
  .utility-btn {
    font-size: 11px !important;
    padding: 0 5px !important;
    color: #fff !important;
    opacity: 0.9 !important;
    gap: 3px !important;
  }
  .utility-sep { font-size: 11px !important; margin: 0 4px !important; }
  .utility-right { margin-left: auto !important; }
  .utility-help {
    font-size: 11px !important;
    gap: 4px !important;
    color: #fff !important;
    opacity: 0.9 !important;
  }
  .utility-help svg { width: 12px !important; height: 12px !important; }
  /* utility dropdowns stay functional */
  .utility-dropdown {
    z-index: 9999 !important;
  }

  /* ── DESKTOP NAV: hidden on mobile ── */
  .main-nav { display: none !important; }

  /* ── HEADER — sticky below utility bar ── */
  .main-header {
    position: sticky !important;
    top: 32px !important;
    z-index: 1000 !important;
    background: #fff !important;
  }
  #site-header {
    position: sticky !important;
    top: 32px !important;
    z-index: 1000 !important;
  }
  .header-inner {
    height: 52px !important;
    padding: 0 0 0 10px !important;
    gap: 2px !important;
    display: flex !important;
    align-items: center !important;
  }
  .logo-img { height: 34px !important; width: auto !important; flex-shrink: 0 !important; }
  .header-search { display: none !important; }

  /* ── HEADER ICONS — logo | [flex spacer] | user-icon | wish-icon | cart ── */
  .header-icons {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin-left: auto !important;
    flex-shrink: 0 !important;
    padding-right: 0 !important;
    margin-right: 0 !important;
  }

  /* LOGIN ICON */
  .header-user-block {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    color: #555 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    position: relative !important;
  }
  .header-user-block svg {
    width: 22px !important;
    height: 22px !important;
    color: #555 !important;
    flex-shrink: 0 !important;
  }
  .header-user-text { display: none !important; }

  /* WISHLIST ICON */
  .header-wish-block {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    color: #555 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    position: relative !important;
    flex-shrink: 0 !important;
  }
  .header-wish-block svg {
    width: 22px !important;
    height: 22px !important;
    color: #555 !important;
    flex-shrink: 0 !important;
  }
  .hw-label,
  .hw-name { display: none !important; }
  /* Wishlist count badge — top-right corner */
  .hw-badge {
    position: absolute !important;
    top: 4px !important;
    right: 2px !important;
    background: var(--green) !important;
    color: #fff !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    min-width: 16px !important;
    height: 16px !important;
    padding: 0 3px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 3px 100%, 0 calc(100% - 3px)) !important;
  }

  /* Cart block — 1:1 desktop match */
  .header-cart-block {
    height: 52px !important;
    padding: 0 14px !important;
    gap: 8px !important;
    background: var(--green) !important;
    color: #fff !important;
    display: flex !important;
    align-items: center !important;
    cursor: pointer !important;
    border: none !important;
    text-decoration: none !important;
    outline: none !important;
    font-family: 'Inter', sans-serif !important;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 14px 100%, 0 calc(100% - 14px)) !important;
    transition: background 0.25s !important;
    flex-shrink: 0 !important;
  }
  .header-cart-block:hover { background: var(--green-dark) !important; }
  .header-cart-block svg {
    width: 20px !important;
    height: 20px !important;
    color: #fff !important;
    stroke: #fff !important;
    flex-shrink: 0 !important;
  }
  /* Show both ct and ca just like desktop */
  .header-cart-text {
    display: flex !important;
    flex-direction: column !important;
    line-height: 1.2 !important;
    text-align: left !important;
  }
  .ct {
    font-size: 10px !important;
    color: rgba(255,255,255,0.75) !important;
    display: block !important;
  }
  .ca {
    font-size: 13px !important;
    font-weight: 800 !important;
    color: #fff !important;
    display: block !important;
  }
  .header-cart-badge {
    background: #000 !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    min-width: 20px !important;
    height: 20px !important;
    padding: 0 4px !important;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 4px 100%, 0 calc(100% - 4px)) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    margin-left: 2px !important;
  }

  /* ── HERO SECTION — remove desktop side margins ── */
  .hero-section {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }
  .hero-area {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
  }

  /* ── HERO SLIDER — same desktop look, scaled for mobile ── */
  .hero-slider {
    height: 290px !important;
    width: 100% !important;
    overflow: hidden;
    /* Keep desktop clip-path */
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 20px), calc(100% - 20px) 100%, 0 100%) !important;
  }
  .slide {
    height: 290px !important;
    display: flex !important;
    align-items: center !important;
    overflow: hidden;
    position: relative;
  }
  /* Keep exact desktop gradient backgrounds */
  .slide-1 { background: linear-gradient(135deg, #0d3320 0%, #1a6640 45%, #2db87e 100%) !important; }
  .slide-2 { background: linear-gradient(135deg, #0a2e1c 0%, #145c38 45%, #22a06a 100%) !important; }
  .slide-3 { background: linear-gradient(135deg, #112e1e 0%, #1e6e42 45%, #2db87e 100%) !important; }

  .slide-content {
    padding: 28px 22px !important;
    max-width: 58% !important;
    position: relative;
    z-index: 2;
  }
  /* Slide badge — same desktop style */
  .slide-badge {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    background: rgba(255,255,255,0.15) !important;
    border: 1px solid rgba(255,255,255,0.2) !important;
    color: #fff !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    padding: 3px 8px !important;
    letter-spacing: 0.5px !important;
    z-index: 3 !important;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 6px), calc(100% - 6px) 100%, 0 100%) !important;
  }
  .slide-eyebrow {
    font-size: 9px !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,0.65) !important;
    margin-bottom: 6px !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-weight: 700 !important;
    opacity: 1 !important;
    animation: none !important;
  }
  .slide-eyebrow::before {
    content: '' !important;
    display: block !important;
    width: 14px !important;
    height: 2px !important;
    background: #fff !important;
    opacity: 0.5 !important;
  }
  .slide-title {
    font-family: 'Bebas Neue', cursive !important;
    font-size: 30px !important;
    color: #fff !important;
    line-height: 0.95 !important;
    margin-bottom: 6px !important;
    letter-spacing: 1px !important;
    opacity: 1 !important;
    animation: none !important;
  }
  .slide-sub {
    font-size: 10px !important;
    font-weight: 700 !important;
    color: rgba(255,255,255,0.55) !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    margin-bottom: 14px !important;
    opacity: 1 !important;
    animation: none !important;
  }
  .slide-btn-wrap {
    opacity: 1 !important;
    animation: none !important;
  }
  /* Slide button — exact desktop white pill with clip-path */
  .slide-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: #fff !important;
    color: #000 !important;
    padding: 9px 16px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.3px !important;
    border: none !important;
    cursor: pointer !important;
    clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 0 100%) !important;
    position: relative !important;
    overflow: hidden !important;
  }
  .slide-btn svg { width: 12px !important; height: 12px !important; }

  /* Slide image — same desktop positioning */
  .slide-image {
    position: absolute !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 108% !important;
    width: 50% !important;
    object-fit: contain !important;
    object-position: bottom right !important;
    animation: none !important;
  }

  /* Slider dots */
  .hero-banners { display: none !important; }
  .slider-dots { bottom: 10px; z-index: 10; }
  .slider-dot {
    width: 22px !important;
    height: 4px !important;
    border-radius: 0 !important;
    background: rgba(255,255,255,0.35) !important;
  }
  .slider-dot.active {
    background: #fff !important;
    width: 34px !important;
  }

  /* ── GREEN PROMO TICKER — same desktop, no side margins ── */
  .green-promo-strip {
    margin-left: 0 !important;
    margin-right: 0 !important;
    background: var(--green) !important;
  }
  .green-promo-strip-inner { height: 32px !important; }
  .green-promo-track span { font-size: 11px !important; animation-duration: 14s !important; }
  .green-promo-track { animation-duration: 14s !important; }

  /* ── PROMO STRIP (Free Shipping, Quality, Returns, Payment) ── */
  /* Desktop style: black bg, 4 icons in a row → mobile: 2x2 grid */
  .promo-strip {
    background: #000 !important;
    border-top: 2px solid var(--green) !important;
    border-bottom: none !important;
    clip-path: none !important;
    margin: 0 !important;
    width: 100% !important;
    overflow: hidden !important;
  }
  .promo-strip-inner {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    padding: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    gap: 0 !important;
    margin: 0 !important;
  }
  .promo-item {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 14px 12px !important;
    border-right: none !important;
    border-bottom: 1px solid #1f1f1f !important;
    transition: background 0.2s !important;
    min-width: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }
  .promo-item:hover { background: #0d0d0d !important; }
  .promo-item:nth-child(odd) { border-right: 1px solid #1f1f1f !important; }
  .promo-item:nth-last-child(-n+2) { border-bottom: none !important; }
  .promo-item:first-child { padding-left: 12px !important; }
  .promo-item-text {
    min-width: 0 !important;
    overflow: hidden !important;
  }
  .promo-item-text strong {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  /* Icon — exact desktop hexagon clip-path, green bg */
  .promo-item-icon {
    width: 40px !important;
    height: 40px !important;
    background: var(--green) !important;
    border: 1.5px solid var(--green) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    color: #fff !important;
    /* Keep desktop clip-path */
    clip-path: polygon(25% 0, 75% 0, 100% 25%, 100% 75%, 75% 100%, 25% 100%, 0 75%, 0 25%) !important;
  }
  .promo-item-icon svg { width: 18px !important; height: 18px !important; }
  .promo-item-text strong {
    display: block !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #fff !important;
    letter-spacing: 0.2px !important;
  }
  .promo-item-text span { font-size: 10px !important; color: rgba(255,255,255,0.4) !important; }

  /* ── OUR COLLECTIONS — same desktop aesthetic, stacked ── */
  .our-collections-section {
    padding: 24px 0 20px !important;
    background: #fff !important;
    opacity: 1 !important;
    animation: none !important;
    clip-path: none !important;
    transform: none !important;
  }
  .our-collections-inner { padding: 0 14px !important; }
  .our-collections-header {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 16px !important;
  }
  /* "EXPLORE" badge — same desktop clip-path style */
  .our-collections-eyebrow {
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
    color: var(--green) !important;
    padding: 4px 10px !important;
    border: 1px solid var(--green) !important;
    clip-path: polygon(6px 0, 100% 0, 100% 100%, calc(100% - 6px) 100%, 0 100%, 0 6px) !important;
  }
  .our-collections-title {
    font-family: 'Bebas Neue', cursive !important;
    font-size: 28px !important;
    letter-spacing: 2px !important;
    color: #0d0d0d !important;
    margin: 0 !important;
    flex: 1 !important;
  }
  .our-collections-viewall {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: #555 !important;
  }
  /* Grid: 1 big card + column of 3 smalls → stacked on mobile */
  .our-collections-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }
  .oc-card-col {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }
  /* Big card — Smart Watches */
  .oc-card-big {
    min-height: 210px !important;
  }
  /* Small cards — Head Phones, Accessories, Gadgets */
  .oc-card-sm {
    min-height: 115px !important;
    flex: none !important;
  }
  /* Keep desktop clip-path on cards */
  .oc-card {
    clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 16px 100%, 0 calc(100% - 16px)) !important;
    opacity: 1 !important;
    transform: none !important;
  }
  .oc-card-name {
    font-family: 'Bebas Neue', cursive !important;
    font-size: 24px !important;
    letter-spacing: 2px !important;
    color: #fff !important;
    line-height: 1 !important;
  }
  .oc-card-big .oc-card-name { font-size: 30px !important; }
  .oc-card-sub { font-size: 11px !important; color: rgba(255,255,255,0.6) !important; }
  .oc-card-content { padding: 16px !important; }
  .oc-card-sm .oc-card-content { padding: 12px 16px !important; }

  /* ── CATEGORY STRIP ── */
  .cat-strip { padding: 16px 0 10px; }
  .cat-strip-inner { padding: 0 12px; }
  .cat-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 8px; }
  .cat-card-inner { min-height: 88px; padding: 14px 12px; }
  .cat-card-name { font-size: 13px; }
  .cat-card-count { font-size: 10px; }

  /* ── DEALS SECTION ── */
  .deals-section { padding: 20px 0 10px; }
  .deals-inner { padding: 0 12px; }
  .deals-grid { grid-template-columns: 1fr !important; gap: 16px; }
  .deal-products { grid-template-columns: repeat(4, 1fr) !important; gap: 6px; }
  .deal-product-price { font-size: 11px; }

  /* ── FOR YOU / RECOMMENDED ── */
  .for-you-section {
    padding: 24px 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    background: #fff !important;
    width: 100% !important;
    max-width: 100vw !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    position: relative !important;
    opacity: 1 !important;
    animation: none !important;
    clip-path: none !important;
    transform: none !important;
  }
  .for-you-inner {
    padding: 0 14px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    max-width: 100% !important;
  }
  /* Title — keep desktop style with green left bar */
  .for-you-title {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #111 !important;
    letter-spacing: -0.5px !important;
    margin-bottom: 16px !important;
    padding-left: 14px !important;
    position: relative !important;
  }
  .for-you-title::before {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 4px !important;
    height: 80% !important;
    background: var(--green) !important;
    clip-path: polygon(0 4px, 100% 0, 100% 100%, 0 calc(100% - 4px)) !important;
  }

  /* Products grid — 2 columns, same card style as desktop */
  .products-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
    align-items: start !important;
  }
  /* Each card stretches full height of its own content only */
  .product-card {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    overflow: hidden !important;
  }
  /* Product card — keep desktop clip-path on image wrap */
  .product-img-wrap {
    height: 170px !important;
    flex-shrink: 0 !important;
    clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%) !important;
    position: relative !important;
    overflow: hidden !important;
    background: #f5f5f5 !important;
    aspect-ratio: unset !important;
  }
  .product-img-wrap img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
  .product-info {
    padding: 8px 8px 10px !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
  }
  .product-brand {
    font-size: 9px !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: #999 !important;
    margin-bottom: 3px !important;
  }
  .product-name {
    font-size: 12px !important;
    line-height: 1.3 !important;
    font-weight: 500 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    color: #111 !important;
    margin-bottom: 5px !important;
  }
  .product-price { font-size: 14px !important; font-weight: 700 !important; color: #111 !important; }
  .product-old-price { font-size: 10px !important; color: #aaa !important; }
  .product-sold-count { font-size: 10px !important; color: #999 !important; }
  /* Badge — keep desktop clip-path style */
  .product-badge {
    font-size: 9px !important;
    padding: 3px 7px !important;
    top: 8px !important;
    left: 8px !important;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 6px 100%, 0 calc(100% - 6px)) !important;
    background: var(--green) !important;
    color: #fff !important;
    font-weight: 700 !important;
    position: absolute !important;
    z-index: 2 !important;
    letter-spacing: 0.3px !important;
  }
  .product-badge.new-badge { background: #000 !important; }
  /* Hide hover actions on touch, show add-to-cart */
  .product-actions { display: none !important; }
  .add-to-cart-btn {
    position: absolute !important;
    bottom: 0 !important; left: 0 !important; right: 0 !important;
    background: var(--green) !important;
    color: #fff !important;
    border: none !important;
    padding: 10px !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    opacity: 0 !important;
    transition: opacity 0.2s !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
  }
  .product-card:active .add-to-cart-btn { opacity: 1 !important; }

  /* View more button — same desktop polygon style */
  .view-more-btn {
    padding: 10px 28px !important;
    font-size: 12px !important;
    clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px) !important;
  }
  .view-more-wrap { text-align: center !important; padding: 16px 0 !important; }

  /* ── TRUST SECTION — same desktop dark style, row layout ── */
  .trust-section {
    padding: 0 !important;
    opacity: 1 !important;
    animation: none !important;
    clip-path: none !important;
  }
  .trust-inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding: 0 !important;
    grid-template-columns: unset !important;
  }
  /* Each trust item — keep desktop left-cut clip-path, row layout */
  .trust-item {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    text-align: left !important;
    gap: 16px !important;
    padding: 16px 20px !important;
    border-bottom: 1px solid rgba(255,255,255,0.07) !important;
    border-right: none !important;
    clip-path: polygon(12px 0, 100% 0, 100% 100%, 0 100%, 0 12px) !important;
  }
  .trust-item:last-child { border-bottom: none !important; }
  /* Big green numbers — same Bebas Neue font as desktop */
  .trust-num {
    font-size: 34px !important;
    line-height: 1 !important;
    margin: 0 !important;
    min-width: 68px !important;
    flex-shrink: 0 !important;
    color: var(--green) !important;
    font-family: 'Bebas Neue', cursive !important;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%) !important;
    padding-right: 8px !important;
    display: inline-block !important;
  }
  .trust-label { font-size: 13px !important; font-weight: 700 !important; margin-bottom: 2px !important; }
  .trust-desc { font-size: 11px !important; line-height: 1.5 !important; }

  /* ── NEWSLETTER — same green section, column form ── */
  .newsletter-section {
    padding: 28px 0 !important;
    opacity: 1 !important;
    animation: none !important;
    clip-path: none !important;
  }
  .newsletter-section.revealed {
    opacity: 1 !important;
    clip-path: none !important;
  }
  .newsletter-inner { padding: 0 20px !important; }
  .nl-title { font-size: 22px !important; line-height: 1.2 !important; }
  .nl-form {
    flex-direction: column !important;
    gap: 8px !important;
    max-width: 100% !important;
    margin-top: 16px !important;
  }
  /* Input — full styling for mobile — matches desktop */
  .nl-input {
    width: 100% !important;
    height: 44px !important;
    background: #fff !important;
    color: #111 !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 16px !important;
    font-size: 13px !important;
    font-family: 'Inter', sans-serif !important;
    outline: none !important;
    flex: unset !important;
    clip-path: polygon(6px 0, 100% 0, 100% 100%, 0 100%, 0 6px) !important;
    box-sizing: border-box !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
  }
  .nl-input::placeholder { color: #888 !important; }
  /* Button — keep desktop clip-path */
  .nl-btn {
    width: 100% !important;
    height: 48px !important;
    justify-content: center !important;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 10px 100%, 0 calc(100% - 10px)) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
  }

  /* ── FOOTER — same dark style, stacked ── */
  .footer-main { padding: 28px 0 16px; }
  .footer-main-inner {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    padding: 0 18px !important;
  }
  .footer-col-title {
    font-size: 11px !important;
    letter-spacing: 1.5px !important;
    margin-bottom: 12px !important;
  }
  .footer-col-list a { font-size: 13px !important; }
  .footer-addr { font-size: 12px !important; line-height: 1.8 !important; }
  .footer-bottom { padding: 14px 0; }
  .footer-bottom-inner {
    flex-direction: column !important;
    gap: 10px !important;
    text-align: center !important;
    padding: 0 18px !important;
  }
  .footer-payment-icons {
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
  }

  /* ── BOTTOM NAVIGATION — same desktop dark style ── */
  .mob-bottom-nav {
    display: flex !important;
    position: fixed;
    bottom: 0; left: 0; right: 0;
    z-index: 1200;
    background: #0a0a0a;
    border-top: 2px solid var(--green);
    padding: 8px 0 env(safe-area-inset-bottom, 10px);
    box-shadow: 0 -4px 32px rgba(0,0,0,0.5);
    will-change: transform, opacity;
    transform: translateY(0);
    opacity: 1;
    transition: transform 0.35s cubic-bezier(.16,1,.3,1), opacity 0.25s ease;
  }
  .mob-bottom-nav.nav-hiding {
    animation: cp-nav-hide 0.32s cubic-bezier(.55,0,.7,.9) forwards !important;
  }
  .mob-bottom-nav.nav-showing {
    animation: cp-nav-show 0.38s cubic-bezier(.16,1,.3,1) forwards !important;
  }
  .mob-bottom-nav.nav-hidden {
    transform: translateY(100%) !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
  .mob-bottom-nav-inner {
    display: flex;
    align-items: stretch;
    justify-content: space-around;
    width: 100%;
  }
  .mob-nav-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    color: rgba(255,255,255,0.38) !important;
    text-decoration: none !important;
    background: none !important;
    border: none !important;
    padding: 6px 8px 4px !important;
    cursor: pointer !important;
    font-family: inherit !important;
    flex: 1 !important;
    letter-spacing: 0.4px !important;
    min-width: 0 !important;
    transition: color 0.18s ease, transform 0.18s ease !important;
    -webkit-tap-highlight-color: transparent !important;
  }
  .mob-nav-item svg {
    width: 22px !important;
    height: 22px !important;
    stroke: currentColor !important;
    flex-shrink: 0 !important;
    display: block !important;
  }
  .mob-nav-item span {
    display: block !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
  }
  .mob-nav-item.active {
    color: var(--green) !important;
  }
  .mob-nav-item.active svg {
    filter: drop-shadow(0 0 4px var(--green)) !important;
  }
  .mob-nav-item:active {
    transform: scale(0.88) !important;
    opacity: 0.75 !important;
  }

  /* ── SIDEBARS FULL WIDTH ── */
  .cart-sidebar,
  .wishlist-sidebar { width: 100vw !important; max-width: 100vw !important; }
  .auth-popup { width: 100vw !important; max-width: 100vw !important; }

  /* ── FLOATING BUTTONS — follow mob-bottom-nav hide/show ── */
  .floating-buttons {
    bottom: 76px !important;
    right: 12px !important;
    transition: bottom 0.38s cubic-bezier(.55,0,.7,.9), opacity 0.25s !important;
  }
  .floating-buttons.nav-hidden-state {
    bottom: 16px !important;
  }
  .back-to-top { bottom: 76px !important; right: 12px !important; }
  .live-chat-btn span { display: none; }
  /* Keep desktop clip-path on live chat */
  .live-chat-btn {
    width: 48px !important;
    padding: 0 !important;
    justify-content: center !important;
    clip-path: polygon(12px 0, 100% 0, 100% 100%, 0 100%, 0 12px) !important;
  }

  /* ── SALE POPUP ── */
  .sale-popup { width: calc(100vw - 24px) !important; }
  .sale-popup-inner { padding: 28px 18px !important; }

  /* ── DISABLE ANIMATIONS that cause opacity:0 flicker ── */
  /* Keep all styles, just skip entry transitions */
  .hero-section,
  .green-promo-strip,
  .promo-strip,
  .cat-strip,
  .our-collections-section,
  .deals-section,
  .for-you-section,
  .trust-section,
  .newsletter-section,
  .site-footer {
    opacity: 1 !important;
    visibility: visible !important;
    /* Do NOT override clip-path or background here */
  }
  /* Only cancel entry animations */
  .hero-section { animation: none !important; transform: none !important; }
  .green-promo-strip { animation: none !important; transform: none !important; }
  .promo-strip { animation: none !important; transform: none !important; }
  .cat-strip { animation: none !important; transform: none !important; }
  .deals-section { animation: none !important; transform: none !important; }
  .newsletter-section { animation: none !important; transform: none !important; }
  .site-footer { animation: none !important; transform: none !important; }
}

/* ============================================================
   SMALL PHONES — max-width: 480px
   ============================================================ */
@media (max-width: 480px) {
  .hero-slider { height: 240px !important; }
  .slide { height: 240px !important; }
  .slide-title { font-size: 25px !important; }
  .slide-image { width: 47% !important; }
  .slide-content { max-width: 57% !important; padding: 18px 14px !important; }

  .products-grid { gap: 8px !important; }
  .for-you-inner { padding: 0 10px !important; }
  .product-img-wrap { height: 150px !important; }
  .product-name { font-size: 11px !important; }

  .deals-inner { padding: 0 10px; }
  .cat-strip-inner { padding: 0 10px; }
  .our-collections-inner { padding: 0 10px !important; }
  .oc-card-big { min-height: 175px !important; }
  .oc-card-sm { min-height: 100px !important; }

  .footer-main-inner { padding: 0 14px !important; }
  .trust-num { font-size: 28px !important; min-width: 58px !important; }

  .promo-item { padding: 12px 10px !important; }
  .promo-item-icon { width: 36px !important; height: 36px !important; }
  .promo-item-icon svg { width: 16px !important; height: 16px !important; }
  .promo-item-text strong { font-size: 11px !important; }
  .promo-item-text span { font-size: 9px !important; }
}

/* ============================================================
   MOBILE SEARCH TRIGGER ICON (in header-icons, mobile only)
   ============================================================ */
.mob-search-trigger {
  display: none;
}
@media (max-width: 768px) {
  .mob-search-trigger {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: none;
    background: none;
    color: #555;
    cursor: pointer;
    flex-shrink: 0;
  }
  .mob-search-trigger svg {
    width: 22px;
    height: 22px;
  }
}

/* ============================================================
   MOBILE SEARCH OVERLAY
   ============================================================ */
.mob-search-overlay {
  display: none !important;
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.45);
  z-index: 9999;
  align-items: flex-start;
  justify-content: center;
}
@media (max-width: 768px) {
  .mob-search-overlay {
    display: none !important;
  }
  .mob-search-overlay.open {
    display: flex !important;
  }
}
.mob-search-inner {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 12px 14px;
  background: #fff;
  box-shadow: 0 4px 24px rgba(0,0,0,0.13);
  animation: mob-search-slide-in 0.28s cubic-bezier(.16,1,.3,1) both;
}
@keyframes mob-search-slide-in {
  from { opacity: 0; transform: translateY(-18px); }
  to   { opacity: 1; transform: translateY(0); }
}
.mob-search-box {
  flex: 1;
  position: relative;
  display: flex;
  align-items: stretch;
}
.mob-search-box input {
  width: 100%;
  height: 44px;
  background: #fff;
  border: 1.5px solid #eee;
  border-right: none;
  border-radius: 0;
  padding: 0 52px 0 18px;
  font-size: 13px;
  font-family: 'Inter', sans-serif;
  color: #000;
  outline: none;
  transition: border-color 0.2s;
}
.mob-search-box input:focus {
  border-color: var(--green);
}
.mob-search-box input::placeholder {
  color: #aaa;
}
.mob-search-submit {
  position: absolute;
  right: 0; top: 0;
  height: 44px;
  width: 48px;
  background: var(--green);
  border: none;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  cursor: pointer;
  transition: background 0.2s;
  flex-shrink: 0;
}
.mob-search-submit:hover { background: var(--green-dark); }
.mob-search-close {
  width: 38px;
  height: 38px;
  background: none;
  border: none;
  color: #555;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0;
}
.mob-search-close:hover { color: #111; }
