        /* ═══ AUTH MODAL ═══ */
        .modal-overlay {
            position: fixed; inset: 0; background: rgba(15,23,42,0.4);
            backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
            display: none; align-items: center; justify-content: center; z-index: 9000;
        }
        .modal-card {
            background: var(--white); border: 1px solid var(--border);
            border-radius: var(--radius-xl); padding: 48px 36px;
            text-align: center; max-width: 380px; width: 90%;
            box-shadow: var(--shadow-xl); position: relative;
        }
        .modal-close { position: absolute; top: 16px; right: 20px; background: none; border: none; color: var(--text-muted); font-size: 20px; cursor: pointer; }
        .modal-close:hover { color: var(--text); }
        .modal-icon { font-size: 44px; margin-bottom: 14px; }
        .modal-title { font-family: var(--font-display); font-size: 1.4rem; font-weight: 700; color: var(--text); margin-bottom: 8px; letter-spacing: -0.02em; }
        .modal-sub { color: var(--text-secondary); font-size: 0.88rem; margin-bottom: 24px; line-height: 1.7; }
        .modal-perks { display: flex; flex-direction: column; gap: 8px; margin-bottom: 28px; text-align: left; }
        .modal-perk { display: flex; align-items: center; gap: 10px; font-size: 0.82rem; color: var(--text-secondary); }
        .modal-perk span:first-child { font-size: 16px; }
        .btn-google {
            display: flex; align-items: center; justify-content: center; gap: 12px;
            width: 100%; padding: 14px 20px;
            background: var(--text); color: white;
            border: none; border-radius: var(--radius);
            font-size: 0.9rem; font-weight: 600; cursor: pointer;
            font-family: var(--font-body); transition: all 0.2s;
        }
        .btn-google:hover { background: var(--blue-700); }
        .btn-google:active { transform: scale(0.98); }
        .btn-google svg { width: 20px; height: 20px; flex-shrink: 0; }

        /* ═══ STORE MODAL — Fashion Editorial ═══ */
        .store-modal-overlay {
            display: none; position: fixed; inset: 0;
            background: rgba(10,15,30,0.54);
            backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
            z-index: 2000; align-items: center; justify-content: center; padding: 20px;
        }
        .store-modal {
            background: #fff; border-radius: 26px;
            padding: 36px 36px 28px; max-width: 400px; width: 100%;
            text-align: center; position: relative;
            max-height: calc(100dvh - 40px); overflow-y: auto;
            box-shadow:
                0 2px 4px rgba(15,23,42,0.03),
                0 10px 28px rgba(15,23,42,0.08),
                0 40px 80px rgba(15,23,42,0.13);
            animation: smIn 0.38s cubic-bezier(0.16, 1, 0.3, 1) both;
        }
        @keyframes smIn {
            from { opacity: 0; transform: translateY(22px) scale(0.95); }
            to   { opacity: 1; transform: translateY(0) scale(1); }
        }

        /* Close — circular refined button */
        .store-modal-close {
            position: absolute; top: 16px; right: 16px;
            width: 34px; height: 34px; border-radius: 50%;
            background: #F1F5F9; border: none; cursor: pointer;
            display: flex; align-items: center; justify-content: center;
            color: #64748B; transition: background 0.18s, color 0.18s;
            font-size: 0; /* hides &#x2715; on old pages */
        }
        .store-modal-close:hover { background: #EFF6FF; color: #2563EB; }
        .store-modal-close svg { width: 12px; height: 12px; pointer-events: none; }

        /* Visual icon box */
        .store-modal-visual,
        .store-modal-icon {
            width: 48px; height: 48px; margin: 0 auto 16px;
            background: #EFF6FF; border: 1px solid #DBEAFE;
            border-radius: 14px; display: flex; align-items: center;
            justify-content: center; color: #2563EB;
            font-size: 0;
        }
        .store-modal-visual svg,
        .store-modal-icon svg { width: 22px; height: 22px; }

        /* Eyebrow — editorial small caps */
        .store-modal-badge {
            font-family: 'DM Sans', sans-serif;
            font-size: 0.6rem; font-weight: 700; letter-spacing: 0.2em;
            text-transform: uppercase; color: #94A3B8;
            display: block; margin-bottom: 9px;
            /* override old pill style */
            background: none; border: none; padding: 0;
            border-radius: 0;
        }
        .store-modal-badge::before { display: none; }

        /* Thin brand rule */
        .store-modal-rule {
            width: 26px; height: 1.5px; background: #2563EB;
            border-radius: 1px; margin: 0 auto 12px;
        }

        /* Headline — editorial, confident */
        .store-modal-title {
            font-family: 'DM Sans', sans-serif;
            font-size: 1.52rem; font-weight: 700;
            color: #0F172A; letter-spacing: -0.03em;
            line-height: 1.15; margin: 0 0 10px;
        }

        /* Body */
        .store-modal-sub {
            font-family: 'DM Sans', sans-serif;
            font-size: 0.88rem; color: #475569;
            line-height: 1.72; margin: 0;
        }

        /* Store buttons */
        .store-modal-btns { display: flex; flex-direction: column; gap: 8px; margin-top: 16px; }

        .store-btn {
            display: flex; align-items: center; justify-content: center; gap: 10px;
            padding: 12px 22px; border-radius: 14px; text-decoration: none;
            font-family: 'DM Sans', sans-serif; font-size: 0.88rem; font-weight: 600;
            letter-spacing: -0.01em;
            transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s;
        }
        .store-btn:hover { transform: translateY(-2px); }
        .store-btn.apple {
            background: #0F172A; color: #fff;
            box-shadow: none;
        }
        .store-btn.apple:hover { box-shadow: none; }
        .store-btn.google {
            background: #F8FAFC; color: #0F172A;
            border: 1.5px solid #CBD5E1;
            box-shadow: none;
        }
        .store-btn.google:hover { background: #F1F5F9; border-color: #94A3B8; box-shadow: none; }

        /* Fine print */
        .store-modal-note {
            margin-top: 12px; font-size: 0.72rem;
            color: #94A3B8; line-height: 1.55;
        }

        /* Mobile */
        @media (max-width: 480px) {
            .store-modal { padding: 28px 22px 22px; border-radius: 22px; }
            .store-modal-title { font-size: 1.28rem; }
            .store-modal-sub { font-size: 0.84rem; }
            .store-modal-btns { margin-top: 14px; }
        }
        @media (max-width: 360px) {
            .store-modal { padding: 24px 18px 20px; }
            .store-modal-title { font-size: 1.18rem; }
            .india-amount { font-size: 3rem; }
        }

