/* ══════════════════════════════════════════════
   STALLCART — PREMIUM DESIGN SYSTEM v2
   Fonts: Syne (display) + DM Sans (body)
══════════════════════════════════════════════ */

/* ── RESET ─────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 15px; }

/* ── TOKENS ─────────────────────────────────── */
:root {
    --blue-50:  #EBF3FF;
    --blue-100: #C5DCFF;
    --blue-200: #94BDFF;
    --blue-400: #4B8DFA;
    --blue-500: #2874F0;
    --blue-600: #1A5FD4;
    --blue-700: #1249A8;
    --blue-800: #0C347C;
    --blue-900: #071F50;

    --gray-50:  #F7F9FF;
    --gray-100: #F0F4FB;
    --gray-200: #E2E9F4;
    --gray-300: #C8D3E5;
    --gray-400: #95A5C0;
    --gray-500: #64748B;
    --gray-600: #475569;
    --gray-700: #334155;
    --gray-800: #1E293B;
    --gray-900: #0F172A;

    --red:        #EF4444;
    --red-light:  #FEF2F2;
    --green:      #10B981;
    --green-light:#ECFDF5;
    --amber:      #F59E0B;
    --amber-light:#FFFBEB;
    --white:      #FFFFFF;

    --r-sm:  6px;
    --r-md:  10px;
    --r-lg:  14px;
    --r-xl:  20px;
    --r-2xl: 28px;

    --sh-xs: 0 1px 2px rgba(15,23,42,0.06);
    --sh-sm: 0 2px 8px rgba(15,23,42,0.08);
    --sh-md: 0 4px 16px rgba(15,23,42,0.10);
    --sh-lg: 0 12px 36px rgba(15,23,42,0.12);
    --sh-xl: 0 24px 64px rgba(15,23,42,0.15);
    --sh-blue: 0 4px 20px rgba(40,116,240,0.3);

    --tr: 0.2s ease;
    --tr-bounce: 0.35s cubic-bezier(.34,1.56,.64,1);
}

/* Enforce Premium Google Font 'Plus Jakarta Sans' across the entire platform */
body, button, input, select, textarea, p, span, a, div, li, td, th, label, h1, h2, h3, h4, h5, h6 {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
}

code, pre, kbd, samp, .otp-code, .monospace-text {
    font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, monospace !important;
}

html, body {
    overflow-x: hidden;
    width: 100%;
}
body {
    font-size: 15px;
    line-height: 1.65;
    color: var(--gray-800);
    background: var(--gray-50);
    -webkit-font-smoothing: antialiased;
    padding-bottom: 64px; /* room for bottom nav on mobile */
}
@media (min-width: 768px) { body { padding-bottom: 0; } }

a { text-decoration: none; color: var(--blue-500); transition: color var(--tr); }
a:hover { color: var(--blue-700); }
img { max-width: 100%; height: auto; display: block; }
button { cursor: pointer; }

h1 { font-size: clamp(1.25rem, 3vw, 1.6rem); font-weight: 800; line-height: 1.15; }
h2 { font-size: clamp(1.15rem, 2.5vw, 1.35rem); font-weight: 700; line-height: 1.25; }
h3 { font-size: clamp(0.95rem, 2vw, 1.15rem); font-weight: 700; line-height: 1.3; }
h4 { font-size: 1rem; font-weight: 600; }

.container { max-width: 1280px; margin: 0 auto; padding: 0 16px; }
@media (min-width: 640px)  { .container { padding: 0 24px; } }
@media (min-width: 1024px) { .container { padding: 0 40px; } }

.hide-mobile { display: none; }
@media (min-width: 768px) { .hide-mobile { display: inline; } }

/* ══════════════════════════════════════════════
   ANNOUNCEMENT BAR
══════════════════════════════════════════════ */
.announcement-bar {
    background: linear-gradient(90deg, var(--blue-800) 0%, var(--blue-600) 100%);
    color: rgba(255,255,255,0.92);
    font-size: 0.78rem;
    font-weight: 500;
    padding: 8px 16px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    letter-spacing: 0.01em;
}
.announcement-inner { flex: 1; text-align: center; }
.announcement-inner i { margin-right: 4px; color: rgba(255,255,255,0.7); }
.announcement-close {
    background: none;
    border: none;
    color: rgba(255,255,255,0.6);
    font-size: 0.85rem;
    padding: 2px 4px;
    transition: color var(--tr);
    flex-shrink: 0;
}
.announcement-close:hover { color: #fff; }

/* ══════════════════════════════════════════════
   NAVBAR
══════════════════════════════════════════════ */
.navbar {
    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--gray-200);
    position: sticky;
    top: 0;
    z-index: 1000;
    transition: box-shadow var(--tr);
}
.navbar.scrolled {
    box-shadow: var(--sh-md);
}

.nav-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 16px;
    height: 62px;
    display: flex;
    align-items: center;
    gap: 10px;
}
@media (min-width: 640px) { .nav-container { padding: 0 24px; gap: 16px; } }

/* Logo */
.logo { display: flex; align-items: center; flex-shrink: 0; }
.logo img { height: 36px; width: auto; max-width: 140px; object-fit: contain; }
.logo-text {
    font-family: 'Syne', sans-serif;
    font-size: 1.4rem;
    font-weight: 800;
    color: var(--gray-900);
    letter-spacing: -0.5px;
    white-space: nowrap;
}
.logo-accent { color: var(--blue-500); }

/* Search */
.nav-search { flex: 1; max-width: 540px; display: none; }
@media (min-width: 640px) { .nav-search { display: block; } }

.search-form {
    display: flex;
    align-items: center;
    background: var(--gray-50);
    border: 1.5px solid var(--gray-200);
    border-radius: var(--r-xl);
    padding: 0 6px 0 14px;
    transition: all var(--tr);
    position: relative;
}
.search-form:focus-within {
    background: var(--white);
    border-color: var(--blue-400);
    box-shadow: 0 0 0 3px rgba(40,116,240,0.1);
}
.search-icon { color: var(--gray-400); font-size: 0.9rem; flex-shrink: 0; }
.search-form input {
    flex: 1;
    border: none;
    background: none;
    padding: 8px 10px;
    font-size: 0.9rem;
    font-family: inherit;
    color: var(--gray-800);
    outline: none;
    min-width: 0;
}
.search-form input::placeholder { color: var(--gray-400); }
.search-btn {
    background: var(--blue-500);
    color: #fff;
    border: none;
    border-radius: var(--r-lg);
    padding: 7px 16px;
    font-size: 0.82rem;
    font-weight: 600;
    font-family: inherit;
    transition: background var(--tr);
    white-space: nowrap;
}
.search-btn:hover { background: var(--blue-600); }

/* Nav actions */
.nav-actions {
    display: flex;
    align-items: center;
    gap: 2px;
    margin-left: auto;
}

.nav-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 10px;
    border-radius: var(--r-md);
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--gray-600);
    border: none;
    background: none;
    transition: all var(--tr);
    white-space: nowrap;
    text-decoration: none;
}
.nav-link i { font-size: 1rem; }
.nav-link:hover, .nav-link.active {
    background: var(--blue-50);
    color: var(--blue-600);
}
.nav-icon-btn { padding: 8px; position: relative; }

/* User avatar */
.user-avatar-sm {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--blue-500);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* Dropdown */
.nav-dropdown { position: relative; }
.dropdown-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: var(--r-md);
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--gray-700);
    background: none;
    border: none;
    transition: all var(--tr);
}
.dropdown-toggle:hover { background: var(--gray-100); }
.chevron-icon { font-size: 0.65rem; color: var(--gray-400); transition: transform var(--tr); }
.nav-dropdown:hover .chevron-icon { transform: rotate(180deg); }

.dropdown-menu {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    background: var(--white);
    min-width: 220px;
    border-radius: var(--r-xl);
    box-shadow: var(--sh-xl);
    border: 1px solid var(--gray-200);
    padding: 8px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px) scale(0.96);
    transform-origin: top right;
    transition: all 0.2s cubic-bezier(0.4,0,0.2,1);
    z-index: 200;
}
.nav-dropdown:hover .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}

.dropdown-user-info {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 10px 12px;
}
.dropdown-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--blue-500), var(--blue-700));
    color: #fff;
    font-size: 0.85rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.dropdown-name { font-size: 0.875rem; font-weight: 700; color: var(--gray-800); }
.dropdown-role { font-size: 0.75rem; color: var(--gray-500); }

.dropdown-divider { height: 1px; background: var(--gray-100); margin: 4px 0; }

.dropdown-menu a,
.dropdown-menu .logout-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 9px 12px;
    border-radius: var(--r-md);
    color: var(--gray-700);
    font-size: 0.875rem;
    font-weight: 500;
    border: none;
    background: none;
    text-align: left;
    text-decoration: none;
    transition: all var(--tr);
}
.dropdown-menu a:hover,
.dropdown-menu .logout-btn:hover {
    background: var(--blue-50);
    color: var(--blue-600);
}
.logout-btn:hover { background: var(--red-light) !important; color: var(--red) !important; }
.dropdown-menu i { font-size: 1rem; color: var(--gray-400); }
.dropdown-menu a:hover i { color: var(--blue-400); }

/* Cart badge */
.cart-badge {
    position: absolute;
    top: 1px;
    right: 1px;
    background: var(--red);
    color: #fff;
    font-size: 0.62rem;
    font-weight: 700;
    min-width: 16px;
    height: 16px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 3px;
    border: 2px solid var(--white);
    transition: transform 0.2s var(--tr-bounce);
}
.wishlist-badge { background: #e53935; }

/* Login button */
.btn-login-nav {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: var(--blue-500);
    color: #fff;
    border: none;
    border-radius: var(--r-lg);
    font-size: 0.875rem;
    font-weight: 700;
    font-family: inherit;
    transition: all var(--tr);
    white-space: nowrap;
}
.btn-login-nav:hover {
    background: var(--blue-600);
    transform: translateY(-1px);
    box-shadow: var(--sh-blue);
}

/* Hamburger */
.mobile-menu-btn {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 38px;
    height: 38px;
    background: var(--gray-100);
    border: none;
    border-radius: var(--r-md);
    padding: 8px;
    margin-left: auto;
    flex-shrink: 0;
    transition: all var(--tr);
}
.mobile-menu-btn:hover { background: var(--blue-50); }
.hamburger-line {
    display: block;
    width: 100%;
    height: 2px;
    background: var(--gray-600);
    border-radius: 2px;
    transition: all var(--tr);
}
.mobile-menu-btn:hover .hamburger-line { background: var(--blue-600); }
@media (min-width: 768px) { .mobile-menu-btn { display: none; } }

/* ══════════════════════════════════════════════
   MOBILE DRAWER
══════════════════════════════════════════════ */
.mobile-nav {
    position: fixed;
    top: 0;
    right: 0;
    width: 300px;
    max-width: 85vw;
    height: 100dvh;
    background: var(--white);
    box-shadow: -8px 0 40px rgba(15,23,42,0.15);
    transform: translateX(100%);
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 1200;
    overflow-y: auto;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
    will-change: transform;
}
.mobile-nav.open { transform: translateX(0); }

.mobile-nav-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 20px;
    background: var(--gray-900);
    flex-shrink: 0;
}
.mobile-logo {
    font-family: 'Syne', sans-serif;
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--white);
}
.mobile-nav-close {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: var(--r-sm);
    color: rgba(255,255,255,0.8);
    font-size: 0.9rem;
    transition: all var(--tr);
}
.mobile-nav-close:hover { background: rgba(239,68,68,0.2); color: #fff; }

.mobile-nav-content {
    padding: 16px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.mobile-search-form { margin-bottom: 12px; }
.mobile-search-wrap {
    display: flex;
    align-items: center;
    background: var(--gray-50);
    border: 1.5px solid var(--gray-200);
    border-radius: var(--r-lg);
    padding: 0 6px 0 12px;
    gap: 8px;
    transition: all var(--tr);
}
.mobile-search-wrap:focus-within {
    border-color: var(--blue-400);
    box-shadow: 0 0 0 3px rgba(40,116,240,0.1);
}
.mobile-search-wrap i { color: var(--gray-400); font-size: 0.85rem; }
.mobile-search-wrap input {
    flex: 1;
    border: none;
    background: none;
    padding: 10px 4px;
    font-size: 0.9rem;
    font-family: inherit;
    color: var(--gray-800);
    outline: none;
}
.mobile-search-wrap button {
    background: var(--blue-500);
    color: #fff;
    border: none;
    border-radius: var(--r-md);
    padding: 6px 12px;
    font-size: 0.8rem;
    font-weight: 600;
    font-family: inherit;
}

.mobile-user-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    background: linear-gradient(135deg, var(--blue-50), var(--blue-100));
    border-radius: var(--r-lg);
    margin-bottom: 8px;
    border: 1px solid var(--blue-200);
}
.mobile-user-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--blue-500), var(--blue-700));
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.mobile-user-name { font-size: 0.9rem; font-weight: 700; color: var(--blue-800); }
.mobile-user-role { font-size: 0.75rem; color: var(--blue-600); }

.mobile-login-btn {
    width: 100%;
    padding: 12px;
    background: var(--blue-500);
    color: #fff;
    border: none;
    border-radius: var(--r-lg);
    font-size: 0.9rem;
    font-weight: 700;
    font-family: inherit;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-bottom: 8px;
    transition: all var(--tr);
}
.mobile-login-btn:hover { background: var(--blue-600); }

.mobile-nav-section-label {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--gray-400);
    padding: 10px 14px 4px;
}

.mobile-nav-item {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 11px 14px;
    border-radius: var(--r-md);
    color: var(--gray-700);
    font-size: 0.9rem;
    font-weight: 500;
    border: none;
    background: none;
    text-decoration: none;
    transition: all var(--tr);
    text-align: left;
}
.mobile-nav-item:hover {
    background: var(--blue-50);
    color: var(--blue-600);
}
.mobile-nav-icon {
    width: 34px;
    height: 34px;
    border-radius: var(--r-md);
    background: var(--gray-100);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
    color: var(--gray-500);
    flex-shrink: 0;
    transition: all var(--tr);
}
.mobile-nav-item:hover .mobile-nav-icon {
    background: var(--blue-100);
    color: var(--blue-600);
}

.mobile-badge {
    margin-left: auto;
    background: var(--red);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    min-width: 20px;
    height: 20px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 5px;
}
.wishlist-m-badge { background: #e53935; }

.mobile-logout { color: var(--red) !important; }
.mobile-logout .mobile-nav-icon { color: var(--red); }
.mobile-logout:hover { background: var(--red-light) !important; }

.mobile-nav-divider { height: 1px; background: var(--gray-100); margin: 8px 0; }

.mobile-overlay {
    position: fixed;
    inset: 0;
    background: rgba(15,23,42,0.4);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    z-index: 1190;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s ease, visibility 0.25s ease;
    will-change: opacity, visibility;
}
.mobile-overlay.show { opacity: 1; visibility: visible; }

/* ══════════════════════════════════════════════
   BOTTOM NAV (Mobile)
══════════════════════════════════════════════ */
.bottom-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--white);
    border-top: 1px solid var(--gray-200);
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 6px 0 max(6px, env(safe-area-inset-bottom));
    z-index: 999;
    box-shadow: 0 -4px 20px rgba(15,23,42,0.08);
}
@media (min-width: 768px) { .bottom-nav { display: none; } }

.bottom-nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    padding: 4px 16px;
    color: var(--gray-500);
    font-size: 0.62rem;
    font-weight: 600;
    text-decoration: none;
    border: none;
    background: none;
    font-family: inherit;
    position: relative;
    transition: color var(--tr);
    letter-spacing: 0.02em;
}
.bottom-nav-item i { font-size: 1.2rem; transition: transform var(--tr-bounce); }
.bottom-nav-item:hover, .bottom-nav-item.active { color: var(--blue-500); }
.bottom-nav-item:hover i, .bottom-nav-item.active i { transform: translateY(-2px); }
.bottom-nav-badge {
    position: absolute;
    top: 2px;
    right: 8px;
    background: var(--red);
    color: #fff;
    font-size: 0.58rem;
    font-weight: 700;
    min-width: 15px;
    height: 15px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 3px;
    border: 1.5px solid var(--white);
}

/* ══════════════════════════════════════════════
   HERO
══════════════════════════════════════════════ */
.hero {
    background: var(--gray-900);
    position: relative;
    overflow: hidden;
    padding: clamp(52px, 10vw, 96px) 16px clamp(72px, 12vw, 120px);
    text-align: center;
    color: var(--white);
}

/* Animated grid background */
.hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(40,116,240,0.12) 1px, transparent 1px),
        linear-gradient(90deg, rgba(40,116,240,0.12) 1px, transparent 1px);
    background-size: 48px 48px;
    pointer-events: none;
}
/* Blue glow blobs */
.hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 60% 50% at 20% 40%, rgba(40,116,240,0.25) 0%, transparent 70%),
        radial-gradient(ellipse 40% 40% at 80% 60%, rgba(75,141,250,0.2) 0%, transparent 70%);
    pointer-events: none;
}

/* Wave bottom */
.hero-wave {
    position: absolute;
    bottom: -2px;
    left: 0;
    right: 0;
    height: 60px;
    overflow: hidden;
}
.hero-wave svg { display: block; width: 100%; height: 100%; }

.hero-content {
    position: relative;
    z-index: 1;
    max-width: 720px;
    margin: 0 auto;
}

.hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(40,116,240,0.15);
    border: 1px solid rgba(40,116,240,0.35);
    border-radius: 20px;
    padding: 6px 16px;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--blue-200);
    margin-bottom: 20px;
}

.hero h1 {
    color: var(--white);
    margin-bottom: 12px;
    text-shadow: 0 2px 20px rgba(0,0,0,0.3);
}
.hero h1 .accent { color: var(--blue-400); }

.hero-subtitle {
    font-size: clamp(0.95rem, 2.5vw, 1.15rem);
    color: rgba(255,255,255,0.7);
    margin-bottom: 32px;
    max-width: 540px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.65;
}

.hero-actions {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 48px;
}

.btn-hero-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 13px 28px;
    background: var(--blue-500);
    color: #fff;
    font-size: 0.95rem;
    font-weight: 700;
    border-radius: var(--r-xl);
    border: none;
    transition: all var(--tr);
    box-shadow: 0 4px 20px rgba(40,116,240,0.4);
    text-decoration: none;
}
.btn-hero-primary:hover {
    background: var(--blue-400);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(40,116,240,0.5);
}

.btn-hero-secondary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 13px 24px;
    background: rgba(255,255,255,0.08);
    color: rgba(255,255,255,0.9);
    font-size: 0.95rem;
    font-weight: 600;
    border-radius: var(--r-xl);
    border: 1px solid rgba(255,255,255,0.2);
    transition: all var(--tr);
    text-decoration: none;
}
.btn-hero-secondary:hover {
    background: rgba(255,255,255,0.15);
    color: #fff;
    transform: translateY(-2px);
}

.hero-stats {
    display: flex;
    justify-content: center;
    gap: clamp(24px, 5vw, 56px);
    flex-wrap: wrap;
}
.hero-stat { text-align: center; }
.hero-stat-num {
    display: block;
    font-family: 'Syne', sans-serif;
    font-size: clamp(1.4rem, 3vw, 1.8rem);
    font-weight: 800;
    color: var(--white);
    line-height: 1.1;
}
.hero-stat-label {
    font-size: 0.75rem;
    color: rgba(255,255,255,0.55);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

/* Feature strip */
.feature-strip {
    background: var(--blue-500);
    padding: 12px 0;
    overflow: hidden;
}
.feature-strip-track {
    display: flex;
    justify-content: center;
    gap: clamp(20px, 5vw, 60px);
    flex-wrap: wrap;
}
.feature-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.82rem;
    font-weight: 600;
    color: rgba(255,255,255,0.9);
    white-space: nowrap;
}
.feature-item i { color: rgba(255,255,255,0.7); }

/* ══════════════════════════════════════════════
   SECTION UTILS
══════════════════════════════════════════════ */
.section-wrap { padding: clamp(32px, 5vw, 56px) 0; }

.section-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 24px;
    flex-wrap: wrap;
}
.section-title {
    font-family: 'Syne', sans-serif;
    font-size: clamp(1.05rem, 2.5vw, 1.3rem);
    font-weight: 800;
    color: var(--gray-900);
    letter-spacing: -0.3px;
}
.section-title .accent { color: var(--blue-500); }
.section-subtitle { font-size: 0.85rem; color: var(--gray-500); margin-top: 3px; }

.view-all {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--blue-500);
    white-space: nowrap;
    transition: all var(--tr);
}
.view-all:hover { color: var(--blue-700); gap: 8px; }
.view-all i { font-size: 0.75rem; }

/* ══════════════════════════════════════════════
   COLLECTIONS
══════════════════════════════════════════════ */
.collections-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}
@media (min-width: 480px) { .collections-grid { grid-template-columns: repeat(5, 1fr); } }
@media (min-width: 640px) { .collections-grid { grid-template-columns: repeat(6, 1fr); gap: 14px; } }
@media (min-width: 900px) { .collections-grid { grid-template-columns: repeat(8, 1fr); } }

.collection-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 10px 4px;
    background: transparent;
    border: none;
    text-decoration: none;
    color: var(--gray-700);
    transition: all var(--tr);
}
.collection-card:hover {
    background: transparent;
    border-color: transparent;
    color: var(--blue-600);
    transform: translateY(-4px);
    box-shadow: none;
}
.collection-circle {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.05);
    transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    position: relative;
    overflow: hidden;
}
@media (min-width: 640px) {
    .collection-circle {
        width: 76px;
        height: 76px;
    }
}
.collection-card:hover .collection-circle {
    transform: scale(1.08);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.12);
}

/* pastels & harmonious gradients */
.collection-circle.cat-clothing, .collection-circle.cat-cloth, .collection-circle.cat-women, .collection-circle.cat-clothes {
    background: linear-gradient(135deg, #fecdd3 0%, #fda4af 100%);
}
.collection-circle.cat-men {
    background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
}
.collection-circle.cat-footwear, .collection-circle.cat-shoes {
    background: linear-gradient(135deg, #e0f2fe 0%, #bae6fd 100%);
}
.collection-circle.cat-jewellery, .collection-circle.cat-jewelry, .collection-circle.cat-jewel {
    background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
}
.collection-circle.cat-furniture {
    background: linear-gradient(135deg, #ffedd5 0%, #fed7aa 100%);
}
.collection-circle.cat-beauty, .collection-circle.cat-cosmetics {
    background: linear-gradient(135deg, #fce7f3 0%, #fbcfe8 100%);
}
.collection-circle.cat-sports, .collection-circle.cat-sport {
    background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%);
}
.collection-circle.cat-books, .collection-circle.cat-book {
    background: linear-gradient(135deg, #e0e7ff 0%, #c7d2fe 100%);
}
.collection-circle.cat-kids, .collection-circle.cat-toys, .collection-circle.cat-toy {
    background: linear-gradient(135deg, #fae8ff 0%, #f5d0fe 100%);
}
.collection-circle.cat-other {
    background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
}

.collection-emoji {
    font-size: 1.6rem;
    line-height: 1;
    display: block;
    transition: transform var(--tr-bounce);
}
@media (min-width: 640px) {
    .collection-emoji {
        font-size: 1.85rem;
    }
}
.collection-card:hover .collection-emoji { transform: scale(1.15) rotate(-5deg); }
.collection-name {
    font-size: 0.74rem;
    font-weight: 600;
    text-align: center;
    line-height: 1.25;
}

/* ══════════════════════════════════════════════
   PRODUCT GRID
══════════════════════════════════════════════ */
.filter-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}
.filter-controls { display: flex; gap: 8px; flex-wrap: wrap; }
.form-select-sm {
    padding: 8px 32px 8px 12px;
    border: 1.5px solid var(--gray-200);
    border-radius: var(--r-lg);
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--gray-700);
    background: var(--white);
    transition: border-color var(--tr);
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394A5C0' stroke-width='2.5'%3E%3Cpolyline points='6,9 12,15 18,9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    cursor: pointer;
}
.form-select-sm:focus { outline: none; border-color: var(--blue-400); box-shadow: 0 0 0 3px rgba(40,116,240,0.1); }

.product-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}
@media (min-width: 480px) { .product-grid { gap: 14px; } }
@media (min-width: 640px) { .product-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 900px) { .product-grid { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1200px) { .product-grid { grid-template-columns: repeat(5, 1fr); } }

/* Product Card */
.product-card {
    background: var(--white);
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid var(--gray-100);
    box-shadow: 0 4px 15px rgba(15, 23, 42, 0.02);
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
}
.product-card:hover {
    border-color: var(--blue-100);
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
    transform: translateY(-5px);
}

.img-wrap {
    position: relative;
    overflow: hidden;
    background: var(--gray-50);
    aspect-ratio: 3/4;
    flex-shrink: 0;
}
.img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.product-card:hover .img-wrap img { transform: scale(1.06); }

.no-img {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 6px;
    color: var(--gray-300);
    font-size: 0.8rem;
}
.no-img i { font-size: 2rem; }

/* Floating wishlist button */
.float-wishlist {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.75);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: var(--gray-500);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    cursor: pointer;
    transition: all 0.25s ease;
    z-index: 5;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
    padding: 0;
}
.float-wishlist:hover {
    transform: scale(1.1);
    background: #fff;
    color: #ef4444;
}
.float-wishlist.active {
    background: #fff;
    color: #ef4444;
    border-color: rgba(239, 68, 68, 0.2);
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.15);
}

/* Floating Share Button on image (top left) */
.float-share {
    position: absolute;
    top: 12px;
    left: 12px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.75);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: var(--gray-500);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
    cursor: pointer;
    transition: all 0.25s ease;
    z-index: 5;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
    padding: 0;
}
.float-share:hover {
    transform: scale(1.1);
    background: #fff;
    color: var(--blue-600);
}

/* Product badges */
.badge-gender, .badge-discount, .badge-hot {
    position: absolute;
    font-size: 0.65rem;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 6px;
    line-height: 1.2;
    z-index: 2;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.12);
    display: inline-flex;
    align-items: center;
    gap: 3px;
    pointer-events: none;
    max-width: calc(100% - 20px);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.badge-hot {
    top: 10px;
    left: 10px;
    bottom: auto;
    right: auto;
    background: linear-gradient(135deg, #f59e0b, #ef4444);
    color: #ffffff;
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.35);
}
.badge-gender {
    bottom: 10px;
    left: 10px;
    top: auto;
    right: auto;
    background: rgba(15, 23, 42, 0.82);
    color: #ffffff;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.18);
}
.badge-discount {
    bottom: 10px;
    right: 10px;
    top: auto;
    left: auto;
    background: #ef4444;
    color: #ffffff;
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.3);
}

.image-badges .badge, .related-badges .badge {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
}

.out-of-stock-overlay {
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,0.85);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    color: var(--red);
    font-size: 0.82rem;
    z-index: 2;
    backdrop-filter: blur(2px);
}

.product-info {
    padding: 16px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.product-name {
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.4;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    color: var(--gray-800);
}
.product-name a { color: inherit; text-decoration: none; }
.product-name a:hover { color: var(--blue-500); }
.product-seller { font-size: 0.74rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; color: var(--gray-400); }

.price-row {
    display: flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 2px;
}
.price-current {
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--gray-900);
}
.price-mrp {
    font-size: 0.85rem;
    color: var(--gray-400);
    text-decoration: line-through;
}
.price-off {
    background: #fef2f2;
    color: #ef4444;
    border: 1px solid rgba(239, 68, 68, 0.15);
    font-size: 0.7rem;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 6px;
}

.low-stock-tag {
    font-size: 0.72rem;
    color: var(--red);
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 3px;
}

.btn-view {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    padding: 12px;
    background: var(--blue-50);
    color: var(--blue-600);
    border: none;
    border-top: 1px solid var(--gray-100);
    border-radius: 0 0 16px 16px;
    font-size: 0.85rem;
    font-weight: 700;
    font-family: inherit;
    transition: all var(--tr);
    text-decoration: none;
    margin: 0;
}
.btn-view:hover {
    background: var(--blue-500);
    color: #fff;
    border-color: var(--blue-500);
}

.btn-share {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    padding: 8px;
    background: transparent;
    color: var(--gray-500);
    border: 1.5px solid var(--gray-200);
    border-radius: var(--r-md);
    font-size: 0.78rem;
    font-weight: 600;
    font-family: inherit;
    transition: all var(--tr);
    margin-top: 4px;
}
.btn-share:hover {
    background: var(--gray-100);
    color: var(--gray-700);
    border-color: var(--gray-300);
}

/* Empty State */
.empty-state {
    grid-column: 1/-1;
    text-align: center;
    padding: 72px 20px;
    color: var(--gray-500);
}
.empty-state-icon {
    font-size: 3.5rem;
    color: var(--gray-200);
    margin-bottom: 16px;
}
.empty-state h3 { color: var(--gray-700); margin-bottom: 8px; }
.empty-state p { font-size: 0.9rem; margin-bottom: 20px; }

/* ══════════════════════════════════════════════
   DEALS CAROUSEL
══════════════════════════════════════════════ */
.deals-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}
.deals-timer {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: var(--red);
    color: #fff;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    animation: timerPulse 2s infinite;
}
@keyframes timerPulse { 0%,100% { opacity:1; } 50% { opacity:0.75; } }

.deals-scroll {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding: 4px 0 16px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: var(--gray-200) transparent;
}
.deals-scroll::-webkit-scrollbar { height: 3px; }
.deals-scroll::-webkit-scrollbar-track { background: transparent; }
.deals-scroll::-webkit-scrollbar-thumb { background: var(--gray-200); border-radius: 2px; }

.deal-card {
    background: var(--white);
    border-radius: var(--r-xl);
    overflow: hidden;
    border: 1.5px solid var(--gray-100);
    min-width: clamp(148px, 40vw, 190px);
    max-width: 190px;
    scroll-snap-align: start;
    flex-shrink: 0;
    transition: all var(--tr);
}
.deal-card:hover {
    border-color: var(--blue-200);
    box-shadow: var(--sh-md);
    transform: translateY(-3px);
}
.deal-card-img {
    position: relative;
    aspect-ratio: 1;
    overflow: hidden;
    background: var(--gray-50);
}
.deal-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.deal-card-body { padding: 10px; }
.deal-card-name {
    font-size: 0.82rem;
    font-weight: 600;
    margin-bottom: 6px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    line-height: 1.3;
}

.btn-quick-add {
    width: 100%;
    padding: 8px;
    background: var(--blue-50);
    color: var(--blue-600);
    border: 1.5px solid var(--blue-200);
    border-radius: var(--r-sm);
    font-size: 0.78rem;
    font-weight: 700;
    font-family: inherit;
    transition: all var(--tr);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}
.btn-quick-add:hover { background: var(--blue-500); color: #fff; border-color: var(--blue-500); }
.btn-quick-add:disabled { background: var(--gray-100); color: var(--gray-400); border-color: var(--gray-200); cursor: not-allowed; }

/* ══════════════════════════════════════════════
   WHY CHOOSE US
══════════════════════════════════════════════ */
.trust-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}
@media (min-width: 640px) { .trust-grid { grid-template-columns: repeat(4, 1fr); gap: 16px; } }

.trust-card {
    background: var(--white);
    border-radius: var(--r-xl);
    padding: 24px 16px;
    text-align: center;
    border: 1.5px solid var(--gray-100);
    transition: all var(--tr);
}
.trust-card:hover {
    border-color: var(--blue-200);
    box-shadow: var(--sh-md);
    transform: translateY(-4px);
}
.trust-emoji { font-size: 2.2rem; display: block; margin-bottom: 10px; }
.trust-card h4 { color: var(--blue-700); margin-bottom: 4px; font-size: 0.95rem; }
.trust-card p { font-size: 0.8rem; color: var(--gray-500); line-height: 1.5; }

/* ══════════════════════════════════════════════
   LOGIN MODAL
══════════════════════════════════════════════ */
.modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(10,20,50,0.65);
    backdrop-filter: blur(6px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1500;
    padding: 16px;
    opacity: 0;
    visibility: hidden;
    transition: all 0.25s ease;
}
.modal-overlay.show { opacity: 1; visibility: visible; }

.modal-sheet {
    background: var(--white);
    border-radius: var(--r-2xl);
    width: 100%;
    max-width: 420px;
    max-height: 92vh;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    box-shadow: var(--sh-xl);
    transform: scale(0.93) translateY(16px);
    transition: transform 0.3s cubic-bezier(0.34,1.56,0.64,1);
}
.modal-overlay.show .modal-sheet { transform: scale(1) translateY(0); }

.modal-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 24px 24px 20px;
    border-bottom: 1px solid var(--gray-100);
}
.modal-brand { display: flex; align-items: center; gap: 12px; }
.modal-brand-icon {
    width: 44px;
    height: 44px;
    border-radius: var(--r-lg);
    background: linear-gradient(135deg, var(--blue-500), var(--blue-700));
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1.1rem;
    flex-shrink: 0;
}
.modal-brand h3 { font-size: 1.1rem; font-weight: 700; color: var(--gray-900); margin: 0 0 2px; }
.modal-brand p { font-size: 0.8rem; color: var(--gray-500); margin: 0; }
.modal-x {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1.5px solid var(--gray-200);
    border-radius: var(--r-md);
    background: none;
    color: var(--gray-500);
    font-size: 0.875rem;
    flex-shrink: 0;
    transition: all var(--tr);
}
.modal-x:hover { background: var(--red-light); border-color: var(--red); color: var(--red); }

.modal-body { padding: 24px; }

/* Field styles */
.field-group { margin-bottom: 16px; }
.field-label {
    display: block;
    font-size: 0.84rem;
    font-weight: 600;
    color: var(--gray-700);
    margin-bottom: 6px;
}
.field-wrap {
    display: flex;
    align-items: center;
    border: 1.5px solid var(--gray-200);
    border-radius: var(--r-md);
    overflow: hidden;
    background: var(--white);
    transition: all var(--tr);
}
.field-wrap:focus-within {
    border-color: var(--blue-400);
    box-shadow: 0 0 0 3px rgba(40,116,240,0.1);
}
.field-prefix {
    padding: 0 12px;
    color: var(--gray-400);
    font-size: 0.9rem;
    display: flex;
    align-items: center;
    border-right: 1.5px solid var(--gray-100);
    height: 42px;
    background: var(--gray-50);
}
.field-input {
    flex: 1;
    border: none;
    padding: 10px 12px;
    font-size: 0.9rem;
    font-family: inherit;
    color: var(--gray-800);
    background: transparent;
    outline: none;
    min-width: 0;
}
.field-input::placeholder { color: var(--gray-400); }
.field-eye {
    padding: 0 12px;
    background: none;
    border: none;
    color: var(--gray-400);
    font-size: 0.9rem;
    display: flex;
    align-items: center;
    height: 42px;
    transition: color var(--tr);
}
.field-eye:hover { color: var(--blue-500); }

.field-error {
    font-size: 0.78rem;
    color: var(--red);
    margin-top: 4px;
    display: flex;
    align-items: center;
    gap: 4px;
}
.forgot-link {
    display: block;
    text-align: right;
    font-size: 0.8rem;
    color: var(--blue-500);
    font-weight: 600;
    margin-top: 5px;
    transition: color var(--tr);
}
.forgot-link:hover { color: var(--blue-700); text-decoration: underline; }

.form-error-box {
    background: var(--red-light);
    border: 1px solid rgba(239,68,68,0.2);
    color: var(--red);
    padding: 10px 14px;
    border-radius: var(--r-md);
    font-size: 0.875rem;
    margin-bottom: 14px;
}
.btn-submit {
    width: 100%;
    padding: 12px;
    background: var(--blue-500);
    color: #fff;
    border: none;
    border-radius: var(--r-lg);
    font-size: 0.95rem;
    font-weight: 700;
    font-family: inherit;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all var(--tr);
    margin-top: 4px;
}
.btn-submit:hover { background: var(--blue-600); box-shadow: var(--sh-blue); transform: translateY(-1px); }
.btn-submit:disabled { opacity: 0.65; cursor: not-allowed; transform: none; }

.modal-foot {
    padding: 16px 24px;
    border-top: 1px solid var(--gray-100);
    background: var(--gray-50);
    text-align: center;
    font-size: 0.875rem;
    color: var(--gray-500);
    border-radius: 0 0 var(--r-2xl) var(--r-2xl);
}
.modal-foot a { color: var(--blue-500); font-weight: 700; }
.modal-foot a:hover { color: var(--blue-700); }

/* Mobile modal slide up */
@media (max-width: 480px) {
    .modal-overlay { padding: 0; align-items: flex-end; }
    .modal-sheet {
        max-width: 100%;
        border-radius: var(--r-2xl) var(--r-2xl) 0 0;
        max-height: 95dvh;
    }
}

/* ══════════════════════════════════════════════
   FORMS (General)
══════════════════════════════════════════════ */
.form-group { margin-bottom: 16px; }
.form-label {
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--gray-700);
    margin-bottom: 6px;
}
.form-input {
    width: 100%;
    padding: 10px 14px;
    border: 1.5px solid var(--gray-200);
    border-radius: var(--r-md);
    font-size: 0.9rem;
    color: var(--gray-800);
    background: var(--white);
    transition: all var(--tr);
    font-family: inherit;
}
.form-input:focus {
    outline: none;
    border-color: var(--blue-400);
    box-shadow: 0 0 0 3px rgba(40,116,240,0.1);
}
.form-input::placeholder { color: var(--gray-400); }
.form-input.error { border-color: var(--red); }

.btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 11px 20px;
    background: var(--blue-500);
    color: #fff;
    border: none;
    border-radius: var(--r-md);
    font-size: 0.9rem;
    font-weight: 700;
    font-family: inherit;
    transition: all var(--tr);
    cursor: pointer;
}
.btn-primary:hover { background: var(--blue-600); box-shadow: var(--sh-blue); transform: translateY(-1px); }
.btn-primary:active { transform: translateY(0); }
.btn-primary:disabled { opacity: 0.65; cursor: not-allowed; transform: none; }

.btn-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 18px;
    background: var(--white);
    color: var(--blue-500);
    border: 1.5px solid var(--blue-200);
    border-radius: var(--r-md);
    font-size: 0.875rem;
    font-weight: 600;
    font-family: inherit;
    transition: all var(--tr);
    cursor: pointer;
    text-decoration: none;
}
.btn-outline:hover { background: var(--blue-500); color: #fff; border-color: var(--blue-500); }

/* Alert */
.alert {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: var(--r-md);
    margin-bottom: 12px;
    font-size: 0.9rem;
    font-weight: 500;
    border: 1px solid;
}
.alert-success { background: var(--green-light); color: #065F46; border-color: rgba(16,185,129,0.2); }
.alert-error, .alert-danger { background: var(--red-light); color: #991B1B; border-color: rgba(239,68,68,0.2); }
.alert-info { background: var(--blue-50); color: var(--blue-800); border-color: var(--blue-200); }
.alert-warning { background: var(--amber-light); color: #92400E; border-color: rgba(245,158,11,0.2); }

/* ══════════════════════════════════════════════
   MAIN CONTENT
══════════════════════════════════════════════ */
.main-content { min-height: 70vh; }

/* ══════════════════════════════════════════════
   FOOTER
══════════════════════════════════════════════ */
.footer { background: var(--gray-900); color: var(--gray-400); margin-top: clamp(48px, 8vw, 80px); }

.footer-top { padding: clamp(36px, 5vw, 64px) 0 clamp(24px, 4vw, 48px); }
.footer-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px 16px;
}
@media (min-width: 768px) {
    .footer-grid {
        grid-template-columns: 2fr 1fr 1fr 1.2fr;
        gap: 32px;
    }
}

.footer-logo {
    font-family: 'Syne', sans-serif;
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--white);
    display: block;
    margin-bottom: 12px;
    text-decoration: none;
}
.footer-logo span { color: var(--blue-400); }

.footer-brand-col p {
    font-size: 0.875rem;
    line-height: 1.65;
    max-width: 260px;
    margin-bottom: 20px;
    color: var(--gray-400);
}

.footer-social-title {
    color: var(--white);
    font-size: 0.76rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-top: 18px;
    margin-bottom: 12px;
    display: block;
}

.footer-social {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.social-btn {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    color: #94a3b8;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none;
    position: relative;
    overflow: hidden;
}

.social-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--brand-bg);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 1;
}

.social-btn i {
    position: relative;
    z-index: 2;
    transition: color 0.3s ease, transform 0.3s ease;
}

.social-btn.ig { --brand-bg: linear-gradient(135deg, #E1306C, #F77737); }
.social-btn.fb { --brand-bg: #1877F2; }
.social-btn.tw, .social-btn.x { --brand-bg: #000000; }
.social-btn.yt { --brand-bg: #FF0000; }

.social-btn:hover {
    color: var(--white);
    transform: translateY(-4px);
    box-shadow: 0 8px 20px var(--brand-shadow, rgba(40, 116, 240, 0.3));
    border-color: transparent;
}

.social-btn.ig:hover { --brand-shadow: rgba(225, 48, 108, 0.4); }
.social-btn.fb:hover { --brand-shadow: rgba(24, 119, 242, 0.4); }
.social-btn.tw:hover, .social-btn.x:hover { --brand-shadow: rgba(0, 0, 0, 0.5); }
.social-btn.yt:hover { --brand-shadow: rgba(255, 0, 0, 0.4); }

.social-btn:hover::before {
    opacity: 1;
}

.social-btn:hover i {
    transform: scale(1.15);
}

.footer-col h5 {
    color: var(--white);
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 16px;
    position: relative;
    padding-bottom: 6px;
}
.footer-col h5::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 24px;
    height: 2px;
    background: var(--blue-500);
    border-radius: 2px;
}
.footer-col ul { list-style: none; padding-left: 0; }
.footer-col li { margin-bottom: 10px; }
.footer-col a { color: #94a3b8; font-size: 0.875rem; text-decoration: none; transition: color var(--tr); }
.footer-col a:hover { color: var(--white); text-decoration: underline; }
.contact-link-hover { transition: color var(--tr); }
.contact-link-hover:hover { color: var(--white) !important; text-decoration: underline !important; }

.contact-list { list-style: none; padding-left: 0; }
.contact-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
    font-size: 0.875rem;
}
.contact-icon {
    width: 30px;
    height: 30px;
    border-radius: var(--r-sm);
    background: rgba(255,255,255,0.06);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.82rem;
    color: var(--blue-400);
    flex-shrink: 0;
}
.whatsapp-link { display: flex; align-items: center; gap: 10px; color: #94a3b8; text-decoration: none; }
.whatsapp-link:hover { color: #25D366; }
.whatsapp-link .contact-icon { color: #25D366; }

.footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.06);
    padding: 18px 0;
}
.footer-bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    font-size: 0.82rem;
    color: var(--gray-500);
}
.footer-tagline { display: flex; align-items: center; gap: 5px; }

/* ── Mobile Footer Specific Layout ── */
@media (max-width: 767px) {
    .footer {
        padding-bottom: clamp(75px, 15vw, 95px) !important; /* Clears fixed bottom nav */
    }
    .footer-top {
        padding: 32px 0 20px;
    }
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 26px 14px;
    }
    .footer-brand-col {
        grid-column: 1 / -1;
        text-align: center;
        padding-bottom: 20px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    }
    .footer-brand-col .footer-logo {
        display: inline-block;
        margin: 0 auto 10px auto;
        font-size: 1.55rem;
    }
    .footer-brand-col p {
        max-width: 90%;
        margin: 0 auto 16px auto;
        font-size: 0.85rem;
        line-height: 1.55;
    }
    .footer-social-title {
        text-align: center;
        margin-top: 14px;
        margin-bottom: 12px;
        font-size: 0.74rem;
        letter-spacing: 0.12em;
    }
    .footer-social {
        justify-content: center;
        align-items: center;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 14px;
    }
    .footer-col {
        padding: 0 4px;
        text-align: center;
    }
    .footer-col h5 {
        font-size: 0.80rem;
        margin-bottom: 12px;
        text-align: center;
    }
    .footer-col h5::after {
        left: 50%;
        transform: translateX(-50%);
    }
    .footer-col ul {
        padding-left: 0;
        list-style: none;
    }
    .footer-col a {
        font-size: 0.84rem;
    }
    .footer-col-contact {
        grid-column: 1 / -1;
        padding-top: 20px;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
        text-align: center;
    }
    .footer-col-contact h5 {
        text-align: center;
    }
    .footer-col-contact h5::after {
        left: 50%;
        transform: translateX(-50%);
    }
    .footer-col-contact .contact-list {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }
    .footer-col-contact .contact-list li {
        margin-bottom: 0;
        font-size: 0.85rem;
    }
    .footer-bottom {
        padding: 16px 0;
        text-align: center;
    }
    .footer-bottom-inner {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 8px;
        text-align: center;
        font-size: 0.80rem;
    }
}

/* ══════════════════════════════════════════════
   TOAST ANIMATIONS
══════════════════════════════════════════════ */
@keyframes toastPop {
    from { transform: translateX(80px) scale(0.9); opacity: 0; }
    to   { transform: translateX(0) scale(1); opacity: 1; }
}
@keyframes toastFade {
    from { transform: translateX(0); opacity: 1; }
    to   { transform: translateX(80px); opacity: 0; }
}

/* ══════════════════════════════════════════════
   UTIL
══════════════════════════════════════════════ */
.text-center { text-align: center; }
.text-muted { color: var(--gray-500); }

/* Wishlist Toggle Button (Heart) */
.btn-wishlist-toggle {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 10;
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(4px);
    border: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: all 0.2s ease;
    color: #94a3b8;
    padding: 0;
}
.btn-wishlist-toggle:hover {
    transform: scale(1.1);
    background: #fff;
    color: #ef4444;
}
.btn-wishlist-toggle.active {
    color: #ef4444;
    background: #fff;
}
.btn-wishlist-toggle i {
    font-size: 1rem;
    transition: transform 0.2s ease;
}
.btn-wishlist-toggle.active i {
    transform: scale(1.1);
}

/* Hide header nav links/actions on mobile as they are in mobile bottom-nav */
@media (max-width: 767px) {
    .nav-actions {
        display: none !important;
    }
}

/* Responsive card buttons for mobile */
@media (max-width: 576px) {
    .product-actions-row {
        gap: 6px;
    }
    .btn-view {
        min-height: 34px !important;
        padding: 6px 8px !important;
        font-size: 0.78rem !important;
        margin-bottom: 6px !important;
    }
    .btn-share {
        min-height: 34px !important;
        padding: 6px 8px !important;
        font-size: 0.78rem !important;
    }
    .product-actions-row .btn-wishlist-toggle {
        width: 34px !important;
        height: 34px !important;
        font-size: 0.95rem !important;
    }
}

/* ══════════════════════════════════════════════
   POLICY MODAL SYSTEM
   ══════════════════════════════════════════════ */
.policy-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(15, 23, 42, 0.6);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2000;
    opacity: 0;
    transition: opacity 0.3s ease;
}
.policy-modal-overlay.show {
    opacity: 1;
}
.policy-modal-content {
    background: var(--white, #fff);
    border-radius: var(--r-xl, 12px);
    width: calc(100% - 32px);
    margin: 16px;
    max-width: 650px;
    max-height: 85vh;
    display: flex;
    flex-direction: column;
    box-shadow: var(--sh-xl, 0 20px 25px -5px rgba(0,0,0,0.1));
    transform: scale(0.93) translateY(16px);
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    border: 1.5px solid var(--gray-100, #f1f5f9);
    overflow: hidden;
}
.policy-modal-overlay.show .policy-modal-content {
    transform: scale(1) translateY(0);
}
.policy-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 18px 24px;
    border-bottom: 1.5px solid var(--gray-100, #f1f5f9);
    background: var(--gray-50, #f8fafc);
}
.policy-modal-header h3 {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--gray-900, #0f172a);
    font-family: 'Syne', sans-serif;
}
.policy-close {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1.5px solid var(--gray-200, #e2e8f0);
    border-radius: var(--r-md, 6px);
    background: none;
    color: var(--gray-500, #64748b);
    font-size: 1.25rem;
    flex-shrink: 0;
    transition: all 0.2s;
    cursor: pointer;
    line-height: 1;
}
.policy-close:hover {
    background: var(--red-light, #fee2e2);
    border-color: var(--red, #ef4444);
    color: var(--red, #ef4444);
}
.policy-modal-body {
    padding: 24px;
    overflow-y: auto;
    font-size: 0.92rem;
    color: var(--gray-700, #334155);
    line-height: 1.6;
}
.policy-modal-body h4 {
    font-size: 0.98rem;
    font-weight: 700;
    color: var(--gray-900, #0f172a);
    margin: 20px 0 8px 0;
}
.policy-modal-body h4:first-child {
    margin-top: 0;
}
.policy-modal-body p {
    margin: 0 0 12px 0;
}
.policy-modal-body ul {
    margin: 0 0 16px 0;
    padding-left: 20px;
}
.policy-modal-body li {
    margin-bottom: 6px;
}
.policy-modal-footer {
    display: flex;
    justify-content: flex-end;
    padding: 16px 24px;
    border-top: 1.5px solid var(--gray-100, #f1f5f9);
    background: var(--gray-50, #f8fafc);
}

/* ══════════════════════════════════════════════
   DASHBOARD & FORM SYSTEM
   ══════════════════════════════════════════════ */

/* Common Panel Layouts */
.panel-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
    flex-wrap: wrap;
    gap: 16px;
}
.page-subtitle {
    color: var(--gray-500);
    font-size: 0.9rem;
    margin: 0;
}
.back-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--gray-600);
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
    transition: color var(--tr);
}
.back-link:hover {
    color: var(--blue-500);
}

/* Tabs */
.dash-tabs {
    display: flex;
    align-items: center;
    gap: 6px;
    background: var(--white);
    border-radius: var(--r-xl);
    padding: 6px;
    margin-bottom: 24px;
    box-shadow: var(--sh-sm);
    border: 1.5px solid var(--gray-100);
    overflow-x: auto;
    flex-wrap: nowrap;
    scrollbar-width: none;
}
.dash-tabs::-webkit-scrollbar {
    display: none;
}
.dash-tab {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border-radius: var(--r-lg);
    color: var(--gray-600);
    text-decoration: none;
    font-size: 0.85rem;
    font-weight: 600;
    white-space: nowrap;
    transition: all var(--tr);
    border: 1.5px solid transparent;
    cursor: pointer;
    background: none;
    font-family: inherit;
}
.dash-tab:hover {
    color: var(--blue-600);
    background: var(--gray-50);
}
.dash-tab.active {
    background: var(--blue-50);
    color: var(--blue-600);
    border-color: rgba(40,116,240,0.15);
}
.tab-count {
    font-size: 0.7rem;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 20px;
    min-width: 24px;
    text-align: center;
}
.tab-count.neutral { background: var(--gray-100); color: var(--gray-600); }
.tab-count.success { background: var(--green-light); color: var(--green); }
.tab-count.warning { background: var(--amber-light); color: var(--amber); }
.tab-count.danger { background: var(--red-light); color: var(--red); }

/* Stats Cards Grid */
.stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 16px;
    margin-bottom: 24px;
}
.stat-card {
    background: var(--white);
    padding: 20px 16px;
    border-radius: var(--r-xl);
    text-align: center;
    box-shadow: var(--sh-sm);
    border: 1.5px solid var(--gray-100);
    transition: transform var(--tr), box-shadow var(--tr), border-color var(--tr);
}
.stat-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--sh-md);
    border-color: var(--gray-200);
}
.stat-card .num, .stat-num {
    display: block;
    font-family: 'Syne', sans-serif;
    font-size: 1.8rem;
    font-weight: 800;
    color: var(--gray-900);
    line-height: 1.1;
}
.stat-card .label, .stat-label {
    display: block;
    font-size: 0.75rem;
    color: var(--gray-500);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-top: 6px;
    font-weight: 600;
}
.stat-card.success { border-top: 3px solid var(--green); }
.stat-card.success .num, .stat-card.success .stat-num { color: var(--green); }
.stat-card.warning { border-top: 3px solid var(--amber); }
.stat-card.warning .num, .stat-card.warning .stat-num { color: var(--amber); }
.stat-card.danger { border-top: 3px solid var(--red); }
.stat-card.danger .num, .stat-card.danger .stat-num { color: var(--red); }
.stat-card.info { border-top: 3px solid var(--blue-500); }
.stat-card.info .num, .stat-card.info .stat-num { color: var(--blue-600); }
.stat-card.total { border-top: 3px solid var(--blue-500); }

/* Filters Bar */
.filters-bar, .filter-bar, .filter-bar-admin {
    display: flex;
    gap: 12px;
    margin-bottom: 24px;
    flex-wrap: wrap;
    align-items: center;
    background: var(--white);
    padding: 14px;
    border-radius: var(--r-xl);
    box-shadow: var(--sh-sm);
    border: 1.5px solid var(--gray-100);
}
.filters-bar .form-input, .filters-bar .form-select,
.filter-bar .form-input, .filter-bar .form-select,
.filter-bar-admin .form-input, .filter-bar-admin .form-select {
    height: 42px;
    padding: 0 14px;
    border: 1.5px solid var(--gray-200);
    border-radius: var(--r-lg);
    font-size: 0.9rem;
    color: var(--gray-800);
    background: var(--white);
    font-family: inherit;
    transition: all var(--tr);
    box-sizing: border-box;
}
.filters-bar .form-input:focus, .filters-bar .form-select:focus,
.filter-bar .form-input:focus, .filter-bar .form-select:focus,
.filter-bar-admin .form-input:focus, .filter-bar-admin .form-select:focus {
    outline: none;
    border-color: var(--blue-400);
    box-shadow: 0 0 0 3px rgba(40,116,240,0.1);
}
.filters-bar .form-select, .filter-bar .form-select, .filter-bar-admin .form-select {
    cursor: pointer;
    padding: 0 32px 0 14px;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394A5C0' stroke-width='2.5'%3E%3Cpolyline points='6,9 12,15 18,9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    box-sizing: border-box;
}
.filters-bar .btn-primary, .filters-bar .btn-outline,
.filter-bar .btn-primary, .filter-bar .btn-outline,
.filter-bar-admin .btn-primary, .filter-bar-admin .btn-outline {
    height: 42px;
    padding: 0 20px;
    border-radius: var(--r-lg);
    font-size: 0.9rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-sizing: border-box;
    transition: all var(--tr);
    cursor: pointer;
}
.filters-bar .btn-primary,
.filter-bar .btn-primary,
.filter-bar-admin .btn-primary {
    background: var(--blue-500);
    color: #fff;
    border: 1.5px solid transparent;
}
.filters-bar .btn-primary:hover,
.filter-bar .btn-primary:hover,
.filter-bar-admin .btn-primary:hover {
    background: var(--blue-600);
    border-color: transparent;
}
.filters-bar .btn-outline,
.filter-bar .btn-outline,
.filter-bar-admin .btn-outline {
    background: var(--white);
    color: var(--blue-500);
    border: 1.5px solid var(--blue-200);
    text-decoration: none;
}
.filters-bar .btn-outline:hover,
.filter-bar .btn-outline:hover,
.filter-bar-admin .btn-outline:hover {
    background: var(--blue-500);
    color: #fff;
    border-color: var(--blue-500);
}
.btn-clear {
    padding: 10px 14px;
    color: var(--red);
    text-decoration: none;
    border-radius: var(--r-lg);
    font-size: 0.9rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transition: all var(--tr);
}
.btn-clear:hover {
    background: var(--red-light);
}

/* Tables Layout */
.table-wrapper, .table-container {
    background: var(--white);
    border-radius: var(--r-xl);
    box-shadow: var(--sh-md);
    border: 1.5px solid var(--gray-100);
    overflow: hidden;
    margin-bottom: 24px;
}
.table-wrapper {
    overflow-x: auto;
}
.data-table {
    width: 100%;
    border-collapse: collapse;
}
.data-table th {
    background: var(--gray-50);
    padding: 14px 16px;
    text-align: left;
    font-weight: 700;
    color: var(--gray-700);
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-bottom: 2px solid var(--gray-200);
}
.data-table td {
    padding: 14px 16px;
    border-top: 1px solid var(--gray-100);
    vertical-align: middle;
    font-size: 0.9rem;
    color: var(--gray-800);
}
.data-table tr {
    transition: background var(--tr);
}
.data-table tr:hover {
    background: var(--gray-50);
}
.prod-cell, .item-cell {
    display: flex;
    align-items: center;
    gap: 12px;
}
.prod-cell .thumb, .prod-thumb {
    width: 52px;
    height: 52px;
    border-radius: var(--r-md);
    object-fit: cover;
    border: 1.5px solid var(--gray-100);
    flex-shrink: 0;
    background: var(--gray-50);
}

/* Toggle Switches */
.toggle {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
}
.toggle input {
    opacity: 0;
    width: 0;
    height: 0;
}
.slider {
    position: absolute;
    cursor: pointer;
    top: 0; left: 0; right: 0; bottom: 0;
    background: var(--gray-300);
    transition: 0.3s ease;
    border-radius: 24px;
}
.slider:before {
    position: absolute;
    content: "";
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 3px;
    background: var(--white);
    transition: 0.3s cubic-bezier(0.34,1.56,0.64,1);
    border-radius: 50%;
}
.toggle input:checked + .slider {
    background: var(--blue-500);
}
.toggle input:checked + .slider:before {
    transform: translateX(20px);
}

/* Badges & Pills */
.status-pill, .badge-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 700;
    white-space: nowrap;
}
.status-pill.status-published, .badge-pill.verified {
    background: var(--green-light);
    color: var(--green);
}
.status-pill.status-draft, .badge-pill.pending {
    background: var(--amber-light);
    color: var(--amber);
}
.status-pill.status-discontinued, .status-pill.status-oos, .badge-pill.rejected {
    background: var(--red-light);
    color: var(--red);
}

.mini-badge {
    font-size: 0.65rem;
    padding: 2px 7px;
    border-radius: 12px;
    font-weight: 700;
    display: inline-block;
}
.mini-badge.featured { background: var(--amber-light); color: var(--amber); }
.mini-badge.hot { background: #fce4ec; color: #c2185b; }
.mini-badge.gender { background: var(--blue-50); color: var(--blue-600); }

/* Action buttons and groups */
.action-group {
    display: flex;
    gap: 6px;
    align-items: center;
    flex-wrap: wrap;
}
.act-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 10px;
    border-radius: var(--r-md);
    font-size: 0.78rem;
    font-weight: 600;
    text-decoration: none;
    transition: all var(--tr);
    white-space: nowrap;
    border: 1.5px solid transparent;
    cursor: pointer;
    background: none;
    font-family: inherit;
}
.act-btn.act-view {
    border-color: var(--green);
    background: var(--green-light);
    color: var(--green);
}
.act-btn.act-view:hover {
    background: var(--green);
    color: var(--white);
}
.act-btn.act-view-off {
    border-color: var(--gray-200);
    background: var(--gray-100);
    color: var(--gray-400);
    cursor: not-allowed;
}
.act-btn.act-edit, .btn-edit {
    border-color: var(--blue-200);
    background: var(--blue-50);
    color: var(--blue-600);
}
.act-btn.act-edit:hover, .btn-edit:hover {
    background: var(--blue-500);
    color: var(--white);
    border-color: var(--blue-500);
}
.act-btn.act-toggle {
    border-color: var(--amber);
    background: var(--amber-light);
    color: var(--amber);
}
.act-btn.act-toggle:hover {
    background: var(--amber);
    color: var(--white);
}
.act-btn.act-archive {
    border-color: var(--red);
    background: var(--red-light);
    color: var(--red);
}
.act-btn.act-archive:hover {
    background: var(--red);
    color: var(--white);
}
.btn-view-modal {
    padding: 8px 16px;
    font-size: 0.82rem;
    font-weight: 600;
    border-radius: var(--r-md);
    border: 1.5px solid var(--gray-200);
    background: var(--gray-100);
    color: var(--gray-700);
    cursor: pointer;
    transition: all var(--tr);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: inherit;
    text-decoration: none;
}
.btn-view-modal:hover {
    background: var(--gray-200);
    color: var(--gray-900);
}

/* Forms and Inputs */
.product-form-container {
    max-width: 900px;
    margin: 0 auto;
    padding: 24px 16px;
}
.product-form {
    background: var(--white);
    border-radius: var(--r-xl);
    padding: 28px;
    box-shadow: var(--sh-lg);
    border: 1.5px solid var(--gray-100);
}
.form-section {
    margin-bottom: 30px;
    padding-bottom: 25px;
    border-bottom: 1.5px solid var(--gray-100);
}
.form-section:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}
.section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--gray-100);
    flex-wrap: wrap;
    gap: 10px;
}
.section-header h3 {
    margin: 0;
    font-family: 'Syne', sans-serif;
    font-size: 1.25rem;
    color: var(--gray-900);
}
.section-badge {
    background: var(--blue-50);
    color: var(--blue-600);
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
}
.section-badge.admin-badge {
    background: var(--amber-light);
    color: var(--amber);
}
.form-row {
    display: grid;
    gap: 20px;
    margin-bottom: 16px;
}
.form-row.two-col { grid-template-columns: repeat(2, 1fr); }
.form-row.three-col { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 768px) {
    .form-row.two-col, .form-row.three-col {
        grid-template-columns: 1fr;
    }
}
.form-group {
    margin-bottom: 16px;
}
.form-group label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
    color: var(--gray-700);
    font-size: 0.9rem;
}
.form-input, .form-select, .form-group textarea, .form-group input, .form-group select {
    width: 100%;
    padding: 10px 14px;
    border: 1.5px solid var(--gray-200);
    border-radius: var(--r-md);
    font-size: 0.92rem;
    color: var(--gray-800);
    background: var(--white);
    font-family: inherit;
    transition: all var(--tr);
}
.form-input:focus, .form-select:focus, .form-group textarea:focus, .form-group input:focus, .form-group select:focus {
    outline: none;
    border-color: var(--blue-400);
    box-shadow: 0 0 0 3px rgba(40,116,240,0.1);
}
.form-group textarea {
    min-height: 100px;
    resize: vertical;
}
.form-help {
    display: block;
    color: var(--gray-400);
    font-size: 0.8rem;
    margin-top: 4px;
}
.price-preview {
    background: var(--gray-50);
    padding: 12px 16px;
    border-radius: var(--r-md);
    border-left: 4px solid var(--blue-500);
    font-size: 0.9rem;
}
.image-preview-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
    gap: 10px;
    margin-top: 12px;
}
.preview-thumb {
    position: relative;
    border: 2px solid var(--gray-200);
    border-radius: var(--r-md);
    overflow: hidden;
    aspect-ratio: 1/1;
}
.preview-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.preview-thumb .remove-thumb {
    position: absolute;
    top: 4px; right: 4px;
    background: rgba(239, 68, 68, 0.9);
    color: white;
    border: none;
    width: 22px; height: 22px;
    border-radius: 50%;
    font-size: 0.9rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}
.preview-thumb .remove-thumb:hover {
    background: var(--red);
}

/* Reusable Form Modals & Dialogs */
.modal {
    position: fixed;
    inset: 0;
    background: rgba(10,20,50,0.65);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 1600;
    padding: 16px;
    font-family: inherit;
    opacity: 0;
    transition: opacity 0.3s ease;
}
.modal.show {
    display: flex;
    opacity: 1;
}
.modal .modal-content {
    background: var(--white);
    border-radius: var(--r-2xl);
    width: 100%;
    max-width: 520px;
    max-height: 92vh;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    box-shadow: var(--sh-xl);
    transform: scale(0.93) translateY(16px);
    transition: transform 0.3s cubic-bezier(0.34,1.56,0.64,1);
    border: 1.5px solid var(--gray-100);
}
.modal.show .modal-content {
    transform: scale(1) translateY(0);
}
.modal .modal-content.large {
    max-width: 720px;
}
.modal-header-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 20px 24px;
    border-bottom: 1.5px solid var(--gray-100);
    background: var(--gray-50);
}
.modal-header-bar h3 {
    font-family: 'Syne', sans-serif;
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--gray-900);
    margin: 0;
}
.modal-close {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1.5px solid var(--gray-200);
    border-radius: var(--r-md);
    background: none;
    color: var(--gray-500);
    font-size: 1rem;
    flex-shrink: 0;
    transition: all var(--tr);
    cursor: pointer;
}
.modal-close:hover {
    background: var(--red-light);
    border-color: var(--red);
    color: var(--red);
}

/* Variant Row layouts inside Add/Edit Form */
.variant-row {
    background: var(--gray-50);
    border: 1.5px solid var(--gray-200);
    border-radius: var(--r-lg);
    padding: 16px;
    margin-bottom: 16px;
    position: relative;
    animation: slideIn 0.25s ease;
}
@keyframes slideIn {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}
.variant-row.new-variant {
    background: var(--blue-50);
    border-color: var(--blue-200);
}
.variant-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    padding-bottom: 10px;
    border-bottom: 1px dashed var(--gray-200);
    flex-wrap: wrap;
    gap: 8px;
}
.variant-title {
    font-weight: 700;
    color: var(--gray-800);
    font-size: 1rem;
}
.variant-title small {
    color: var(--gray-500);
    font-weight: 400;
    font-size: 0.82rem;
    margin-left: 6px;
}
.variant-tips {
    border-left: 3px solid var(--blue-500);
    background: var(--blue-50);
    padding: 10px 14px;
    border-radius: var(--r-md);
    margin-bottom: 16px;
    font-size: 0.85rem;
    color: var(--blue-700);
}
.admin-only {
    background: var(--amber-light);
    border: 1.5px solid rgba(245,158,11,0.3);
    border-radius: var(--r-xl);
    padding: 20px;
    margin-top: 16px;
}

.empty-state, .empty-verify {
    text-align: center;
    padding: 56px 20px;
    background: var(--white);
    border-radius: var(--r-xl);
    border: 1.5px solid var(--gray-200);
}
.empty-state-icon, .empty-verify i {
    font-size: 3rem;
    color: var(--gray-300);
    margin-bottom: 16px;
}
.empty-state h3, .empty-verify h3 {
    font-family: 'Syne', sans-serif;
    color: var(--gray-800);
    font-size: 1.25rem;
    margin: 0 0 8px 0;
}
.empty-state p, .empty-verify p {
    color: var(--gray-500);
    max-width: 440px;
    margin: 0 auto 20px;
    font-size: 0.9rem;
}

/* Seller List & Cards */
.seller-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.seller-card {
    background: var(--white);
    border-radius: var(--r-xl);
    border: 1.5px solid var(--gray-100);
    padding: 20px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 20px;
    align-items: center;
    transition: all var(--tr);
    box-shadow: var(--sh-sm);
}
.seller-card:hover {
    border-color: var(--blue-300);
    box-shadow: var(--sh-md);
    transform: translateY(-2px);
}
.seller-card.pending { border-left: 4px solid var(--amber); }
.seller-card.verified { border-left: 4px solid var(--green); }
.seller-card.rejected { border-left: 4px solid var(--red); }

.seller-main {
    display: flex;
    gap: 16px;
    align-items: center;
    flex-wrap: wrap;
}
.seller-avatar {
    width: 60px;
    height: 60px;
    border-radius: var(--r-xl);
    background: linear-gradient(135deg, var(--blue-500), var(--blue-700));
    color: #fff;
    font-family: 'Syne', sans-serif;
    font-size: 1.35rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 10px rgba(40,116,240,0.15);
}
.seller-info h4 {
    font-family: 'Syne', sans-serif;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--gray-900);
    margin: 0 0 6px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.seller-info h4 a { color: inherit; text-decoration: none; transition: color var(--tr); }
.seller-info h4 a:hover { color: var(--blue-500); }

.seller-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
    font-size: 0.85rem;
    color: var(--gray-500);
}
.seller-meta span {
    display: flex;
    align-items: center;
    gap: 6px;
}
.seller-meta i { color: var(--gray-400); font-size: 0.85rem; }

/* Action Buttons for Sellers */
.seller-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: flex-end;
}
.seller-detail-row {
    display: flex;
    justify-content: space-between;
    padding: 12px 0;
    border-bottom: 1px dashed var(--gray-100);
    font-size: 0.9rem;
}
.seller-detail-row:last-child { border-bottom: none; }
.seller-detail-row strong { color: var(--gray-600); }
.seller-detail-row span { color: var(--gray-800); font-weight: 600; }

/* Pagination */
.pagination-admin {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 32px;
    flex-wrap: wrap;
}
.page-link {
    min-width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--r-md);
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--gray-600);
    background: var(--white);
    border: 1.5px solid var(--gray-200);
    text-decoration: none;
    transition: all var(--tr);
}
.page-link.active, .page-link:hover:not([disabled]) {
    background: var(--blue-500);
    color: #fff;
    border-color: var(--blue-500);
}
.page-link[disabled] {
    opacity: 0.4;
    cursor: not-allowed;
}

@media (max-width: 768px) {
    .seller-card { grid-template-columns: 1fr; }
    .seller-actions { flex-direction: row; justify-content: flex-start; }
}

/* Pulse animation for pending badge */
@keyframes pulse {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.05); opacity: 0.9; }
}
.badge-pill.pending { animation: pulse 2s infinite; }

/* Seller Edit Layout */
.edit-container {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}
@media (min-width: 900px) {
    .edit-container { grid-template-columns: 2fr 1fr; }
}
.edit-card {
    background: var(--white);
    border-radius: var(--r-xl);
    border: 1.5px solid var(--gray-100);
    padding: 28px;
    box-shadow: var(--sh-md);
}
.edit-card h3 {
    font-family: 'Syne', sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--gray-900);
    margin: 0 0 24px;
    padding-bottom: 12px;
    border-bottom: 1.5px solid var(--gray-100);
}
.info-card {
    background: var(--white);
    border-radius: var(--r-xl);
    border: 1.5px solid var(--gray-100);
    padding: 24px;
    box-shadow: var(--sh-md);
    align-self: start;
    position: sticky;
    top: 88px;
}
.info-card h4 {
    font-family: 'Syne', sans-serif;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--gray-900);
    margin: 0 0 20px;
}
.info-row {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px dashed var(--gray-200);
    font-size: 0.9rem;
}
.info-row:last-child { border-bottom: none; }
.info-row strong { color: var(--gray-600); }
.info-row span { color: var(--gray-900); font-weight: 600; }

.status-badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 700;
}
.status-badge.pending { background: var(--amber-light); color: var(--amber); }
.status-badge.verified { background: var(--green-light); color: var(--green); }
.status-badge.rejected { background: var(--red-light); color: var(--red); }

/* Form Helper Classes */
.field-error {
    color: var(--red);
    font-size: 0.85rem;
    margin-top: 4px;
    font-weight: 600;
}
.image-preview {
    margin-top: 12px;
    text-align: center;
}
.image-preview img {
    max-width: 100%;
    max-height: 220px;
    border-radius: var(--r-md);
    border: 1.5px solid var(--gray-200);
    object-fit: contain;
}
.preview-placeholder {
    background: var(--gray-50);
    border: 2px dashed var(--gray-300);
    border-radius: var(--r-md);
    padding: 30px 20px;
    color: var(--gray-400);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    transition: all var(--tr);
}
.preview-placeholder i {
    font-size: 2.2rem;
    color: var(--gray-300);
}
input[id$="-DELETE"] {
    display: none;
}

/* ══════════════════════════════════════════════
   PRODUCT DETAIL PAGE SYSTEM
   ══════════════════════════════════════════════ */

/* ===== Breadcrumb ===== */
.breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.875rem;
    color: var(--gray-500);
    flex-wrap: wrap;
}
.breadcrumb-link {
    color: var(--blue-500);
    text-decoration: none;
    font-weight: 500;
    transition: color var(--tr);
}
.breadcrumb-link:hover { color: var(--blue-700); }
.breadcrumb-separator { color: var(--gray-300); }
.breadcrumb-current { color: var(--gray-700); font-weight: 500; }

/* ===== Product Detail Grid ===== */
.product-detail-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
}
@media (min-width: 992px) {
    .product-detail-grid {
        grid-template-columns: 1.1fr 1fr;
        gap: 40px;
    }
}

/* ===== Image Gallery ===== */
.product-gallery {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.main-image-wrapper {
    position: relative;
    background: var(--gray-50);
    border-radius: var(--r-xl);
    overflow: hidden;
    aspect-ratio: 1/1;
    border: 1.5px solid var(--gray-100);
    cursor: zoom-in;
}
.main-image-wrapper.zoomed {
    cursor: zoom-out;
}
.main-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform-origin 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.main-image-wrapper:not(.zoomed):hover .main-image {
    transform: scale(1.05);
}

/* Floating Zoom Controls - Glassmorphism */
.zoom-controls {
    position: absolute;
    bottom: 16px;
    right: 16px;
    display: flex;
    gap: 8px;
    z-index: 10;
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1.5px solid rgba(255, 255, 255, 0.6);
    padding: 6px;
    border-radius: var(--r-xl);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}
.main-image-wrapper:hover .zoom-controls {
    opacity: 1;
    transform: translateY(0);
}
.zoom-control-btn {
    width: 38px;
    height: 38px;
    border-radius: var(--r-lg);
    border: none;
    background: transparent;
    color: var(--gray-800);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 1.05rem;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.zoom-control-btn:hover {
    background: var(--blue-500);
    color: white;
    transform: translateY(-2px) scale(1.05);
    box-shadow: 0 4px 10px rgba(40,116,240,0.25);
}
.zoom-control-btn:active {
    transform: translateY(0);
}

@media (max-width: 768px) {
    .zoom-controls {
        opacity: 1;
        transform: translateY(0);
        bottom: 12px;
        right: 12px;
        padding: 4px;
    }
    .zoom-control-btn {
        width: 34px;
        height: 34px;
        font-size: 0.95rem;
    }
}

/* Image Badges */
.image-badges {
    position: absolute;
    top: 12px;
    left: 12px;
    right: 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    z-index: 2;
}
.badge {
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.badge-gender {
    background: rgba(18,73,168,0.95);
    color: white;
}
.badge-discount {
    background: var(--red);
    color: white;
}
.badge-hot {
    background: var(--amber);
    color: var(--gray-900);
}
.badge-featured {
    background: var(--blue-500);
    color: white;
}

.out-of-stock-overlay {
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,0.9);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    color: var(--red);
    font-size: 1.1rem;
    z-index: 2;
    backdrop-filter: blur(2px);
}

/* Thumbnails */
.thumb-list {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding: 4px 0;
    scrollbar-width: thin;
}
.thumb-list::-webkit-scrollbar { height: 4px; }
.thumb-list::-webkit-scrollbar-thumb { background: var(--gray-200); border-radius: 2px; }
.thumb {
    width: 72px;
    height: 72px;
    border: 2px solid var(--gray-200);
    border-radius: var(--r-md);
    cursor: pointer;
    overflow: hidden;
    flex-shrink: 0;
    transition: all var(--tr);
    background: var(--white);
    padding: 2px;
}
.thumb.active, .thumb:hover {
    border-color: var(--blue-500);
    box-shadow: 0 0 0 3px rgba(40,116,240,0.15);
}
.thumb-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: calc(var(--r-md) - 2px);
}

/* ===== Info Panel ===== */
.product-info-panel {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.info-header h1 {
    margin: 0 0 8px;
    line-height: 1.25;
}
.meta-tags {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.seller-tag {
    background: var(--gray-100);
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.85rem;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.seller-tag a {
    color: var(--blue-600);
    text-decoration: none;
    font-weight: 600;
}
.seller-tag a:hover { text-decoration: underline; }

/* Price Box */
.price-box {
    background: var(--white);
    padding: 16px;
    border-radius: var(--r-xl);
    border: 1.5px solid var(--gray-100);
}
.price-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
    flex-wrap: wrap;
}
.price-mrp {
    text-decoration: line-through;
    color: var(--gray-400);
    font-size: 0.9rem;
}
.price-off {
    background: var(--red);
    color: white;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 700;
}
.price-current-wrapper {
    margin-bottom: 4px;
}
.price-current {
    font-size: 1.75rem;
    font-weight: 800;
    color: var(--gray-900);
    line-height: 1;
}
.savings-text {
    color: var(--green);
    font-size: 0.9rem;
    font-weight: 600;
}

/* Reorder Banner */
.reorder-banner {
    background: var(--green-light);
    border: 1px solid var(--green);
    border-left: 4px solid var(--green);
    padding: 12px 16px;
    border-radius: var(--r-md);
    display: flex;
    align-items: flex-start;
    gap: 10px;
    animation: slideDown 0.3s ease;
}
@keyframes slideDown {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

.short-desc {
    color: var(--gray-600);
    line-height: 1.6;
    margin: 0;
}

/* ===== Variant Selector ===== */
.variant-selector {
    margin: 0;
    padding: 16px;
    background: var(--white);
    border-radius: var(--r-xl);
    border: 1.5px solid var(--gray-150);
    border-left: 4px solid var(--blue-500);
    box-shadow: var(--sh-sm);
    transition: all 0.3s ease;
}
.variant-selector.highlight-pulse {
    animation: highlightPulse 0.8s ease-in-out;
    border: 1.5px solid var(--red) !important;
    border-left: 6px solid var(--red) !important;
}
@keyframes highlightPulse {
    0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.4); }
    25% { transform: translateX(-4px); }
    50% { transform: translateX(4px); box-shadow: 0 0 0 10px rgba(239, 68, 68, 0); }
    75% { transform: translateX(-2px); }
    100% { transform: scale(1); }
}
.variant-label {
    display: block;
    font-weight: 700;
    margin-bottom: 12px;
    color: var(--gray-800);
}
.variant-label .required { color: var(--red); margin-left: 4px; }
.variant-options {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 12px;
}
.variant-btn {
    padding: 12px 20px;
    border: 1.5px solid var(--gray-200);
    border-radius: var(--r-lg);
    background: var(--white);
    font-weight: 700;
    cursor: pointer;
    transition: all var(--tr);
    min-width: 70px;
    text-align: center;
    font-size: 0.95rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    position: relative;
    overflow: hidden;
}
.variant-btn:hover:not([disabled]) {
    border-color: var(--blue-500);
    background: var(--blue-50);
    color: var(--blue-700);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(40,116,240,0.1);
}
.variant-btn.active {
    border-color: var(--blue-500);
    background: var(--blue-500);
    color: white;
    box-shadow: 0 4px 12px rgba(40,116,240,0.25);
}
.variant-btn[disabled] {
    opacity: 0.5;
    cursor: not-allowed;
    background: var(--gray-50);
    border-color: var(--gray-200);
}
.variant-btn .variant-color {
    color: var(--gray-500);
    font-weight: 400;
    font-size: 0.85rem;
}
.variant-btn.active .variant-color {
    color: rgba(255,255,255,0.9);
}
.variant-stock-count {
    font-size: 0.7rem;
    color: var(--green);
    display: block;
}
.variant-btn.active .variant-stock-count {
    color: rgba(255,255,255,0.85);
}
.out-of-stock-badge {
    display: block;
    font-size: 0.7rem;
    color: var(--red);
    font-weight: 500;
}
.variant-btn.active .out-of-stock-badge {
    color: #fff;
}
.variant-info {
    display: flex;
    align-items: center;
    gap: 15px;
    padding-top: 12px;
    border-top: 1px solid var(--gray-200);
    font-size: 0.95rem;
}
.selected-size { font-weight: 600; color: var(--gray-800); }
.variant-price { color: var(--green); font-weight: 700; }
.variant-stock { color: var(--gray-500); }
.variant-error {
    color: var(--red);
    font-size: 0.9rem;
    margin-top: 8px;
    padding: 8px 12px;
    background: var(--red-light);
    border-radius: var(--r-sm);
    display: none;
}

/* Stock & Delivery */
.stock-delivery {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.stock-badge {
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.in-stock { color: var(--green); }
.out-of-stock { color: var(--red); }
.stock-status { color: var(--gray-600); }
.delivery-info {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px;
    background: var(--green-light);
    border-radius: var(--r-md);
    border: 1px solid var(--green);
}
.delivery-info i {
    color: var(--green);
    font-size: 1.2rem;
    margin-top: 3px;
}
.delivery-info strong {
    display: block;
    color: var(--gray-800);
}
.delivery-info small {
    color: var(--gray-500);
}

/* Action Row */
.action-row {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center;
}
.qty-selector {
    display: flex;
    align-items: center;
    border: 1.5px solid var(--gray-200);
    border-radius: var(--r-md);
    overflow: hidden;
    background: var(--white);
}
.qty-btn {
    background: var(--gray-50);
    border: none;
    width: 40px;
    height: 44px;
    font-size: 1.3rem;
    cursor: pointer;
    transition: background var(--tr);
    color: var(--gray-700);
}
.qty-btn:hover { background: var(--gray-100); }
.qty-input {
    width: 50px;
    text-align: center;
    border: none;
    border-left: 1.5px solid var(--gray-200);
    border-right: 1.5px solid var(--gray-200);
    height: 44px;
    font-size: 1.1rem;
    -moz-appearance: textfield;
    background: var(--white);
    color: var(--gray-800);
}
.qty-input::-webkit-outer-spin-button,
.qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.btn-lg {
    padding: 14px 24px;
    font-size: 1rem;
    font-weight: 700;
}
.action-icons {
    display: flex;
    gap: 8px;
    margin-left: auto;
}
.btn-icon {
    width: 44px;
    height: 44px;
    border: 1.5px solid var(--gray-200);
    border-radius: var(--r-md);
    background: var(--white);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--gray-500);
    transition: all var(--tr);
    font-size: 1rem;
}
.btn-icon:hover {
    border-color: var(--blue-500);
    color: var(--blue-500);
    background: var(--blue-50);
}
.btn-icon.active {
    color: var(--red);
    border-color: var(--red);
    background: var(--red-light);
}
.btn-icon.active i {
    color: var(--red);
}

/* Trust Badges */
.trust-badges {
    display: flex;
    gap: 16px;
    color: var(--gray-600);
    font-size: 0.875rem;
    flex-wrap: wrap;
    padding-top: 8px;
}
.trust-badges i {
    color: var(--blue-500);
    margin-right: 4px;
}

/* Profit Box */
.profit-info {
    margin-top: 8px;
    padding: 12px;
    background: var(--blue-50);
    border-radius: var(--r-md);
    border-left: 3px solid var(--blue-500);
}
.profit-info small {
    color: var(--gray-600);
    display: block;
    margin-bottom: 6px;
}
.profit-row {
    display: flex;
    justify-content: space-between;
    font-size: 0.9rem;
    margin-bottom: 4px;
}
.profit-row.muted { color: var(--gray-500); }
.profit-row.total {
    font-size: 1rem;
    font-weight: 700;
    color: var(--green);
    margin-top: 6px;
    padding-top: 6px;
    border-top: 1px dashed var(--gray-200);
}

/* ===== Tabs ===== */
.product-tabs {
    max-width: 1280px;
    margin: 0 auto;
}
.tab-headers {
    display: flex;
    border-bottom: 2px solid var(--gray-200);
    margin-bottom: 20px;
    overflow-x: auto;
    scrollbar-width: none;
    gap: 4px;
}
.tab-headers::-webkit-scrollbar { display: none; }
.tab-btn {
    padding: 12px 20px;
    background: none;
    border: none;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--gray-500);
    cursor: pointer;
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
    white-space: nowrap;
    transition: all var(--tr);
    border-radius: var(--r-sm) var(--r-sm) 0 0;
}
.tab-btn:hover { color: var(--blue-600); }
.tab-btn.active {
    color: var(--blue-600);
    border-bottom-color: var(--blue-500);
    background: var(--blue-50);
}
.tab-content {
    display: none;
    animation: fadeIn 0.3s;
}
.tab-content.active { display: block; }
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}
.content-body {
    line-height: 1.8;
    color: var(--gray-700);
    font-size: 1.05rem;
}
.content-body p { margin-bottom: 15px; }
.specs-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.95rem;
}
.specs-table th,
.specs-table td {
    padding: 12px 15px;
    border-bottom: 1px solid var(--gray-100);
    text-align: left;
}
.specs-table th {
    width: 30%;
    font-weight: 600;
    color: var(--gray-600);
    background: var(--gray-50);
}

/* Seller Card */
.seller-card {
    background: var(--blue-50);
    padding: 20px;
    border-radius: var(--r-xl);
    border: 1.5px solid var(--blue-200);
}
.seller-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    flex-wrap: wrap;
    gap: 10px;
}
.seller-header h3 {
    margin: 0;
    font-size: 1.3rem;
    color: var(--gray-800);
}
.seller-rating {
    color: var(--amber);
    font-weight: 600;
}
.seller-meta {
    display: flex;
    gap: 20px;
    margin: 15px 0;
    color: var(--gray-600);
    flex-wrap: wrap;
}
.seller-stats {
    display: flex;
    gap: 20px;
    margin: 15px 0;
    font-size: 0.9rem;
}
.seller-stats strong {
    color: var(--gray-800);
}

/* ===== Reviews ===== */
.reviews-summary {
    text-align: center;
    padding: 20px;
    background: var(--gray-50);
    border-radius: var(--r-xl);
    margin-bottom: 20px;
    border: 1.5px solid var(--gray-100);
}
.avg-rating {
    font-size: 2.5rem;
    font-weight: 800;
    color: var(--gray-900);
    display: block;
    margin-bottom: 5px;
    line-height: 1;
}
.stars {
    color: var(--amber);
    font-size: 1.2rem;
    margin-bottom: 5px;
}
.stars .fa-star.filled { color: var(--amber); }
.review-count { color: var(--gray-500); }

.review-card {
    background: var(--white);
    border-radius: var(--r-lg);
    padding: 16px;
    border: 1.5px solid var(--gray-100);
    margin-bottom: 12px;
    transition: box-shadow var(--tr);
}
.review-card:hover {
    box-shadow: var(--sh-sm);
}
.review-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--blue-100);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--blue-700);
    font-weight: 700;
    font-size: 0.9rem;
    flex-shrink: 0;
}
.verified-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: var(--green-light);
    color: #065F46;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 0.7rem;
    font-weight: 600;
    margin-left: 8px;
}
.review-image {
    max-width: 150px;
    max-height: 100px;
    border-radius: var(--r-sm);
    border: 1px solid var(--gray-200);
    margin-top: 10px;
}
.helpful-btn {
    background: none;
    border: none;
    color: var(--gray-500);
    font-size: 0.85rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 4px 8px;
    border-radius: var(--r-sm);
    transition: all var(--tr);
}
.helpful-btn:hover,
.helpful-btn.active {
    color: var(--blue-600);
    background: var(--blue-50);
}
.edit-review-btn {
    background: none;
    border: none;
    color: var(--blue-500);
    font-size: 0.85rem;
    cursor: pointer;
    padding: 4px 8px;
}
.empty-reviews {
    text-align: center;
    padding: 40px 20px;
    color: var(--gray-500);
}
.empty-reviews i {
    font-size: 2rem;
    margin-bottom: 12px;
    opacity: 0.5;
    display: block;
}
.reviews-locked {
    text-align: center;
    padding: 40px 20px;
    color: var(--gray-500);
}
.reviews-locked i {
    font-size: 2rem;
    margin-bottom: 12px;
    opacity: 0.5;
    display: block;
}
.login-link {
    color: var(--blue-500);
    font-weight: 600;
}

/* ===== Related Products ===== */
.related-section {
    padding-top: 24px;
    padding-bottom: 48px;
}
.section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--gray-100);
    flex-wrap: wrap;
    gap: 12px;
}
.section-header h3 {
    margin: 0;
    font-size: 1.3rem;
}
.view-all-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--blue-500);
    text-decoration: none;
    transition: gap var(--tr);
}
.view-all-link:hover {
    color: var(--blue-700);
    gap: 10px;
}

.related-products-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}
@media (min-width: 640px) {
    .related-products-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }
}
@media (min-width: 1024px) {
    .related-products-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 24px;
    }
}

.related-product-card {
    background: var(--white);
    border-radius: var(--r-xl);
    overflow: hidden;
    border: 1.5px solid var(--gray-100);
    transition: all var(--tr);
    display: flex;
    flex-direction: column;
}
.related-product-card:hover {
    border-color: var(--blue-200);
    box-shadow: var(--sh-lg);
    transform: translateY(-4px);
}
.related-product-link {
    display: flex;
    flex-direction: column;
    flex: 1;
    text-decoration: none;
    color: inherit;
}

.related-image-wrapper {
    position: relative;
    background: var(--gray-50);
    aspect-ratio: 3/4;
    overflow: hidden;
}
.related-product-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}
.related-product-card:hover .related-product-image {
    transform: scale(1.04);
}
.no-image {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--gray-300);
    font-size: 2rem;
}

.related-badges {
    position: absolute;
    top: 8px;
    left: 8px;
    right: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    z-index: 2;
}

.related-product-info {
    padding: 12px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.related-product-name {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--gray-800);
    margin: 0;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.7em;
}
.related-seller {
    font-size: 0.75rem;
    color: var(--gray-400);
    margin: 0;
    display: flex;
    align-items: center;
    gap: 4px;
}
.related-seller i {
    font-size: 0.7rem;
    color: var(--gray-300);
}

.related-price-display {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-top: 4px;
}
.related-price-mrp {
    font-size: 0.75rem;
    color: var(--gray-400);
    text-decoration: line-through;
}
.related-price-current {
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--gray-900);
}

.related-low-stock {
    font-size: 0.7rem;
    color: var(--red);
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 3px;
}
.related-low-stock i {
    font-size: 0.65rem;
}

.related-product-actions {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    padding: 0 12px 12px;
    margin-top: auto;
}
.btn-view-details {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    flex: 1;
    padding: 8px 12px;
    background: var(--blue-50);
    color: var(--blue-600);
    border: 1.5px solid var(--blue-200);
    border-radius: var(--r-sm);
    font-size: 0.8rem;
    font-weight: 600;
    text-decoration: none;
    transition: all var(--tr);
}
.btn-view-details:hover {
    background: var(--blue-500);
    color: #fff;
    border-color: var(--blue-500);
}
.btn-share-related {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: var(--gray-50);
    color: var(--gray-500);
    border: 1.5px solid var(--gray-200);
    border-radius: var(--r-sm);
    cursor: pointer;
    transition: all var(--tr);
    font-size: 0.9rem;
    padding: 0;
}
.btn-share-related:hover {
    background: var(--blue-50);
    color: var(--blue-600);
    border-color: var(--blue-200);
}

/* Ratings & Review Modal specifics */
.star-rating {
    display: flex;
    gap: 4px;
    font-size: 1.8rem;
    cursor: pointer;
}
.star-rating span {
    color: var(--gray-300);
    transition: color 0.15s ease, transform 0.15s ease;
}
.star-rating span.active,
.star-rating span:hover,
.star-rating span:hover ~ span {
    color: var(--amber);
}
.star-rating span.active {
    transform: scale(1.1);
}
.error-text {
    font-size: 0.8rem;
    color: var(--red);
    margin-top: 4px;
    display: none;
}
.form-hint {
    font-size: 0.75rem;
    color: var(--gray-400);
    text-align: right;
    margin-top: 4px;
}
.char-counter.warning { color: var(--amber); }
.char-counter.error { color: var(--red); }
.form-error-box {
    background: var(--red-light);
    border: 1px solid rgba(239,68,68,0.2);
    color: var(--red);
    padding: 10px 14px;
    border-radius: var(--r-md);
    font-size: 0.875rem;
    margin-bottom: 14px;
    display: none;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .price-box {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    .action-row {
        flex-direction: column;
        align-items: stretch;
    }
    .btn-lg {
        width: 100%;
    }
    .action-icons {
        margin-left: 0;
        justify-content: center;
    }
    .qty-selector {
        width: 100%;
        justify-content: center;
    }
    .variant-options {
        justify-content: center;
    }
    .variant-info {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    .specs-table th,
    .specs-table td {
        padding: 10px;
        font-size: 0.9rem;
    }
    .specs-table th {
        width: 40%;
    }
    
    /* Related products on mobile */
    .related-products-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
    .related-product-name {
        font-size: 0.85rem;
        min-height: 2.4em;
    }
    .related-price-current {
        font-size: 0.95rem;
    }
}
@media (max-width: 480px) {
    .thumb {
        width: 60px;
        height: 60px;
    }
    .price-current {
        font-size: 1.5rem;
    }
    .variant-btn {
        padding: 8px 12px;
        font-size: 0.9rem;
        min-width: 50px;
    }
    
    /* Related products on small mobile */
    .related-products-grid {
        grid-template-columns: 1fr;
    }
    .section-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
}

/* ── PROFILE SYSTEM ── */
.profile-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 32px 16px;
}
.profile-header {
    margin-bottom: 28px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.profile-header h2 {
    font-family: 'Syne', sans-serif;
    font-size: 1.3rem;
    font-weight: 800;
    color: var(--gray-900);
    display: flex;
    align-items: center;
    gap: 12px;
}
.profile-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
    align-items: start;
}
@media (min-width: 992px) {
    .profile-layout {
        grid-template-columns: 300px 1fr;
    }
}
.profile-sidebar {
    display: flex;
    flex-direction: column;
    gap: 24px;
    position: sticky;
    top: 86px;
}
.profile-user-card {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1.5px solid rgba(255, 255, 255, 0.6);
    border-radius: var(--r-xl);
    padding: 28px;
    text-align: center;
    box-shadow: var(--sh-md);
    transition: all var(--tr-bounce);
}
.profile-user-card:hover {
    box-shadow: var(--sh-lg);
    transform: translateY(-2px);
}
.profile-avatar-large {
    width: 84px;
    height: 84px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--blue-500) 0%, var(--blue-700) 100%);
    color: var(--white);
    font-size: 2.2rem;
    font-weight: 800;
    font-family: 'Syne', sans-serif;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
    box-shadow: 0 8px 24px rgba(40, 116, 240, 0.2);
    border: 3px solid var(--white);
}
.profile-user-name {
    font-family: 'Syne', sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--gray-900);
    margin-bottom: 6px;
}
.profile-user-role {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.74rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    background: var(--blue-50);
    color: var(--blue-600);
}
.profile-menu {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1.5px solid rgba(255, 255, 255, 0.6);
    border-radius: var(--r-xl);
    padding: 10px;
    box-shadow: var(--sh-md);
    display: flex;
    flex-direction: row;
    overflow-x: auto;
    gap: 6px;
    scrollbar-width: none;
}
.profile-menu::-webkit-scrollbar {
    display: none;
}
@media (min-width: 992px) {
    .profile-menu {
        flex-direction: column;
        overflow-x: visible;
    }
}
.profile-menu-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 18px;
    border-radius: var(--r-md);
    color: var(--gray-600);
    font-size: 0.9rem;
    font-weight: 600;
    background: none;
    border: none;
    cursor: pointer;
    transition: all var(--tr);
    text-align: left;
    white-space: nowrap;
    width: 100%;
}
.profile-menu-item i {
    font-size: 1.1rem;
    width: 20px;
    text-align: center;
    color: var(--gray-400);
    transition: color var(--tr);
}
.profile-menu-item:hover {
    background: var(--blue-50);
    color: var(--blue-600);
}
.profile-menu-item:hover i {
    color: var(--blue-500);
}
.profile-menu-item.active {
    background: var(--blue-500);
    color: var(--white);
    box-shadow: 0 4px 12px rgba(40, 116, 240, 0.25);
}
.profile-menu-item.active i {
    color: var(--white);
}

.profile-content {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.profile-section-panel {
    display: none;
}
.profile-section-panel.active {
    display: block;
    animation: fadeInTab 0.35s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
@keyframes fadeInTab {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}

.profile-card {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-radius: var(--r-xl);
    padding: 32px;
    margin-bottom: 24px;
    box-shadow: var(--sh-md);
    border: 1.5px solid rgba(255, 255, 255, 0.6);
    transition: all var(--tr-bounce);
}
.profile-card:hover {
    box-shadow: var(--sh-lg);
    border-color: rgba(40, 116, 240, 0.3);
}
.card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1.5px solid var(--gray-100);
}
.card-header h3 {
    margin: 0;
    font-family: 'Syne', sans-serif;
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--gray-900);
    display: flex;
    align-items: center;
    gap: 10px;
}
.address-card {
    background: var(--white);
    padding: 24px;
    border-radius: var(--r-xl);
    border: 1.5px solid var(--gray-100);
    border-left: 4px solid var(--blue-500);
    margin-bottom: 16px;
    box-shadow: var(--sh-sm);
    transition: all var(--tr-bounce);
}
.address-card:hover {
    box-shadow: var(--sh-md);
    transform: translateY(-2px);
    border-color: var(--blue-300);
}
.address-card.default-address {
    border-left-color: var(--green);
    background: linear-gradient(135deg, rgba(16,185,129,0.04) 0%, var(--white) 100%);
}
.address-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 12px;
    flex-wrap: wrap;
    gap: 8px;
}
.address-title {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.address-body .address-line {
    margin: 6px 0;
    color: var(--gray-600);
    font-size: 0.94rem;
    line-height: 1.6;
}
.address-actions {
    display: flex;
    gap: 10px;
    margin-top: 20px;
    flex-wrap: wrap;
}
.btn-action {
    padding: 8px 16px;
    font-size: 0.84rem;
    border-radius: var(--r-md);
    border: 1.5px solid var(--gray-200);
    background: var(--white);
    color: var(--gray-700);
    cursor: pointer;
    transition: all var(--tr);
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.btn-action:hover {
    background: var(--gray-50);
    border-color: var(--blue-400);
    color: var(--blue-500);
}
.btn-set-default:hover {
    background: var(--green-light);
    border-color: var(--green);
    color: var(--green);
}
.btn-delete:hover {
    background: var(--red-light);
    border-color: var(--red);
    color: var(--red);
}
.order-preview-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    border: 1.5px solid var(--gray-100);
    border-radius: var(--r-xl);
    background: var(--gray-50);
    margin-bottom: 16px;
    transition: all var(--tr-bounce);
}
.order-preview-item:hover {
    background: var(--white);
    border-color: var(--blue-200);
    box-shadow: var(--sh-md);
    transform: translateY(-2px);
}
.order-status {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
}
.view-order-btn {
    margin-top: 4px;
    padding: 6px 12px;
    font-size: 0.8rem;
    text-align: center;
}
.seller-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 16px;
    margin-bottom: 24px;
}
.stat-box {
    background: var(--gray-50);
    padding: 20px 16px;
    border-radius: var(--r-xl);
    text-align: center;
    border: 1.5px solid var(--gray-100);
    transition: all var(--tr-bounce);
}
.stat-box:hover {
    background: var(--white);
    border-color: var(--gray-200);
    transform: translateY(-3px);
    box-shadow: var(--sh-md);
}
.stat-box .stat-num {
    display: block;
    font-family: 'Syne', sans-serif;
    font-size: 1.6rem;
    font-weight: 800;
    color: var(--blue-600);
    margin-bottom: 6px;
}
.stat-box .stat-label {
    font-size: 0.82rem;
    color: var(--gray-500);
    font-weight: 600;
}
.seller-quick-links, .admin-links {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 20px;
}
.seller-quick-links .btn-primary, .admin-links .btn-outline {
    flex: 1;
    min-width: 160px;
    text-align: center;
}
.shop-address-card {
    background: var(--gray-50);
    padding: 20px;
    border-radius: var(--r-xl);
    border-left: 4px solid var(--blue-500);
    border-top: 1.5px solid var(--gray-100);
    border-right: 1.5px solid var(--gray-100);
    border-bottom: 1.5px solid var(--gray-100);
}
.shop-address-card p {
    margin: 8px 0;
    font-size: 0.95rem;
    color: var(--gray-600);
}
.shop-address-card strong {
    color: var(--gray-800);
}
.security-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.security-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 0;
    border-bottom: 1.5px dashed var(--gray-100);
}
.security-item:last-child {
    border-bottom: none;
}
.toast {
    position: fixed;
    bottom: 24px;
    right: 24px;
    background: var(--white);
    color: var(--gray-800);
    padding: 12px 24px;
    border-radius: var(--r-xl);
    box-shadow: var(--sh-lg);
    display: flex;
    align-items: center;
    gap: 10px;
    z-index: 9999;
    font-weight: 600;
    font-size: 0.94rem;
    border: 1.5px solid var(--gray-100);
    animation: toastIn 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.toast.success {
    border-left: 4px solid var(--green);
    color: var(--green);
}
.toast.error {
    border-left: 4px solid var(--red);
    color: var(--red);
}
.toast.info {
    border-left: 4px solid var(--blue-500);
    color: var(--blue-600);
}
@keyframes toastIn {
    from { opacity: 0; transform: translateY(20px) scale(0.95); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes toastOut {
    from { opacity: 1; transform: translateY(0); }
    to { opacity: 0; transform: translateY(20px); }
}

/* ── MY ORDERS SYSTEM ── */
.orders-container {
    max-width: 960px;
    margin: 0 auto;
    padding: 24px 16px;
}
.order-filter-bar {
    display: flex;
    gap: 10px;
    margin-bottom: 24px;
    overflow-x: auto;
    padding-bottom: 8px;
    scrollbar-width: none;
}
.order-filter-bar::-webkit-scrollbar {
    display: none;
}
.order-filter-btn {
    padding: 10px 20px;
    border-radius: 30px;
    font-size: 0.88rem;
    font-weight: 600;
    background: var(--white);
    border: 1.5px solid var(--gray-200);
    color: var(--gray-600);
    cursor: pointer;
    transition: all var(--tr-bounce);
    white-space: nowrap;
    box-shadow: var(--sh-xs);
}
.order-filter-btn:hover {
    border-color: var(--blue-400);
    color: var(--blue-600);
    transform: translateY(-1px);
}
.order-filter-btn.active {
    background: linear-gradient(135deg, var(--blue-600) 0%, var(--blue-700) 100%);
    border-color: var(--blue-600);
    color: var(--white);
    box-shadow: 0 4px 15px rgba(40, 116, 240, 0.3);
}

.order-card {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-radius: var(--r-xl);
    margin-bottom: 24px;
    box-shadow: var(--sh-md);
    overflow: hidden;
    border: 1.5px solid rgba(255, 255, 255, 0.6);
    transition: all var(--tr-bounce);
}
.order-card:hover {
    box-shadow: var(--sh-lg);
    border-color: rgba(40, 116, 240, 0.3);
    transform: translateY(-3px);
}
.order-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    background: var(--gray-50);
    border-bottom: 1.5px solid var(--gray-150);
    flex-wrap: wrap;
    gap: 12px;
}
.order-card-header h3 {
    margin: 0;
    font-family: 'Syne', sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--gray-900);
}
.order-id-link {
    color: var(--blue-600);
    text-decoration: none;
    font-weight: 700;
}
.order-id-link:hover {
    text-decoration: underline;
}
.order-status-badge {
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 700;
    white-space: nowrap;
}
.order-status-badge.badge-pending { background: var(--amber-light); color: var(--amber); }
.order-status-badge.badge-confirmed, 
.order-status-badge.badge-processing { background: var(--blue-50); color: var(--blue-600); }
.order-status-badge.badge-shipped, 
.order-status-badge.badge-out_for_delivery { background: rgba(16,185,129,0.08); color: var(--green); }
.order-status-badge.badge-delivered { background: var(--green-light); color: var(--green); }
.order-status-badge.badge-cancelled { background: var(--red-light); color: var(--red); }
.order-status-badge.badge-returned, 
.order-status-badge.badge-refund_initiated { background: #fae8ff; color: #a21caf; }

.order-items-preview {
    padding: 20px 24px;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}
.order-item-mini {
    display: flex;
    align-items: center;
    gap: 14px;
    background: var(--gray-50);
    padding: 12px 16px;
    border-radius: var(--r-lg);
    flex: 1 1 280px;
    max-width: 100%;
    border: 1.5px solid var(--gray-100);
    transition: all var(--tr);
}
.order-item-mini:hover {
    background: var(--white);
    border-color: var(--blue-200);
    box-shadow: var(--sh-sm);
}
.order-item-mini img {
    width: 52px;
    height: 52px;
    border-radius: var(--r-md);
    object-fit: cover;
    flex-shrink: 0;
    background: var(--gray-100);
    border: 1.5px solid var(--gray-200);
}
.order-item-mini h4 {
    margin: 0 0 4px;
    font-size: 0.9rem;
    color: var(--gray-800);
    font-weight: 700;
}
.order-item-mini p {
    margin: 0;
    color: var(--gray-500);
    font-size: 0.84rem;
}
.order-item-more {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--blue-50);
    color: var(--blue-600);
    padding: 8px 16px;
    border-radius: var(--r-lg);
    font-size: 0.85rem;
    font-weight: 700;
}

.order-summary-strip {
    padding: 16px 24px;
    background: var(--gray-50);
    border-top: 1.5px solid var(--gray-100);
    border-bottom: 1.5px solid var(--gray-100);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}
.summary-total {
    font-weight: 800;
    font-size: 1.1rem;
    color: var(--gray-900);
    font-family: 'Syne', sans-serif;
}
.summary-meta {
    font-size: 0.88rem;
    color: var(--gray-500);
}

.order-actions {
    display: flex;
    gap: 12px;
    padding: 16px 24px;
    flex-wrap: wrap;
    align-items: center;
}
.order-actions .btn-track,
.order-actions .btn-cancel,
.order-actions .btn-return,
.order-actions .btn-reorder {
    padding: 10px 20px;
    border-radius: var(--r-md);
    font-weight: 700;
    font-size: 0.88rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all var(--tr-bounce);
    border: 1.5px solid transparent;
}
.order-actions .btn-track {
    border-color: var(--blue-500);
    color: var(--blue-600);
    background: var(--white);
}
.order-actions .btn-track:hover {
    background: var(--blue-500);
    color: var(--white);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(40,116,240,0.15);
}
.order-actions .btn-cancel {
    border-color: var(--red);
    color: var(--red);
    background: var(--white);
}
.order-actions .btn-cancel:hover {
    background: var(--red);
    color: var(--white);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(239,68,68,0.15);
}
.order-actions .btn-return {
    border-color: var(--amber);
    color: var(--amber);
    background: var(--white);
}
.order-actions .btn-return:hover {
    background: var(--amber);
    color: var(--white);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(245,158,11,0.15);
}
.order-actions .btn-reorder {
    border-color: var(--gray-300);
    color: var(--gray-700);
    background: var(--white);
}
.order-actions .btn-reorder:hover {
    border-color: var(--gray-700);
    background: var(--gray-50);
    transform: translateY(-1px);
}

/* Quick Timeline */
.quick-timeline {
    padding: 20px 24px;
    background: var(--gray-50);
    border-top: 1.5px solid var(--gray-100);
}
.timeline-steps {
    display: flex;
    justify-content: space-between;
    position: relative;
}
.timeline-steps::before {
    content: '';
    position: absolute;
    top: 10px;
    left: 10%;
    right: 10%;
    height: 3px;
    background: var(--gray-200);
    z-index: 0;
}
.tl-step {
    position: relative;
    z-index: 1;
    text-align: center;
    flex: 1;
}
.tl-step .dot {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--gray-300);
    margin: 0 auto 8px;
    border: 2px solid var(--white);
    box-shadow: var(--sh-sm);
    transition: all var(--tr-bounce);
}
.tl-step.done .dot {
    background: var(--blue-500);
    box-shadow: 0 0 0 3px rgba(40,116,240,0.15);
}
.tl-step.active .dot {
    background: var(--blue-500);
    box-shadow: 0 0 0 5px rgba(40,116,240,0.25);
}
.tl-step small {
    font-size: 0.74rem;
    color: var(--gray-500);
    display: block;
    line-height: 1.4;
    font-weight: 600;
}

/* ── E-COMMERCE ENHANCEMENTS (Myntra/Flipkart Style) ── */

/* Price off / discount tag green formatting */
.price-off {
    color: var(--green, #388e3c);
    font-size: 0.8rem;
    font-weight: 700;
    background: rgba(16, 185, 129, 0.06);
    padding: 2px 8px;
    border-radius: 6px;
    border: none;
}
.badge-discount {
    background: var(--green, #388e3c);
    color: #fff;
}

/* Related Products Horizontal Scroll */
.related-products-scroll-wrapper {
    width: 100%;
    overflow: hidden;
    padding: 4px 2px;
    margin-bottom: 24px;
}
.related-products-scroll-container {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    padding-bottom: 12px;
    scrollbar-width: thin;
    scrollbar-color: var(--gray-200) transparent;
}
.related-products-scroll-container::-webkit-scrollbar {
    height: 6px;
}
.related-products-scroll-container::-webkit-scrollbar-track {
    background: transparent;
}
.related-products-scroll-container::-webkit-scrollbar-thumb {
    background: var(--gray-200);
    border-radius: 3px;
}
.related-product-card {
    flex: 0 0 200px;
    background: var(--white);
    border-radius: var(--r-xl);
    overflow: hidden;
    border: 1.5px solid var(--gray-100);
    transition: all var(--tr);
    display: flex;
    flex-direction: column;
    box-shadow: var(--sh-sm);
}
@media (min-width: 640px) {
    .related-product-card {
        flex: 0 0 230px;
    }
}
.related-product-card:hover {
    border-color: var(--blue-250);
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.08);
    transform: translateY(-5px);
}

/* Category Quick Filters */
.category-scroll-wrapper {
    width: 100%;
    overflow: hidden;
    padding: 4px 2px;
}
.category-scroll-container {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding-bottom: 8px;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE 10+ */
}
.category-scroll-container::-webkit-scrollbar {
    display: none; /* Safari and Chrome */
}
.category-quick-card {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: var(--white);
    border: 1.5px solid var(--gray-200);
    border-radius: 30px;
    text-decoration: none;
    color: var(--gray-700);
    font-size: 0.85rem;
    font-weight: 600;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    white-space: nowrap;
    box-shadow: var(--sh-sm);
}
.category-quick-card:hover {
    transform: translateY(-2px);
    border-color: var(--blue-400);
    color: var(--blue-600);
    box-shadow: 0 4px 12px rgba(40, 116, 240, 0.08);
}
.category-quick-card.active {
    background: linear-gradient(135deg, var(--blue-600) 0%, var(--blue-700) 100%);
    border-color: var(--blue-600);
    color: var(--white);
    box-shadow: 0 4px 15px rgba(40, 116, 240, 0.3);
}
.category-quick-icon {
    font-size: 1.1rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Payment Status Badges & Buttons */
.badge-paid {
    background: var(--green-light);
    color: var(--green);
    padding: 4px 12px;
    border-radius: 20px;
    font-weight: 700;
}
.badge-unpaid, .badge-failed {
    background: var(--red-light);
    color: var(--red);
    padding: 4px 12px;
    border-radius: 20px;
    font-weight: 700;
}
.badge-pending {
    background: var(--amber-light);
    color: var(--amber);
    padding: 4px 12px;
    border-radius: 20px;
    font-weight: 700;
}
.badge-refunded {
    background: #fae8ff;
    color: #a21caf;
    padding: 4px 12px;
    border-radius: 20px;
    font-weight: 700;
}

/* Order page action buttons */
.btn-cancel {
    background: var(--red-light);
    border: 1.5px solid rgba(239, 68, 68, 0.2);
    color: var(--red);
    padding: 8px 16px;
    border-radius: var(--r-md);
    font-weight: 750;
    cursor: pointer;
    font-size: 0.85rem;
    transition: all var(--tr);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.btn-cancel:hover {
    background: var(--red);
    color: var(--white);
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(239, 68, 68, 0.15);
}

.btn-reorder {
    background: var(--green-light);
    border: 1.5px solid rgba(16, 185, 129, 0.2);
    color: var(--green);
    padding: 8px 16px;
    border-radius: var(--r-md);
    font-weight: 750;
    cursor: pointer;
    font-size: 0.85rem;
    transition: all var(--tr);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.btn-reorder:hover {
    background: var(--green);
    color: var(--white);
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(16, 185, 129, 0.15);
}

.btn-return {
    background: var(--blue-50);
    border: 1.5px solid var(--blue-100);
    color: var(--blue-600);
    padding: 8px 16px;
    border-radius: var(--r-md);
    font-weight: 750;
    cursor: pointer;
    font-size: 0.85rem;
    transition: all var(--tr);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.btn-return:hover {
    background: var(--blue-600);
    color: var(--white);
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(40, 116, 240, 0.15);
}

/* Card action row and share button integration */
.card-action-row {
    display: flex;
    border-top: 1.5px solid var(--gray-100);
    border-radius: 0 0 16px 16px;
    overflow: hidden;
    background: var(--white);
}
.card-action-row .btn-view {
    flex: 1;
    border-top: none;
    border-radius: 0;
}
.card-share-btn {
    width: 48px;
    border: none;
    border-left: 1.5px solid var(--gray-150);
    background: var(--white);
    color: var(--gray-500);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    transition: all var(--tr);
    margin: 0;
    padding: 0;
    border-radius: 0;
}
.card-share-btn:hover {
    background: var(--blue-50);
    color: var(--blue-600);
}

/* ── RESPONSIVE UPGRADES FOR PORTABLES & MOBILE VIEWS ── */

/* Form Grid Styling */
.form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
    margin-bottom: 16px;
}

@media (max-width: 991px) {
    .profile-layout {
        display: flex;
        flex-direction: column;
        gap: 24px;
        width: 100%;
        min-width: 0;
        overflow: hidden;
    }
    .profile-sidebar {
        position: static;
        width: 100%;
        min-width: 0;
        overflow: hidden;
    }
    .profile-content {
        width: 100%;
        min-width: 0;
        overflow: hidden;
    }
    .profile-user-card {
        display: flex;
        align-items: center;
        text-align: left;
        gap: 20px;
        padding: 20px 24px;
    }
    .profile-avatar-large {
        width: 56px;
        height: 56px;
        font-size: 1.5rem;
        margin: 0;
        border-width: 2px;
    }
    .profile-user-name {
        font-size: 1.15rem;
        margin-bottom: 2px;
    }
    .profile-menu {
        flex-direction: row;
        overflow-x: auto;
        padding: 10px;
        gap: 6px;
        -webkit-overflow-scrolling: touch;
        width: 100%;
    }
    .profile-menu-item {
        width: auto;
        flex-shrink: 0;
        padding: 10px 16px;
        font-size: 0.85rem;
    }
    .profile-card {
        padding: 20px 16px;
        margin-bottom: 16px;
    }
    .card-header {
        margin-bottom: 16px;
        padding-bottom: 12px;
    }
    .orders-container {
        padding: 20px 12px;
    }
}

@media (max-width: 768px) {
    .profile-container {
        padding: 20px 12px;
    }
    .profile-header {
        margin-bottom: 20px;
    }
    .profile-header h2 {
        font-size: 1.15rem;
        gap: 8px;
    }
}

@media (max-width: 600px) {
    .order-card-header {
        padding: 16px;
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    .order-items-preview {
        padding: 16px;
        gap: 12px;
    }
    .order-summary-strip {
        padding: 16px;
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    .order-actions {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
        padding: 16px;
    }
    .order-actions .btn-track,
    .order-actions .btn-cancel,
    .order-actions .btn-return,
    .order-actions .btn-reorder {
        width: 100%;
        justify-content: center;
    }
    .quick-timeline {
        padding: 16px;
    }
}

@media (max-width: 576px) {
    .form-grid {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-bottom: 12px;
    }
    .card-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
    .card-header h3 {
        font-size: 1.15rem;
    }
    .address-card {
        padding: 16px;
    }
    .order-preview-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        padding: 16px;
    }
    .order-status {
        align-items: flex-start !important;
        width: 100%;
        gap: 8px;
    }
    .view-order-btn {
        width: 100%;
    }
    .seller-quick-links, .admin-links {
        flex-direction: column;
        align-items: stretch;
    }
    .seller-quick-links .btn-primary, .admin-links .btn-outline {
        width: 100%;
    }
    .security-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
    .security-item .btn-outline {
        width: 100%;
        text-align: center;
    }
}

@media (max-width: 480px) {
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
        margin-bottom: 16px;
    }
    .stat-card.total {
        grid-column: span 2;
    }
    .address-actions {
        width: 100%;
    }
    .address-actions .btn-action {
        flex: 1 1 calc(50% - 6px);
        justify-content: center;
    }
    .seller-stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
    .tl-step small {
        font-size: 0.65rem;
    }
}

@media (max-width: 576px) {
    .filters-bar, .filter-bar, .filter-bar-admin {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
        padding: 12px;
    }
    .filters-bar .form-input, .filters-bar .form-select,
    .filter-bar .form-input, .filter-bar .form-select,
    .filter-bar-admin .form-input, .filter-bar-admin .form-select {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
    .filters-bar .btn-primary, .filters-bar .btn-outline, .filters-bar .btn-clear,
    .filter-bar .btn-primary, .filter-bar .btn-outline, .filter-bar .btn-clear {
        width: 100% !important;
        justify-content: center;
    }
}

/* ==================== 💎 PREMIUM CUSTOM CHECKBOX CARDS ==================== */

/* Checkbox group container */
.checkbox-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 20px;
}

/* Styled label container acting as a modern selectable card */
.checkbox-group .check-label {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    user-select: none;
    font-weight: 600;
    color: var(--gray-800);
    font-size: 0.95rem;
    position: relative;
    padding: 12px 16px;
    background: #f8fafc;
    border: 1.5px solid #e2e8f0;
    border-radius: var(--r-xl);
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: var(--sh-xs);
    width: 100%;
    box-sizing: border-box;
}

.checkbox-group .check-label:hover {
    background: #f1f5f9;
    border-color: #cbd5e1;
    transform: translateY(-1px);
    box-shadow: var(--sh-sm);
}

/* Hide default checkbox appearance and style a custom square */
.checkbox-group .check-label input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 22px;
    height: 22px;
    border: 2px solid #cbd5e1;
    border-radius: 6px;
    background: white;
    outline: none;
    transition: all 0.25s ease;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    flex-shrink: 0;
    margin: 0;
}

/* Focus state */
.checkbox-group .check-label input[type="checkbox"]:focus {
    box-shadow: 0 0 0 3px rgba(40, 116, 240, 0.15);
}

/* Checked state */
.checkbox-group .check-label input[type="checkbox"]:checked {
    background: var(--blue-500);
    border-color: var(--blue-500);
}

/* Custom checkmark check icon */
.checkbox-group .check-label input[type="checkbox"]:checked::after {
    content: '\f00c';
    font-family: 'Font Awesome 6 Free', 'Font Awesome 5 Free', sans-serif;
    font-weight: 900;
    color: white;
    font-size: 11px;
    position: absolute;
}

/* Checked state wrapper card styling */
.checkbox-group .check-label:has(input[type="checkbox"]:checked) {
    background: rgba(40, 116, 240, 0.04);
    border-color: var(--blue-400);
    box-shadow: 0 4px 12px rgba(40, 116, 240, 0.06);
}

/* ==================== 📱 RESPONSIVE ORDER DETAILS GRID FOR ADMIN ==================== */
.admin-order-details-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 24px;
}

@media (max-width: 992px) {
    .admin-order-details-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ══════════════════════════════════════════════════════════════════
   🌟 PREMIUM MOBILE E-COMMERCE PRODUCT CARD & GRID SYSTEM
══════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
    .product-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }
    
    .product-card {
        border-radius: 14px !important;
        box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04) !important;
        border: 1px solid var(--gray-150, #e2e8f0) !important;
    }
    
    .img-wrap {
        aspect-ratio: 1 / 1.15 !important;
        border-radius: 14px 14px 0 0 !important;
    }
    
    .float-wishlist {
        top: 8px !important;
        right: 8px !important;
        width: 30px !important;
        height: 30px !important;
        font-size: 0.85rem !important;
    }
    
    .badge-gender, .badge-discount, .badge-hot {
        font-size: 0.58rem !important;
        padding: 2px 6px !important;
        border-radius: 5px !important;
    }
    .badge-hot {
        top: 8px !important;
        left: 8px !important;
        bottom: auto !important;
        right: auto !important;
    }
    .badge-gender {
        bottom: 8px !important;
        left: 8px !important;
        top: auto !important;
        right: auto !important;
    }
    .badge-discount {
        bottom: 8px !important;
        right: 8px !important;
        top: auto !important;
        left: auto !important;
    }
    
    .product-info {
        padding: 10px 10px 8px 10px !important;
        gap: 4px !important;
    }
    
    .product-seller {
        font-size: 0.64rem !important;
        letter-spacing: 0.03em !important;
        margin-bottom: 1px !important;
    }
    
    .product-name {
        font-size: 0.84rem !important;
        line-height: 1.3 !important;
        min-height: 2.4em !important;
        max-height: 2.6em !important;
    }
    
    .price-row {
        gap: 5px !important;
        margin-top: 2px !important;
        align-items: baseline !important;
    }
    
    .price-current {
        font-size: 0.98rem !important;
        font-weight: 800 !important;
    }
    
    .price-mrp {
        font-size: 0.76rem !important;
    }
    
    .price-off {
        font-size: 0.64rem !important;
        padding: 1px 5px !important;
    }
    
    .card-action-row {
        border-radius: 0 0 14px 14px !important;
    }
    
    .card-action-row .btn-view {
        padding: 8px 6px !important;
        font-size: 0.78rem !important;
    }
    
    .card-share-btn {
        width: 36px !important;
        font-size: 0.85rem !important;
    }
}

@media (max-width: 480px) {
    .product-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
    }
    
    .product-card {
        border-radius: 12px !important;
        box-shadow: 0 2px 8px rgba(15, 23, 42, 0.03) !important;
        border: 1px solid #f1f5f9 !important;
    }
    
    .img-wrap {
        aspect-ratio: 1 / 1.12 !important; /* Elegant, proportionate mobile height */
        border-radius: 12px 12px 0 0 !important;
    }
    
    .float-wishlist {
        top: 6px !important;
        right: 6px !important;
        width: 28px !important;
        height: 28px !important;
        font-size: 0.78rem !important;
        box-shadow: 0 2px 6px rgba(0,0,0,0.08) !important;
    }
    
    .badge-gender, .badge-discount, .badge-hot {
        font-size: 0.52rem !important;
        padding: 2px 5px !important;
        border-radius: 4px !important;
        line-height: 1.1 !important;
    }
    .badge-hot {
        top: 6px !important;
        left: 6px !important;
        bottom: auto !important;
        right: auto !important;
    }
    .badge-gender {
        bottom: 6px !important;
        left: 6px !important;
        top: auto !important;
        right: auto !important;
    }
    .badge-discount {
        bottom: 6px !important;
        right: 6px !important;
        top: auto !important;
        left: auto !important;
    }
    
    .product-info {
        padding: 8px 8px 6px 8px !important;
        gap: 2px !important;
    }
    
    .product-seller {
        font-size: 0.6rem !important;
        letter-spacing: 0.03em !important;
        margin-bottom: 1px !important;
    }
    
    .product-name {
        font-size: 0.8rem !important;
        line-height: 1.25 !important;
        min-height: 2.3em !important;
        max-height: 2.5em !important;
    }
    
    .price-row {
        gap: 4px !important;
        margin-top: 1px !important;
        align-items: baseline !important;
    }
    
    .price-current {
        font-size: 0.92rem !important;
        font-weight: 800 !important;
    }
    
    .price-mrp {
        font-size: 0.72rem !important;
    }
    
    .price-off {
        font-size: 0.6rem !important;
        padding: 1px 4px !important;
        border-radius: 3px !important;
    }
    
    .card-action-row {
        border-radius: 0 0 12px 12px !important;
    }
    
    .card-action-row .btn-view {
        padding: 7px 6px !important;
        font-size: 0.75rem !important;
        font-weight: 700 !important;
    }
    
    .card-share-btn {
        width: 32px !important;
        font-size: 0.78rem !important;
    }
    
    /* ── Deals Card Mobile ── */
    .deal-card {
        min-width: 140px !important;
        max-width: 155px !important;
        border-radius: 12px !important;
    }
    .deal-card-img {
        aspect-ratio: 1 / 1.1 !important;
    }
    .deal-card-body {
        padding: 8px !important;
    }
    .deal-card-name {
        font-size: 0.78rem !important;
        margin-bottom: 4px !important;
    }
    
    /* ── Related Products Card Mobile ── */
    .related-product-card {
        flex: 0 0 145px !important;
        border-radius: 12px !important;
    }
    .related-image-wrapper {
        aspect-ratio: 1 / 1.1 !important;
    }
    .related-product-info {
        padding: 8px !important;
    }
    .related-product-name {
        font-size: 0.78rem !important;
    }
    .related-price-current {
        font-size: 0.9rem !important;
    }
    .related-product-actions a.btn-view-details {
        padding: 6px 8px !important;
        font-size: 0.75rem !important;
    }
    .related-product-actions button {
        width: 28px !important;
        height: 28px !important;
        font-size: 0.8rem !important;
    }
    
    /* ── Wishlist Card Mobile ── */
    .wl-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
    }
    .wl-card {
        border-radius: 12px !important;
    }
    .wl-img-wrap {
        aspect-ratio: 1 / 1.12 !important;
    }
    .wl-remove {
        top: 6px !important;
        right: 6px !important;
        width: 26px !important;
        height: 26px !important;
        font-size: 0.75rem !important;
    }
}

/* ══════════════════════════════════════════════
   PWA APP INSTALL BANNER & MODAL SYSTEM
   ══════════════════════════════════════════════ */
@keyframes pwaSlideUp {
    from {
        transform: translateY(100px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.pwa-install-banner {
    position: fixed;
    bottom: calc(64px + env(safe-area-inset-bottom, 0px));
    left: 12px;
    right: 12px;
    max-width: 480px;
    margin: 0 auto;
    background: #ffffff;
    border: 1.5px solid rgba(40, 116, 240, 0.25);
    border-radius: 16px;
    box-shadow: 0 12px 36px rgba(15, 23, 42, 0.18), 0 4px 12px rgba(40, 116, 240, 0.12);
    padding: 10px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    z-index: 998;
    animation: pwaSlideUp 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@media (min-width: 768px) {
    .pwa-install-banner {
        bottom: 24px;
        right: 24px;
        left: auto;
        width: 380px;
        max-width: 380px;
    }
}

.pwa-banner-content {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    flex: 1;
}

.pwa-app-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    object-fit: cover;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    flex-shrink: 0;
    border: 1px solid rgba(0, 0, 0, 0.05);
}

.pwa-app-details {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.pwa-app-title {
    font-size: 0.9rem;
    font-weight: 800;
    color: #0f172a;
    display: flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pwa-app-badge {
    font-size: 0.62rem;
    font-weight: 700;
    background: #dbeafe;
    color: #1d4ed8;
    padding: 1px 6px;
    border-radius: 4px;
    text-transform: uppercase;
}

.pwa-app-subtitle {
    font-size: 0.72rem;
    color: #64748b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pwa-app-rating {
    font-size: 0.68rem;
    color: #475569;
    font-weight: 600;
}

.pwa-stars {
    color: #f59e0b;
    font-size: 0.7rem;
}

.pwa-banner-actions {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}

.pwa-install-btn {
    background: #2874f0;
    color: #ffffff;
    font-weight: 700;
    font-size: 0.8rem;
    padding: 8px 14px;
    border-radius: 10px;
    border: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    box-shadow: 0 4px 14px rgba(40, 116, 240, 0.35);
    transition: all 0.2s ease;
    white-space: nowrap;
    font-family: inherit;
}

.pwa-install-btn:hover {
    background: #1a62d6;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(40, 116, 240, 0.45);
}

.pwa-install-btn:active {
    transform: scale(0.97);
}

.pwa-close-btn {
    background: none;
    border: none;
    color: #94a3b8;
    font-size: 0.95rem;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
    flex-shrink: 0;
}

.pwa-close-btn:hover {
    background: #f1f5f9;
    color: #475569;
}

/* ── Mobile Drawer Install Item ── */
.pwa-drawer-item {
    margin: 8px 0;
    padding: 0 6px;
}

.pwa-drawer-btn {
    width: 100%;
    background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%) !important;
    border: 1.5px solid #bfdbfe !important;
    border-radius: 12px !important;
    padding: 10px 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    cursor: pointer;
    transition: all 0.2s ease;
}

.pwa-drawer-btn:hover {
    background: #dbeafe !important;
    transform: translateY(-1px);
}

.pwa-drawer-badge {
    background: #2874f0;
    color: #ffffff;
    font-size: 0.65rem;
    font-weight: 800;
    padding: 2px 8px;
    border-radius: 999px;
    letter-spacing: 0.04em;
}

/* ── Desktop Header Install Pill ── */
.pwa-desktop-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #eff6ff;
    color: #2874f0;
    border: 1.5px solid #bfdbfe;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    font-family: inherit;
    margin-right: 6px;
}

.pwa-desktop-btn:hover {
    background: #2874f0;
    color: #ffffff;
    border-color: #2874f0;
    box-shadow: 0 4px 12px rgba(40, 116, 240, 0.25);
}

/* ── iOS Safari Guided Install Modal ── */
.pwa-ios-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(15, 23, 42, 0.6);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: flex-end;
    justify-content: center;
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s ease, visibility 0.25s ease;
    padding: 16px;
}

.pwa-ios-modal-overlay.show {
    opacity: 1;
    visibility: visible;
}

.pwa-ios-sheet {
    background: #ffffff;
    width: 100%;
    max-width: 440px;
    border-radius: 20px;
    padding: 24px 20px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
    position: relative;
    transform: translateY(40px);
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.pwa-ios-modal-overlay.show .pwa-ios-sheet {
    transform: translateY(0);
}

.pwa-ios-close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #f1f5f9;
    border: none;
    color: #64748b;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 0.9rem;
}

.pwa-ios-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
}

.pwa-ios-icon {
    width: 52px;
    height: 52px;
    border-radius: 12px;
    object-fit: cover;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.pwa-ios-title {
    font-size: 1.05rem;
    font-weight: 800;
    color: #0f172a;
}

.pwa-ios-desc {
    font-size: 0.8rem;
    color: #64748b;
}

.pwa-ios-steps {
    display: flex;
    flex-direction: column;
    gap: 14px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 16px;
    margin-bottom: 20px;
}

.pwa-ios-step {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.85rem;
    color: #1e293b;
    font-weight: 500;
}

.pwa-ios-step-num {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #2874f0;
    color: #ffffff;
    font-weight: 700;
    font-size: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.pwa-ios-step i {
    color: #2874f0;
    margin: 0 2px;
    font-size: 1rem;
}

.pwa-ios-done-btn {
    width: 100%;
    background: #2874f0;
    color: #ffffff;
    border: none;
    font-weight: 700;
    padding: 12px;
    border-radius: 12px;
    cursor: pointer;
    font-size: 0.9rem;
    font-family: inherit;
    transition: background 0.2s;
}

.pwa-ios-done-btn:hover {
    background: #1a62d6;
}