/* ══════════════════════════════════════════════════════════════════
   AshokaFoods — Festive Themes System
   Overrides :root CSS variables and adds festive decorations
   ══════════════════════════════════════════════════════════════════ */

/* ── THEME: Diwali 🪔 (Warm Celebratory Festive Ivory & Jewel Tones) ── */
body.theme-diwali {
    --accent:        #d97706;
    --accent-light:  #f59e0b;
    --accent-dark:   #92400e;
    --accent-glow:   rgba(217, 119, 6, 0.28);
    --accent-magenta:#db2777;
    --accent-purple: #581c87;
    --accent-cyan:   #06b6d4;
    --bg:            #fffaf3;
    --bg-alt:        #fef5e7;
    --surface:       #ffffff;
    --surface-card:  #ffffff;
    --surface-hover: #fff9f0;
    --border:        rgba(217, 119, 6, 0.18);
    --border-strong: rgba(219, 39, 119, 0.35);
    --text:          #2c1802;
    --text2:         #5d3307;
    --text3:         #8a5416;
    --shadow-sm:     0 2px 8px rgba(217, 119, 6, 0.08);
    --shadow-md:     0 8px 24px rgba(217, 119, 6, 0.12);
    --shadow-lg:     0 16px 36px rgba(217, 119, 6, 0.18);
    --shadow-glow:   0 8px 30px rgba(245, 158, 11, 0.25);
    color-scheme:    light;
    background-color:#fffaf3;
    background-image: url('../images/diwali-bg-diyas.svg');
    background-repeat: repeat;
    background-size: 320px 320px;
    background-attachment: fixed;
    color:           #2c1802;
    overflow-x:      hidden !important;
}

/* Ensure no horizontal overfloating anywhere */
html:has(body.theme-diwali),
body.theme-diwali {
    overflow-x: hidden !important;
    max-width: 100vw;
}

/* ── DIWALI: Typography & Headings ──────────────────────────────── */
body.theme-diwali h1,
body.theme-diwali h2,
body.theme-diwali h3,
body.theme-diwali h4,
body.theme-diwali h5,
body.theme-diwali h6,
body.theme-diwali .section-title,
body.theme-diwali .product-detail-title,
body.theme-diwali .cart-item-name a,
body.theme-diwali .summary-title,
body.theme-diwali .account-card-title,
body.theme-diwali .empty-state h3,
body.theme-diwali .auth-header h1 {
    color: #2c1802 !important;
}

body.theme-diwali p,
body.theme-diwali .section-subtitle,
body.theme-diwali .section-desc,
body.theme-diwali .brand-desc,
body.theme-diwali .contact-info p,
body.theme-diwali .product-detail-desc p,
body.theme-diwali .auth-header p,
body.theme-diwali .auth-footer,
body.theme-diwali .deal-desc,
body.theme-diwali .testimonial-text,
body.theme-diwali .feature-desc,
body.theme-diwali .empty-state p,
body.theme-diwali .summary-row,
body.theme-diwali .copyright {
    color: #5d3307 !important;
}

body.theme-diwali a {
    color: #b45309;
}
body.theme-diwali a:hover {
    color: #db2777;
}

/* ── DIWALI: Form Inputs, Textarea, Selects across ALL Pages ──── */
body.theme-diwali input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
body.theme-diwali textarea,
body.theme-diwali select,
body.theme-diwali .form-control,
body.theme-diwali .header-search input,
body.theme-diwali .sort-select-wrapper select,
body.theme-diwali .qty-field {
    background-color: #ffffff !important;
    color: #2c1802 !important;
    border: 1.5px solid rgba(217, 119, 6, 0.28) !important;
    color-scheme: light;
}

body.theme-diwali input::placeholder,
body.theme-diwali textarea::placeholder,
body.theme-diwali .form-control::placeholder,
body.theme-diwali .header-search input::placeholder {
    color: #8a5416 !important;
    opacity: 0.7;
}

body.theme-diwali input:focus,
body.theme-diwali textarea:focus,
body.theme-diwali select:focus,
body.theme-diwali .form-control:focus,
body.theme-diwali .header-search input:focus {
    border-color: #d97706 !important;
    box-shadow: 0 0 0 3px rgba(217, 119, 6, 0.22) !important;
    outline: none !important;
}

/* ── DIWALI: Newsletter Exclusive Deals Card & Input ──────────── */
body.theme-diwali .newsletter-section h2 {
    color: #ffffff !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.22);
}

body.theme-diwali .newsletter-section p {
    color: rgba(255, 255, 255, 0.92) !important;
}

body.theme-diwali .newsletter-form {
    display: flex !important;
    align-items: center !important;
    background: #ffffff !important;
    border: 2px solid rgba(255, 255, 255, 0.95) !important;
    border-radius: 9999px !important;
    padding: 6px 6px 6px 10px !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.16) !important;
    transition: all 0.25s ease !important;
    overflow: hidden;
}

body.theme-diwali .newsletter-form:focus-within {
    border-color: #f59e0b !important;
    box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.35), 0 12px 32px rgba(0, 0, 0, 0.2) !important;
}

body.theme-diwali .newsletter-form input {
    flex: 1 !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    padding: 12px 20px !important;
    font-size: 0.98rem !important;
    color: #2c1802 !important;
    border-radius: 0 !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
}

body.theme-diwali .newsletter-form input:focus {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    background: transparent !important;
}

body.theme-diwali .newsletter-form input::placeholder {
    color: #8a5416 !important;
    opacity: 0.75 !important;
}

body.theme-diwali .newsletter-form button {
    border-radius: 9999px !important;
    background: linear-gradient(135deg, #d97706, #b45309) !important;
    color: #ffffff !important;
    border: none !important;
    padding: 12px 28px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    box-shadow: 0 4px 14px rgba(180, 83, 9, 0.35) !important;
    transition: all 0.25s ease !important;
    flex-shrink: 0 !important;
}

body.theme-diwali .newsletter-form button:hover {
    background: linear-gradient(135deg, #b45309, #92400e) !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(180, 83, 9, 0.45) !important;
}

body.theme-diwali label,
body.theme-diwali .form-group label,
body.theme-diwali .filter-title,
body.theme-diwali .filter-section h4 {
    color: #2c1802 !important;
    font-weight: 700;
}

/* ── DIWALI: Cards & Containers across ALL Storefront Pages ─────── */
body.theme-diwali .auth-card,
body.theme-diwali .login-card,
body.theme-diwali .register-card,
body.theme-diwali .form-card,
body.theme-diwali .card,
body.theme-diwali .checkout-step-card,
body.theme-diwali .order-summary-sidebar,
body.theme-diwali .cart-table-wrapper,
body.theme-diwali .account-sidebar,
body.theme-diwali .account-content-card,
body.theme-diwali .orders-history-table,
body.theme-diwali .order-mobile-card,
body.theme-diwali .sidebar-filter,
body.theme-diwali .category-card,
body.theme-diwali .deal-banner,
body.theme-diwali .testimonial-card,
body.theme-diwali .empty-state,
body.theme-diwali .product-gallery-stage,
body.theme-diwali .gallery-thumb-card,
body.theme-diwali .reviews-summary-card,
body.theme-diwali .product-review-form-wrap,
body.theme-diwali .review-item-card,
body.theme-diwali .order-review-modal-card,
body.theme-diwali .user-dropdown-menu,
body.theme-diwali .mobile-nav-drawer,
body.theme-diwali .toast {
    background: #ffffff !important;
    background-color: #ffffff !important;
    border: 1px solid rgba(217, 119, 6, 0.2) !important;
    color: #2c1802 !important;
    box-shadow: 0 4px 18px rgba(217, 119, 6, 0.08) !important;
}

/* ── DIWALI: Navigation & Interactive Controls ─────────────────── */
body.theme-diwali .user-dropdown-menu {
    box-shadow: 0 12px 36px rgba(44, 24, 2, 0.15), 0 0 0 1px rgba(217, 119, 6, 0.2) !important;
}
body.theme-diwali .user-dropdown-menu a {
    color: #2c1802 !important;
}
body.theme-diwali .user-dropdown-menu a:hover {
    background: #fff8ed !important;
    color: #db2777 !important;
}
body.theme-diwali .user-dropdown-header {
    border-bottom: 1px solid rgba(217, 119, 6, 0.15) !important;
    background: #fef5e7 !important;
}
body.theme-diwali .user-btn,
body.theme-diwali .cart-trigger,
body.theme-diwali .mobile-toggle,
body.theme-diwali .feature-icon-box,
body.theme-diwali .mobile-filter-toggle-btn {
    background-color: #fff9f0 !important;
    border: 1.5px solid rgba(217, 119, 6, 0.25) !important;
    color: #d97706 !important;
}
body.theme-diwali .user-btn:hover,
body.theme-diwali .cart-trigger:hover {
    border-color: #db2777 !important;
    color: #db2777 !important;
    background-color: #fdf2f8 !important;
}
body.theme-diwali .nav-link,
body.theme-diwali .nav-links a {
    color: #2c1802 !important;
}
body.theme-diwali .nav-link:hover,
body.theme-diwali .nav-links a:hover {
    color: #db2777 !important;
}

/* ── DIWALI: Tables, Cart & Checkout Specifics ─────────────────── */
body.theme-diwali .cart-table th,
body.theme-diwali .orders-history-table th {
    background: #fef5e7 !important;
    color: #2c1802 !important;
    border-color: rgba(217, 119, 6, 0.2) !important;
}
body.theme-diwali .cart-table td,
body.theme-diwali .orders-history-table td {
    color: #2c1802 !important;
    border-color: rgba(217, 119, 6, 0.12) !important;
}
body.theme-diwali .cart-table tr:hover {
    background-color: #fffaf3 !important;
}
body.theme-diwali .summary-row span,
body.theme-diwali .summary-row strong,
body.theme-diwali .cart-subtotal-price,
body.theme-diwali .summary-total {
    color: #2c1802 !important;
}
body.theme-diwali .cart-unit-price,
body.theme-diwali .main-price,
body.theme-diwali .current-price {
    color: #b45309 !important;
    font-weight: 700;
}
body.theme-diwali .payment-method-card {
    background: #ffffff !important;
    border-color: rgba(217, 119, 6, 0.25) !important;
    color: #2c1802 !important;
}
body.theme-diwali .payment-method-card:hover,
body.theme-diwali .payment-method-card.active {
    background: #fff8ed !important;
    border-color: #d97706 !important;
}
body.theme-diwali .qty-input-group {
    background: #ffffff !important;
    border-color: rgba(217, 119, 6, 0.3) !important;
}
body.theme-diwali .qty-btn {
    color: #2c1802 !important;
}
body.theme-diwali .qty-btn:hover {
    background: #fef5e7 !important;
    color: #d97706 !important;
}
body.theme-diwali .page-btn {
    background: #ffffff !important;
    border-color: rgba(217, 119, 6, 0.25) !important;
    color: #2c1802 !important;
}
body.theme-diwali .page-btn:hover {
    border-color: #d97706 !important;
    color: #d97706 !important;
}
body.theme-diwali .page-btn.active {
    background: linear-gradient(135deg, #d97706, #db2777) !important;
    color: #ffffff !important;
    border-color: #d97706 !important;
}
body.theme-diwali .filter-count {
    background: #fef5e7 !important;
    color: #b45309 !important;
}
body.theme-diwali .custom-checkbox {
    color: #5d3307 !important;
}

/* ── DIWALI: Account & Badges ───────────────────────────────────── */
body.theme-diwali .account-user-card {
    background: linear-gradient(135deg, #fef5e7 0%, #fff8ed 100%) !important;
    border-bottom: 1px solid rgba(217, 119, 6, 0.2) !important;
}
body.theme-diwali .account-avatar {
    border-color: #d97706 !important;
}
body.theme-diwali .account-nav-item {
    color: #5d3307 !important;
    border-bottom: 1px solid rgba(217, 119, 6, 0.12) !important;
}
body.theme-diwali .account-nav-item:hover {
    background-color: #fff9f0 !important;
    color: #db2777 !important;
}
body.theme-diwali .account-nav-item.active {
    background-color: #fef5e7 !important;
    color: #d97706 !important;
}
body.theme-diwali .breadcrumb,
body.theme-diwali .breadcrumb a {
    color: #8a5416 !important;
}
body.theme-diwali .breadcrumb span {
    color: #2c1802 !important;
}

/* ── DIWALI: Alerts & Badges ───────────────────────────────────── */
body.theme-diwali .alert-danger {
    background-color: #fee2e2 !important;
    color: #991b1b !important;
    border-color: #fca5a5 !important;
}
body.theme-diwali .alert-success {
    background-color: #dcfce7 !important;
    color: #166534 !important;
    border-color: #86efac !important;
}
body.theme-diwali span[style*="background:#fff7ed"],
body.theme-diwali span[style*="background: #fff7ed"],
body.theme-diwali span[style*="background:#fffdf7"],
body.theme-diwali span[style*="background: #fffdf7"] {
    background: #fef3c7 !important;
    color: #92400e !important;
    border-color: rgba(217, 119, 6, 0.35) !important;
}

/* ── DIWALI: Header, Top Bar & Hero Section ─────────────────────── */
body.theme-diwali .top-bar {
    background: linear-gradient(90deg, #581c87 0%, #db2777 35%, #d97706 70%, #06b6d4 100%);
    color: #ffffff !important;
    font-weight: 600;
}
body.theme-diwali .top-bar span,
body.theme-diwali .top-bar a {
    color: #ffffff !important;
}
body.theme-diwali .site-header {
    background: rgba(255, 250, 243, 0.96);
    border-bottom: 2px solid rgba(217, 119, 6, 0.2);
    backdrop-filter: blur(14px);
}
body.theme-diwali .btn-primary,
body.theme-diwali .btn-add-cart,
body.theme-diwali .carousel-cart-btn {
    background: linear-gradient(135deg, #d97706, #db2777) !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: 0 4px 18px rgba(219, 39, 119, 0.28) !important;
}
body.theme-diwali .btn-primary:hover,
body.theme-diwali .btn-add-cart:hover,
body.theme-diwali .carousel-cart-btn:hover {
    background: linear-gradient(135deg, #b45309, #be185d) !important;
    box-shadow: 0 8px 24px rgba(219, 39, 119, 0.38) !important;
    color: #ffffff !important;
}
body.theme-diwali .btn-outline {
    border: 2px solid #d97706 !important;
    color: #b45309 !important;
    background: transparent !important;
}
body.theme-diwali .btn-outline:hover {
    background: #d97706 !important;
    color: #ffffff !important;
    border-color: #d97706 !important;
}
body.theme-diwali .hero-section {
    position: relative;
    background: radial-gradient(circle at 10% 20%, rgba(219, 39, 119, 0.08) 0%, transparent 45%),
                radial-gradient(circle at 90% 80%, rgba(6, 182, 212, 0.08) 0%, transparent 45%),
                radial-gradient(circle at 50% 50%, rgba(251, 191, 36, 0.12) 0%, transparent 60%),
                #fffaf3;
    overflow: hidden !important;
}
body.theme-diwali .hero-headline span {
    background: linear-gradient(135deg, #d97706 0%, #db2777 60%, #581c87 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
body.theme-diwali .product-card {
    background: #ffffff;
    border: 1px solid rgba(217, 119, 6, 0.18);
    box-shadow: 0 4px 16px rgba(217, 119, 6, 0.06);
}
body.theme-diwali .product-card:hover {
    box-shadow: 0 14px 34px rgba(219, 39, 119, 0.18);
    border-color: rgba(219, 39, 119, 0.35);
}
body.theme-diwali .section-tag {
    background: #fef3c7;
    color: #92400e;
    border: 1px solid rgba(217, 119, 6, 0.3);
    font-weight: 700;
}
body.theme-diwali .site-footer {
    background: #230839 !important; /* Deep Royal Diwali Purple */
    border-top: 3px solid #d97706;
}
body.theme-diwali .site-footer .footer-title {
    color: #fde68a !important;
}
body.theme-diwali .site-footer .footer-links a {
    color: #f5d0fe !important;
}
body.theme-diwali .site-footer .footer-links a:hover {
    color: #fde047 !important;
}
body.theme-diwali .site-footer .trust-badge-item strong {
    color: #ffffff !important;
}
body.theme-diwali .site-footer .trust-badge-item small {
    color: #fde68a !important;
}
body.theme-diwali .site-footer .brand-desc,
body.theme-diwali .site-footer p {
    color: #e9d5ff !important;
}
body.theme-diwali .footer-bottom {
    background: #170426 !important;
    border-top: 1px solid rgba(253, 230, 138, 0.2) !important;
}
body.theme-diwali .footer-bottom .copyright {
    color: #d8b4fe !important;
}

/* ── DIWALI: Static Decorative Elements (NO FLOATING, NO OVERFLOW) ── */
.diwali-hero-kandil {
    position: absolute;
    top: 0;
    width: 76px;
    height: 122px;
    z-index: 2;
    pointer-events: none;
    opacity: 0.92;
    filter: drop-shadow(0 4px 10px rgba(219, 39, 119, 0.2));
}
.diwali-hero-kandil-left {
    left: 20px;
}
.diwali-hero-kandil-right {
    right: 20px;
}
@media (max-width: 992px) {
    /* Hide hanging kandils on mobile/tablets to prevent overlapping carousel slide */
    .diwali-hero-kandil {
        display: none !important;
    }
}

/* Left Side Mandala Background (From User Reference Artwork) */
.diwali-hero-mandala-left {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 100%;
    max-height: 560px;
    width: auto;
    object-fit: contain;
    object-position: left center;
    z-index: 0;
    pointer-events: none;
    opacity: 0.28;
    user-select: none;
}
@media (max-width: 992px) {
    .diwali-hero-mandala-left {
        max-height: 420px;
        opacity: 0.18;
    }
}
@media (max-width: 768px) {
    .diwali-hero-mandala-left {
        max-height: 320px;
        opacity: 0.14;
    }
}

body.theme-diwali .hero-grid {
    position: relative;
    z-index: 1;
}

.diwali-hero-rangoli-bg {
    position: absolute;
    right: -50px;
    top: 50%;
    transform: translateY(-50%);
    width: 460px;
    height: 460px;
    opacity: 0.12;
    pointer-events: none;
    z-index: 0;
}
@media (max-width: 992px) {
    .diwali-hero-rangoli-bg {
        display: none;
    }
}

.diwali-header-motif {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    vertical-align: middle;
}
.diwali-header-motif img {
    width: 26px;
    height: 24px;
    display: inline-block;
    filter: drop-shadow(0 2px 4px rgba(217, 119, 6, 0.25));
}

.diwali-badge-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.12), rgba(219, 39, 119, 0.12));
    border: 1px solid rgba(217, 119, 6, 0.35);
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 700;
    color: #92400e;
}
.diwali-badge-tag img {
    width: 20px;
    height: 18px;
}

/* Deal of the Day: Festive Diwali Gift Box */
body.theme-diwali .deal-banner {
    border: 2px solid rgba(219, 39, 119, 0.3) !important;
    background: linear-gradient(135deg, #ffffff 0%, #fffaf3 100%) !important;
    box-shadow: 0 16px 48px rgba(217, 119, 6, 0.14) !important;
    position: relative;
    overflow: hidden;
}
body.theme-diwali .deal-tag {
    background: linear-gradient(135deg, #db2777, #d97706) !important;
    color: #ffffff !important;
    font-weight: 700;
}
body.theme-diwali .countdown-box {
    background: #fef5e7 !important;
    border: 1.5px solid rgba(217, 119, 6, 0.35) !important;
}
body.theme-diwali .countdown-num {
    color: #92400e !important;
    font-weight: 800;
}
body.theme-diwali .countdown-label {
    color: #8a5416 !important;
    font-weight: 700;
}

/* Category cards festive accent on hover */
body.theme-diwali .category-card:hover {
    border-color: #db2777 !important;
    box-shadow: 0 12px 30px rgba(219, 39, 119, 0.16) !important;
    transform: translateY(-4px);
}
body.theme-diwali .category-card {
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

/* Festive Toran border under header */
body.theme-diwali::before {
    content: '';
    display: block;
    position: sticky;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, #db2777, #f59e0b, #06b6d4, #db2777);
    z-index: 10000;
}

/* ── DIWALI: Feature Strip Even & Harmonious ─────────────────────── */
body.theme-diwali .feature-strip {
    background: #fef5e7 !important;
    border-top: 1px solid rgba(217, 119, 6, 0.2) !important;
    border-bottom: 1px solid rgba(217, 119, 6, 0.2) !important;
    padding: 24px 0 !important;
}
body.theme-diwali .feature-item {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}
body.theme-diwali .feature-icon-box {
    background: #ffffff !important;
    border: 1.5px solid rgba(217, 119, 6, 0.25) !important;
    border-radius: 14px !important;
    box-shadow: 0 3px 10px rgba(217, 119, 6, 0.1) !important;
    width: 48px !important;
    height: 48px !important;
    flex-shrink: 0 !important;
}
body.theme-diwali .feature-info h4 {
    color: #2c1802 !important;
    font-size: 0.92rem !important;
    font-weight: 700 !important;
    margin-bottom: 2px !important;
}
body.theme-diwali .feature-info p {
    color: #5d3307 !important;
    font-size: 0.78rem !important;
    line-height: 1.35 !important;
}

/* ── DIWALI: Hero Banner Diyas (Artisanal Painted Diyas from Image) ── */
.diwali-hero-diya-wrapper {
    position: absolute;
    bottom: -6px;
    z-index: 2;
    pointer-events: none;
    filter: drop-shadow(0 4px 12px rgba(217, 119, 6, 0.28));
}
.diwali-hero-diya-left {
    left: 20px;
    width: 86px;
    height: 78px;
}
.diwali-hero-diya-right {
    right: 20px;
    width: 86px;
    height: 78px;
}
.diwali-hero-diya-img {
    width: 100%;
    height: 100%;
    display: block;
    animation: diyaFlamePulse 3s ease-in-out infinite alternate;
}
@keyframes diyaFlamePulse {
    0% {
        filter: drop-shadow(0 0 4px rgba(251, 191, 36, 0.45));
        transform: scale(1);
    }
    100% {
        filter: drop-shadow(0 0 12px rgba(245, 158, 11, 0.8));
        transform: scale(1.02);
    }
}
@media (max-width: 992px) {
    /* Hide hero corner diyas on mobile/tablets to prevent overlapping carousel slide & cards */
    .diwali-hero-diya-wrapper {
        display: none !important;
    }
}

.floating-badge img {
    width: 18px !important;
    height: 16px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    display: inline-block !important;
    position: static !important;
}

/* ── THEME: Holi 🎨 ─────────────────────────────────────────────── */
body.theme-holi {
    --accent:        #db2777;
    --accent-light:  #f472b6;
    --accent-dark:   #9d174d;
    --accent-glow:   rgba(219,39,119,0.3);
    --bg:            #fff0f8;
    --bg-alt:        #fce7f3;
    --surface:       #fdf2f8;
    --surface-card:  #ffffff;
    --surface-hover: #fdf4ff;
    --border:        rgba(219,39,119,0.15);
    --border-strong: rgba(219,39,119,0.35);
    --text:          #4a0020;
    --text2:         #831843;
    --text3:         #be185d;
    --shadow-sm:     0 2px 8px rgba(219,39,119,0.08);
    --shadow-md:     0 8px 24px rgba(219,39,119,0.12);
    --shadow-lg:     0 16px 36px rgba(219,39,119,0.18);
    --shadow-glow:   0 10px 40px rgba(219,39,119,0.35);
}

body.theme-holi .top-bar {
    background: linear-gradient(90deg, #7c3aed, #db2777, #ea580c, #16a34a, #0891b2, #7c3aed);
    background-size: 300% 100%;
    animation: holiBar 5s linear infinite;
    color: #fff;
}
@keyframes holiBar {
    0% { background-position: 0% 50%; }
    100% { background-position: 300% 50%; }
}
body.theme-holi .site-header {
    background: rgba(255,240,248,0.96);
    border-bottom: 3px solid;
    border-image: linear-gradient(90deg, #7c3aed, #db2777, #ea580c, #16a34a) 1;
}
body.theme-holi .btn-primary {
    background: linear-gradient(135deg, #db2777, #7c3aed);
    box-shadow: 0 4px 20px rgba(219,39,119,0.35);
}
body.theme-holi .btn-primary:hover {
    background: linear-gradient(135deg, #9d174d, #5b21b6);
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(219,39,119,0.5);
}
body.theme-holi .hero-section {
    background: radial-gradient(ellipse at 20% 50%, rgba(219,39,119,0.12) 0%, transparent 60%),
                radial-gradient(ellipse at 80% 30%, rgba(124,58,237,0.12) 0%, transparent 60%),
                radial-gradient(ellipse at 50% 80%, rgba(234,88,12,0.08) 0%, transparent 60%),
                #fff0f8;
}
body.theme-holi .hero-headline span {
    background: linear-gradient(90deg, #db2777, #7c3aed, #0891b2, #16a34a, #ea580c, #db2777);
    background-size: 300%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: holiText 4s linear infinite;
}
@keyframes holiText {
    0% { background-position: 0% 50%; }
    100% { background-position: 300% 50%; }
}
body.theme-holi .product-card:hover {
    box-shadow: 0 12px 40px rgba(219,39,119,0.2);
    border-color: rgba(219,39,119,0.3);
}
body.theme-holi .section-tag {
    background: linear-gradient(90deg, rgba(219,39,119,0.1), rgba(124,58,237,0.1));
    color: #db2777;
    border-color: rgba(219,39,119,0.3);
}
body.theme-holi .btn-outline {
    border-color: #db2777;
    color: #db2777;
}
body.theme-holi .btn-outline:hover {
    background: #db2777;
    color: #ffffff;
}
body.theme-holi a:hover {
    color: #9d174d;
}

/* Holi color splats - floating powder puffs */
body.theme-holi .festive-overlay {
    pointer-events: none;
    position: fixed;
    inset: 0;
    z-index: 9999;
    overflow: hidden;
}
body.theme-holi .color-puff {
    position: absolute;
    border-radius: 50%;
    animation: colorPuff linear infinite;
    opacity: 0;
    filter: blur(2px);
}
@keyframes colorPuff {
    0%   { transform: translateY(100vh) scale(0.3) rotate(0deg); opacity: 0; }
    8%   { opacity: 0.5; }
    90%  { opacity: 0.3; }
    100% { transform: translateY(-100px) scale(1.5) rotate(360deg); opacity: 0; }
}
body.theme-holi .holi-emoji {
    position: absolute;
    animation: holiEmoji linear infinite;
    opacity: 0;
    font-size: 1.4rem;
    user-select: none;
}
@keyframes holiEmoji {
    0%   { transform: translateY(100vh) rotate(-30deg); opacity: 0; }
    10%  { opacity: 0.9; }
    90%  { opacity: 0.6; }
    100% { transform: translateY(-80px) rotate(30deg); opacity: 0; }
}
/* Holi rainbow border at top */
body.theme-holi::before {
    content: '';
    display: block;
    position: fixed;
    top: 0; left: 0; right: 0;
    height: 5px;
    background: linear-gradient(90deg, #ef4444, #f97316, #eab308, #22c55e, #3b82f6, #8b5cf6, #ec4899, #ef4444);
    background-size: 200%;
    z-index: 10000;
    animation: holiRainbow 3s linear infinite;
}
@keyframes holiRainbow {
    0% { background-position: 0% 50%; }
    100% { background-position: 200% 50%; }
}

/* ── THEME: Sankranthi 🪁 (Harvest Sunshine & Festival Kites) ── */
body.theme-sankranthi {
    --accent:        #ea580c; /* Harvest Sun Orange */
    --accent-light:  #f59e0b; /* Sunny Amber */
    --accent-dark:   #c2410c; /* Deep Harvest Tangerine */
    --accent-glow:   rgba(234, 88, 12, 0.28);
    --accent-cyan:   #0284c7; /* Kite Sky Blue */
    --accent-pink:   #db2777; /* Kite Festive Magenta */
    --bg:            #fef9eb; /* Sunny Harvest Cream from Artwork */
    --bg-alt:        #fef2cb; /* Warm Sunny Amber */
    --surface:       #ffffff;
    --surface-card:  #ffffff;
    --surface-hover: #fffcf5;
    --border:        rgba(234, 88, 12, 0.18);
    --border-strong: rgba(219, 39, 119, 0.35);
    --text:          #2a1704; /* Deep rich harvest espresso brown */
    --text2:         #5c3508;
    --text3:         #8c5212;
    --shadow-sm:     0 2px 8px rgba(234, 88, 12, 0.08);
    --shadow-md:     0 8px 24px rgba(234, 88, 12, 0.12);
    --shadow-lg:     0 16px 36px rgba(234, 88, 12, 0.16);
    --shadow-glow:   0 8px 30px rgba(245, 158, 11, 0.25);
    color-scheme:    light;
    background-color:#fef9eb;
    background-image: url('../images/sankranthi-bg-kites.svg');
    background-repeat: repeat;
    background-size: 340px 340px;
    background-attachment: fixed;
    color:           #2a1704;
    overflow-x:      hidden !important;
}

/* Ensure no horizontal overfloating anywhere */
html:has(body.theme-sankranthi),
body.theme-sankranthi {
    overflow-x: hidden !important;
    max-width: 100vw;
}

/* ── SANKRANTHI: Typography & Headings ────────────────────────── */
body.theme-sankranthi h1,
body.theme-sankranthi h2,
body.theme-sankranthi h3,
body.theme-sankranthi h4,
body.theme-sankranthi h5,
body.theme-sankranthi h6,
body.theme-sankranthi .section-title,
body.theme-sankranthi .product-detail-title,
body.theme-sankranthi .cart-item-name a,
body.theme-sankranthi .summary-title,
body.theme-sankranthi .account-card-title,
body.theme-sankranthi .empty-state h3,
body.theme-sankranthi .auth-header h1 {
    color: #2a1704 !important;
}

body.theme-sankranthi p,
body.theme-sankranthi .section-subtitle,
body.theme-sankranthi .section-desc,
body.theme-sankranthi .brand-desc,
body.theme-sankranthi .contact-info p,
body.theme-sankranthi .product-detail-desc p,
body.theme-sankranthi .auth-header p,
body.theme-sankranthi .auth-footer,
body.theme-sankranthi .deal-desc,
body.theme-sankranthi .testimonial-text,
body.theme-sankranthi .feature-desc,
body.theme-sankranthi .empty-state p,
body.theme-sankranthi .summary-row,
body.theme-sankranthi .copyright {
    color: #5c3508 !important;
}

body.theme-sankranthi a {
    color: #ea580c;
}
body.theme-sankranthi a:hover {
    color: #db2777;
}

/* ── SANKRANTHI: Form Controls & Inputs ───────────────────────── */
body.theme-sankranthi input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
body.theme-sankranthi textarea,
body.theme-sankranthi select,
body.theme-sankranthi .form-control,
body.theme-sankranthi .header-search input,
body.theme-sankranthi .sort-select-wrapper select,
body.theme-sankranthi .qty-field {
    background-color: #ffffff !important;
    color: #2a1704 !important;
    border: 1.5px solid rgba(234, 88, 12, 0.28) !important;
    color-scheme: light;
}

body.theme-sankranthi input::placeholder,
body.theme-sankranthi textarea::placeholder,
body.theme-sankranthi .form-control::placeholder,
body.theme-sankranthi .header-search input::placeholder {
    color: #8c5212 !important;
    opacity: 0.7;
}

body.theme-sankranthi input:focus,
body.theme-sankranthi textarea:focus,
body.theme-sankranthi select:focus,
body.theme-sankranthi .form-control:focus,
body.theme-sankranthi .header-search input:focus {
    border-color: #ea580c !important;
    box-shadow: 0 0 0 3px rgba(234, 88, 12, 0.22) !important;
    outline: none !important;
}

/* ── SANKRANTHI: Newsletter Exclusive Deals Card & Input ──────── */
body.theme-sankranthi .newsletter-section h2 {
    color: #ffffff !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.22);
}

body.theme-sankranthi .newsletter-section p {
    color: rgba(255, 255, 255, 0.92) !important;
}

body.theme-sankranthi .newsletter-form {
    display: flex !important;
    align-items: center !important;
    background: #ffffff !important;
    border: 2px solid rgba(255, 255, 255, 0.95) !important;
    border-radius: 9999px !important;
    padding: 6px 6px 6px 10px !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.16) !important;
    transition: all 0.25s ease !important;
    overflow: hidden;
}

body.theme-sankranthi .newsletter-form:focus-within {
    border-color: #ea580c !important;
    box-shadow: 0 0 0 4px rgba(234, 88, 12, 0.35), 0 12px 32px rgba(0, 0, 0, 0.2) !important;
}

body.theme-sankranthi .newsletter-form input {
    flex: 1 !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    padding: 12px 20px !important;
    font-size: 0.98rem !important;
    color: #2a1704 !important;
    border-radius: 0 !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
}

body.theme-sankranthi .newsletter-form input:focus {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    background: transparent !important;
}

body.theme-sankranthi .newsletter-form input::placeholder {
    color: #8c5212 !important;
    opacity: 0.75 !important;
}

body.theme-sankranthi .newsletter-form button {
    border-radius: 9999px !important;
    background: linear-gradient(135deg, #ea580c, #c2410c) !important;
    color: #ffffff !important;
    border: none !important;
    padding: 12px 28px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    box-shadow: 0 4px 14px rgba(234, 88, 12, 0.35) !important;
    transition: all 0.25s ease !important;
    flex-shrink: 0 !important;
}

body.theme-sankranthi .newsletter-form button:hover {
    background: linear-gradient(135deg, #c2410c, #9a3412) !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(234, 88, 12, 0.45) !important;
}

body.theme-sankranthi label,
body.theme-sankranthi .form-group label,
body.theme-sankranthi .filter-title,
body.theme-sankranthi .filter-section h4 {
    color: #2a1704 !important;
    font-weight: 700;
}

/* ── SANKRANTHI: Cards & Surfaces ─────────────────────────────── */
body.theme-sankranthi .auth-card,
body.theme-sankranthi .login-card,
body.theme-sankranthi .register-card,
body.theme-sankranthi .form-card,
body.theme-sankranthi .card,
body.theme-sankranthi .checkout-step-card,
body.theme-sankranthi .order-summary-sidebar,
body.theme-sankranthi .cart-table-wrapper,
body.theme-sankranthi .account-sidebar,
body.theme-sankranthi .account-content-card,
body.theme-sankranthi .orders-history-table,
body.theme-sankranthi .order-mobile-card,
body.theme-sankranthi .sidebar-filter,
body.theme-sankranthi .category-card,
body.theme-sankranthi .deal-banner,
body.theme-sankranthi .testimonial-card,
body.theme-sankranthi .empty-state,
body.theme-sankranthi .product-gallery-stage,
body.theme-sankranthi .gallery-thumb-card,
body.theme-sankranthi .reviews-summary-card,
body.theme-sankranthi .product-review-form-wrap,
body.theme-sankranthi .review-item-card,
body.theme-sankranthi .order-review-modal-card,
body.theme-sankranthi .user-dropdown-menu,
body.theme-sankranthi .mobile-nav-drawer,
body.theme-sankranthi .toast {
    background: #ffffff !important;
    background-color: #ffffff !important;
    border: 1px solid rgba(234, 88, 12, 0.2) !important;
    color: #2a1704 !important;
    box-shadow: 0 4px 18px rgba(234, 88, 12, 0.08) !important;
}

/* Category cards hover */
body.theme-sankranthi .category-card:hover {
    border-color: #ea580c !important;
    box-shadow: 0 12px 30px rgba(234, 88, 12, 0.16) !important;
    transform: translateY(-4px);
}

/* Product cards */
body.theme-sankranthi .product-card {
    background: #ffffff;
    border: 1px solid rgba(234, 88, 12, 0.18);
    box-shadow: 0 4px 16px rgba(234, 88, 12, 0.06);
}
body.theme-sankranthi .product-card:hover {
    box-shadow: 0 14px 34px rgba(234, 88, 12, 0.18);
    border-color: rgba(234, 88, 12, 0.35);
}

/* Feature Strip */
body.theme-sankranthi .feature-strip {
    background: #fef2cb !important;
    border-top: 1px solid rgba(234, 88, 12, 0.2) !important;
    border-bottom: 1px solid rgba(234, 88, 12, 0.2) !important;
    padding: 24px 0 !important;
}
body.theme-sankranthi .feature-item {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}
body.theme-sankranthi .feature-icon-box {
    background: #ffffff !important;
    border: 1.5px solid rgba(234, 88, 12, 0.25) !important;
    border-radius: 14px !important;
    box-shadow: 0 3px 10px rgba(234, 88, 12, 0.1) !important;
    width: 48px !important;
    height: 48px !important;
    flex-shrink: 0 !important;
}
body.theme-sankranthi .feature-info h4 {
    color: #2a1704 !important;
    font-size: 0.92rem !important;
    font-weight: 700 !important;
    margin-bottom: 2px !important;
}
body.theme-sankranthi .feature-info p {
    color: #5c3508 !important;
    font-size: 0.78rem !important;
    line-height: 1.35 !important;
}

/* Top Bar & Header */
body.theme-sankranthi .top-bar {
    background: linear-gradient(90deg, #ea580c 0%, #db2777 30%, #0284c7 70%, #f59e0b 100%);
    color: #ffffff !important;
    font-weight: 600;
}
body.theme-sankranthi .top-bar span,
body.theme-sankranthi .top-bar a {
    color: #ffffff !important;
}
body.theme-sankranthi .site-header {
    background: rgba(254, 249, 235, 0.96);
    border-bottom: 2px solid rgba(234, 88, 12, 0.2);
    backdrop-filter: blur(14px);
}
body.theme-sankranthi .user-btn,
body.theme-sankranthi .cart-trigger,
body.theme-sankranthi .mobile-toggle {
    background-color: #fff9e6 !important;
    border: 1.5px solid rgba(234, 88, 12, 0.25) !important;
    color: #ea580c !important;
}
body.theme-sankranthi .user-btn:hover,
body.theme-sankranthi .cart-trigger:hover {
    border-color: #db2777 !important;
    color: #db2777 !important;
    background-color: #fdf2f8 !important;
}
body.theme-sankranthi .nav-link,
body.theme-sankranthi .nav-links a {
    color: #2a1704 !important;
}
body.theme-sankranthi .nav-link:hover,
body.theme-sankranthi .nav-links a:hover {
    color: #ea580c !important;
}

/* Buttons */
body.theme-sankranthi .btn-primary,
body.theme-sankranthi .btn-add-cart,
body.theme-sankranthi .carousel-cart-btn {
    background: linear-gradient(135deg, #ea580c, #f59e0b) !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: 0 4px 18px rgba(234, 88, 12, 0.28) !important;
}
body.theme-sankranthi .btn-primary:hover,
body.theme-sankranthi .btn-add-cart:hover,
body.theme-sankranthi .carousel-cart-btn:hover {
    background: linear-gradient(135deg, #c2410c, #ea580c) !important;
    box-shadow: 0 8px 24px rgba(234, 88, 12, 0.38) !important;
    color: #ffffff !important;
}
body.theme-sankranthi .btn-outline {
    border: 2px solid #ea580c !important;
    color: #ea580c !important;
    background: transparent !important;
}
body.theme-sankranthi .btn-outline:hover {
    background: #ea580c !important;
    color: #ffffff !important;
}

/* Hero Section */
body.theme-sankranthi .hero-section {
    position: relative;
    background: radial-gradient(circle at 10% 20%, rgba(234, 88, 12, 0.1) 0%, transparent 45%),
                radial-gradient(circle at 90% 80%, rgba(2, 132, 199, 0.1) 0%, transparent 45%),
                radial-gradient(circle at 50% 50%, rgba(251, 191, 36, 0.15) 0%, transparent 60%),
                #fef9eb;
    overflow: hidden !important;
}
body.theme-sankranthi .hero-grid {
    position: relative;
    z-index: 1;
}
body.theme-sankranthi .hero-headline span {
    background: linear-gradient(135deg, #ea580c 0%, #db2777 50%, #0284c7 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
body.theme-sankranthi .section-tag {
    background: #fef2cb;
    color: #c2410c;
    border: 1px solid rgba(234, 88, 12, 0.3);
    font-weight: 700;
}

/* Deal of the Day */
body.theme-sankranthi .deal-banner {
    border: 2px solid rgba(234, 88, 12, 0.3) !important;
    background: linear-gradient(135deg, #ffffff 0%, #fef9eb 100%) !important;
    box-shadow: 0 16px 48px rgba(234, 88, 12, 0.14) !important;
    position: relative;
    overflow: hidden;
}
body.theme-sankranthi .deal-tag {
    background: linear-gradient(135deg, #ea580c, #f59e0b) !important;
    color: #ffffff !important;
    font-weight: 700;
}
body.theme-sankranthi .countdown-box {
    background: #fef2cb !important;
    border: 1.5px solid rgba(234, 88, 12, 0.35) !important;
}
body.theme-sankranthi .countdown-num {
    color: #c2410c !important;
    font-weight: 800;
}
body.theme-sankranthi .countdown-label {
    color: #8c5212 !important;
    font-weight: 700;
}

/* Footer */
body.theme-sankranthi .site-footer {
    background: #1f1003 !important;
    border-top: 3px solid #ea580c;
}
body.theme-sankranthi .site-footer .footer-title {
    color: #fed7aa !important;
}
body.theme-sankranthi .site-footer .footer-links a {
    color: #ffedd5 !important;
}
body.theme-sankranthi .site-footer .footer-links a:hover {
    color: #fde047 !important;
}
body.theme-sankranthi .site-footer .trust-badge-item strong {
    color: #ffffff !important;
}
body.theme-sankranthi .site-footer .trust-badge-item small {
    color: #fbd38d !important;
}
body.theme-sankranthi .site-footer .brand-desc,
body.theme-sankranthi .site-footer p {
    color: #fed7aa !important;
}
body.theme-sankranthi .footer-bottom {
    background: #140901 !important;
    border-top: 1px solid rgba(254, 215, 170, 0.2) !important;
}
body.theme-sankranthi .footer-bottom .copyright {
    color: #fbd38d !important;
}

/* ── SANKRANTHI: Decorative Elements from Artwork (NO FLOATING, NO OVERFLOW) ── */
/* Corner Buntings / Pennants */
.sankranthi-hero-bunting {
    position: absolute;
    top: 0;
    width: 220px;
    height: 120px;
    z-index: 2;
    pointer-events: none;
    opacity: 0.95;
    filter: drop-shadow(0 4px 8px rgba(234, 88, 12, 0.15));
}
.sankranthi-hero-bunting-left {
    left: 0;
}
.sankranthi-hero-bunting-right {
    right: 0;
    transform: scaleX(-1);
}
@media (max-width: 992px) {
    /* Hide corner buntings on mobile/tablets to prevent overlapping carousel slide */
    .sankranthi-hero-bunting {
        display: none !important;
    }
}

/* Hero Static Decorative Kites */
.sankranthi-hero-kite {
    position: absolute;
    z-index: 2;
    pointer-events: none;
    filter: drop-shadow(0 6px 14px rgba(234, 88, 12, 0.22));
}
.sankranthi-hero-kite-left {
    bottom: -8px;
    left: 20px;
    width: 96px;
    height: 132px;
}
.sankranthi-hero-kite-right {
    bottom: -8px;
    right: 20px;
    width: 96px;
    height: 132px;
}
.sankranthi-hero-kite-center-bg {
    position: absolute;
    right: 8%;
    top: 50%;
    transform: translateY(-50%);
    width: 300px;
    height: 420px;
    opacity: 0.15;
    pointer-events: none;
    z-index: 0;
}
@media (max-width: 992px) {
    .sankranthi-hero-kite-center-bg {
        display: none;
    }
}
@media (max-width: 992px) {
    /* Hide hero corner kites on mobile/tablets to prevent overlapping carousel slide & cards */
    .sankranthi-hero-kite {
        display: none !important;
    }
}

.sankranthi-header-motif {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    vertical-align: middle;
}
.sankranthi-header-motif img {
    width: 24px;
    height: 28px;
    display: inline-block;
    filter: drop-shadow(0 2px 4px rgba(234, 88, 12, 0.25));
}

.sankranthi-badge-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: linear-gradient(135deg, rgba(234, 88, 12, 0.12), rgba(219, 39, 119, 0.12));
    border: 1px solid rgba(234, 88, 12, 0.35);
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 700;
    color: #c2410c;
}
.sankranthi-badge-tag img {
    width: 18px;
    height: 22px;
}

/* Festive Top Bar Border */
body.theme-sankranthi::before {
    content: '';
    display: block;
    position: sticky;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, #ea580c, #f59e0b, #38bdf8, #db2777, #ea580c);
    z-index: 10000;
}

/* Responsive adjustments for festive newsletter */
@media (max-width: 600px) {
    body.theme-diwali .newsletter-form,
    body.theme-sankranthi .newsletter-form {
        flex-direction: column !important;
        border-radius: 18px !important;
        padding: 10px !important;
        gap: 10px !important;
    }
    body.theme-diwali .newsletter-form input,
    body.theme-sankranthi .newsletter-form input {
        width: 100% !important;
        padding: 10px 14px !important;
        text-align: center !important;
    }
    body.theme-diwali .newsletter-form button,
    body.theme-sankranthi .newsletter-form button {
        width: 100% !important;
        border-radius: 12px !important;
    }
}

/* ── THEME: Main Brand 🍯 (already handled by default :root) ────── */
/* No overrides needed — default style.css handles this */
