        /* ===============================
           TRUSTY PEPTIDE — DESIGN SYSTEM
        ================================= */
        :root {
            --ink: #07111f;
            --ink-60: rgba(7,17,31,0.6);
            --ink-30: rgba(7,17,31,0.3);
            --ink-12: rgba(7,17,31,0.12);
            --ink-08: rgba(7,17,31,0.08);
            --ink-04: rgba(7,17,31,0.04);
            --paper: #f4f7fc;
            --paper-2: #ebf0f8;
            --white: #ffffff;
            --white-90: rgba(255,255,255,0.9);
            --white-60: rgba(255,255,255,0.6);
            --white-20: rgba(255,255,255,0.2);
            --white-08: rgba(255,255,255,0.08);
            --blue: #005cc8;
            --blue-deep: #003d8a;
            --cyan: #10b981;
            --cyan-dim: rgba(16,185,129,0.12);
            --dark: #060e1d;
            --dark-2: #09142a;
            --grad-blue: linear-gradient(135deg, #005cc8 0%, #003d8a 100%);
            --grad-cyan: linear-gradient(135deg, #10b981 0%, #059669 100%);
            --grad-accent: linear-gradient(90deg, #10b981 0%, #005cc8 100%);
            --ease: cubic-bezier(0.16, 1, 0.3, 1);
            --ease-slow: cubic-bezier(0.25, 1, 0.5, 1);
            --shadow-sm: 0 2px 8px rgba(7,17,31,0.06), 0 1px 2px rgba(7,17,31,0.04);
            --shadow-md: 0 8px 24px rgba(7,17,31,0.08), 0 2px 6px rgba(7,17,31,0.04);
            --shadow-lg: 0 20px 48px rgba(7,17,31,0.10), 0 6px 16px rgba(7,17,31,0.06);
            --r: 7px;
            --r-sm: 4px;
            --r-lg: 10px;
            --r-full: 100px;
            --surface: #eef2f9;
            --surface-dark: #1a2744;
            --success: #16a34a;
            --warning: #d97706;
            --error: #dc2626;
            --amber: #f59e0b;
        }

        * { margin: 0; padding: 0; box-sizing: border-box; }

        ::selection { background: var(--cyan); color: var(--dark); }

        html { scroll-behavior: smooth; }

        body {
            font-family: 'Instrument Sans', sans-serif;
            line-height: 1.6;
            color: var(--ink);
            background: var(--white);
            overflow-x: hidden;
            -webkit-font-smoothing: antialiased;
        }

        /* === ANNOUNCEMENT BAR === */
        .announcement-bar {
            position: fixed;
            top: 0;
            width: 100%;
            z-index: 1001;
            background: var(--dark);
            border-bottom: 1px solid rgba(16,185,129,0.15);
            height: 38px;
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
        }

        .announcement-track {
            display: flex;
            align-items: center;
            gap: 0;
            justify-content: center;
            width: 100%;
        }

        .announcement-item {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            font-size: 0.7rem;
            font-weight: 500;
            letter-spacing: 0.06em;
            color: var(--white-60);
            padding: 0 1.5rem;
            border-right: 1px solid rgba(255,255,255,0.1);
        }

        .announcement-item:last-child { border-right: none; }

        .announcement-item strong { color: var(--white); font-weight: 600; }

        .announcement-dot { display: none; }

        @media (max-width: 768px) {
            .announcement-item { display: none; border-right: none; padding: 0 1rem; }
            .announcement-item.active { display: inline-flex; }
        }

        /* === HEADER === */
        .header {
            position: fixed;
            top: 38px;
            width: 100%;
            z-index: 1000;
            transition: background 0.5s var(--ease), box-shadow 0.5s var(--ease), top 0.4s var(--ease), backdrop-filter 0.5s var(--ease);
            background: rgba(6, 14, 29, 0.35);
            backdrop-filter: blur(20px) saturate(180%);
            -webkit-backdrop-filter: blur(20px) saturate(180%);
            border-bottom: 1px solid rgba(255, 255, 255, 0.08);
            box-shadow: 0 4px 24px rgba(0, 0, 0, 0.18);
        }

        .header.scrolled {
            background: rgba(255, 255, 255, 0.88);
            backdrop-filter: blur(20px) saturate(180%);
            -webkit-backdrop-filter: blur(20px) saturate(180%);
            border-bottom: 1px solid rgba(255, 255, 255, 0.15);
            box-shadow: 0 1px 0 var(--ink-08), 0 4px 24px rgba(7, 17, 31, 0.08);
        }

        .nav-container {
            display: flex;
            justify-content: space-between;
            align-items: center;
            max-width: 1400px;
            margin: 0 auto;
            padding: 1.25rem 2rem;
        }

        .logo {
            font-family: 'Space Grotesk', sans-serif;
            font-weight: 700;
            font-size: 1.6rem;
            color: var(--white);
            text-decoration: none;
            letter-spacing: -0.01em;
            transition: color 0.4s var(--ease);
        }

        .header.scrolled .logo { color: var(--blue); }

        .nav-menu {
            display: flex;
            list-style: none;
            gap: 2rem;
            align-items: center;
        }

        .nav-link {
            text-decoration: none;
            color: var(--white-60);
            font-weight: 500;
            font-size: 0.9rem;
            letter-spacing: 0.01em;
            transition: color 0.3s var(--ease);
            position: relative;
        }

        .nav-link::after {
            content: '';
            position: absolute;
            bottom: -3px; left: 0;
            width: 0; height: 1.5px;
            background: var(--cyan);
            transition: width 0.3s var(--ease);
        }

        .nav-link:hover { color: var(--white); }
        .nav-link:hover::after { width: 100%; }
        .nav-link.active { color: var(--white); }
        .nav-link.active::after { width: 100%; background: var(--cyan); }
        .header.scrolled .nav-link { color: var(--ink-60); }
        .header.scrolled .nav-link:hover { color: var(--ink); }
        .header.scrolled .nav-link.active { color: var(--blue); }
        .header.scrolled .nav-link.active::after { background: var(--blue); }

        .cta-button {
            background: var(--grad-cyan);
            color: white;
            padding: 0.6rem 1.3rem;
            border: none;
            border-radius: var(--r-full);
            font-weight: 600;
            font-size: 0.85rem;
            text-decoration: none;
            transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
            letter-spacing: 0.01em;
        }

        .cta-button:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 24px rgba(16,185,129,0.35);
        }

        /* === HERO === */
        .hero {
            min-height: 100vh;
            background-color: var(--dark);
            background-image: radial-gradient(rgba(16,185,129,0.05) 1px, transparent 1px);
            background-size: 40px 40px;
            display: flex;
            align-items: center;
            position: relative;
            overflow: hidden;
        }

        .hero::before {
            content: '';
            position: absolute;
            inset: 0;
            background:
                radial-gradient(ellipse 60% 70% at 80% 40%, rgba(16,185,129,0.12) 0%, transparent 60%),
                radial-gradient(ellipse 40% 50% at 15% 75%, rgba(0,92,200,0.1) 0%, transparent 55%);
            pointer-events: none;
        }

        .hero-content {
            max-width: 1400px;
            margin: 0 auto;
            padding: 9rem 2rem 6rem;
            display: grid;
            grid-template-columns: 1.1fr 0.9fr;
            gap: 4rem;
            align-items: center;
            position: relative;
            z-index: 2;
            width: 100%;
        }

        .hero-eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.72rem;
            font-weight: 600;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: var(--cyan);
            margin-bottom: 1.5rem;
            padding: 0.4rem 0.9rem;
            border: 1px solid rgba(16,185,129,0.28);
            border-radius: var(--r-full);
            background: rgba(16,185,129,0.08);
            width: fit-content;
        }

        .hero-text h1 {
            font-family: 'Space Grotesk', sans-serif;
            font-size: clamp(50px, 7.5vw, 108px);
            font-weight: 700;
            color: var(--white);
            line-height: 1.0;
            letter-spacing: -0.03em;
            margin-bottom: 1.5rem;
        }

        .hero-text h1 .highlight {
            background: linear-gradient(90deg, #10b981, #6fa8ff);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        .hero-text p {
            font-size: clamp(1rem, 1.3vw, 1.15rem);
            color: var(--white-60);
            margin-bottom: 2.5rem;
            max-width: 460px;
            line-height: 1.75;
        }

        .hero-buttons {
            display: flex;
            gap: 1rem;
            flex-wrap: wrap;
        }

        .btn-primary {
            background: var(--grad-cyan);
            color: white;
            padding: 0.9rem 2rem;
            border: none;
            border-radius: var(--r-full);
            font-weight: 600;
            font-size: 0.95rem;
            text-decoration: none;
            transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
            letter-spacing: 0.01em;
            display: inline-block;
        }

        .btn-primary:hover {
            transform: translateY(-3px);
            box-shadow: 0 12px 32px rgba(16,185,129,0.35);
        }

        .btn-secondary {
            background: transparent;
            color: var(--white);
            padding: 0.9rem 2rem;
            border: 1.5px solid var(--white-20);
            border-radius: var(--r-full);
            font-weight: 600;
            font-size: 0.95rem;
            text-decoration: none;
            transition: all 0.3s var(--ease);
            letter-spacing: 0.01em;
            display: inline-block;
        }

        .btn-secondary:hover {
            border-color: rgba(255,255,255,0.5);
            background: var(--white-08);
            transform: translateY(-3px);
        }

        .hero-visual {
            display: flex;
            justify-content: center;
            align-items: center;
            position: relative;
            height: 480px;
        }

        /* === FLOATING VIALS === */
        .hero-vials {
            position: relative;
            width: 380px;
            height: 420px;
        }

        .hero-vial {
            position: absolute;
            display: flex;
            flex-direction: column;
            align-items: center;
            filter: drop-shadow(0 24px 48px rgba(0,0,0,0.5));
        }

        .hero-vial:nth-child(1) {
            left: 20px; top: 30px;
            animation: vialFloat1 6s ease-in-out infinite;
        }
        .hero-vial:nth-child(2) {
            left: 140px; top: 0;
            animation: vialFloat2 7s ease-in-out infinite;
            animation-delay: -2s;
        }
        .hero-vial:nth-child(3) {
            left: 258px; top: 50px;
            animation: vialFloat3 5.5s ease-in-out infinite;
            animation-delay: -1s;
        }

        .vial-svg {
            width: 90px;
            height: 220px;
            display: block;
            filter: drop-shadow(0 12px 32px rgba(0,0,0,0.35)) drop-shadow(0 2px 6px rgba(0,0,0,0.2));
        }

        @keyframes vialFloat1 {
            0%, 100% { transform: translateY(0px) rotate(-4deg); }
            50% { transform: translateY(-18px) rotate(-4deg); }
        }
        @keyframes vialFloat2 {
            0%, 100% { transform: translateY(0px) rotate(2deg); }
            50% { transform: translateY(-24px) rotate(2deg); }
        }
        @keyframes vialFloat3 {
            0%, 100% { transform: translateY(0px) rotate(5deg); }
            50% { transform: translateY(-14px) rotate(5deg); }
        }


        .vial-glow {
            position: absolute;
            bottom: -20px;
            width: 80px; height: 30px;
            background: radial-gradient(ellipse, rgba(16,185,129,0.4) 0%, transparent 70%);
            filter: blur(8px);
        }

        /* === GUARANTEE SECTION === */
        .guarantee {
            padding: 5rem 2rem;
            background: var(--white);
            position: relative;
        }

        .guarantee::before {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0;
            height: 1px;
            background: linear-gradient(90deg, transparent, var(--ink-08), transparent);
        }

        .guarantee-container { max-width: 1400px; margin: 0 auto; }

        .guarantee-header {
            text-align: center;
            margin-bottom: 3rem;
        }

        .guarantee-header h2 {
            font-family: 'Space Grotesk', sans-serif;
            font-size: clamp(28px, 3vw, 42px);
            font-weight: 600;
            color: var(--ink);
            letter-spacing: -0.02em;
            line-height: 1.1;
            margin-bottom: 0.5rem;
        }

        .guarantee-header p {
            font-size: 1rem;
            color: var(--ink-60);
        }

        .guarantee-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 1.5rem;
        }

        .guarantee-card {
            border-radius: var(--r-lg);
            padding: 2.25rem;
            position: relative;
            overflow: hidden;
            border: 1px solid transparent;
            transition: transform 0.4s var(--ease), box-shadow 0.4s var(--ease);
        }

        .guarantee-card:hover {
            transform: translateY(-5px);
            box-shadow: var(--shadow-lg);
        }

        .guarantee-card.green {
            background: #f0fdf4;
            border-color: #bbf7d0;
        }

        .guarantee-card.blue {
            background: #eff6ff;
            border-color: #bfdbfe;
        }

        .guarantee-card.amber {
            background: #fffbeb;
            border-color: #fde68a;
        }

        .guarantee-icon {
            width: 52px; height: 52px;
            border-radius: var(--r-sm);
            display: flex; align-items: center; justify-content: center;
            font-size: 1.5rem;
            margin-bottom: 1.25rem;
        }

        .guarantee-card.green .guarantee-icon { background: #dcfce7; }
        .guarantee-card.blue .guarantee-icon { background: #dbeafe; }
        .guarantee-card.amber .guarantee-icon { background: #fef3c7; }

        .guarantee-card h3 {
            font-family: 'Space Grotesk', sans-serif;
            font-size: 1.2rem;
            font-weight: 600;
            color: var(--ink);
            margin-bottom: 0.3rem;
            letter-spacing: -0.01em;
        }

        .guarantee-badge {
            display: inline-block;
            font-size: 0.68rem;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            padding: 0.2rem 0.6rem;
            border-radius: var(--r-full);
            margin-bottom: 0.75rem;
        }

        .guarantee-card.green .guarantee-badge { background: var(--grad-cyan); color: var(--white); }
        .guarantee-card.blue .guarantee-badge { background: #bfdbfe; color: #1d4ed8; }
        .guarantee-card.amber .guarantee-badge { background: #fde68a; color: #92400e; }

        .guarantee-card p {
            font-size: 0.9rem;
            color: var(--ink-60);
            line-height: 1.7;
        }

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

        /* === PRODUCT STARS === */
        .product-stars {
            display: flex;
            align-items: center;
            gap: 0.35rem;
            margin-bottom: 0.6rem;
        }

        .stars-visual {
            display: flex;
            gap: 1px;
        }

        .stars-visual span {
            display: block;
            width: 12px; height: 12px;
            background: #f59e0b;
            clip-path: polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);
        }

        .stars-score {
            font-size: 0.75rem;
            font-weight: 700;
            color: var(--ink);
        }

        .stars-count {
            font-size: 0.72rem;
            color: var(--ink-30);
        }

        /* === FOOTER SOCIAL & BADGES === */
        .footer-social {
            display: flex;
            gap: 0.75rem;
            margin-top: 1.25rem;
        }

        .social-icon {
            width: 34px; height: 34px;
            border-radius: 8px;
            background: var(--white-08);
            border: 1px solid rgba(255,255,255,0.1);
            display: flex; align-items: center; justify-content: center;
            transition: background 0.25s var(--ease), border-color 0.25s var(--ease), transform 0.25s var(--ease);
            text-decoration: none;
        }

        .social-icon:hover {
            background: rgba(16,185,129,0.15);
            border-color: rgba(16,185,129,0.3);
            transform: translateY(-2px);
        }

        .social-icon svg { width: 15px; height: 15px; fill: rgba(255,255,255,0.65); transition: fill 0.25s; }
        .social-icon:hover svg { fill: var(--cyan); }

        .footer-trust-bar {
            max-width: 1400px;
            margin: 0 auto;
            padding: 1.75rem 0 0;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 2.5rem;
            flex-wrap: wrap;
        }

        .footer-trust-item {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.75rem;
            font-weight: 600;
            color: rgba(255,255,255,0.45);
            letter-spacing: 0.04em;
            text-transform: uppercase;
        }

        .footer-trust-dot {
            width: 6px; height: 6px;
            border-radius: 50%;
            background: rgba(16,185,129,0.5);
            flex-shrink: 0;
        }

        .footer-copyright {
            max-width: 1400px;
            margin: 1.25rem auto 0;
            padding-top: 1.25rem;
            border-top: 1px solid rgba(255,255,255,0.06);
            text-align: center;
            color: rgba(255,255,255,0.25);
            font-size: 0.78rem;
        }
        .footer-payment-icons {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            margin-top: 0.75rem;
            opacity: 0.65;
        }
        .payment-icon {
            border-radius: 4px;
            display: block;
        }

        /* === FEATURES === */
        /* === STARTER STACK CARD === */
        .starter-stack-card {
            grid-column: span 2;
            align-self: start;
            background: linear-gradient(135deg, #060e1d 0%, #0c1e38 100%);
            border: 1px solid rgba(16,185,129,0.25);
            border-top: 2px solid var(--cyan);
            border-radius: var(--r-lg);
            padding: 1.75rem;
            display: flex;
            flex-direction: column;
            gap: 1.25rem;
            position: relative;
            overflow: hidden;
        }
        .starter-stack-card::before {
            content: '';
            position: absolute;
            inset: 0;
            background-image: radial-gradient(rgba(16,185,129,0.05) 1px, transparent 1px);
            background-size: 28px 28px;
            pointer-events: none;
        }
        .starter-stack-top {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 1rem;
        }
        .starter-stack-badge {
            display: inline-block;
            background: rgba(16,185,129,0.12);
            border: 1px solid rgba(16,185,129,0.3);
            color: var(--cyan);
            font-size: 0.68rem;
            font-weight: 700;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            padding: 0.25rem 0.75rem;
            border-radius: var(--r-full);
            margin-bottom: 0.6rem;
        }
        .starter-stack-title {
            font-size: 1.3rem;
            font-weight: 700;
            color: var(--white);
            letter-spacing: -0.02em;
            line-height: 1.2;
            margin: 0 0 0.35rem;
        }
        .starter-stack-desc {
            font-size: 0.82rem;
            color: rgba(255,255,255,0.45);
            line-height: 1.5;
            margin: 0;
        }
        .starter-stack-save {
            background: rgba(16,185,129,0.15);
            border: 1px solid rgba(16,185,129,0.25);
            border-radius: var(--r-sm);
            padding: 0.5rem 0.85rem;
            text-align: center;
            flex-shrink: 0;
        }
        .starter-stack-save-pct { display: block; font-size: 1.1rem; font-weight: 800; color: var(--cyan); }
        .starter-stack-save-label { display: block; font-size: 0.65rem; font-weight: 600; color: rgba(255,255,255,0.4); text-transform: uppercase; letter-spacing: 0.08em; }
        .starter-stack-items {
            display: flex;
            gap: 0.6rem;
        }
        .starter-stack-item {
            flex: 1;
            background: rgba(255,255,255,0.05);
            border: 1px solid rgba(255,255,255,0.09);
            border-radius: var(--r-sm);
            padding: 0.75rem 1rem;
            display: flex;
            align-items: center;
            gap: 0.6rem;
            font-size: 0.83rem;
            color: rgba(255,255,255,0.75);
            font-weight: 500;
        }
        .starter-stack-item-dot {
            width: 7px; height: 7px;
            border-radius: 50%;
            background: var(--cyan);
            flex-shrink: 0;
        }
        .starter-stack-footer {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;
            padding-top: 0.25rem;
            border-top: 1px solid rgba(255,255,255,0.07);
        }
        .starter-stack-pricing { display: flex; align-items: baseline; gap: 0.6rem; }
        .starter-stack-original { font-size: 0.85rem; color: rgba(255,255,255,0.3); text-decoration: line-through; }
        .starter-stack-price { font-size: 1.6rem; font-weight: 800; color: var(--white); letter-spacing: -0.03em; }
        .starter-stack-btn {
            background: var(--cyan);
            color: #000;
            border: none;
            border-radius: var(--r-full);
            padding: 0.7rem 1.5rem;
            font-size: 0.875rem;
            font-weight: 700;
            cursor: pointer;
            transition: opacity 0.2s;
            white-space: nowrap;
        }
        .starter-stack-btn:hover { opacity: 0.88; }
        @media (max-width: 1200px) { .starter-stack-card { grid-column: span 2; } }
        @media (max-width: 768px) {
            .starter-stack-card { grid-column: span 1; }
            .starter-stack-items { flex-direction: column; }
            .starter-stack-footer { flex-direction: column; align-items: flex-start; }
            .starter-stack-btn { width: 100%; text-align: center; }
        }

        /* === PRODUCTS === */
        .products {
            padding: 8rem 2rem;
            background: var(--surface);
            background-image: radial-gradient(circle, rgba(16,185,129,0.08) 1px, transparent 1px);
            background-size: 28px 28px;
        }

        .products-container { max-width: 1400px; margin: 0 auto; }

        .products-header { text-align: center; margin-bottom: 4rem; }

        .products-header h2 {
            font-family: 'Space Grotesk', sans-serif;
            font-size: clamp(34px, 4vw, 54px);
            font-weight: 600;
            color: var(--ink);
            margin-bottom: 1rem;
            letter-spacing: -0.02em;
            line-height: 1.1;
            position: relative;
            display: inline-block;
        }

        .products-header h2::after {
            content: '';
            position: absolute;
            bottom: -10px;
            left: 50%;
            transform: translateX(-50%);
            width: 60px;
            height: 2px;
            background: var(--grad-cyan);
            border-radius: 2px;
        }

        .products-header p {
            font-size: 1.1rem;
            color: var(--ink-60);
            max-width: 560px;
            margin: 0 auto;
            line-height: 1.7;
        }

        /* Category Filter Tabs */
        .filter-tabs {
            display: flex;
            gap: 0.5rem;
            justify-content: center;
            flex-wrap: wrap;
            margin-bottom: 3rem;
            position: sticky;
            top: 64px;
            z-index: 90;
            background: var(--white);
            padding: 0.85rem 1rem;
            border-bottom: 1px solid var(--ink-08);
            box-shadow: 0 4px 16px rgba(7,17,31,0.04);
        }

        .filter-tab {
            padding: 0.55rem 1.3rem;
            border-radius: 100px;
            border: 1.5px solid var(--ink-08);
            background: transparent;
            color: var(--ink-60);
            font-family: 'Instrument Sans', sans-serif;
            font-size: 0.72rem;
            font-weight: 600;
            letter-spacing: 0.05em;
            text-transform: uppercase;
            cursor: pointer;
            transition: all 0.25s var(--ease);
            white-space: nowrap;
            display: inline-flex;
            align-items: center;
        }

        .filter-tab:hover {
            background: rgba(16,185,129,0.08);
            border-color: var(--cyan);
            color: var(--cyan);
        }

        .filter-tab.active {
            background: var(--grad-cyan);
            border-color: transparent;
            color: white;
            font-weight: 700;
        }

        .product-card.hidden {
            display: none;
        }

        /* Best Seller badge */
        .badge-bestseller {
            position: absolute;
            top: 0.75rem;
            right: 0.75rem;
            background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
            color: white;
            font-size: 0.68rem;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            padding: 0.25rem 0.6rem;
            border-radius: 100px;
            z-index: 2;
        }

        /* "New" arrival badge */
        .badge-new-arrival {
            position: absolute;
            top: 0.75rem;
            right: 0.75rem;
            background: linear-gradient(135deg, #10b981 0%, #059669 100%);
            color: white;
            font-size: 0.68rem;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            padding: 0.25rem 0.6rem;
            border-radius: 100px;
            z-index: 2;
        }

        /* Low stock warning */
        .low-stock-warn {
            display: flex;
            align-items: center;
            gap: 0.35rem;
            font-size: 0.75rem;
            font-weight: 600;
            color: #dc2626;
            background: rgba(220,38,38,0.07);
            border: 1px solid rgba(220,38,38,0.18);
            border-radius: 6px;
            padding: 0.3rem 0.6rem;
            margin: 0.5rem 0 0;
        }

        /* Size button wrapper for savings tag */
        .size-btn-wrap {
            display: inline-flex;
            flex-direction: column;
            align-items: center;
            gap: 0.2rem;
        }

        /* "Save X%" tag on bulk size */
        .size-save-tag {
            font-size: 0.6rem;
            font-weight: 700;
            color: #059669;
            background: rgba(5,150,105,0.1);
            border-radius: 4px;
            padding: 0.1rem 0.3rem;
            letter-spacing: 0.03em;
            text-transform: uppercase;
            white-space: nowrap;
        }

        /* Card inline star rating */
        .card-rating {
            display: flex;
            align-items: center;
            gap: 0.25rem;
            margin-bottom: 0.4rem;
        }
        .card-rating .star {
            font-size: 0.78rem;
            line-height: 1;
        }
        .card-rating .star.full { color: #f59e0b; }
        .card-rating .star.half { color: #f59e0b; opacity: 0.6; }
        .card-rating .star.empty { color: #d1d5db; }
        .card-rating-score {
            font-size: 0.78rem;
            font-weight: 700;
            color: var(--ink);
            margin-left: 0.1rem;
        }
        .card-rating-count {
            font-size: 0.72rem;
            color: #888;
        }

        .products-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 1.5rem;
        }
        /* Dynamic render wrapper — spans full width, mirrors parent grid columns */
        #products-grid-dynamic {
            grid-column: 1 / -1;
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 1.5rem;
        }
        @media (max-width: 1200px) {
            .products-grid { grid-template-columns: repeat(2, 1fr); }
            #products-grid-dynamic { grid-template-columns: repeat(2, 1fr); }
        }
        @media (max-width: 768px) {
            #products-grid-dynamic { grid-template-columns: repeat(2, 1fr); gap: 0.75rem; }
        }

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

        .product-card {
            background: rgba(255, 255, 255, 0.72);
            backdrop-filter: blur(16px) saturate(160%);
            -webkit-backdrop-filter: blur(16px) saturate(160%);
            border-radius: var(--r-lg);
            overflow: hidden;
            border: 1px solid rgba(255, 255, 255, 0.55);
            border-top: 2px solid transparent;
            position: relative;
            transition: transform 0.4s var(--ease), box-shadow 0.4s var(--ease);
            display: flex;
            flex-direction: column;
            box-shadow: 0 4px 20px rgba(7, 17, 31, 0.07), inset 0 1px 0 rgba(255, 255, 255, 0.8);
            animation: cardFadeIn 0.5s var(--ease) both;
        }

        .product-card::before {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0;
            height: 2px;
            background: var(--grad-cyan);
            border-radius: var(--r-lg) var(--r-lg) 0 0;
            z-index: 1;
        }

        .product-card:hover {
            transform: translateY(-6px);
            box-shadow: 0 20px 48px rgba(7, 17, 31, 0.12), 0 6px 16px rgba(7, 17, 31, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.9);
            border-color: rgba(16, 185, 129, 0.3);
        }

        /* Brighten image area on hover */
        .product-card:hover .product-image {
            filter: brightness(1.12);
        }

        .product-image {
            height: 280px;
            background: #040c1c;
            position: relative;
            overflow: hidden;
        }

        /* top vignette so badges are readable */
        .product-image::before {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0;
            height: 45%;
            background: linear-gradient(180deg, rgba(4,10,22,0.62) 0%, transparent 100%);
            z-index: 2;
            pointer-events: none;
        }

        /* Subtle dot grid texture in image area */
        .product-image::after {
            content: '';
            position: absolute;
            inset: 0;
            background-image: radial-gradient(circle, rgba(255,255,255,0.06) 1px, transparent 1px);
            background-size: 20px 20px;
            z-index: 0;
            pointer-events: none;
        }

        .product-badge {
            position: absolute;
            top: 1rem; left: 1rem;
            background: rgba(16,185,129,0.12);
            color: #10b981;
            font-size: 0.68rem;
            font-weight: 700;
            padding: 0.28rem 0.7rem;
            border-radius: var(--r-full);
            border: 1px solid rgba(16,185,129,0.3);
            letter-spacing: 0.07em;
            text-transform: uppercase;
            backdrop-filter: blur(4px);
            z-index: 3;
        }

        /* Img tag hidden — vials are SVG */
        .product-vial-img { display: none; }

        /* Category gradient backgrounds — no photo, SVG vial is injected by JS */
        .product-card[data-category] .product-image {
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
        }
        .product-card[data-category="weight-loss"] .product-image {
            background-image: linear-gradient(145deg, #7c2d12 0%, #431407 50%, #1c0a03 100%);
        }
        .product-card[data-category="recovery"] .product-image {
            background-image: linear-gradient(145deg, #1e3a5f 0%, #0f2040 50%, #060e1d 100%);
        }
        .product-card[data-category="hormone"] .product-image {
            background-image: linear-gradient(145deg, #3b1f6e 0%, #200f42 50%, #0d0620 100%);
        }
        .product-card[data-category="nootropics"] .product-image {
            background-image: linear-gradient(145deg, #0f3d3d 0%, #072626 50%, #021414 100%);
        }
        .product-card[data-category="longevity"] .product-image {
            background-image: linear-gradient(145deg, #064e3b 0%, #022c22 50%, #011510 100%);
        }
        .product-card[data-category="supplies"] .product-image {
            background-image: linear-gradient(145deg, #1e293b 0%, #0f172a 50%, #060e1d 100%);
        }

        /* Placeholder layer — shows product name/formula centered in image area */
        .product-img-placeholder {
            position: absolute;
            inset: 0;
            z-index: 1;
            pointer-events: none;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 0.4rem;
        }

        .product-img-placeholder::after { display: none; }
        .product-img-name {
            display: block;
            font-family: 'Space Grotesk', sans-serif;
            font-size: 1rem;
            font-weight: 700;
            color: rgba(255,255,255,0.9);
            text-align: center;
            padding: 0 1rem;
            letter-spacing: -0.01em;
        }
        .product-img-formula {
            display: block;
            font-size: 0.7rem;
            color: rgba(255,255,255,0.35);
            text-align: center;
            padding: 0 1rem;
            letter-spacing: 0.03em;
        }

        /* SVG vial wrapper injected by JS */
        .card-vial-svg-wrap {
            position: absolute;
            bottom: -4px;
            left: 50%;
            transform: translateX(-50%);
            z-index: 2;
            pointer-events: none;
            transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
        }
        .product-card:hover .card-vial-svg-wrap {
            transform: translateX(-50%) translateY(-12px);
        }
        .card-vial-svg {
            width: auto;
            height: 232px;
            display: block;
            filter: drop-shadow(0 10px 28px rgba(0,0,0,0.55)) drop-shadow(0 2px 6px rgba(0,0,0,0.3));
        }

        .product-body {
            padding: 1.6rem;
            flex: 1;
            display: flex;
            flex-direction: column;
        }

        .product-body h3 {
            font-family: 'Space Grotesk', sans-serif;
            font-size: 1.25rem;
            font-weight: 600;
            color: var(--ink);
            margin-bottom: 0.2rem;
            letter-spacing: -0.01em;
        }

        .product-subtitle {
            font-size: 0.78rem;
            color: var(--blue);
            font-weight: 500;
            margin-bottom: 0.7rem;
            letter-spacing: 0.01em;
        }

        .product-body p {
            color: var(--ink-60);
            font-size: 0.86rem;
            line-height: 1.6;
            margin-bottom: 1rem;
            flex: 1;
        }

        .product-meta {
            display: flex;
            gap: 0.5rem;
            margin-bottom: 0.9rem;
        }

        .product-meta-item {
            flex: 1;
            background: rgba(238, 242, 249, 0.7);
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
            border-radius: var(--r-sm);
            padding: 0.45rem 0.3rem;
            text-align: center;
            border: 1px solid rgba(255, 255, 255, 0.5);
        }

        .product-meta-label {
            font-size: 0.6rem;
            color: var(--ink-30);
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.07em;
            display: block;
        }

        .product-meta-value {
            font-size: 0.84rem;
            font-weight: 700;
            color: var(--ink);
            display: block;
            margin-top: 0.1rem;
        }

        /* Purity meta item — first child in .product-meta is always purity */
        .product-meta-item:first-child {
            background: rgba(0, 188, 224, 0.06);
            border-color: rgba(0, 188, 224, 0.2);
        }

        .product-meta-item:first-child .product-meta-value {
            font-family: 'Space Grotesk', sans-serif;
            font-size: 1.1rem;
            font-weight: 900;
            letter-spacing: -0.02em;
            background: var(--grad-cyan);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        /* === STAT NUMBER — Data-first biotech typography === */
        .stat-number {
            font-family: 'Space Grotesk', sans-serif;
            font-size: clamp(1.6rem, 3vw, 2.4rem);
            font-weight: 900;
            letter-spacing: -0.03em;
            background: var(--grad-cyan);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            line-height: 1;
            display: block;
        }

        .reconstituted-note {
            font-size: 0.73rem;
            color: var(--ink-30);
            margin-bottom: 0.9rem;
            line-height: 1.4;
        }

        .reconstituted-note span { color: var(--blue); font-weight: 600; }

        .size-options {
            display: flex;
            gap: 0.4rem;
            flex-wrap: wrap;
            margin-bottom: 1.1rem;
        }

        .size-btn {
            padding: 0.5rem 1rem;
            min-height: 44px;
            border: 1.5px solid rgba(255, 255, 255, 0.5);
            border-radius: var(--r-sm);
            background: rgba(255, 255, 255, 0.6);
            color: var(--ink-60);
            font-size: 0.8rem;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.2s var(--ease);
            font-family: 'Instrument Sans', sans-serif;
        }

        .size-btn:hover { border-color: var(--cyan); color: var(--cyan); background: rgba(16,185,129,0.04); }

        .size-btn.active {
            background: rgba(16,185,129,0.08);
            border-color: var(--cyan);
            color: var(--cyan);
        }

        /* Scarcity / stock indicator */
        .stock-indicator {
            display: flex;
            align-items: center;
            gap: 0.4rem;
            font-size: 0.8rem;
            font-weight: 600;
            color: var(--warning);
            margin-bottom: 0.75rem;
            letter-spacing: 0.01em;
        }

        .stock-indicator::before {
            content: '';
            width: 7px;
            height: 7px;
            background: var(--amber);
            border-radius: 50%;
            flex-shrink: 0;
            animation: stockPulse 1.8s ease-in-out infinite;
        }

        .stock-indicator.critical {
            color: var(--error);
        }

        .stock-indicator.critical::before {
            background: var(--error);
        }

        .stock-indicator.in-stock {
            color: var(--success);
        }

        .stock-indicator.in-stock::before {
            background: var(--success);
        }

        .stock-bar {
            width: 100%;
            height: 4px;
            background: var(--ink-08);
            border-radius: 2px;
            margin-bottom: 0.85rem;
            overflow: hidden;
        }

        .stock-bar-fill {
            height: 100%;
            border-radius: 2px;
            background: linear-gradient(90deg, var(--amber), var(--warning));
            transition: width 0.6s var(--ease);
        }

        .stock-bar-fill.critical {
            background: linear-gradient(90deg, #ef4444, var(--error));
        }

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

        .product-footer {
            display: flex;
            align-items: center;
            justify-content: space-between;
            border-top: 1px solid var(--ink-04);
            padding-top: 1.1rem;
            margin-top: auto;
        }

        .product-price {
            font-family: 'Space Grotesk', sans-serif;
            font-size: 1.6rem;
            font-weight: 700;
            color: var(--cyan);
        }

        .product-price span {
            font-size: 0.78rem;
            color: var(--ink-30);
            font-family: 'Instrument Sans', sans-serif;
            font-weight: 400;
        }

        .price-per-mg {
            display: block;
            font-size: 0.72rem;
            font-weight: 500;
            color: #888;
            font-family: 'Instrument Sans', sans-serif;
            margin-top: 0.1rem;
        }

        .btn-product {
            background: var(--grad-blue);
            color: white;
            padding: 0.55rem 1.1rem;
            border-radius: var(--r-full);
            font-weight: 600;
            font-size: 0.82rem;
            text-decoration: none;
            transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
            border: none;
            cursor: pointer;
            font-family: 'Instrument Sans', sans-serif;
            position: relative;
            overflow: hidden;
        }

        .btn-product::after {
            content: '';
            position: absolute;
            top: 0; left: -100%;
            width: 60%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
            transition: left 0.5s var(--ease);
            pointer-events: none;
        }

        .btn-product:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 20px rgba(0,61,138,0.25);
        }

        .btn-product:hover::after {
            left: 140%;
        }

        /* === QUALITY === */
        .quality {
            padding: 8rem 2rem;
            background: var(--white);
        }

        .quality-container { max-width: 1400px; margin: 0 auto; }

        .quality-header { text-align: center; margin-bottom: 4rem; }

        .quality-header h2 {
            font-family: 'Space Grotesk', sans-serif;
            font-size: clamp(34px, 4vw, 54px);
            font-weight: 600;
            color: var(--ink);
            margin-bottom: 1rem;
            letter-spacing: -0.02em;
            line-height: 1.1;
        }

        .quality-header p {
            font-size: 1.1rem;
            color: var(--ink-60);
            max-width: 560px;
            margin: 0 auto;
            line-height: 1.7;
        }

        .quality-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 5rem;
            align-items: center;
        }

        .quality-certifications {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1.25rem;
        }

        .cert-card {
            background: var(--surface);
            border-radius: var(--r-lg);
            padding: 1.75rem;
            text-align: center;
            border: 1px solid var(--ink-08);
            transition: transform 0.4s var(--ease), box-shadow 0.4s var(--ease), border-color 0.4s var(--ease);
        }

        .cert-card:hover {
            border-color: rgba(16,185,129,0.25);
            transform: translateY(-5px);
            box-shadow: var(--shadow-md);
        }

        .cert-icon { font-size: 1.8rem; margin-bottom: 0.75rem; display: block; }

        .cert-card h4 {
            font-family: 'Space Grotesk', sans-serif;
            font-size: 1rem;
            font-weight: 600;
            color: var(--ink);
            margin-bottom: 0.4rem;
        }

        .cert-card p { font-size: 0.8rem; color: var(--ink-60); line-height: 1.5; }

        .quality-content h3 {
            font-family: 'Space Grotesk', sans-serif;
            font-size: clamp(26px, 3vw, 40px);
            font-weight: 600;
            color: var(--ink);
            margin-bottom: 1.25rem;
            letter-spacing: -0.02em;
            line-height: 1.15;
        }

        .quality-content p {
            color: var(--ink-60);
            font-size: 1rem;
            line-height: 1.75;
            margin-bottom: 1.25rem;
        }

        .quality-stats {
            display: flex;
            gap: 2.5rem;
            margin-top: 2rem;
            padding-top: 2rem;
            border-top: 1px solid var(--ink-08);
        }

        .quality-stat { text-align: left; }

        .quality-stat-number {
            font-family: 'Space Grotesk', sans-serif;
            font-size: clamp(3rem, 6vw, 5rem);
            font-weight: 900;
            background: var(--grad-cyan);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            display: block;
            line-height: 1;
            margin-bottom: 0.3rem;
            letter-spacing: -0.03em;
        }

        .quality-stat-label {
            font-size: 0.75rem;
            color: var(--ink-60);
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.07em;
        }

        /* === CTA === */
        .cta-section {
            background: var(--dark);
            padding: 9rem 2rem;
            text-align: center;
            position: relative;
            overflow: hidden;
        }

        .cta-section::before {
            content: '';
            position: absolute;
            inset: 0;
            background: radial-gradient(ellipse 70% 90% at 50% 50%, rgba(16,185,129,0.09) 0%, transparent 65%);
            pointer-events: none;
        }

        .cta-section::after {
            content: '';
            position: absolute;
            inset: 0;
            background-image: radial-gradient(rgba(16,185,129,0.045) 1px, transparent 1px);
            background-size: 40px 40px;
            pointer-events: none;
        }

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

        .cta-section h2 {
            font-family: 'Space Grotesk', sans-serif;
            font-size: clamp(36px, 4.5vw, 60px);
            font-weight: 600;
            color: var(--white);
            margin-bottom: 1rem;
            letter-spacing: -0.025em;
            line-height: 1.1;
        }

        .cta-section p {
            font-size: 1.1rem;
            color: var(--white-60);
            margin-bottom: 2.5rem;
            line-height: 1.7;
        }

        .btn-white {
            background: var(--white);
            color: var(--blue);
            padding: 1rem 2.2rem;
            border: none;
            border-radius: var(--r-full);
            font-weight: 700;
            font-size: 1rem;
            text-decoration: none;
            transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
            display: inline-block;
            letter-spacing: 0.01em;
        }

        .btn-white:hover {
            transform: translateY(-3px);
            box-shadow: 0 16px 40px rgba(0,0,0,0.3);
        }

        /* === SCROLL TO TOP === */
        .scroll-top-btn {
            position: fixed;
            bottom: 2rem;
            right: 2rem;
            width: 44px;
            height: 44px;
            background: var(--blue);
            border: none;
            border-radius: 50%;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 0;
            visibility: hidden;
            transform: translateY(8px);
            transition: opacity 0.3s var(--ease), visibility 0.3s, transform 0.3s var(--ease);
            z-index: 90;
            box-shadow: 0 4px 12px rgba(0,92,200,0.4);
        }
        .scroll-top-btn.visible { opacity: 1; visibility: visible; transform: translateY(0); }
        .scroll-top-btn:hover { background: #003d8a; }

        /* === FOOTER === */
        .footer {
            background: var(--dark-2);
            color: var(--white);
            padding: 4rem 2rem 2rem;
        }

        .footer-content {
            max-width: 1400px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 2.5rem;
            padding-bottom: 3rem;
            border-bottom: 1px solid var(--white-08);
        }

        .footer-section h3 {
            font-family: 'Space Grotesk', sans-serif;
            font-weight: 600;
            font-size: 1.05rem;
            margin-bottom: 1.25rem;
            color: var(--white);
            letter-spacing: -0.01em;
        }

        .footer-section p, .footer-section a {
            color: var(--white-60);
            text-decoration: none;
            margin-bottom: 0.6rem;
            display: block;
            font-size: 0.88rem;
            line-height: 1.6;
            transition: color 0.25s var(--ease);
        }

        .footer-section a:hover { color: var(--cyan); }

        .footer-bottom {
            max-width: 1400px;
            margin: 0 auto;
            padding-top: 2rem;
            text-align: center;
            color: rgba(255,255,255,0.35);
            font-size: 0.8rem;
        }

        /* === HERO BACKGROUND IMAGE === */
        .hero-bg {
            position: absolute;
            inset: 0;
            z-index: 0;
        }

        .hero-bg img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center 30%;
            opacity: 0.32;
            filter: saturate(0.6);
        }

        /* hide image element when no src is set */
        .hero-bg img:not([src]), .hero-bg img[src=""] {
            display: none;
        }

        /* dark gradient overlay so text stays legible */
        .hero-bg::after {
            content: '';
            position: absolute;
            inset: 0;
            background:
                linear-gradient(to right, rgba(6,14,29,0.85) 45%, rgba(6,14,29,0.4) 100%),
                linear-gradient(to top, rgba(6,14,29,0.7) 0%, transparent 50%);
        }

        /* === IN THE LAB === */

        /* === TESTIMONIALS === */
        .testimonials {
            padding: 8rem 2rem;
            background: var(--surface);
        }

        .testimonials-container { max-width: 1400px; margin: 0 auto; }

        .testimonials-header {
            text-align: center;
            margin-bottom: 4rem;
        }

        .testimonials-header h2 {
            font-family: 'Space Grotesk', sans-serif;
            font-size: clamp(32px, 4vw, 52px);
            font-weight: 600;
            color: var(--ink);
            letter-spacing: -0.02em;
            line-height: 1.1;
            margin-bottom: 1rem;
        }

        .testimonials-header p {
            font-size: 1.05rem;
            color: var(--ink-60);
            max-width: 500px;
            margin: 0 auto;
            line-height: 1.7;
        }

        .testimonials-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
            gap: 1.5rem;
        }

        .testimonial-card {
            background: var(--white);
            border-radius: var(--r-lg);
            padding: 2.25rem;
            border: 1px solid var(--ink-08);
            transition: transform 0.4s var(--ease), box-shadow 0.4s var(--ease);
            display: flex;
            flex-direction: column;
            gap: 1.5rem;
        }

        .testimonial-card:hover {
            transform: translateY(-5px);
            box-shadow: var(--shadow-lg);
        }

        .testimonial-stars {
            display: flex;
            gap: 0.25rem;
        }

        .testimonial-stars span {
            width: 16px;
            height: 16px;
            background: #f59e0b;
            border-radius: 3px;
            display: inline-block;
            clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
        }

        .testimonial-quote {
            font-size: 1rem;
            color: var(--ink);
            line-height: 1.75;
            flex: 1;
            position: relative;
        }

        .testimonial-quote::before {
            content: '\201C';
            font-family: 'Space Grotesk', sans-serif;
            font-size: 4rem;
            color: var(--cyan);
            opacity: 0.25;
            position: absolute;
            top: -1.2rem;
            left: -0.5rem;
            line-height: 1;
        }

        .testimonial-author {
            display: flex;
            align-items: center;
            gap: 1rem;
            padding-top: 1.25rem;
            border-top: 1px solid var(--ink-04);
        }

        .testimonial-avatar {
            width: 46px;
            height: 46px;
            border-radius: 50%;
            overflow: hidden;
            flex-shrink: 0;
            background: var(--paper-2);
            border: 2px solid var(--ink-08);
        }

        .testimonial-avatar img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .testimonial-avatar-placeholder {
            width: 100%;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            background: linear-gradient(135deg, var(--cyan-dim), rgba(0,92,200,0.1));
            font-family: 'Space Grotesk', sans-serif;
            font-size: 1.1rem;
            font-weight: 700;
            color: var(--blue);
        }

        .testimonial-info { flex: 1; }

        .testimonial-name {
            font-weight: 700;
            font-size: 0.9rem;
            color: var(--ink);
            display: block;
            margin-bottom: 0.15rem;
        }

        .testimonial-role {
            font-size: 0.78rem;
            color: var(--ink-60);
            display: block;
        }

        .testimonial-institution {
            font-size: 0.72rem;
            color: var(--blue);
            font-weight: 600;
            display: block;
            margin-top: 0.1rem;
        }

        .testimonial-verified {
            font-size: 0.72rem;
            color: #16a34a;
            font-weight: 600;
            display: flex;
            align-items: center;
            gap: 0.3rem;
            margin-top: 0.15rem;
        }

        .testimonial-verified::before {
            content: '';
            width: 12px;
            height: 12px;
            background: #16a34a;
            border-radius: 50%;
            display: inline-block;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='white'%3E%3Cpath d='M2 6l3 3 5-5' stroke='white' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
            background-color: #16a34a;
        }

        .testimonial-product-tag {
            display: inline-block;
            background: rgba(16,185,129,0.08);
            color: var(--blue);
            border: 1px solid rgba(16,185,129,0.2);
            font-size: 0.7rem;
            font-weight: 600;
            letter-spacing: 0.04em;
            padding: 0.2rem 0.55rem;
            border-radius: 100px;
            margin-bottom: 0.85rem;
        }

        .testimonials-summary {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 1rem;
            margin-bottom: 3rem;
        }

        .summary-score {
            font-family: 'Space Grotesk', sans-serif;
            font-size: 3.5rem;
            font-weight: 700;
            color: var(--ink);
            line-height: 1;
        }

        .summary-right {
            display: flex;
            flex-direction: column;
            gap: 0.3rem;
        }

        .summary-stars {
            display: flex;
            gap: 0.2rem;
        }

        .summary-stars span {
            width: 18px;
            height: 18px;
            background: #f59e0b;
            border-radius: 3px;
            display: inline-block;
            clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
        }

        .summary-count {
            font-size: 0.85rem;
            color: var(--ink-60);
        }

        /* === RESPONSIVE (additions) === */
        @media (max-width: 768px) {
            .testimonials-grid { grid-template-columns: 1fr; }
            .filter-tabs {
                flex-wrap: nowrap;
                overflow-x: auto;
                justify-content: flex-start;
                -webkit-overflow-scrolling: touch;
                scrollbar-width: none;
                gap: 0.4rem;
                top: 56px;
            }
            .filter-tabs::-webkit-scrollbar { display: none; }
            .filter-tab { flex-shrink: 0; }
        }

        /* === FAQ === */
        .faq-section {
            padding: 8rem 2rem;
            background: var(--dark);
            position: relative;
            overflow: hidden;
        }

        .faq-section::before {
            content: '';
            position: absolute;
            inset: 0;
            background-image: radial-gradient(rgba(16,185,129,0.035) 1px, transparent 1px);
            background-size: 40px 40px;
            pointer-events: none;
        }

        .faq-container {
            max-width: 860px;
            margin: 0 auto;
        }

        .faq-header {
            text-align: center;
            margin-bottom: 3.5rem;
        }

        .faq-header h2 {
            font-family: 'Space Grotesk', sans-serif;
            font-size: clamp(32px, 4vw, 52px);
            font-weight: 600;
            color: var(--white);
            letter-spacing: -0.02em;
            line-height: 1.1;
            margin-bottom: 0.75rem;
        }

        .faq-header p {
            font-size: 1rem;
            color: var(--white-60);
            line-height: 1.7;
        }

        .faq-list { display: flex; flex-direction: column; gap: 0.75rem; }

        .faq-item {
            border: 1px solid rgba(255,255,255,0.08);
            border-radius: var(--r);
            overflow: hidden;
            transition: border-color 0.3s var(--ease);
        }

        .faq-item.open { border-color: rgba(16,185,129,0.3); }

        .faq-question {
            width: 100%;
            background: rgba(255,255,255,0.04);
            border: none;
            padding: 1.35rem 1.75rem;
            display: flex;
            justify-content: space-between;
            align-items: center;
            cursor: pointer;
            text-align: left;
            gap: 1rem;
            transition: background 0.3s var(--ease);
            font-family: 'Instrument Sans', sans-serif;
        }

        .faq-item.open .faq-question { background: rgba(16,185,129,0.07); }

        .faq-question span {
            font-size: 0.97rem;
            font-weight: 600;
            color: var(--white);
            line-height: 1.4;
        }

        .faq-icon {
            width: 26px;
            height: 26px;
            border-radius: 50%;
            border: 1.5px solid rgba(255,255,255,0.15);
            flex-shrink: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: transform 0.35s var(--ease), border-color 0.3s var(--ease), background 0.3s var(--ease);
        }

        .faq-item.open .faq-icon {
            transform: rotate(45deg);
            border-color: var(--cyan);
            background: rgba(16,185,129,0.12);
        }

        .faq-icon::before, .faq-icon::after {
            content: '';
            position: absolute;
            background: var(--white-60);
            border-radius: 2px;
            transition: background 0.3s;
        }

        .faq-icon { position: relative; }
        .faq-icon::before { width: 10px; height: 1.5px; }
        .faq-icon::after { width: 1.5px; height: 10px; }
        .faq-item.open .faq-icon::before,
        .faq-item.open .faq-icon::after { background: var(--cyan); }

        .faq-answer {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.45s var(--ease);
        }

        .faq-item.open .faq-answer { max-height: 400px; }

        .faq-answer-inner {
            padding: 0 1.75rem 1.5rem;
            font-size: 0.92rem;
            color: var(--white-60);
            line-height: 1.8;
        }

        .faq-answer-inner a { color: var(--cyan); text-decoration: none; }
        .faq-answer-inner a:hover { text-decoration: underline; }

        /* === CART BUTTON IN NAV === */
        /* Search button */
        .search-btn {
            background: none;
            border: none;
            cursor: pointer;
            padding: 0.4rem;
            color: var(--white);
            transition: color 0.3s var(--ease);
            display: flex; align-items: center;
        }
        .header.scrolled .search-btn { color: var(--ink); }
        .search-btn:hover { color: var(--cyan); }

        /* Search overlay */
        .search-overlay {
            position: fixed;
            inset: 0;
            background: rgba(6, 14, 29, 0.92);
            backdrop-filter: blur(16px);
            z-index: 2000;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: flex-start;
            padding-top: 18vh;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.3s var(--ease);
        }
        .search-overlay.open {
            opacity: 1;
            pointer-events: all;
        }
        .search-box {
            width: 100%;
            max-width: 680px;
            padding: 0 1.5rem;
            position: relative;
        }
        .search-input {
            width: 100%;
            background: rgba(255,255,255,0.06);
            border: 1.5px solid rgba(16,185,129,0.35);
            border-radius: 14px;
            padding: 1.1rem 3.5rem 1.1rem 1.5rem;
            font-family: 'Instrument Sans', sans-serif;
            font-size: 1.15rem;
            color: white;
            outline: none;
            transition: border-color 0.3s var(--ease);
        }
        .search-input::placeholder { color: rgba(255,255,255,0.35); }
        .search-input:focus { border-color: var(--cyan); }
        .search-close {
            position: absolute;
            top: 50%; right: 2.5rem;
            transform: translateY(-50%);
            background: none;
            border: none;
            color: rgba(255,255,255,0.5);
            font-size: 1.2rem;
            cursor: pointer;
            transition: color 0.2s;
        }
        .search-close:hover { color: white; }
        .search-hint {
            margin-top: 1rem;
            font-size: 0.85rem;
            color: rgba(255,255,255,0.4);
        }

        .cart-btn {
            position: relative;
            background: none;
            border: none;
            cursor: pointer;
            padding: 0.4rem;
            color: var(--white);
            transition: color 0.3s var(--ease);
            display: flex; align-items: center;
        }

        .header.scrolled .cart-btn { color: var(--ink); }
        .cart-btn:hover { color: var(--cyan); }

        .cart-btn svg { width: 22px; height: 22px; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

        .cart-count {
            position: absolute;
            top: -2px; right: -4px;
            background: var(--cyan);
            color: var(--dark);
            font-size: 0.6rem;
            font-weight: 800;
            width: 16px; height: 16px;
            border-radius: 50%;
            display: flex; align-items: center; justify-content: center;
            opacity: 0;
            transform: scale(0);
            transition: opacity 0.2s, transform 0.3s var(--ease);
        }

        .cart-count.visible { opacity: 1; transform: scale(1); }

        /* === CART DRAWER === */
        .cart-overlay {
            position: fixed;
            inset: 0;
            background: rgba(7,17,31,0.5);
            z-index: 2000;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.4s var(--ease);
            backdrop-filter: blur(4px);
        }

        .cart-overlay.open { opacity: 1; pointer-events: all; }

        .cart-drawer {
            position: fixed;
            top: 0; right: 0; bottom: 0;
            width: 420px;
            max-width: 100vw;
            background: var(--white);
            z-index: 2001;
            display: flex;
            flex-direction: column;
            transform: translateX(100%);
            transition: transform 0.45s var(--ease);
            box-shadow: -20px 0 60px rgba(7,17,31,0.15);
        }

        .cart-drawer.open { transform: translateX(0); }

        .cart-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 1.5rem 1.75rem;
            border-bottom: 1px solid var(--ink-08);
        }

        .cart-header h3 {
            font-family: 'Space Grotesk', sans-serif;
            font-size: 1.25rem;
            font-weight: 600;
            color: var(--ink);
            letter-spacing: -0.01em;
        }

        .cart-close {
            width: 32px; height: 32px;
            border: none;
            background: var(--paper);
            border-radius: 8px;
            cursor: pointer;
            display: flex; align-items: center; justify-content: center;
            transition: background 0.2s, transform 0.2s;
            font-size: 1rem;
            color: var(--ink-60);
        }

        .cart-close:hover { background: var(--paper-2); transform: rotate(90deg); }

        .cart-body {
            flex: 1;
            overflow-y: auto;
            padding: 1.25rem 1.75rem;
        }

        .cart-empty {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            height: 100%;
            gap: 1rem;
            color: var(--ink-60);
            text-align: center;
        }

        .cart-empty-icon { font-size: 3rem; opacity: 0.35; }

        .cart-empty p { font-size: 0.95rem; line-height: 1.6; }

        .cart-empty a {
            display: inline-block;
            background: var(--grad-cyan);
            color: white;
            padding: 0.65rem 1.5rem;
            border-radius: var(--r-full);
            font-weight: 600;
            font-size: 0.85rem;
            text-decoration: none;
            transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
        }

        .cart-empty a:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(16,185,129,0.3); }

        .cart-items { display: flex; flex-direction: column; gap: 1rem; }

        .cart-item {
            display: flex;
            gap: 1rem;
            align-items: flex-start;
            padding: 1rem;
            background: var(--paper);
            border-radius: var(--r);
            border: 1px solid var(--ink-04);
        }

        .cart-item-img {
            width: 52px; height: 68px;
            background: linear-gradient(135deg, var(--dark) 0%, #0d1f3c 100%);
            border-radius: 6px;
            flex-shrink: 0;
            display: flex; align-items: center; justify-content: center;
            position: relative;
        }

        .cart-item-img::after {
            content: '';
            width: 14px; height: 28px;
            border: 1.5px solid rgba(16,185,129,0.5);
            border-radius: 2px 2px 8px 8px;
            background: rgba(16,185,129,0.12);
        }

        .cart-item-info { flex: 1; }

        .cart-item-name {
            font-family: 'Space Grotesk', sans-serif;
            font-size: 0.95rem;
            font-weight: 600;
            color: var(--ink);
            display: block;
            margin-bottom: 0.2rem;
        }

        .cart-item-size {
            font-size: 0.75rem;
            color: var(--blue);
            font-weight: 600;
            display: block;
            margin-bottom: 0.5rem;
        }

        .cart-item-controls {
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }

        .qty-btn {
            width: 26px; height: 26px;
            border: 1.5px solid var(--ink-08);
            border-radius: 6px;
            background: var(--white);
            cursor: pointer;
            font-size: 1rem;
            display: flex; align-items: center; justify-content: center;
            color: var(--ink);
            transition: all 0.2s;
            line-height: 1;
        }

        .qty-btn:hover { border-color: var(--blue); color: var(--blue); }

        .qty-value {
            font-size: 0.85rem;
            font-weight: 700;
            color: var(--ink);
            min-width: 20px;
            text-align: center;
        }

        .cart-item-price {
            font-family: 'Space Grotesk', sans-serif;
            font-size: 1rem;
            font-weight: 700;
            color: var(--ink);
            white-space: nowrap;
        }

        .cart-item-remove {
            background: none;
            border: none;
            cursor: pointer;
            color: var(--ink-30);
            font-size: 0.75rem;
            padding: 0.25rem;
            transition: color 0.2s;
        }

        .cart-item-remove:hover { color: #ef4444; }

        .cart-footer {
            padding: 1.5rem 1.75rem;
            border-top: 1px solid var(--ink-08);
            background: var(--white);
        }

        .cart-subtotal {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 0.5rem;
        }

        .cart-subtotal span { font-size: 0.88rem; color: var(--ink-60); }
        .cart-subtotal strong { font-size: 1.1rem; font-weight: 700; color: var(--ink); }

        .cart-shipping-note {
            font-size: 0.75rem;
            color: #16a34a;
            font-weight: 600;
            text-align: center;
            margin-bottom: 1rem;
            padding: 0.5rem;
            background: #f0fdf4;
            border-radius: 6px;
        }

        .ship-estimate-row {
            margin-bottom: 1.25rem;
        }

        .ship-zip-input {
            width: 100%;
            padding: 0.65rem 1rem;
            border: 1.5px solid var(--ink-08);
            border-radius: 8px;
            font-family: 'Instrument Sans', sans-serif;
            font-size: 0.85rem;
            color: var(--ink);
            background: var(--paper);
            outline: none;
            transition: border-color 0.3s var(--ease);
        }
        .ship-zip-input:focus { border-color: var(--cyan); }
        .ship-zip-input::placeholder { color: var(--ink-60); font-size: 0.78rem; }

        .ship-estimate-result {
            margin-top: 0.5rem;
            font-size: 0.78rem;
            font-weight: 600;
            color: var(--blue);
            min-height: 1rem;
            padding-left: 0.25rem;
        }

        .cart-checkout-btn {
            display: block;
            width: 100%;
            background: var(--grad-cyan);
            color: white;
            padding: 1rem;
            border: none;
            border-radius: var(--r-full);
            font-weight: 700;
            font-size: 1rem;
            text-decoration: none;
            text-align: center;
            transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
            cursor: pointer;
            font-family: 'Instrument Sans', sans-serif;
            letter-spacing: 0.01em;
        }

        .cart-checkout-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 12px 30px rgba(16,185,129,0.35);
        }

        .cart-continue {
            display: block;
            text-align: center;
            font-size: 0.8rem;
            color: var(--ink-60);
            margin-top: 0.75rem;
            text-decoration: none;
            cursor: pointer;
            background: none;
            border: none;
            width: 100%;
            font-family: 'Instrument Sans', sans-serif;
            transition: color 0.2s;
        }

        .cart-continue:hover { color: var(--blue); }

        /* === BACK TO TOP === */
        #back-to-top {
            position: fixed;
            bottom: 2rem;
            right: 2rem;
            width: 44px;
            height: 44px;
            border-radius: 50%;
            background: var(--blue, #005cc8);
            color: #fff;
            border: none;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 4px 16px rgba(0,92,200,0.35);
            opacity: 0;
            transform: translateY(12px);
            transition: opacity 0.25s, transform 0.25s;
            pointer-events: none;
            z-index: 900;
        }
        #back-to-top.visible {
            opacity: 1;
            transform: translateY(0);
            pointer-events: auto;
        }
        #back-to-top:hover { background: #0044a3; }

        /* === REVEAL ANIMATIONS === */
        /* Only animate when JS has confirmed support */
        .js-ready [data-reveal] {
            opacity: 0;
            transform: translateY(28px);
            transition: opacity 0.75s var(--ease), transform 0.75s var(--ease);
        }

        .js-ready [data-reveal].revealed { opacity: 1; transform: none; }

        .js-ready [data-reveal][data-delay=1] { transition-delay: 0.08s; }
        .js-ready [data-reveal][data-delay=2] { transition-delay: 0.16s; }
        .js-ready [data-reveal][data-delay=3] { transition-delay: 0.24s; }
        .js-ready [data-reveal][data-delay=4] { transition-delay: 0.32s; }
        .js-ready [data-reveal][data-delay=5] { transition-delay: 0.40s; }
        .js-ready [data-reveal][data-delay=6] { transition-delay: 0.48s; }

        /* === RESPONSIVE === */
        @media (max-width: 1024px) {
            .hero-content { grid-template-columns: 1fr; text-align: center; }
            .hero-visual { display: none; }
            .hero-text p { max-width: 500px; margin-left: auto; margin-right: auto; }
            .hero-buttons { justify-content: center; }
            .hero-eyebrow { margin: 0 auto 1.5rem; }
            .quality-grid { grid-template-columns: 1fr; gap: 3rem; }
            .lab-content { grid-template-columns: 1fr; }
        }

        @media (max-width: 768px) {
            .nav-menu { display: none; }

            /* 2-column compact product grid */
            .products-grid { grid-template-columns: repeat(2, 1fr); gap: 0.75rem; }
            .starter-stack-card { grid-column: span 2; }

            /* Compact image — clip anything that overflows (vial SVG, etc.) */
            .product-image { height: 160px; overflow: hidden; z-index: 0; }
            .card-vial-svg-wrap { display: none; }

            /* Hide duplicate name inside image area — h3 below is enough */
            .product-img-name { display: none; }
            .product-img-formula { display: none; }

            /* Fit badges so they don't get clipped */
            .badge-bestseller { font-size: 0.58rem; padding: 0.2rem 0.4rem; top: 0.5rem; right: 0.5rem; }
            .product-badge { font-size: 0.58rem; padding: 0.2rem 0.4rem; top: 0.5rem; left: 0.5rem; }

            /* Compact card body — render above image layer */
            .product-body { padding: 0.85rem; position: relative; z-index: 1; background: inherit; }
            .product-body h3 { font-size: 0.88rem; line-height: 1.25; margin-bottom: 0.2rem; }
            .product-subtitle { font-size: 0.7rem; margin-bottom: 0.65rem; }

            /* Hide verbose content — detail page handles this */
            .product-body > p:not(.product-subtitle) { display: none; }
            .product-meta { display: none; }
            .reconstituted-note { display: none; }
            .size-options { display: none; }
            .btn-view-product { display: none !important; }

            /* Compact footer: stack price + button vertically */
            .product-footer { flex-direction: column; align-items: stretch; gap: 0.45rem; }
            .product-price { font-size: 1.05rem; }
            .btn-product { padding: 0.55rem 0.5rem; font-size: 0.78rem; width: 100%; }

            .quality-certifications { grid-template-columns: 1fr 1fr; }
            .quality-stats { flex-wrap: wrap; gap: 1.5rem; }
            .footer-bottom { flex-direction: column; gap: 0.5rem; }
        }

        /* ============ FREE SHIPPING PROGRESS BAR ============ */
        .free-ship-progress { margin-bottom: 1rem; }
        .free-ship-msg { font-size: 0.8rem; color: rgba(255,255,255,0.7); margin-bottom: 0.4rem; text-align: center; }
        .free-ship-msg strong { color: #10b981; }
        .free-ship-bar { height: 5px; background: rgba(255,255,255,0.1); border-radius: 3px; overflow: hidden; }
        .free-ship-bar-fill { height: 100%; background: linear-gradient(90deg, #10b981, #22c55e); border-radius: 3px; transition: width 0.5s cubic-bezier(0.16,1,0.3,1); }

        /* ============ AGE DISCLAIMER POPUP ============ */
        .age-overlay {
            position: fixed; inset: 0; background: rgba(6,14,29,0.97); z-index: 10000;
            display: flex; align-items: center; justify-content: center;
            padding: 1.5rem;
        }
        .age-overlay.hidden { display: none; }
        .age-modal {
            background: #0c1a2e; border: 1px solid rgba(16,185,129,0.2);
            border-radius: 16px; padding: 2.5rem 2rem; max-width: 520px; width: 100%;
            text-align: center;
        }
        .age-modal-icon { font-size: 3rem; margin-bottom: 1rem; }
        .age-modal h2 { font-size: 1.5rem; color: #fff; margin-bottom: 0.5rem; font-weight: 700; letter-spacing: -0.02em; }
        .age-modal p { color: rgba(255,255,255,0.6); font-size: 0.9rem; line-height: 1.6; margin-bottom: 1.5rem; }
        .age-modal-disclaimer { background: rgba(16,185,129,0.06); border: 1px solid rgba(16,185,129,0.15); border-radius: 8px; padding: 1rem; margin-bottom: 1.5rem; font-size: 0.8rem; color: rgba(255,255,255,0.5); text-align: left; line-height: 1.5; }
        .age-confirm-btn { width: 100%; padding: 0.9rem; background: linear-gradient(135deg, #10b981, #059669); color: #fff; border: none; border-radius: 8px; font-size: 1rem; font-weight: 700; cursor: pointer; letter-spacing: 0.02em; transition: opacity 0.2s; }
        .age-confirm-btn:hover { opacity: 0.9; }
        .age-exit-btn { margin-top: 0.75rem; display: block; font-size: 0.8rem; color: rgba(255,255,255,0.3); text-decoration: none; cursor: pointer; background: none; border: none; width: 100%; padding: 0.4rem; }
        .age-exit-btn:hover { color: rgba(255,255,255,0.5); }


        /* ============ SUBSCRIBE & SAVE ============ */
        .subscribe-save-row {
            display: flex; align-items: center; gap: 0.6rem;
            margin-bottom: 0.75rem;
            padding: 0.6rem 0.75rem;
            background: rgba(16,185,129,0.06);
            border: 1px solid rgba(16,185,129,0.15);
            border-radius: 8px;
            cursor: pointer;
        }
        .subscribe-save-row input[type="checkbox"] { display: none; }
        .subscribe-toggle {
            width: 34px; height: 18px; background: rgba(255,255,255,0.1);
            border-radius: 9px; position: relative; flex-shrink: 0;
            transition: background 0.25s;
        }
        .subscribe-toggle::after {
            content: ''; position: absolute; top: 2px; left: 2px;
            width: 14px; height: 14px; background: #fff; border-radius: 50%;
            transition: transform 0.25s cubic-bezier(0.16,1,0.3,1);
        }
        .subscribe-save-row.active .subscribe-toggle { background: #10b981; }
        .subscribe-save-row.active .subscribe-toggle::after { transform: translateX(16px); }
        .subscribe-save-label { font-size: 0.8rem; color: rgba(255,255,255,0.7); line-height: 1.3; }
        .subscribe-save-label strong { color: #10b981; }

        /* ============ NOTIFY ME BUTTON ============ */
        .notify-me-btn {
            width: 100%; padding: 0.55rem; margin-top: 0.4rem;
            background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.12);
            border-radius: 8px; color: rgba(255,255,255,0.55); font-size: 0.8rem;
            cursor: pointer; transition: all 0.2s;
        }
        .notify-me-btn:hover { border-color: #10b981; color: #10b981; }

        /* ============ VIEW COA LINK ============ */
        .coa-link {
            display: inline-flex; align-items: center; gap: 0.3rem;
            font-size: 0.78rem; color: #10b981; text-decoration: none;
            margin-bottom: 0.75rem; opacity: 0.85; transition: opacity 0.2s;
        }
        .coa-link:hover { opacity: 1; text-decoration: underline; }
        .coa-link svg { width: 12px; height: 12px; }

        /* ============ PRODUCT BUNDLES SECTION ============ */
        .bundles-section { padding: 5rem 0; }
        .bundles-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem; margin-top: 2.5rem; }
        .bundle-card {
            background: #0c1a2e; border: 1px solid rgba(16,185,129,0.15);
            border-radius: 16px; padding: 1.75rem; position: relative; overflow: hidden;
            transition: transform 0.3s cubic-bezier(0.16,1,0.3,1), border-color 0.3s;
        }
        .bundle-card:hover { transform: translateY(-4px); border-color: rgba(16,185,129,0.4); }
        .bundle-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; }
        .bundle-card.recovery::before { background: linear-gradient(90deg, #10b981, #22c55e); }
        .bundle-card.weight::before { background: linear-gradient(90deg, #f59e0b, #ef4444); }
        .bundle-card.nootropic::before { background: linear-gradient(90deg, #a78bfa, #10b981); }
        .bundle-label { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #10b981; margin-bottom: 0.5rem; }
        .bundle-name { font-size: 1.3rem; font-weight: 800; color: #fff; margin-bottom: 0.25rem; letter-spacing: -0.02em; }
        .bundle-subtitle { font-size: 0.85rem; color: rgba(255,255,255,0.5); margin-bottom: 1.25rem; line-height: 1.4; }
        .bundle-items { margin-bottom: 1.25rem; }
        .bundle-item { display: flex; align-items: center; gap: 0.5rem; font-size: 0.85rem; color: rgba(255,255,255,0.7); padding: 0.3rem 0; border-bottom: 1px solid rgba(255,255,255,0.05); }
        .bundle-item:last-child { border-bottom: none; }
        .bundle-item-dot { width: 6px; height: 6px; background: #10b981; border-radius: 50%; flex-shrink: 0; }
        .bundle-pricing { display: flex; align-items: flex-end; gap: 0.75rem; margin-bottom: 1.25rem; }
        .bundle-original { font-size: 0.9rem; color: rgba(255,255,255,0.3); text-decoration: line-through; }
        .bundle-sale { font-size: 1.5rem; font-weight: 800; color: #fff; }
        .bundle-save { font-size: 0.75rem; font-weight: 700; color: #22c55e; background: rgba(34,197,94,0.12); padding: 0.2rem 0.5rem; border-radius: 4px; margin-bottom: 0.2rem; }
        .bundle-btn { width: 100%; padding: 0.85rem; background: linear-gradient(135deg, #10b981, #059669); color: #fff; border: none; border-radius: 10px; font-size: 0.95rem; font-weight: 700; cursor: pointer; transition: opacity 0.2s; letter-spacing: 0.01em; }
        .bundle-btn:hover { opacity: 0.9; }


        /* === OVERRIDES === */

        /* Upgrade font import to include better display weight */
        /* Root refinements */

        body {
            background: var(--surface);
        }

        /* ---- HERO — more atmospheric ---- */


        /* Hero headline — tighter, more impactful */

        /* ---- ANNOUNCEMENT BAR — more refined ---- */

        /* ---- HEADER — more refined ---- */

        /* ---- PRODUCTS SECTION — refined background ---- */

        .products-section-header h2 {
            font-size: clamp(2rem, 4vw, 3rem);
            letter-spacing: -0.04em;
            font-weight: 800;
        }

        /* ---- PRODUCT CARD — premium overhaul ---- */













        /* Product badge — cleaner */

        /* ---- FILTER TABS — premium ---- */




        /* ---- GUARANTEE CARDS — premium ---- */


        /* ---- DARK SECTIONS — more premium ---- */
        .products-dark-bg, [style*="background:#060e1d"], [style*="background: #060e1d"] {
            background: #05111e !important;
        }

        /* Cart drawer refinement */

        /* ---- SECTION HEADERS — more typographic ---- */
        .section-label {
            font-size: 0.7rem;
            font-weight: 800;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: #10b981;
            display: block;
            margin-bottom: 0.6rem;
        }

        /* ---- QUALITY SECTION ---- */

        /* ---- REVIEWS — refined cards ---- */
        .review-card {
            background: #fff !important;
            border: 1px solid rgba(7,17,31,0.06) !important;
            box-shadow: 0 1px 3px rgba(7,17,31,0.03), 0 4px 12px rgba(7,17,31,0.03) !important;
            border-radius: 16px !important;
        }

        /* ---- CTA SECTION — premium ---- */
        .cta {
            background: linear-gradient(160deg, #050c18 0%, #0a1830 60%, #060e1d 100%);
        }

        /* ---- FAQ ---- */
        .faq { background: var(--surface); }

        /* ---- FOOTER ---- */

        /* ---- SEARCH INPUT refinement ---- */

        /* ---- CART — premium ---- */

        /* ---- Primary button refinement ---- */



        /* ---- CTA button refinement ---- */

        /* ---- Product subtitle — more visible ---- */

        /* ---- COA link styling ---- */

        /* ---- Subscribe Save row ---- */

        /* ---- Bundles section ---- */



        /* ---- Bundles section dark bg ---- */
        .bundles-section[style*="background:#060e1d"] {
            background: #050c18 !important;
        }

        /* Show only the first star rating per card, hide all siblings */
        .product-body .product-stars ~ .product-stars { display: none !important; }

        /* Custom scrollbar */
        ::-webkit-scrollbar { width: 6px; height: 6px; }
        ::-webkit-scrollbar-track { background: transparent; }
        ::-webkit-scrollbar-thumb { background: rgba(7,17,31,0.15); border-radius: 3px; }
        ::-webkit-scrollbar-thumb:hover { background: rgba(7,17,31,0.25); }

        /* === SCREEN READER UTILITIES === */
        .sr-only {
            position: absolute;
            width: 1px;
            height: 1px;
            padding: 0;
            margin: -1px;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            white-space: nowrap;
            border: 0;
        }

        /* === SKIP LINK === */
        .skip-link {
            position: absolute;
            top: -40px;
            left: 0;
            background: var(--ink);
            color: var(--white);
            padding: 8px 16px;
            z-index: 100000;
            font-size: 0.9rem;
            border-radius: 0 0 var(--r-sm) 0;
            transition: top 0.15s;
        }
        .skip-link:focus {
            top: 0;
        }

        /* === REDUCED MOTION === */
        @media (prefers-reduced-motion: reduce) {
          *,
          *::before,
          *::after {
            animation-duration: 0.01ms !important;
            animation-iteration-count: 1 !important;
            transition-duration: 0.15ms !important;
            scroll-behavior: auto !important;
          }
        }

        /* === BENTO GRID === */
        .bento-section {
          padding: 5rem 0 2rem;
          background: var(--paper);
        }

        .bento-grid {
          display: grid;
          grid-template-columns: repeat(6, 1fr);
          grid-template-rows: auto;
          gap: 1rem;
        }

        /* Feature tile: spans 4 cols × 2 rows */
        .bento-tile--feature {
          grid-column: span 4;
          grid-row: span 2;
        }

        /* Stat tiles: 2 cols × 1 row each */
        .bento-tile--stat {
          grid-column: span 2;
        }

        /* Wide tile: spans full 6 cols */
        .bento-tile--wide {
          grid-column: span 6;
          display: flex;
          align-items: center;
          justify-content: space-between;
          gap: 2rem;
        }

        /* Base tile styles */
        .bento-tile {
          border-radius: var(--r-lg);
          padding: 2rem;
          display: flex;
          flex-direction: column;
          gap: 0.5rem;
          min-height: 160px;
          position: relative;
          overflow: hidden;
          transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
        }

        .bento-tile:hover {
          transform: translateY(-3px);
          box-shadow: var(--shadow-lg);
        }

        /* Color variants */
        .bento-tile--feature {
          background: linear-gradient(135deg, var(--dark) 0%, #0a1628 100%);
          color: var(--white);
          border: 1px solid rgba(255,255,255,0.08);
        }

        .bento-tile--cyan {
          background: var(--grad-cyan);
          color: var(--white);
        }

        .bento-tile--dark {
          background: var(--dark-2, #0d1f3c);
          color: var(--white);
          border: 1px solid rgba(255,255,255,0.1);
        }

        .bento-tile--accent {
          background: var(--grad-accent);
          color: var(--white);
        }

        .bento-tile--glass {
          background: rgba(255,255,255,0.7);
          backdrop-filter: blur(16px) saturate(160%);
          -webkit-backdrop-filter: blur(16px) saturate(160%);
          border: 1px solid rgba(255,255,255,0.5);
          color: var(--ink);
        }

        /* Bento content */
        .bento-label {
          font-size: 0.7rem;
          font-weight: 700;
          text-transform: uppercase;
          letter-spacing: 0.12em;
          opacity: 0.6;
        }

        .bento-headline {
          font-family: 'Space Grotesk', sans-serif;
          font-size: clamp(1.8rem, 3vw, 2.8rem);
          font-weight: 700;
          line-height: 1.15;
          margin: 0.5rem 0;
        }

        .bento-headline em {
          font-style: italic;
          background: var(--grad-cyan);
          -webkit-background-clip: text;
          -webkit-text-fill-color: transparent;
          background-clip: text;
        }

        .bento-sub {
          font-size: 0.9rem;
          opacity: 0.75;
          max-width: 36ch;
          line-height: 1.6;
          margin-top: auto;
        }

        .bento-stat-value {
          font-family: 'Space Grotesk', sans-serif;
          font-size: clamp(2.4rem, 4vw, 3.5rem);
          font-weight: 900;
          letter-spacing: -0.04em;
          line-height: 1;
        }

        .bento-stat-label {
          font-size: 0.85rem;
          font-weight: 700;
          opacity: 0.9;
          margin-top: 0.25rem;
        }

        .bento-stat-note {
          font-size: 0.72rem;
          opacity: 0.65;
          line-height: 1.4;
          margin-top: auto;
        }

        .bento-wide-text {
          font-size: clamp(0.9rem, 1.5vw, 1.05rem);
          font-weight: 500;
          letter-spacing: 0.01em;
          line-height: 1.6;
          opacity: 0.85;
        }

        .bento-tile-badge {
          flex-shrink: 0;
          padding: 0.5rem 1.2rem;
          border-radius: var(--r-full);
          background: var(--grad-blue);
          color: var(--white);
          font-size: 0.75rem;
          font-weight: 700;
          letter-spacing: 0.08em;
          text-transform: uppercase;
          white-space: nowrap;
        }

        /* Bento responsive */
        @media (max-width: 1024px) {
          .bento-grid {
            grid-template-columns: repeat(4, 1fr);
          }
          .bento-tile--feature {
            grid-column: span 4;
          }
          .bento-tile--wide {
            grid-column: span 4;
          }
          .bento-tile--stat {
            grid-column: span 2;
          }
        }

        @media (max-width: 768px) {
          .bento-grid {
            grid-template-columns: 1fr 1fr;
            gap: 0.75rem;
          }
          .bento-tile--feature,
          .bento-tile--wide {
            grid-column: span 2;
          }
          .bento-tile--stat {
            grid-column: span 1;
          }
          .bento-tile--wide {
            flex-direction: column;
            align-items: flex-start;
          }
        }

/* === CERT STRIP === */
.cert-strip {
  background: var(--dark);
  border-top: 1px solid rgba(255,255,255,0.06);
  border-bottom: 1px solid rgba(255,255,255,0.06);
  padding: 1.5rem 0;
  overflow: hidden;
}
.cert-strip-inner {
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}
.cert-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex: 1;
  min-width: 160px;
}
.cert-icon {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  color: var(--cyan);
  opacity: 0.85;
}
.cert-icon svg { width: 100%; height: 100%; }
.cert-text { display: flex; flex-direction: column; gap: 0.1rem; }
.cert-name { font-size: 0.8rem; font-weight: 700; color: var(--white); letter-spacing: 0.01em; }
.cert-desc { font-size: 0.7rem; color: rgba(255,255,255,0.45); }
.cert-divider {
  width: 1px;
  height: 32px;
  background: rgba(255,255,255,0.1);
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .cert-strip-inner { justify-content: flex-start; gap: 1.5rem; }
  .cert-divider { display: none; }
  .cert-item { min-width: 140px; flex: 0 0 auto; }
}

/* === CALC MODAL === */
.nav-calc-btn {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.45rem 0.85rem;
  border-radius: var(--r-full);
  border: 1px solid rgba(16,185,129,0.35);
  background: rgba(16,185,129,0.08);
  color: var(--cyan);
  font-size: 0.78rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s var(--ease);
  letter-spacing: 0.02em;
}
.nav-calc-btn:hover {
  background: rgba(16,185,129,0.15);
  border-color: var(--cyan);
}
.calc-overlay {
  position: fixed; inset: 0;
  background: rgba(6,14,29,0.85);
  z-index: 9500;
  display: flex; align-items: center; justify-content: center;
  padding: 1.5rem;
  opacity: 0; pointer-events: none;
  transition: opacity 0.3s var(--ease);
}
.calc-overlay.open { opacity: 1; pointer-events: all; }
.calc-modal {
  background: #0c1a2e;
  border: 1px solid rgba(16,185,129,0.2);
  border-radius: var(--r-lg);
  width: 100%; max-width: 480px;
  overflow: hidden;
  transform: translateY(16px) scale(0.98);
  transition: transform 0.3s var(--ease);
}
.calc-overlay.open .calc-modal { transform: translateY(0) scale(1); }
.calc-header {
  display: flex; align-items: flex-start; justify-content: space-between;
  padding: 1.5rem 1.5rem 1rem;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  gap: 1rem;
}
.calc-header h3 { font-size: 1.1rem; font-weight: 700; color: var(--white); margin: 0 0 0.2rem; }
.calc-header p { font-size: 0.78rem; color: rgba(255,255,255,0.45); margin: 0; }
.calc-close {
  background: none; border: none; color: rgba(255,255,255,0.4);
  cursor: pointer; padding: 0.25rem; flex-shrink: 0;
  transition: color 0.2s;
}
.calc-close:hover { color: var(--white); }
.calc-body { padding: 1.25rem 1.5rem 1.5rem; display: flex; flex-direction: column; gap: 1rem; }
.calc-row { display: flex; flex-direction: column; gap: 0.35rem; }
.calc-label { font-size: 0.75rem; font-weight: 600; color: rgba(255,255,255,0.55); text-transform: uppercase; letter-spacing: 0.08em; }
.calc-input-group { display: flex; align-items: center; gap: 0; }
.calc-input {
  flex: 1;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  border-right: none;
  border-radius: var(--r-sm) 0 0 var(--r-sm);
  color: var(--white);
  padding: 0.6rem 0.9rem;
  font-size: 1rem;
  font-weight: 600;
  font-family: 'Space Grotesk', sans-serif;
  outline: none;
  transition: border-color 0.2s;
}
.calc-input:focus { border-color: var(--cyan); }
.calc-unit {
  background: rgba(16,185,129,0.12);
  border: 1px solid rgba(16,185,129,0.25);
  border-radius: 0 var(--r-sm) var(--r-sm) 0;
  color: var(--cyan);
  padding: 0.6rem 0.85rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.calc-results {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.6rem;
  margin-top: 0.25rem;
}
.calc-result-tile {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--r-sm);
  padding: 0.85rem;
  display: flex; flex-direction: column; gap: 0.25rem;
}
.calc-result-tile--highlight {
  background: rgba(16,185,129,0.08);
  border-color: rgba(16,185,129,0.25);
  grid-column: span 2;
}
.calc-result-value {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 1.6rem;
  font-weight: 900;
  color: var(--white);
  letter-spacing: -0.03em;
  line-height: 1;
}
.calc-result-tile--highlight .calc-result-value { color: var(--cyan); font-size: 2rem; }
.calc-result-label { font-size: 0.7rem; color: rgba(255,255,255,0.4); font-weight: 600; text-transform: uppercase; letter-spacing: 0.07em; }
.calc-disclaimer { font-size: 0.68rem; color: rgba(255,255,255,0.25); text-align: center; line-height: 1.5; margin-top: 0.25rem; }
.calc-select {
  width: 100%;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--r-sm);
  color: var(--white);
  font-size: 0.9rem;
  font-weight: 600;
  padding: 0.6rem 0.9rem;
  outline: none;
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='rgba(255,255,255,0.4)' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.9rem center;
  background-size: 10px;
  transition: border-color 0.2s;
}
.calc-select:focus { border-color: var(--cyan); }
.calc-select option { background: #0c1a2e; color: var(--white); }
.calc-unit-toggle { display: flex; border-radius: var(--r-sm); overflow: hidden; border: 1px solid rgba(255,255,255,0.12); }
.calc-unit-toggle button {
  flex: 1; background: transparent; border: none;
  color: rgba(255,255,255,0.4); font-size: 0.78rem; font-weight: 700;
  padding: 0.5rem 0.75rem; cursor: pointer; transition: all 0.15s;
  letter-spacing: 0.05em;
}
.calc-unit-toggle button.active { background: rgba(16,185,129,0.2); color: var(--cyan); }
.calc-error { font-size: 0.72rem; color: #ff6b6b; margin-top: -0.25rem; display: none; }
.calc-error.show { display: block; }
.calc-input.error { border-color: #ff6b6b; }

/* === COMPARISON TOOL === */
.compare-btn {
  width: 100%;
  padding: 0.5rem;
  margin-top: 0.5rem;
  background: transparent;
  border: 1px solid var(--ink-12);
  border-radius: var(--r-sm);
  color: var(--ink-60);
  font-size: 0.75rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s var(--ease);
  letter-spacing: 0.02em;
}
.compare-btn:hover { border-color: var(--cyan); color: var(--cyan); background: var(--cyan-dim); }
.compare-btn.active { background: var(--cyan-dim); border-color: var(--cyan); color: var(--cyan); }

@keyframes shake {
  0%,100% { transform: translateX(0); }
  25% { transform: translateX(-4px); }
  75% { transform: translateX(4px); }
}

.compare-bar {
  position: fixed;
  bottom: -80px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 8000;
  transition: bottom 0.4s var(--ease);
  width: calc(100% - 3rem);
  max-width: 860px;
}
.compare-bar.visible { bottom: 1.5rem; }
.compare-bar-inner {
  background: var(--dark);
  border: 1px solid rgba(16,185,129,0.25);
  border-radius: var(--r-lg);
  padding: 0.9rem 1.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  box-shadow: 0 8px 32px rgba(0,0,0,0.4), 0 0 0 1px rgba(16,185,129,0.1);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.compare-bar-slots {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  flex-wrap: wrap;
  flex: 1;
}
.compare-bar-label { font-size: 0.72rem; color: rgba(255,255,255,0.4); }
.compare-slot-name { font-size: 0.8rem; font-weight: 600; color: var(--white); }
.compare-slot-sep { font-size: 0.65rem; color: rgba(255,255,255,0.25); font-style: italic; }
.compare-bar-actions { display: flex; gap: 0.5rem; flex-shrink: 0; }
.compare-view-btn {
  padding: 0.5rem 1rem;
  background: var(--grad-cyan);
  border: none;
  border-radius: var(--r-full);
  color: var(--white);
  font-size: 0.8rem;
  font-weight: 700;
  cursor: pointer;
  transition: opacity 0.2s;
}
.compare-view-btn:hover { opacity: 0.85; }
.compare-clear-btn {
  padding: 0.5rem 0.85rem;
  background: transparent;
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: var(--r-full);
  color: rgba(255,255,255,0.5);
  font-size: 0.78rem;
  cursor: pointer;
  transition: all 0.2s;
}
.compare-clear-btn:hover { border-color: rgba(255,255,255,0.35); color: var(--white); }

.compare-modal-overlay {
  position: fixed; inset: 0;
  background: rgba(6,14,29,0.9);
  z-index: 9600;
  display: flex; align-items: center; justify-content: center;
  padding: 1.5rem;
  opacity: 0; pointer-events: none;
  transition: opacity 0.3s var(--ease);
}
.compare-modal-overlay.open { opacity: 1; pointer-events: all; }
.compare-modal-inner {
  background: #0c1a2e;
  border: 1px solid rgba(16,185,129,0.18);
  border-radius: var(--r-lg);
  width: 100%;
  max-width: 760px;
  max-height: 80vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transform: translateY(16px);
  transition: transform 0.3s var(--ease);
}
.compare-modal-overlay.open .compare-modal-inner { transform: translateY(0); }
.compare-modal-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
.compare-modal-header h3 { font-size: 1rem; font-weight: 700; color: var(--white); margin: 0; }
.compare-modal-body { overflow-y: auto; padding: 1.25rem 1.5rem; }
.compare-table { width: 100%; border-collapse: collapse; }
.compare-table thead th {
  padding: 0.75rem 1rem;
  text-align: left;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--cyan);
  border-bottom: 1px solid rgba(16,185,129,0.2);
}
.compare-table thead th:first-child { color: rgba(255,255,255,0.3); font-size: 0.7rem; }
.compare-table tbody td {
  padding: 0.75rem 1rem;
  font-size: 0.85rem;
  color: rgba(255,255,255,0.8);
  border-bottom: 1px solid rgba(255,255,255,0.05);
  vertical-align: top;
}
.compare-row-label {
  color: rgba(255,255,255,0.35) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  white-space: nowrap;
}
.compare-empty { opacity: 0.2; }

        /* === PRICE PER MG === */
        .price-per-mg {
            display: inline-block;
            margin-left: 0.5rem;
            font-size: 0.7rem;
            font-weight: 600;
            color: rgba(7,17,31,0.4);
            background: rgba(7,17,31,0.05);
            border: 1px solid rgba(7,17,31,0.08);
            border-radius: var(--r-full);
            padding: 0.1rem 0.5rem;
            vertical-align: middle;
            letter-spacing: 0.02em;
        }

        /* === COA VIEWER === */
        .coa-overlay {
            position: fixed; inset: 0;
            background: rgba(6,14,29,0.88);
            z-index: 9700;
            display: flex; align-items: center; justify-content: center;
            padding: 1.5rem;
            opacity: 0; pointer-events: none;
            transition: opacity 0.3s var(--ease);
        }
        .coa-overlay.open { opacity: 1; pointer-events: all; }
        .coa-modal {
            background: #0c1a2e;
            border: 1px solid rgba(16,185,129,0.18);
            border-radius: var(--r-lg);
            width: 100%; max-width: 680px;
            max-height: 82vh;
            display: flex; flex-direction: column;
            overflow: hidden;
            transform: translateY(16px);
            transition: transform 0.3s var(--ease);
        }
        .coa-overlay.open .coa-modal { transform: translateY(0); }
        .coa-modal-header {
            display: flex; align-items: flex-start; justify-content: space-between;
            padding: 1.5rem;
            border-bottom: 1px solid rgba(255,255,255,0.07);
            gap: 1rem;
        }
        .coa-modal-label {
            display: block;
            font-size: 0.68rem; font-weight: 700; text-transform: uppercase;
            letter-spacing: 0.1em; color: var(--cyan); margin-bottom: 0.25rem;
        }
        .coa-modal-title { font-size: 1.2rem; font-weight: 700; color: var(--white); margin: 0; }
        .coa-close-btn {
            background: none; border: none; color: rgba(255,255,255,0.4);
            cursor: pointer; padding: 0.25rem; flex-shrink: 0; transition: color 0.2s;
        }
        .coa-close-btn:hover { color: var(--white); }
        .coa-modal-body { overflow-y: auto; padding: 1.25rem 1.5rem 1.5rem; display: flex; flex-direction: column; gap: 1rem; }
        .coa-batch-row {
            display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.75rem;
        }
        .coa-batch-item {
            background: rgba(255,255,255,0.04);
            border: 1px solid rgba(255,255,255,0.07);
            border-radius: var(--r-sm);
            padding: 0.65rem 0.85rem;
            display: flex; flex-direction: column; gap: 0.2rem;
        }
        .coa-batch-label { font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.08em; color: rgba(255,255,255,0.35); font-weight: 600; }
        .coa-batch-value { font-size: 0.82rem; font-weight: 700; color: var(--white); }
        .coa-table { width: 100%; border-collapse: collapse; }
        .coa-table thead th {
            padding: 0.65rem 0.85rem;
            text-align: left;
            font-size: 0.7rem; font-weight: 700;
            text-transform: uppercase; letter-spacing: 0.07em;
            color: rgba(255,255,255,0.4);
            border-bottom: 1px solid rgba(255,255,255,0.08);
            background: rgba(255,255,255,0.02);
        }
        .coa-table tbody tr { border-bottom: 1px solid rgba(255,255,255,0.04); }
        .coa-table tbody tr:last-child { border-bottom: none; }
        .coa-table tbody td {
            padding: 0.7rem 0.85rem;
            font-size: 0.83rem;
            color: rgba(255,255,255,0.75);
            vertical-align: middle;
        }
        .coa-table tbody td:first-child { color: rgba(255,255,255,0.9); font-weight: 500; }
        .coa-status-pass {
            display: inline-flex; align-items: center; gap: 0.3rem;
            color: #4ade80; font-weight: 700; font-size: 0.78rem;
        }
        .coa-status-pass::before { content: '✓'; }
        .coa-footer-note {
            font-size: 0.7rem; color: rgba(255,255,255,0.25);
            text-align: center; line-height: 1.6; border-top: 1px solid rgba(255,255,255,0.06); padding-top: 0.85rem;
        }
        @media (max-width: 600px) {
            .coa-batch-row { grid-template-columns: 1fr 1fr; }
        }

        /* === STICKY PRODUCT BAR === */
        .sticky-product-bar {
            position: fixed;
            top: -72px;
            left: 0; right: 0;
            z-index: 900;
            transition: top 0.35s var(--ease);
            pointer-events: none;
        }
        .sticky-product-bar.visible {
            top: 52px;
            pointer-events: all;
        }
        .sticky-bar-inner {
            max-width: 1400px;
            margin: 0 auto;
            padding: 0.6rem 2rem;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;
            background: rgba(255,255,255,0.95);
            backdrop-filter: blur(16px) saturate(160%);
            -webkit-backdrop-filter: blur(16px) saturate(160%);
            border-bottom: 1px solid rgba(7,17,31,0.08);
            box-shadow: 0 4px 16px rgba(7,17,31,0.08);
        }
        .sticky-bar-name {
            font-size: 0.9rem;
            font-weight: 700;
            color: var(--ink);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            max-width: 50%;
        }
        .sticky-bar-right {
            display: flex;
            align-items: center;
            gap: 1rem;
            flex-shrink: 0;
        }
        .sticky-bar-price {
            font-family: 'Space Grotesk', sans-serif;
            font-size: 1rem;
            font-weight: 700;
            color: var(--ink);
        }
        .sticky-bar-btn {
            padding: 0.5rem 1.25rem;
            background: var(--grad-cyan);
            border: none;
            border-radius: var(--r-full);
            color: var(--white);
            font-size: 0.82rem;
            font-weight: 700;
            cursor: pointer;
            transition: opacity 0.2s;
            letter-spacing: 0.02em;
        }
        .sticky-bar-btn:hover { opacity: 0.85; }
        @media (max-width: 768px) {
            .sticky-product-bar.visible { top: 44px; }
            .sticky-bar-inner { padding: 0.5rem 1rem; }
            .sticky-bar-name { font-size: 0.8rem; max-width: 40%; }
        }

        /* === MOBILE MENU === */
        .hamburger-btn {
            display: none;
            flex-direction: column;
            justify-content: center;
            gap: 5px;
            background: none;
            border: none;
            cursor: pointer;
            padding: 8px;
            border-radius: var(--r-sm);
            transition: background 0.2s;
            min-width: 44px;
            min-height: 44px;
            align-items: center;
        }
        .hamburger-btn:hover { background: rgba(255,255,255,0.08); }
        .hamburger-line {
            display: block;
            width: 20px;
            height: 2px;
            background: currentColor;
            border-radius: 2px;
            transition: transform 0.3s var(--ease), opacity 0.3s;
        }
        .hamburger-btn.open .hamburger-line:nth-child(1) { transform: translateY(7px) rotate(45deg); }
        .hamburger-btn.open .hamburger-line:nth-child(2) { opacity: 0; transform: scaleX(0); }
        .hamburger-btn.open .hamburger-line:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

        .mobile-menu-overlay {
            display: none;
            position: fixed; inset: 0;
            background: rgba(6,14,29,0.6);
            z-index: 10500;
            backdrop-filter: blur(4px);
            -webkit-backdrop-filter: blur(4px);
        }
        .mobile-menu-overlay.open { display: block; }

        .mobile-menu-drawer {
            position: fixed;
            top: 0; right: -100%;
            width: min(320px, 85vw);
            height: 100%;
            background: #060e1d;
            border-left: 1px solid rgba(255,255,255,0.08);
            z-index: 10600;
            display: flex;
            flex-direction: column;
            transition: right 0.35s var(--ease);
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
        }
        .mobile-menu-drawer.open { right: 0; }

        .mobile-menu-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 1.25rem 1.25rem 1rem;
            border-bottom: 1px solid rgba(255,255,255,0.07);
        }
        .mobile-menu-logo {
            font-family: 'Space Grotesk', sans-serif;
            font-size: 1.1rem;
            font-weight: 700;
            color: var(--white);
            letter-spacing: -0.02em;
        }
        .mobile-menu-close {
            background: none;
            border: none;
            color: rgba(255,255,255,0.5);
            cursor: pointer;
            padding: 0.25rem;
            transition: color 0.2s;
            min-width: 44px;
            min-height: 44px;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .mobile-menu-close:hover { color: var(--white); }

        .mobile-menu-nav {
            display: flex;
            flex-direction: column;
            padding: 0.75rem 0;
            flex: 1;
        }
        .mobile-nav-link {
            padding: 0.9rem 1.5rem;
            font-size: 1rem;
            font-weight: 600;
            color: rgba(255,255,255,0.8);
            text-decoration: none;
            border-bottom: 1px solid rgba(255,255,255,0.05);
            transition: color 0.2s, background 0.2s;
            display: flex;
            align-items: center;
            min-height: 44px;
        }
        .mobile-nav-link:hover { color: var(--cyan); background: rgba(16,185,129,0.05); }

        .mobile-menu-actions {
            padding: 1rem 1.25rem;
            display: flex;
            flex-direction: column;
            gap: 0.6rem;
            border-top: 1px solid rgba(255,255,255,0.07);
        }
        .mobile-menu-calc-btn {
            display: flex;
            align-items: center;
            gap: 0.6rem;
            padding: 0.75rem 1rem;
            background: rgba(16,185,129,0.08);
            border: 1px solid rgba(16,185,129,0.25);
            border-radius: var(--r-sm);
            color: var(--cyan);
            font-size: 0.85rem;
            font-weight: 600;
            cursor: pointer;
            text-align: left;
            min-height: 44px;
            transition: background 0.2s;
        }
        .mobile-menu-calc-btn:hover { background: rgba(16,185,129,0.15); }
        .mobile-menu-shop-btn {
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 0.85rem;
            background: var(--grad-cyan);
            border-radius: var(--r-sm);
            color: var(--white);
            font-size: 0.9rem;
            font-weight: 700;
            text-decoration: none;
            min-height: 44px;
            transition: opacity 0.2s;
        }
        .mobile-menu-shop-btn:hover { opacity: 0.85; }

        .mobile-menu-trust {
            padding: 0.85rem 1.25rem;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            font-size: 0.7rem;
            color: rgba(255,255,255,0.3);
            border-top: 1px solid rgba(255,255,255,0.05);
            flex-wrap: wrap;
            text-align: center;
        }

        /* Show hamburger, hide desktop nav on mobile */
        @media (max-width: 768px) {
            .hamburger-btn { display: flex; color: var(--white); }
            .header.scrolled .hamburger-btn { color: var(--ink); }
            .nav-calc-btn { display: none; }
        }

        /* === ANNOUNCEMENT BAR MOBILE === */
        @media (max-width: 768px) {
        }

        /* === MOBILE POLISH === */
        @media (max-width: 768px) {
            /* Touch-friendly buttons */
            .add-to-cart-btn, .add-to-cart, button[onclick*="addToCart"] {
                min-height: 48px;
                font-size: 0.95rem;
            }

            /* Product card spacing */
            .product-img { height: 160px; }

            /* Hero adjustments */
            .hero-title { font-size: clamp(2rem, 8vw, 3rem); }
            .hero-buttons .btn { text-align: center; justify-content: center; min-height: 52px; }

            /* Section headings */

            /* Footer nav on mobile */
            .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
            .footer-brand { grid-column: span 2; }

            /* Bento tiles — improve readability */
            .bento-tile { padding: 1.25rem; min-height: 120px; }
            .bento-stat-value { font-size: clamp(1.8rem, 7vw, 2.4rem); }
            .bento-headline { font-size: clamp(1.4rem, 5vw, 2rem); }

            /* Comparison table — horizontal scroll */
            .compare-modal-body { padding: 0.75rem; }
            .compare-table { min-width: 400px; }
            .compare-modal-body { overflow-x: auto; }

            /* COA table on small screens */
            .coa-modal-body { padding: 0.85rem 1rem; }
            .coa-table td, .coa-table th { padding: 0.55rem 0.6rem; font-size: 0.78rem; }

            /* Cert strip */
            .cert-strip-inner { gap: 1rem; }
            .cert-name { font-size: 0.75rem; }
            .cert-desc { display: none; }

            /* Sticky bar z-index fix */
            .sticky-product-bar { z-index: 950; }
            .sticky-product-bar.visible { top: 38px; }

            /* Cart drawer full width on mobile */

            /* Compare bar */
            .compare-bar-inner { flex-direction: column; align-items: flex-start; gap: 0.75rem; }
            .compare-bar-actions { width: 100%; display: flex; gap: 0.5rem; }
            .compare-view-btn, .compare-clear-btn { flex: 1; text-align: center; justify-content: center; }

            /* Nav actions spacing */
            .nav-actions { gap: 0.4rem; }
        }

        @media (max-width: 480px) {
            /* Very small phones */
            .bento-grid { grid-template-columns: 1fr; }
            .bento-tile--feature, .bento-tile--wide, .bento-tile--stat { grid-column: span 1; }
            .cert-strip-inner { flex-direction: column; gap: 0.75rem; }
            .cert-divider { display: none; }
            .footer-grid { grid-template-columns: 1fr; }
            .footer-brand { grid-column: span 1; }
            .coa-batch-row { grid-template-columns: 1fr 1fr; }
            .compare-bar { width: calc(100% - 1.5rem); }
            .hero-title { font-size: clamp(1.8rem, 9vw, 2.5rem); }
        }

        /* === EMAIL CAPTURE STRIP === */
        .email-strip {
            background: var(--dark-2);
            border-top: 1px solid rgba(255,255,255,0.06);
            border-bottom: 1px solid rgba(255,255,255,0.06);
            padding: 3.5rem 2rem;
        }
        .email-strip-inner {
            max-width: 560px;
            margin: 0 auto;
            text-align: center;
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }
        .email-strip-badge {
            display: inline-block;
            background: rgba(16,185,129,0.12);
            border: 1px solid rgba(16,185,129,0.25);
            color: var(--cyan);
            font-size: 0.72rem;
            font-weight: 700;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            padding: 0.3rem 0.85rem;
            border-radius: var(--r-full);
            align-self: center;
        }
        .email-strip h2 {
            font-family: 'Space Grotesk', sans-serif;
            font-size: clamp(1.5rem, 3vw, 2rem);
            font-weight: 700;
            color: var(--white);
            letter-spacing: -0.02em;
            line-height: 1.2;
            margin: 0;
        }
        .email-strip p {
            font-size: 0.875rem;
            color: rgba(255,255,255,0.45);
            margin: 0;
        }
        .email-strip-form {
            display: flex;
            gap: 0.5rem;
            margin-top: 0.25rem;
        }
        .email-strip-input {
            flex: 1;
            background: rgba(255,255,255,0.06);
            border: 1px solid rgba(255,255,255,0.12);
            border-radius: var(--r-sm);
            color: var(--white);
            font-size: 0.9rem;
            padding: 0.7rem 1rem;
            outline: none;
            transition: border-color 0.2s;
        }
        .email-strip-input:focus { border-color: var(--cyan); }
        .email-strip-input::placeholder { color: rgba(255,255,255,0.3); }
        .email-strip-btn {
            background: var(--cyan);
            color: #000;
            border: none;
            border-radius: var(--r-sm);
            padding: 0.7rem 1.4rem;
            font-size: 0.875rem;
            font-weight: 700;
            cursor: pointer;
            white-space: nowrap;
            transition: opacity 0.2s;
        }
        .email-strip-btn:hover { opacity: 0.88; }
        .email-strip-fine {
            font-size: 0.72rem;
            color: rgba(255,255,255,0.2);
        }
        @media (max-width: 480px) {
            .email-strip-form { flex-direction: column; }
            .email-strip-btn { width: 100%; }
        }


/* ============================================================
   NAVIGATION IMPROVEMENTS
   ============================================================ */

/* --- 1. Mobile Bottom Nav Bar --- */
.mobile-bottom-nav {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    height: 62px;
    background: rgba(5, 12, 24, 0.97);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-top: 1px solid rgba(255,255,255,0.08);
    z-index: 950;
    padding: 0 0.5rem;
    padding-bottom: env(safe-area-inset-bottom);
}
.mobile-bottom-nav-inner {
    display: flex;
    align-items: center;
    justify-content: space-around;
    height: 100%;
}
.mobile-nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    color: rgba(255,255,255,0.45);
    text-decoration: none;
    font-size: 0.6rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.4rem 1rem;
    border-radius: 12px;
    transition: color 0.2s, background 0.2s;
    font-family: 'Instrument Sans', sans-serif;
}
.mobile-nav-item svg { width: 22px; height: 22px; }
.mobile-nav-item.active,
.mobile-nav-item:hover { color: #10b981; }
.mobile-nav-item.cart-item-active { color: #22c55e; }
/* Cart badge on bottom nav */
.mobile-nav-cart-wrap { position: relative; }
.mobile-nav-cart-badge {
    position: absolute;
    top: -4px;
    right: -4px;
    background: #10b981;
    color: #000;
    font-size: 0.55rem;
    font-weight: 800;
    min-width: 16px;
    height: 16px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 3px;
    display: none;
}
@media (max-width: 768px) {
    .mobile-bottom-nav { display: flex; }
    /* Push page content up so last card isn't hidden behind bottom nav or shop pill */
    body { padding-bottom: 130px; }
    /* Hide the back-to-top button on mobile (bottom nav replaces it) */
    #back-to-top { display: none; }
}

/* --- 2. Filter Tab Count Badges --- */
.filter-tab .filter-tab-count,
.filter-tab-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(7,17,31,0.08);
    color: rgba(7,17,31,0.5);
    font-size: 0.62rem;
    font-weight: 700;
    min-width: 20px;
    height: 18px;
    border-radius: 9px;
    padding: 0 5px;
    margin-left: 8px;
    line-height: 1;
    text-transform: none !important;
    letter-spacing: 0 !important;
}
.filter-tab.active .filter-tab-count {
    background: rgba(255,255,255,0.2);
    color: #fff;
}

/* --- 3. Scroll-spy active state --- */
.nav-link.spy-active {
    color: var(--cyan, #10b981) !important;
}

/* --- 4. Jump-to-products pill --- */
#shop-pill {
    position: fixed;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%) translateY(20px);
    background: rgba(5,12,24,0.92);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(16,185,129,0.3);
    color: #fff;
    font-family: 'Instrument Sans', sans-serif;
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.55rem 1.25rem;
    border-radius: 100px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s, transform 0.3s;
    z-index: 800;
    white-space: nowrap;
    letter-spacing: 0.02em;
}
#shop-pill.visible {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
    pointer-events: auto;
}
#shop-pill svg { width: 14px; height: 14px; }
@media (max-width: 768px) {
    #shop-pill { bottom: 76px; }
}

/* ============================================================
   SHOPPING EXPERIENCE IMPROVEMENTS
   ============================================================ */

/* --- Sort Dropdown --- */
.sort-bar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-bottom: 1rem;
    gap: 0.5rem;
}
.sort-label {
    font-size: 0.75rem;
    font-weight: 600;
    color: rgba(7,17,31,0.4);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    white-space: nowrap;
}
.sort-select {
    font-family: 'Instrument Sans', sans-serif;
    font-size: 0.82rem;
    font-weight: 600;
    color: rgba(7,17,31,0.75);
    background: #fff;
    border: 1.5px solid rgba(7,17,31,0.1);
    border-radius: 100px;
    padding: 0.4rem 2rem 0.4rem 0.9rem;
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.6rem center;
    background-size: 14px;
    transition: border-color 0.2s;
}
.sort-select:focus { outline: none; border-color: var(--cyan); }

/* --- Quick-Add Bar (slides up on card hover) --- */
.quick-add-bar {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(5,12,24,0.96);
    backdrop-filter: blur(8px);
    padding: 0.6rem 0.75rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    transform: translateY(100%);
    transition: transform 0.25s cubic-bezier(0.16,1,0.3,1);
    flex-wrap: wrap;
}
.product-card:hover .quick-add-bar,
.product-card:focus-within .quick-add-bar {
    transform: translateY(0);
}
.quick-add-size {
    font-size: 0.68rem;
    font-weight: 700;
    color: rgba(255,255,255,0.6);
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 6px;
    padding: 0.2rem 0.45rem;
    cursor: pointer;
    transition: all 0.15s;
    font-family: 'Instrument Sans', sans-serif;
}
.quick-add-size.qa-active,
.quick-add-size:hover {
    background: var(--cyan, #10b981);
    border-color: var(--cyan, #10b981);
    color: #000;
}
.quick-add-btn {
    margin-left: auto;
    background: var(--cyan, #10b981);
    color: #000;
    border: none;
    border-radius: 8px;
    font-family: 'Instrument Sans', sans-serif;
    font-size: 0.72rem;
    font-weight: 800;
    padding: 0.3rem 0.75rem;
    cursor: pointer;
    white-space: nowrap;
    transition: opacity 0.15s;
    flex-shrink: 0;
}
.quick-add-btn:hover { opacity: 0.85; }
.product-image { position: relative; overflow: hidden; }

/* --- Cart Upsell --- */
.cart-upsell {
    border-top: 1px solid rgba(7,17,31,0.07);
    padding: 0.9rem 1rem;
    background: #fafafa;
}
.cart-upsell-title {
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: rgba(7,17,31,0.4);
    margin-bottom: 0.6rem;
}
.cart-upsell-items {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.cart-upsell-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.5rem 0.6rem;
    background: #fff;
    border: 1px solid rgba(7,17,31,0.07);
    border-radius: 10px;
}
.cart-upsell-name {
    font-size: 0.82rem;
    font-weight: 600;
    color: rgba(7,17,31,0.85);
    flex: 1;
}
.cart-upsell-price {
    font-size: 0.78rem;
    color: rgba(7,17,31,0.45);
    font-weight: 600;
}
.cart-upsell-add {
    background: rgba(16,185,129,0.1);
    color: #059669;
    border: 1.5px solid rgba(16,185,129,0.25);
    border-radius: 8px;
    font-family: 'Instrument Sans', sans-serif;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.28rem 0.65rem;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.2s, color 0.2s;
}
.cart-upsell-add:hover {
    background: var(--cyan, #10b981);
    color: #000;
    border-color: var(--cyan);
}

/* --- Instant Search Dropdown --- */
.search-results-dropdown {
    margin-top: 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    max-height: 360px;
    overflow-y: auto;
}
.search-result-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.6rem 0.9rem;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 10px;
    cursor: pointer;
    transition: background 0.15s;
    text-align: left;
}
.search-result-item:hover { background: rgba(255,255,255,0.12); }
.search-result-info { flex: 1; }
.search-result-name {
    font-size: 0.9rem;
    font-weight: 600;
    color: #fff;
    display: block;
}
.search-result-cat {
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: rgba(255,255,255,0.35);
    margin-top: 0.1rem;
    display: block;
}
.search-result-price {
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--cyan, #10b981);
    white-space: nowrap;
}
.search-result-arrow {
    color: rgba(255,255,255,0.3);
    font-size: 1rem;
}
.search-no-results {
    text-align: center;
    color: rgba(255,255,255,0.3);
    font-size: 0.85rem;
    padding: 1.5rem 0;
}

/* Product highlight flash when jumping from search */
.product-card.search-highlight {
    animation: searchPulse 1.2s ease;
}
@keyframes searchPulse {
    0% { box-shadow: 0 0 0 0 rgba(16,185,129,0.6); }
    50% { box-shadow: 0 0 0 10px rgba(16,185,129,0); }
    100% { box-shadow: none; }
}

/* ============================================================
   POLISH IMPROVEMENTS
   ============================================================ */

/* --- Low stock badge on product cards --- */
.low-stock-badge {
    position: absolute;
    bottom: 0.75rem;
    right: 0.75rem;
    background: linear-gradient(135deg, #dc2626, #b91c1c);
    color: white;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 0.22rem 0.55rem;
    border-radius: 100px;
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 0.3rem;
}
.low-stock-badge::before {
    content: '';
    width: 5px; height: 5px;
    background: #fca5a5;
    border-radius: 50%;
    animation: stockPulse 1.4s ease-in-out infinite;
}
@keyframes stockPulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.4; transform: scale(0.7); }
}

/* --- Add to cart button checkmark animation --- */
@keyframes cartBounce {
    0% { transform: scale(1); }
    40% { transform: scale(1.35); }
    70% { transform: scale(0.9); }
    100% { transform: scale(1); }
}
.cart-count.bounce { animation: cartBounce 0.45s var(--ease) forwards; }

/* --- Filter empty state --- */
.filter-empty-state {
    grid-column: 1 / -1;
    text-align: center;
    padding: 5rem 2rem;
    display: none;
}
.filter-empty-state.visible { display: block; }
.filter-empty-state svg { opacity: 0.2; margin-bottom: 1rem; }
.filter-empty-state h3 {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--ink);
    margin-bottom: 0.5rem;
}
.filter-empty-state p { color: var(--ink-60); font-size: 0.9rem; }
.filter-empty-state button {
    margin-top: 1.25rem;
    padding: 0.6rem 1.5rem;
    background: var(--grad-cyan);
    color: white;
    border: none;
    border-radius: var(--r-full);
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
}

/* --- Bestsellers section on homepage --- */
/* ============================================================
   BESTSELLERS SECTION — REDESIGNED
   ============================================================ */
.bestsellers-section {
    padding: 6rem 2rem;
    background: var(--dark);
    border-top: 1px solid rgba(255,255,255,0.06);
}
.bestsellers-section .section-top {
    max-width: 1400px;
    margin: 0 auto 2.5rem;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
}
.bestsellers-section .section-label {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--cyan);
    margin-bottom: 0.5rem;
}
.bestsellers-section h2 {
    font-family: 'Space Grotesk', sans-serif;
    font-size: clamp(1.8rem, 3vw, 2.4rem);
    font-weight: 700;
    color: var(--white);
    letter-spacing: -0.02em;
}
.bestsellers-section .see-all {
    color: rgba(255,255,255,0.5);
    text-decoration: none;
    font-size: 0.82rem;
    font-weight: 500;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    transition: color 0.2s, gap 0.2s;
}
.bestsellers-section .see-all:hover { color: var(--white); gap: 0.65rem; }

.bestsellers-grid {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}
@media (max-width: 1100px) { .bestsellers-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px)  { .bestsellers-grid { grid-template-columns: 1fr 1fr; gap: 0.75rem; } }

.bestseller-card {
    border-radius: var(--r);
    overflow: hidden;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(255,255,255,0.08);
    background: rgba(255,255,255,0.03);
    transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease), border-color 0.35s var(--ease);
    position: relative;
}
.bestseller-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 50px rgba(0,0,0,0.4);
    border-color: rgba(255,255,255,0.14);
}

/* Shine sweep on hover */
.bestseller-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, transparent 40%, rgba(255,255,255,0.04) 50%, transparent 60%);
    background-size: 200% 100%;
    background-position: 200% 0;
    transition: background-position 0.6s ease;
    pointer-events: none;
    z-index: 5;
}
.bestseller-card:hover::after { background-position: -200% 0; }

.bestseller-img {
    height: 200px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 1rem;
}

/* Dot grid texture */
.bestseller-img::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, rgba(255,255,255,0.07) 1px, transparent 1px);
    background-size: 20px 20px;
    z-index: 0;
}
/* Bottom scrim */
.bestseller-img::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 70%;
    background: linear-gradient(to top, rgba(0,0,0,0.75) 0%, transparent 100%);
    z-index: 1;
}

/* Rank number — top left */
.bs-rank {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: rgba(255,255,255,0.5);
    z-index: 2;
    position: relative;
    align-self: flex-start;
}

/* Bottom content inside image */
.bs-img-bottom {
    z-index: 2;
    position: relative;
}
.bs-cat-tag {
    display: inline-block;
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.55);
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 100px;
    padding: 0.18rem 0.55rem;
    margin-bottom: 0.4rem;
}
.bs-name {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    color: white;
    display: block;
    text-shadow: 0 2px 12px rgba(0,0,0,0.5);
    line-height: 1.2;
}
.bs-formula {
    font-size: 0.58rem;
    color: rgba(255,255,255,0.35);
    font-style: italic;
    display: block;
    margin-top: 0.2rem;
}

.bestseller-body {
    padding: 1rem 1.1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    border-top: 1px solid rgba(255,255,255,0.07);
}
.bs-price-wrap {}
.bs-from {
    font-size: 0.62rem;
    color: rgba(255,255,255,0.35);
    display: block;
    margin-bottom: 0.1rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.bestseller-price {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--white);
}
.bs-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--cyan);
    white-space: nowrap;
    transition: gap 0.2s;
}
.bestseller-card:hover .bs-cta { gap: 0.6rem; }

/* SVG vial inside bestseller card */
.bs-vial-svg {
    position: absolute;
    right: -8px;
    bottom: 0;
    height: 185px;
    width: auto;
    z-index: 2;
    filter: drop-shadow(-4px 0 16px rgba(0,0,0,0.6)) drop-shadow(0 4px 12px rgba(0,0,0,0.4));
    pointer-events: none;
    transition: transform 0.35s var(--ease);
}
.bestseller-card:hover .bs-vial-svg {
    transform: translateY(-8px) scale(1.03);
}

/* Category backgrounds */
.bs-weight-loss { background: linear-gradient(150deg, #7c2d12 0%, #3b1005 60%, #1c0503 100%); }
.bs-recovery    { background: linear-gradient(150deg, #1e3a5f 0%, #0c2040 60%, #060e1d 100%); }
.bs-hormone     { background: linear-gradient(150deg, #3b1f6e 0%, #1e0f3d 60%, #0d0620 100%); }
.bs-longevity   { background: linear-gradient(150deg, #064e3b 0%, #032b21 60%, #011510 100%); }

/* ============================================================
   FEATURE ADDITIONS
   ============================================================ */

/* --- 1. Ships-today countdown --- */
.ships-countdown {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    padding: 0.6rem 1.25rem;
    background: rgba(16,185,129,0.07);
    border: 1px solid rgba(16,185,129,0.2);
    border-radius: var(--r-full);
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--cyan);
    letter-spacing: 0.02em;
    width: fit-content;
    margin: 0 auto 1.75rem;
}
.ships-countdown svg { flex-shrink: 0; }
.ships-countdown .cd-time { font-variant-numeric: tabular-nums; }
.ships-countdown.expired {
    color: var(--ink-60);
    background: var(--ink-04);
    border-color: var(--ink-08);
}

/* --- 2. Category icons on filter tabs --- */
.filter-tab svg { margin-right: 5px; vertical-align: middle; flex-shrink: 0; }

/* --- 3. Quick view modal --- */
.qv-overlay {
    position: fixed;
    inset: 0;
    background: rgba(6,14,29,0.75);
    backdrop-filter: blur(6px);
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s var(--ease);
}
.qv-overlay.open { opacity: 1; pointer-events: all; }
.qv-modal {
    background: var(--white);
    border-radius: var(--r-lg);
    max-width: 580px;
    width: 100%;
    overflow: hidden;
    box-shadow: 0 32px 80px rgba(0,0,0,0.3);
    transform: translateY(16px);
    transition: transform 0.3s var(--ease);
}
.qv-overlay.open .qv-modal { transform: translateY(0); }
.qv-img {
    height: 160px;
    position: relative;
    display: flex;
    align-items: flex-end;
    padding: 1.25rem;
}
.qv-img::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, rgba(255,255,255,0.07) 1px, transparent 1px);
    background-size: 18px 18px;
}
.qv-img::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 65%;
    background: linear-gradient(to top, rgba(0,0,0,0.75), transparent);
}
.qv-img-name {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: white;
    position: relative;
    z-index: 1;
}
.qv-close {
    position: absolute;
    top: 0.9rem; right: 0.9rem;
    width: 32px; height: 32px;
    border-radius: 50%;
    background: rgba(0,0,0,0.35);
    border: none;
    color: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    transition: background 0.2s;
}
.qv-close:hover { background: rgba(0,0,0,0.55); }
.qv-body { padding: 1.5rem; }
.qv-subtitle { font-size: 0.82rem; color: var(--ink-60); margin-bottom: 0.75rem; }
.qv-desc { font-size: 0.88rem; color: var(--ink); line-height: 1.65; margin-bottom: 1.25rem; }
.qv-sizes { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 1.25rem; }
.qv-size-btn {
    padding: 0.45rem 0.9rem;
    border-radius: var(--r-sm);
    border: 1.5px solid var(--ink-12);
    background: transparent;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
    color: var(--ink-60);
}
.qv-size-btn.active {
    border-color: var(--cyan);
    color: var(--cyan);
    background: rgba(16,185,129,0.06);
}
.qv-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.qv-price {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--ink);
}
.qv-actions { display: flex; gap: 0.75rem; align-items: center; }
.qv-add-btn {
    padding: 0.7rem 1.4rem;
    background: var(--grad-blue);
    color: white;
    border: none;
    border-radius: var(--r-full);
    font-size: 0.88rem;
    font-weight: 700;
    cursor: pointer;
    transition: opacity 0.2s;
}
.qv-add-btn:hover { opacity: 0.88; }
.qv-view-link {
    font-size: 0.8rem;
    color: var(--ink-60);
    text-decoration: none;
    font-weight: 500;
}
.qv-view-link:hover { color: var(--ink); }
/* Eye icon on card hover */
.qv-trigger {
    position: absolute;
    top: 0.75rem;
    right: 2.75rem;
    width: 30px; height: 30px;
    border-radius: 50%;
    background: rgba(6,14,29,0.55);
    backdrop-filter: blur(4px);
    border: 1px solid rgba(255,255,255,0.15);
    color: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 4;
    opacity: 0;
    transform: scale(0.85);
    transition: opacity 0.2s, transform 0.2s;
}
.product-card:hover .qv-trigger { opacity: 1; transform: scale(1); }

/* --- 4. Recently viewed bar --- */
.recently-viewed-bar {
    position: fixed;
    bottom: 64px;
    left: 0; right: 0;
    z-index: 500;
    background: rgba(255,255,255,0.96);
    backdrop-filter: blur(12px);
    border-top: 1px solid var(--ink-08);
    padding: 0.6rem 1.5rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    transform: translateY(100%);
    transition: transform 0.4s var(--ease);
    box-shadow: 0 -4px 20px rgba(7,17,31,0.07);
}
.recently-viewed-bar.visible { transform: translateY(0); }
.rv-label {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ink-30);
    white-space: nowrap;
    flex-shrink: 0;
}
.rv-items { display: flex; gap: 0.6rem; overflow-x: auto; flex: 1; }
.rv-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 0.7rem;
    background: var(--ink-04);
    border: 1px solid var(--ink-08);
    border-radius: var(--r-full);
    text-decoration: none;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--ink);
    white-space: nowrap;
    transition: background 0.2s, border-color 0.2s;
    flex-shrink: 0;
}
.rv-item:hover { background: rgba(16,185,129,0.08); border-color: var(--cyan); color: var(--cyan); }
.rv-dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}
.rv-close {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--ink-30);
    font-size: 1rem;
    line-height: 1;
    flex-shrink: 0;
    padding: 0 0.25rem;
    transition: color 0.2s;
}
.rv-close:hover { color: var(--ink); }
@media (max-width: 768px) { .recently-viewed-bar { bottom: 56px; } }

/* --- 5. COA modal --- */
.coa-overlay {
    position: fixed;
    inset: 0;
    background: rgba(6,14,29,0.8);
    backdrop-filter: blur(8px);
    z-index: 3000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s;
}
.coa-overlay.open { opacity: 1; pointer-events: all; }
.coa-modal {
    background: #fff;
    border-radius: var(--r);
    max-width: 520px;
    width: 100%;
    max-height: 85vh;
    overflow-y: auto;
    box-shadow: 0 32px 80px rgba(0,0,0,0.35);
    transform: translateY(12px);
    transition: transform 0.3s var(--ease);
    font-family: 'Instrument Sans', sans-serif;
}
.coa-overlay.open .coa-modal { transform: translateY(0); }
.coa-header {
    background: var(--dark);
    padding: 1.25rem 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.coa-header-left h3 {
    font-family: 'Space Grotesk', sans-serif;
    color: white;
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 0.15rem;
}
.coa-header-left span { font-size: 0.72rem; color: rgba(255,255,255,0.45); }
.coa-close {
    background: rgba(255,255,255,0.1);
    border: none;
    color: white;
    width: 30px; height: 30px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}
.coa-body { padding: 1.5rem; }
.coa-stamp {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background: rgba(16,185,129,0.06);
    border: 1px solid rgba(16,185,129,0.2);
    border-radius: var(--r-sm);
    margin-bottom: 1.25rem;
}
.coa-stamp-icon {
    width: 40px; height: 40px;
    background: var(--grad-cyan);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.coa-stamp-text strong { display: block; font-size: 0.88rem; color: var(--ink); font-weight: 700; }
.coa-stamp-text span { font-size: 0.72rem; color: var(--ink-60); }
.coa-table { width: 100%; border-collapse: collapse; font-size: 0.82rem; margin-bottom: 1rem; }
.coa-table tr { border-bottom: 1px solid var(--ink-08); }
.coa-table tr:last-child { border-bottom: none; }
.coa-table td { padding: 0.55rem 0.25rem; }
.coa-table td:first-child { color: var(--ink-60); width: 45%; }
.coa-table td:last-child { font-weight: 600; color: var(--ink); }
.coa-pass { color: #16a34a !important; }
.coa-disclaimer {
    font-size: 0.68rem;
    color: var(--ink-30);
    text-align: center;
    padding-top: 0.75rem;
    border-top: 1px solid var(--ink-08);
    line-height: 1.6;
}
.coa-trigger-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--blue);
    background: none;
    border: 1px solid rgba(0,92,200,0.25);
    border-radius: var(--r-full);
    padding: 0.4rem 0.9rem;
    cursor: pointer;
    margin-top: 0.75rem;
    width: 100%;
    justify-content: center;
    transition: background 0.2s, border-color 0.2s;
}
.coa-trigger-btn:hover { background: rgba(0,92,200,0.06); border-color: rgba(0,92,200,0.4); }

/* --- 6. Purity badge on product pages --- */
.purity-stamp {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 1rem;
    background: rgba(16,185,129,0.08);
    border: 1px solid rgba(16,185,129,0.25);
    border-radius: var(--r-full);
    font-size: 0.72rem;
    font-weight: 700;
    color: #10b981;
    letter-spacing: 0.04em;
    margin-top: 0.75rem;
    width: fit-content;
}
.purity-stamp::before {
    content: '';
    width: 6px; height: 6px;
    background: #10b981;
    border-radius: 50%;
    animation: stockPulse 1.8s ease-in-out infinite;
}

/* --- COA modal content elements (JS-injected) --- */
.coa-modal { position: relative; }
.coa-header { gap: 1rem; }
.coa-modal-title { font-size: 0.95rem; font-weight: 700; color: #fff; margin: 0; line-height: 1.3; }
.coa-modal-sub { font-size: 0.72rem; color: rgba(255,255,255,0.45); margin-top: 3px; }
.coa-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.65rem 0;
    border-bottom: 1px solid rgba(7,17,31,0.07);
    font-size: 0.84rem;
}
.coa-row:last-child { border-bottom: none; }
.coa-row span { color: rgba(7,17,31,0.55); }
.coa-row strong { font-weight: 700; color: var(--ink, #07111f); }
.coa-note {
    font-size: 0.68rem;
    color: rgba(7,17,31,0.4);
    text-align: center;
    padding: 0.5rem 1.5rem 1.25rem;
    line-height: 1.6;
    border-top: 1px solid rgba(7,17,31,0.07);
    margin-top: 0.5rem;
}
.coa-close {
    position: absolute;
    top: 0.85rem; right: 0.85rem;
    background: rgba(255,255,255,0.1);
    border: none; color: rgba(255,255,255,0.6);
    width: 28px; height: 28px;
    border-radius: 50%;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    font-size: 0.85rem;
    transition: background 0.2s;
    z-index: 1;
}
.coa-close:hover { background: rgba(255,255,255,0.2); color: #fff; }

/* --- Quick view modal content elements --- */
.qv-name { font-size: 1.4rem; font-weight: 700; color: var(--ink, #07111f); margin: 0 0 0.4rem; line-height: 1.25; }
.qv-cat { font-size: 0.68rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--cyan, #10b981); margin-bottom: 0.5rem; }
.qv-price { font-size: 1.6rem; font-weight: 700; color: var(--cyan, #10b981); font-family: 'Space Grotesk', sans-serif; margin-bottom: 0.75rem; }
.qv-desc { font-size: 0.83rem; color: rgba(7,17,31,0.6); line-height: 1.6; margin-bottom: 1rem; }
.qv-sizes { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-bottom: 1.25rem; }
.qv-actions { display: flex; flex-direction: column; gap: 0.6rem; }
.qv-full-link { font-size: 0.8rem; font-weight: 600; color: var(--cyan, #10b981); text-decoration: none; text-align: center; opacity: 0.8; transition: opacity 0.2s; }
.qv-full-link:hover { opacity: 1; text-decoration: underline; }
.qv-img {
    display: flex; align-items: center; justify-content: center;
    font-size: 4rem; font-weight: 700; color: rgba(255,255,255,0.15);
    font-family: 'Space Grotesk', sans-serif;
    letter-spacing: -0.02em;
}
.qv-add-btn { width: 100%; }

/* --- Product card detail link --- */
.card-detail-link { flex-shrink: 0; }

/* === CART PAYMENT METHODS BADGE === */
.cart-payment-methods {
    display: flex; align-items: center; justify-content: center;
    gap: 0.5rem; margin: 0.5rem 0 0.25rem;
    font-size: 0.78rem; color: #888;
}
.cart-pm-item {
    display: flex; align-items: center; gap: 0.3rem; font-weight: 500;
}
.cart-pm-dot { color: #ccc; }

/* === ORDER DETAILS FORM MODAL === */
.order-overlay {
    position: fixed; inset: 0; z-index: 10000;
    background: rgba(0,0,0,0.6); backdrop-filter: blur(4px);
    display: flex; align-items: center; justify-content: center;
    padding: 1rem;
    opacity: 0; visibility: hidden;
    transition: opacity 0.25s, visibility 0.25s;
}
.order-overlay.open { opacity: 1; visibility: visible; }
.order-modal {
    background: var(--white, #fff);
    border-radius: 20px;
    padding: 2rem;
    width: 100%; max-width: 480px;
    max-height: 90vh; overflow-y: auto;
    box-shadow: 0 24px 64px rgba(0,0,0,0.2);
    position: relative;
    transform: translateY(12px);
    transition: transform 0.25s;
}
.order-overlay.open .order-modal { transform: translateY(0); }
.order-modal-close {
    position: absolute; top: 1rem; right: 1rem;
    background: none; border: none; cursor: pointer;
    color: #888; font-size: 1.4rem; line-height: 1;
    padding: 0.25rem 0.5rem; border-radius: 6px;
}
.order-modal-close:hover { background: #f0f0f0; }
.order-modal h3 {
    font-size: 1.2rem; font-weight: 700; color: #0d1117;
    font-family: 'Space Grotesk', sans-serif; margin: 0 0 0.25rem;
}
.order-modal > p {
    font-size: 0.85rem; color: #666; margin: 0 0 1.25rem;
}
.order-field-row {
    display: flex; gap: 0.75rem;
}
.order-field-group {
    display: flex; flex-direction: column; gap: 0.3rem;
    margin-bottom: 0.85rem; flex: 1;
}
.order-field-group label {
    font-size: 0.75rem; font-weight: 600; color: #444;
    text-transform: uppercase; letter-spacing: 0.04em;
}
.order-field-group input {
    border: 1.5px solid #e0e3eb; border-radius: 10px;
    padding: 0.65rem 0.85rem; font-size: 0.92rem;
    font-family: inherit; color: #0d1117;
    outline: none; transition: border-color 0.15s;
    background: #fafbfc;
}
.order-field-group input:focus { border-color: #005cc8; background: #fff; }
.order-field-group input::placeholder { color: #b0b8c9; }
.order-submit-btn {
    width: 100%; padding: 0.9rem; border-radius: 12px;
    background: var(--blue, #005cc8); color: #fff; border: none;
    font-size: 1rem; font-weight: 700; cursor: pointer;
    font-family: inherit; margin-top: 0.25rem;
    transition: background 0.2s;
}
.order-submit-btn:hover { background: #0048a0; }
.order-error {
    font-size: 0.82rem; color: #dc2626;
    background: #fef2f2; border: 1px solid #fca5a5;
    border-radius: 8px; padding: 0.6rem 0.85rem;
    margin-bottom: 0.85rem; display: none;
}
@media (max-width: 480px) {
    .order-field-row { flex-direction: column; gap: 0; }
    .order-modal { padding: 1.5rem 1.25rem; }
}

/* === ZELLE PAYMENT MODAL === */
.zelle-overlay {
    position: fixed; inset: 0; z-index: 10000;
    background: rgba(0,0,0,0.6); backdrop-filter: blur(4px);
    display: flex; align-items: center; justify-content: center;
    padding: 1rem;
    opacity: 0; visibility: hidden;
    transition: opacity 0.25s, visibility 0.25s;
}
.zelle-overlay.open {
    opacity: 1; visibility: visible;
}
.zelle-modal {
    background: var(--white, #fff);
    border-radius: 20px;
    padding: 2rem;
    width: 100%; max-width: 440px;
    box-shadow: 0 24px 64px rgba(0,0,0,0.2);
    position: relative;
    transform: translateY(12px);
    transition: transform 0.25s;
}
.zelle-overlay.open .zelle-modal {
    transform: translateY(0);
}
.zelle-modal-close {
    position: absolute; top: 1rem; right: 1rem;
    background: none; border: none; cursor: pointer;
    color: #888; font-size: 1.4rem; line-height: 1;
    padding: 0.25rem 0.5rem; border-radius: 6px;
}
.zelle-modal-close:hover { background: #f0f0f0; }
.zelle-modal-header {
    display: flex; align-items: center; gap: 0.75rem;
    margin-bottom: 1.25rem;
}
.zelle-logo {
    width: 44px; height: 44px; border-radius: 10px;
    background: #6b2d8b; display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.zelle-logo svg { width: 26px; height: 26px; }
.zelle-modal-header h3 {
    font-size: 1.15rem; font-weight: 700;
    color: var(--ink, #0d1117); margin: 0;
    font-family: 'Space Grotesk', sans-serif;
}
.zelle-modal-header p {
    font-size: 0.8rem; color: #666; margin: 0.1rem 0 0;
}
.zelle-order-summary {
    background: #f8f9fa; border-radius: 12px;
    padding: 0.85rem 1rem; margin-bottom: 1.25rem;
    font-size: 0.85rem; color: #444;
}
.zelle-order-summary .zelle-total {
    display: flex; justify-content: space-between; align-items: center;
    font-weight: 700; font-size: 1rem; color: #0d1117; margin-top: 0.4rem;
}
.zelle-instructions {
    font-size: 0.88rem; color: #444; margin-bottom: 1.25rem; line-height: 1.6;
}
.zelle-instructions strong { color: #0d1117; }
.zelle-field {
    background: #f0f3ff; border: 1px solid #dce3ff;
    border-radius: 10px; padding: 0.7rem 1rem;
    margin-bottom: 0.6rem;
    display: flex; align-items: center; justify-content: space-between; gap: 0.5rem;
}
.zelle-field-label { font-size: 0.72rem; font-weight: 600; color: #6b2d8b; text-transform: uppercase; letter-spacing: 0.05em; }
.zelle-field-value { font-size: 0.95rem; font-weight: 600; color: #0d1117; }
.zelle-copy-btn {
    background: none; border: 1px solid #c8b8e0; border-radius: 6px;
    font-size: 0.72rem; font-weight: 600; color: #6b2d8b;
    padding: 0.3rem 0.6rem; cursor: pointer; white-space: nowrap; flex-shrink: 0;
    transition: background 0.15s;
}
.zelle-copy-btn:hover { background: #ede5f7; }
.zelle-memo-note {
    background: #fff8e6; border: 1px solid #f5d87a; border-radius: 10px;
    padding: 0.7rem 1rem; font-size: 0.82rem; color: #7a5500; margin-bottom: 1.25rem;
    line-height: 1.5;
}
.zelle-sent-btn {
    width: 100%; padding: 0.9rem; border-radius: 12px;
    background: #6b2d8b; color: #fff; border: none;
    font-size: 1rem; font-weight: 700; cursor: pointer;
    transition: background 0.2s;
}
.zelle-sent-btn:hover { background: #57206f; }
.zelle-confirm-msg {
    display: none; text-align: center; padding: 1rem 0;
    color: #16a34a; font-weight: 600; font-size: 0.95rem;
}
.zelle-confirm-msg svg { display: block; margin: 0 auto 0.5rem; }
@media (max-width: 480px) {
    .zelle-modal { padding: 1.5rem 1.25rem; }
}
