/* ============================================================================
   store-themes.css — NarneTech.shop PREMIUM storefront themes
   Loaded by Areas/Store _Layout AFTER store.css. Every rule is scoped to a
   body.theme-* selector, so this file is completely inert unless one of these
   themes is active — it cannot regress the base look or themes a–f.

   Per-tenant --nt-primary / --nt-secondary still layer on top of each theme,
   so the owner's brand colour drives CTAs/accents while the theme supplies the
   distinctive chrome (header, canvas, card treatment, density).

   Themes:
     theme-aurora  — Aurora Glass : glossy dark UI, frosted-glass cards, neon glow
     theme-market  — Marketplace  : Amazon-style dense marketplace, dark nav, gold CTAs
     theme-kart    — BlueKart     : Flipkart-style blue header, grey canvas, deal cards
     theme-swift   — Swift        : Blinkit-style quick-commerce, bright & snappy
     theme-studio  — Studio       : Shopify-style premium editorial, airy whitespace
   ========================================================================= */

/* =========================================================================
   THEME · AURORA GLASS  (glossy dark + glassmorphism)
   ========================================================================= */
body.theme-aurora {
    --nt-radius: 1rem;
    color: #e7e9f3;
    background-color: #0b1020;
    background-image:
        radial-gradient(1100px 620px at 82% -12%, color-mix(in srgb, var(--nt-primary) 42%, transparent), transparent 60%),
        radial-gradient(900px 520px at -12% 18%, rgba(124, 92, 255, .22), transparent 55%),
        radial-gradient(800px 800px at 50% 120%, rgba(0, 200, 255, .10), transparent 60%),
        linear-gradient(180deg, #0b1020 0%, #0a0e1a 55%, #090c16 100%);
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 100vh;
}
/* light-on-dark text remaps for Bootstrap utility classes used in markup */
body.theme-aurora .text-dark { color: #e7e9f3 !important; }
body.theme-aurora .text-muted { color: #99a2bd !important; }
body.theme-aurora .bg-light { background-color: rgba(255, 255, 255, .05) !important; }
body.theme-aurora a { color: color-mix(in srgb, var(--nt-primary) 55%, #cfd6ff); }
body.theme-aurora .table { color: #e7e9f3; --bs-table-border-color: rgba(255,255,255,.12); }
body.theme-aurora hr { border-color: rgba(255,255,255,.14); }

/* announcement + frosted-glass sticky header */
body.theme-aurora .nt-announce {
    background: linear-gradient(90deg, color-mix(in srgb, var(--nt-primary) 88%, #000), color-mix(in srgb, var(--nt-primary) 45%, #3a1e8a));
    box-shadow: 0 1px 24px color-mix(in srgb, var(--nt-primary) 40%, transparent);
}
body.theme-aurora .nt-header {
    background: rgba(12, 16, 32, .72);
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    -webkit-backdrop-filter: blur(18px) saturate(150%);
    backdrop-filter: blur(18px) saturate(150%);
}
body.theme-aurora .nt-header.is-stuck { box-shadow: 0 10px 40px rgba(0, 0, 0, .5); }
body.theme-aurora .nt-header .text-brand,
body.theme-aurora .nt-header .navbar-brand {
    color: #fff !important;
    text-shadow: 0 0 22px color-mix(in srgb, var(--nt-primary) 65%, transparent);
}
body.theme-aurora .nt-header .border-top { border-color: rgba(255, 255, 255, .08) !important; }
body.theme-aurora .nt-iconbtn { color: #c7cde3; }
body.theme-aurora .nt-iconbtn:hover { background: rgba(255, 255, 255, .1); color: #fff; }
body.theme-aurora .nt-navlink { color: #c7cde3; }
body.theme-aurora .nt-navlink:hover { color: #fff; text-shadow: 0 0 12px color-mix(in srgb, var(--nt-primary) 60%, transparent); }
body.theme-aurora .nt-search .form-control {
    background: rgba(255, 255, 255, .06); color: #fff;
    border: 1px solid rgba(255, 255, 255, .1);
}
body.theme-aurora .nt-search .form-control::placeholder { color: #8b93ad; }
body.theme-aurora .nt-search .form-control:focus { background: rgba(255, 255, 255, .12); box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--nt-primary) 30%, transparent); }
body.theme-aurora .nt-search .nt-search-icon { color: #8b93ad; }
body.theme-aurora .dropdown-menu { background: #131a30; border: 1px solid rgba(255,255,255,.1); }
body.theme-aurora .dropdown-item { color: #d7dcef; }
body.theme-aurora .dropdown-item:hover { background: rgba(255,255,255,.08); color: #fff; }

/* glossy glass cards with sheen + glow */
body.theme-aurora .card,
body.theme-aurora .product-card,
body.theme-aurora .nt-cat-tile,
body.theme-aurora .nt-filter-card,
body.theme-aurora .nt-gallery-main,
body.theme-aurora .nt-usp {
    /* translucent glass fill only — no per-card backdrop-blur (keeps 24-card
       category pages smooth on low-end phones; blur is reserved for the header). */
    background: rgba(255, 255, 255, .055);
    border: 1px solid rgba(255, 255, 255, .1);
    color: #e7e9f3;
}
body.theme-aurora .card,
body.theme-aurora .product-card { border-radius: 1rem; box-shadow: 0 8px 30px rgba(0, 0, 0, .38); position: relative; }
body.theme-aurora .card-body { color: #e7e9f3; }
body.theme-aurora .product-card .ratio.bg-light { background: rgba(255, 255, 255, .04) !important; }
/* glossy top sheen over the whole card */
body.theme-aurora .product-card::after {
    content: ""; position: absolute; inset: 0 0 auto 0; height: 45%;
    background: linear-gradient(180deg, rgba(255, 255, 255, .1), transparent);
    pointer-events: none; z-index: 2; border-radius: 1rem 1rem 0 0;
}
body.theme-aurora .product-card:hover {
    transform: translateY(-6px);
    border-color: color-mix(in srgb, var(--nt-primary) 55%, transparent);
    box-shadow: 0 20px 55px rgba(0, 0, 0, .55),
                0 0 0 1px color-mix(in srgb, var(--nt-primary) 30%, transparent),
                0 8px 45px color-mix(in srgb, var(--nt-primary) 38%, transparent);
}
body.theme-aurora .nt-cat-tile { border-radius: 1rem; }
body.theme-aurora .nt-cat-tile:hover { border-color: color-mix(in srgb, var(--nt-primary) 50%, transparent); color: #fff; box-shadow: 0 14px 34px rgba(0, 0, 0, .45); }
body.theme-aurora .nt-cat-icon { background: color-mix(in srgb, var(--nt-primary) 28%, rgba(255, 255, 255, .05)); color: #fff; }
body.theme-aurora .nt-actbtn { background: #1a2138; color: #d7dcef; }
body.theme-aurora .nt-actbtn:hover { color: #fff; }

/* glossy gradient buttons with glow */
body.theme-aurora .btn-brand {
    background: linear-gradient(180deg, color-mix(in srgb, var(--nt-primary) 92%, #fff), var(--nt-primary));
    border: 0; color: #fff; font-weight: 600;
    box-shadow: 0 6px 18px color-mix(in srgb, var(--nt-primary) 45%, transparent), inset 0 1px 0 rgba(255, 255, 255, .35);
}
body.theme-aurora .btn-brand:hover { filter: brightness(1.06); box-shadow: 0 10px 28px color-mix(in srgb, var(--nt-primary) 55%, transparent), inset 0 1px 0 rgba(255, 255, 255, .45); }
body.theme-aurora .btn-outline-brand { color: #fff; border-color: rgba(255, 255, 255, .35); }
body.theme-aurora .btn-outline-brand:hover { background: var(--nt-primary); border-color: var(--nt-primary); }

/* sections, forms, drawers, footer */
body.theme-aurora .nt-section-title { color: #fff; }
body.theme-aurora .form-control, body.theme-aurora .form-select {
    background: rgba(255, 255, 255, .05); color: #fff; border-color: rgba(255, 255, 255, .12);
}
body.theme-aurora .form-control::placeholder { color: #8b93ad; }
body.theme-aurora .nt-drawer, body.theme-aurora .offcanvas, body.theme-aurora .modal-content { background: #10152a; color: #e7e9f3; }
body.theme-aurora .nt-drawer .offcanvas-header, body.theme-aurora .nt-drawer-line { border-color: rgba(255, 255, 255, .1); }
body.theme-aurora .btn-close { filter: invert(1) grayscale(1) brightness(1.6); }
/* Aurora deliberately darkens the offcanvas, so keep the flattened mobile-menu links LIGHT —
   overriding the base readability guard (store.css), which forces dark text for light menus. */
body.theme-aurora .nt-mobilenav .offcanvas-body .nt-navlink,
body.theme-aurora .nt-mobilenav .offcanvas-body .nav-link { color: #c7cde3; }
body.theme-aurora .nt-mobilenav .offcanvas-body .nt-navlink:hover { color: #fff; }
body.theme-aurora .nt-mobilenav .offcanvas-body .dropdown-item { color: #aeb6d0; }
body.theme-aurora footer.bg-light { background: #0a0e1a !important; border-top: 1px solid rgba(255, 255, 255, .08) !important; }
body.theme-aurora footer .text-dark, body.theme-aurora footer .text-muted, body.theme-aurora footer .text-brand, body.theme-aurora footer a { color: #aeb6d0 !important; }
body.theme-aurora .nt-social { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .14); color: #e7e9f3 !important; }
body.theme-aurora .nt-social:hover { background: var(--nt-primary); color: #fff !important; border-color: transparent; }
body.theme-aurora .nt-variant-btn { background: rgba(255,255,255,.05); color: #e7e9f3; border-color: rgba(255,255,255,.18); }
body.theme-aurora .nt-qty { border-color: rgba(255,255,255,.18); }
body.theme-aurora .nt-qty button { background: rgba(255,255,255,.05); color: #fff; }
body.theme-aurora .breadcrumb, body.theme-aurora .nt-breadcrumb a { color: #99a2bd; }

/* =========================================================================
   THEME · MARKETPLACE  (Amazon-style dense marketplace)
   ========================================================================= */
body.theme-market { background-color: #eaeded; --nt-radius: .35rem; }
body.theme-market .nt-announce { background: #232f3e; color: #fff; }
body.theme-market .nt-header { background: #131921; border-bottom: 0; }
body.theme-market .nt-header .text-brand,
body.theme-market .nt-header .navbar-brand { color: #fff !important; }
body.theme-market .nt-iconbtn { color: #fff; border-radius: 4px; }
body.theme-market .nt-iconbtn:hover { background: transparent; color: #fff; box-shadow: inset 0 0 0 1px #fff; }
body.theme-market .nt-search .form-control { background: #fff; color: #111; border: 0; border-radius: 6px; }
body.theme-market .nt-search .form-control:focus { box-shadow: 0 0 0 3px #febd69; }
/* full-bleed dark secondary nav bar */
body.theme-market .nt-header nav.border-top { background: #232f3e; border: 0 !important; }
body.theme-market .nt-navlink { color: #fff; font-size: .85rem; padding: .15rem .3rem; }
body.theme-market .nt-navlink:hover { color: #fff; border-radius: 3px; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .7); }
/* iconic gold gradient CTA */
body.theme-market .btn-brand {
    background: linear-gradient(180deg, #f7dfa5, #f0c14b); border: 1px solid #a88734; color: #111;
    font-weight: 500; border-radius: 8px; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .6);
}
body.theme-market .btn-brand:hover { background: linear-gradient(180deg, #f5d78e, #eeb933); color: #111; filter: none; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7); }
body.theme-market .btn-outline-brand { border-radius: 8px; }
/* compact bordered cards, no zoom (marketplace realism) */
body.theme-market .card, body.theme-market .product-card { border: 1px solid #ddd; border-radius: 4px; box-shadow: none; background: #fff; }
body.theme-market .product-card:hover { transform: none; border-color: #adb5bd; box-shadow: 0 2px 14px rgba(0, 0, 0, .12); }
body.theme-market .product-card:hover .nt-card-media img { transform: none; }
body.theme-market .product-card .fw-bold { color: #0f1111; }
body.theme-market .product-card a.text-dark:hover, body.theme-market .nt-navlink { text-decoration: none; }
body.theme-market .product-card a:hover .text-truncate-2 { color: #c7511f; }
body.theme-market .nt-section-title::after { display: none; }
body.theme-market .nt-section-title { font-weight: 700; }
/* dark footer */
body.theme-market footer.bg-light { background: #232f3e !important; border-top: 0 !important; }
body.theme-market footer .text-dark, body.theme-market footer .text-muted, body.theme-market footer .text-brand, body.theme-market footer a { color: #dcdfe4 !important; }

/* =========================================================================
   THEME · BLUEKART  (Flipkart-style)
   ========================================================================= */
body.theme-kart { background-color: #f1f3f6; --nt-radius: .25rem; }
body.theme-kart .nt-announce { background: #1c5fd0; color: #fff; }
body.theme-kart .nt-header { background: #2874f0; border-bottom: 0; box-shadow: 0 1px 3px rgba(0, 0, 0, .12); }
body.theme-kart .nt-header .text-brand,
body.theme-kart .nt-header .navbar-brand { color: #fff !important; font-style: italic; }
body.theme-kart .nt-iconbtn { color: #fff; }
body.theme-kart .nt-iconbtn:hover { background: rgba(255, 255, 255, .16); color: #fff; }
body.theme-kart .nt-search .form-control { background: #fff; color: #111; border: 0; border-radius: 3px; box-shadow: 0 1px 3px rgba(0, 0, 0, .1); }
body.theme-kart .nt-search .nt-search-icon { color: #2874f0; }
/* white secondary nav under the blue bar */
body.theme-kart .nt-header nav.border-top { background: #fff; border: 0 !important; box-shadow: 0 1px 2px rgba(0, 0, 0, .08); }
body.theme-kart .nt-navlink { color: #212121; font-weight: 500; font-size: .9rem; }
body.theme-kart .nt-navlink:hover { color: #2874f0; }
/* Flipkart orange CTA */
body.theme-kart .btn-brand {
    background: #fb641e; border: 0; color: #fff; font-weight: 600; border-radius: 2px;
    text-transform: uppercase; letter-spacing: .02em; font-size: .85rem; box-shadow: 0 1px 2px rgba(0, 0, 0, .12);
}
body.theme-kart .btn-brand:hover { background: #e85713; color: #fff; filter: none; }
body.theme-kart .btn-outline-brand { border-radius: 2px; text-transform: uppercase; font-size: .85rem; }
/* borderless white cards, shadow-lift on hover */
body.theme-kart .card, body.theme-kart .product-card { border: 0; border-radius: 3px; box-shadow: none; background: #fff; }
body.theme-kart .product-card:hover { transform: none; box-shadow: 0 4px 20px rgba(0, 0, 0, .15); border: 0; }
body.theme-kart .product-card:hover .nt-card-media img { transform: none; }
/* Flipkart shows savings in green */
body.theme-kart .nt-badge-discount { background: #388e3c; }
body.theme-kart .nt-rating { color: #388e3c; }
body.theme-kart .nt-section-title::after { display: none; }
body.theme-kart .nt-section-title { font-weight: 600; }
/* dark navy footer */
body.theme-kart footer.bg-light { background: #172337 !important; border-top: 0 !important; }
body.theme-kart footer .text-dark, body.theme-kart footer .text-muted, body.theme-kart footer .text-brand, body.theme-kart footer a { color: #cfd6e4 !important; }

/* =========================================================================
   THEME · SWIFT  (Blinkit-style quick-commerce)
   ========================================================================= */
body.theme-swift { background-color: #fff; --nt-radius: 1rem; }
body.theme-swift .nt-announce { background: #0c831f; color: #fff; font-weight: 600; letter-spacing: .01em; }
body.theme-swift .nt-header { background: #f8cb46; border-bottom: 0; box-shadow: 0 2px 10px rgba(0, 0, 0, .06); }
body.theme-swift .nt-header .text-brand,
body.theme-swift .nt-header .navbar-brand { color: #1c1c1c !important; font-weight: 800; }
body.theme-swift .nt-iconbtn { color: #1c1c1c; }
body.theme-swift .nt-iconbtn:hover { background: rgba(0, 0, 0, .08); color: #0c831f; }
body.theme-swift .nt-search .form-control { background: #fff; color: #1c1c1c; border: 1px solid rgba(0, 0, 0, .08); border-radius: 12px; }
body.theme-swift .nt-search .nt-search-icon { color: #0c831f; }
body.theme-swift .nt-badge-count { background: #0c831f; }
/* soft cream secondary nav */
body.theme-swift .nt-header nav.border-top { background: #fffbe9; border: 0 !important; }
body.theme-swift .nt-navlink { color: #1c1c1c; font-weight: 600; }
body.theme-swift .nt-navlink:hover { color: #0c831f; }
/* green primary CTA + iconic outlined ADD on cards */
body.theme-swift .btn-brand { background: #0c831f; border: 0; color: #fff; font-weight: 700; border-radius: 10px; box-shadow: 0 4px 12px rgba(12, 131, 31, .25); }
body.theme-swift .btn-brand:hover { background: #0a6f1a; color: #fff; filter: none; }
body.theme-swift .nt-quickadd.btn-brand,
body.theme-swift .product-card .btn-brand.btn-sm {
    background: #fff; color: #0c831f; border: 1.5px solid #0c831f; box-shadow: 0 4px 12px rgba(12, 131, 31, .18);
    font-weight: 800; text-transform: uppercase; letter-spacing: .04em;
}
body.theme-swift .nt-quickadd.btn-brand:hover,
body.theme-swift .product-card .btn-brand.btn-sm:hover { background: #e9f7ec; color: #0a6f1a; }
body.theme-swift .btn-outline-brand { border-radius: 10px; }
/* rounded snappy cards */
body.theme-swift .card, body.theme-swift .product-card { border: 1px solid #f0f0f0; border-radius: 16px; box-shadow: 0 2px 10px rgba(0, 0, 0, .05); background: #fff; }
body.theme-swift .product-card:hover { transform: translateY(-4px); box-shadow: 0 12px 28px rgba(0, 0, 0, .12); border-color: #e6e6e6; }
/* Blinkit blue corner discount ribbon */
body.theme-swift .nt-badge-discount { background: #256fef; top: 0; left: 0; border-radius: 12px 0 12px 0; }
body.theme-swift .nt-badge-new { top: 0; right: 0; left: auto; border-radius: 0 12px 0 12px; }
body.theme-swift .nt-cat-tile { border: 1px solid #f0f0f0; border-radius: 16px; }
body.theme-swift .nt-cat-icon { background: color-mix(in srgb, #0c831f 12%, #fff); color: #0c831f; }
body.theme-swift .nt-section-title::after { background: #0c831f; }
body.theme-swift footer.bg-light { background: #f6fbf4 !important; }

/* =========================================================================
   THEME · STUDIO  (Shopify-style premium editorial)
   ========================================================================= */
body.theme-studio {
    background-color: #fff; --nt-radius: .35rem;
    font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
body.theme-studio h1, body.theme-studio h2, body.theme-studio h3, body.theme-studio .nt-section-title { letter-spacing: -.015em; font-weight: 600; }
body.theme-studio .nt-header .navbar-brand { font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
body.theme-studio .nt-announce { background: #1a1a1a; color: #fff; letter-spacing: .1em; text-transform: uppercase; font-size: .7rem; }
body.theme-studio .nt-header { background: #fff; border-bottom: 1px solid #ececec; }
body.theme-studio .nt-header > .container { padding-top: 1.1rem; padding-bottom: 1.1rem; }
body.theme-studio .nt-navlink { color: #1a1a1a; font-weight: 500; letter-spacing: .01em; }
body.theme-studio .nt-navlink:hover { color: #1a1a1a; text-decoration: underline; text-underline-offset: 6px; }
body.theme-studio .nt-search .form-control { background: #f6f6f6; border-radius: 2rem; border: 1px solid transparent; }
body.theme-studio .nt-search .form-control:focus { border-color: #1a1a1a; box-shadow: none; background: #fff; }
/* near-black pill buttons */
body.theme-studio .btn-brand {
    background: #1a1a1a; border: 1px solid #1a1a1a; color: #fff; border-radius: 2rem;
    padding: .5rem 1.4rem; font-weight: 500; letter-spacing: .04em; text-transform: uppercase; font-size: .8rem;
}
body.theme-studio .btn-brand:hover { background: #000; color: #fff; filter: none; box-shadow: none; }
body.theme-studio .btn-brand.btn-sm { padding: .4rem 1rem; font-size: .72rem; }
body.theme-studio .btn-outline-brand { border-radius: 2rem; border-color: #1a1a1a; color: #1a1a1a; text-transform: uppercase; letter-spacing: .04em; font-size: .8rem; }
body.theme-studio .btn-outline-brand:hover { background: #1a1a1a; color: #fff; }
/* editorial borderless cards — image forward */
body.theme-studio .card, body.theme-studio .product-card { border: 0; border-radius: 0; box-shadow: none; background: transparent; }
body.theme-studio .product-card .nt-card-media { border-radius: .35rem; background: #f6f6f6; }
body.theme-studio .product-card:hover { transform: none; box-shadow: none; }
body.theme-studio .product-card:hover .nt-card-media img { transform: scale(1.05); }
body.theme-studio .product-card .card-body { padding-left: 0; padding-right: 0; }
body.theme-studio .product-card:hover .text-truncate-2 { text-decoration: underline; text-underline-offset: 3px; }
body.theme-studio .nt-cat-tile { border: 0; background: #f6f6f6; border-radius: .35rem; }
body.theme-studio .nt-cat-tile:hover { background: #efefef; box-shadow: none; transform: translateY(-3px); }
body.theme-studio .nt-cat-icon { background: #fff; color: #1a1a1a; }
body.theme-studio .nt-section-title { font-weight: 600; }
body.theme-studio .nt-section-title::after { background: #1a1a1a; }
body.theme-studio .nt-usp { background: #fafafa; }
body.theme-studio .nt-usp i { color: #1a1a1a; }
body.theme-studio footer.bg-light { background: #fafafa !important; border-top: 1px solid #ececec !important; }

/* =========================================================================
   THEME · LUXE  (premium boutique — jewellery, watches, premium retail)
   Elegant serif display, ivory canvas + charcoal footer, brand colour as a
   restrained accent. Brand-colour-driven: CTAs, rules, hover borders follow it.
   ========================================================================= */
body.theme-luxe {
    background-color: #faf8f5;
    color: #24211d;
    --nt-radius: .25rem;
}
body.theme-luxe h1, body.theme-luxe h2, body.theme-luxe h3,
body.theme-luxe .nt-section-title, body.theme-luxe .nt-header .navbar-brand {
    font-family: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, "Times New Roman", serif;
    font-weight: 600; letter-spacing: .005em;
}
body.theme-luxe .nt-announce {
    background: #1c1a17; color: #f3ede3;
    letter-spacing: .18em; text-transform: uppercase; font-size: .68rem;
}
body.theme-luxe .nt-header { background: #faf8f5; border-bottom: 1px solid #e7e1d8; }
body.theme-luxe .nt-header > .container { padding-top: 1rem; padding-bottom: 1rem; }
body.theme-luxe .nt-header .navbar-brand,
body.theme-luxe .nt-header .text-brand { color: #24211d !important; letter-spacing: .05em; }
body.theme-luxe .nt-navlink { color: #4a4640; text-transform: uppercase; letter-spacing: .1em; font-size: .74rem; font-weight: 600; }
body.theme-luxe .nt-navlink:hover { color: var(--nt-primary); }
body.theme-luxe .nt-iconbtn { color: #4a4640; }
body.theme-luxe .nt-iconbtn:hover { background: #f0eae0; color: var(--nt-primary); }
body.theme-luxe .nt-search .form-control { background: #fff; border: 1px solid #e7e1d8; border-radius: .25rem; }
body.theme-luxe .nt-search .form-control:focus { border-color: var(--nt-primary); box-shadow: none; }
body.theme-luxe .nt-search .nt-search-icon { color: #b5aa96; }
/* refined rectangular CTAs, letter-spaced */
body.theme-luxe .btn-brand {
    background: var(--nt-primary); border: 1px solid var(--nt-primary); color: #fff;
    border-radius: .25rem; text-transform: uppercase; letter-spacing: .12em;
    font-size: .78rem; font-weight: 600; padding: .55rem 1.4rem;
}
body.theme-luxe .btn-brand:hover { filter: brightness(.92); box-shadow: none; }
body.theme-luxe .btn-brand.btn-sm { padding: .4rem 1rem; font-size: .72rem; }
body.theme-luxe .btn-outline-brand {
    border-radius: .25rem; text-transform: uppercase; letter-spacing: .12em;
    font-size: .78rem; border-color: #24211d; color: #24211d;
}
body.theme-luxe .btn-outline-brand:hover { background: #24211d; color: #fff; border-color: #24211d; }
/* hairline, image-forward cards; calm hover (no bounce) */
body.theme-luxe .card, body.theme-luxe .product-card { border: 1px solid #ece7de; border-radius: .25rem; box-shadow: none; background: #fff; }
body.theme-luxe .product-card:hover { transform: none; border-color: var(--nt-primary); box-shadow: 0 12px 30px rgba(30, 26, 20, .09); }
body.theme-luxe .product-card:hover .nt-card-media img { transform: scale(1.04); }
body.theme-luxe .nt-cat-tile { border: 1px solid #ece7de; border-radius: .25rem; background: #fff; }
body.theme-luxe .nt-cat-tile:hover { transform: none; border-color: var(--nt-primary); color: var(--nt-primary); box-shadow: 0 12px 28px rgba(30, 26, 20, .09); }
body.theme-luxe .nt-cat-icon { background: color-mix(in srgb, var(--nt-primary) 10%, #faf8f5); color: var(--nt-primary); }
body.theme-luxe .nt-gallery-main { border-color: #ece7de; }
body.theme-luxe .nt-section-title { font-weight: 600; }
body.theme-luxe .nt-section-title::after { height: 2px; width: 60px; background: var(--nt-primary); }
body.theme-luxe .nt-usp { background: #fff; border: 1px solid #ece7de; }
body.theme-luxe .nt-usp i { color: var(--nt-primary); }
/* charcoal footer for a jewel-box finish */
body.theme-luxe footer.bg-light { background: #1c1a17 !important; border-top: 0 !important; }
body.theme-luxe footer .text-dark, body.theme-luxe footer .text-muted, body.theme-luxe footer .text-brand, body.theme-luxe footer a { color: #d8d1c4 !important; }
body.theme-luxe .nt-social { background: transparent; border-color: rgba(255, 255, 255, .25); color: #d8d1c4 !important; }
body.theme-luxe .nt-social:hover { background: var(--nt-primary); border-color: transparent; color: #fff !important; }

/* =========================================================================
   THEME · UTSAV  (festive Indian retail — toys, general, festive sales)
   Warm cream canvas, a brand-gradient header/announce, lively rounded cards.
   Strongly brand-colour-driven: the whole header follows the store's colours.
   ========================================================================= */
body.theme-utsav { background-color: #fff8f0; --nt-radius: 1rem; }
body.theme-utsav .nt-announce {
    background: linear-gradient(90deg, var(--nt-secondary), var(--nt-primary));
    color: #fff; font-weight: 600; letter-spacing: .02em;
}
body.theme-utsav .nt-header {
    background: linear-gradient(120deg, var(--nt-primary), color-mix(in srgb, var(--nt-secondary) 85%, var(--nt-primary)));
    border-bottom: 0;
    box-shadow: 0 4px 18px color-mix(in srgb, var(--nt-primary) 30%, transparent);
}
body.theme-utsav .nt-header .navbar-brand,
body.theme-utsav .nt-header .text-brand { color: #fff !important; font-weight: 800; text-shadow: 0 1px 6px rgba(0, 0, 0, .18); }
body.theme-utsav .nt-header .border-top { border-color: rgba(255, 255, 255, .22) !important; }
body.theme-utsav .nt-navlink { color: rgba(255, 255, 255, .92); font-weight: 600; }
body.theme-utsav .nt-navlink:hover { color: #fff; }
body.theme-utsav .nt-iconbtn { color: #fff; }
body.theme-utsav .nt-iconbtn:hover { background: rgba(255, 255, 255, .16); color: #fff; }
body.theme-utsav .nt-badge-count { background: #fff; color: var(--nt-primary); }
body.theme-utsav .nt-search .form-control { background: rgba(255, 255, 255, .92); border: 0; border-radius: 999px; color: #1c1c1c; }
body.theme-utsav .nt-search .form-control:focus { background: #fff; box-shadow: 0 0 0 .2rem rgba(255, 255, 255, .4); }
body.theme-utsav .nt-search .nt-search-icon { color: var(--nt-primary); }
/* warm rounded cards with a soft amber shadow */
body.theme-utsav .card, body.theme-utsav .product-card {
    border: 0; border-radius: 1.15rem; background: #fff;
    box-shadow: 0 8px 22px rgba(180, 120, 40, .10);
}
body.theme-utsav .product-card:hover { transform: translateY(-5px); box-shadow: 0 16px 34px rgba(180, 120, 40, .18); }
body.theme-utsav .btn-brand { border-radius: 999px; font-weight: 700; box-shadow: 0 6px 16px color-mix(in srgb, var(--nt-primary) 30%, transparent); }
body.theme-utsav .btn-outline-brand { border-radius: 999px; font-weight: 600; }
body.theme-utsav .nt-cat-tile { border: 0; border-radius: 1.15rem; background: #fff; box-shadow: 0 6px 18px rgba(180, 120, 40, .10); }
body.theme-utsav .nt-cat-tile:hover { transform: translateY(-4px); color: var(--nt-primary); box-shadow: 0 14px 30px rgba(180, 120, 40, .16); }
body.theme-utsav .nt-cat-icon { background: color-mix(in srgb, var(--nt-primary) 14%, #fff8f0); color: var(--nt-primary); }
body.theme-utsav .nt-section-title::after { height: 4px; border-radius: 4px; width: 54px; background: linear-gradient(90deg, var(--nt-primary), var(--nt-secondary)); }
body.theme-utsav .nt-usp { background: color-mix(in srgb, var(--nt-primary) 6%, #fff8f0); }
body.theme-utsav .nt-usp i { color: var(--nt-primary); }
body.theme-utsav footer.bg-light { background: #2a1e12 !important; border-top: 0 !important; }
body.theme-utsav footer .text-dark, body.theme-utsav footer .text-muted, body.theme-utsav footer .text-brand, body.theme-utsav footer a { color: #e8dccb !important; }
body.theme-utsav .nt-social { background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .18); color: #e8dccb !important; }
body.theme-utsav .nt-social:hover { background: var(--nt-primary); border-color: transparent; color: #fff !important; }

/* =========================================================================
   THEME · NOVA  (modern gadget/electronics — glassy light + gradient accents)
   Cool light canvas, frosted sticky header, brand-gradient CTAs and a brand
   glow on card hover. Fully brand-colour-driven.
   ========================================================================= */
body.theme-nova { background-color: #f7f9fc; --nt-radius: 1rem; }
body.theme-nova .nt-announce { background: linear-gradient(90deg, var(--nt-primary), var(--nt-secondary)); color: #fff; font-weight: 600; }
body.theme-nova .nt-header {
    background: rgba(255, 255, 255, .85);
    border-bottom: 1px solid #eef1f6;
    -webkit-backdrop-filter: blur(12px) saturate(140%);
    backdrop-filter: blur(12px) saturate(140%);
}
body.theme-nova .nt-header.is-stuck { box-shadow: 0 8px 30px rgba(30, 41, 59, .10); }
body.theme-nova .nt-navlink { color: #2b3444; font-weight: 600; }
body.theme-nova .nt-navlink:hover { color: var(--nt-primary); }
body.theme-nova .nt-search .form-control { background: #eef1f6; border: 1px solid transparent; border-radius: 999px; }
body.theme-nova .nt-search .form-control:focus { background: #fff; border-color: var(--nt-primary); box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--nt-primary) 16%, transparent); }
/* gradient pill CTAs */
body.theme-nova .btn-brand {
    background: linear-gradient(135deg, var(--nt-primary), color-mix(in srgb, var(--nt-secondary) 70%, var(--nt-primary)));
    border: 0; color: #fff; font-weight: 600; border-radius: 999px;
    box-shadow: 0 6px 18px color-mix(in srgb, var(--nt-primary) 35%, transparent);
}
body.theme-nova .btn-brand:hover { filter: brightness(1.05); box-shadow: 0 10px 26px color-mix(in srgb, var(--nt-primary) 45%, transparent); }
body.theme-nova .btn-outline-brand { border-radius: 999px; }
/* light cards with a brand-tinted glow on hover */
body.theme-nova .card, body.theme-nova .product-card {
    border: 1px solid #eef1f6; border-radius: 1rem; background: #fff;
    box-shadow: 0 6px 18px rgba(30, 41, 59, .06);
}
body.theme-nova .product-card:hover {
    transform: translateY(-6px);
    border-color: color-mix(in srgb, var(--nt-primary) 40%, transparent);
    box-shadow: 0 18px 40px rgba(30, 41, 59, .12), 0 8px 30px color-mix(in srgb, var(--nt-primary) 22%, transparent);
}
body.theme-nova .nt-cat-tile { border: 1px solid #eef1f6; border-radius: 1rem; background: #fff; }
body.theme-nova .nt-cat-tile:hover { border-color: color-mix(in srgb, var(--nt-primary) 40%, transparent); color: var(--nt-primary); box-shadow: 0 14px 32px rgba(30, 41, 59, .10); }
body.theme-nova .nt-cat-icon { background: linear-gradient(135deg, color-mix(in srgb, var(--nt-primary) 16%, #fff), color-mix(in srgb, var(--nt-secondary) 12%, #fff)); color: var(--nt-primary); }
body.theme-nova .nt-section-title::after { height: 4px; border-radius: 4px; width: 56px; background: linear-gradient(90deg, var(--nt-primary), var(--nt-secondary)); }
body.theme-nova .nt-usp { background: #fff; border: 1px solid #eef1f6; }
body.theme-nova .nt-usp i { color: var(--nt-primary); }
body.theme-nova footer.bg-light { background: #0f172a !important; border-top: 0 !important; }
body.theme-nova footer .text-dark, body.theme-nova footer .text-muted, body.theme-nova footer .text-brand, body.theme-nova footer a { color: #c7d0e0 !important; }
body.theme-nova .nt-social { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .16); color: #c7d0e0 !important; }
body.theme-nova .nt-social:hover { background: var(--nt-primary); border-color: transparent; color: #fff !important; }

/* =========================================================================
   reduced motion — keep the sheen/glow but drop transforms
   ========================================================================= */
@media (prefers-reduced-motion: reduce) {
    body.theme-aurora .product-card:hover,
    body.theme-swift .product-card:hover,
    body.theme-studio .nt-cat-tile:hover,
    body.theme-utsav .product-card:hover,
    body.theme-utsav .nt-cat-tile:hover,
    body.theme-nova .product-card:hover,
    body.theme-nova .nt-cat-tile:hover { transform: none; }
}

/* =========================================================================
   Brands — per-theme chip/tile tweaks (base styling lives in store.css).
   ========================================================================= */

/* Aurora (glass dark): frosted-white logo chips so any logo reads on the dark UI. */
body.theme-aurora .nt-brand-logo,
body.theme-aurora .nt-brand-chip {
    background: rgba(255, 255, 255, .95) !important;
    border-color: rgba(255, 255, 255, .14);
}
body.theme-aurora .nt-brand-card {
    background: rgba(255, 255, 255, .055);
    border: 1px solid rgba(255, 255, 255, .1);
}
body.theme-aurora .nt-brand-logo img,
body.theme-aurora .nt-brand-chip img { filter: none; }

/* Marketplace / BlueKart (flat, squarer): match their tighter radius, remove logo desaturation. */
body.theme-market .nt-brand-logo,
body.theme-market .nt-brand-chip,
body.theme-kart .nt-brand-logo,
body.theme-kart .nt-brand-chip { border-radius: 4px; }
body.theme-market .nt-brand-logo img,
body.theme-market .nt-brand-chip img,
body.theme-kart .nt-brand-logo img,
body.theme-kart .nt-brand-chip img { filter: none; }
body.theme-market .nt-brand-card,
body.theme-kart .nt-brand-card { border: 1px solid #ddd; }

/* Studio (premium editorial) / Swift (quick-commerce): keep logos full-colour, softer chip. */
body.theme-studio .nt-brand-logo img,
body.theme-studio .nt-brand-chip img,
body.theme-swift .nt-brand-logo img,
body.theme-swift .nt-brand-chip img { filter: none; }

/* Luxe: charcoal footer means brand chips there need a light fill; logos stay full-colour. */
body.theme-luxe .nt-brand-logo img,
body.theme-luxe .nt-brand-chip img,
body.theme-utsav .nt-brand-logo img,
body.theme-utsav .nt-brand-chip img,
body.theme-nova .nt-brand-logo img,
body.theme-nova .nt-brand-chip img { filter: none; }
body.theme-utsav .nt-brand-logo,
body.theme-utsav .nt-brand-chip,
body.theme-nova .nt-brand-logo,
body.theme-nova .nt-brand-chip { border-radius: 1rem; }
