/* ============================================================
   EIHOSHOP V2 — Matches Stitch/Google output exactly
   Inter font · white/black/electric-blue · mobile-first
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#f9f9fa;
  --bg-white:#ffffff;
  --surface:#eeeeef;
  --surface-low:#f3f3f4;
  --surface-high:#e8e8e9;
  --surface-highest:#e2e2e3;
  --ink:#000000;
  --ink-2:#1a1c1d;
  --muted:#444748;
  --muted-2:#6b6b72;
  --line:#e7e7ea;
  --accent:#0050cc;
  --accent-bright:#0266ff;
  --accent-soft:#e8efff;
  --hot:#ff3b30;
  --ok:#0aa15a;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --radius:4px;
  --radius-md:8px;
  --radius-lg:12px;
  --radius-xl:16px;
  --radius-full:9999px;
}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--bg);color:var(--ink-2);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden;padding-bottom:64px}
@media(min-width:900px){body{padding-bottom:0}}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}

/* ===== LAYOUT ===== */
.v2-wrap{max-width:1280px;margin:0 auto;padding:0 64px}
@media(max-width:900px){.v2-wrap{padding:0 16px}}

/* ===== ANNOUNCE BAR ===== */
.v2-announce{background:var(--ink);color:#fff;text-align:center;padding:8px 16px;font-size:11px;letter-spacing:.07em;text-transform:uppercase;font-weight:700;line-height:1.2}

/* ===== HEADER ===== */
.v2-hdr{position:sticky;top:0;z-index:100;background:rgba(249,249,250,.8);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);height:64px}
.v2-hdr-row{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}
/* Logo */
.v2-brand{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:900;letter-spacing:-.03em;color:var(--ink);flex-shrink:0}
.v2-brand img{height:32px;width:auto;object-fit:contain}
.v2-brand-icon{width:28px;height:28px;background:var(--ink);border-radius:7px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:900}
/* Desktop nav */
.v2-nav{display:flex;gap:28px;flex:1;justify-content:center}
.v2-nav a{font-size:13px;font-weight:700;letter-spacing:.03em;color:var(--muted);text-transform:uppercase;transition:.15s;position:relative}
.v2-nav a:hover{color:var(--ink)}
.v2-nav .v2-live::after{content:"";position:absolute;top:-2px;right:-8px;width:5px;height:5px;background:var(--hot);border-radius:50%}
/* Search (desktop) */
.v2-search{position:relative;flex-shrink:0}
@media(max-width:900px){.v2-search{display:none}}
.v2-search input{width:240px;height:36px;padding:0 14px 0 36px;border-radius:var(--radius-full);border:1px solid var(--line);background:var(--surface-low);font-size:13px;font-family:inherit;outline:none;transition:width .2s,background .15s,border-color .15s;color:var(--ink-2)}
.v2-search input:focus{width:300px;background:var(--bg-white);border-color:var(--ink);box-shadow:0 0 0 3px rgba(0,0,0,.05)}
.v2-search input::placeholder{color:var(--muted-2)}
.v2-search-ico{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted-2);pointer-events:none}
/* Search dropdown */
.v2-search-drop{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;min-width:340px;background:#fff;border:1.5px solid #e8e8e8;border-radius:14px;box-shadow:0 16px 48px rgba(0,0,0,.14);z-index:9999;overflow:hidden}
.v2-sd-row{display:flex;align-items:center;gap:12px;padding:10px 14px;text-decoration:none;color:inherit;transition:background .12s;border-bottom:1px solid #f5f5f5}
.v2-sd-row:last-of-type{border-bottom:none}
.v2-sd-row:hover,.v2-sd-row:focus{background:#f7f7f7;outline:none}
.v2-sd-thumb{width:48px;height:48px;border-radius:8px;overflow:hidden;flex-shrink:0;background:#f0f0f0}
.v2-sd-thumb img{width:100%;height:100%;object-fit:cover}
.v2-sd-nopic{width:100%;height:100%;background:#eee}
.v2-sd-info{flex:1;min-width:0}
.v2-sd-name{font-size:13px;font-weight:600;color:#111;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.v2-sd-meta{display:flex;align-items:baseline;gap:6px;margin-top:3px}
.v2-sd-price{font-size:13px;font-weight:800;color:#111}
.v2-sd-orig{font-size:11px;color:#aaa}
.v2-sd-all{display:block;padding:12px 16px;font-size:12.5px;font-weight:700;color:#111;text-decoration:none;background:#f9f9f9;border-top:1px solid #eee;letter-spacing:.01em;transition:background .12s}
.v2-sd-all:hover{background:#f0f0f0}
.v2-sd-empty{padding:16px;font-size:13px;color:#888;text-align:center}
.v2-sd-spin{display:flex;justify-content:center;padding:20px;color:#bbb}
/* Mobile search suggestions */
#v2-mob-search-drop .v2-sd-row{border-radius:10px;margin-bottom:2px;border:1px solid #f0f0f0;border-bottom:1px solid #f0f0f0}
#v2-mob-search-drop .v2-sd-all{border-radius:10px;border:1px solid #eee;margin-top:6px}
#v2-mob-search-drop .v2-sd-empty{padding:12px;color:#888}
/* Header icons */
.v2-hdr-tools{display:flex;align-items:center;gap:2px;flex-shrink:0}
.v2-icon-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);position:relative;transition:.15s;color:var(--muted)}
.v2-icon-btn:hover{background:var(--surface);color:var(--ink)}
.v2-badge{position:absolute;top:4px;right:4px;background:var(--hot);color:#fff;font-size:9px;font-weight:800;min-width:15px;height:15px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;padding:0 3px;border:1.5px solid var(--bg-white);line-height:1}
.v2-badge:empty{display:none!important}
/* Hide desktop nav + hamburger on mobile, show only on desktop */
@media(max-width:900px){.v2-nav{display:none}}
.v2-mob-menu-btn{display:none}
@media(max-width:900px){.v2-mob-menu-btn{display:flex;flex-direction:column;gap:5px;width:40px;height:40px;align-items:center;justify-content:center;cursor:pointer}}
.v2-mob-menu-btn span{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;transition:.25s}
/* Mobile search icon shown in hdr tools */
.v2-mob-search-btn{display:none}
@media(max-width:900px){.v2-mob-search-btn{display:flex}}
/* Mobile drawer */
.v2-mob-nav{display:none;position:fixed;inset:0;background:var(--bg-white);z-index:300;flex-direction:column;padding:20px}
.v2-mob-nav.open{display:flex}
.v2-mob-nav-close{align-self:flex-end;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;border-radius:var(--radius-md);color:var(--muted);margin-bottom:12px}
.v2-mob-nav-close:hover{background:var(--surface);color:var(--ink)}
.v2-mob-nav a{display:block;font-size:18px;font-weight:700;padding:14px 0;border-bottom:1px solid var(--line);color:var(--ink-2);letter-spacing:-.01em}
.v2-mob-nav a:hover{color:var(--accent)}
/* Mobile search overlay */
.v2-mob-search-overlay{display:none;position:fixed;inset:0;background:var(--bg-white);z-index:300;padding:20px;flex-direction:column;gap:16px}
.v2-mob-search-overlay.open{display:flex}
.v2-mob-search-overlay input{width:100%;height:52px;padding:0 16px 0 44px;border-radius:var(--radius-full);border:1.5px solid var(--line);font-size:16px;font-family:inherit;outline:none;color:var(--ink-2)}
.v2-mob-search-overlay input:focus{border-color:var(--accent)}

/* ===== BUTTONS ===== */
.v2-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 24px;border-radius:var(--radius-full);font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;transition:.18s;white-space:nowrap;cursor:pointer;border:none;font-family:inherit}
.v2-btn-primary{background:var(--ink);color:#fff}
.v2-btn-primary:hover{background:var(--accent)}
.v2-btn-accent{background:var(--accent-bright);color:#fff}
.v2-btn-accent:hover{background:#0052cc}
.v2-btn-white{background:#fff;color:var(--ink)}
.v2-btn-white:hover{background:var(--accent-bright);color:#fff}
.v2-btn-ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.25)}
.v2-btn-ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}
.v2-btn-outline{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
.v2-btn-outline:hover{border-color:var(--ink)}
.v2-btn:active{transform:scale(.97)}

/* ===== HERO ===== */
.v2-hero{background:var(--ink);color:#fff;border-radius:0 0 24px 24px;overflow:hidden;position:relative}
.v2-hero-body{padding:48px 0 0}
@media(max-width:900px){.v2-hero-body{padding:40px 0 0}}
/* Two pill tags */
.v2-hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.v2-hero-tag-hot{display:inline-flex;align-items:center;gap:6px;background:var(--accent-bright);color:#fff;padding:6px 14px;border-radius:var(--radius-full);font-size:12px;font-weight:700;letter-spacing:.04em}
.v2-hero-tag-free{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.12);color:#fff;padding:6px 14px;border-radius:var(--radius-full);font-size:12px;font-weight:700;letter-spacing:.04em;border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(4px)}
/* Heading */
.v2-hero h1{font-size:clamp(32px,5vw,68px);font-weight:800;line-height:1.15;letter-spacing:-.03em;margin-bottom:20px}
@media(max-width:900px){.v2-hero h1{font-size:32px;line-height:1.2}}
.v2-hero-sub{font-size:16px;color:rgba(255,255,255,.65);max-width:480px;margin-bottom:28px;line-height:1.6}
@media(max-width:900px){.v2-hero-sub{font-size:14px;margin-bottom:24px}}
/* Stats strip inside hero */
.v2-hero-stats{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.1);padding:20px 0;margin-top:32px}
@media(max-width:900px){.v2-hero-stats{margin-top:24px}}
.v2-hero-stats div{text-align:center}
.v2-hero-stats strong{display:block;font-size:20px;font-weight:800;color:#fff;letter-spacing:-.02em}
.v2-hero-stats span{font-size:11px;color:rgba(255,255,255,.55);letter-spacing:.08em;text-transform:uppercase;font-weight:600}
/* Desktop image column */
.v2-hero-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:40px;align-items:center}
@media(max-width:900px){.v2-hero-grid{grid-template-columns:1fr}}
.v2-hero-visual{position:relative;height:560px;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,#1a1a1f 0%,#2a2a32 100%);display:flex;align-items:center;justify-content:center}
@media(max-width:900px){.v2-hero-visual{display:none}}
.v2-hero-slide{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);max-width:94%;max-height:96%;object-fit:cover;filter:drop-shadow(0 24px 48px rgba(0,0,0,.5));opacity:0;transition:opacity .6s ease;z-index:1}
.v2-hero-slide.active{opacity:1;z-index:2}
.v2-hero-dots{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:3}
.v2-hero-dot{width:7px;height:7px;border-radius:50%;border:none;background:rgba(255,255,255,.35);cursor:pointer;padding:0;transition:background .2s,transform .2s}
.v2-hero-dot.active{background:#fff;transform:scale(1.3)}
.v2-hero-dot:hover{background:rgba(255,255,255,.6)}
.v2-hero-visual::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 40% 50%,rgba(2,102,255,.18) 0%,transparent 65%)}
/* Floating chips on hero image */
.v2-chip{position:absolute;background:#fff;color:var(--ink);padding:10px 14px;border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.2);display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600;z-index:2}
.v2-chip.top-left{top:20px;left:16px}
.v2-chip.bot-right{bottom:20px;right:16px}
.v2-chip .v2-chip-ico{width:28px;height:28px;background:var(--accent-soft);color:var(--accent-bright);border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:900}
.v2-chip small{display:block;color:var(--muted-2);font-size:10px;margin-top:1px;font-weight:500}

/* ===== SECTIONS ===== */
.v2-sec{padding:56px 0}
@media(max-width:900px){.v2-sec{padding:36px 0}}
.v2-sec-sm{padding:36px 0}
@media(max-width:900px){.v2-sec-sm{padding:24px 0}}
.v2-sec-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px;gap:16px;flex-wrap:wrap}
.v2-sec-head h2{font-size:clamp(22px,3vw,34px);font-weight:800;letter-spacing:-.03em;line-height:1.1}
@media(max-width:900px){.v2-sec-head h2{font-size:24px}}
.v2-eyebrow{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-bright);margin-bottom:4px}
.v2-viewall{font-size:13px;font-weight:700;color:var(--ink);padding:6px 0;border-bottom:1.5px solid var(--ink);letter-spacing:.02em;transition:.15s;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}
.v2-viewall:hover{color:var(--accent);border-color:var(--accent)}

/* ===== CATEGORY CARDS ===== */
.v2-cat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media(max-width:480px){.v2-cat-grid{gap:12px}}
.v2-cat-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/5;display:flex;flex-direction:column;justify-content:space-between;padding:20px;transition:.25s;cursor:pointer;text-decoration:none}
@media(max-width:480px){.v2-cat-card{padding:16px;aspect-ratio:3/4}}
.v2-cat-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(0,0,0,.12)}
.v2-cat-card:active{transform:scale(.98)}
.v2-cat-card.blue{background:linear-gradient(135deg,#0050cc 0%,#001849 100%);color:#fff}
.v2-cat-card.dark{background:linear-gradient(135deg,#1a1c1d 0%,#000000 100%);color:#fff}
.v2-cat-card-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.25;z-index:0}
.v2-cat-card h3{font-size:22px;font-weight:800;letter-spacing:-.02em;position:relative;z-index:1}
@media(max-width:480px){.v2-cat-card h3{font-size:18px}}
.v2-cat-card-foot{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}
.v2-cat-card span{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75}
.v2-cat-arrow{width:38px;height:38px;background:#fff;color:var(--ink);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;transition:.2s;flex-shrink:0}
.v2-cat-card:hover .v2-cat-arrow{transform:rotate(-45deg);background:var(--accent-bright);color:#fff}
/* Pill grid (>6 cats) */
.v2-cats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
@media(max-width:768px){.v2-cats-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:480px){.v2-cats-grid{grid-template-columns:repeat(3,1fr)}}
.v2-cat-pill{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 8px;border-radius:var(--radius-md);background:var(--bg-white);text-align:center;transition:.2s;cursor:pointer;text-decoration:none;color:var(--ink-2);border:1px solid var(--line)}
.v2-cat-pill:hover{border-color:var(--accent-bright);color:var(--accent-bright);background:var(--accent-soft);transform:translateY(-2px)}
.v2-cat-pill img{width:52px;height:52px;border-radius:var(--radius-full);object-fit:cover}
.v2-cat-pill-name{font-size:11px;font-weight:700;line-height:1.3;letter-spacing:.02em}

/* ===== PRODUCT GRID ===== */
.v2-prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media(max-width:900px){.v2-prod-grid{grid-template-columns:repeat(2,1fr);gap:14px}}
.v2-prod-card{display:block;cursor:pointer;text-decoration:none;color:var(--ink-2);transition:.2s}
.v2-prod-card:hover{transform:translateY(-2px)}
.v2-prod-img{position:relative;aspect-ratio:1/1;background:var(--surface);border-radius:var(--radius-md);overflow:hidden;margin-bottom:10px}
.v2-prod-img img{width:100%;height:100%;object-fit:cover;transition:.4s ease}
.v2-prod-card:hover .v2-prod-img img{transform:scale(1.04)}
.v2-prod-tag{position:absolute;top:8px;left:8px;background:var(--ink);color:#fff;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:3px 7px;border-radius:var(--radius-full);z-index:2}
.v2-prod-tag.hot{background:var(--hot)}
.v2-prod-tag.new{background:var(--accent-bright)}
.v2-prod-wish{position:absolute;top:8px;right:8px;width:32px;height:32px;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;z-index:2;transition:.15s;opacity:0;transform:translateY(-4px);border:none;cursor:pointer}
.v2-prod-card:hover .v2-prod-wish{opacity:1;transform:translateY(0)}
.v2-prod-wish:hover{background:var(--hot);color:#fff}
@media(max-width:900px){.v2-prod-wish{opacity:1;transform:translateY(0)}}
.v2-prod-quick{position:absolute;left:8px;right:8px;bottom:8px;background:var(--ink);color:#fff;text-align:center;height:36px;border-radius:var(--radius-full);font-weight:700;font-size:11px;letter-spacing:.04em;display:flex;align-items:center;justify-content:center;gap:6px;opacity:0;transform:translateY(6px);transition:.2s;z-index:2;border:none;cursor:pointer;font-family:inherit;width:calc(100% - 16px)}
.v2-prod-card:hover .v2-prod-quick{opacity:1;transform:translateY(0)}
.v2-prod-quick:hover{background:var(--accent-bright)}
.v2-prod-oos{background:rgba(0,0,0,.55)!important;color:#fff!important;cursor:default!important;pointer-events:none;opacity:1!important;transform:translateY(0)!important}
.v2-prod-card-oos{opacity:.75}
.v2-prod-card-oos .v2-prod-img img{filter:grayscale(.3)}
.v2-prod-name{font-size:13px;font-weight:600;color:var(--ink-2);line-height:1.35;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.v2-prod-price{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.v2-prod-price strong{font-size:15px;font-weight:800;color:var(--ink)}
.v2-prod-price s{font-size:12px;color:var(--muted-2)}
.v2-prod-price em{font-style:normal;font-size:10px;font-weight:700;color:var(--ok);background:rgba(10,161,90,.1);padding:2px 5px;border-radius:var(--radius)}

/* ===== OFFERS ===== */
.v2-offer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.v2-offer-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;min-height:140px;padding:24px;display:flex;align-items:flex-end;cursor:pointer;text-decoration:none;transition:.2s}
.v2-offer-card:hover{transform:translateY(-3px)}
.v2-offer-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.3;z-index:0}
.v2-offer-card-body{position:relative;z-index:1;color:#fff}
.v2-offer-card-body h3{font-size:18px;font-weight:800;letter-spacing:-.01em;margin-bottom:4px}
.v2-offer-card-body span{font-size:12px;font-weight:600;opacity:.8;letter-spacing:.04em}

/* ===== TRUST MARQUEE ===== */
.v2-trust{background:var(--ink);color:#fff;padding:12px 0;overflow:hidden;cursor:default}
.v2-trust-track{display:inline-flex;animation:v2marquee 24s linear infinite}
.v2-trust:hover .v2-trust-track{animation-play-state:paused}
@keyframes v2marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.v2-trust-item{display:inline-flex;align-items:center;gap:8px;padding:0 28px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-right:1px solid rgba(255,255,255,.1)}
.v2-trust-item svg{color:var(--accent-bright);flex-shrink:0}

/* ===== TEAM / BRANDS SCROLL ===== */
.v2-teams-sec{padding:36px 0;background:var(--surface-low)}
@media(max-width:900px){.v2-teams-sec{padding:28px 0}}
.v2-teams-scroll{display:flex;gap:16px;overflow-x:auto;padding:4px 0 8px;scrollbar-width:none;-ms-overflow-style:none}
.v2-teams-scroll::-webkit-scrollbar{display:none}
.v2-team-pill{display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0;cursor:pointer;text-decoration:none;color:var(--ink-2);transition:.15s}
.v2-team-pill:hover{color:var(--accent-bright)}
.v2-team-circle{width:72px;height:72px;border-radius:var(--radius-full);background:var(--bg-white);border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden;transition:.2s}
.v2-team-pill:hover .v2-team-circle{border-color:var(--accent-bright);box-shadow:0 0 0 3px var(--accent-soft)}
.v2-team-circle img{width:100%;height:100%;object-fit:contain;padding:10px}
.v2-team-circle-letter{font-weight:900;font-size:13px;letter-spacing:.04em;color:var(--ink);text-transform:uppercase}
.v2-team-name{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;text-align:center;max-width:72px;line-height:1.3}

/* ===== CLUBS (legacy, keep for brands section) ===== */
.v2-clubs{background:var(--surface-low);padding:36px 0}
.v2-clubs-head{margin-bottom:24px}
.v2-clubs-row{display:flex;gap:16px;overflow-x:auto;padding-bottom:8px;scrollbar-width:none}
.v2-clubs-row::-webkit-scrollbar{display:none}
.v2-club-badge{width:72px;height:72px;background:var(--bg-white);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:10px;letter-spacing:.05em;text-transform:uppercase;text-align:center;color:var(--ink);border:1.5px solid var(--line);transition:.2s;cursor:pointer;text-decoration:none;padding:8px;line-height:1.3;flex-shrink:0}
.v2-club-badge:hover{border-color:var(--accent-bright);color:var(--accent-bright)}
.v2-club-badge img{width:100%;height:100%;object-fit:contain;border-radius:50%}

/* ===== FOOTER ===== */
.v2-foot{background:var(--bg-white);border-top:1px solid var(--line);padding:48px 0 24px}
.v2-foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px}
@media(max-width:900px){.v2-foot-grid{grid-template-columns:1fr 1fr;gap:28px}}
@media(max-width:480px){.v2-foot-grid{grid-template-columns:1fr}}
.v2-foot-brand{font-weight:900;font-size:20px;letter-spacing:-.02em;display:flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--ink)}
.v2-foot-brand img{height:28px;width:auto;object-fit:contain}
.v2-foot-desc{font-size:13px;color:var(--muted-2);line-height:1.6;max-width:280px;margin-bottom:16px}
.v2-foot h5{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin-bottom:14px}
.v2-foot ul{list-style:none}
.v2-foot ul li{margin-bottom:9px}
.v2-foot ul a{font-size:13px;color:var(--muted-2);transition:.12s;display:inline-block}
.v2-foot ul a:hover{color:var(--ink);transform:translateX(2px)}
.v2-foot ul a.v2-seller-link{color:var(--accent-bright);font-weight:700}
.v2-foot ul a.v2-seller-link:hover{color:var(--accent)}
.v2-foot-social{display:flex;gap:8px;margin-top:16px}
.v2-foot-social a{width:34px;height:34px;background:var(--surface-low);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--muted-2);border:1px solid var(--line);transition:.15s}
.v2-foot-social a:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
/* App download buttons */
.v2-app-btns{display:flex;flex-direction:column;gap:8px;margin-top:16px}
.v2-app-btn{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:#fff;padding:9px 14px;border-radius:var(--radius-md);font-size:12px;font-weight:600;transition:.15s;border:none;cursor:pointer;line-height:1.2}
.v2-app-btn:hover{background:var(--accent-bright)}
.v2-app-btn small{display:block;font-size:9px;font-weight:500;opacity:.75;letter-spacing:.04em;text-transform:uppercase}
.v2-foot-bottom{padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:11px;color:var(--muted-2)}
.v2-pay{display:flex;gap:5px;flex-wrap:wrap}
.v2-pay span{padding:3px 7px;background:var(--surface-low);border-radius:var(--radius);font-size:9px;font-weight:700;letter-spacing:.05em;color:var(--ink);border:1px solid var(--line)}
/* Seller CTA banner (above footer) */
.v2-seller-banner{background:var(--ink-2);color:#fff;padding:40px 0}
.v2-seller-banner-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.v2-seller-banner h3{font-size:clamp(20px,3vw,28px);font-weight:800;letter-spacing:-.02em}
@media(max-width:900px){.v2-seller-banner h3{font-size:20px}}
.v2-seller-banner p{font-size:14px;color:rgba(255,255,255,.65);margin-top:6px}
.v2-seller-banner-ctas{display:flex;gap:12px;flex-shrink:0;flex-wrap:wrap}

/* ===== MOBILE BOTTOM NAV ===== */
.v2-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--bg-white);border-top:1px solid var(--line);padding:6px 0 calc(6px + env(safe-area-inset-bottom));z-index:200;justify-content:space-around;align-items:center}
@media(max-width:900px){.v2-bottom-nav{display:flex}}
.v2-bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px 10px;font-size:10px;font-weight:600;letter-spacing:.02em;color:var(--muted-2);text-decoration:none;transition:.15s;min-width:48px}
.v2-bottom-nav a.active,.v2-bottom-nav a:hover{color:var(--accent-bright)}
.v2-bottom-nav a svg{transition:.15s}
.v2-bottom-nav a.active svg{stroke:var(--accent-bright)}

/* ===== PDP overrides (large variant pills, hide bottom nav for clean CTA) ===== */
/* On PDP mobile: hide the global bottom nav so only the Add-to-Cart / Buy-Now bar shows */
body.has-v2-pdp .v2-bottom-nav{display:none!important}
@media(max-width:900px){
    body.has-v2-pdp{padding-bottom:80px}
}
/* Sticky PDP CTA bar — pin to bottom edge when bottom nav is hidden */
body.has-v2-pdp .v2-pdp-sticky{bottom:0!important;padding:12px 16px calc(12px + env(safe-area-inset-bottom))!important;box-shadow:0 -8px 24px rgba(0,0,0,.08)!important;background:#fff!important}
body.has-v2-pdp .v2-pdp-sticky .v2-btn{height:50px!important;font-size:13px!important;letter-spacing:.06em}

/* Variant pills — bigger, easier to scan and tap (jersey sizes, phone models, etc.) */
.v2-attr-block{margin-bottom:28px!important}
.v2-attr-group{margin-bottom:24px!important}
.v2-attr-label{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px!important}
.v2-attr-label > label{font-size:12px!important;font-weight:800!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:var(--ink)!important;display:flex!important;align-items:center;gap:8px}
.v2-attr-label > label::after{content:none}
.v2-attr-selected{font-size:12px;font-weight:600;color:var(--muted-2);text-transform:none;letter-spacing:.01em}
.v2-attr-link{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-bright);text-decoration:underline;text-underline-offset:3px}
/* Pills — generous tap area */
.v2-attr-pill{min-width:60px;min-height:48px;padding:0 18px!important;border:1.5px solid var(--line)!important;border-radius:10px!important;background:#fff!important;font-size:14px!important;font-weight:600!important;color:var(--ink-2)!important;cursor:pointer;transition:.15s;display:inline-flex!important;align-items:center;justify-content:center;list-style:none;position:relative;line-height:1}
.v2-attr-pill:hover{border-color:var(--ink)!important;transform:translateY(-1px)}
.v2-attr-pill.selected,.v2-attr-pill.active{background:var(--ink)!important;color:#fff!important;border-color:var(--ink)!important;font-weight:700!important}
.v2-attr-pill.oos,.v2-attr-pill.disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through;background:var(--surface-low)!important}
.v2-btn-oos{background:var(--surface-high)!important;color:var(--muted-2)!important;border-color:var(--surface-high)!important;cursor:not-allowed!important;pointer-events:none}
.v2-attr-pill.oos:hover,.v2-attr-pill.disabled:hover{transform:none;border-color:var(--line)!important}
/* Tight grid for many sizes (8+ pills) */
.attribute-swatches,.v2-attr-pills{display:flex!important;flex-wrap:wrap;gap:8px;padding:0;margin:0;list-style:none}
@media(max-width:480px){
    .v2-attr-pill{min-width:54px;min-height:44px;font-size:13px!important;padding:0 14px!important}
}

/* ===== Bootstrap-compatible utility classes (V2 doesn't load plugins.css) ===== */
.d-none{display:none!important}
.d-block{display:block!important}
.d-flex{display:flex!important}
.d-inline{display:inline!important}
.d-inline-block{display:inline-block!important}
.text-center{text-align:center}
.text-left{text-align:left}
.text-right{text-align:right}
.text-danger{color:var(--hot)!important}
.text-success{color:var(--ok)!important}
.text-muted{color:var(--muted-2)!important}
.fw-bold,.fw-700{font-weight:700}
.fw-600{font-weight:600}
.fw-500{font-weight:500}
.mb-0{margin-bottom:0!important}
.mb-1{margin-bottom:.25rem!important}
.mb-2{margin-bottom:.5rem!important}
.mb-3{margin-bottom:1rem!important}
.mb-4{margin-bottom:1.5rem!important}
.mt-1{margin-top:.25rem!important}
.mt-2{margin-top:.5rem!important}
.mt-3{margin-top:1rem!important}
.mt-4{margin-top:1.5rem!important}
.w-100{width:100%!important}
.required{color:var(--hot)}

/* ===== Elegant Checkout V2-skin overrides (preserves all hidden fields + payment SDKs) ===== */
/* Applied when the elegant cart/checkout markup renders inside the V2 layout. */
body #page-content .template-product .page-header,
body #page-content > .template-product { display: none !important; }
body #page-content { background: var(--bg); padding: 24px 0 80px; font-family: var(--sans); }
body #page-content .breadcrumbs { display:flex !important; align-items:center; gap:6px; font-size:12px; color:var(--muted-2); margin-bottom:16px; padding:0 !important; background:transparent; }
body #page-content .breadcrumbs a { color:var(--muted-2); text-decoration:none; }
body #page-content .breadcrumbs a:hover { color:var(--ink); }
body #page-content .breadcrumbs ion-icon { margin:0 4px; }
body #page-content .breadcrumbs .main-title { color:var(--ink); font-weight:700; }
body #page-content > .container-fluid { max-width: 1200px; margin: 0 auto; padding: 0 16px; }
@media(min-width:900px){ body #page-content > .container-fluid { padding: 0 64px; } }
/* Wrap address + items + payment sections in clean V2 cards */
body #page-content .block,
body #page-content .shipping-address,
body #page-content .payment-methods,
body #page-content .cart-info,
body #page-content .order-summary,
body #page-content .promo-code-section { background:#fff !important; border:1px solid var(--line); border-radius:14px; padding:22px; margin-bottom:16px; box-shadow:none; }
body #page-content h3.title,
body #page-content .block h3,
body #page-content .block h4 { font-family:var(--sans); font-size:14px !important; font-weight:800 !important; letter-spacing:.06em; text-transform:uppercase; color:var(--ink) !important; margin-bottom:14px; }
body #page-content h1, body #page-content h2 { font-family:var(--sans); font-weight:800; letter-spacing:-.02em; color:var(--ink); }
/* Address box */
body #page-content .address-book-section .address-box,
body #page-content .address-select-box { background:var(--surface-low); border:1.5px solid var(--line); border-radius:12px; padding:14px; }
body #page-content .address-select-box.active,
body #page-content .address-select-box:hover { border-color:var(--ink); background:#fff; }
body #page-content .address-book-section h5 { font-size:14px; font-weight:700; color:var(--ink); margin-bottom:4px; }
body #page-content .address { color:var(--muted) !important; font-size:13px; line-height:1.6; }
/* Form inputs */
body #page-content input[type="text"],
body #page-content input[type="email"],
body #page-content input[type="tel"],
body #page-content input[type="number"],
body #page-content input[type="password"],
body #page-content textarea,
body #page-content select { font-family:var(--sans) !important; height:46px !important; border:1.5px solid var(--line) !important; border-radius:10px !important; padding:0 14px !important; font-size:14px !important; color:var(--ink-2) !important; box-shadow:none !important; background:#fff !important; outline:none; width:100%; }
body #page-content textarea { height:auto !important; padding:12px 14px !important; min-height:80px; }
body #page-content input:focus,
body #page-content textarea:focus,
body #page-content select:focus { border-color:var(--accent-bright) !important; box-shadow:0 0 0 3px var(--accent-soft) !important; }
/* Radio / payment method tiles */
body #page-content .payment-accordion .form-check,
body #page-content .payment-accordion > div { padding:14px 16px !important; border:1.5px solid var(--line) !important; border-radius:12px !important; margin-bottom:8px !important; background:#fff !important; transition:.15s; }
body #page-content .payment-accordion .form-check:hover { border-color:var(--muted) !important; }
body #page-content .payment-accordion .form-check-input { width:18px !important; height:18px !important; accent-color:var(--ink) !important; }
body #page-content .payment-accordion label { display:flex !important; align-items:center; gap:10px; cursor:pointer; }
body #page-content .payment-image img { max-height:32px !important; width:auto !important; }
/* Order summary */
body #page-content .cart-order-detail { font-family:var(--sans); }
body #page-content .cart-subtotal-title { font-size:13px !important; color:var(--muted) !important; font-weight:500 !important; padding:8px 0 !important; }
body #page-content .cart-subtotal-title strong,
body #page-content .cart-subtotal-title b { color:var(--ink); font-weight:700; }
body #page-content .cart-subtotal-title.fs-6 strong,
body #page-content .cart-subtotal-title.fs-5 b { font-size:16px !important; font-weight:900 !important; color:var(--ink) !important; }
/* Primary CTA */
body #page-content button.btn-primary,
body #page-content button.btn-secondary,
body #page-content button#place_order_btn,
body #page-content a.btn-primary,
body #page-content a.bottom-btn,
body #page-content input[type="submit"].btn,
body #page-content .checkout,
body #page-content .set-address,
body #page-content .set-promo,
body #page-content .apply-coupon-btn { font-family:var(--sans) !important; height:50px !important; padding:0 24px !important; border:none !important; border-radius:9999px !important; background:var(--ink) !important; color:#fff !important; font-size:13px !important; font-weight:800 !important; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; transition:.18s; display:inline-flex; align-items:center; justify-content:center; gap:6px; }
body #page-content button.btn-primary:hover,
body #page-content button#place_order_btn:hover,
body #page-content .checkout:hover { background:var(--accent-bright) !important; color:#fff !important; }
body #page-content .btn-gray,
body #page-content button.btn-secondary { background:#fff !important; color:var(--ink) !important; border:1.5px solid var(--line) !important; }
body #page-content button.btn-close { background:var(--surface-low) !important; border-radius:9999px !important; padding:0 !important; width:34px !important; height:34px !important; opacity:1 !important; }
/* COD/free pills */
body #page-content .text-success { color:var(--ok) !important; }
body #page-content .text-danger { color:var(--hot) !important; }
/* Cart product table (in checkout) */
body #page-content .order-table { border:none !important; }
body #page-content .order-table thead { display:none; }
body #page-content .cart-row { display:flex !important; align-items:center; gap:14px; padding:14px 0 !important; border-bottom:1px solid var(--line); }
body #page-content .cart-row:last-child { border-bottom:none; }
body #page-content .cart-image,
body #page-content .order-image-box img,
body #page-content .all-product-img img { width:70px !important; height:70px !important; object-fit:cover; border-radius:10px; }
body #page-content .name,
body #page-content .proName { font-weight:700; color:var(--ink) !important; font-size:14px !important; }
body #page-content .money { font-weight:800; color:var(--ink); }
/* Promo / coupon */
body #page-content .coupon-box { display:flex !important; gap:8px; align-items:center; }
/* Tooltip + dropdown overrides */
body #page-content .modal-content { border-radius:18px !important; border:1px solid var(--line) !important; }
body #page-content .modal-title { font-family:var(--sans); font-weight:800; letter-spacing:-.01em; }
/* Hide ion-icons that don't render */
body #page-content ion-icon[name="chevron-forward-outline"],
body #page-content ion-icon[name="navigate-circle-outline"] { vertical-align:middle; }
/* Container width for elegant cart */
body #page-content .container-fluid > .row > .col-12 { padding:0; }

/* Same skin for the elegant Cart page if rendered through V2 (defensive) */
body #page-content .cart-page-header { display:none; }

/* ===== MISC / UTILITIES ===== */
@keyframes v2pulse{0%,100%{opacity:1}50%{opacity:.3}}
.v2-shimmer{background:linear-gradient(90deg,var(--surface) 25%,var(--surface-high) 50%,var(--surface) 75%);background-size:200% 100%;animation:v2shimmer 1.4s infinite}
@keyframes v2shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.v2-divider{border:none;border-top:1px solid var(--line);margin:0}
/* Auth */
.v2-auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--surface-low);padding:40px 16px}
.v2-auth-card{background:var(--bg-white);border-radius:var(--radius-xl);padding:40px;width:100%;max-width:440px;box-shadow:0 8px 32px rgba(0,0,0,.08)}
.v2-auth-card h2{font-size:26px;font-weight:900;letter-spacing:-.02em;margin-bottom:6px}
.v2-auth-card p{color:var(--muted-2);font-size:14px;margin-bottom:28px}
/* Form elements */
.v2-input{width:100%;height:48px;padding:0 16px;border:1.5px solid var(--line);border-radius:var(--radius-md);font-size:14px;font-family:inherit;color:var(--ink-2);background:var(--bg-white);outline:none;transition:.15s}
.v2-input:focus{border-color:var(--accent-bright);box-shadow:0 0 0 3px var(--accent-soft)}
.v2-input::placeholder{color:var(--muted-2)}
.v2-label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:6px}
.v2-form-group{margin-bottom:18px}
/* ===== iziToast — suppress native rendering, replaced by #v2-snack ===== */
.iziToast-wrapper{display:none!important}

/* ===== V2 Snackbar — clean bottom-center toast system ===== */
#v2-snack{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:99999;display:flex;flex-direction:column-reverse;align-items:center;gap:8px;pointer-events:none;width:max-content;max-width:calc(100vw - 32px)}
.v2-snack-item{display:inline-flex;align-items:center;gap:10px;padding:13px 20px;border-radius:9999px;font-family:var(--sans);font-size:13.5px;font-weight:600;line-height:1.3;letter-spacing:-.01em;color:#fff;box-shadow:0 6px 24px rgba(0,0,0,.22);pointer-events:auto;opacity:0;transform:translateY(14px) scale(.97);transition:opacity .22s ease,transform .22s ease;max-width:calc(100vw - 32px);text-align:center;cursor:default}
.v2-snack-item.v2-snack-in{opacity:1;transform:translateY(0) scale(1)}
.v2-snack-item.v2-snack-out{opacity:0;transform:translateY(8px) scale(.97)}
.v2-snack-error{background:#1a1a1a}
.v2-snack-success{background:#111}
.v2-snack-warning{background:#1a1a1a}
.v2-snack-info{background:#1a1a1a}
.v2-snack-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.v2-snack-error .v2-snack-dot{background:#ff453a}
.v2-snack-success .v2-snack-dot{background:#30d158}
.v2-snack-warning .v2-snack-dot{background:#ffd60a}
.v2-snack-info .v2-snack-dot{background:#0a84ff}
@media(max-width:600px){#v2-snack{bottom:80px;max-width:calc(100vw - 24px)}.v2-snack-item{font-size:13px;padding:12px 18px}}

/* ===== SweetAlert2 — V2 skin ===== */
.swal2-popup{font-family:var(--sans)!important;border-radius:18px!important;padding:32px!important;box-shadow:0 16px 48px rgba(0,0,0,.15)!important;border:1px solid var(--line)!important}
.swal2-title{font-size:20px!important;font-weight:800!important;letter-spacing:-.02em!important;color:var(--ink)!important;margin-bottom:8px!important;line-height:1.3!important}
.swal2-html-container,.swal2-content{font-size:14px!important;color:var(--muted)!important;line-height:1.6!important;padding:0!important}
.swal2-actions{margin-top:24px!important;gap:8px!important}
.swal2-actions button.swal2-styled{height:46px!important;padding:0 22px!important;border-radius:9999px!important;font-weight:700!important;font-size:12px!important;letter-spacing:.06em!important;text-transform:uppercase!important;box-shadow:none!important;transition:.18s!important;font-family:var(--sans)!important;border:1.5px solid transparent!important}
.swal2-actions button.swal2-confirm{background:var(--ink)!important;color:#fff!important}
.swal2-actions button.swal2-confirm:hover{background:var(--accent-bright)!important}
.swal2-actions button.swal2-deny{background:var(--hot)!important;color:#fff!important}
.swal2-actions button.swal2-cancel{background:transparent!important;color:var(--ink)!important;border-color:var(--line)!important}
.swal2-actions button.swal2-cancel:hover{border-color:var(--ink)!important}
.swal2-icon{margin:0 auto 18px!important;border-color:transparent!important;width:72px!important;height:72px!important}
.swal2-icon.swal2-success [class^=swal2-success-line]{background-color:var(--ok)!important}
.swal2-icon.swal2-success .swal2-success-ring{border-color:rgba(10,161,90,.25)!important}
.swal2-icon.swal2-error{border-color:rgba(255,59,48,.25)!important}
.swal2-icon.swal2-error [class^=swal2-x-mark-line]{background-color:var(--hot)!important}
.swal2-icon.swal2-warning{border-color:#f59e0b!important;color:#f59e0b!important}
.swal2-icon.swal2-info{border-color:var(--accent-bright)!important;color:var(--accent-bright)!important}
.swal2-icon.swal2-question{border-color:var(--muted-2)!important;color:var(--muted-2)!important}
.swal2-input,.swal2-textarea{font-family:var(--sans)!important;border:1.5px solid var(--line)!important;border-radius:10px!important;height:46px!important;padding:0 16px!important;font-size:14px!important;color:var(--ink)!important;box-shadow:none!important;outline:none!important;background:#fff!important}
.swal2-input:focus,.swal2-textarea:focus{border-color:var(--accent-bright)!important;box-shadow:0 0 0 3px var(--accent-soft)!important}
.swal2-textarea{height:auto!important;padding:12px 16px!important;min-height:90px!important}
.swal2-validation-message{background:transparent!important;color:var(--hot)!important;font-size:12px!important;font-weight:600!important;padding:6px 0!important}
.swal2-container{padding:1rem!important}
.swal2-backdrop-show{background:rgba(0,0,0,.5)!important;backdrop-filter:blur(4px)!important;-webkit-backdrop-filter:blur(4px)!important}

/* ===== Status pills (used across orders/tickets/transactions) ===== */
.v2-status-pill{display:inline-block;padding:3px 8px;border-radius:9999px;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:var(--surface-high);color:var(--ink-2);white-space:nowrap}
.v2-status-delivered,.v2-status-completed,.v2-status-success,.v2-status-approved{background:rgba(10,161,90,.12);color:var(--ok)}
.v2-status-shipped,.v2-status-out_for_delivery,.v2-status-outfordelivery,.v2-status-processed,.v2-status-paid{background:#e8efff;color:var(--accent-bright)}
.v2-status-cancelled,.v2-status-returned,.v2-status-rejected,.v2-status-failed,.v2-status-fail{background:#fff0ef;color:var(--hot)}
.v2-status-pending,.v2-status-awaiting,.v2-status-received,.v2-status-open,.v2-status-inprogress{background:#fff7e0;color:#b78103}

/* ===== Skeleton shimmers ===== */
@keyframes v2skel{0%{background-position:200% 0}100%{background-position:-200% 0}}
.v2-skel{background:linear-gradient(90deg,var(--surface) 25%,var(--surface-high) 50%,var(--surface) 75%);background-size:200% 100%;animation:v2skel 1.4s linear infinite;border-radius:8px;display:block}
.v2-skel-img{aspect-ratio:1/1;border-radius:var(--radius-md)}
.v2-skel-line{height:12px;border-radius:6px;margin-bottom:8px}
.v2-skel-line.w-60{width:60%}
.v2-skel-line.w-40{width:40%}
.v2-skel-line.w-80{width:80%}

/* ===== wire:navigate progress bar ===== */
[x-cloak]{display:none!important}
body[data-livewire-navigating="true"]::before{content:"";position:fixed;top:0;left:0;height:3px;width:30%;background:linear-gradient(90deg,var(--accent-bright),var(--accent));z-index:9999;animation:v2nav 1.2s ease-in-out infinite}
@keyframes v2nav{0%{transform:translateX(-100%);width:30%}50%{width:60%}100%{transform:translateX(400%);width:30%}}

/* ===== Form validation states ===== */
.v2-input.is-invalid,.v2-input[aria-invalid="true"]{border-color:var(--hot)!important;background:#fff8f7}
.v2-input.is-invalid:focus{box-shadow:0 0 0 3px rgba(255,59,48,.12)!important}
.v2-input.is-valid{border-color:var(--ok)!important}
.v2-field-help{font-size:11px;color:var(--muted-2);margin-top:4px;line-height:1.4}
.v2-field-help.error{color:var(--hot);font-weight:600}
.v2-field-help.success{color:var(--ok);font-weight:600}

/* ===== Disabled states ===== */
.v2-btn:disabled,.v2-btn[disabled]{opacity:.5!important;cursor:not-allowed!important;pointer-events:none}
.v2-input:disabled,.v2-input[readonly]{background:var(--surface-low);color:var(--muted-2);cursor:not-allowed}

/* ===== Mobile tap highlight kill ===== */
@media(hover:none){
    .v2-btn:hover,.v2-prod-card:hover,.v2-cat-card:hover,.v2-stat-card:hover{transform:none!important;box-shadow:initial!important}
    .v2-prod-card:active{opacity:.85;transform:scale(.98)!important}
    .v2-btn:active{transform:scale(.97)!important}
}
*{-webkit-tap-highlight-color:transparent}

/* ===== Print styles for order/invoice ===== */
@media print{
    body{background:#fff!important;padding:0!important}
    .v2-hdr,.v2-bottom-nav,.v2-pdp-sticky,.v2-foot,.v2-trust,.v2-mob-nav-bar,.v2-mob-search-overlay,.v2-mob-nav,.v2-announce,.v2-seller-banner,.v2-checkout-steps,nav,header,footer,.v2-acc-side{display:none!important}
    .v2-wrap{max-width:100%!important;padding:0 20px!important}
    .v2-acc-grid{grid-template-columns:1fr!important}
    .v2-acc-card{box-shadow:none!important;border:1px solid #ccc!important;break-inside:avoid;page-break-inside:avoid}
    a{color:#000!important;text-decoration:none!important}
    .v2-btn,.v2-viewall,.v2-link-btn{display:none!important}
}
/* Modal / overlay */
.v2-overlay{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:300;display:flex;align-items:flex-end;justify-content:center}
@media(min-width:600px){.v2-overlay{align-items:center}}
.v2-modal{background:#ffffff;border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:28px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.35)}
@media(min-width:600px){.v2-modal{border-radius:var(--radius-xl)}}
body.v2-locked{overflow:hidden}
