/**
 * IPS BAZAR - INDUSTRY-GRADE LIGHT DESIGN SYSTEM
 * Primary Color: var(--ips-primary) (Solar Eco Green)
 * Secondary Accent: #F59E0B (Solar Gold/Amber) | Tech Navy: #0F172A
 * Background: Crisp Clean White (#FFFFFF) & Pure Slate (#F8FAFC)
 * Frosted Glass Micro-Interactions | 100% English Content
 */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800;900&family=Playfair+Display:ital,wght@1,600;1,700;1,800&display=swap');

:root {
    --ips-font: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    
    /* Core Brand Colors (Best CC TV Primary: #0F4C5C Deep Security Teal) */
    --ips-primary: var(--primary, #0F4C5C);
    --ips-primary-hover: var(--hov-primary, #1D4ED8);
    --ips-primary-dark: #0B3B47;
    --ips-primary-light: rgba(15, 76, 92, 0.08);
    --ips-primary-subtle: rgba(15, 76, 92, 0.04);
    --ips-primary-glow: rgba(15, 76, 92, 0.24);
    --primary-rgb: 15, 76, 92;
    
    /* Core Brand Secondary Accent (Best CC TV Secondary: #1D4ED8 Royal Blue) */
    --ips-secondary: var(--secondary, #1D4ED8);
    --ips-secondary-hover: #1E40AF;
    --ips-secondary-text: #1D4ED8;
    --ips-secondary-light: rgba(29, 78, 216, 0.12);
    --ips-secondary-glow: rgba(29, 78, 216, 0.25);
    --secondary-rgb: 29, 78, 216;
    
    /* Secondary Solar Accents */
    --ips-amber: #f59e0b;
    --ips-amber-hover: #d97706;
    --ips-amber-light: #fef3c7;
    --ips-amber-glow: rgba(245, 158, 11, 0.25);
    
    /* Tech & System Accents */
    --ips-blue: #0284c7;
    --ips-blue-light: #e0f2fe;
    --ips-red: #ef4444;
    --ips-red-light: #fee2e2;
    
    /* Neutral Surfaces & Backgrounds */
    --ips-bg-white: #ffffff;
    --ips-bg-canvas: #ffffff;
    --ips-bg-alt: #ffffff;
    --ips-card-bg: #ffffff;
    
    /* Typography Colors */
    --ips-text-heading: #0f172a;
    --ips-text-body: #334155;
    --ips-text-muted: #64748b;
    --ips-text-subtle: #94a3b8;
    
    /* Borders & Shadows */
    --ips-border: #e2e8f0;
    --ips-border-light: #f1f5f9;
    --ips-border-focus: var(--ips-primary);
    --ips-shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --ips-shadow-sm: 0 2px 8px -1px rgba(15, 23, 42, 0.06);
    --ips-shadow-md: 0 10px 25px -4px rgba(15, 23, 42, 0.08), 0 4px 10px -2px rgba(15, 23, 42, 0.04);
    --ips-shadow-lg: 0 20px 35px -5px rgba(15, 23, 42, 0.1), 0 8px 16px -4px rgba(15, 23, 42, 0.06);
    --ips-shadow-hover: 0 18px 36px -6px color-mix(in srgb, var(--ips-primary) 16%, transparent), 0 6px 12px -2px rgba(15, 23, 42, 0.05);
    
    /* Frosted Glass Utilities on Light */
    --ips-glass-bg: rgba(255, 255, 255, 0.88);
    --ips-glass-border: rgba(226, 232, 240, 0.85);
    --ips-blur: blur(16px);
    
    /* Radii */
    --ips-radius-xl: 20px;
    --ips-radius-lg: 14px;
    --ips-radius-md: 10px;
    --ips-radius-sm: 6px;
    --ips-radius-pill: 9999px;
    
    --ips-transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Global Reset for IPS Bazar Portal (Pure Clean White Canvas) */
body:has(.ips-portal),
.cibato-main-wrapper:has(.ips-portal),
.ips-portal,
.ips-category-grid-section,
.ips-calculator-section,
.ips-product-grid-section,
.ips-combo-section,
.ips-trust-section,
.ips-projects-section,
.ips-brands-row {
    background-color: #ffffff !important;
    color: var(--ips-text-body);
    font-family: var(--ips-font);
}

.ips-portal {
    font-family: var(--ips-font);
    background-color: #ffffff !important;
    color: var(--ips-text-body);
    position: relative;
    line-height: 1.6;
}

/* ==================== 1. MASTER GLASSMORPHISM HEADER (SCREENSHOT MATCH) ==================== */
.ips-glass-header-wrapper {
    position: relative;
    background: linear-gradient(180deg, rgba(14, 32, 55, 0.42) 0%, rgba(10, 24, 42, 0.24) 60%, rgba(255, 255, 255, 0.08) 100%), url('../img/ips/header_bg.jpg') top center / cover no-repeat;
    padding: 10px 0 20px;
    border-bottom: none !important;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.06);
    z-index: 1050;
}

/* 1. Sleek Topbar */
.ips-glass-topbar {
    padding: 0 0 10px;
    font-size: 0.8rem;
    color: #ffffff;
}
.ips-topbar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
}
.ips-topbar-left-badges {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.ips-topbar-badge-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #ffffff;
    font-weight: 500;
    font-size: 0.8rem;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
}
.ips-topbar-badge-item i {
    color: #ffffff;
    font-size: 1.05rem;
}
.ips-topbar-sep {
    color: rgba(255, 255, 255, 0.45);
    font-size: 0.8rem;
}
.ips-topbar-right-links {
    display: flex;
    align-items: center;
    gap: 10px;
}
.ips-topbar-link {
    color: rgba(255, 255, 255, 0.92) !important;
    text-decoration: none !important;
    font-size: 0.82rem;
    font-weight: 600;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
    transition: color 0.2s ease;
}
.ips-topbar-link:hover {
    color: #ffffff !important;
    text-decoration: underline !important;
}

/* 2. Main Floating Frosted Glass Capsule */
.ips-capsule-container {
    padding: 0 12px;
}
.ips-glass-main-capsule {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(28px);
    -webkit-backdrop-filter: blur(28px);
    border: 1.5px solid rgba(255, 255, 255, 0.92);
    border-radius: 22px;
    padding: 16px 26px 14px;
    box-shadow: 0 20px 48px -10px rgba(0, 0, 0, 0.14), inset 0 1px 1px rgba(255, 255, 255, 0.95);
    transition: all 0.3s ease;
}

/* Upper Row */
.ips-capsule-upper-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}
@media (max-width: 991.98px) {
    .ips-capsule-upper-row {
        flex-wrap: wrap;
        gap: 14px;
    }
}

/* Logo Wrap */
.ips-capsule-logo-wrap {
    flex-shrink: 0;
}
.ips-brand-logo-link {
    display: inline-block;
    text-decoration: none !important;
}
.ips-brand-logo-link img {
    height: 52px;
    width: auto;
    object-fit: contain;
}

/* Search Pill Wrap */
.ips-capsule-search-wrap {
    flex: 1;
    max-width: 660px;
    position: relative;
}
@media (max-width: 991.98px) {
    .ips-capsule-search-wrap {
        order: 3;
        max-width: 100%;
        width: 100%;
    }
}
.ips-search-pill-form {
    display: flex;
    align-items: center;
    background: #ffffff;
    border: 1.5px solid rgba(203, 213, 225, 0.85);
    border-radius: 999px;
    padding: 3px 4px 3px 20px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.ips-search-pill-form:focus-within {
    border-color: var(--ips-primary);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--ips-primary) 20%, transparent), 0 6px 18px rgba(0, 0, 0, 0.06);
}
.ips-search-pill-input,
.ips-search-pill-input:focus,
.ips-search-pill-input:active {
    background: transparent !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    font-size: 0.92rem;
    font-weight: 500;
    color: #0f172a;
    width: 100%;
    padding: 7px 8px 7px 0;
}
.ips-search-pill-input::placeholder {
    color: #94a3b8;
}
.ips-search-circle-btn {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--ips-primary);
    border: none;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
    cursor: pointer;
    flex-shrink: 0;
    transition: all 0.2s ease;
    box-shadow: 0 4px 12px color-mix(in srgb, var(--ips-primary) 40%, transparent);
}
.ips-search-circle-btn:hover {
    background: #1D4ED8;
    transform: scale(1.05);
}

/* Actions Deck (Wishlist, Account with Dropdown, Cart with Total Price) */
.ips-capsule-actions-deck {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-shrink: 0;
}

/* ==================== MOBILE HEADER & STICKY BEHAVIOR (Screenshot 1 Match) ==================== */
@media (max-width: 991.98px) {
    .ips-glass-header-wrapper {
        position: sticky !important;
        top: 0 !important;
        z-index: 1050 !important;
        padding: 10px 0 !important;
        margin-bottom: 0 !important;
        background: #ffffff !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05) !important;
        border-bottom: none !important;
    }
    .ips-glass-topbar {
        display: none !important;
    }
    .ips-mobile-header-bar {
        width: 100%;
        background: transparent;
    }
    .ips-mobile-menu-trigger {
        background: transparent !important;
        border: none !important;
        padding: 4px 6px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        color: #0f172a !important;
        line-height: 1 !important;
    }
    .ips-mobile-menu-trigger .dm-hamburger,
    .dm-hamburger {
        display: inline-flex;
        flex-direction: column;
        justify-content: space-between;
        width: 22px;
        height: 16px;
    }
    .ips-mobile-menu-trigger .dm-hamburger span,
    .dm-hamburger span {
        display: block;
        width: 100%;
        height: 2.2px;
        background-color: #0f172a;
        border-radius: 2px;
        transition: all 0.2s ease;
    }
    .ips-mobile-brand {
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .ips-mobile-logo-link {
        display: inline-block;
        line-height: 1;
    }
    .ips-mobile-logo-link img {
        height: 38px !important;
        max-height: 38px !important;
        width: auto !important;
        object-fit: contain;
    }
    .ips-mobile-user {
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }
    .ips-mobile-user-link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        text-decoration: none !important;
    }
    .ips-mobile-avatar {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        border-radius: 50%;
        background: #f1f5f9;
        color: #0f172a;
        border: 1px solid #e2e8f0;
    }
    .ips-mobile-avatar-initial {
        font-weight: 700;
        font-size: 14px;
        color: var(--ips-primary);
    }
    .ips-capsule-lower-row {
        display: none !important;
    }
}
@media (max-width: 767.98px) {
    .ips-capsule-actions-deck {
        gap: 12px;
    }
}
.ips-action-item {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    text-decoration: none !important;
    color: #1e293b !important;
    transition: all 0.2s ease;
    cursor: pointer;
    background: transparent;
    border: none;
    padding: 4px 6px;
    border-radius: 12px;
    position: relative;
}
.ips-action-item:hover {
    background: color-mix(in srgb, var(--ips-primary) 5%, transparent);
}
.ips-action-icon-box {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #f1f5f9;
    border: 1px solid rgba(226, 232, 240, 0.8);
    transition: all 0.2s ease;
}
.ips-action-item:hover .ips-action-icon-box {
    background: #e2f5e8;
    border-color: color-mix(in srgb, var(--ips-primary) 40%, transparent);
    transform: translateY(-1px);
}
.ips-action-icon-box i {
    font-size: 1.25rem;
    color: #334155;
    transition: color 0.2s ease;
}
.ips-action-item:hover .ips-action-icon-box i {
    color: var(--ips-primary);
}
.ips-action-badge {
    position: absolute;
    top: -4px;
    right: -6px;
    font-size: 0.65rem;
    font-weight: 800;
    min-width: 18px;
    height: 18px;
    border-radius: 9px;
    padding: 0 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    border: 2px solid #ffffff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}
.ips-action-badge.badge-green {
    background: var(--ips-primary);
}
.ips-action-badge.badge-red {
    background: #e11d48;
}
.ips-action-text-col {
    display: flex;
    flex-direction: column;
    text-align: left;
    line-height: 1.2;
}
.ips-action-sublabel {
    font-size: 0.72rem;
    font-weight: 600;
    color: #64748b;
    letter-spacing: 0.01em;
}
.ips-action-label {
    font-size: 0.86rem;
    font-weight: 700;
    color: #0f172a;
    display: flex;
    align-items: center;
    gap: 4px;
}
.ips-action-amount {
    font-size: 0.88rem;
    font-weight: 800;
    color: var(--ips-primary);
    letter-spacing: -0.01em;
}

/* Account Dropdown Container */
.ips-account-dropdown-wrap {
    position: relative;
}
.ips-account-trigger {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    cursor: pointer;
    background: transparent;
    border: none;
    padding: 0;
}
.ips-drop-arrow {
    font-size: 0.72rem;
    color: #64748b;
    transition: transform 0.2s ease;
}
.ips-account-dropdown-wrap:hover .ips-drop-arrow,
.ips-account-dropdown-wrap.show .ips-drop-arrow {
    transform: rotate(180deg);
}
.ips-account-dropdown-menu {
    position: absolute;
    top: calc(100% + 14px);
    right: -10px;
    width: 260px;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 16px;
    box-shadow: 0 20px 45px -8px rgba(15, 23, 42, 0.16), 0 4px 12px rgba(15, 23, 42, 0.06);
    padding: 14px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 1050;
}
.ips-account-dropdown-wrap:hover .ips-account-dropdown-menu,
.ips-account-dropdown-wrap.show .ips-account-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.ips-account-dropdown-menu::before {
    content: '';
    position: absolute;
    top: -6px;
    right: 28px;
    width: 12px;
    height: 12px;
    background: #ffffff;
    border-left: 1px solid rgba(226, 232, 240, 0.95);
    border-top: 1px solid rgba(226, 232, 240, 0.95);
    transform: rotate(45deg);
}
.ips-acc-head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 4px 4px 10px;
}
.ips-acc-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--ips-primary), #0F4C5C);
    color: #ffffff;
    font-weight: 800;
    font-size: 1.05rem;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px color-mix(in srgb, var(--ips-primary) 30%, transparent);
    flex-shrink: 0;
}
.ips-acc-user-info strong {
    display: block;
    font-size: 0.92rem;
    color: #0f172a;
    line-height: 1.25;
}
.ips-acc-user-info small {
    display: block;
    font-size: 0.76rem;
    color: #64748b;
    word-break: break-all;
}
.ips-acc-guest-head {
    padding: 6px 4px 12px;
    text-align: center;
}
.ips-acc-guest-head h6 {
    font-size: 0.96rem;
    font-weight: 800;
    color: #0f172a;
    margin-bottom: 4px;
}
.ips-acc-guest-head p {
    font-size: 0.78rem;
    color: #64748b;
    margin-bottom: 12px;
}
.ips-acc-guest-btns {
    display: flex;
    gap: 8px;
}
.ips-acc-btn-login {
    flex: 1;
    background: var(--ips-primary);
    color: #ffffff !important;
    font-size: 0.82rem;
    font-weight: 700;
    text-align: center;
    padding: 8px 12px;
    border-radius: 8px;
    text-decoration: none !important;
    transition: background 0.18s ease;
}
.ips-acc-btn-login:hover {
    background: #0F4C5C;
}
.ips-acc-btn-reg {
    flex: 1;
    background: color-mix(in srgb, var(--ips-primary) 8%, transparent);
    color: var(--ips-primary) !important;
    font-size: 0.82rem;
    font-weight: 700;
    text-align: center;
    padding: 8px 12px;
    border-radius: 8px;
    text-decoration: none !important;
    border: 1px solid color-mix(in srgb, var(--ips-primary) 25%, transparent);
    transition: background 0.18s ease;
}
.ips-acc-btn-reg:hover {
    background: color-mix(in srgb, var(--ips-primary) 16%, transparent);
}
.ips-acc-divider {
    height: 1px;
    background: rgba(226, 232, 240, 0.85);
    margin: 4px 0 8px;
}
.ips-acc-links {
    list-style: none;
    padding: 0;
    margin: 0;
}
.ips-acc-links li a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    font-size: 0.86rem;
    font-weight: 600;
    color: #334155 !important;
    border-radius: 8px;
    text-decoration: none !important;
    transition: all 0.15s ease;
}
.ips-acc-links li a:hover {
    background: color-mix(in srgb, var(--ips-primary) 8%, transparent);
    color: var(--ips-primary) !important;
}
.ips-acc-links li a i {
    font-size: 1.15rem;
    color: #64748b;
    transition: color 0.15s ease;
}
.ips-acc-links li a:hover i {
    color: var(--ips-primary);
}
.ips-acc-links li.ips-acc-logout a {
    color: #ef4444 !important;
}
.ips-acc-links li.ips-acc-logout a:hover {
    background: rgba(239, 68, 68, 0.08);
    color: #dc2626 !important;
}
.ips-acc-links li.ips-acc-logout a i {
    color: #ef4444;
}

/* ==================== MINI-CART DROPDOWN (Item 2 - Screenshot 1 Match) ==================== */
.ips-cart-dropdown-wrap {
    position: relative;
}
.ips-cart-trigger {
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    cursor: pointer;
    background: transparent;
    border: none;
    padding: 0;
}
.ips-cart-dropdown-wrap:hover .cibato-mini-cart-dropdown,
.ips-cart-dropdown-wrap.show .cibato-mini-cart-dropdown,
.ips-cart-dropdown-wrap .cibato-mini-cart-dropdown.show {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}
.ips-cart-dropdown-wrap .cibato-mini-cart-dropdown {
    position: absolute;
    top: calc(100% + 14px) !important;
    right: -10px !important;
    left: auto !important;
    width: 380px !important;
    max-width: calc(100vw - 24px) !important;
    background: #ffffff !important;
    border: 1px solid #edf2f7 !important;
    border-radius: 16px !important;
    box-shadow: 0 20px 48px -6px rgba(15, 23, 42, 0.18), 0 6px 16px rgba(0, 0, 0, 0.06) !important;
    padding: 0 !important;
    overflow: hidden;
    z-index: 1090 !important;
    animation: ipsFadeInDown 0.22s ease-out;
}
.ips-cart-dropdown-wrap .cibato-mini-cart-dropdown::before {
    content: '';
    position: absolute;
    top: -6px;
    right: 32px;
    width: 12px;
    height: 12px;
    background: #ffffff;
    border-left: 1px solid #edf2f7;
    border-top: 1px solid #edf2f7;
    transform: rotate(45deg);
    z-index: 10;
}
.cibato-mini-cart-dropdown__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 18px 12px;
    border-bottom: 1px solid #f1f5f9;
    background: #ffffff;
}
.cibato-mini-cart-dropdown__title {
    font-size: 16px;
    font-weight: 700;
    color: #0f172a;
}
.cibato-mini-cart-dropdown__count {
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
    background: #f1f5f9;
    padding: 3px 10px;
    border-radius: 999px;
}
.cibato-mini-cart-dropdown__list {
    max-height: 320px;
    overflow-y: auto;
    padding: 4px 0;
    margin: 0;
    background: #ffffff;
}
.cibato-mini-cart-item {
    padding: 12px 18px !important;
    border-bottom: 1px solid #f8fafc !important;
    background: #ffffff !important;
}
.cibato-mini-cart-item__inner {
    display: flex;
    gap: 14px;
    align-items: center;
}
.cibato-mini-cart-item__thumb {
    width: 58px;
    height: 58px;
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0;
    border: 1px solid #f1f5f9;
    background: #f8fafc;
}
.cibato-mini-cart-item__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.cibato-mini-cart-item__body {
    flex: 1;
    min-width: 0;
}
.cibato-mini-cart-item__head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 8px;
}
.cibato-mini-cart-item__title {
    font-size: 14px;
    font-weight: 700;
    color: #3b0704 !important;
    text-decoration: none !important;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.cibato-mini-cart-item__remove {
    background: #fff5f5;
    border: none;
    color: #ea580c;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 14px;
    transition: all 0.15s ease;
    flex-shrink: 0;
}
.cibato-mini-cart-item__remove:hover {
    background: #fee2e2;
    color: #dc2626;
    transform: scale(1.08);
}
.cibato-mini-cart-item__footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.cibato-mini-cart-qty {
    display: inline-flex;
    align-items: center;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
    background: #ffffff;
}
.cibato-mini-cart-qty__btn {
    width: 28px;
    height: 28px;
    background: #f8fafc;
    border: none;
    color: #1e293b;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s;
}
.cibato-mini-cart-qty__btn:hover {
    background: #e2e8f0;
}
.cibato-mini-cart-qty__input {
    width: 32px;
    height: 28px;
    border: none;
    text-align: center;
    font-size: 13px;
    font-weight: 700;
    color: #0f172a;
    -moz-appearance: textfield;
}
.cibato-mini-cart-qty__input::-webkit-outer-spin-button,
.cibato-mini-cart-qty__input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.cibato-mini-cart-item__price {
    font-size: 15px;
    font-weight: 800;
    color: #3b0704;
}
.cibato-mini-cart-dropdown__subtotal {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 18px;
    border-top: 1px solid #f1f5f9;
    background: #fafafa;
}
.cibato-mini-cart-dropdown__subtotal-label {
    font-size: 14px;
    font-weight: 600;
    color: #64748b;
}
.cibato-mini-cart-dropdown__subtotal-value {
    font-size: 17px;
    font-weight: 800;
    color: #0f172a;
}
.cibato-mini-cart-dropdown__actions {
    padding: 0 18px 16px;
    background: #fafafa;
}
.cibato-mini-cart-dropdown__view-cart {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    min-height: 44px;
    background: #2b0504 !important;
    border: none !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border-radius: 12px !important;
    text-decoration: none !important;
    transition: background 0.2s ease, transform 0.15s ease !important;
    box-shadow: 0 4px 12px rgba(43, 5, 4, 0.3) !important;
}
.cibato-mini-cart-dropdown__view-cart:hover {
    background: #4a0c0a !important;
    color: #ffffff !important;
    transform: translateY(-1px);
}

/* Lower Row (Navigation Links matching Upper Capsule width) */
.ips-capsule-lower-row {
    margin-top: 14px;
    padding-top: 10px;
    border-top: 1px solid rgba(226, 232, 240, 0.55);
    width: 100%;
    transition: background 0.25s ease, box-shadow 0.25s ease, padding 0.25s ease;
}
.ips-sticky-menu-inner-wrap {
    width: 100%;
}
.ips-menu-inner-flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 12px;
}
@media (max-width: 991.98px) {
    .ips-menu-inner-flex {
        flex-wrap: wrap;
    }
}

/* Sticky Menu State (Matches upper container/capsule width & floating capsule style) */
.ips-capsule-lower-row.ips-menu-sticky-active {
    position: fixed !important;
    top: 8px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 999999 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
}
.ips-capsule-lower-row.ips-menu-sticky-active .ips-sticky-menu-inner-wrap {
    pointer-events: auto !important;
    width: calc(100% - 16px) !important;
    max-width: 1420px !important;
    margin: 0 auto !important;
    padding: 9px 24px !important;
    background: rgba(255, 255, 255, 0.98) !important;
    backdrop-filter: blur(28px) !important;
    -webkit-backdrop-filter: blur(28px) !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.12) !important;
    border: 1px solid rgba(226, 232, 240, 0.9) !important;
    animation: ipsStickySlideDown 0.26s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
@media (max-width: 1399.98px) {
    .ips-capsule-lower-row.ips-menu-sticky-active .ips-sticky-menu-inner-wrap {
        max-width: 1220px !important;
    }
}
@media (max-width: 1199.98px) {
    .ips-capsule-lower-row.ips-menu-sticky-active .ips-sticky-menu-inner-wrap {
        max-width: 1040px !important;
    }
}
.ips-capsule-lower-row.ips-menu-sticky-active .ips-menu-inner-flex,
.ips-capsule-lower-row .ips-menu-inner-flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 8px;
    margin: 0 auto;
    padding: 0;
}
@keyframes ipsStickySlideDown {
    from {
        transform: translateY(-100%);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}
.ips-sticky-menu-placeholder {
    width: 100%;
}
.ips-main-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 8px;
    flex-wrap: nowrap;
    overflow: visible !important;
}

/* Home Pill */
.ips-nav-pill-home {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    background: #ffffff;
    padding: 4px 12px 3px;
    border-radius: 10px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
    border: 1px solid rgba(226, 232, 240, 0.7);
    text-decoration: none !important;
    flex-shrink: 0;
}
.ips-nav-pill-inner {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 0.82rem;
    font-weight: 800;
    color: var(--ips-primary);
}
.ips-nav-pill-inner i {
    font-size: 1.05rem;
    color: var(--ips-primary);
}
.ips-home-indicator {
    width: 18px;
    height: 2.5px;
    border-radius: 2px;
    background: var(--ips-primary);
    margin-top: 1px;
}

/* Nav Link Items */
.ips-nav-link-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #0f172a !important;
    font-size: 0.8125rem;
    font-weight: 700;
    text-decoration: none !important;
    padding: 6px 7px;
    white-space: nowrap;
    transition: all 0.2s ease;
    border-radius: 6px;
    flex-shrink: 0;
    position: relative;
}
.ips-nav-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #0f172a;
    transition: color 0.2s ease, transform 0.2s ease;
}
.ips-nav-icon svg {
    display: block;
    width: 16px;
    height: 16px;
}
.ips-nav-title {
    font-size: 0.8125rem;
    font-weight: 700;
    color: #0f172a;
    transition: color 0.2s ease;
}
.ips-nav-caret {
    font-size: 0.72rem;
    color: #64748b;
    margin-left: 2px;
    transition: transform 0.2s ease, color 0.2s ease;
}
.ips-nav-link-item:hover,
.ips-nav-dropdown-wrap:hover .ips-nav-link-item,
.ips-nav-dropdown-wrap.is-open .ips-nav-link-item {
    color: var(--ips-primary) !important;
}
.ips-nav-link-item:hover .ips-nav-icon,
.ips-nav-dropdown-wrap:hover .ips-nav-icon,
.ips-nav-dropdown-wrap.is-open .ips-nav-icon {
    color: var(--ips-primary);
}
.ips-nav-link-item:hover .ips-nav-title,
.ips-nav-dropdown-wrap:hover .ips-nav-title,
.ips-nav-dropdown-wrap.is-open .ips-nav-title {
    color: var(--ips-primary);
}
.ips-nav-dropdown-wrap:hover .ips-nav-caret,
.ips-nav-dropdown-wrap.is-open .ips-nav-caret {
    transform: rotate(180deg);
    color: var(--ips-primary);
}

/* Dropdown Wrap */
.ips-nav-dropdown-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
}
.ips-nav-glass-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 4px;
    background: #ffffff;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    box-shadow: 0 16px 36px -4px rgba(15, 23, 42, 0.16);
    padding: 8px 0;
    min-width: 250px;
    z-index: 999999 !important;
    display: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
    transform: translateY(6px);
}
/* Invisible hover bridge to prevent mouse cursor flicker when moving between link and dropdown */
.ips-nav-glass-dropdown::before {
    content: '';
    position: absolute;
    top: -12px;
    left: 0;
    right: 0;
    height: 14px;
    background: transparent;
}
.ips-nav-dropdown-wrap:hover .ips-nav-glass-dropdown,
.ips-nav-dropdown-wrap.is-open .ips-nav-glass-dropdown {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
}
.ips-nav-glass-dropdown a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 18px;
    color: #1e293b !important;
    font-size: 0.84rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: all 0.15s ease;
}
.ips-nav-glass-dropdown a:hover {
    background: rgba(15, 76, 92, 0.08);
    color: var(--ips-primary) !important;
    padding-left: 22px;
}
.ips-nav-glass-dropdown a i,
.ips-nav-glass-dropdown a .ips-subnav-bullet {
    font-size: 1.1rem;
    width: 14px;
    text-align: center;
    color: var(--ips-primary);
}


/* Right WhatsApp Us CTA Button */
.ips-capsule-cta-wrap {
    flex-shrink: 0;
}
.ips-whatsapp-pill-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #ffffff;
    border: 1.5px solid var(--ips-primary);
    border-radius: 999px;
    padding: 8px 22px;
    color: var(--ips-primary) !important;
    font-size: 0.88rem;
    font-weight: 800;
    text-decoration: none !important;
    transition: all 0.22s ease;
    box-shadow: 0 4px 12px color-mix(in srgb, var(--ips-primary) 15%, transparent);
    white-space: nowrap;
}
.ips-whatsapp-pill-btn:hover {
    background: var(--ips-primary);
    color: #ffffff !important;
    box-shadow: 0 6px 18px color-mix(in srgb, var(--ips-primary) 40%, transparent);
    transform: translateY(-1px);
}
.ips-whatsapp-pill-btn i {
    font-size: 1.3rem;
    color: var(--ips-primary);
    transition: color 0.2s ease;
}
.ips-whatsapp-pill-btn:hover i {
    color: #ffffff;
}

/* ==================== 0. TOP HERO SLIDER SECTION (SCREENSHOT 5 MATCH) ==================== */
.ips-home-slider-section {
    padding: 20px 0 28px;
}
.ips-slider-shell {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.07);
    border: 1px solid rgba(226, 232, 240, 0.85);
    background: transparent;
}
.ips-slider-shell .cc-hero-slider-section {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}
.ips-slider-shell .cc-hero-slider-section .container {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
.ips-slider-shell .cc-hero-slider-wrap {
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
}
.ips-slider-shell .cc-hero-slide__img {
    border-radius: 0 !important;
}

/* ==================== 4. HERO SLIDER & VALUE PROPOSITION ==================== */
.ips-hero-container {
    padding: 16px 0 36px;
    background: linear-gradient(180deg, #ffffff 0%, var(--ips-bg-canvas) 100%);
}
.ips-hero-banner-card {
    background: #ffffff;
    border: 1px solid var(--ips-border);
    border-radius: var(--ips-radius-xl);
    overflow: hidden;
    box-shadow: var(--ips-shadow-md);
    position: relative;
}
.ips-hero-content-col {
    padding: 50px 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
@media (max-width: 991.98px) {
    .ips-hero-content-col { padding: 36px 24px; }
}
.ips-hero-super-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--ips-primary-light);
    border: 1px solid color-mix(in srgb, var(--ips-primary) 25%, transparent);
    color: var(--ips-primary-dark);
    font-size: 0.84rem;
    font-weight: 800;
    padding: 6px 14px;
    border-radius: var(--ips-radius-pill);
    width: fit-content;
    margin-bottom: 18px;
}
.ips-hero-main-title {
    font-size: 2.85rem;
    font-weight: 900;
    line-height: 1.18;
    color: var(--ips-text-heading);
    letter-spacing: -0.03em;
    margin-bottom: 18px;
}
.ips-hero-main-title .highlight-green {
    color: var(--ips-primary);
}
.ips-hero-desc {
    font-size: 1.1rem;
    color: var(--ips-text-body);
    line-height: 1.65;
    margin-bottom: 28px;
    max-width: 580px;
}
.ips-hero-feature-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 32px;
}
.ips-feature-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--ips-bg-canvas);
    border: 1px solid var(--ips-border);
    border-radius: var(--ips-radius-pill);
    padding: 6px 14px;
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--ips-text-heading);
}
.ips-feature-pill i {
    color: var(--ips-primary);
    font-size: 1rem;
}
.ips-hero-btn-row {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: center;
}
.ips-btn-primary {
    background: var(--ips-primary);
    color: #ffffff !important;
    font-weight: 800;
    font-size: 0.95rem;
    padding: 13px 28px;
    border-radius: var(--ips-radius-md);
    border: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none !important;
    transition: var(--ips-transition);
    box-shadow: 0 4px 14px var(--ips-primary-glow);
}
.ips-btn-primary:hover {
    background: var(--ips-primary-hover);
    transform: translateY(-2px);
    box-shadow: 0 8px 20px var(--ips-primary-glow);
}
.ips-btn-secondary {
    background: #ffffff;
    border: 1.5px solid var(--ips-border);
    color: var(--ips-text-heading) !important;
    font-weight: 700;
    font-size: 0.95rem;
    padding: 13px 24px;
    border-radius: var(--ips-radius-md);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none !important;
    transition: var(--ips-transition);
}
.ips-btn-secondary:hover {
    border-color: var(--ips-primary);
    color: var(--ips-primary) !important;
    background: var(--ips-primary-subtle);
    transform: translateY(-2px);
}

.ips-hero-img-col {
    position: relative;
    background: #f8fafc;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ips-hero-img-col img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease;
}
.ips-hero-banner-card:hover .ips-hero-img-col img {
    transform: scale(1.02);
}

/* Floating Live Badges on Hero */
.ips-hero-float-badge {
    position: absolute;
    bottom: 24px;
    left: 24px;
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(12px);
    border: 1px solid var(--ips-border);
    border-radius: var(--ips-radius-lg);
    padding: 12px 18px;
    box-shadow: var(--ips-shadow-lg);
    display: flex;
    align-items: center;
    gap: 12px;
}
.ips-float-icon-box {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--ips-primary-light);
    color: var(--ips-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.35rem;
}

/* ==================== 5. 14 SOLUTIONS / CATEGORY GRID (SCREENSHOT MATCH) ==================== */
.ips-category-grid-section {
    padding: 30px 0 50px;
}
.ips-section-heading-wrap {
    margin-bottom: 28px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 14px;
}
.ips-main-section-title {
    font-size: 1.95rem;
    font-weight: 800;
    color: var(--ips-text-heading);
    letter-spacing: -0.02em;
    margin: 0 0 6px;
    line-height: 1.25;
}
.ips-main-section-sub {
    font-size: 0.95rem;
    color: var(--ips-text-muted);
    margin: 0;
}

/* ==================== FANCY EDITORIAL HIGHLIGHTED TEXT ==================== */
.ips-title-highlight {
    font-family: inherit !important;
    font-style: normal !important;
    font-weight: 800 !important;
    background: linear-gradient(135deg, var(--primary, #0F4C5C) 0%, var(--secondary, #1D4ED8) 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    display: inline-block;
    letter-spacing: -0.01em;
    padding-left: 4px;
    padding-right: 2px;
    line-height: inherit;
    vertical-align: baseline;
    transition: all 0.25s ease;
}

/* ==================== EXACT SCREENSHOT 2 MASTER DESIGN: SOLID PRIMARY PILL WITH WHITE TEXT & ANIMATED BADGE ==================== */
.ips-btn-view-all {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 16px 0 22px;
    height: 42px;
    min-height: 42px;
    font-size: 13.5px;
    font-weight: 700;
    color: #ffffff !important;
    background: var(--primary, #0F4C5C) !important;
    border: 1.5px solid var(--primary, #0F4C5C) !important;
    border-radius: 9999px !important;
    text-decoration: none !important;
    position: relative;
    overflow: visible;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 4px 14px rgba(15, 76, 92, 0.22) !important;
    cursor: pointer;
}

.ips-btn-view-all::before {
    display: none !important;
}

.ips-btn-view-all span,
.ips-btn-view-all .ips-btn-text {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-weight: 700;
    font-size: 13.5px;
    letter-spacing: 0.2px;
    margin: 0;
    position: relative;
    z-index: 2;
    display: inline-block;
    transition: color 0.25s ease;
    line-height: 1;
}

/* Right Sleek Animated Forward Arrow Icon Badge */
.ips-action-icon-wrap,
.ips-btn-view-all .ips-btn-icon-bubble,
.cctv-load-more-icon-wrap {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 26px !important;
    height: 26px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    color: var(--primary, #0F4C5C) !important;
    line-height: 1 !important;
    margin-left: 6px !important;
    transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.2s ease !important;
    flex-shrink: 0 !important;
    border: none !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12) !important;
}
.ips-action-icon-wrap::before,
.ips-btn-view-all .ips-btn-icon-bubble::before {
    display: none !important;
    content: none !important;
}
.ips-action-icon-wrap svg,
.ips-btn-view-all .ips-btn-icon-bubble svg,
.cctv-load-more-svg {
    display: block !important;
    width: 14px !important;
    height: 14px !important;
    transition: stroke 0.25s ease, transform 0.25s ease !important;
}
.ips-action-icon-wrap svg *,
.ips-btn-view-all .ips-btn-icon-bubble svg * {
    stroke: var(--primary, #0F4C5C) !important;
}
.ips-action-ring,
.cctv-load-ring {
    display: none !important; /* Hide dashed spinning ring completely */
}
.ips-action-arrow,
.cctv-load-plus {
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.ips-btn-view-all:hover {
    background: var(--secondary, #1D4ED8) !important;
    border-color: var(--secondary, #1D4ED8) !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 24px rgba(29, 78, 216, 0.32) !important;
}

.ips-btn-view-all:hover span,
.ips-btn-view-all:hover .ips-btn-text {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

.ips-btn-view-all:hover .ips-action-icon-wrap,
.ips-btn-view-all:hover .ips-btn-icon-bubble {
    color: var(--secondary, #1D4ED8) !important;
    transform: translateX(3px) !important;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.16) !important;
}
.ips-btn-view-all:hover .ips-action-icon-wrap svg *,
.ips-btn-view-all:hover .ips-btn-icon-bubble svg * {
    stroke: var(--secondary, #1D4ED8) !important;
}
    stroke: var(--secondary, #1D4ED8) !important;
}

/* Hover Animation on Both View All and Load More Buttons */
.ips-btn-view-all:hover .ips-action-icon-wrap,
.ips-btn-view-all:hover .ips-btn-icon-bubble,
.newest-load-more-btn:hover .cctv-load-more-icon-wrap,
.newest-load-more-btn:hover .ips-action-icon-wrap {
    transform: scale(1.15) !important;
}
.ips-btn-view-all:hover .ips-action-ring,
.ips-btn-view-all:hover .cctv-load-ring,
.newest-load-more-btn:hover .ips-action-ring,
.newest-load-more-btn:hover .cctv-load-ring {
    animation: ipsSpinRing 3s linear infinite !important;
}
.ips-btn-view-all:hover .ips-action-arrow,
.newest-load-more-btn:hover .ips-action-arrow {
    transform: translate(1px, -1px);
}
@keyframes ipsSpinRing {
    from { transform: rotate(0deg); transform-origin: 12px 12px; }
    to { transform: rotate(360deg); transform-origin: 12px 12px; }
}
.ips-btn-view-all:active {
    transform: translateY(0) scale(0.96) !important;
    box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.4), 0 4px 12px rgba(15, 76, 92, 0.3) !important;
}

/* ==================== 18 CATEGORIES IN 2 ROWS (9 PER ROW) ==================== */
.ips-solutions-grid,
.ips-14-categories-grid {
    display: grid;
    grid-template-columns: repeat(9, 1fr);
    gap: 12px;
}
@media (max-width: 1400px) {
    .ips-solutions-grid,
    .ips-14-categories-grid { grid-template-columns: repeat(6, 1fr); }
}
@media (max-width: 991.98px) {
    .ips-solutions-grid,
    .ips-14-categories-grid { grid-template-columns: repeat(4, 1fr); gap: 10px; }
}
@media (max-width: 575.98px) {
    .ips-solutions-grid,
    .ips-14-categories-grid { grid-template-columns: repeat(3, 1fr); gap: 8px; }
}

.ips-cat-card {
    background: #ffffff;
    border: 1.5px solid #edf2f7;
    border-radius: 16px;
    padding: 16px 8px 14px;
    text-align: center;
    text-decoration: none !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.03);
    transition: all 0.22s ease;
    position: relative;
    overflow: hidden;
    height: 100%;
}
.ips-cat-card:hover {
    border-color: #cbd5e1;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
    transform: translateY(-3px);
    background: #ffffff;
}
.ips-cat-icon-wrap {
    width: 74px;
    height: 74px;
    border-radius: 16px;
    background: #f4f8fc;
    border: 1px solid #e2e8f0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
    color: #0f172a;
    transition: all 0.22s ease;
    padding: 6px;
}
.ips-cat-icon-wrap img,
.ips-cat-icon-wrap svg {
    display: block;
    width: 50px !important;
    height: 50px !important;
    max-width: 50px !important;
    max-height: 50px !important;
    object-fit: contain;
    transition: transform 0.22s ease;
}
@media (max-width: 768px) {
    .ips-cat-icon-wrap {
        width: 62px;
        height: 62px;
        border-radius: 14px;
        padding: 5px;
        margin-bottom: 8px;
    }
    .ips-cat-icon-wrap img,
    .ips-cat-icon-wrap svg {
        width: 42px !important;
        height: 42px !important;
        max-width: 42px !important;
        max-height: 42px !important;
    }
}
.ips-cat-card:hover .ips-cat-icon-wrap {
    background: #e0f2fe;
    border-color: #bae6fd;
    transform: scale(1.06);
}
.ips-cat-card:hover .ips-cat-icon-wrap img,
.ips-cat-card:hover .ips-cat-icon-wrap svg {
    transform: scale(1.06);
}
.ips-cat-name {
    font-size: 0.82rem;
    font-weight: 750;
    color: #0b1a30;
    margin: 0;
    line-height: 1.3;
    text-align: center;
    transition: color 0.2s ease;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.ips-cat-card:hover .ips-cat-name {
    color: var(--ips-primary);
}

/* ==================== 6. INTERACTIVE SOLAR LOAD CALCULATOR ==================== */
.ips-calculator-section {
    padding: 40px 0;
}
.ips-calc-card {
    background: #ffffff !important;
    border: 1.5px solid color-mix(in srgb, var(--ips-primary) 30%, transparent);
    border-radius: var(--ips-radius-xl);
    padding: 36px 40px;
    box-shadow: var(--ips-shadow-md);
    position: relative;
}
.ips-calc-title {
    font-size: 1.75rem;
    font-weight: 800;
    color: var(--ips-text-heading);
    margin-bottom: 8px;
}
.ips-calc-sub {
    font-size: 0.95rem;
    color: var(--ips-text-muted);
    margin-bottom: 28px;
}
.ips-calc-inputs-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 24px;
}
@media (max-width: 991.98px) {
    .ips-calc-inputs-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575.98px) {
    .ips-calc-inputs-grid { grid-template-columns: 1fr; }
}

.ips-calc-input-box {
    background: #ffffff;
    border: 1px solid var(--ips-border);
    border-radius: var(--ips-radius-md);
    padding: 16px;
    box-shadow: var(--ips-shadow-xs);
}
.ips-calc-label {
    font-size: 0.82rem;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--ips-text-muted);
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 10px;
}
.ips-calc-counter {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.ips-calc-btn-step {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    border: 1px solid var(--ips-border);
    background: var(--ips-bg-canvas);
    color: var(--ips-text-heading);
    font-size: 1.1rem;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: var(--ips-transition);
}
.ips-calc-btn-step:hover {
    background: var(--ips-primary);
    color: #ffffff;
    border-color: var(--ips-primary);
}
.ips-calc-num-val {
    font-size: 1.35rem;
    font-weight: 900;
    color: var(--ips-text-heading);
}

.ips-calc-result-panel {
    background: #ffffff;
    border: 1px solid var(--ips-border);
    border-radius: var(--ips-radius-lg);
    padding: 22px 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
}
.ips-calc-stat-group {
    display: flex;
    align-items: center;
    gap: 36px;
    flex-wrap: wrap;
}
.ips-calc-stat-item {
    display: flex;
    flex-direction: column;
}
.ips-calc-stat-label {
    font-size: 0.78rem;
    font-weight: 800;
    color: var(--ips-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.ips-calc-stat-val {
    font-size: 1.45rem;
    font-weight: 900;
    color: var(--ips-primary);
}

/* ==================== 7. REDESIGNED IPS PRODUCT CARD ARCHITECTURE ==================== */
.ips-product-grid-section {
    padding: 40px 0 60px;
}
.ips-product-card-deck {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
@media (max-width: 1200px) {
    .ips-product-card-deck { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
    .ips-product-card-deck { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}
@media (max-width: 480px) {
    .ips-product-card-deck { grid-template-columns: 1fr; }
}

.ips-product-card {
    background: #ffffff;
    border: 1px solid #edf2f7;
    border-radius: 18px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    padding: 10px;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04);
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.22s ease;
    position: relative;
    height: 100%;
    width: 100%;
}
.ips-product-card:hover {
    border-color: rgba(29, 78, 216, 0.22) !important;
    box-shadow: 0 16px 36px -8px rgba(15, 76, 92, 0.14), 0 4px 14px rgba(0, 0, 0, 0.04) !important;
    transform: translateY(-4px) !important;
}

/* ==================== EXACT SPECIFIED PURE HTML/CSS VC-MEDIA IMAGE HOVER ==================== */
.vc-media {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1/1;
    border-radius: 16px;
    background: #f8fafc;
}
.vc-media-overlay-link {
    position: absolute;
    inset: 0;
    z-index: 2;
}
.vc-layer {
    position: absolute;
    inset: 0;
}
.vc-layer img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* 1st image: slow zoom */
.vc-base img {
    transition: transform 1.2s cubic-bezier(.22,.9,.25,1);
}

/* 2nd image: starts blurred, enlarged, invisible */
.vc-hover {
    opacity: 0;
    filter: blur(16px);
    transform: scale(1.15);
    transition:
        opacity .8s ease,
        filter .8s ease,
        transform .9s cubic-bezier(.22,.9,.25,1);
}

/* hover only on devices with a real mouse */
@media (hover:hover) {
    .vc-media:hover .vc-hover {
        opacity: 1;
        filter: blur(0);
        transform: none;
    }
    .vc-media:hover .vc-base img {
        transform: scale(1.06);
    }
}

@media (prefers-reduced-motion:reduce) {
    .vc-hover, .vc-base img {
        transition-duration: .01s;
    }
}

/* Floating Quick View Capsule Button over VC-Media (Appears smoothly on hover) */
.vc-quick-view-btn {
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%) translateY(14px);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 16px;
    border-radius: 999px;
    background: rgba(15, 76, 92, 0.92);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.35);
    color: #ffffff !important;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.3px;
    box-shadow: 0 4px 16px rgba(15, 76, 92, 0.3);
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    z-index: 6;
    transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}
.vc-quick-view-btn i {
    font-size: 15px;
    color: #ffffff !important;
}
.vc-quick-view-btn span {
    color: #ffffff !important;
}
@media (hover:hover) {
    .vc-media:hover .vc-quick-view-btn {
        opacity: 1;
        transform: translateX(-50%) translateY(0);
        pointer-events: auto;
    }
}
.vc-quick-view-btn:hover {
    background: var(--secondary, #1D4ED8) !important;
    border-color: rgba(255, 255, 255, 0.6) !important;
    box-shadow: 0 6px 20px rgba(29, 78, 216, 0.45) !important;
    transform: translateX(-50%) translateY(-2px) scale(1.04) !important;
}

/* Modern Frosted Badges */
.ips-prod-tag-bar {
    position: absolute;
    top: 10px;
    left: 10px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    z-index: 5;
    pointer-events: none;
}
.ips-badge-item {
    font-size: 10.5px;
    font-weight: 800;
    padding: 3.5px 8px;
    border-radius: 6px;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    display: inline-block;
    text-align: center;
    line-height: 1.15;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.ips-badge-discount {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
    color: #ffffff !important;
}
.ips-badge-sale {
    background: rgba(15, 76, 92, 0.95) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.3);
}
.ips-badge-new {
    background: linear-gradient(135deg, #1D4ED8 0%, #1e40af 100%) !important;
    color: #ffffff !important;
}

/* Rating Badge */
.ips-prod-rating-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2.5px 7px;
    border-radius: 999px;
    background: #fffbeb;
    border: 1px solid #fef3c7;
    font-size: 11px;
    line-height: 1;
}
.ips-prod-rating-badge .ips-rating-star {
    font-size: 13px;
    color: #f59e0b !important;
}
.ips-prod-rating-badge .ips-rating-star-gray {
    font-size: 13px;
    color: #cbd5e1 !important;
}
.ips-prod-rating-badge .ips-rating-val {
    font-size: 11px;
    font-weight: 800;
    color: #92400e;
}

/* Content Area */
.ips-prod-content {
    padding: 10px 4px 0 4px !important;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}
.ips-prod-brand {
    font-size: 10px;
    font-weight: 700;
    text-transform: capitalize;
    letter-spacing: 0.02em;
    color: var(--primary, #0F4C5C);
    margin-bottom: 6px !important;
    line-height: 1.25;
}
.ips-prod-title {
    font-size: 14.5px;
    font-weight: 700;
    line-height: 1.3;
    color: #0f172a;
    margin-top: 5px !important;
    margin-bottom: 9px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    display: block !important;
    min-height: 0 !important;
    max-width: 100% !important;
}
.ips-prod-title a {
    color: inherit !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: block !important;
    line-height: 1.3 !important;
    max-width: 100% !important;
    transition: color 0.18s ease;
}
.ips-product-card:hover .ips-prod-title a {
    color: var(--secondary, #1D4ED8) !important;
}

.ips-prod-price-box {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
    padding-top: 0 !important;
    border-top: none !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.ips-prod-price {
    font-size: 1.25rem;
    font-weight: 900;
    color: var(--primary, #0F4C5C);
    display: inline-flex;
    align-items: baseline;
    line-height: 1;
}
.ips-prod-price .currency {
    color: var(--primary, #0F4C5C);
    font-size: 1.05rem;
    font-weight: 800;
    margin-left: 2px;
}
.ips-prod-price-old {
    font-size: 0.82rem;
    color: #94a3b8;
    text-decoration: line-through;
    margin-left: 6px;
    font-weight: 500;
}
.ips-btn-card-out-of-stock {
    background: #f1f5f9 !important;
    border: 1px solid #cbd5e1 !important;
    color: #64748b !important;
    cursor: not-allowed !important;
    box-shadow: none !important;
    transform: none !important;
}
.ips-prod-price-old .currency {
    color: inherit;
    font-size: 0.9em;
    margin-left: 1px;
}

.ips-prod-btn-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.ips-btn-card-buy,
a.ips-btn-card-buy,
button.ips-btn-card-buy {
    flex: 1;
    height: 38px;
    background: var(--primary, #0F4C5C) !important;
    border: none !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: 0.85rem;
    font-weight: 700;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    text-decoration: none !important;
    transition: all 0.25s ease;
    box-shadow: 0 4px 12px rgba(15, 76, 92, 0.25);
    cursor: pointer;
    padding: 0 12px;
    opacity: 1 !important;
    visibility: visible !important;
}
.ips-btn-card-buy:hover,
a.ips-btn-card-buy:hover,
button.ips-btn-card-buy:hover,
.ips-btn-card-buy:focus,
a.ips-btn-card-buy:focus,
button.ips-btn-card-buy:focus,
.ips-btn-card-buy:active,
a.ips-btn-card-buy:active,
button.ips-btn-card-buy:active {
    background: #0b3742 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(15, 76, 92, 0.4) !important;
    text-decoration: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}
.ips-btn-card-buy *,
.ips-btn-card-buy i,
.ips-btn-card-buy span,
.ips-btn-card-buy .ips-btn-text,
.ips-btn-card-buy:hover *,
.ips-btn-card-buy:hover i,
.ips-btn-card-buy:hover span,
.ips-btn-card-buy:hover .ips-btn-text,
a.ips-btn-card-buy:hover *,
a.ips-btn-card-buy:hover i,
a.ips-btn-card-buy:hover span,
a.ips-btn-card-buy:hover .ips-btn-text,
button.ips-btn-card-buy:hover *,
button.ips-btn-card-buy:hover i,
button.ips-btn-card-buy:hover span,
button.ips-btn-card-buy:hover .ips-btn-text {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: inline-block !important;
}

.ips-btn-card-cart-icon,
a.ips-btn-card-cart-icon,
button.ips-btn-card-cart-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: #f8fafc !important;
    border: 1.5px solid #e2e8f0 !important;
    color: var(--primary, #0F4C5C) !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    text-decoration: none !important;
    transition: all 0.25s ease;
    flex-shrink: 0;
    cursor: pointer;
    padding: 0;
}
.ips-btn-card-cart-icon i,
a.ips-btn-card-cart-icon i,
button.ips-btn-card-cart-icon i {
    color: var(--primary, #0F4C5C) !important;
    transition: color 0.2s ease;
}
.ips-btn-card-cart-icon:hover,
a.ips-btn-card-cart-icon:hover,
button.ips-btn-card-cart-icon:hover {
    background: var(--secondary, #1D4ED8) !important;
    border-color: var(--secondary, #1D4ED8) !important;
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(29, 78, 216, 0.3) !important;
}
.ips-btn-card-cart-icon:hover i,
a.ips-btn-card-cart-icon:hover i,
button.ips-btn-card-cart-icon:hover i {
    color: #ffffff !important;
}
.ips-btn-card-cart-icon:hover,
a.ips-btn-card-cart-icon:hover,
button.ips-btn-card-cart-icon:hover {
    background: var(--primary, #0F4C5C) !important;
    border-color: var(--primary, #0F4C5C) !important;
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(15, 76, 92, 0.3) !important;
}
.ips-btn-card-cart-icon:hover i,
a.ips-btn-card-cart-icon:hover i,
button.ips-btn-card-cart-icon:hover i {
    color: #ffffff !important;
}

/* ==================== 8. COMBO PACKAGES (ONLY FOR YOU) ==================== */
.ips-combo-section {
    padding: 50px 0;
    background: #ffffff;
    border-top: none !important;
    border-bottom: none !important;
}
.ips-combo-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}
@media (max-width: 991.98px) {
    .ips-combo-row { grid-template-columns: 1fr; }
}

.ips-combo-card {
    background: var(--ips-bg-canvas);
    border: 1px solid var(--ips-border);
    border-radius: var(--ips-radius-xl);
    padding: 24px;
    display: flex;
    gap: 20px;
    transition: var(--ips-transition);
}
@media (max-width: 575.98px) {
    .ips-combo-card { flex-direction: column; }
}
.ips-combo-card:hover {
    border-color: var(--ips-primary);
    box-shadow: var(--ips-shadow-hover);
    transform: none !important;
    background: #ffffff;
}
.ips-combo-img-wrap {
    width: 190px;
    height: 180px;
    border-radius: var(--ips-radius-md);
    overflow: hidden;
    background: #e2e8f0;
    flex-shrink: 0;
}
.ips-combo-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ips-combo-body {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}
.ips-combo-title {
    font-size: 1.18rem;
    font-weight: 800;
    color: var(--ips-text-heading);
    margin-bottom: 8px;
}
.ips-combo-list {
    list-style: none;
    padding: 0;
    margin: 0 0 16px;
}
.ips-combo-list li {
    font-size: 0.82rem;
    color: var(--ips-text-body);
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 4px;
}
.ips-combo-list li i {
    color: var(--ips-primary);
}

/* ==================== 9. WHY CHOOSE IPS BAZAR (6 PILLARS) ==================== */
.ips-trust-section {
    padding: 60px 0;
}
.ips-trust-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
@media (max-width: 991.98px) {
    .ips-trust-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575.98px) {
    .ips-trust-grid { grid-template-columns: 1fr; }
}

.ips-trust-box {
    background: #ffffff;
    border: 1px solid var(--ips-border);
    border-radius: var(--ips-radius-lg);
    padding: 28px 22px;
    box-shadow: var(--ips-shadow-xs);
    transition: var(--ips-transition);
}
.ips-trust-box:hover {
    border-color: var(--ips-primary);
    box-shadow: var(--ips-shadow-hover);
    transform: translateY(-4px);
}
.ips-trust-icon-wrap {
    width: 54px;
    height: 54px;
    border-radius: var(--ips-radius-md);
    background: var(--ips-primary-light);
    color: var(--ips-primary);
    font-size: 1.85rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    transition: var(--ips-transition);
}
.ips-trust-box:hover .ips-trust-icon-wrap {
    background: var(--ips-primary);
    color: #ffffff;
}
.ips-trust-title {
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--ips-text-heading);
    margin-bottom: 8px;
}
.ips-trust-desc {
    font-size: 0.88rem;
    color: var(--ips-text-muted);
    line-height: 1.6;
    margin: 0;
}

/* ==================== 10. REAL PROJECTS SHOWCASE ==================== */
.ips-projects-section {
    padding: 50px 0 70px;
    background: #ffffff;
    border-top: none !important;
    border-bottom: none !important;
}
.ips-metrics-banner {
    background: var(--ips-bg-canvas);
    border: 1px solid var(--ips-border);
    border-radius: var(--ips-radius-xl);
    padding: 28px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 36px;
}
@media (max-width: 768px) {
    .ips-metrics-banner { grid-template-columns: repeat(2, 1fr); }
}
.ips-metric-tile {
    text-align: center;
}
.ips-metric-num {
    font-size: 2.35rem;
    font-weight: 900;
    color: var(--ips-primary);
    line-height: 1.1;
    margin-bottom: 4px;
}
.ips-metric-label {
    font-size: 0.82rem;
    font-weight: 800;
    color: var(--ips-text-muted);
    text-transform: uppercase;
}

.ips-projects-gallery-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}
@media (max-width: 991.98px) {
    .ips-projects-gallery-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575.98px) {
    .ips-projects-gallery-grid { grid-template-columns: 1fr; }
}

.ips-project-item {
    background: #ffffff;
    border: 1px solid var(--ips-border);
    border-radius: var(--ips-radius-lg);
    overflow: hidden;
    box-shadow: var(--ips-shadow-xs);
    transition: var(--ips-transition);
}
.ips-project-item:hover {
    border-color: var(--ips-primary);
    transform: translateY(-5px);
    box-shadow: var(--ips-shadow-hover);
}
.ips-project-thumb {
    height: 190px;
    width: 100%;
    object-fit: cover;
    display: block;
}
.ips-project-caption {
    padding: 16px;
    position: relative;
}
.ips-project-badge-kw {
    position: absolute;
    top: -14px;
    right: 14px;
    background: var(--ips-primary);
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 800;
    padding: 3px 10px;
    border-radius: var(--ips-radius-pill);
    box-shadow: 0 2px 6px var(--ips-primary-glow);
}
.ips-proj-title {
    font-size: 1rem;
    font-weight: 800;
    color: var(--ips-text-heading);
    margin-bottom: 4px;
}
.ips-proj-loc {
    font-size: 0.8rem;
    color: var(--ips-text-muted);
    display: flex;
    align-items: center;
    gap: 4px;
}

/* ==================== 11. AUTHORIZED BRANDS ==================== */
.ips-brands-row {
    padding: 40px 0;
    border-top: none !important;
    border-bottom: none !important;
    background: var(--ips-bg-canvas);
}
.ips-brands-pill-deck {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
}
.ips-brand-pill {
    background: #ffffff;
    border: 1px solid var(--ips-border);
    border-radius: var(--ips-radius-md);
    padding: 10px 22px;
    font-weight: 800;
    font-size: 1.05rem;
    letter-spacing: 0.06em;
    color: var(--ips-text-heading);
    transition: var(--ips-transition);
    box-shadow: var(--ips-shadow-xs);
}
.ips-brand-pill:hover {
    border-color: var(--ips-primary);
    color: var(--ips-primary);
    transform: translateY(-2px);
}

/* ==================== 12. MASTER FRAGBUZZ SCREENSHOT-MATCHED DUSK FOOTER ==================== */
.ips-footer-outer-container {
    padding-left: 12px;
    padding-right: 12px;
}
.ips-screenshot-footer-wrap {
    position: relative;
    max-width: 100%;
    width: 100%;
    margin: 36px 0 24px;
    border-radius: 26px;
    overflow: hidden;
    background: radial-gradient(circle at 10% 90%, rgba(217, 119, 6, 0.12) 0%, transparent 45%),
                radial-gradient(circle at 90% 10%, rgba(30, 58, 138, 0.22) 0%, transparent 50%),
                linear-gradient(135deg, #070d18 0%, #0a1424 50%, #0d1b30 100%);
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.5), inset 0 1px 1px rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 48px 48px 24px;
    color: #cbd5e1;
}

@media (max-width: 991.98px) {
    .ips-screenshot-footer-wrap {
        width: 100%;
        margin: 24px 0 16px;
        padding: 32px 24px 20px;
        border-radius: 20px;
    }
}

.ips-footer-container {
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    position: relative;
    z-index: 2;
    box-sizing: border-box;
}

/* 4-Column Balanced Grid (Fragbuzz Screenshot Match) */
.ips-dusk-footer-grid {
    display: grid;
    grid-template-columns: 1.35fr 1fr 1fr 1.35fr;
    gap: clamp(20px, 3vw, 44px);
    width: 100%;
    align-items: flex-start;
}
@media (max-width: 1199.98px) and (min-width: 768px) {
    .ips-dusk-footer-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 28px;
    }
}
@media (max-width: 767.98px) {
    .ips-dusk-footer-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }
}

/* Column 1: Brand & Socials */
.ips-frag-brand-col {
    display: flex;
    flex-direction: column;
}
.ips-frag-logo-link {
    display: inline-block;
    text-decoration: none !important;
}
.ips-frag-logo-link img {
    height: 48px;
    width: auto;
    object-fit: contain;
    filter: drop-shadow(0 2px 6px rgba(255, 255, 255, 0.25));
}
.ips-frag-brand-desc {
    font-size: 0.88rem;
    color: #cbd5e1;
    line-height: 1.6;
    margin: 14px 0 20px;
    max-width: 320px;
}
.ips-frag-social-row {
    display: flex;
    align-items: center;
    gap: 10px;
}
.ips-frag-social-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #38bdf8 !important;
    text-decoration: none !important;
    transition: all 0.2s ease;
}
.ips-frag-social-btn:hover {
    background: rgba(56, 189, 248, 0.2);
    border-color: #38bdf8;
    color: #ffffff !important;
    transform: translateY(-2px);
}

/* Heading & Red Accent Underline Bar (Fragbuzz Match) */
.ips-frag-heading {
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    color: #ffffff;
    margin: 0;
}
.ips-frag-accent-bar {
    width: 30px;
    height: 3px;
    background: #e11d48;
    margin-top: 6px;
    margin-bottom: 18px;
    border-radius: 2px;
}

/* Columns 2 & 3: Clean Links Lists */
.ips-frag-links-col {
    display: flex;
    flex-direction: column;
}
.ips-frag-links-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.ips-frag-links-list li {
    margin-bottom: 6px;
}
.ips-frag-links-list a {
    color: #cbd5e1 !important;
    text-decoration: none !important;
    font-size: 0.88rem;
    font-weight: 500;
    padding: 4px 0;
    display: inline-block;
    transition: all 0.15s ease;
}
.ips-frag-links-list a:hover {
    color: #ffffff !important;
    transform: translateX(4px);
}

/* Column 4: Contact Us Pill Cards (Fragbuzz Match) */
.ips-frag-contact-col {
    display: flex;
    flex-direction: column;
}
.ips-frag-contact-cards {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.ips-frag-contact-card {
    background: rgba(15, 23, 42, 0.65);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    padding: 10px 16px;
    display: flex;
    align-items: center;
    gap: 14px;
    text-decoration: none !important;
    transition: all 0.2s ease;
}
.ips-frag-contact-card:hover {
    background: rgba(15, 23, 42, 0.85);
    border-color: rgba(56, 189, 248, 0.4);
    transform: translateY(-2px);
}
.ips-frag-contact-icon {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(6, 182, 212, 0.12);
    border: 1px solid rgba(6, 182, 212, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #38bdf8;
    font-size: 1.15rem;
    flex-shrink: 0;
}
.ips-frag-contact-icon.whatsapp-icon {
    background: rgba(34, 197, 94, 0.12);
    border-color: rgba(34, 197, 94, 0.3);
    color: #22c55e;
}
.ips-frag-contact-body {
    flex: 1;
    min-width: 0;
}
.ips-frag-contact-text {
    font-size: 0.9rem;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.35;
    word-break: break-word;
}

/* Bottom Bar */
.ips-dusk-bottom-bar {
    margin-top: 32px;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    font-size: 0.82rem;
}
.ips-dusk-copy {
    color: #94a3b8;
}
.ips-dusk-bottom-right {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 24px;
}
.ips-dusk-legal-links {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #94a3b8;
    font-size: 0.82rem;
}
.ips-dusk-legal-links a {
    color: #94a3b8 !important;
    text-decoration: none !important;
    transition: color 0.2s ease;
}
.ips-dusk-legal-links a:hover {
    color: #ffffff !important;
}
.ips-bottom-sep {
    color: rgba(255, 255, 255, 0.3);
}

/* Payment & Trust Badges (Matching Screenshot) */
.ips-dusk-pay-deck {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}
.ips-pay-badge-img {
    display: inline-flex;
    align-items: center;
}
.pay-visa {
    color: #ffffff;
    font-weight: 900;
    font-style: italic;
    font-size: 1.05rem;
    letter-spacing: 0.08em;
    line-height: 1;
}
.pay-mc {
    display: inline-flex;
    align-items: center;
}
.mc-circle {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    display: inline-block;
}
.mc-red {
    background: #eb001b;
    margin-right: -6px;
}
.mc-yellow {
    background: #f79e1b;
    opacity: 0.95;
}
.pay-bkash {
    color: #e2136e;
    font-weight: 800;
    font-size: 0.95rem;
    letter-spacing: -0.02em;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.pay-nagad {
    color: #f7941d;
    font-weight: 800;
    font-size: 0.95rem;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.pay-ssl {
    color: #ffffff;
    font-weight: 700;
    font-size: 0.82rem;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.pay-ssl i {
    color: #22c55e;
    font-size: 1.05rem;
}

/* Global Back-To-Top Button Overrides */
.global-back-to-top,
#global-back-to-top {
    background-color: var(--ips-primary) !important;
    background: var(--ips-primary) !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: 0 8px 24px color-mix(in srgb, var(--ips-primary) 45%, transparent) !important;
}
.global-back-to-top:hover,
#global-back-to-top:hover {
    background-color: #1D4ED8 !important;
    background: #1D4ED8 !important;
    color: #ffffff !important;
    transform: translateY(-3px) scale(1.05) !important;
    box-shadow: 0 12px 28px color-mix(in srgb, var(--ips-primary) 55%, transparent) !important;
}

/* ==================== GLOBAL PRODUCT CARD HOVER BEHAVIOR ==================== */
/* Disable slide-up (translateY) across legacy product cards */
.ips-combo-card:hover,
.product-card:hover,
.unified-product-card:hover,
.woodmart-product:hover,
.product-slider-wrapper:hover,
.aiz-card-box:hover,
.wd-product:hover {
    transform: none !important;
}

/* ==================== SINGLE PRODUCT GALLERY THUMBNAILS (MATCHING QUICK VIEW EXACTLY) ==================== */
.product-details .thumb-container .thumb-slider .swiper-slide,
.product-details .thumb-slider .swiper-slide {
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    min-height: 64px !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 8px !important;
    border: 2px solid #e2e8f0 !important;
    background: #f8fafc !important;
    padding: 0 !important;
    cursor: pointer !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s ease !important;
    margin-bottom: 8px !important;
    box-sizing: border-box !important;
}

.product-details .thumb-container .thumb-slider .swiper-slide:hover,
.product-details .thumb-slider .swiper-slide:hover {
    border-color: var(--primary, #0F4C5C) !important;
    transform: translateY(-2px) !important;
}

.product-details .thumb-container .thumb-slider .swiper-slide-thumb-active,
.product-details .thumb-slider .swiper-slide-thumb-active,
.product-details .thumb-slider .swiper-slide.active {
    border-color: var(--primary, #0F4C5C) !important;
    box-shadow: 0 0 0 1px var(--primary, #0F4C5C) !important;
    opacity: 1 !important;
}

.product-details .thumb-container .thumb-slider .swiper-slide img,
.product-details .thumb-slider .swiper-slide img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: cover !important;
    border-radius: 6px !important;
    border: none !important;
    display: block !important;
    transform: none !important;
    opacity: 1 !important;
    transition: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.product-details .thumb-slider .swiper-slide:hover img {
    transform: none !important;
    opacity: 1 !important;
}

/* ==================== PRODUCT DETAILS BREADCRUMB (HOME > CAT > PROD) ==================== */
.product-details .cibato-page-breadcrumb .breadcrumb {
    font-size: 0.84rem;
    font-weight: 500;
    line-height: 1.5;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.product-details .cibato-page-breadcrumb .breadcrumb-item a {
    color: #64748b;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s ease;
}
.product-details .cibato-page-breadcrumb .breadcrumb-item a:hover {
    color: var(--ips-primary);
}
.product-details .cibato-page-breadcrumb .breadcrumb-item.active {
    color: #0f172a;
    font-weight: 600;
}
.product-details .cibato-page-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    content: '/';
    color: #cbd5e1;
    padding: 0 8px;
    font-weight: 400;
}

/* ==================== 1. MARQUEE TICKER (SCREENSHOT 5 & 2 MATCH) ==================== */
.ips-home-marquee-section {
    background: transparent;
    padding: 10px 0 6px;
    border: none;
    box-shadow: none;
}
.ips-marquee-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    padding: 8px 16px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
}
.ips-marquee-track {
    display: flex;
    width: max-content;
    animation: ipsMarqueeScroll 75s linear infinite;
    will-change: transform;
}
.ips-home-marquee-section:hover .ips-marquee-track {
    animation-play-state: paused;
}
.ips-marquee-content {
    display: flex;
    align-items: center;
    gap: 36px;
    padding-right: 36px;
}
.ips-marquee-item {
    font-size: 0.95rem;
    font-weight: 700;
    color: #1e293b;
    white-space: nowrap;
    letter-spacing: -0.01em;
}
.ips-marquee-sep {
    color: var(--ips-primary);
    font-size: 1.15rem;
    font-weight: 900;
}
@keyframes ipsMarqueeScroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

/* ==================== 2. PRODUCT CAROUSEL SWIPER (ITEM 7 - DESKTOP & MOBILE) ==================== */
.ips-product-carousel-wrapper {
    position: relative;
    padding: 4px 0 10px;
}
.ips-products-swiper {
    padding: 6px 4px 14px !important;
    overflow: hidden !important;
}
.ips-products-swiper .swiper-slide {
    height: auto !important;
    display: flex;
}
.ips-products-swiper .swiper-slide .ips-product-card {
    width: 100%;
}
.ips-carousel-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px !important;
    height: 40px !important;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(8px) !important;
    border: 1.5px solid #e2e8f0;
    color: #0f172a;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem !important;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.1);
    z-index: 10;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}
.ips-carousel-arrow:hover {
    background: var(--primary, #0F4C5C) !important;
    color: #ffffff !important;
    border-color: var(--primary, #0F4C5C) !important;
    box-shadow: 0 8px 20px rgba(15, 76, 92, 0.25) !important;
    transform: translateY(-50%) scale(1.08);
}
.ips-carousel-prev { left: -16px !important; }
.ips-carousel-next { right: -16px !important; }
@media (max-width: 991.98px) {
    .ips-carousel-arrow {
        display: none !important; /* Touch swipe on mobile */
    }
}

/* ==================== 3. AUTHORIZED & TRUSTED BRANDS SECTION (SCREENSHOT 3 MATCH - ITEM 2) ==================== */
/* ==================== 3. AUTHORIZED & TRUSTED BRANDS SECTION (SCREENSHOT 2 & CATEGORY CARD MATCH) ==================== */
.ips-trusted-brands-section {
    padding: 38px 0 28px;
    background: #ffffff;
    border-top: none !important;
}
.ips-brands-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 22px;
    flex-wrap: wrap;
    gap: 12px;
}
.ips-brands-carousel-wrapper {
    position: relative;
    width: 100%;
}
.ips-brands-swiper {
    width: 100%;
    overflow: hidden;
    padding: 6px 2px 14px;
}
.ips-brand-card {
    background: #ffffff !important;
    border: 1.5px solid #edf2f7 !important;
    border-radius: 20px !important;
    padding: 16px 14px !important;
    text-align: center !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.03) !important;
    transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1) !important;
    position: relative !important;
    overflow: hidden !important;
    height: 100px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}
.ips-brand-card:hover {
    border-color: rgba(29, 78, 216, 0.3) !important;
    box-shadow: 0 10px 24px -4px rgba(29, 78, 216, 0.12), 0 4px 10px rgba(0, 0, 0, 0.02) !important;
    transform: translateY(-4px) !important;
    background: #ffffff !important;
}
.ips-brand-card .ips-brand-logo-img {
    max-height: 50px !important;
    max-width: 115px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
    filter: grayscale(35%) contrast(95%);
    opacity: 0.88;
    transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.ips-brand-card:hover .ips-brand-logo-img {
    filter: grayscale(0%) contrast(100%);
    opacity: 1;
    transform: scale(1.08);
}
.ips-brand-card .ips-brand-wordmark {
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: -0.01em;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap !important;
    display: inline-block;
    transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.ips-brand-card:hover .ips-brand-wordmark {
    transform: scale(1.08);
}
.ips-brands-swiper .swiper-slide {
    height: 120px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* ==================== 4. WHY CHOOSE IPS BAZAR (SCREENSHOT 4 MATCH) ==================== */
.ips-why-section {
    padding: 28px 0 44px;
    background: #ffffff !important;
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
}
.ips-why-layout-row {
    display: grid;
    grid-template-columns: 280px 1fr 340px;
    gap: 22px;
    align-items: stretch;
}
@media (max-width: 1200px) {
    .ips-why-layout-row {
        grid-template-columns: 240px 1fr 300px;
        gap: 16px;
    }
}
@media (max-width: 991.98px) {
    .ips-why-layout-row {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}
/* Left Info Card */
.ips-why-left-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 20px 10px;
}
.ips-why-main-title {
    font-size: 2.15rem;
    font-weight: 900;
    color: #0f172a;
    line-height: 1.18;
    margin-bottom: 14px;
    letter-spacing: -0.03em;
}
.ips-why-main-title span {
    color: var(--ips-primary);
    display: block;
}
.ips-why-sub {
    font-size: 0.95rem;
    color: #64748b;
    line-height: 1.55;
    margin-bottom: 24px;
}

/* Center 6 Features Grid */
.ips-why-features-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}
@media (max-width: 575.98px) {
    .ips-why-features-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
}
.ips-why-feat-box {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 20px 16px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02);
    transition: all 0.22s ease;
    display: flex;
    flex-direction: column;
}
.ips-why-feat-box:hover {
    border-color: #cbd5e1;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
    transform: translateY(-2px);
}
.ips-why-feat-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: rgba(15, 76, 92, 0.08);
    border: 1.5px solid rgba(29, 78, 216, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: var(--ips-primary);
    margin-bottom: 12px;
}
.ips-why-feat-title {
    font-size: 0.95rem;
    font-weight: 800;
    color: #0f172a;
    margin-bottom: 4px;
    line-height: 1.3;
}
.ips-why-feat-desc {
    font-size: 0.8rem;
    color: #64748b;
    margin-bottom: 0;
    line-height: 1.4;
}

/* Right Greener Bangladesh Banner Card */
.ips-why-greener-card {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    min-height: 320px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 24px;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.1);
    background-size: cover;
    background-position: center;
}
.ips-why-greener-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.25) 0%, rgba(14, 42, 22, 0.72) 45%, rgba(10, 32, 16, 0.92) 100%);
    z-index: 1;
}
.ips-why-greener-content {
    position: relative;
    z-index: 2;
    color: #ffffff;
}
.ips-why-greener-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 1.25rem;
    font-weight: 800;
    color: #ffffff;
    margin-bottom: 8px;
    line-height: 1.3;
}
.ips-why-greener-badge i {
    color: #4ade80;
    font-size: 1.4rem;
}
.ips-why-greener-sub {
    font-size: 0.86rem;
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.5;
    margin-bottom: 18px;
}
.ips-why-left-card .ips-btn-why-learn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    min-width: 228px !important;
    padding: 6px 7px 6px 22px !important;
    border-radius: 999px !important;
    box-shadow: 0 4px 14px color-mix(in srgb, var(--ips-primary) 28%, transparent) !important;
}
.ips-why-left-card .ips-btn-why-learn .ips-btn-icon-bubble {
    margin-left: auto !important;
}

.ips-why-greener-card .ips-btn-why-discuss,
.ips-btn-view-all--white {
    background: #ffffff !important;
    color: var(--ips-primary) !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.22) !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 7px 8px 7px 24px !important;
    border-radius: 999px !important;
}
.ips-why-greener-card .ips-btn-why-discuss .ips-btn-icon-bubble,
.ips-btn-view-all--white .ips-btn-icon-bubble {
    margin-left: auto !important;
    background: #eafaf1 !important;
}
.ips-btn-view-all--white span,
.ips-btn-view-all--white .ips-btn-text {
    color: var(--ips-primary) !important;
}
.ips-btn-view-all--white:hover {
    background: rgba(15, 76, 92, 0.08) !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28) !important;
}
.ips-btn-view-all--white:hover span,
.ips-btn-view-all--white:hover .ips-btn-text {
    color: #0F4C5C !important;
}

/* ==================== 5. OUR PROJECTS SHOWCASE (SCREENSHOT 3 & 4 MATCH) ==================== */
.ips-projects-showcase-section {
    padding: 38px 0 48px;
    background: #ffffff !important;
    border-top: none !important;
    border-bottom: none !important;
}
.ips-projects-head-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 28px;
}
.ips-proj-header-left {
    max-width: 480px;
}
.ips-proj-main-title {
    font-size: 1.75rem;
    font-weight: 900;
    color: #0f172a;
    letter-spacing: -0.025em;
    margin-bottom: 6px;
}
.ips-proj-sub {
    font-size: 0.92rem;
    color: #64748b;
    margin-bottom: 0;
    line-height: 1.5;
}
.ips-proj-metrics-deck {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}
.ips-proj-metric-card {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #ffffff;
    border: 1px solid #edf2f7;
    border-radius: 14px;
    padding: 8px 14px 8px 10px;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.02);
    transition: all 0.2s ease;
}
.ips-proj-metric-card:hover {
    border-color: #cbd5e1;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.06);
}
.ips-proj-metric-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: rgba(15, 76, 92, 0.08);
    border: 1.5px solid rgba(29, 78, 216, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.45rem;
    color: var(--ips-primary);
    flex-shrink: 0;
    box-shadow: 0 2px 6px color-mix(in srgb, var(--ips-primary) 8%, transparent);
}
.ips-proj-metric-title {
    font-size: 0.88rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
}
.ips-proj-metric-count {
    font-size: 0.76rem;
    color: var(--ips-primary);
    font-weight: 700;
}
@media (max-width: 767.98px) {
    .ips-proj-metrics-deck {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
        width: 100%;
    }
}

/* Modern Project Cards Deck */
.ips-projects-cards-deck {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}
@media (max-width: 1199.98px) {
    .ips-projects-cards-deck {
        grid-template-columns: repeat(2, 1fr);
    }
}
.ips-project-card {
    background: #ffffff;
    border: 1.5px solid #edf2f7;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    text-decoration: none !important;
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
}
.ips-project-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.1);
    border-color: #cbd5e1;
}
.ips-project-card-img-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 11;
    overflow: hidden;
    background: #f1f5f9;
}
.ips-project-card-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.ips-project-card:hover .ips-project-card-img-wrap img {
    transform: scale(1.08);
}
.ips-proj-tag-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    background: rgba(15, 23, 42, 0.72);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: #ffffff;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 999px;
    letter-spacing: 0.02em;
    z-index: 2;
}
.ips-proj-cap-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    background: var(--ips-primary);
    color: #ffffff;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 999px;
    box-shadow: 0 2px 8px color-mix(in srgb, var(--ips-primary) 35%, transparent);
    z-index: 2;
}
.ips-project-card-body {
    padding: 16px 16px 18px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    background: #ffffff;
}
.ips-project-loc {
    font-size: 0.76rem;
    font-weight: 600;
    color: #64748b;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 6px;
}
.ips-project-loc i {
    color: var(--ips-primary);
    font-size: 0.95rem;
}
.ips-project-name {
    font-size: 0.98rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.35;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.2s ease;
}
.ips-project-card:hover .ips-project-name {
    color: var(--ips-primary);
}


/* ==================== 6. MOBILE SWIPER & DESKTOP GRID SYSTEM ==================== */
@media (max-width: 991.98px) {
    /* Mobile-only horizontal touch carousel */
    .ips-mobile-swiper {
        overflow: hidden !important;
        padding-bottom: 10px !important;
        width: 100% !important;
    }
    .ips-mobile-swiper > .swiper-wrapper {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        width: 100% !important;
        box-sizing: content-box !important;
    }
    .ips-mobile-swiper .swiper-slide {
        height: auto !important;
        flex-shrink: 0 !important;
    }
}

@media (min-width: 992px) {
    /* 1. Explore Our Solutions: 9 columns desktop grid */
    .ips-solutions-wrapper .ips-mobile-swiper {
        overflow: visible !important;
        width: 100% !important;
    }
    .ips-solutions-wrapper .swiper-wrapper,
    .ips-solutions-wrapper .ips-solutions-grid {
        display: grid !important;
        grid-template-columns: repeat(9, 1fr) !important;
        gap: 12px !important;
        width: 100% !important;
        transform: none !important;
        box-sizing: border-box !important;
    }
    .ips-solutions-wrapper .swiper-slide {
        width: auto !important;
        max-width: 100% !important;
        height: 100% !important;
        transform: none !important;
        margin: 0 !important;
    }

    /* 2. Trusted Brands: Swiper Carousel on both desktop and mobile */
    .ips-brands-wrapper .ips-brands-swiper {
        overflow: hidden !important;
        width: 100% !important;
    }
    .ips-brands-wrapper .swiper-wrapper {
        display: flex !important;
        flex-wrap: nowrap !important;
    }
    .ips-brands-wrapper .swiper-slide {
        height: auto !important;
        flex-shrink: 0 !important;
    }

    /* 3. Our Projects Showcase: 4 columns desktop grid */
    .ips-projects-wrapper .ips-mobile-swiper {
        overflow: visible !important;
        width: 100% !important;
    }
    .ips-projects-wrapper .swiper-wrapper,
    .ips-projects-wrapper .ips-projects-cards-deck {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 18px !important;
        width: 100% !important;
        transform: none !important;
    }
    .ips-projects-wrapper .swiper-slide {
        width: auto !important;
        max-width: 100% !important;
        height: 100% !important;
        transform: none !important;
        margin: 0 !important;
    }
}

@media (min-width: 992px) and (max-width: 1399.98px) {
    .ips-solutions-wrapper .swiper-wrapper,
    .ips-solutions-wrapper .ips-solutions-grid {
        grid-template-columns: repeat(6, 1fr) !important;
    }
}

/* ==================== MOBILE DRAWER & SOCIAL LINKS ENHANCEMENT ==================== */
.cibato-top-menu-sidebar {
    z-index: 999999 !important;
}
.cibato-top-menu-sidebar .overlay {
    z-index: 999998 !important;
    background: rgba(15, 23, 42, 0.6) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
}
.cibato-top-menu-sidebar .collapse-sidebar {
    top: 0 !important;
    left: 0 !important;
    height: 100vh !important;
    height: 100dvh !important;
    z-index: 999999 !important;
    background: #ffffff !important;
    display: flex !important;
    flex-direction: column !important;
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.25) !important;
}
.ips-side-header {
    background: #ffffff !important;
    border-bottom: 1px solid #f1f5f9 !important;
}
.ips-side-footer {
    background: #ffffff !important;
    border-top: 1px solid #f1f5f9 !important;
}
.ips-drawer-social-btn {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    text-decoration: none !important;
    transition: all 0.2s ease;
    border: 1px solid #e2e8f0;
}
.ips-drawer-fb {
    color: #1877F2 !important;
    background: rgba(24, 119, 242, 0.08) !important;
}
.ips-drawer-fb:hover {
    background: #1877F2 !important;
    color: #ffffff !important;
    border-color: #1877F2 !important;
    transform: translateY(-2px);
}
.ips-drawer-yt {
    color: #FF0000 !important;
    background: rgba(255, 0, 0, 0.08) !important;
}
.ips-drawer-yt:hover {
    background: #FF0000 !important;
    color: #ffffff !important;
    border-color: #FF0000 !important;
    transform: translateY(-2px);
}
.ips-drawer-wa {
    color: #25D366 !important;
    background: rgba(37, 211, 102, 0.1) !important;
}
.ips-drawer-wa:hover {
    background: #25D366 !important;
    color: #ffffff !important;
    border-color: #25D366 !important;
    transform: translateY(-2px);
}
.ips-drawer-ig {
    color: #E4405F !important;
    background: rgba(228, 64, 95, 0.08) !important;
}
.ips-drawer-ig:hover {
    background: #E4405F !important;
    color: #ffffff !important;
    border-color: #E4405F !important;
    transform: translateY(-2px);
}

/* ==========================================================================
   ULTRA-PREMIUM INTERACTIVE ANIMATIONS SYSTEM (IPS BAZAR STOREFRONT)
   High-performance GPU-accelerated motion, scroll reveals & micro-interactions
   ========================================================================== */

/* 1. KEYFRAME ANIMATIONS */
@keyframes ipsFadeUp {
    0% {
        opacity: 0;
        transform: translateY(26px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes ipsFadeIn {
    0% { opacity: 0; }
    100% { opacity: 1; }
}

@keyframes ipsScalePop {
    0% { transform: scale(0.85); }
    50% { transform: scale(1.18); }
    100% { transform: scale(1); }
}

@keyframes ipsPulseGlow {
    0%, 100% {
        box-shadow: 0 4px 18px color-mix(in srgb, var(--ips-primary) 28%, transparent);
        transform: scale(1);
    }
    50% {
        box-shadow: 0 6px 26px color-mix(in srgb, var(--ips-primary) 48%, transparent), 0 0 0 5px color-mix(in srgb, var(--ips-primary) 12%, transparent);
        transform: scale(1.02);
    }
}

@keyframes ipsResultFlash {
    0% {
        color: var(--ips-primary);
        transform: scale(1.14);
        text-shadow: 0 0 14px color-mix(in srgb, var(--ips-primary) 45%, transparent);
    }
    100% {
        color: var(--ips-primary);
        transform: scale(1);
        text-shadow: none;
    }
}

@keyframes ipsMarqueeDotPulse {
    0%, 100% {
        transform: scale(1);
        opacity: 0.85;
    }
    50% {
        transform: scale(1.45);
        opacity: 1;
        filter: drop-shadow(0 0 5px var(--ips-primary));
    }
}

@keyframes ipsStarTwinkle {
    0%, 100% {
        transform: scale(1) rotate(0deg);
        filter: drop-shadow(0 0 2px rgba(245, 158, 11, 0.4));
    }
    50% {
        transform: scale(1.25) rotate(12deg);
        filter: drop-shadow(0 0 6px rgba(245, 158, 11, 0.85));
    }
}

/* 2. SCROLL REVEAL ENGINE (PREMIUM 60-120FPS GPU ACCELERATED) */
body.ips-anim-ready .ips-anim-reveal {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 0.62s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.62s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}

body.ips-anim-ready .ips-anim-reveal.ips-anim-visible {
    opacity: 1;
    transform: translateY(0);
    will-change: auto;
}

/* Stagger cascade utilities for grids & carousels */
.ips-stagger-1 { transition-delay: 0.04s !important; }
.ips-stagger-2 { transition-delay: 0.08s !important; }
.ips-stagger-3 { transition-delay: 0.12s !important; }
.ips-stagger-4 { transition-delay: 0.16s !important; }
.ips-stagger-5 { transition-delay: 0.20s !important; }
.ips-stagger-6 { transition-delay: 0.24s !important; }
.ips-stagger-7 { transition-delay: 0.28s !important; }
.ips-stagger-8 { transition-delay: 0.32s !important; }
.ips-stagger-9 { transition-delay: 0.36s !important; }

/* Pure Clean White Canvas for All Sections */
.ips-calculator-section,
.ips-category-grid-section,
.ips-projects-showcase-section,
.ips-product-grid-section,
.ips-combo-section,
.ips-trust-section,
.ips-projects-section,
.ips-brands-row {
    position: relative;
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
}

/* 3. MARQUEE VIGNETTE & SEPARATOR PULSE */
.ips-marquee-card {
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 3.5%, #000 96.5%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0%, #000 3.5%, #000 96.5%, transparent 100%);
}
.ips-marquee-sep {
    display: inline-block;
    animation: ipsMarqueeDotPulse 2.8s ease-in-out infinite;
}

/* 4. CATEGORY CARDS INTERACTIVE HOVER */
.ips-cat-card {
    transition: transform 0.34s cubic-bezier(0.16, 1, 0.3, 1),
                border-color 0.34s ease,
                box-shadow 0.34s cubic-bezier(0.16, 1, 0.3, 1),
                background 0.34s ease;
    will-change: transform, box-shadow;
}
.ips-cat-card:hover {
    transform: translateY(-6px) scale(1.02) !important;
    border-color: color-mix(in srgb, var(--ips-primary) 35%, transparent) !important;
    box-shadow: 0 16px 32px -8px color-mix(in srgb, var(--ips-primary) 18%, transparent), 0 4px 12px rgba(15, 23, 42, 0.06) !important;
    background: #ffffff !important;
}
.ips-cat-card .ips-cat-icon-wrap {
    transition: transform 0.36s cubic-bezier(0.34, 1.56, 0.64, 1),
                background 0.3s ease,
                border-color 0.3s ease !important;
}
.ips-cat-card:hover .ips-cat-icon-wrap {
    transform: scale(1.12) rotate(3deg) !important;
    background: rgba(15, 76, 92, 0.08) !important;
    border-color: #bbf7d0 !important;
}
.ips-cat-card:hover .ips-cat-name {
    color: var(--ips-primary) !important;
}

/* 5. BRAND CARDS INTERACTIVE HOVER */
.ips-brand-card {
    transition: transform 0.34s cubic-bezier(0.16, 1, 0.3, 1),
                border-color 0.34s ease,
                box-shadow 0.34s cubic-bezier(0.16, 1, 0.3, 1),
                background 0.34s ease !important;
    will-change: transform, box-shadow;
}
.ips-brand-card:hover {
    transform: translateY(-5px) scale(1.02) !important;
    border-color: color-mix(in srgb, var(--ips-primary) 35%, transparent) !important;
    box-shadow: none !important;
}
.ips-brand-card .ips-cat-icon-wrap {
    transition: transform 0.36s cubic-bezier(0.34, 1.56, 0.64, 1),
                background 0.3s ease,
                border-color 0.3s ease !important;
}
.ips-brand-card:hover .ips-cat-icon-wrap {
    transform: scale(1.10) !important;
    background: rgba(15, 76, 92, 0.08) !important;
    border-color: #bbf7d0 !important;
}
.ips-brand-card:hover .ips-cat-name {
    color: var(--ips-primary) !important;
}

/* 6. PRODUCT CARDS & CAROUSELS */
/* Swiper Pre-initialization Layout Guards (Fix Point 2: Zero FOUC / Giant Image Flash Before JS Init) */
.ips-products-swiper,
.ips-panels-swiper,
.ips-inverters-swiper,
.ips-batteries-swiper,
.ips-related-swiper,
.ips-brands-swiper {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

.ips-products-swiper:not(.swiper-initialized) .swiper-wrapper,
.ips-panels-swiper:not(.swiper-initialized) .swiper-wrapper,
.ips-inverters-swiper:not(.swiper-initialized) .swiper-wrapper,
.ips-batteries-swiper:not(.swiper-initialized) .swiper-wrapper,
.ips-related-swiper:not(.swiper-initialized) .swiper-wrapper {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow: hidden !important;
    gap: 16px !important;
    width: 100% !important;
}

.ips-products-swiper:not(.swiper-initialized) .swiper-slide,
.ips-panels-swiper:not(.swiper-initialized) .swiper-slide,
.ips-inverters-swiper:not(.swiper-initialized) .swiper-slide,
.ips-batteries-swiper:not(.swiper-initialized) .swiper-slide,
.ips-related-swiper:not(.swiper-initialized) .swiper-slide {
    width: calc((100% - 48px) / 4) !important;
    max-width: 25% !important;
    flex: 0 0 calc((100% - 48px) / 4) !important;
    box-sizing: border-box !important;
}

@media (max-width: 1199.98px) {
    .ips-products-swiper:not(.swiper-initialized) .swiper-slide,
    .ips-panels-swiper:not(.swiper-initialized) .swiper-slide,
    .ips-inverters-swiper:not(.swiper-initialized) .swiper-slide,
    .ips-batteries-swiper:not(.swiper-initialized) .swiper-slide,
    .ips-related-swiper:not(.swiper-initialized) .swiper-slide {
        width: calc((100% - 32px) / 3) !important;
        max-width: 33.333% !important;
        flex: 0 0 calc((100% - 32px) / 3) !important;
    }
}

@media (max-width: 767.98px) {
    .ips-products-swiper:not(.swiper-initialized) .swiper-slide,
    .ips-panels-swiper:not(.swiper-initialized) .swiper-slide,
    .ips-inverters-swiper:not(.swiper-initialized) .swiper-slide,
    .ips-batteries-swiper:not(.swiper-initialized) .swiper-slide,
    .ips-related-swiper:not(.swiper-initialized) .swiper-slide {
        width: calc((100% - 14px) / 2) !important;
        max-width: 50% !important;
        flex: 0 0 calc((100% - 14px) / 2) !important;
    }
}

.ips-brands-swiper:not(.swiper-initialized) .swiper-wrapper {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow: hidden !important;
    gap: 14px !important;
    width: 100% !important;
}

.ips-brands-swiper:not(.swiper-initialized) .swiper-slide {
    width: calc((100% - 84px) / 7) !important;
    max-width: 14.28% !important;
    flex: 0 0 calc((100% - 84px) / 7) !important;
    box-sizing: border-box !important;
    height: 120px !important;
}

.ips-products-swiper,
.ips-brands-swiper {
    padding: 10px 4px 18px !important;
    margin: -6px -4px -10px !important;
}

.ips-product-card {
    transition: border-color 0.32s ease,
                box-shadow 0.32s cubic-bezier(0.16, 1, 0.3, 1) !important;
    will-change: box-shadow;
}
.ips-product-card:hover {
    transform: translateY(-4px) !important;
    border-color: rgba(15, 76, 92, 0.28) !important;
    box-shadow: 0 16px 36px -8px rgba(15, 76, 92, 0.14), 0 4px 14px rgba(0, 0, 0, 0.04) !important;
}
.ips-product-card:hover .ips-prod-title a {
    color: var(--ips-primary);
}
.ips-product-card:hover .ips-prod-rating-badge .ips-rating-star {
    display: inline-block;
    animation: ipsStarTwinkle 0.8s ease;
}

/* 7. CAROUSEL ARROWS TACTILE INTERACTION */
.ips-carousel-arrow {
    transition: transform 0.26s cubic-bezier(0.34, 1.56, 0.64, 1),
                background 0.22s ease,
                color 0.22s ease,
                border-color 0.22s ease,
                box-shadow 0.26s ease !important;
}
.ips-carousel-arrow:hover {
    background: var(--ips-primary) !important;
    color: #ffffff !important;
    border-color: var(--ips-primary) !important;
    box-shadow: 0 10px 24px color-mix(in srgb, var(--ips-primary) 42%, transparent) !important;
    transform: translateY(-50%) scale(1.14) !important;
}
.ips-carousel-arrow:active {
    transform: translateY(-50%) scale(0.95) !important;
}

/* 8. LOAD CALCULATOR TACTILE MICRO-INTERACTIONS & LIVE POWER DEMAND METER */
.ips-calc-card {
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    position: relative;
    overflow: hidden;
}
.ips-calc-card:hover {
    border-color: color-mix(in srgb, var(--ips-primary) 45%, transparent);
    box-shadow: 0 16px 40px -10px color-mix(in srgb, var(--ips-primary) 12%, transparent), 0 6px 18px rgba(15, 23, 42, 0.05);
}
.ips-calc-btn-step {
    transition: transform 0.16s cubic-bezier(0.34, 1.56, 0.64, 1),
                background 0.2s ease,
                color 0.2s ease,
                border-color 0.2s ease,
                box-shadow 0.2s ease !important;
    user-select: none;
    -webkit-user-select: none;
}
.ips-calc-btn-step:hover {
    transform: scale(1.14);
    box-shadow: 0 4px 12px color-mix(in srgb, var(--ips-primary) 28%, transparent);
    background: var(--ips-primary) !important;
    color: #ffffff !important;
    border-color: var(--ips-primary) !important;
}
.ips-calc-btn-step:active {
    transform: scale(0.88) !important;
    box-shadow: 0 1px 3px color-mix(in srgb, var(--ips-primary) 20%, transparent) !important;
}
.ips-calc-num-val {
    display: inline-block;
    transition: transform 0.2s ease;
    user-select: none;
}
.ips-val-pop {
    animation: ipsScalePop 0.28s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.ips-calc-stat-val {
    display: inline-block;
    transition: all 0.3s ease;
}
.ips-result-glow {
    animation: ipsResultFlash 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Dynamic Live Load Capacity Meter Bar (Storytelling & Physical Feedback) */
.ips-calc-meter-wrap {
    background: #ffffff;
    border: 1px solid rgba(226, 232, 240, 0.9);
    border-radius: var(--ips-radius-md);
    padding: 16px 20px;
    margin-bottom: 24px;
    box-shadow: 0 2px 8px -2px rgba(15, 23, 42, 0.04);
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.ips-calc-meter-wrap:hover {
    border-color: color-mix(in srgb, var(--ips-primary) 30%, transparent);
    box-shadow: 0 4px 16px -2px color-mix(in srgb, var(--ips-primary) 8%, transparent);
}
.ips-calc-meter-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 10px;
}
.ips-calc-meter-title {
    font-size: 0.85rem;
    font-weight: 800;
    color: var(--ips-text-heading);
    display: flex;
    align-items: center;
    gap: 6px;
    letter-spacing: -0.01em;
}
.ips-calc-meter-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 10px;
    border-radius: 9999px;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    transition: all 0.28s ease;
}
.ips-status-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
    display: inline-block;
    animation: ipsDotBreathe 2s ease-in-out infinite;
}
@keyframes ipsDotBreathe {
    0%, 100% { transform: scale(1); opacity: 0.75; }
    50% { transform: scale(1.35); opacity: 1; filter: drop-shadow(0 0 3px currentColor); }
}

.ips-calc-meter-status.status-eco {
    background: #ecfdf5;
    color: #059669;
    border: 1px solid #a7f3d0;
}
.ips-calc-meter-status.status-standard {
    background: rgba(15, 76, 92, 0.08);
    color: #16a34a;
    border: 1px solid #bbf7d0;
}
.ips-calc-meter-status.status-heavy {
    background: #fffbeb;
    color: #d97706;
    border: 1px solid #fde68a;
}
.ips-calc-meter-status.status-commercial {
    background: #eff6ff;
    color: #2563eb;
    border: 1px solid #bfdbfe;
}

.ips-calc-meter-track {
    height: 10px;
    background: #f1f5f9;
    border-radius: 9999px;
    overflow: hidden;
    position: relative;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.06);
}
.ips-calc-meter-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--ips-primary) 0%, #10b981 35%, #f59e0b 70%, #0284c7 100%);
    border-radius: 9999px;
    transition: width 0.42s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
    box-shadow: 0 0 10px color-mix(in srgb, var(--ips-primary) 30%, transparent);
}
.ips-meter-glow-thumb {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 6px;
    background: #ffffff;
    border-radius: 50%;
    opacity: 0.9;
    filter: drop-shadow(0 0 3px #ffffff);
}
.ips-calc-meter-scale {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 6px;
    font-size: 0.70rem;
    font-weight: 600;
    color: var(--ips-text-subtle);
    padding: 0 2px;
}

/* Appliance Icon Reactions */
.ips-calc-icon {
    display: inline-block;
    transition: transform 0.25s ease;
}
@keyframes ipsIconSpin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
.ips-icon-spin {
    animation: ipsIconSpin 0.45s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
@keyframes ipsIconGlow {
    0%, 100% { transform: scale(1); filter: none; }
    50% { transform: scale(1.35); filter: drop-shadow(0 0 8px #f59e0b); }
}
.ips-icon-glow {
    animation: ipsIconGlow 0.42s ease !important;
}
@keyframes ipsIconPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.28); filter: drop-shadow(0 0 7px #0284c7); }
}
.ips-icon-pulse {
    animation: ipsIconPulse 0.38s ease !important;
}
@keyframes ipsIconFrost {
    0%, 100% { transform: scale(1) rotate(0); }
    25% { transform: scale(1.2) rotate(-10deg); filter: drop-shadow(0 0 6px #06b6d4); }
    75% { transform: scale(1.2) rotate(10deg); filter: drop-shadow(0 0 6px #06b6d4); }
}
.ips-icon-frost {
    animation: ipsIconFrost 0.42s ease !important;
}

#btn-calc-wa {
    animation: ipsPulseGlow 3.6s infinite ease-in-out;
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s ease;
}
#btn-calc-wa:hover {
    animation: none;
    transform: translateY(-2px) scale(1.03);
    box-shadow: 0 10px 28px color-mix(in srgb, var(--ips-primary) 45%, transparent) !important;
}
#btn-calc-wa:active {
    transform: translateY(0) scale(0.96) !important;
}

/* 9. WHY CHOOSE IPS BAZAR INTERACTIVE HOVER */
.ips-why-feat-box {
    transition: transform 0.34s cubic-bezier(0.16, 1, 0.3, 1),
                border-color 0.34s ease,
                box-shadow 0.34s cubic-bezier(0.16, 1, 0.3, 1),
                background 0.34s ease !important;
    will-change: transform, box-shadow;
}
.ips-why-feat-box:hover {
    transform: translateY(-5px) !important;
    border-color: color-mix(in srgb, var(--ips-primary) 32%, transparent) !important;
    box-shadow: 0 14px 28px -6px rgba(15, 23, 42, 0.08), 0 4px 12px color-mix(in srgb, var(--ips-primary) 12%, transparent) !important;
    background: #ffffff !important;
}
.ips-why-feat-box:active {
    transform: translateY(-2px) scale(0.98) !important;
}
.ips-why-feat-box .ips-why-feat-icon {
    transition: transform 0.36s cubic-bezier(0.34, 1.56, 0.64, 1),
                background 0.3s ease,
                border-color 0.3s ease,
                color 0.3s ease !important;
}
.ips-why-feat-box:hover .ips-why-feat-icon {
    transform: scale(1.15) rotate(-6deg) !important;
    background: rgba(29, 78, 216, 0.12) !important;
    border-color: #86efac !important;
    color: #0F4C5C !important;
}
.ips-why-feat-box:hover .ips-why-feat-title {
    color: var(--ips-primary);
}

.ips-why-greener-card {
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 0.4s ease !important;
}
.ips-why-greener-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 20px 42px rgba(15, 23, 42, 0.22) !important;
}
.ips-why-greener-badge {
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.ips-why-greener-card:hover .ips-why-greener-badge {
    transform: scale(1.05);
}

/* 10. ENGINEERED SOLAR PROJECTS INTERACTIVE HOVER */
.ips-proj-metric-card {
    transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1),
                border-color 0.28s ease,
                box-shadow 0.28s ease !important;
    will-change: transform;
}
.ips-proj-metric-card:hover {
    transform: translateY(-3px) scale(1.02) !important;
    border-color: color-mix(in srgb, var(--ips-primary) 35%, transparent) !important;
    box-shadow: 0 10px 22px color-mix(in srgb, var(--ips-primary) 12%, transparent) !important;
}
.ips-proj-metric-card .ips-proj-metric-icon {
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}
.ips-proj-metric-card:hover .ips-proj-metric-icon {
    transform: scale(1.12) !important;
}

.ips-project-card {
    transition: transform 0.38s cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 0.38s cubic-bezier(0.16, 1, 0.3, 1),
                border-color 0.38s ease !important;
    will-change: transform, box-shadow;
}
.ips-project-card:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 20px 40px -10px rgba(15, 23, 42, 0.16), 0 4px 14px color-mix(in srgb, var(--ips-primary) 14%, transparent) !important;
    border-color: color-mix(in srgb, var(--ips-primary) 35%, transparent) !important;
}
.ips-project-card:active {
    transform: translateY(-2px) scale(0.98) !important;
}
.ips-project-card-img-wrap img {
    transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.ips-project-card:hover .ips-project-card-img-wrap img {
    transform: scale(1.08) !important;
}
.ips-proj-tag-badge,
.ips-proj-cap-badge {
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.3s ease;
}
.ips-project-card:hover .ips-proj-tag-badge {
    transform: translateY(-2px);
}
.ips-project-card:hover .ips-proj-cap-badge {
    transform: translateY(-2px) scale(1.05);
}

/* 11. GLOBAL DIRECT MANIPULATION & TACTILE FEEDBACK RULES */
.ips-btn-view-all:active {
    transform: translateY(0) scale(0.96) !important;
}
.ips-btn-card-buy:active,
button.ips-btn-card-buy:active,
a.ips-btn-card-buy:active {
    transform: scale(0.94) !important;
    box-shadow: 0 1px 4px color-mix(in srgb, var(--ips-primary) 25%, transparent) !important;
}
.ips-btn-card-cart-icon:active,
button.ips-btn-card-cart-icon:active,
a.ips-btn-card-cart-icon:active {
    transform: scale(0.88) !important;
    box-shadow: 0 1px 3px color-mix(in srgb, var(--ips-primary) 20%, transparent) !important;
}
.ips-cat-card:active {
    transform: translateY(-2px) scale(0.98) !important;
}
.ips-brand-card:active {
    transform: translateY(-2px) scale(0.98) !important;
}
.ips-btn-card-buy {
    position: relative;
    overflow: hidden;
}
.ips-btn-card-buy::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
    transform: skewX(-20deg);
    transition: none;
    pointer-events: none;
}
.ips-btn-card-buy:hover::after {
    left: 140%;
    transition: left 0.65s cubic-bezier(0.16, 1, 0.3, 1);
}

.ips-btn-card-cart-icon:hover i {
    transform: scale(1.15) rotate(-6deg);
}

/* ==========================================================================
   12. MASTER MOTION-DRIVEN USER EXPERIENCE (20-YEAR VETERAN UI/UX SUITE)
   ========================================================================== */

/* 1. MASK REVEAL / CLIP-PATH TEXT REVEAL */
.ips-mask-reveal {
    display: inline-block;
    overflow: hidden !important;
    vertical-align: bottom;
    line-height: 1.28;
}
.ips-mask-reveal-inner {
    display: inline-block;
    opacity: 1;
    transform: none;
    will-change: transform, opacity;
}

/* ==================== 1. TITLE MASK REVEAL SYSTEM ==================== */
.ips-mask-reveal {
    overflow: hidden !important;
    display: block;
}
body.ips-anim-ready .ips-mask-reveal-inner {
    display: inline-block;
    opacity: 0;
    transform: translateY(105%);
    transition: transform 0.75s cubic-bezier(0.16, 1, 0.3, 1) 0.18s,
                opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1) 0.18s !important;
    will-change: transform, opacity;
}
body.ips-anim-ready .ips-anim-visible .ips-mask-reveal-inner,
body.ips-anim-ready #solutions.ips-anim-visible .ips-mask-reveal-inner,
body.ips-anim-ready .ips-section-heading-wrap.ips-anim-visible .ips-mask-reveal-inner,
body.ips-anim-ready .ips-projects-head-wrap.ips-anim-visible .ips-mask-reveal-inner,
body.ips-anim-ready .ips-calc-header-wrap.ips-anim-visible .ips-mask-reveal-inner,
body.ips-anim-ready .ips-calc-card.ips-anim-visible .ips-mask-reveal-inner,
body.ips-anim-ready .ips-why-left-card.ips-anim-visible .ips-mask-reveal-inner,
body.ips-anim-ready .cc-custom-reviews-header.ips-anim-visible .ips-mask-reveal-inner,
body.ips-anim-ready .section-title-wrap.ips-anim-visible .ips-mask-reveal-inner,
body.ips-anim-ready .theme-sp-title.ips-anim-visible .ips-mask-reveal-inner {
    transform: translateY(0) !important;
    opacity: 1 !important;
}

/* Stagger for highlight word inside mask */
.ips-mask-reveal-inner .ips-title-highlight {
    display: inline-block;
    transition: transform 0.85s cubic-bezier(0.16, 1, 0.3, 1) 0.26s;
}

/* ==================== 2. SUBTITLE DELAY GLIDE (0.38s) ==================== */
body.ips-anim-ready .ips-main-section-sub,
body.ips-anim-ready .ips-calc-sub,
body.ips-anim-ready .ips-why-sub,
body.ips-anim-ready .ips-proj-sub,
body.ips-anim-ready .ips-section-sub,
body.ips-anim-ready .ips-section-heading-wrap p,
body.ips-anim-ready .ips-calc-header-wrap p,
body.ips-anim-ready .ips-projects-head-wrap p,
body.ips-anim-ready .ips-why-left-card p,
body.ips-anim-ready .cc-custom-reviews-header p,
body.ips-anim-ready .cc-home-section .section-title-wrap p {
    opacity: 0;
    transform: translateY(14px);
    transition: transform 0.65s cubic-bezier(0.16, 1, 0.3, 1) 0.38s,
                opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1) 0.38s !important;
    will-change: transform, opacity;
}
body.ips-anim-ready #solutions.ips-anim-visible .ips-main-section-sub,
body.ips-anim-ready .ips-section-heading-wrap.ips-anim-visible p,
body.ips-anim-ready .ips-calc-header-wrap.ips-anim-visible p,
body.ips-anim-ready .ips-projects-head-wrap.ips-anim-visible p,
body.ips-anim-ready .ips-why-left-card.ips-anim-visible p,
body.ips-anim-ready .cc-custom-reviews-header.ips-anim-visible p,
body.ips-anim-ready .ips-anim-visible .ips-main-section-sub,
body.ips-anim-ready .ips-anim-visible .ips-calc-sub,
body.ips-anim-ready .ips-anim-visible .ips-why-sub,
body.ips-anim-ready .ips-anim-visible .ips-proj-sub {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* ==================== 3. SECTION ACTION BUTTONS (0.52s) ==================== */
body.ips-anim-ready .ips-section-heading-wrap .ips-btn-view-all,
body.ips-anim-ready .ips-why-left-card .ips-btn-why-learn,
body.ips-anim-ready .cc-custom-reviews-header .cc-section-action-btn,
body.ips-anim-ready .cc-home-section .view-all-btn,
body.ips-anim-ready .ips-btn-view-all {
    opacity: 0;
    transform: translateY(12px);
    transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1) 0.52s,
                opacity 0.55s cubic-bezier(0.16, 1, 0.3, 1) 0.52s,
                background-color 0.2s ease,
                color 0.2s ease,
                box-shadow 0.2s ease !important;
    will-change: transform, opacity;
}
body.ips-anim-ready .ips-section-heading-wrap.ips-anim-visible .ips-btn-view-all,
body.ips-anim-ready .ips-why-left-card.ips-anim-visible .ips-btn-why-learn,
body.ips-anim-ready .cc-custom-reviews-header.ips-anim-visible .cc-section-action-btn,
body.ips-anim-ready .cc-home-section.ips-anim-visible .view-all-btn,
body.ips-anim-ready .ips-anim-visible .ips-btn-view-all {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* ==================== 4. MARQUEE & BANNER: NO ENTRANCE ANIMATION ==================== */
.ips-home-marquee-section,
.ips-marquee-card,
.cc-home-banner-slot,
.ips-combo-banner-card,
.home-banner-1,
.cc-hero-slider-section {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
}

/* ==================== 5. SOLUTIONS CHOREOGRAPHY (STEPS 1 TO 5) ==================== */
/* ==================== 5. SOLUTIONS CHOREOGRAPHY (STEPS 1 TO 5) ==================== */
/* Step 1: Title in Solutions (Starts at 0.18s) */
body.ips-anim-ready #solutions .ips-mask-reveal-inner {
    display: inline-block;
    opacity: 0;
    transform: translateY(105%);
    transition: transform 0.70s cubic-bezier(0.16, 1, 0.3, 1) 0.18s,
                opacity 0.70s cubic-bezier(0.16, 1, 0.3, 1) 0.18s !important;
    will-change: transform, opacity;
}
body.ips-anim-ready #solutions.ips-anim-visible .ips-mask-reveal-inner,
body.ips-anim-ready #solutions .ips-section-heading-wrap.ips-anim-visible .ips-mask-reveal-inner {
    transform: translateY(0) !important;
    opacity: 1 !important;
}

/* Step 2: Subtitle in Solutions (Arrives at 0.38s) */
body.ips-anim-ready #solutions .ips-main-section-sub {
    opacity: 0;
    transform: translateY(14px);
    transition: transform 0.60s cubic-bezier(0.16, 1, 0.3, 1) 0.38s,
                opacity 0.60s cubic-bezier(0.16, 1, 0.3, 1) 0.38s !important;
    will-change: transform, opacity;
}
body.ips-anim-ready #solutions.ips-anim-visible .ips-main-section-sub,
body.ips-anim-ready #solutions .ips-section-heading-wrap.ips-anim-visible .ips-main-section-sub {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* Step 3: View All Categories Button in Solutions (Arrives at 0.52s) */
body.ips-anim-ready #solutions .ips-btn-view-all {
    opacity: 0;
    transform: translateY(12px);
    transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1) 0.52s,
                opacity 0.55s cubic-bezier(0.16, 1, 0.3, 1) 0.52s,
                background-color 0.2s ease,
                box-shadow 0.2s ease !important;
    will-change: transform, opacity;
}
body.ips-anim-ready #solutions.ips-anim-visible .ips-btn-view-all,
body.ips-anim-ready #solutions .ips-section-heading-wrap.ips-anim-visible .ips-btn-view-all {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* ==================== SOLUTIONS CATEGORY CARDS ENTRANCE (STEPS 4 & 5) ==================== */
/* Category Cards Initial State before section is revealed */
body.ips-anim-ready #solutions .swiper-slide,
body.ips-anim-ready #solutions .ips-cat-card,
body.ips-anim-ready #solutions .elvora-simple-cat-card,
body.ips-anim-ready .ips-solutions-wrapper .swiper-slide,
body.ips-anim-ready .ips-solutions-wrapper .ips-cat-card,
body.ips-anim-ready .ips-solutions-wrapper .elvora-simple-cat-card,
body.ips-anim-ready .elvora-cat-grid-compact .swiper-slide,
body.ips-anim-ready .elvora-cat-grid-compact .elvora-simple-cat-card {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 0.55s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.55s cubic-bezier(0.16, 1, 0.3, 1) !important;
    will-change: transform, opacity;
}

/* Category Cards Visible State */
body.ips-anim-ready #solutions.ips-anim-visible .swiper-slide,
body.ips-anim-ready #solutions.ips-anim-visible .ips-cat-card,
body.ips-anim-ready #solutions.ips-anim-visible .elvora-simple-cat-card,
body.ips-anim-ready #solutions .ips-solutions-wrapper.ips-anim-visible .swiper-slide,
body.ips-anim-ready #solutions .ips-solutions-wrapper.ips-anim-visible .ips-cat-card,
body.ips-anim-ready #solutions .ips-solutions-wrapper.ips-anim-visible .elvora-simple-cat-card,
body.ips-anim-ready .ips-solutions-wrapper.ips-anim-visible .swiper-slide,
body.ips-anim-ready .ips-solutions-wrapper.ips-anim-visible .ips-cat-card,
body.ips-anim-ready .ips-solutions-wrapper.ips-anim-visible .elvora-simple-cat-card,
body.ips-anim-ready .elvora-cat-wrapper.ips-anim-visible .swiper-slide,
body.ips-anim-ready .elvora-cat-wrapper.ips-anim-visible .elvora-simple-cat-card,
body.ips-anim-ready .elvora-cat-grid-compact.ips-anim-visible .swiper-slide,
body.ips-anim-ready .elvora-cat-grid-compact.ips-anim-visible .elvora-simple-cat-card {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* Category Cards Staggered Cascading Wave (Cards 1 to 18 cascading from 0.65s to 1.62s) */
body.ips-anim-ready #solutions.ips-anim-visible .swiper-slide:nth-child(1),
body.ips-anim-ready #solutions.ips-anim-visible .swiper-slide:nth-child(1) .ips-cat-card,
body.ips-anim-ready #solutions.ips-anim-visible .swiper-slide:nth-child(1) .elvora-simple-cat-card,
body.ips-anim-ready #solutions .ips-solutions-wrapper.ips-anim-visible .swiper-slide:nth-child(1),
body.ips-anim-ready #solutions .ips-solutions-wrapper.ips-anim-visible .swiper-slide:nth-child(1) .ips-cat-card,
body.ips-anim-ready #solutions .ips-solutions-wrapper.ips-anim-visible .swiper-slide:nth-child(1) .elvora-simple-cat-card,
body.ips-anim-ready .elvora-cat-grid-compact.ips-anim-visible .swiper-slide:nth-child(1),
body.ips-anim-ready .elvora-cat-grid-compact.ips-anim-visible .swiper-slide:nth-child(1) .elvora-simple-cat-card {
    transition-delay: 0.65s !important;
}

body.ips-anim-ready #solutions.ips-anim-visible .swiper-slide:nth-child(2),
body.ips-anim-ready #solutions.ips-anim-visible .swiper-slide:nth-child(2) .ips-cat-card,
body.ips-anim-ready #solutions.ips-anim-visible .swiper-slide:nth-child(2) .elvora-simple-cat-card,
body.ips-anim-ready #solutions .ips-solutions-wrapper.ips-anim-visible .swiper-slide:nth-child(2),
body.ips-anim-ready #solutions .ips-solutions-wrapper.ips-anim-visible .swiper-slide:nth-child(2) .ips-cat-card,
body.ips-anim-ready #solutions .ips-solutions-wrapper.ips-anim-visible .swiper-slide:nth-child(2) .elvora-simple-cat-card,
body.ips-anim-ready .elvora-cat-grid-compact.ips-anim-visible .swiper-slide:nth-child(2),
body.ips-anim-ready .elvora-cat-grid-compact.ips-anim-visible .swiper-slide:nth-child(2) .elvora-simple-cat-card {
    transition-delay: 0.78s !important;
}

body.ips-anim-ready #solutions.ips-anim-visible .swiper-slide:nth-child(3),
body.ips-anim-ready #solutions.ips-anim-visible .swiper-slide:nth-child(3) .ips-cat-card,
body.ips-anim-ready #solutions.ips-anim-visible .swiper-slide:nth-child(3) .elvora-simple-cat-card,
body.ips-anim-ready #solutions .ips-solutions-wrapper.ips-anim-visible .swiper-slide:nth-child(3),
body.ips-anim-ready #solutions .ips-solutions-wrapper.ips-anim-visible .swiper-slide:nth-child(3) .ips-cat-card,
body.ips-anim-ready #solutions .ips-solutions-wrapper.ips-anim-visible .swiper-slide:nth-child(3) .elvora-simple-cat-card,
body.ips-anim-ready .elvora-cat-grid-compact.ips-anim-visible .swiper-slide:nth-child(3),
body.ips-anim-ready .elvora-cat-grid-compact.ips-anim-visible .swiper-slide:nth-child(3) .elvora-simple-cat-card {
    transition-delay: 0.90s !important;
}

body.ips-anim-ready #solutions.ips-anim-visible .swiper-slide:nth-child(4),
body.ips-anim-ready #solutions.ips-anim-visible .swiper-slide:nth-child(4) .ips-cat-card,
body.ips-anim-ready #solutions.ips-anim-visible .swiper-slide:nth-child(4) .elvora-simple-cat-card,
body.ips-anim-ready #solutions .ips-solutions-wrapper.ips-anim-visible .swiper-slide:nth-child(4),
body.ips-anim-ready #solutions .ips-solutions-wrapper.ips-anim-visible .swiper-slide:nth-child(4) .ips-cat-card,
body.ips-anim-ready #solutions .ips-solutions-wrapper.ips-anim-visible .swiper-slide:nth-child(4) .elvora-simple-cat-card,
body.ips-anim-ready .elvora-cat-grid-compact.ips-anim-visible .swiper-slide:nth-child(4),
body.ips-anim-ready .elvora-cat-grid-compact.ips-anim-visible .swiper-slide:nth-child(4) .elvora-simple-cat-card {
    transition-delay: 1.02s !important;
}

body.ips-anim-ready #solutions.ips-anim-visible .swiper-slide:nth-child(5),
body.ips-anim-ready #solutions.ips-anim-visible .swiper-slide:nth-child(5) .ips-cat-card,
body.ips-anim-ready #solutions.ips-anim-visible .swiper-slide:nth-child(5) .elvora-simple-cat-card,
body.ips-anim-ready #solutions .ips-solutions-wrapper.ips-anim-visible .swiper-slide:nth-child(5),
body.ips-anim-ready #solutions .ips-solutions-wrapper.ips-anim-visible .swiper-slide:nth-child(5) .ips-cat-card,
body.ips-anim-ready #solutions .ips-solutions-wrapper.ips-anim-visible .swiper-slide:nth-child(5) .elvora-simple-cat-card,
body.ips-anim-ready .elvora-cat-grid-compact.ips-anim-visible .swiper-slide:nth-child(5),
body.ips-anim-ready .elvora-cat-grid-compact.ips-anim-visible .swiper-slide:nth-child(5) .elvora-simple-cat-card {
    transition-delay: 1.14s !important;
}

body.ips-anim-ready #solutions.ips-anim-visible .swiper-slide:nth-child(6),
body.ips-anim-ready #solutions.ips-anim-visible .swiper-slide:nth-child(6) .ips-cat-card,
body.ips-anim-ready #solutions.ips-anim-visible .swiper-slide:nth-child(6) .elvora-simple-cat-card,
body.ips-anim-ready #solutions .ips-solutions-wrapper.ips-anim-visible .swiper-slide:nth-child(6),
body.ips-anim-ready #solutions .ips-solutions-wrapper.ips-anim-visible .swiper-slide:nth-child(6) .ips-cat-card,
body.ips-anim-ready #solutions .ips-solutions-wrapper.ips-anim-visible .swiper-slide:nth-child(6) .elvora-simple-cat-card,
body.ips-anim-ready .elvora-cat-grid-compact.ips-anim-visible .swiper-slide:nth-child(6),
body.ips-anim-ready .elvora-cat-grid-compact.ips-anim-visible .swiper-slide:nth-child(6) .elvora-simple-cat-card {
    transition-delay: 1.26s !important;
}

body.ips-anim-ready #solutions.ips-anim-visible .swiper-slide:nth-child(7),
body.ips-anim-ready #solutions.ips-anim-visible .swiper-slide:nth-child(7) .elvora-simple-cat-card,
body.ips-anim-ready .elvora-cat-grid-compact.ips-anim-visible .swiper-slide:nth-child(7) {
    transition-delay: 1.38s !important;
}

body.ips-anim-ready #solutions.ips-anim-visible .swiper-slide:nth-child(8),
body.ips-anim-ready #solutions.ips-anim-visible .swiper-slide:nth-child(8) .elvora-simple-cat-card,
body.ips-anim-ready .elvora-cat-grid-compact.ips-anim-visible .swiper-slide:nth-child(8) {
    transition-delay: 1.50s !important;
}

body.ips-anim-ready #solutions.ips-anim-visible .swiper-slide:nth-child(n+9),
body.ips-anim-ready #solutions.ips-anim-visible .swiper-slide:nth-child(n+9) .elvora-simple-cat-card,
body.ips-anim-ready .elvora-cat-grid-compact.ips-anim-visible .swiper-slide:nth-child(n+9) {
    transition-delay: 1.62s !important;
}

/* ==================== 6. LOAD CALCULATOR CHOREOGRAPHY (STEPS 1 TO 11) ==================== */
body.ips-anim-ready .ips-calc-card {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
body.ips-anim-ready .ips-calc-card.ips-anim-visible,
body.ips-anim-ready #calculator.ips-anim-visible .ips-calc-card {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* STEP 1: Title (Starts at 0.08s) */
body.ips-anim-ready .ips-calc-card .ips-calc-title .ips-mask-reveal-inner,
body.ips-anim-ready #calculator .ips-calc-title .ips-mask-reveal-inner {
    display: inline-block;
    opacity: 0;
    transform: translateY(105%);
    transition: transform 0.70s cubic-bezier(0.16, 1, 0.3, 1) 0.08s,
                opacity 0.70s cubic-bezier(0.16, 1, 0.3, 1) 0.08s;
    will-change: transform, opacity;
}
body.ips-anim-ready .ips-calc-card.ips-anim-visible .ips-calc-title .ips-mask-reveal-inner,
body.ips-anim-ready #calculator.ips-anim-visible .ips-calc-title .ips-mask-reveal-inner,
body.ips-anim-ready .ips-calc-header-wrap.ips-anim-visible .ips-calc-title .ips-mask-reveal-inner {
    transform: translateY(0) !important;
    opacity: 1 !important;
}

/* STEP 2: Subtitle (Arrives at 0.35s after Title) */
body.ips-anim-ready .ips-calc-card .ips-calc-sub,
body.ips-anim-ready #calculator .ips-calc-sub {
    opacity: 0;
    transform: translateY(14px);
    transition: transform 0.60s cubic-bezier(0.16, 1, 0.3, 1) 0.35s,
                opacity 0.60s cubic-bezier(0.16, 1, 0.3, 1) 0.35s;
    will-change: transform, opacity;
}
body.ips-anim-ready .ips-calc-card.ips-anim-visible .ips-calc-sub,
body.ips-anim-ready #calculator.ips-anim-visible .ips-calc-sub,
body.ips-anim-ready .ips-calc-header-wrap.ips-anim-visible .ips-calc-sub {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* STEPS 3, 4, 5, 6: Appliance Input Boxes Base & Sequential Delays */
body.ips-anim-ready .ips-calc-input-box {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 0.48s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.48s cubic-bezier(0.16, 1, 0.3, 1),
                border-color 0.2s ease,
                box-shadow 0.2s ease;
    will-change: transform, opacity;
}
body.ips-anim-ready .ips-calc-card.ips-anim-visible .ips-calc-input-box,
body.ips-anim-ready #calculator.ips-anim-visible .ips-calc-input-box {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* STEP 3: Ceiling Fans (0.60s) */
body.ips-anim-ready .ips-calc-card.ips-anim-visible .ips-calc-input-box:nth-child(1),
body.ips-anim-ready #calculator.ips-anim-visible .ips-calc-input-box:nth-child(1) {
    transition-delay: 0.60s;
}

/* STEP 4: LED Lights (0.75s) */
body.ips-anim-ready .ips-calc-card.ips-anim-visible .ips-calc-input-box:nth-child(2),
body.ips-anim-ready #calculator.ips-anim-visible .ips-calc-input-box:nth-child(2) {
    transition-delay: 0.75s;
}

/* STEP 5: Smart TV / PC (0.90s) */
body.ips-anim-ready .ips-calc-card.ips-anim-visible .ips-calc-input-box:nth-child(3),
body.ips-anim-ready #calculator.ips-anim-visible .ips-calc-input-box:nth-child(3) {
    transition-delay: 0.90s;
}

/* STEP 6: Refrigerator (1.05s) */
body.ips-anim-ready .ips-calc-card.ips-anim-visible .ips-calc-input-box:nth-child(4),
body.ips-anim-ready #calculator.ips-anim-visible .ips-calc-input-box:nth-child(4) {
    transition-delay: 1.05s;
}

/* Micro-interaction on Calculator Steppers */
.ips-calc-btn-step {
    transition: transform 0.15s cubic-bezier(0.16, 1, 0.3, 1), background 0.2s ease, border-color 0.2s ease;
}
.ips-calc-btn-step:active {
    transform: scale(0.85) !important;
}
.ips-calc-num-val {
    display: inline-block;
    transition: transform 0.2s ease, color 0.2s ease;
}
.ips-calc-num-val.ips-val-pop {
    animation: ipsValPop 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes ipsValPop {
    0% { transform: scale(1); }
    50% { transform: scale(1.28); color: #10b981; }
    100% { transform: scale(1); }
}

/* STEP 7: Live Power Demand Meter (1.30s) */
body.ips-anim-ready .ips-calc-meter-wrap {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.58s cubic-bezier(0.16, 1, 0.3, 1) 1.30s,
                transform 0.58s cubic-bezier(0.16, 1, 0.3, 1) 1.30s;
    will-change: transform, opacity;
}
body.ips-anim-ready .ips-calc-card.ips-anim-visible .ips-calc-meter-wrap,
body.ips-anim-ready #calculator.ips-anim-visible .ips-calc-meter-wrap {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* Result Panel Outer Wrap (1.50s) */
body.ips-anim-ready .ips-calc-result-panel {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.55s cubic-bezier(0.16, 1, 0.3, 1) 1.50s,
                transform 0.55s cubic-bezier(0.16, 1, 0.3, 1) 1.50s;
    will-change: transform, opacity;
}
body.ips-anim-ready .ips-calc-card.ips-anim-visible .ips-calc-result-panel,
body.ips-anim-ready #calculator.ips-anim-visible .ips-calc-result-panel {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* STEPS 8, 9, 10: Result Stat Items Base & Delays */
body.ips-anim-ready .ips-calc-stat-item {
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 0.48s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.48s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: transform, opacity;
}
body.ips-anim-ready .ips-calc-card.ips-anim-visible .ips-calc-stat-item,
body.ips-anim-ready #calculator.ips-anim-visible .ips-calc-stat-item {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* STEP 8: Estimated Total Load (1.60s) */
body.ips-anim-ready .ips-calc-card.ips-anim-visible .ips-calc-stat-item:nth-child(1),
body.ips-anim-ready #calculator.ips-anim-visible .ips-calc-stat-item:nth-child(1) {
    transition-delay: 1.60s;
}

/* STEP 9: Recommended Inverter (1.80s) */
body.ips-anim-ready .ips-calc-card.ips-anim-visible .ips-calc-stat-item:nth-child(2),
body.ips-anim-ready #calculator.ips-anim-visible .ips-calc-stat-item:nth-child(2) {
    transition-delay: 1.80s;
}

/* STEP 10: Recommended Battery (2.00s) */
body.ips-anim-ready .ips-calc-card.ips-anim-visible .ips-calc-stat-item:nth-child(3),
body.ips-anim-ready #calculator.ips-anim-visible .ips-calc-stat-item:nth-child(3) {
    transition-delay: 2.00s;
}

/* STEP 11: WhatsApp Quote Button (2.25s) */
body.ips-anim-ready #btn-calc-wa {
    opacity: 0;
    transform: translateY(14px) scale(0.96);
    transition: opacity 0.55s cubic-bezier(0.16, 1, 0.3, 1) 2.25s,
                transform 0.55s cubic-bezier(0.16, 1, 0.3, 1) 2.25s,
                background 0.25s ease,
                box-shadow 0.25s ease !important;
    will-change: transform, opacity;
}
body.ips-anim-ready .ips-calc-card.ips-anim-visible #btn-calc-wa,
body.ips-anim-ready #calculator.ips-anim-visible #btn-calc-wa {
    opacity: 1 !important;
    transform: translateY(0) scale(1) !important;
}

/* ==================== 7. PRODUCT SLIDERS (PANELS, INVERTERS, BATTERIES) ==================== */
/* Swiper physics: Silky smooth sliding motion curve (Point 3) */
.ips-products-swiper .swiper-wrapper,
.ips-brands-swiper .swiper-wrapper,
.ips-solutions-swiper .swiper-wrapper,
.ips-projects-swiper .swiper-wrapper {
    transition-timing-function: cubic-bezier(0.25, 1, 0.5, 1) !important;
}

/* Choreographed Slight Delays for Product Grid Sections (Title 0.18s, Subtitle 0.38s, Button 0.52s, Cards 0.65s+) */
body.ips-anim-ready .ips-product-grid-section .ips-section-heading-wrap .ips-mask-reveal-inner,
body.ips-anim-ready #solar-inverter .ips-section-heading-wrap .ips-mask-reveal-inner {
    transition: transform 0.75s cubic-bezier(0.16, 1, 0.3, 1) 0.18s,
                opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1) 0.18s !important;
}

body.ips-anim-ready .ips-product-grid-section .ips-section-heading-wrap p,
body.ips-anim-ready .ips-product-grid-section .ips-main-section-sub,
body.ips-anim-ready #solar-inverter .ips-section-heading-wrap p,
body.ips-anim-ready #solar-inverter .ips-main-section-sub {
    transition: transform 0.65s cubic-bezier(0.16, 1, 0.3, 1) 0.38s,
                opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1) 0.38s !important;
}

body.ips-anim-ready .ips-product-grid-section .ips-section-heading-wrap .ips-btn-view-all,
body.ips-anim-ready #solar-inverter .ips-section-heading-wrap .ips-btn-view-all {
    transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1) 0.52s,
                opacity 0.55s cubic-bezier(0.16, 1, 0.3, 1) 0.52s,
                background-color 0.2s ease,
                color 0.2s ease,
                box-shadow 0.2s ease !important;
}

body.ips-anim-ready .ips-product-carousel-wrapper {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.48s,
                transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.48s;
}
body.ips-anim-ready .ips-product-carousel-wrapper.ips-anim-visible,
body.ips-anim-ready .ips-product-grid-section.ips-anim-visible .ips-product-carousel-wrapper,
body.ips-anim-ready #solar-inverter.ips-anim-visible .ips-product-carousel-wrapper,
body.ips-anim-ready #solar-panel.ips-anim-visible .ips-product-carousel-wrapper,
body.ips-anim-ready #battery.ips-anim-visible .ips-product-carousel-wrapper,
body.ips-anim-ready #best-selling.ips-anim-visible .ips-product-carousel-wrapper {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* Universal Carousel Product Cards Initial State */
body.ips-anim-ready .ips-product-carousel-wrapper .swiper-slide,
body.ips-anim-ready .ips-product-carousel-wrapper .ips-product-card,
body.ips-anim-ready #solar-inverter .swiper-slide,
body.ips-anim-ready #solar-inverter .ips-product-card,
body.ips-anim-ready #solar-panel .swiper-slide,
body.ips-anim-ready #solar-panel .ips-product-card,
body.ips-anim-ready #battery .swiper-slide,
body.ips-anim-ready #battery .ips-product-card,
body.ips-anim-ready #best-selling .swiper-slide,
body.ips-anim-ready #best-selling .ips-product-card {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 0.55s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.55s cubic-bezier(0.16, 1, 0.3, 1) !important;
    will-change: transform, opacity;
}

/* Universal Carousel Product Cards Visible State */
body.ips-anim-ready .ips-product-carousel-wrapper.ips-anim-visible .swiper-slide,
body.ips-anim-ready .ips-product-carousel-wrapper.ips-anim-visible .ips-product-card,
body.ips-anim-ready .ips-product-grid-section.ips-anim-visible .swiper-slide,
body.ips-anim-ready .ips-product-grid-section.ips-anim-visible .ips-product-card,
body.ips-anim-ready #solar-inverter.ips-anim-visible .swiper-slide,
body.ips-anim-ready #solar-inverter.ips-anim-visible .ips-product-card,
body.ips-anim-ready #solar-panel.ips-anim-visible .swiper-slide,
body.ips-anim-ready #solar-panel.ips-anim-visible .ips-product-card,
body.ips-anim-ready #battery.ips-anim-visible .swiper-slide,
body.ips-anim-ready #battery.ips-anim-visible .ips-product-card,
body.ips-anim-ready #best-selling.ips-anim-visible .swiper-slide,
body.ips-anim-ready #best-selling.ips-anim-visible .ips-product-card {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* Carousel Cascading Wave Delays */
body.ips-anim-ready .ips-product-carousel-wrapper .swiper-slide:nth-child(1),
body.ips-anim-ready .ips-product-carousel-wrapper .swiper-slide:nth-child(1) .ips-product-card,
body.ips-anim-ready #solar-inverter .swiper-slide:nth-child(1),
body.ips-anim-ready #solar-panel .swiper-slide:nth-child(1),
body.ips-anim-ready #battery .swiper-slide:nth-child(1),
body.ips-anim-ready #best-selling .swiper-slide:nth-child(1) { transition-delay: 0.65s !important; }

body.ips-anim-ready .ips-product-carousel-wrapper .swiper-slide:nth-child(2),
body.ips-anim-ready .ips-product-carousel-wrapper .swiper-slide:nth-child(2) .ips-product-card,
body.ips-anim-ready #solar-inverter .swiper-slide:nth-child(2),
body.ips-anim-ready #solar-panel .swiper-slide:nth-child(2),
body.ips-anim-ready #battery .swiper-slide:nth-child(2),
body.ips-anim-ready #best-selling .swiper-slide:nth-child(2) { transition-delay: 0.78s !important; }

body.ips-anim-ready .ips-product-carousel-wrapper .swiper-slide:nth-child(3),
body.ips-anim-ready .ips-product-carousel-wrapper .swiper-slide:nth-child(3) .ips-product-card,
body.ips-anim-ready #solar-inverter .swiper-slide:nth-child(3),
body.ips-anim-ready #solar-panel .swiper-slide:nth-child(3),
body.ips-anim-ready #battery .swiper-slide:nth-child(3),
body.ips-anim-ready #best-selling .swiper-slide:nth-child(3) { transition-delay: 0.90s !important; }

body.ips-anim-ready .ips-product-carousel-wrapper .swiper-slide:nth-child(4),
body.ips-anim-ready .ips-product-carousel-wrapper .swiper-slide:nth-child(4) .ips-product-card,
body.ips-anim-ready #solar-inverter .swiper-slide:nth-child(4),
body.ips-anim-ready #solar-panel .swiper-slide:nth-child(4),
body.ips-anim-ready #battery .swiper-slide:nth-child(4),
body.ips-anim-ready #best-selling .swiper-slide:nth-child(4) { transition-delay: 1.02s !important; }

body.ips-anim-ready .ips-product-carousel-wrapper .swiper-slide:nth-child(5),
body.ips-anim-ready .ips-product-carousel-wrapper .swiper-slide:nth-child(5) .ips-product-card,
body.ips-anim-ready #solar-inverter .swiper-slide:nth-child(5),
body.ips-anim-ready #solar-panel .swiper-slide:nth-child(5),
body.ips-anim-ready #battery .swiper-slide:nth-child(5),
body.ips-anim-ready #best-selling .swiper-slide:nth-child(5) { transition-delay: 1.14s !important; }

body.ips-anim-ready .ips-product-carousel-wrapper .swiper-slide:nth-child(n+6),
body.ips-anim-ready .ips-product-carousel-wrapper .swiper-slide:nth-child(n+6) .ips-product-card,
body.ips-anim-ready #solar-inverter .swiper-slide:nth-child(n+6),
body.ips-anim-ready #solar-panel .swiper-slide:nth-child(n+6),
body.ips-anim-ready #battery .swiper-slide:nth-child(n+6),
body.ips-anim-ready #best-selling .swiper-slide:nth-child(n+6) { transition-delay: 1.26s !important; }

/* ==================== 7.5 NEWEST PRODUCTS GRID ANIMATION ==================== */
body.ips-anim-ready .newest-products-list > .col,
body.ips-anim-ready .newest-products-list > .product-card,
body.ips-anim-ready .newest-products-list > .ips-product-card-col,
body.ips-anim-ready .newest-products-list > [class*="col-"],
body.ips-anim-ready .newest-products-list .product-card,
body.ips-anim-ready .newest-products-list .ips-product-card,
body.ips-anim-ready .newest-products-list .wd-product-card,
body.ips-anim-ready .newest-products-list .cibato-card-box {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 0.55s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.55s cubic-bezier(0.16, 1, 0.3, 1) !important;
    will-change: transform, opacity;
}

body.ips-anim-ready .cc-newest-products-section.ips-anim-visible .newest-products-list > .col,
body.ips-anim-ready .cc-newest-products-section.ips-anim-visible .newest-products-list > .product-card,
body.ips-anim-ready .cc-newest-products-section.ips-anim-visible .newest-products-list > .ips-product-card-col,
body.ips-anim-ready .cc-newest-products-section.ips-anim-visible .newest-products-list > [class*="col-"],
body.ips-anim-ready .newest-products-list.ips-anim-visible > .col,
body.ips-anim-ready .newest-products-list.ips-anim-visible > .product-card,
body.ips-anim-ready .newest-products-list.ips-anim-visible > .ips-product-card-col,
body.ips-anim-ready .newest-products-list.ips-anim-visible > [class*="col-"],
body.ips-anim-ready .cc-newest-products-section.ips-anim-visible .newest-products-list .product-card,
body.ips-anim-ready .cc-newest-products-section.ips-anim-visible .newest-products-list .ips-product-card,
body.ips-anim-ready .cc-newest-products-section.ips-anim-visible .newest-products-list .wd-product-card,
body.ips-anim-ready .cc-newest-products-section.ips-anim-visible .newest-products-list .cibato-card-box,
body.ips-anim-ready .newest-products-list.ips-anim-visible .product-card,
body.ips-anim-ready .newest-products-list.ips-anim-visible .ips-product-card,
body.ips-anim-ready .newest-products-list.ips-anim-visible .wd-product-card,
body.ips-anim-ready .newest-products-list.ips-anim-visible .cibato-card-box {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* Staggered Cascade for Newest Products Grid (0.65s to 1.62s) */
body.ips-anim-ready .newest-products-list > :nth-child(1) { transition-delay: 0.65s !important; }
body.ips-anim-ready .newest-products-list > :nth-child(2) { transition-delay: 0.78s !important; }
body.ips-anim-ready .newest-products-list > :nth-child(3) { transition-delay: 0.90s !important; }
body.ips-anim-ready .newest-products-list > :nth-child(4) { transition-delay: 1.02s !important; }
body.ips-anim-ready .newest-products-list > :nth-child(5) { transition-delay: 1.14s !important; }
body.ips-anim-ready .newest-products-list > :nth-child(6) { transition-delay: 1.26s !important; }
body.ips-anim-ready .newest-products-list > :nth-child(7) { transition-delay: 1.38s !important; }
body.ips-anim-ready .newest-products-list > :nth-child(8) { transition-delay: 1.50s !important; }
body.ips-anim-ready .newest-products-list > :nth-child(n+9) { transition-delay: 1.62s !important; }

/* ==================== 8. MARQUEE & BANNERS (EXPLICIT ZERO DELAY / NO ANIMATION) ==================== */
.ips-home-marquee-section,
.ips-marquee-card,
.cc-home-banner-slot,
.ips-combo-banner-card,
.home-banner-1,
.cc-hero-slider-section,
body.ips-anim-ready .ips-home-marquee-section,
body.ips-anim-ready .ips-marquee-card,
body.ips-anim-ready .cc-home-banner-slot,
body.ips-anim-ready .ips-combo-banner-card,
body.ips-anim-ready .home-banner-1,
body.ips-anim-ready .cc-hero-slider-section {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
}

/* ==================== 9. AUTHORIZED & TRUSTED BRANDS (CASCADING WAVE MATCHING SOLUTIONS) ==================== */
/* Overall Section Visibility */
body.ips-anim-ready #brands,
body.ips-anim-ready .ips-trusted-brands-section {
    opacity: 1;
}

/* STEP 1: Title Mask Reveal (0.18s) */
body.ips-anim-ready #brands .ips-main-section-title .ips-mask-reveal-inner,
body.ips-anim-ready .ips-trusted-brands-section .ips-main-section-title .ips-mask-reveal-inner {
    display: inline-block;
    opacity: 0;
    transform: translateY(105%);
    transition: transform 0.70s cubic-bezier(0.16, 1, 0.3, 1) 0.18s,
                opacity 0.70s cubic-bezier(0.16, 1, 0.3, 1) 0.18s !important;
    will-change: transform, opacity;
}
body.ips-anim-ready #brands.ips-anim-visible .ips-main-section-title .ips-mask-reveal-inner,
body.ips-anim-ready .ips-trusted-brands-section.ips-anim-visible .ips-main-section-title .ips-mask-reveal-inner,
body.ips-anim-ready #brands .ips-section-heading-wrap.ips-anim-visible .ips-main-section-title .ips-mask-reveal-inner {
    transform: translateY(0) !important;
    opacity: 1 !important;
}

/* STEP 2: Subtitle (0.38s) */
body.ips-anim-ready #brands .ips-main-section-sub,
body.ips-anim-ready .ips-trusted-brands-section .ips-main-section-sub {
    opacity: 0;
    transform: translateY(14px);
    transition: transform 0.60s cubic-bezier(0.16, 1, 0.3, 1) 0.38s,
                opacity 0.60s cubic-bezier(0.16, 1, 0.3, 1) 0.38s !important;
    will-change: transform, opacity;
}
body.ips-anim-ready #brands.ips-anim-visible .ips-main-section-sub,
body.ips-anim-ready .ips-trusted-brands-section.ips-anim-visible .ips-main-section-sub,
body.ips-anim-ready #brands .ips-section-heading-wrap.ips-anim-visible .ips-main-section-sub {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* STEP 3: "View All Brands" Action Button (0.52s) */
body.ips-anim-ready #brands .ips-btn-view-all,
body.ips-anim-ready .ips-trusted-brands-section .ips-btn-view-all {
    opacity: 0;
    transform: translateY(12px);
    transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1) 0.52s,
                opacity 0.55s cubic-bezier(0.16, 1, 0.3, 1) 0.52s,
                background-color 0.2s ease,
                box-shadow 0.2s ease !important;
    will-change: transform, opacity;
}
body.ips-anim-ready #brands.ips-anim-visible .ips-btn-view-all,
body.ips-anim-ready .ips-trusted-brands-section.ips-anim-visible .ips-btn-view-all,
body.ips-anim-ready #brands .ips-section-heading-wrap.ips-anim-visible .ips-btn-view-all {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* STEP 4: Brand Cards Staggered Cascading Wave (Cards 1 to 14 from 0.65s to 1.62s) */
body.ips-anim-ready #brands .swiper-slide,
body.ips-anim-ready #brands .ips-brand-card,
body.ips-anim-ready .ips-brands-carousel-wrapper .swiper-slide,
body.ips-anim-ready .ips-brands-carousel-wrapper .ips-brand-card {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 0.55s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.55s cubic-bezier(0.16, 1, 0.3, 1) !important;
    will-change: transform, opacity;
}

body.ips-anim-ready #brands.ips-anim-visible .swiper-slide,
body.ips-anim-ready #brands.ips-anim-visible .ips-brand-card,
body.ips-anim-ready .ips-trusted-brands-section.ips-anim-visible .swiper-slide,
body.ips-anim-ready .ips-trusted-brands-section.ips-anim-visible .ips-brand-card,
body.ips-anim-ready .ips-brands-carousel-wrapper.ips-anim-visible .swiper-slide,
body.ips-anim-ready .ips-brands-carousel-wrapper.ips-anim-visible .ips-brand-card {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

body.ips-anim-ready .ips-brands-carousel-wrapper .swiper-slide:nth-child(1),
body.ips-anim-ready .ips-brands-carousel-wrapper .swiper-slide:nth-child(1) .ips-brand-card,
body.ips-anim-ready #brands .swiper-slide:nth-child(1),
body.ips-anim-ready #brands .swiper-slide:nth-child(1) .ips-brand-card {
    transition-delay: 0.65s !important;
}

body.ips-anim-ready .ips-brands-carousel-wrapper .swiper-slide:nth-child(2),
body.ips-anim-ready .ips-brands-carousel-wrapper .swiper-slide:nth-child(2) .ips-brand-card,
body.ips-anim-ready #brands .swiper-slide:nth-child(2),
body.ips-anim-ready #brands .swiper-slide:nth-child(2) .ips-brand-card {
    transition-delay: 0.78s !important;
}

body.ips-anim-ready .ips-brands-carousel-wrapper .swiper-slide:nth-child(3),
body.ips-anim-ready .ips-brands-carousel-wrapper .swiper-slide:nth-child(3) .ips-brand-card,
body.ips-anim-ready #brands .swiper-slide:nth-child(3),
body.ips-anim-ready #brands .swiper-slide:nth-child(3) .ips-brand-card {
    transition-delay: 0.90s !important;
}

body.ips-anim-ready .ips-brands-carousel-wrapper .swiper-slide:nth-child(4),
body.ips-anim-ready .ips-brands-carousel-wrapper .swiper-slide:nth-child(4) .ips-brand-card,
body.ips-anim-ready #brands .swiper-slide:nth-child(4),
body.ips-anim-ready #brands .swiper-slide:nth-child(4) .ips-brand-card {
    transition-delay: 1.02s !important;
}

body.ips-anim-ready .ips-brands-carousel-wrapper .swiper-slide:nth-child(5),
body.ips-anim-ready .ips-brands-carousel-wrapper .swiper-slide:nth-child(5) .ips-brand-card,
body.ips-anim-ready #brands .swiper-slide:nth-child(5),
body.ips-anim-ready #brands .swiper-slide:nth-child(5) .ips-brand-card {
    transition-delay: 1.14s !important;
}

body.ips-anim-ready .ips-brands-carousel-wrapper .swiper-slide:nth-child(6),
body.ips-anim-ready .ips-brands-carousel-wrapper .swiper-slide:nth-child(6) .ips-brand-card,
body.ips-anim-ready #brands .swiper-slide:nth-child(6),
body.ips-anim-ready #brands .swiper-slide:nth-child(6) .ips-brand-card {
    transition-delay: 1.26s !important;
}

body.ips-anim-ready .ips-brands-carousel-wrapper .swiper-slide:nth-child(n+7),
body.ips-anim-ready .ips-brands-carousel-wrapper .swiper-slide:nth-child(n+7) .ips-brand-card,
body.ips-anim-ready #brands .swiper-slide:nth-child(n+7),
body.ips-anim-ready #brands .swiper-slide:nth-child(n+7) .ips-brand-card {
    transition-delay: 1.38s !important;
}

/* STEP 5: Carousel Navigation Arrows (1.10s) */
body.ips-anim-ready #brands .ips-carousel-arrow,
body.ips-anim-ready .ips-brands-carousel-wrapper .ips-carousel-arrow {
    opacity: 0;
    transition: opacity 0.5s ease 1.10s, background-color 0.2s ease, transform 0.2s ease, border-color 0.2s ease !important;
}
body.ips-anim-ready #brands.ips-anim-visible .ips-carousel-arrow,
body.ips-anim-ready .ips-trusted-brands-section.ips-anim-visible .ips-carousel-arrow,
body.ips-anim-ready .ips-brands-carousel-wrapper.ips-anim-visible .ips-carousel-arrow {
    opacity: 1 !important;
}

/* ==================== 10. WHY CHOOSE IPS BAZAR (CHOREOGRAPHY MATCHING LOAD CALCULATOR) ==================== */
/* Overall Section Visibility */
body.ips-anim-ready #why-choose,
body.ips-anim-ready .ips-why-section {
    opacity: 1;
}

/* STEP 1: Left Column Title Mask Reveal (0.18s) */
body.ips-anim-ready #why-choose .ips-why-main-title .ips-mask-reveal-inner,
body.ips-anim-ready .ips-why-section .ips-why-main-title .ips-mask-reveal-inner,
body.ips-anim-ready .ips-why-left-card .ips-why-main-title .ips-mask-reveal-inner {
    display: inline-block;
    opacity: 0;
    transform: translateY(105%);
    transition: transform 0.70s cubic-bezier(0.16, 1, 0.3, 1) 0.18s,
                opacity 0.70s cubic-bezier(0.16, 1, 0.3, 1) 0.18s !important;
    will-change: transform, opacity;
}
body.ips-anim-ready #why-choose.ips-anim-visible .ips-why-main-title .ips-mask-reveal-inner,
body.ips-anim-ready .ips-why-section.ips-anim-visible .ips-why-main-title .ips-mask-reveal-inner,
body.ips-anim-ready .ips-why-left-card.ips-anim-visible .ips-why-main-title .ips-mask-reveal-inner {
    transform: translateY(0) !important;
    opacity: 1 !important;
}

/* STEP 2: Left Column Subtitle (0.38s) */
body.ips-anim-ready #why-choose .ips-why-sub,
body.ips-anim-ready .ips-why-section .ips-why-sub,
body.ips-anim-ready .ips-why-left-card .ips-why-sub {
    opacity: 0;
    transform: translateY(14px);
    transition: transform 0.60s cubic-bezier(0.16, 1, 0.3, 1) 0.38s,
                opacity 0.60s cubic-bezier(0.16, 1, 0.3, 1) 0.38s !important;
    will-change: transform, opacity;
}
body.ips-anim-ready #why-choose.ips-anim-visible .ips-why-sub,
body.ips-anim-ready .ips-why-section.ips-anim-visible .ips-why-sub,
body.ips-anim-ready .ips-why-left-card.ips-anim-visible .ips-why-sub {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* STEP 2.5: Left Column 3 Trust Metrics Pill (0.45s) */
body.ips-anim-ready #why-choose .elvora-why-trust-metrics,
body.ips-anim-ready .ips-why-section .elvora-why-trust-metrics,
body.ips-anim-ready .ips-why-left-card .elvora-why-trust-metrics {
    opacity: 0;
    transform: translateY(14px);
    transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1) 0.45s,
                opacity 0.55s cubic-bezier(0.16, 1, 0.3, 1) 0.45s !important;
    will-change: transform, opacity;
}
body.ips-anim-ready #why-choose.ips-anim-visible .elvora-why-trust-metrics,
body.ips-anim-ready .ips-why-section.ips-anim-visible .elvora-why-trust-metrics,
body.ips-anim-ready .ips-why-left-card.ips-anim-visible .elvora-why-trust-metrics {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* STEP 3: Left Column "Learn More About Us" Button (0.52s) */
body.ips-anim-ready #why-choose .ips-btn-why-learn,
body.ips-anim-ready #why-choose .elvora-btn-why-learn,
body.ips-anim-ready .ips-why-section .ips-btn-why-learn,
body.ips-anim-ready .ips-why-section .elvora-btn-why-learn,
body.ips-anim-ready .ips-why-left-card .ips-btn-why-learn,
body.ips-anim-ready .ips-why-left-card .elvora-btn-why-learn {
    opacity: 0;
    transform: translateY(12px);
    transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1) 0.52s,
                opacity 0.55s cubic-bezier(0.16, 1, 0.3, 1) 0.52s,
                background-color 0.2s ease,
                color 0.2s ease,
                box-shadow 0.2s ease !important;
    will-change: transform, opacity;
}
body.ips-anim-ready #why-choose.ips-anim-visible .ips-btn-why-learn,
body.ips-anim-ready #why-choose.ips-anim-visible .elvora-btn-why-learn,
body.ips-anim-ready .ips-why-section.ips-anim-visible .ips-btn-why-learn,
body.ips-anim-ready .ips-why-section.ips-anim-visible .elvora-btn-why-learn,
body.ips-anim-ready .ips-why-left-card.ips-anim-visible .ips-btn-why-learn,
body.ips-anim-ready .ips-why-left-card.ips-anim-visible .elvora-btn-why-learn {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* STEP 4: Center 6 Feature Boxes Sequential Cascade (0.65s to 1.26s) */
body.ips-anim-ready #why-choose .ips-why-feat-box,
body.ips-anim-ready #why-choose .elvora-feat-card,
body.ips-anim-ready .ips-why-section .ips-why-feat-box,
body.ips-anim-ready .ips-why-section .elvora-feat-card,
body.ips-anim-ready .ips-why-features-grid .ips-why-feat-box,
body.ips-anim-ready .ips-why-features-grid .elvora-feat-card,
body.ips-anim-ready .elvora-why-grid .ips-why-feat-box,
body.ips-anim-ready .elvora-why-grid .elvora-feat-card {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 0.55s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.55s cubic-bezier(0.16, 1, 0.3, 1) !important;
    will-change: transform, opacity;
}

body.ips-anim-ready #why-choose.ips-anim-visible .ips-why-feat-box,
body.ips-anim-ready #why-choose.ips-anim-visible .elvora-feat-card,
body.ips-anim-ready .ips-why-section.ips-anim-visible .ips-why-feat-box,
body.ips-anim-ready .ips-why-section.ips-anim-visible .elvora-feat-card,
body.ips-anim-ready .ips-why-features-grid.ips-anim-visible .ips-why-feat-box,
body.ips-anim-ready .ips-why-features-grid.ips-anim-visible .elvora-feat-card,
body.ips-anim-ready .elvora-why-grid.ips-anim-visible .ips-why-feat-box,
body.ips-anim-ready .elvora-why-grid.ips-anim-visible .elvora-feat-card,
body.ips-anim-ready .elvora-feat-card.ips-anim-visible,
body.ips-anim-ready .ips-anim-visible .elvora-feat-card {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

body.ips-anim-ready .ips-why-features-grid > :nth-child(1),
body.ips-anim-ready .elvora-why-grid > :nth-child(1) { transition-delay: 0.65s !important; }

body.ips-anim-ready .ips-why-features-grid > :nth-child(2),
body.ips-anim-ready .elvora-why-grid > :nth-child(2) { transition-delay: 0.78s !important; }

body.ips-anim-ready .ips-why-features-grid > :nth-child(3),
body.ips-anim-ready .elvora-why-grid > :nth-child(3) { transition-delay: 0.90s !important; }

body.ips-anim-ready .ips-why-features-grid > :nth-child(4),
body.ips-anim-ready .elvora-why-grid > :nth-child(4) { transition-delay: 1.02s !important; }

body.ips-anim-ready .ips-why-features-grid > :nth-child(5),
body.ips-anim-ready .elvora-why-grid > :nth-child(5) { transition-delay: 1.14s !important; }

body.ips-anim-ready .ips-why-features-grid > :nth-child(6),
body.ips-anim-ready .elvora-why-grid > :nth-child(6) { transition-delay: 1.26s !important; }

/* Feature Box Hover Effect (Instant & zero-delay) */
.ips-why-feat-box,
.elvora-feat-card {
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04) !important;
}
.ips-why-feat-box:hover,
.elvora-feat-card:hover {
    transform: translateY(-5px) scale(1.01) !important;
    border-color: color-mix(in srgb, var(--ips-primary) 45%, transparent) !important;
    box-shadow: 0 14px 28px -6px color-mix(in srgb, var(--ips-primary) 14%, transparent), 0 4px 10px rgba(0, 0, 0, 0.04) !important;
}
.ips-why-feat-box:hover .ips-why-feat-icon,
.elvora-feat-card:hover .elvora-feat-icon {
    transform: scale(1.15) rotate(4deg);
    color: #10b981;
}

/* STEP 5: Right Column Vape Card / Greener Banner Card (0.85s) */
body.ips-anim-ready #why-choose .ips-why-greener-card,
body.ips-anim-ready #why-choose .elvora-why-greener-card,
body.ips-anim-ready #why-choose .elvora-why-vape-card,
body.ips-anim-ready .ips-why-section .ips-why-greener-card,
body.ips-anim-ready .ips-why-section .elvora-why-greener-card,
body.ips-anim-ready .ips-why-section .elvora-why-vape-card,
body.ips-anim-ready .ips-why-greener-card,
body.ips-anim-ready .elvora-why-greener-card,
body.ips-anim-ready .elvora-why-vape-card {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.85s,
                transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.85s !important;
    will-change: transform, opacity;
}

body.ips-anim-ready #why-choose.ips-anim-visible .ips-why-greener-card,
body.ips-anim-ready #why-choose.ips-anim-visible .elvora-why-greener-card,
body.ips-anim-ready #why-choose.ips-anim-visible .elvora-why-vape-card,
body.ips-anim-ready .ips-why-section.ips-anim-visible .ips-why-greener-card,
body.ips-anim-ready .ips-why-section.ips-anim-visible .elvora-why-greener-card,
body.ips-anim-ready .ips-why-section.ips-anim-visible .elvora-why-vape-card,
body.ips-anim-ready .ips-why-greener-card.ips-anim-visible,
body.ips-anim-ready .elvora-why-greener-card.ips-anim-visible,
body.ips-anim-ready .elvora-why-vape-card.ips-anim-visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

body.ips-anim-ready #why-choose .ips-why-greener-badge,
body.ips-anim-ready .ips-why-section .ips-why-greener-badge,
body.ips-anim-ready .ips-why-greener-card .ips-why-greener-badge {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.5s ease 1.50s, transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 1.50s;
}
body.ips-anim-ready #why-choose.ips-anim-visible .ips-why-greener-badge,
body.ips-anim-ready .ips-why-section.ips-anim-visible .ips-why-greener-badge,
body.ips-anim-ready .ips-why-greener-card.ips-anim-visible .ips-why-greener-badge {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

body.ips-anim-ready #why-choose .ips-why-greener-sub,
body.ips-anim-ready .ips-why-section .ips-why-greener-sub,
body.ips-anim-ready .ips-why-greener-card .ips-why-greener-sub {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.5s ease 1.62s, transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 1.62s;
}
body.ips-anim-ready #why-choose.ips-anim-visible .ips-why-greener-sub,
body.ips-anim-ready .ips-why-section.ips-anim-visible .ips-why-greener-sub,
body.ips-anim-ready .ips-why-greener-card.ips-anim-visible .ips-why-greener-sub {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

body.ips-anim-ready #why-choose .ips-btn-why-discuss,
body.ips-anim-ready .ips-why-section .ips-btn-why-discuss,
body.ips-anim-ready .ips-why-greener-card .ips-btn-why-discuss {
    opacity: 0;
    transform: translateY(12px) scale(0.96);
    transition: opacity 0.55s ease 1.75s, transform 0.55s cubic-bezier(0.16, 1, 0.3, 1) 1.75s, background 0.2s ease, box-shadow 0.2s ease !important;
}
body.ips-anim-ready #why-choose.ips-anim-visible .ips-btn-why-discuss,
body.ips-anim-ready .ips-why-section.ips-anim-visible .ips-btn-why-discuss,
body.ips-anim-ready .ips-why-greener-card.ips-anim-visible .ips-btn-why-discuss {
    opacity: 1 !important;
    transform: translateY(0) scale(1) !important;
}

/* ==================== 11. PROJECTS SHOWCASE ==================== */
body.ips-anim-ready .ips-proj-metric-card {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s ease;
}
body.ips-anim-ready .ips-proj-metrics-deck.ips-anim-visible .ips-proj-metric-card,
body.ips-anim-ready .ips-projects-head-wrap.ips-anim-visible .ips-proj-metric-card {
    opacity: 1 !important;
    transform: translateY(0) !important;
}
body.ips-anim-ready .ips-proj-metrics-deck.ips-anim-visible .ips-proj-metric-card:nth-child(1) { transition-delay: 0.65s !important; }
body.ips-anim-ready .ips-proj-metrics-deck.ips-anim-visible .ips-proj-metric-card:nth-child(2) { transition-delay: 0.78s !important; }
body.ips-anim-ready .ips-proj-metrics-deck.ips-anim-visible .ips-proj-metric-card:nth-child(3) { transition-delay: 0.90s !important; }
body.ips-anim-ready .ips-proj-metrics-deck.ips-anim-visible .ips-proj-metric-card:nth-child(4) { transition-delay: 1.02s !important; }

body.ips-anim-ready .ips-projects-wrapper {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.48s,
                transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.48s;
}
body.ips-anim-ready .ips-projects-wrapper.ips-anim-visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

body.ips-anim-ready .ips-projects-wrapper .ips-project-card {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.55s cubic-bezier(0.16, 1, 0.3, 1), transform 0.55s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
body.ips-anim-ready .ips-projects-wrapper.ips-anim-visible .ips-project-card {
    opacity: 1 !important;
    transform: translateY(0) !important;
}
body.ips-anim-ready .ips-projects-wrapper.ips-anim-visible .swiper-slide:nth-child(1) .ips-project-card { transition-delay: 0.65s !important; }
body.ips-anim-ready .ips-projects-wrapper.ips-anim-visible .swiper-slide:nth-child(2) .ips-project-card { transition-delay: 0.78s !important; }
body.ips-anim-ready .ips-projects-wrapper.ips-anim-visible .swiper-slide:nth-child(3) .ips-project-card { transition-delay: 0.90s !important; }
body.ips-anim-ready .ips-projects-wrapper.ips-anim-visible .swiper-slide:nth-child(4) .ips-project-card { transition-delay: 1.02s !important; }

/* ==================== 12. CUSTOMER REVIEWS ==================== */
body.ips-anim-ready .cc-custom-reviews-header {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
body.ips-anim-ready .cc-custom-reviews-header.ips-anim-visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
}
body.ips-anim-ready .cc-custom-reviews-body {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.48s,
                transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.48s;
}
body.ips-anim-ready .cc-custom-reviews-body.ips-anim-visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

body.ips-anim-ready .cc-custom-reviews-body .swiper-slide,
body.ips-anim-ready .cc-custom-reviews-body .ips-reviews-card {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.55s cubic-bezier(0.16, 1, 0.3, 1), transform 0.55s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
body.ips-anim-ready .cc-custom-reviews-body.ips-anim-visible .swiper-slide,
body.ips-anim-ready .cc-custom-reviews-body.ips-anim-visible .ips-reviews-card {
    opacity: 1 !important;
    transform: translateY(0) !important;
}
body.ips-anim-ready .cc-custom-reviews-body.ips-anim-visible .swiper-slide:nth-child(1),
body.ips-anim-ready .cc-custom-reviews-body.ips-anim-visible .swiper-slide:nth-child(1) .ips-reviews-card { transition-delay: 0.65s !important; }

body.ips-anim-ready .cc-custom-reviews-body.ips-anim-visible .swiper-slide:nth-child(2),
body.ips-anim-ready .cc-custom-reviews-body.ips-anim-visible .swiper-slide:nth-child(2) .ips-reviews-card { transition-delay: 0.78s !important; }

body.ips-anim-ready .cc-custom-reviews-body.ips-anim-visible .swiper-slide:nth-child(3),
body.ips-anim-ready .cc-custom-reviews-body.ips-anim-visible .swiper-slide:nth-child(3) .ips-reviews-card { transition-delay: 0.90s !important; }

body.ips-anim-ready .cc-custom-reviews-body.ips-anim-visible .swiper-slide:nth-child(4),
body.ips-anim-ready .cc-custom-reviews-body.ips-anim-visible .swiper-slide:nth-child(4) .ips-reviews-card { transition-delay: 1.02s !important; }

/* ========================================================
   UNIFIED STOREFRONT ANIMATION CHOREOGRAPHY
   (About Us, Contact Us, Coupons, Categories, Brands)
   Exact match to Homepage timing, mask reveals, delays & easing
   ======================================================== */

/* 1. KICKER PILL / BADGE / HERO ICON (Starts at 0.08s) */
body.ips-anim-ready .elvora-kicker-pill,
body.ips-anim-ready .elvora-contact-kicker,
body.ips-anim-ready .coupon-offers-hero__icon,
body.ips-anim-ready .elvora-brands-pill {
    opacity: 0;
    transform: translateY(-10px);
    transition: opacity 0.45s cubic-bezier(0.16, 1, 0.3, 1) 0.08s,
                transform 0.45s cubic-bezier(0.16, 1, 0.3, 1) 0.08s !important;
    will-change: transform, opacity;
}
body.ips-anim-ready .ips-anim-visible .elvora-kicker-pill,
body.ips-anim-ready .ips-anim-visible .elvora-contact-kicker,
body.ips-anim-ready .ips-anim-visible .coupon-offers-hero__icon,
body.ips-anim-ready .ips-anim-visible .elvora-brands-pill,
body.ips-anim-ready .elvora-hero-white.ips-anim-visible .elvora-kicker-pill,
body.ips-anim-ready .elvora-contact-header.ips-anim-visible .elvora-contact-kicker,
body.ips-anim-ready .coupon-offers-hero.ips-anim-visible .coupon-offers-hero__icon,
body.ips-anim-ready .elvora-cats-hero.ips-anim-visible .elvora-brands-pill,
body.ips-anim-ready .elvora-brands-hero.ips-anim-visible .elvora-brands-pill {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* 2. MAIN TITLES MASK REVEAL (Starts at 0.18s) */
body.ips-anim-ready .elvora-hero-white .ips-mask-reveal-inner,
body.ips-anim-ready .elvora-hero-white .elvora-anim-mask-inner,
body.ips-anim-ready .elvora-story-white-section .ips-mask-reveal-inner,
body.ips-anim-ready .elvora-story-white-section .elvora-anim-mask-inner,
body.ips-anim-ready .elvora-bottom-cta-white .ips-mask-reveal-inner,
body.ips-anim-ready .elvora-bottom-cta-white .elvora-anim-mask-inner,
body.ips-anim-ready .elvora-contact-header .ips-mask-reveal-inner,
body.ips-anim-ready .elvora-contact-header .elvora-anim-mask-inner,
body.ips-anim-ready .elvora-form-card .ips-mask-reveal-inner,
body.ips-anim-ready .coupon-offers-hero .ips-mask-reveal-inner,
body.ips-anim-ready .elvora-cats-hero .ips-mask-reveal-inner,
body.ips-anim-ready .elvora-brands-hero .ips-mask-reveal-inner,
body.ips-anim-ready .elvora-best-hero .ips-mask-reveal-inner {
    display: inline-block;
    opacity: 0;
    transform: translateY(105%);
    transition: transform 0.75s cubic-bezier(0.16, 1, 0.3, 1) 0.18s,
                opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1) 0.18s !important;
    will-change: transform, opacity;
}
body.ips-anim-ready .elvora-hero-white.ips-anim-visible .ips-mask-reveal-inner,
body.ips-anim-ready .elvora-hero-white.ips-anim-visible .elvora-anim-mask-inner,
body.ips-anim-ready .elvora-story-white-section.ips-anim-visible .ips-mask-reveal-inner,
body.ips-anim-ready .elvora-story-white-section.ips-anim-visible .elvora-anim-mask-inner,
body.ips-anim-ready .elvora-bottom-cta-white.ips-anim-visible .ips-mask-reveal-inner,
body.ips-anim-ready .elvora-bottom-cta-white.ips-anim-visible .elvora-anim-mask-inner,
body.ips-anim-ready .elvora-contact-header.ips-anim-visible .ips-mask-reveal-inner,
body.ips-anim-ready .elvora-contact-header.ips-anim-visible .elvora-anim-mask-inner,
body.ips-anim-ready .elvora-form-card.ips-anim-visible .ips-mask-reveal-inner,
body.ips-anim-ready .coupon-offers-hero.ips-anim-visible .ips-mask-reveal-inner,
body.ips-anim-ready .elvora-cats-hero.ips-anim-visible .ips-mask-reveal-inner,
body.ips-anim-ready .elvora-brands-hero.ips-anim-visible .ips-mask-reveal-inner,
body.ips-anim-ready .elvora-best-hero.ips-anim-visible .ips-mask-reveal-inner,
body.ips-anim-ready .ips-anim-visible .ips-mask-reveal-inner,
body.ips-anim-ready .ips-anim-visible .elvora-anim-mask-inner {
    transform: translateY(0) !important;
    opacity: 1 !important;
}

/* 3. SUBTITLES & DESCRIPTIONS (Starts at 0.38s) */
body.ips-anim-ready .elvora-hero-white-tagline,
body.ips-anim-ready .elvora-hero-white-desc,
body.ips-anim-ready .elvora-anim-sub,
body.ips-anim-ready .elvora-story-white-text p,
body.ips-anim-ready .elvora-story-white-text .eyebrow,
body.ips-anim-ready .elvora-contact-subtitle,
body.ips-anim-ready .elvora-form-card-header p,
body.ips-anim-ready .coupon-offers-hero__text,
body.ips-anim-ready .elvora-brands-desc,
body.ips-anim-ready .elvora-best-desc {
    opacity: 0;
    transform: translateY(14px);
    transition: transform 0.65s cubic-bezier(0.16, 1, 0.3, 1) 0.38s,
                opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1) 0.38s !important;
    will-change: transform, opacity;
}
body.ips-anim-ready .elvora-hero-white.ips-anim-visible .elvora-hero-white-tagline,
body.ips-anim-ready .elvora-hero-white.ips-anim-visible .elvora-hero-white-desc,
body.ips-anim-ready .elvora-story-white-section.ips-anim-visible .elvora-story-white-text p,
body.ips-anim-ready .elvora-story-white-section.ips-anim-visible .elvora-story-white-text .eyebrow,
body.ips-anim-ready .elvora-contact-header.ips-anim-visible .elvora-contact-subtitle,
body.ips-anim-ready .elvora-form-card.ips-anim-visible .elvora-form-card-header p,
body.ips-anim-ready .coupon-offers-hero.ips-anim-visible .coupon-offers-hero__text,
body.ips-anim-ready .elvora-cats-hero.ips-anim-visible .elvora-brands-desc,
body.ips-anim-ready .elvora-brands-hero.ips-anim-visible .elvora-brands-desc,
body.ips-anim-ready .elvora-best-hero.ips-anim-visible .elvora-best-desc,
body.ips-anim-ready .ips-anim-visible .elvora-hero-white-tagline,
body.ips-anim-ready .ips-anim-visible .elvora-hero-white-desc,
body.ips-anim-ready .ips-anim-visible .elvora-anim-sub,
body.ips-anim-ready .ips-anim-visible .elvora-contact-subtitle,
body.ips-anim-ready .ips-anim-visible .coupon-offers-hero__text,
body.ips-anim-ready .ips-anim-visible .elvora-brands-desc,
body.ips-anim-ready .ips-anim-visible .elvora-best-desc {
    opacity: 1 !important;
    transform: translateY(0) !important;
}
body.ips-anim-ready .elvora-story-white-text .eyebrow { transition-delay: 0.10s !important; }
body.ips-anim-ready .elvora-story-white-text p:nth-of-type(1) { transition-delay: 0.35s !important; }
body.ips-anim-ready .elvora-story-white-text p:nth-of-type(2) { transition-delay: 0.48s !important; }
body.ips-anim-ready .elvora-story-white-text p:nth-of-type(3) { transition-delay: 0.60s !important; }

/* 4. ACTION BUTTONS & TOOLBARS (Starts at 0.52s) */
body.ips-anim-ready .elvora-hero-white-actions,
body.ips-anim-ready .elvora-anim-actions,
body.ips-anim-ready .elvora-bottom-cta-white .cta-btn-row,
body.ips-anim-ready .elvora-brands-toolbar,
body.ips-anim-ready .elvora-best-toolbar {
    opacity: 0;
    transform: translateY(14px);
    transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1) 0.52s,
                opacity 0.55s cubic-bezier(0.16, 1, 0.3, 1) 0.52s !important;
    will-change: transform, opacity;
}
body.ips-anim-ready .elvora-hero-white.ips-anim-visible .elvora-hero-white-actions,
body.ips-anim-ready .elvora-hero-white.ips-anim-visible .elvora-anim-actions,
body.ips-anim-ready .elvora-bottom-cta-white.ips-anim-visible .cta-btn-row,
body.ips-anim-ready .elvora-cats-hero.ips-anim-visible .elvora-brands-toolbar,
body.ips-anim-ready .elvora-brands-hero.ips-anim-visible .elvora-brands-toolbar,
body.ips-anim-ready .elvora-best-hero.ips-anim-visible .elvora-best-toolbar,
body.ips-anim-ready .ips-anim-visible .elvora-hero-white-actions,
body.ips-anim-ready .ips-anim-visible .elvora-anim-actions,
body.ips-anim-ready .ips-anim-visible .elvora-brands-toolbar,
body.ips-anim-ready .ips-anim-visible .elvora-best-toolbar {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* 5. ABOUT US: TRUST CARDS & STORY CARD & MV CARDS */
body.ips-anim-ready .elvora-trust-col-white {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 0.55s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.55s cubic-bezier(0.16, 1, 0.3, 1) !important;
    will-change: transform, opacity;
}
body.ips-anim-ready .elvora-hero-white.ips-anim-visible .elvora-trust-col-white,
body.ips-anim-ready .elvora-trust-col-white.ips-anim-visible,
body.ips-anim-ready .ips-anim-visible .elvora-trust-col-white {
    opacity: 1 !important;
    transform: translateY(0) !important;
}
body.ips-anim-ready .elvora-hero-white.ips-anim-visible .elvora-trust-col-white:nth-child(1),
body.ips-anim-ready .elvora-trust-col-white:nth-child(1).ips-anim-visible { transition-delay: 0.65s !important; }
body.ips-anim-ready .elvora-hero-white.ips-anim-visible .elvora-trust-col-white:nth-child(2),
body.ips-anim-ready .elvora-trust-col-white:nth-child(2).ips-anim-visible { transition-delay: 0.78s !important; }
body.ips-anim-ready .elvora-hero-white.ips-anim-visible .elvora-trust-col-white:nth-child(3),
body.ips-anim-ready .elvora-trust-col-white:nth-child(3).ips-anim-visible { transition-delay: 0.90s !important; }
body.ips-anim-ready .elvora-hero-white.ips-anim-visible .elvora-trust-col-white:nth-child(4),
body.ips-anim-ready .elvora-trust-col-white:nth-child(4).ips-anim-visible { transition-delay: 1.02s !important; }

body.ips-anim-ready .elvora-story-white-card,
body.ips-anim-ready .elvora-compliance-banner,
body.ips-anim-ready .elvora-mv-white-card,
body.ips-anim-ready .elvora-bottom-cta-white {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 0.60s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.60s cubic-bezier(0.16, 1, 0.3, 1) !important;
    will-change: transform, opacity;
}
body.ips-anim-ready .elvora-story-white-section.ips-anim-visible .elvora-story-white-card,
body.ips-anim-ready .elvora-compliance-banner.ips-anim-visible,
body.ips-anim-ready .elvora-mv-white-grid.ips-anim-visible .elvora-mv-white-card,
body.ips-anim-ready .elvora-bottom-cta-white.ips-anim-visible,
body.ips-anim-ready .ips-anim-visible .elvora-story-white-card,
body.ips-anim-ready .ips-anim-visible .elvora-mv-white-card {
    opacity: 1 !important;
    transform: translateY(0) !important;
}
body.ips-anim-ready .elvora-story-white-section.ips-anim-visible .elvora-story-white-card { transition-delay: 0.50s !important; }
body.ips-anim-ready .elvora-mv-white-grid.ips-anim-visible .elvora-mv-white-card:nth-child(1) { transition-delay: 0.45s !important; }
body.ips-anim-ready .elvora-mv-white-grid.ips-anim-visible .elvora-mv-white-card:nth-child(2) { transition-delay: 0.60s !important; }

/* Why Choose Right Banner Card */
body.ips-anim-ready #why-choose .ips-why-greener-card,
body.ips-anim-ready .ips-why-section .ips-why-greener-card,
body.ips-anim-ready #why-choose .elvora-why-showcase-card,
body.ips-anim-ready .elvora-why-showcase-card {
    opacity: 0;
    transform: translateY(24px);
    transition: transform 0.65s cubic-bezier(0.16, 1, 0.3, 1) 0.85s,
                opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1) 0.85s !important;
    will-change: transform, opacity;
}
body.ips-anim-ready #why-choose.ips-anim-visible .ips-why-greener-card,
body.ips-anim-ready .ips-why-section.ips-anim-visible .ips-why-greener-card,
body.ips-anim-ready #why-choose.ips-anim-visible .elvora-why-showcase-card,
body.ips-anim-ready .ips-anim-visible .elvora-why-showcase-card,
body.ips-anim-ready .elvora-why-showcase-card.ips-anim-visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* 6. CONTACT US: 4 TOP CARDS, FORM INPUTS & INFO CARDS */
body.ips-anim-ready .elvora-contact-cards-grid .elvora-c-card {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.55s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.55s cubic-bezier(0.16, 1, 0.3, 1) !important;
    will-change: transform, opacity;
}
body.ips-anim-ready .elvora-contact-cards-grid.ips-anim-visible .elvora-c-card,
body.ips-anim-ready .ips-anim-visible .elvora-c-card {
    opacity: 1 !important;
    transform: translateY(0) !important;
}
body.ips-anim-ready .elvora-contact-cards-grid.ips-anim-visible .elvora-c-card:nth-child(1) { transition-delay: 0.52s !important; }
body.ips-anim-ready .elvora-contact-cards-grid.ips-anim-visible .elvora-c-card:nth-child(2) { transition-delay: 0.65s !important; }
body.ips-anim-ready .elvora-contact-cards-grid.ips-anim-visible .elvora-c-card:nth-child(3) { transition-delay: 0.78s !important; }
body.ips-anim-ready .elvora-contact-cards-grid.ips-anim-visible .elvora-c-card:nth-child(4) { transition-delay: 0.90s !important; }

body.ips-anim-ready .elvora-form-card,
body.ips-anim-ready .elvora-info-card {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 0.60s cubic-bezier(0.16, 1, 0.3, 1) 0.45s,
                transform 0.60s cubic-bezier(0.16, 1, 0.3, 1) 0.45s !important;
    will-change: transform, opacity;
}
body.ips-anim-ready .elvora-contact-main-grid.ips-anim-visible .elvora-form-card,
body.ips-anim-ready .elvora-contact-main-grid.ips-anim-visible .elvora-info-card,
body.ips-anim-ready .ips-anim-visible .elvora-form-card,
body.ips-anim-ready .ips-anim-visible .elvora-info-card {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

body.ips-anim-ready .elvora-field-group,
body.ips-anim-ready .elvora-submit-btn {
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 0.48s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.48s cubic-bezier(0.16, 1, 0.3, 1) !important;
    will-change: transform, opacity;
}
body.ips-anim-ready .elvora-contact-main-grid.ips-anim-visible .elvora-field-group,
body.ips-anim-ready .elvora-contact-main-grid.ips-anim-visible .elvora-submit-btn,
body.ips-anim-ready .ips-anim-visible .elvora-field-group,
body.ips-anim-ready .ips-anim-visible .elvora-submit-btn {
    opacity: 1 !important;
    transform: translateY(0) !important;
}
body.ips-anim-ready .elvora-contact-main-grid.ips-anim-visible .elvora-field-group:nth-of-type(1) { transition-delay: 0.55s !important; }
body.ips-anim-ready .elvora-contact-main-grid.ips-anim-visible .elvora-field-group:nth-of-type(2) { transition-delay: 0.65s !important; }
body.ips-anim-ready .elvora-contact-main-grid.ips-anim-visible .elvora-field-group:nth-of-type(3) { transition-delay: 0.75s !important; }
body.ips-anim-ready .elvora-contact-main-grid.ips-anim-visible .elvora-field-group:nth-of-type(4) { transition-delay: 0.85s !important; }
body.ips-anim-ready .elvora-contact-main-grid.ips-anim-visible .elvora-submit-btn { transition-delay: 0.95s !important; }

/* 7. COUPONS PAGE: COUPON OFFER CARDS STAGGERED WAVE */
body.ips-anim-ready .coupon-offers-grid .col,
body.ips-anim-ready .coupon-offers-grid .coupon-offer-card {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 0.55s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.55s cubic-bezier(0.16, 1, 0.3, 1) !important;
    will-change: transform, opacity;
}
body.ips-anim-ready .coupon-offers-page.ips-anim-visible .coupon-offers-grid .col,
body.ips-anim-ready .coupon-offers-page.ips-anim-visible .coupon-offers-grid .coupon-offer-card,
body.ips-anim-ready .coupon-offers-grid.ips-anim-visible .col,
body.ips-anim-ready .coupon-offers-grid.ips-anim-visible .coupon-offer-card,
body.ips-anim-ready .ips-anim-visible .coupon-offer-card {
    opacity: 1 !important;
    transform: translateY(0) !important;
}
body.ips-anim-ready .coupon-offers-grid.ips-anim-visible > :nth-child(1),
body.ips-anim-ready .coupon-offers-page.ips-anim-visible .coupon-offers-grid > :nth-child(1) { transition-delay: 0.52s !important; }
body.ips-anim-ready .coupon-offers-grid.ips-anim-visible > :nth-child(2),
body.ips-anim-ready .coupon-offers-page.ips-anim-visible .coupon-offers-grid > :nth-child(2) { transition-delay: 0.66s !important; }
body.ips-anim-ready .coupon-offers-grid.ips-anim-visible > :nth-child(3),
body.ips-anim-ready .coupon-offers-page.ips-anim-visible .coupon-offers-grid > :nth-child(3) { transition-delay: 0.80s !important; }
body.ips-anim-ready .coupon-offers-grid.ips-anim-visible > :nth-child(4),
body.ips-anim-ready .coupon-offers-page.ips-anim-visible .coupon-offers-grid > :nth-child(4) { transition-delay: 0.94s !important; }
body.ips-anim-ready .coupon-offers-grid.ips-anim-visible > :nth-child(5),
body.ips-anim-ready .coupon-offers-page.ips-anim-visible .coupon-offers-grid > :nth-child(5) { transition-delay: 1.08s !important; }
body.ips-anim-ready .coupon-offers-grid.ips-anim-visible > :nth-child(n+6),
body.ips-anim-ready .coupon-offers-page.ips-anim-visible .coupon-offers-grid > :nth-child(n+6) { transition-delay: 1.20s !important; }

/* 8. ALL CATEGORIES: CATEGORY CARDS STAGGERED WAVE */
body.ips-anim-ready .elvora-cats-grid-layout .elvora-parent-cat-card {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 0.55s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.55s cubic-bezier(0.16, 1, 0.3, 1) !important;
    will-change: transform, opacity;
}
body.ips-anim-ready .elvora-categories-page.ips-anim-visible .elvora-parent-cat-card,
body.ips-anim-ready .elvora-cats-grid-layout.ips-anim-visible .elvora-parent-cat-card,
body.ips-anim-ready .ips-anim-visible .elvora-parent-cat-card {
    opacity: 1 !important;
    transform: translateY(0) !important;
}
body.ips-anim-ready .elvora-cats-grid-layout.ips-anim-visible > :nth-child(1),
body.ips-anim-ready .elvora-categories-page.ips-anim-visible .elvora-cats-grid-layout > :nth-child(1) { transition-delay: 0.55s !important; }
body.ips-anim-ready .elvora-cats-grid-layout.ips-anim-visible > :nth-child(2),
body.ips-anim-ready .elvora-categories-page.ips-anim-visible .elvora-cats-grid-layout > :nth-child(2) { transition-delay: 0.68s !important; }
body.ips-anim-ready .elvora-cats-grid-layout.ips-anim-visible > :nth-child(3),
body.ips-anim-ready .elvora-categories-page.ips-anim-visible .elvora-cats-grid-layout > :nth-child(3) { transition-delay: 0.80s !important; }
body.ips-anim-ready .elvora-cats-grid-layout.ips-anim-visible > :nth-child(4),
body.ips-anim-ready .elvora-categories-page.ips-anim-visible .elvora-cats-grid-layout > :nth-child(4) { transition-delay: 0.92s !important; }
body.ips-anim-ready .elvora-cats-grid-layout.ips-anim-visible > :nth-child(5),
body.ips-anim-ready .elvora-categories-page.ips-anim-visible .elvora-cats-grid-layout > :nth-child(5) { transition-delay: 1.04s !important; }
body.ips-anim-ready .elvora-cats-grid-layout.ips-anim-visible > :nth-child(6),
body.ips-anim-ready .elvora-categories-page.ips-anim-visible .elvora-cats-grid-layout > :nth-child(6) { transition-delay: 1.16s !important; }
body.ips-anim-ready .elvora-cats-grid-layout.ips-anim-visible > :nth-child(n+7),
body.ips-anim-ready .elvora-categories-page.ips-anim-visible .elvora-cats-grid-layout > :nth-child(n+7) { transition-delay: 1.28s !important; }

/* 9. ALL BRANDS: ALPHABET BAR & BRAND CARDS STAGGERED WAVE */
body.ips-anim-ready .elvora-brand-alphabet-bar {
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 0.50s cubic-bezier(0.16, 1, 0.3, 1) 0.58s,
                transform 0.50s cubic-bezier(0.16, 1, 0.3, 1) 0.58s !important;
    will-change: transform, opacity;
}
body.ips-anim-ready .elvora-brands-page.ips-anim-visible .elvora-brand-alphabet-bar,
body.ips-anim-ready .ips-anim-visible .elvora-brand-alphabet-bar {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

body.ips-anim-ready .elvora-brands-grid .elvora-brand-card-item {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.52s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.52s cubic-bezier(0.16, 1, 0.3, 1) !important;
    will-change: transform, opacity;
}
body.ips-anim-ready .elvora-brands-page.ips-anim-visible .elvora-brand-card-item,
body.ips-anim-ready .elvora-brands-grid.ips-anim-visible .elvora-brand-card-item,
body.ips-anim-ready .ips-anim-visible .elvora-brand-card-item {
    opacity: 1 !important;
    transform: translateY(0) !important;
}
body.ips-anim-ready .elvora-brands-grid.ips-anim-visible > :nth-child(1),
body.ips-anim-ready .elvora-brands-page.ips-anim-visible .elvora-brands-grid > :nth-child(1) { transition-delay: 0.65s !important; }
body.ips-anim-ready .elvora-brands-grid.ips-anim-visible > :nth-child(2),
body.ips-anim-ready .elvora-brands-page.ips-anim-visible .elvora-brands-grid > :nth-child(2) { transition-delay: 0.73s !important; }
body.ips-anim-ready .elvora-brands-grid.ips-anim-visible > :nth-child(3),
body.ips-anim-ready .elvora-brands-page.ips-anim-visible .elvora-brands-grid > :nth-child(3) { transition-delay: 0.81s !important; }
body.ips-anim-ready .elvora-brands-grid.ips-anim-visible > :nth-child(4),
body.ips-anim-ready .elvora-brands-page.ips-anim-visible .elvora-brands-grid > :nth-child(4) { transition-delay: 0.89s !important; }
body.ips-anim-ready .elvora-brands-grid.ips-anim-visible > :nth-child(5),
body.ips-anim-ready .elvora-brands-page.ips-anim-visible .elvora-brands-grid > :nth-child(5) { transition-delay: 0.97s !important; }
body.ips-anim-ready .elvora-brands-grid.ips-anim-visible > :nth-child(6),
body.ips-anim-ready .elvora-brands-page.ips-anim-visible .elvora-brands-grid > :nth-child(6) { transition-delay: 1.05s !important; }
body.ips-anim-ready .elvora-brands-grid.ips-anim-visible > :nth-child(7),
body.ips-anim-ready .elvora-brands-page.ips-anim-visible .elvora-brands-grid > :nth-child(7) { transition-delay: 1.13s !important; }
body.ips-anim-ready .elvora-brands-grid.ips-anim-visible > :nth-child(8),
body.ips-anim-ready .elvora-brands-page.ips-anim-visible .elvora-brands-grid > :nth-child(8) { transition-delay: 1.21s !important; }
body.ips-anim-ready .elvora-brands-grid.ips-anim-visible > :nth-child(9),
body.ips-anim-ready .elvora-brands-page.ips-anim-visible .elvora-brands-grid > :nth-child(9) { transition-delay: 1.29s !important; }
body.ips-anim-ready .elvora-brands-grid.ips-anim-visible > :nth-child(10),
body.ips-anim-ready .elvora-brands-page.ips-anim-visible .elvora-brands-grid > :nth-child(10) { transition-delay: 1.37s !important; }
body.ips-anim-ready .elvora-brands-grid.ips-anim-visible > :nth-child(n+11),
body.ips-anim-ready .elvora-brands-page.ips-anim-visible .elvora-brands-grid > :nth-child(n+11) { transition-delay: 1.45s !important; }

/* ==================== SINGLE PRODUCT REFINEMENTS (POINT 6) ==================== */
.product-details .theme-sp-product-top-row {
    align-items: flex-start !important;
}
.product-details .theme-sp-product-summary-col,
.product-details .theme-sp-product-gallery-col {
    align-self: flex-start !important;
}
.product-details .thumb-container,
.product-details .thumb-container .swiper-slide,
.product-details .thumb-container .swiper-slide img,
.theme-sp-gallery-row .thumb-container,
.theme-sp-gallery-row .thumb-container .swiper-slide,
.theme-sp-gallery-row .thumb-container .swiper-slide img {
    border-radius: 4px !important;
}
.product-details .theme-sp-pricing-qty-card__meta,
.product-details .theme-sp-pricing-qty-card__stock,
.product-details .theme-sp-pricing-qty-card__aside .theme-sp-pricing-qty-card__stock {
    margin-top: 14px !important;
}

/* 3. CONTINUOUS SECTION TRANSITION - CLEAN PURE WHITE (NO SECTION BORDERS) */
.ips-portal section,
.ips-portal .cc-home-section,
.ips-portal .cc-home-section > section,
.ips-why-section,
.ips-trusted-brands-section,
.ips-calculator-section,
.ips-category-grid-section,
.ips-projects-showcase-section,
.ips-product-grid-section,
.ips-combo-section,
.ips-trust-section,
.ips-projects-section,
.ips-brands-row,
.cc-home-section,
.cc-custom-reviews-section {
    position: relative;
    background: #ffffff !important;
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    border-left: none !important;
    border-right: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.cc-home-section::before,
.cc-home-section::after,
.ips-portal section::before,
.ips-portal section::after,
.ips-why-section::before,
.ips-why-section::after,
.ips-trusted-brands-section::before,
.ips-trusted-brands-section::after,
.ips-projects-showcase-section::before,
.ips-projects-showcase-section::after {
    display: none !important;
    content: none !important;
    border: none !important;
}

/* ==================== HOMEPAGE SECTION SPACING (HOMEPAGE EDITOR DYNAMIC) ==================== */
.cc-home-section,
.ips-portal .cc-home-section {
    padding-top: var(--cc-section-mt, 20px) !important;
    padding-bottom: var(--cc-section-mb, 20px) !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    box-sizing: border-box !important;
}

@media (max-width: 767.98px) {
    .cc-home-section,
    .ips-portal .cc-home-section {
        padding-top: var(--cc-section-mt-mob, var(--cc-section-mt, 15px)) !important;
        padding-bottom: var(--cc-section-mb-mob, var(--cc-section-mb, 15px)) !important;
    }
}

.cc-home-section > .cc-hero-slider-section {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.cc-home-section > section,
.cc-home-section > div:not(.container):not(.row):not(.cc-hero-slider-section),
.cc-home-section > .ips-why-section,
.cc-home-section > .ips-calculator-section,
.cc-home-section > .ips-projects-showcase-section,
.cc-home-section > .ips-trusted-brands-section,
.cc-home-section > .ips-product-grid-section,
.cc-home-section > .ips-category-grid-section,
.cc-home-section > .cc-newest-products-section,
.cc-home-section > .ips-reviews-section,
.cc-home-section > .ips-home-marquee-section,
.cc-home-section > .ips-home-slider-section,
.cc-home-section > .ips-combo-section,
.cc-home-section > .ips-trust-section,
.cc-home-section > .ips-projects-section,
.cc-home-section > .cc-custom-reviews-section {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* 4. SCROLLING TEXT MARQUEE ENHANCEMENT */
.ips-marquee-card {
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}
.ips-marquee-card:hover {
    border-color: color-mix(in srgb, var(--ips-primary) 35%, transparent) !important;
    box-shadow: 0 8px 24px -4px color-mix(in srgb, var(--ips-primary) 12%, transparent) !important;
}
.ips-marquee-card:hover .ips-marquee-content {
    animation-play-state: paused;
}
.ips-marquee-item {
    transition: color 0.25s ease;
}
.ips-marquee-card:hover .ips-marquee-item {
    color: #0f172a;
}

/* 5. SINGLE PRODUCT PAGE MOTION-DRIVEN EXPERIENCE */
.product-details {
    position: relative;
    background: #ffffff;
    font-family: var(--ips-font, 'Plus Jakarta Sans', sans-serif);
}

/* Product Title Mask Entrance */
.theme-sp-title {
    font-size: 1.65rem !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    line-height: 1.32 !important;
    margin-bottom: 12px !important;
}

/* Gallery main frame — clean transparent canvas (No extra background or hover shadow) */
.theme-sp-gallery-shell,
.theme-sp-gallery-shell:hover,
.product-slider-wrapper,
.product-slider-wrapper:hover {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: none !important;
}

.product-details .thumb-container {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: none !important;
    height: auto !important;
    max-height: 528px;
}

/* Thumbnail Focus & Spring Feedback */
.product-slider-wrapper .swiper-slide-thumb-active,
.product-slider-wrapper .slick-current .theme-sp-thumb-item,
.theme-sp-thumb-item.active {
    border-color: var(--ips-primary) !important;
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--ips-primary) 35%, transparent), 0 4px 10px color-mix(in srgb, var(--ips-primary) 18%, transparent) !important;
    transform: scale(1.04);
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Price Tag Dynamic Micro-Entrance */
.theme-sp-price {
    font-size: 1.75rem !important;
    font-weight: 900 !important;
    color: var(--ips-primary) !important;
    display: inline-flex;
    align-items: baseline;
    transition: transform 0.25s ease;
}

/* Stock Status Live Indicator (Single Clean Indicator, No Double Dot) */
.theme-sp-stock-badge::before {
    content: none !important;
    display: none !important;
}
.theme-sp-stock-badge,
.theme-sp-stock-status {
    position: relative;
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    padding: 4px 12px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(22, 163, 74, 0.35) !important;
    background: rgba(15, 76, 92, 0.08) !important;
    color: #0B3B47 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
}
.theme-sp-stock-badge--out-of-stock {
    border-color: rgba(239, 68, 68, 0.35) !important;
    background: #fef2f2 !important;
    color: #991b1b !important;
}
.theme-sp-stock-badge .theme-sp-stock-badge__dot {
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background: #22c55e !important;
    display: inline-block !important;
    box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.25) !important;
    animation: ipsDotBreathe 2s ease-in-out infinite !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
}
.theme-sp-stock-badge--out-of-stock .theme-sp-stock-badge__dot {
    background: #ef4444 !important;
    box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.25) !important;
    animation: none !important;
}

/* Quantity Stepper Direct Manipulation */
.theme-sp-qty-stepper .btn-number,
.theme-sp-qty-stepper button {
    transition: transform 0.14s cubic-bezier(0.34, 1.56, 0.64, 1),
                background 0.2s ease,
                color 0.2s ease !important;
    user-select: none;
}
.theme-sp-qty-stepper .btn-number:hover,
.theme-sp-qty-stepper button:hover {
    background: #eafaf1 !important;
    color: var(--ips-primary) !important;
    transform: scale(1.12);
}
.theme-sp-qty-stepper .btn-number:active,
.theme-sp-qty-stepper button:active {
    transform: scale(0.88) !important;
}

/* "Add to Cart" Purchase Button (Emerald Green with Cart Bounce) */
.theme-sp-purchase-btn--cart,
#added_to_cart_btn {
    background: var(--ips-primary) !important;
    border-color: var(--ips-primary) !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    border-radius: var(--ips-radius-sm, 6px) !important;
    transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1),
                background 0.2s ease,
                box-shadow 0.25s ease !important;
    position: relative;
    overflow: hidden;
}
.theme-sp-purchase-btn--cart:hover,
#added_to_cart_btn:hover {
    background: #0F4C5C !important;
    border-color: #0F4C5C !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px color-mix(in srgb, var(--ips-primary) 35%, transparent) !important;
}
.theme-sp-purchase-btn--cart:hover svg,
.theme-sp-purchase-btn--cart:hover i,
#added_to_cart_btn:hover svg,
#added_to_cart_btn:hover i {
    transform: scale(1.16) rotate(-6deg);
    transition: transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.theme-sp-purchase-btn--cart:active,
#added_to_cart_btn:active {
    transform: translateY(0) scale(0.95) !important;
}

/* "Buy Now" Purchase Button (Deep Navy with Light Sheen) */
.theme-sp-purchase-btn--buy,
.buy-now {
    background: #0f172a !important;
    border-color: #0f172a !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    border-radius: var(--ips-radius-sm, 6px) !important;
    transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1),
                background 0.2s ease,
                box-shadow 0.25s ease !important;
    position: relative;
    overflow: hidden;
}
.theme-sp-purchase-btn--buy::after,
.buy-now::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.22), transparent);
    transform: skewX(-20deg);
    transition: none;
    pointer-events: none;
}
.theme-sp-purchase-btn--buy:hover::after,
.buy-now:hover::after {
    left: 140%;
    transition: left 0.65s cubic-bezier(0.16, 1, 0.3, 1);
}
.theme-sp-purchase-btn--buy:hover,
.buy-now:hover {
    background: #1e293b !important;
    border-color: #1e293b !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.3) !important;
}
.theme-sp-purchase-btn--buy:active,
.buy-now:active {
    transform: translateY(0) scale(0.95) !important;
}

/* "Order on WhatsApp" Full Button */
.btn-order-whatsapp-full,
.theme-sp-wa-btn {
    background: #25D366 !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    box-shadow: 0 4px 16px rgba(37, 211, 102, 0.3) !important;
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 0.25s ease,
                background 0.2s ease !important;
}
.btn-order-whatsapp-full:hover,
.theme-sp-wa-btn:hover {
    background: #1ebc59 !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(37, 211, 102, 0.45) !important;
}
.btn-order-whatsapp-full:active,
.theme-sp-wa-btn:active {
    transform: translateY(0) scale(0.96) !important;
}
.theme-sp-wa-btn__icon {
    font-size: 1.25rem;
    transition: transform 0.25s ease;
}
.theme-sp-wa-btn:hover .theme-sp-wa-btn__icon {
    transform: scale(1.15);
}

/* Product Tabs Transition & Smooth Underline */
.theme-sp-tabs-wrap .nav-link {
    position: relative;
    transition: color 0.25s ease;
}
.theme-sp-tabs-wrap .nav-link:hover {
    color: var(--ips-primary) !important;
}
.tab-underline {
    transition: left 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                width 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
    background: var(--ips-primary) !important;
    height: 3px !important;
    border-radius: 9999px;
}
#product-tab-sections > div,
.theme-sp-tabs-desktop-sections > div {
    animation: ipsTabPanelFade 0.38s cubic-bezier(0.16, 1, 0.3, 1) both;
}
@keyframes ipsTabPanelFade {
    0% {
        opacity: 0;
        transform: translateY(10px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 13. REDUCED MOTION PREFERENCE (ACCESSIBILITY) */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
    body.ips-anim-ready .ips-anim-reveal,
    .ips-mask-reveal-inner {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* ==================== 14. SINGLE PRODUCT PAGE UNIFIED PRICE & ৳ SIGN ==================== */
.product-details .theme-sp-price-current,
.theme-sp-summary-pricing .theme-sp-price-current,
#chosen_price {
    font-size: 1.85rem !important;
    font-weight: 900 !important;
    color: #0f172a !important;
    display: inline-flex !important;
    align-items: baseline !important;
    line-height: 1 !important;
    font-family: var(--ips-font) !important;
}

.product-details .theme-sp-price-current .currency,
.theme-sp-summary-pricing .theme-sp-price-current .currency,
#chosen_price .currency {
    color: var(--ips-primary) !important;
    font-size: 1.35rem !important;
    font-weight: 800 !important;
    margin-left: 2px !important;
    margin-right: 0 !important;
    display: inline-block !important;
}

.product-details .theme-sp-price-old,
.theme-sp-summary-pricing .theme-sp-price-old,
#product_summary_price_old {
    font-size: 1.05rem !important;
    color: #94a3b8 !important;
    text-decoration: line-through !important;
    margin-right: 8px !important;
    font-weight: 500 !important;
    display: inline-flex !important;
    align-items: baseline !important;
    font-family: var(--ips-font) !important;
}

.product-details .theme-sp-price-old .currency,
.theme-sp-summary-pricing .theme-sp-price-old .currency,
#product_summary_price_old .currency {
    color: inherit !important;
    font-size: 0.9em !important;
    margin-left: 1px !important;
}

/* ==================== 15. PREMIUM DUAL BRAND POPUPS ==================== */
.ips-bp-overlay {
    position: fixed;
    inset: 0;
    z-index: 999998;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.32s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.32s ease;
}
.ips-bp-overlay.ips-bp-active {
    opacity: 1;
    visibility: visible;
}
.ips-bp-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.72);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.ips-bp-modal-wrap {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 640px;
    transform: scale(0.92) translateY(16px);
    transition: transform 0.36s cubic-bezier(0.16, 1, 0.3, 1);
}
.ips-bp-overlay.ips-bp-active .ips-bp-modal-wrap {
    transform: scale(1) translateY(0);
}
.ips-bp-card {
    position: relative;
    background: #ffffff;
    border-radius: 24px;
    border: 1.5px solid rgba(226, 232, 240, 0.9);
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.35), 0 0 0 1px rgba(0, 0, 0, 0.04);
    overflow: hidden;
}
.ips-bp-close-btn {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 10;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid #e2e8f0;
    background: #ffffff;
    color: #64748b;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
}
.ips-bp-close-btn:hover {
    background: #fee2e2;
    border-color: #fca5a5;
    color: #ef4444;
    transform: rotate(90deg);
}

/* ==================== ULTRA-PREMIUM POPUP SUITE ==================== */
/* Header & Segmented Pill Switcher */
.ips-bp-header-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    padding: 14px 20px;
    gap: 12px;
}
.ips-bp-segmented-control {
    display: inline-flex;
    align-items: center;
    background: #e2e8f0;
    padding: 4px;
    border-radius: 999px;
    gap: 4px;
}
.ips-bp-segmented-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 16px;
    border-radius: 999px;
    border: none;
    background: transparent;
    font-size: 0.88rem;
    font-weight: 700;
    color: #475569;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}
.ips-bp-segmented-btn:hover {
    color: #0f172a;
}
.ips-bp-segmented-btn.active {
    background: #ffffff;
    color: #0f172a;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
}
.ips-bp-timer-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    font-weight: 800;
    color: #64748b;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    padding: 5px 10px;
    border-radius: 999px;
    margin-right: 40px;
}
.ips-bp-badge-free {
    font-size: 9px;
    font-weight: 800;
    padding: 2px 7px;
    border-radius: 999px;
    background: #10b981;
    color: #ffffff;
    letter-spacing: 0.04em;
    animation: ipsPulse 1.8s infinite;
}
.ips-bp-pane {
    display: none;
    padding: 28px 32px 32px;
}
.ips-bp-pane.active {
    display: block;
    animation: ipsPaneFadeIn 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes ipsPaneFadeIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Official Notice Tab Styling */
.ips-bp-notice-top {
    margin-bottom: 18px;
}
.ips-bp-official-seal-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 5px 12px;
    border-radius: 999px;
    background: rgba(15, 76, 92, 0.08);
    border: 1px solid #bbf7d0;
    color: #0B3B47;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.05em;
    margin-bottom: 12px;
}
.ips-bp-notice-headline {
    font-size: 1.45rem;
    font-weight: 900;
    color: #0f172a;
    line-height: 1.35;
    margin: 0;
    font-family: var(--ips-font);
}
.ips-bp-notice-card {
    background: #f8fafc;
    border: 1.5px solid #e2e8f0;
    border-radius: 16px;
    padding: 18px;
    margin-bottom: 20px;
}
.ips-bp-notice-alert-box {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    background: #fffbeb;
    border: 1px solid #fde68a;
    color: #92400e;
    padding: 10px 14px;
    border-radius: 10px;
    font-size: 0.9rem;
    line-height: 1.5;
    margin-bottom: 14px;
}
.ips-bp-notice-warn-icon {
    font-size: 18px;
    color: #d97706;
    flex-shrink: 0;
    margin-top: 2px;
}
.ips-bp-notice-msg {
    font-size: 0.95rem;
    line-height: 1.65;
    color: #334155;
    font-weight: 500;
    margin-bottom: 16px;
}
.ips-bp-auth-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    border-radius: 12px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03);
}
.ips-bp-auth-left {
    display: flex;
    align-items: center;
    gap: 12px;
}
.ips-bp-auth-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #ecfdf5;
    color: #10b981;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
}
.ips-bp-auth-info {
    display: flex;
    flex-direction: column;
}
.ips-bp-auth-label {
    font-size: 11px;
    color: #64748b;
    font-weight: 600;
}
.ips-bp-auth-name {
    font-size: 15px;
    font-weight: 900;
    color: #0f172a;
    margin: 1px 0;
}
.ips-bp-auth-role {
    font-size: 11px;
    color: #10b981;
    font-weight: 700;
}
.ips-bp-crest-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.08em;
    color: #0F4C5C;
    background: rgba(29, 78, 216, 0.12);
    border: 1px solid #86efac;
    padding: 4px 10px;
    border-radius: 999px;
}
.ips-bp-notice-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 20px;
}
.ips-bp-btn-ack {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    border-radius: 12px;
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
    color: #ffffff;
    font-size: 0.95rem;
    font-weight: 700;
    border: none;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(16, 185, 129, 0.35);
    transition: all 0.25s ease;
}
.ips-bp-btn-ack:hover {
    background: linear-gradient(135deg, #059669 0%, #047857 100%);
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(16, 185, 129, 0.45);
}
.ips-bp-btn-alt {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1.5px solid #cbd5e1;
    color: #1e293b;
    font-size: 0.92rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s ease;
}
.ips-bp-btn-alt:hover {
    background: #f1f5f9;
    border-color: #94a3b8;
    color: #0f172a;
}

/* Free Delivery Shell */
.ips-bp-delivery-shell {
    text-align: center;
}
.ips-bp-delivery-truck-wrap {
    position: relative;
    width: 140px;
    height: 70px;
    margin: 0 auto 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ips-bp-truck-emoji {
    font-size: 48px;
    position: relative;
    z-index: 2;
    animation: ipsTruckBounce 0.8s ease-in-out infinite alternate;
}
@keyframes ipsTruckBounce {
    0% { transform: translateY(0) scale(1); }
    100% { transform: translateY(-4px) scale(1.02); }
}
.ips-bp-truck-road {
    position: absolute;
    bottom: 8px;
    left: 10px;
    right: 10px;
    height: 3px;
    border-radius: 999px;
    background: #e2e8f0;
}
.ips-bp-speed-wind {
    position: absolute;
    height: 2px;
    border-radius: 999px;
    background: #10b981;
}
.ips-bp-wind-1 {
    width: 24px;
    left: 6px;
    top: 24px;
    animation: ipsWind 0.6s linear infinite;
}
.ips-bp-wind-2 {
    width: 16px;
    left: 14px;
    top: 36px;
    animation: ipsWind 0.6s linear infinite 0.2s;
}
@keyframes ipsWind {
    0% { transform: translateX(0); opacity: 1; }
    100% { transform: translateX(-20px); opacity: 0; }
}
.ips-bp-delivery-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 14px;
    border-radius: 999px;
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    color: #059669;
    font-size: 11px;
    font-weight: 800;
    margin-bottom: 12px;
}
.ips-bp-delivery-title {
    font-size: 1.85rem;
    font-weight: 900;
    color: #0f172a;
    line-height: 1.25;
    margin-bottom: 12px;
    font-family: var(--ips-font);
}
.ips-bp-highlight-64 {
    color: #10b981;
    background: linear-gradient(120deg, rgba(16, 185, 129, 0.12) 0%, rgba(16, 185, 129, 0.24) 100%);
    padding: 2px 8px;
    border-radius: 8px;
}
.ips-bp-delivery-sub {
    font-size: 0.98rem;
    line-height: 1.6;
    color: #475569;
    max-width: 520px;
    margin: 0 auto 24px;
    font-weight: 500;
}
.ips-bp-perks-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 24px;
    text-align: left;
}
.ips-bp-perk-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}
.ips-bp-perk-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: #ecfdf5;
    color: #10b981;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
}
.ips-bp-perk-meta strong {
    display: block;
    font-size: 12px;
    color: #0f172a;
    font-weight: 800;
}
.ips-bp-perk-meta span {
    display: block;
    font-size: 11px;
    color: #64748b;
}
.ips-bp-delivery-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}
.ips-bp-btn-shop {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 32px;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--ips-primary) 0%, #0F4C5C 100%);
    color: #ffffff !important;
    font-size: 1rem;
    font-weight: 800;
    text-decoration: none !important;
    box-shadow: 0 10px 24px -4px color-mix(in srgb, var(--ips-primary) 45%, transparent);
    transition: all 0.24s ease;
}
.ips-bp-btn-shop:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px -4px color-mix(in srgb, var(--ips-primary) 55%, transparent);
}
.ips-bp-btn-secondary {
    padding: 14px 22px;
    border-radius: 14px;
    background: #f1f5f9;
    color: #475569;
    font-size: 0.95rem;
    font-weight: 700;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
}
.ips-bp-btn-secondary:hover {
    background: #e2e8f0;
}

/* 5-Second Auto-Close Progress Bar & Timer Pill */
.ips-bp-timer-bar {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3.5px;
    background: #f1f5f9;
    overflow: hidden;
    z-index: 20;
}
.ips-bp-timer-fill {
    height: 100%;
    width: 100%;
    background: linear-gradient(90deg, #10b981 0%, var(--ips-primary) 60%, #059669 100%);
    transform-origin: left center;
    transition: transform 0.1s linear;
}
@keyframes ipsBpTimer {
    from { transform: scaleX(1); }
    to { transform: scaleX(0); }
}
.ips-bp-auto-timer-pill {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    font-weight: 700;
    color: #64748b;
    background: #ffffff;
    padding: 3px 10px;
    border-radius: 999px;
    border: 1px solid #e2e8f0;
    align-self: center;
    margin-right: 48px;
}
.ips-bp-auto-timer-pill i {
    color: var(--ips-primary);
    font-size: 13px;
}
@media (max-width: 575.98px) {
    .ips-bp-notice-grid {
        grid-template-columns: 1fr;
    }
    .ips-bp-notice-visual {
        display: none;
    }
    .ips-bp-perks-row {
        grid-template-columns: 1fr;
    }
    .ips-bp-pane {
        padding: 20px 20px 24px;
    }
    .ips-bp-notice-title {
        font-size: 1.75rem;
    }
    .ips-bp-delivery-title {
        font-size: 1.45rem;
    }
    .ips-bp-floating-pill {
        bottom: 74px;
        left: 14px;
    }
}

/* ==================== 16. INTERACTIVE SMART PRELOADER COCKPIT ==================== */
.theme-preloader-cockpit {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 440px;
    width: 100%;
}
.theme-preloader-display-hud {
    margin-top: 14px;
    width: 100%;
    background: rgba(255, 255, 255, 0.95);
    border: 1.5px solid color-mix(in srgb, var(--ips-primary) 25%, transparent);
    border-radius: 20px;
    padding: 16px 20px;
    box-shadow: 0 16px 36px -6px color-mix(in srgb, var(--ips-primary) 14%, transparent), 0 4px 12px rgba(15, 23, 42, 0.05);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
html.theme-dark-mode .theme-preloader-display-hud {
    background: rgba(15, 23, 42, 0.94);
    border-color: color-mix(in srgb, var(--ips-primary) 40%, transparent);
    box-shadow: 0 16px 36px -6px rgba(0, 0, 0, 0.65);
}
.theme-preloader-hud-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}
.theme-preloader-hud-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.06em;
    color: #0F4C5C;
    background: #ecfdf5;
    padding: 4px 10px;
    border-radius: 999px;
    border: 1px solid #a7f3d0;
}
html.theme-dark-mode .theme-preloader-hud-pill {
    background: rgba(16, 185, 129, 0.14);
    border-color: rgba(16, 185, 129, 0.35);
    color: #34d399;
}
.theme-preloader-hud-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #10b981;
    box-shadow: 0 0 6px #10b981;
    animation: ipsPulse 1.2s infinite;
}
.theme-preloader-sine-wave svg path {
    stroke-dasharray: 60;
    animation: ipsSineFlow 1.8s linear infinite;
}
@keyframes ipsSineFlow {
    to { stroke-dashoffset: -120; }
}
.theme-preloader-stats-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    border-radius: 14px;
    background: #f8fafc;
    border: 1px solid #f1f5f9;
    margin-bottom: 14px;
}
html.theme-dark-mode .theme-preloader-stats-row {
    background: rgba(30, 41, 59, 0.7);
    border-color: rgba(51, 65, 85, 0.8);
}
.theme-preloader-stat-col {
    display: flex;
    flex-direction: column;
    text-align: left;
}
.theme-preloader-stat-label {
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.08em;
    color: #64748b;
    margin-bottom: 2px;
}
.theme-preloader-wattage-wrap {
    display: flex;
    align-items: baseline;
    gap: 3px;
}
.theme-preloader-watt-num {
    font-size: 1.35rem;
    font-weight: 900;
    color: #0f172a;
    font-family: var(--ips-font);
    line-height: 1;
}
html.theme-dark-mode .theme-preloader-watt-num {
    color: #ffffff;
}
.theme-preloader-watt-unit {
    font-size: 0.8rem;
    font-weight: 800;
    color: #10b981;
}
.theme-preloader-stat-sep {
    width: 1px;
    height: 28px;
    background: #e2e8f0;
}
html.theme-dark-mode .theme-preloader-stat-sep {
    background: rgba(255, 255, 255, 0.1);
}
.theme-preloader-battery-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
}
.theme-preloader-battery-shell {
    position: relative;
    width: 32px;
    height: 16px;
    border: 2px solid #10b981;
    border-radius: 4px;
    padding: 2px;
}
.theme-preloader-battery-bar {
    height: 100%;
    width: 70%;
    background: linear-gradient(90deg, #10b981, #22c55e);
    border-radius: 2px;
    transition: width 0.2s ease;
}
.theme-preloader-battery-nipple {
    position: absolute;
    right: -5px;
    top: 3px;
    width: 3px;
    height: 6px;
    background: #10b981;
    border-radius: 0 2px 2px 0;
}
.theme-preloader-batt-num {
    font-size: 1.15rem;
    font-weight: 900;
    color: #10b981;
    line-height: 1;
}
.theme-preloader-boost-btn {
    width: 100%;
    margin-top: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(15, 76, 92, 0.08) 0%, rgba(29, 78, 216, 0.12) 100%);
    border: 1.5px solid #86efac;
    color: #0F4C5C;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: all 0.24s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 4px 12px rgba(34, 197, 94, 0.15);
}
.theme-preloader-boost-btn:hover {
    transform: translateY(-1px) scale(1.02);
    background: linear-gradient(135deg, rgba(29, 78, 216, 0.12) 0%, #bbf7d0 100%);
    box-shadow: 0 8px 20px rgba(34, 197, 94, 0.3);
}
.theme-preloader-boost-hint {
    background: #0F4C5C;
    color: #ffffff;
    padding: 2px 6px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 800;
    margin-left: auto;
}
.theme-preloader-surging {
    animation: themeSurgeFade 0.25s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@keyframes themeSurgeFade {
    0% { transform: scale(1); filter: drop-shadow(0 0 0 color-mix(in srgb, var(--ips-primary) 0%, transparent)); }
    50% { transform: scale(1.04); filter: drop-shadow(0 0 30px color-mix(in srgb, var(--ips-primary) 80%, transparent)); }
    100% { transform: scale(1.08); opacity: 0; }
}

/* ==========================================================================
   COMPLETE UNIVERSAL RESPONSIVE SUITE (POINT 6 - MOBILE, TABLET & WIDESCREEN)
   ========================================================================== */

/* 1. Global Viewport Safety: Zero Horizontal Scroll / Wobble & Single Clean Scrollbar */
html {
    overflow-x: hidden !important;
    overflow-y: scroll !important;
    max-width: 100vw;
}
body {
    overflow-x: hidden !important;
    overflow-y: visible !important;
    max-width: 100vw;
}
.cibato-main-wrapper,
.cibato-site-content,
.ips-portal {
    overflow-x: clip !important;
    overflow-y: visible !important;
    width: 100% !important;
}

/* Master Global Footer Clearance Across All Storefront Pages (Matching Homepage Spacing) */
.cibato-site-content {
    flex: 1 0 auto;
    padding-bottom: 30px !important;
}

.elvora-about-wrap,
.elvora-contact-page,
.elvora-categories-page,
.elvora-brands-page,
.coupon-offers-page,
.elvora-best-page,
.theme-shop-listing-wrap {
    padding-bottom: 30px !important;
    margin-bottom: 0 !important;
}

.elvora-bottom-cta-white {
    margin-bottom: 30px !important;
}

.elvora-cats-grid-layout,
.elvora-brands-grid,
.elvora-best-grid,
.coupon-offers-grid,
.elvora-contact-main-grid {
    margin-bottom: 30px !important;
}

/* Strict Spacing Engine: Homepage Editor spacing holds across ALL viewports (Mobile, Tablet, Desktop) */
.cc-home-section,
.ips-portal .cc-home-section {
    padding-top: var(--cc-section-mt, 20px) !important;
    padding-bottom: var(--cc-section-mb, 20px) !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    box-sizing: border-box !important;
}
@media (max-width: 767.98px) {
    .cc-home-section,
    .ips-portal .cc-home-section {
        padding-top: var(--cc-section-mt-mob, var(--cc-section-mt, 15px)) !important;
        padding-bottom: var(--cc-section-mb-mob, var(--cc-section-mb, 15px)) !important;
    }
}
.cc-home-section > .cc-hero-slider-section {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.cc-home-section > section,
.cc-home-section > div:not(.container):not(.row):not(.cc-hero-slider-section),
.cc-home-section > .ips-why-section,
.cc-home-section > .ips-calculator-section,
.cc-home-section > .ips-projects-showcase-section,
.cc-home-section > .ips-trusted-brands-section,
.cc-home-section > .ips-product-grid-section,
.cc-home-section > .ips-category-grid-section,
.cc-home-section > .cc-newest-products-section,
.cc-home-section > .ips-reviews-section,
.cc-home-section > .ips-home-marquee-section,
.cc-home-section > .ips-home-slider-section,
.cc-home-section > .ips-combo-section,
.cc-home-section > .ips-trust-section,
.cc-home-section > .ips-projects-section,
.cc-home-section > .cc-custom-reviews-section {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}


/* 2. Universal Section Headings Responsiveness */
@media (max-width: 767.98px) {
    .ips-section-heading-wrap {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
        margin-bottom: 20px !important;
    }
    .ips-main-section-title {
        font-size: 1.45rem !important;
        line-height: 1.25 !important;
    }
    .ips-main-section-sub {
        font-size: 0.86rem !important;
        line-height: 1.5 !important;
    }
    .ips-btn-view-all {
        font-size: 0.84rem !important;
        padding: 6px 14px 6px 16px !important;
        align-self: flex-start !important;
    }
}
@media (max-width: 479.98px) {
    .ips-main-section-title {
        font-size: 1.32rem !important;
    }
    .ips-main-section-sub {
        font-size: 0.82rem !important;
    }
}

/* 3. Calculator Section Universal Responsiveness */
@media (max-width: 991.98px) {
    .ips-calc-card {
        padding: 26px 22px !important;
        border-radius: 20px !important;
    }
    .ips-calc-inputs-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
    }
}
@media (max-width: 575.98px) {
    .ips-calc-card {
        padding: 18px 14px !important;
        border-radius: 16px !important;
    }
    .ips-calc-title {
        font-size: 1.3rem !important;
        line-height: 1.25 !important;
        margin-bottom: 6px !important;
    }
    .ips-calc-sub {
        font-size: 0.82rem !important;
        line-height: 1.45 !important;
        margin-bottom: 16px !important;
    }
    .ips-calc-inputs-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
        margin-bottom: 18px !important;
    }
    .ips-calc-input-box {
        padding: 12px 10px !important;
        border-radius: 12px !important;
    }
    .ips-calc-label {
        font-size: 0.72rem !important;
        margin-bottom: 8px !important;
        gap: 4px !important;
    }
    .ips-calc-num-val {
        font-size: 1.15rem !important;
    }
    .ips-calc-btn-step {
        width: 30px !important;
        height: 30px !important;
        font-size: 1rem !important;
        border-radius: 6px !important;
    }
    .ips-calc-meter-wrap {
        margin: 16px 0 !important;
    }
    .ips-calc-result-panel {
        padding: 16px 12px !important;
        border-radius: 14px !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 14px !important;
    }
    .ips-calc-stat-group {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
        width: 100% !important;
    }
    .ips-calc-stat-item:nth-child(3) {
        grid-column: span 2 !important;
    }
    .ips-calc-stat-label {
        font-size: 0.72rem !important;
    }
    .ips-calc-stat-val {
        font-size: 1.12rem !important;
    }
    #btn-calc-wa {
        width: 100% !important;
        justify-content: center !important;
        text-align: center !important;
        font-size: 0.88rem !important;
        padding: 12px 16px !important;
    }
}

/* 4. Why Choose Section Universal Responsiveness */
@media (max-width: 1199.98px) {
    .ips-why-layout-row {
        grid-template-columns: 240px 1fr 280px !important;
        gap: 16px !important;
    }
}
@media (max-width: 991.98px) {
    .ips-why-layout-row {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }
    .ips-why-left-card {
        padding: 10px 0 !important;
        text-align: left !important;
    }
    .ips-why-main-title {
        font-size: 1.85rem !important;
    }
    .ips-why-features-grid {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 12px !important;
    }
    .ips-why-greener-card {
        min-height: 260px !important;
    }
}
@media (max-width: 575.98px) {
    .ips-why-main-title {
        font-size: 1.5rem !important;
        line-height: 1.2 !important;
        margin-bottom: 10px !important;
    }
    .ips-why-sub {
        font-size: 0.86rem !important;
        line-height: 1.5 !important;
        margin-bottom: 18px !important;
    }
    .ips-why-features-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }
    .ips-why-feat-box {
        padding: 14px 12px !important;
        border-radius: 12px !important;
    }
    .ips-why-feat-icon {
        width: 38px !important;
        height: 38px !important;
        font-size: 1.25rem !important;
        margin-bottom: 8px !important;
        border-radius: 10px !important;
    }
    .ips-why-feat-title {
        font-size: 0.86rem !important;
        margin-bottom: 3px !important;
    }
    .ips-why-feat-desc {
        font-size: 0.74rem !important;
    }
    .ips-why-greener-card {
        min-height: 230px !important;
        padding: 20px 16px !important;
        border-radius: 16px !important;
    }
    .ips-why-greener-badge {
        font-size: 1.05rem !important;
        margin-bottom: 6px !important;
    }
    .ips-why-greener-badge i {
        font-size: 1.2rem !important;
    }
    .ips-why-greener-sub {
        font-size: 0.8rem !important;
        line-height: 1.45 !important;
        margin-bottom: 14px !important;
    }
}

/* 5. Projects Showcase Section Universal Responsiveness */
@media (max-width: 991.98px) {
    .ips-projects-head-wrap {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 16px !important;
        margin-bottom: 22px !important;
    }
    .ips-proj-header-left {
        max-width: 100% !important;
    }
    .ips-proj-metrics-deck {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }
}
@media (max-width: 575.98px) {
    .ips-proj-main-title {
        font-size: 1.4rem !important;
        line-height: 1.25 !important;
    }
    .ips-proj-sub {
        font-size: 0.84rem !important;
        line-height: 1.45 !important;
    }
    .ips-proj-metrics-deck {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
    }
    .ips-proj-metric-card {
        padding: 8px 10px !important;
        border-radius: 12px !important;
        gap: 8px !important;
    }
    .ips-proj-metric-icon {
        width: 36px !important;
        height: 36px !important;
        font-size: 1.15rem !important;
        border-radius: 10px !important;
    }
    .ips-proj-metric-title {
        font-size: 0.78rem !important;
    }
    .ips-proj-metric-count {
        font-size: 0.72rem !important;
    }
}

/* 6. Product & Brand Carousels Responsiveness */
@media (max-width: 767.98px) {
    .ips-product-carousel-wrapper {
        position: relative;
    }
    .ips-product-carousel-wrapper .ips-carousel-arrow {
        width: 34px !important;
        height: 34px !important;
        font-size: 14px !important;
    }
    .ips-brand-card {
        padding: 12px 8px !important;
        border-radius: 12px !important;
        min-height: 76px !important;
    }
}
@media (max-width: 479.98px) {
    .ips-brand-card .ips-cat-icon-wrap {
        width: 44px !important;
        height: 44px !important;
    }
    .ips-brand-card .ips-cat-name {
        font-size: 0.72rem !important;
    }
}

/* 7. Dual Brand Popup Mobile Excellence */
@media (max-width: 575.98px) {
    .ips-bp-modal-wrap {
        width: calc(100vw - 20px) !important;
        max-width: 100% !important;
        margin: 10px auto !important;
    }
    .ips-bp-card {
        border-radius: 18px !important;
        max-height: 85vh !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }
    .ips-bp-close-btn {
        top: 8px !important;
        right: 8px !important;
        width: 32px !important;
        height: 32px !important;
        background: #f1f5f9 !important;
        border: 1px solid #cbd5e1 !important;
        z-index: 50 !important;
    }
    .ips-bp-header-bar {
        padding: 10px 44px 10px 12px !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 8px !important;
    }
    .ips-bp-segmented-control {
        width: 100% !important;
        display: flex !important;
    }
    .ips-bp-segmented-btn {
        flex: 1 !important;
        justify-content: center !important;
        padding: 6px 8px !important;
        font-size: 0.76rem !important;
    }
    .ips-bp-timer-badge {
        margin-right: 0 !important;
        align-self: center !important;
        font-size: 10px !important;
        padding: 3px 8px !important;
    }
    .ips-bp-pane {
        padding: 16px 14px 20px !important;
    }
    .ips-bp-notice-headline {
        font-size: 1.15rem !important;
        line-height: 1.3 !important;
    }
    .ips-bp-notice-alert-box {
        padding: 10px 12px !important;
        font-size: 0.82rem !important;
    }
    .ips-bp-notice-msg {
        font-size: 0.85rem !important;
        line-height: 1.45 !important;
    }
    .ips-bp-auth-card {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 8px !important;
        padding: 10px 12px !important;
    }
    .ips-bp-notice-actions,
    .ips-bp-delivery-actions {
        flex-direction: column !important;
        width: 100% !important;
        gap: 8px !important;
    }
    .ips-bp-btn-ack,
    .ips-bp-btn-alt,
    .ips-bp-btn-shop,
    .ips-bp-btn-secondary {
        width: 100% !important;
        justify-content: center !important;
        text-align: center !important;
        padding: 11px 16px !important;
        font-size: 0.88rem !important;
    }
    .ips-bp-delivery-title {
        font-size: 1.35rem !important;
    }
    .ips-bp-delivery-sub {
        font-size: 0.84rem !important;
        margin-bottom: 16px !important;
    }
    .ips-bp-perks-row {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        margin-bottom: 18px !important;
    }
}

/* ==================== 10. CUSTOMER REVIEWS REDESIGN & CHOREOGRAPHY (MATCHING LOAD CALCULATOR) ==================== */
.ips-reviews-section {
    padding: 36px 0;
    position: relative;
}

.ips-reviews-card {
    background: #ffffff !important;
    border: 1.5px solid color-mix(in srgb, var(--ips-primary) 30%, transparent) !important;
    border-radius: 28px !important;
    padding: 24px 28px !important;
    box-shadow: 0 10px 30px -10px rgba(15, 23, 42, 0.05) !important;
    position: relative;
    overflow: visible !important;
    transition: border-color 0.34s ease, box-shadow 0.34s cubic-bezier(0.16, 1, 0.3, 1), transform 0.34s ease !important;
}

.ips-reviews-card:hover {
    border-color: color-mix(in srgb, var(--ips-primary) 45%, transparent) !important;
    box-shadow: 0 18px 42px -10px color-mix(in srgb, var(--ips-primary) 12%, transparent), 0 6px 18px rgba(15, 23, 42, 0.04) !important;
}

@media (max-width: 767.98px) {
    .ips-reviews-card {
        padding: 16px 14px !important;
        border-radius: 20px !important;
    }
}

/* Review Cards Framing */
.ips-review-item-card {
    background: #ffffff;
    border: 1.5px solid #edf2f7;
    border-radius: 20px;
    padding: 10px 10px 14px;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
    transition: transform 0.34s cubic-bezier(0.16, 1, 0.3, 1),
                border-color 0.34s ease,
                box-shadow 0.34s cubic-bezier(0.16, 1, 0.3, 1);
    height: 100%;
    display: flex;
    flex-direction: column;
}

.ips-review-item-card:hover {
    transform: translateY(-8px) scale(1.02);
    border-color: color-mix(in srgb, var(--ips-primary) 40%, transparent) !important;
    box-shadow: 0 20px 38px -10px color-mix(in srgb, var(--ips-primary) 18%, transparent), 0 8px 18px rgba(15, 23, 42, 0.05) !important;
}

.ips-review-item-card .cc-custom-review-photo {
    width: 100%;
    border-radius: 14px;
    overflow: hidden;
    position: relative;
    aspect-ratio: 4 / 5;
    background: #f8fafc;
    cursor: zoom-in;
    margin-bottom: 12px;
}

.ips-review-item-card .cc-custom-review-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.ips-review-item-card:hover .cc-custom-review-photo img {
    transform: scale(1.04);
}

/* Verified Client Glass Badge */
.ips-review-verified-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.72);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.ips-review-verified-badge .ips-badge-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 8px #22c55e;
    animation: ipsBadgePulse 2s infinite;
}

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

/* Hover Zoom Overlay */
.ips-review-zoom-overlay {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.35);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.28s ease;
    z-index: 2;
}

.ips-review-item-card:hover .ips-review-zoom-overlay {
    opacity: 1;
}

.ips-review-zoom-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 999px;
    background: #ffffff;
    color: #0f172a;
    font-size: 0.82rem;
    font-weight: 700;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
    transform: translateY(6px);
    transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}

.ips-review-item-card:hover .ips-review-zoom-pill {
    transform: translateY(0);
}

/* Card Bottom Footer */
.ips-review-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 4px;
    gap: 8px;
}

.ips-review-stars {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    color: #f59e0b;
    font-size: 0.92rem;
}

.ips-review-genuine-tag {
    font-size: 0.75rem;
    font-weight: 700;
    color: #475569;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

/* Slick Carousel Spacing & Custom Nav Arrows */
.ips-reviews-card .cibato-carousel .slick-list {
    margin-left: calc(var(--cc-cr-gap-desktop, 16px) / -2);
    margin-right: calc(var(--cc-cr-gap-desktop, 16px) / -2);
    padding: 10px 0 16px !important;
}

.ips-reviews-card .cibato-carousel .slick-slide > div {
    padding-left: calc(var(--cc-cr-gap-desktop, 16px) / 2);
    padding-right: calc(var(--cc-cr-gap-desktop, 16px) / 2);
}

@media (max-width: 991.98px) {
    .ips-reviews-card .cibato-carousel .slick-list {
        margin-left: calc(var(--cc-cr-gap-tablet, 12px) / -2);
        margin-right: calc(var(--cc-cr-gap-tablet, 12px) / -2);
    }
    .ips-reviews-card .cibato-carousel .slick-slide > div {
        padding-left: calc(var(--cc-cr-gap-tablet, 12px) / 2);
        padding-right: calc(var(--cc-cr-gap-tablet, 12px) / 2);
    }
}

@media (max-width: 575.98px) {
    .ips-reviews-card .cibato-carousel .slick-list {
        margin-left: calc(var(--cc-cr-gap-mobile, 10px) / -2);
        margin-right: calc(var(--cc-cr-gap-mobile, 10px) / -2);
    }
    .ips-reviews-card .cibato-carousel .slick-slide > div {
        padding-left: calc(var(--cc-cr-gap-mobile, 10px) / 2);
        padding-right: calc(var(--cc-cr-gap-mobile, 10px) / 2);
    }
}

/* Slick Carousel Arrows for Reviews */
.ips-reviews-card .cibato-carousel .slick-arrow {
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    border: 1.5px solid #e2e8f0 !important;
    background: #ffffff !important;
    color: var(--ips-primary) !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08) !important;
    font-size: 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1) !important;
    z-index: 10 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
}

.ips-reviews-card .cibato-carousel .slick-arrow:hover {
    background: var(--ips-primary) !important;
    border-color: var(--ips-primary) !important;
    color: #ffffff !important;
    box-shadow: 0 8px 24px color-mix(in srgb, var(--ips-primary) 35%, transparent) !important;
    transform: translateY(-50%) scale(1.1) !important;
}

.ips-reviews-card .cibato-carousel .slick-prev {
    left: -20px !important;
}

.ips-reviews-card .cibato-carousel .slick-next {
    right: -20px !important;
}

@media (max-width: 767.98px) {
    .ips-reviews-card .cibato-carousel .slick-prev { left: -8px !important; width: 34px !important; height: 34px !important; font-size: 14px !important; }
    .ips-reviews-card .cibato-carousel .slick-next { right: -8px !important; width: 34px !important; height: 34px !important; font-size: 14px !important; }
}

/* ==================== REVIEWS ANIMATION CHOREOGRAPHY (MATCHING LOAD CALCULATOR) ==================== */
body.ips-anim-ready .ips-reviews-card {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
body.ips-anim-ready .ips-reviews-card.ips-anim-visible,
body.ips-anim-ready #customer-reviews.ips-anim-visible .ips-reviews-card {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* STEP 1: Title (Starts at 0.08s, masked reveal) */
body.ips-anim-ready .ips-reviews-card .ips-main-section-title .ips-mask-reveal-inner,
body.ips-anim-ready #customer-reviews .ips-main-section-title .ips-mask-reveal-inner {
    display: inline-block;
    opacity: 0;
    transform: translateY(105%);
    transition: transform 0.70s cubic-bezier(0.16, 1, 0.3, 1) 0.08s,
                opacity 0.70s cubic-bezier(0.16, 1, 0.3, 1) 0.08s;
    will-change: transform, opacity;
}
body.ips-anim-ready .ips-reviews-card.ips-anim-visible .ips-main-section-title .ips-mask-reveal-inner,
body.ips-anim-ready #customer-reviews.ips-anim-visible .ips-main-section-title .ips-mask-reveal-inner,
body.ips-anim-ready .cc-custom-reviews-header.ips-anim-visible .ips-main-section-title .ips-mask-reveal-inner {
    transform: translateY(0) !important;
    opacity: 1 !important;
}

/* STEP 2: Subtitle (Arrives at 0.35s after Title) */
body.ips-anim-ready .ips-reviews-card .ips-main-section-sub,
body.ips-anim-ready #customer-reviews .ips-main-section-sub {
    opacity: 0;
    transform: translateY(14px);
    transition: transform 0.60s cubic-bezier(0.16, 1, 0.3, 1) 0.35s,
                opacity 0.60s cubic-bezier(0.16, 1, 0.3, 1) 0.35s;
    will-change: transform, opacity;
}
body.ips-anim-ready .ips-reviews-card.ips-anim-visible .ips-main-section-sub,
body.ips-anim-ready #customer-reviews.ips-anim-visible .ips-main-section-sub,
body.ips-anim-ready .cc-custom-reviews-header.ips-anim-visible .ips-main-section-sub {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* STEP 3: "View All Reviews" Button (Arrives at 0.55s) */
body.ips-anim-ready .ips-reviews-card .ips-btn-view-all,
body.ips-anim-ready #customer-reviews .ips-btn-view-all {
    opacity: 0;
    transform: translateY(12px);
    transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1) 0.55s,
                opacity 0.55s cubic-bezier(0.16, 1, 0.3, 1) 0.55s,
                background 0.25s ease,
                box-shadow 0.25s ease !important;
    will-change: transform, opacity;
}
body.ips-anim-ready .ips-reviews-card.ips-anim-visible .ips-btn-view-all,
body.ips-anim-ready #customer-reviews.ips-anim-visible .ips-btn-view-all,
body.ips-anim-ready .cc-custom-reviews-header.ips-anim-visible .ips-btn-view-all {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* STEP 4: Review Cards Cascading Waves (0.75s to 1.15s) */
@keyframes ipsReviewCardEntrance {
    0% {
        opacity: 0;
        transform: translateY(28px) scale(0.96);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

body.ips-anim-ready .cc-custom-reviews-slide .ips-review-item-card {
    opacity: 0;
    transform: translateY(28px);
}

body.ips-anim-ready .ips-reviews-card.ips-anim-visible .cc-custom-reviews-slide .ips-review-item-card,
body.ips-anim-ready #customer-reviews.ips-anim-visible .cc-custom-reviews-slide .ips-review-item-card {
    animation: ipsReviewCardEntrance 0.52s cubic-bezier(0.16, 1, 0.3, 1) both;
}

body.ips-anim-ready .ips-reviews-card.ips-anim-visible .cc-custom-reviews-slide:nth-child(1) .ips-review-item-card,
body.ips-anim-ready #customer-reviews.ips-anim-visible .cc-custom-reviews-slide:nth-child(1) .ips-review-item-card,
body.ips-anim-ready .ips-reviews-card.ips-anim-visible .slick-slide:nth-child(1) .ips-review-item-card,
body.ips-anim-ready #customer-reviews.ips-anim-visible .slick-slide:nth-child(1) .ips-review-item-card {
    animation-delay: 0.75s;
}

body.ips-anim-ready .ips-reviews-card.ips-anim-visible .cc-custom-reviews-slide:nth-child(2) .ips-review-item-card,
body.ips-anim-ready #customer-reviews.ips-anim-visible .cc-custom-reviews-slide:nth-child(2) .ips-review-item-card,
body.ips-anim-ready .ips-reviews-card.ips-anim-visible .slick-slide:nth-child(2) .ips-review-item-card,
body.ips-anim-ready #customer-reviews.ips-anim-visible .slick-slide:nth-child(2) .ips-review-item-card {
    animation-delay: 0.88s;
}

body.ips-anim-ready .ips-reviews-card.ips-anim-visible .cc-custom-reviews-slide:nth-child(3) .ips-review-item-card,
body.ips-anim-ready #customer-reviews.ips-anim-visible .cc-custom-reviews-slide:nth-child(3) .ips-review-item-card,
body.ips-anim-ready .ips-reviews-card.ips-anim-visible .slick-slide:nth-child(3) .ips-review-item-card,
body.ips-anim-ready #customer-reviews.ips-anim-visible .slick-slide:nth-child(3) .ips-review-item-card {
    animation-delay: 1.01s;
}

body.ips-anim-ready .ips-reviews-card.ips-anim-visible .cc-custom-reviews-slide:nth-child(4) .ips-review-item-card,
body.ips-anim-ready #customer-reviews.ips-anim-visible .cc-custom-reviews-slide:nth-child(4) .ips-review-item-card,
body.ips-anim-ready .ips-reviews-card.ips-anim-visible .slick-slide:nth-child(4) .ips-review-item-card,
body.ips-anim-ready #customer-reviews.ips-anim-visible .slick-slide:nth-child(4) .ips-review-item-card {
    animation-delay: 1.14s;
}

body.ips-anim-ready .ips-reviews-card.ips-anim-visible .cc-custom-reviews-slide:nth-child(n+5) .ips-review-item-card,
body.ips-anim-ready #customer-reviews.ips-anim-visible .cc-custom-reviews-slide:nth-child(n+5) .ips-review-item-card,
body.ips-anim-ready .ips-reviews-card.ips-anim-visible .slick-slide:nth-child(n+5) .ips-review-item-card,
body.ips-anim-ready #customer-reviews.ips-anim-visible .slick-slide:nth-child(n+5) .ips-review-item-card {
    animation-delay: 1.25s;
}

/* STEP 5: Carousel Navigation Arrows (Arrives at 1.30s) */
body.ips-anim-ready .ips-reviews-card .cibato-carousel .slick-arrow,
body.ips-anim-ready #customer-reviews .cibato-carousel .slick-arrow {
    opacity: 0;
    transition: opacity 0.5s ease 1.30s, background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease !important;
}
body.ips-anim-ready .ips-reviews-card.ips-anim-visible .cibato-carousel .slick-arrow,
body.ips-anim-ready #customer-reviews.ips-anim-visible .cibato-carousel .slick-arrow {
    opacity: 1 !important;
}

/* ==========================================================================
   14. SINGLE PRODUCT PAGE MOTION & INTERACTION SYSTEM (PREMIUM AESTHETICS)
   ========================================================================== */
@keyframes spFadeSlideUp {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes spFadeSlideLeft {
    0% {
        opacity: 0;
        transform: translateX(-20px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes spBadgePop {
    0% {
        opacity: 0;
        transform: scale(0.92);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

/* Gallery smooth entrance */
body.theme-sp-loaded .theme-sp-gallery,
body.theme-sp-loaded .theme-sp-gallery-grid {
    animation: spFadeSlideLeft 0.65s cubic-bezier(0.16, 1, 0.3, 1) 0.08s both;
}

body.theme-sp-loaded .theme-sp-gallery .thumb-container .swiper-slide {
    animation: spBadgePop 0.45s cubic-bezier(0.16, 1, 0.3, 1) both;
}
body.theme-sp-loaded .theme-sp-gallery .thumb-container .swiper-slide:nth-child(1) { animation-delay: 0.16s; }
body.theme-sp-loaded .theme-sp-gallery .thumb-container .swiper-slide:nth-child(2) { animation-delay: 0.22s; }
body.theme-sp-loaded .theme-sp-gallery .thumb-container .swiper-slide:nth-child(3) { animation-delay: 0.28s; }
body.theme-sp-loaded .theme-sp-gallery .thumb-container .swiper-slide:nth-child(4) { animation-delay: 0.34s; }
body.theme-sp-loaded .theme-sp-gallery .thumb-container .swiper-slide:nth-child(n+5) { animation-delay: 0.40s; }

/* Product Summary / Buy Box elements staggered cascade */
body.theme-sp-loaded .theme-sp-title {
    animation: spFadeSlideUp 0.58s cubic-bezier(0.16, 1, 0.3, 1) 0.12s both;
}

body.theme-sp-loaded .theme-sp-delivery-rating-bar,
body.theme-sp-loaded .theme-sp-section--meta {
    animation: spFadeSlideUp 0.52s cubic-bezier(0.16, 1, 0.3, 1) 0.18s both;
}

body.theme-sp-loaded .theme-sp-price-wrap,
body.theme-sp-loaded .theme-product-summary-pricing-qty,
body.theme-sp-loaded .product-price {
    animation: spFadeSlideUp 0.55s cubic-bezier(0.16, 1, 0.3, 1) 0.24s both;
}

body.theme-sp-loaded .theme-sp-short-description {
    animation: spFadeSlideUp 0.52s cubic-bezier(0.16, 1, 0.3, 1) 0.28s both;
}

body.theme-sp-loaded .theme-sp-variations-wrap {
    animation: spFadeSlideUp 0.52s cubic-bezier(0.16, 1, 0.3, 1) 0.32s both;
}

body.theme-sp-loaded .theme-sp-buy-box,
body.theme-sp-loaded .theme-sp-add-to-cart-zone {
    animation: spFadeSlideUp 0.56s cubic-bezier(0.16, 1, 0.3, 1) 0.36s both;
}

body.theme-sp-loaded .theme-sp-section--warranty,
body.theme-sp-loaded .warranty-section {
    animation: spFadeSlideUp 0.52s cubic-bezier(0.16, 1, 0.3, 1) 0.42s both;
}

/* Micro-interactions: Tactile feedback on Action Buttons */
.theme-sp-purchase-btn {
    transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.22s ease, background-color 0.2s ease !important;
}
.theme-sp-purchase-btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.12) !important;
}
.theme-sp-purchase-btn:active {
    transform: translateY(1px) scale(0.98) !important;
}

/* Buy Now subtle shimmer badge */
.theme-sp-purchase-btn--buy {
    position: relative;
    overflow: hidden;
}
.theme-sp-purchase-btn--buy::after {
    content: '';
    position: absolute;
    top: 0;
    left: -120%;
    width: 60%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.28), transparent);
    transform: skewX(-20deg);
    animation: spShimmer 4s ease-in-out infinite;
}
@keyframes spShimmer {
    0%, 70% { left: -120%; }
    100% { left: 160%; }
}

/* Tabs scroll reveal */
body.ips-anim-ready .product-details-nav-tab {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1), transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
}
body.ips-anim-ready .product-details-nav-tab.ips-anim-visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* Related Products on Single Product Page */
body.ips-anim-ready .ips-related-products-section {
    opacity: 1;
}
body.ips-anim-ready .ips-related-products-section .ips-main-section-title .ips-mask-reveal-inner {
    display: inline-block;
    opacity: 0;
    transform: translateY(105%);
    transition: transform 0.70s cubic-bezier(0.16, 1, 0.3, 1) 0.08s, opacity 0.70s cubic-bezier(0.16, 1, 0.3, 1) 0.08s;
}
body.ips-anim-ready .ips-related-products-section.ips-anim-visible .ips-main-section-title .ips-mask-reveal-inner,
body.ips-anim-ready .ips-related-products-section .ips-section-heading-wrap.ips-anim-visible .ips-main-section-title .ips-mask-reveal-inner {
    transform: translateY(0) !important;
    opacity: 1 !important;
}

body.ips-anim-ready .ips-related-products-section .ips-main-section-sub {
    opacity: 0;
    transform: translateY(14px);
    transition: transform 0.60s cubic-bezier(0.16, 1, 0.3, 1) 0.28s, opacity 0.60s cubic-bezier(0.16, 1, 0.3, 1) 0.28s;
}
body.ips-anim-ready .ips-related-products-section.ips-anim-visible .ips-main-section-sub,
body.ips-anim-ready .ips-related-products-section .ips-section-heading-wrap.ips-anim-visible .ips-main-section-sub {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

body.ips-anim-ready .ips-related-products-section .ips-btn-view-all {
    opacity: 0;
    transform: translateY(12px);
    transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1) 0.42s, opacity 0.55s cubic-bezier(0.16, 1, 0.3, 1) 0.42s;
}
body.ips-anim-ready .ips-related-products-section.ips-anim-visible .ips-btn-view-all,
body.ips-anim-ready .ips-related-products-section .ips-section-heading-wrap.ips-anim-visible .ips-btn-view-all {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

body.ips-anim-ready .ips-related-products-section .ips-product-carousel-wrapper {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.35s, transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.35s;
}
body.ips-anim-ready .ips-related-products-section.ips-anim-visible .ips-product-carousel-wrapper {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

body.ips-anim-ready .ips-related-products-section .swiper-slide {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.55s cubic-bezier(0.16, 1, 0.3, 1), transform 0.55s cubic-bezier(0.16, 1, 0.3, 1);
}
body.ips-anim-ready .ips-related-products-section.ips-anim-visible .swiper-slide {
    opacity: 1 !important;
    transform: translateY(0) !important;
}
body.ips-anim-ready .ips-related-products-section.ips-anim-visible .swiper-slide:nth-child(1) { transition-delay: 0.40s; }
body.ips-anim-ready .ips-related-products-section.ips-anim-visible .swiper-slide:nth-child(2) { transition-delay: 0.48s; }
body.ips-anim-ready .ips-related-products-section.ips-anim-visible .swiper-slide:nth-child(3) { transition-delay: 0.56s; }
body.ips-anim-ready .ips-related-products-section.ips-anim-visible .swiper-slide:nth-child(4) { transition-delay: 0.64s; }
body.ips-anim-ready .ips-related-products-section.ips-anim-visible .swiper-slide:nth-child(n+5) { transition-delay: 0.72s; }

/* ==========================================================================
   15. SINGLE PRODUCT PAGE: HOW TO ORDER TAB (INSPIRATION & HIGH-END FINISH)
   ========================================================================== */
.how-to-order-container {
    width: 100%;
}

.how-to-order-banner {
    display: flex;
    align-items: center;
    gap: 14px;
    background: #f0f9ff;
    border: 1.5px solid #bae6fd;
    border-radius: 12px;
    padding: 16px 20px;
    margin-bottom: 22px;
}

.how-to-order-banner-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #0284c7;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    flex-shrink: 0;
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.25);
}

.how-to-order-banner-text {
    font-size: 0.94rem;
    font-weight: 600;
    color: #0369a1;
    line-height: 1.55;
}

.how-to-order-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

@media (max-width: 767.98px) {
    .how-to-order-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}

.how-to-order-card {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 16px 18px;
    background: #ffffff;
    border: 1.5px solid #e0f2fe;
    border-left: 4px solid #0284c7;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.03);
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
                border-color 0.25s ease,
                box-shadow 0.25s ease;
}

.how-to-order-card:hover {
    border-color: #7dd3fc;
    border-left-color: #0284c7;
    box-shadow: 0 8px 22px rgba(2, 132, 199, 0.12);
    transform: translateY(-2px);
}

.how-to-order-step-badge {
    position: relative;
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #e0f2fe;
    color: #0284c7;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #bae6fd;
}

.how-to-order-step-num {
    font-size: 1.12rem;
    font-weight: 800;
    line-height: 1;
    color: #0284c7;
}

.how-to-order-step-mini-icon {
    position: absolute;
    bottom: -3px;
    right: -3px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #0284c7;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    border: 2px solid #ffffff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12);
}

.how-to-order-step-body {
    flex: 1;
    min-width: 0;
}

.how-to-order-step-text {
    font-size: 0.88rem;
    line-height: 1.68;
    color: #475569;
}

.how-to-order-step-title {
    font-size: 0.92rem;
    font-weight: 750;
    color: #0f172a;
    margin-right: 4px;
}

.how-to-order-step-desc {
    color: #475569;
}

/* ==================== MOBILE SHOP LISTING & ARCHIVE GRID SPACING ==================== */
@media (max-width: 767.98px) {
    .theme-shop-listing .container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    .theme-shop-listing .cibato-listing-products-col {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .theme-shop-listing .theme-shop-loop-head {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-bottom: 14px !important;
    }
    .theme-shop-listing .theme-shop-products-wrapper {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .theme-shop-listing #products-row.gutters-16,
    .theme-shop-listing #products-row {
        margin-left: -5px !important;
        margin-right: -5px !important;
        row-gap: 0 !important;
    }
    .theme-shop-listing #products-row.gutters-16 > .col,
    .theme-shop-listing #products-row.gutters-16 > [class*="col-"],
    .theme-shop-listing #products-row > .col,
    .theme-shop-listing #products-row > [class*="col-"],
    .theme-shop-listing .product-grid-item-col {
        padding-left: 5px !important;
        padding-right: 5px !important;
        margin-bottom: 14px !important;
    }
    .theme-shop-listing .ips-product-card {
        border-radius: 12px !important;
        width: 100% !important;
        margin: 0 !important;
    }
    .theme-shop-listing .ips-prod-img-box {
        min-height: 140px !important;
        border-radius: 11px 11px 0 0 !important;
    }
    .theme-shop-listing .ips-prod-content {
        padding: 9px 7px 9px !important;
    }
    .theme-shop-listing .ips-prod-title {
        font-size: 13px !important;
        line-height: 1.35 !important;
        margin-top: 5px !important;
        margin-bottom: 9px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        display: block !important;
    }
    .theme-shop-listing .ips-prod-brand {
        font-size: 10.5px !important;
        margin-bottom: 3px !important;
    }
    .theme-shop-listing .ips-price-current {
        font-size: 15px !important;
    }
    .theme-shop-listing .ips-badge-item {
        font-size: 9.5px !important;
        padding: 2px 5px !important;
    }
}

/* Universal Section Heading to Content Gap */
.ips-section-heading-wrap {
    margin-bottom: 28px !important;
}
@media (max-width: 767.98px) {
    .ips-section-heading-wrap {
        margin-bottom: 18px !important;
    }
}

/* ==================== 100% MATCHED NEWEST PRODUCTS GRID (SCREENSHOT 1 & 2) ==================== */
.newest-products-list {
    display: flex !important;
    flex-wrap: wrap !important;
    margin-left: -10px !important;
    margin-right: -10px !important;
    row-gap: 16px !important;
    --wd-pa-row-gap: 16px !important;
}

.newest-products-list > .col,
.newest-products-list > .product-card,
.newest-products-list > .ips-product-card-col,
.newest-products-list > [class*="col-"] {
    padding-left: 10px !important;
    padding-right: 10px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin: 0 !important;
    flex: 0 0 25% !important;
    max-width: 25% !important;
    width: 25% !important;
    display: flex !important;
}

@media (max-width: 1199.98px) {
    .newest-products-list > .col,
    .newest-products-list > .product-card,
    .newest-products-list > .ips-product-card-col,
    .newest-products-list > [class*="col-"] {
        flex: 0 0 33.333% !important;
        max-width: 33.333% !important;
        width: 33.333% !important;
    }
}

@media (max-width: 767.98px) {
    .newest-products-list {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: 12px !important;
        row-gap: 14px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .newest-products-list > .col,
    .newest-products-list > .product-card,
    .newest-products-list > .ips-product-card-col,
    .newest-products-list > [class*="col-"] {
        padding-left: 0 !important;
        padding-right: 0 !important;
        flex: 1 1 100% !important;
        max-width: 100% !important;
        width: 100% !important;
        min-width: 0 !important;
        display: flex !important;
    }
}

.newest-products-list .ips-product-card {
    background: #ffffff !important;
    border: 1px solid var(--ips-border, #e2e8f0) !important;
    border-radius: var(--ips-radius-lg, 16px) !important;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05) !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    transition: var(--ips-transition, all 0.3s ease) !important;
}

.newest-products-list .ips-product-card:hover {
    border-color: color-mix(in srgb, var(--ips-primary) 45%, transparent) !important;
    box-shadow: 0 12px 28px -6px rgba(0, 0, 0, 0.12), 0 4px 12px -2px color-mix(in srgb, var(--ips-primary) 15%, transparent) !important;
    transform: translateY(-3px) !important;
}

/* ==================== MOBILE SHOP LISTING & ARCHIVE GRID SPACING (SCREENSHOT 3) ==================== */
@media (max-width: 991.98px) {
    .theme-shop-listing .container {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
    .theme-shop-listing form > .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .theme-shop-listing .cibato-listing-products-col {
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
    }
    .theme-shop-listing .theme-shop-loop-head {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-bottom: 14px !important;
    }
    .theme-shop-listing .theme-shop-products-wrapper {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .theme-shop-listing #products-row {
        margin-left: -5px !important;
        margin-right: -5px !important;
        width: calc(100% + 10px) !important;
        max-width: none !important;
        row-gap: 0 !important;
    }
    .theme-shop-listing #products-row > .col,
    .theme-shop-listing #products-row > [class*="col-"] {
        padding-left: 5px !important;
        padding-right: 5px !important;
        margin-bottom: 14px !important;
    }
}

/* ==================== BACK TO TOP BUTTON (ORIGINAL STYLING & POSITIONING) ==================== */
.global-back-to-top {
    position: fixed !important;
    right: 20px !important;
    bottom: 85px !important;
    width: 44px !important;
    height: 44px !important;
    border: 0 !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--ips-primary) !important;
    color: #ffffff !important;
    box-shadow: 0 6px 20px color-mix(in srgb, var(--ips-primary) 45%, transparent) !important;
    z-index: 99999 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(10px) !important;
    transition: opacity .25s ease, transform .25s ease, visibility .25s ease !important;
    cursor: pointer !important;
}
.global-back-to-top.show {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
}
.global-back-to-top:hover {
    color: #ffffff !important;
    background: #1D4ED8 !important;
    box-shadow: 0 10px 24px color-mix(in srgb, var(--ips-primary) 60%, transparent) !important;
}
.global-back-to-top i {
    font-size: 20px !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}
@media (max-width: 991.98px) {
    .global-back-to-top {
        right: 14px !important;
        bottom: calc(var(--mobile-nav-clearance, 76px) + 14px) !important;
        width: 40px !important;
        height: 40px !important;
    }
    .global-back-to-top i {
        font-size: 18px !important;
    }
}

/* ==========================================================================
   POINT 4: COMPACT & SIMPLE CATEGORY CARDS (Image & Title Only, No Button)
   ========================================================================== */
.elvora-category-section {
    position: relative;
    padding-top: 10px;
    padding-bottom: 25px;
}
.elvora-cat-wrapper {
    position: relative;
    width: 100%;
}
.elvora-cat-grid-compact,
.ips-solutions-grid.elvora-cat-grid-compact {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 14px !important;
    width: 100% !important;
}
@media (max-width: 1200px) {
    .elvora-cat-grid-compact,
    .ips-solutions-grid.elvora-cat-grid-compact {
        grid-template-columns: repeat(5, 1fr) !important;
        gap: 12px !important;
    }
}
@media (max-width: 991.98px) {
    .elvora-cat-grid-compact,
    .ips-solutions-grid.elvora-cat-grid-compact {
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 10px !important;
    }
}
@media (max-width: 767.98px) {
    .elvora-cat-grid-compact,
    .ips-solutions-grid.elvora-cat-grid-compact {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 0 !important;
        width: 100% !important;
    }
    .elvora-cat-wrapper .ips-solutions-swiper,
    .ips-solutions-wrapper .ips-solutions-swiper {
        overflow: hidden !important;
        padding-bottom: 8px !important;
    }
    .elvora-cat-grid-compact .swiper-slide,
    .ips-solutions-grid.elvora-cat-grid-compact .swiper-slide {
        height: auto !important;
        flex-shrink: 0 !important;
        opacity: 1 !important;
        transform: none !important;
    }
    .elvora-simple-cat-card,
    .ips-cat-card.elvora-simple-cat-card {
        width: 100% !important;
        height: 100% !important;
        opacity: 1 !important;
        transform: none !important;
    }
}

/* Compact, Simple Category Card */
.elvora-simple-cat-card,
.ips-cat-card.elvora-simple-cat-card {
    position: relative !important;
    background: #ffffff !important;
    border: 1.5px solid #edf2f7 !important;
    border-radius: 16px !important;
    padding: 16px 10px 14px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    text-decoration: none !important;
    height: 100% !important;
    min-height: auto !important;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.02) !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}
.elvora-simple-cat-card::before {
    display: none !important;
}
.elvora-simple-cat-card:hover,
.ips-cat-card.elvora-simple-cat-card:hover {
    border-color: #cbd5e1 !important;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06) !important;
    transform: translateY(-2px) !important;
    background: #ffffff !important;
}

/* Icon Box inside Compact Category Card */
.elvora-simple-cat-icon-box {
    width: 60px !important;
    height: 60px !important;
    border-radius: 14px !important;
    background: #f8fafc !important;
    border: 1px solid #f1f5f9 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 8px !important;
    padding: 6px !important;
    transition: transform 0.2s ease !important;
}
.elvora-simple-cat-card:hover .elvora-simple-cat-icon-box {
    transform: scale(1.05) !important;
    background: #f1f5f9 !important;
}
.elvora-simple-cat-img {
    width: 42px !important;
    height: 42px !important;
    max-width: 42px !important;
    max-height: 42px !important;
    object-fit: contain !important;
    display: block !important;
}
.elvora-simple-cat-fallback {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    color: #64748b !important;
}
.elvora-simple-cat-fallback svg {
    display: block !important;
    width: 26px !important;
    height: 26px !important;
}
.elvora-simple-cat-title,
.ips-cat-name.elvora-simple-cat-title {
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    margin: 0 !important;
    line-height: 1.3 !important;
    text-align: center !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    transition: color 0.2s ease !important;
}
.elvora-simple-cat-card:hover .elvora-simple-cat-title {
    color: var(--primary, #0F4C5C) !important;
}

/* ==========================================================================
   POINT 5: WHY CHOOSE ELVORA (Button Single Line, Hover Fix, Bottom Border)
   ========================================================================== */
.elvora-why-section {
    position: relative;
    padding: 30px 0 20px !important;
}
.elvora-why-layout {
    display: grid !important;
    grid-template-columns: 290px 1fr 340px !important;
    gap: 20px !important;
    align-items: stretch !important;
}
@media (max-width: 1280px) {
    .elvora-why-layout {
        grid-template-columns: 260px 1fr 300px !important;
        gap: 16px !important;
    }
}
@media (max-width: 1080px) {
    .elvora-why-layout {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
}

/* Left Brand Card */
.elvora-why-left-card {
    background: linear-gradient(160deg, #ffffff 0%, #f8fafc 100%) !important;
    border: 1.5px solid #eef2f6 !important;
    border-radius: 22px !important;
    padding: 28px 22px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.04) !important;
}
.elvora-why-kicker {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 4px 12px !important;
    border-radius: 999px !important;
    background: rgba(var(--primary-rgb, 15, 76, 92), 0.1) !important;
    border: 1px solid rgba(var(--primary-rgb, 15, 76, 92), 0.2) !important;
    margin-bottom: 14px !important;
    width: fit-content !important;
}
.elvora-kicker-dot {
    width: 6px !important;
    height: 6px !important;
    border-radius: 50% !important;
    background: var(--primary, #0F4C5C) !important;
    box-shadow: 0 0 6px var(--primary, #0F4C5C) !important;
}
.elvora-kicker-text {
    font-size: 0.72rem !important;
    font-weight: 800 !important;
    color: var(--primary, #0F4C5C) !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
}
.elvora-why-left-card .ips-why-main-title {
    font-size: 1.75rem !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    line-height: 1.25 !important;
    margin-bottom: 12px !important;
}
.elvora-why-left-card .ips-why-sub {
    font-size: 0.88rem !important;
    color: #64748b !important;
    line-height: 1.55 !important;
    margin-bottom: 20px !important;
}

/* Trust Metrics Deck in Left Card */
.elvora-why-trust-metrics {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin-bottom: 22px !important;
}
.elvora-trust-pill {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 8px 12px !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    border: 1px solid #edf2f7 !important;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.02) !important;
}
.elvora-trust-num {
    font-size: 0.88rem !important;
    font-weight: 800 !important;
    color: var(--primary, #0F4C5C) !important;
    min-width: 52px !important;
}
.elvora-trust-lbl {
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    color: #334155 !important;
}

/* 5.1: Left Card Button Single Line (Fixed) */
.elvora-btn-why-learn {
    min-width: 0 !important;
    width: 100% !important;
    padding: 8px 10px 8px 16px !important;
    justify-content: space-between !important;
    white-space: nowrap !important;
}
.elvora-btn-why-learn .ips-btn-text {
    white-space: nowrap !important;
    font-size: 13px !important;
    letter-spacing: -0.01em !important;
}

/* Center 6 Value Proposition Cards Grid */
.elvora-why-grid,
.ips-why-features-grid.elvora-why-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 14px !important;
}
@media (max-width: 767.98px) {
    .elvora-why-grid,
    .ips-why-features-grid.elvora-why-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }
}
@media (max-width: 480px) {
    .elvora-why-grid,
    .ips-why-features-grid.elvora-why-grid {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }
}

.elvora-feat-card,
.ips-why-feat-box.elvora-feat-card {
    position: relative !important;
    background: #ffffff !important;
    border: 1.5px solid #eef2f6 !important;
    border-radius: 18px !important;
    padding: 22px 18px !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.03) !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
}

/* 5.3: Animated border at BOTTOM of cards instead of left */
.elvora-feat-card::before {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    top: auto !important;
    width: 0 !important;
    height: 3px !important;
    background: var(--primary, #0F4C5C) !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    border-radius: 3px 3px 0 0 !important;
    pointer-events: none !important;
}
.elvora-feat-card:hover {
    transform: translateY(-4px) !important;
    border-color: #cbd5e1 !important;
    box-shadow: 0 14px 28px -6px rgba(var(--primary-rgb, 15, 76, 92), 0.16), 0 4px 10px rgba(15, 23, 42, 0.04) !important;
}
.elvora-feat-card:hover::before {
    left: 15% !important;
    width: 70% !important;
    height: 3px !important;
}

.elvora-feat-icon,
.ips-why-feat-box .ips-why-feat-icon.elvora-feat-icon {
    width: 48px !important;
    height: 48px !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, rgba(var(--primary-rgb, 15, 76, 92), 0.12) 0%, rgba(var(--primary-rgb, 15, 76, 92), 0.04) 100%) !important;
    border: 1px solid rgba(var(--primary-rgb, 15, 76, 92), 0.2) !important;
    color: var(--primary, #0F4C5C) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1.55rem !important;
    margin-bottom: 14px !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.elvora-feat-card:hover .elvora-feat-icon {
    transform: scale(1.08) !important;
    background: var(--primary, #0F4C5C) !important;
    color: #ffffff !important;
    box-shadow: 0 6px 16px rgba(var(--primary-rgb, 15, 76, 92), 0.35) !important;
}
.elvora-feat-card .ips-why-feat-title {
    font-size: 0.95rem !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    margin-bottom: 6px !important;
    line-height: 1.3 !important;
}
.elvora-feat-card .ips-why-feat-desc {
    font-size: 0.8rem !important;
    color: #64748b !important;
    line-height: 1.45 !important;
    margin-bottom: 0 !important;
}

/* Right Premium Vape Showcase Card */
.elvora-why-showcase-card,
.ips-why-greener-card.elvora-why-showcase-card {
    position: relative !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    min-height: 380px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    padding: 26px !important;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.18) !important;
    background-size: cover !important;
    background-position: center !important;
    border: 1.5px solid rgba(255, 255, 255, 0.15) !important;
}
.elvora-showcase-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.35) 0%, rgba(9, 17, 34, 0.78) 45%, rgba(5, 11, 24, 0.96) 100%) !important;
    z-index: 1 !important;
    backdrop-filter: blur(1px) !important;
}
.elvora-showcase-content {
    position: relative !important;
    z-index: 2 !important;
    color: #ffffff !important;
}
.elvora-showcase-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 4px 12px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.12) !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    color: #ffffff !important;
    font-size: 0.76rem !important;
    font-weight: 750 !important;
    letter-spacing: 0.04em !important;
    margin-bottom: 10px !important;
    backdrop-filter: blur(4px) !important;
}
.elvora-showcase-badge i {
    color: #f59e0b !important;
    font-size: 1rem !important;
}
.elvora-showcase-title {
    font-size: 1.35rem !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    line-height: 1.25 !important;
    margin-bottom: 8px !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
}
.elvora-showcase-sub {
    font-size: 0.82rem !important;
    color: rgba(255, 255, 255, 0.88) !important;
    line-height: 1.45 !important;
    margin-bottom: 18px !important;
}

/* 5.2: Right Card WhatsApp Button Hover Text Visibility (Fixed) */
.elvora-btn-whatsapp,
.ips-why-greener-card .ips-btn-why-discuss.elvora-btn-whatsapp,
.ips-btn-view-all--white.elvora-btn-whatsapp {
    width: 100% !important;
    justify-content: center !important;
    background: #ffffff !important;
    color: #0f172a !important;
    font-weight: 800 !important;
    border: 0 !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25) !important;
    transition: all 0.25s ease !important;
}
.elvora-btn-whatsapp .ips-btn-text,
.elvora-btn-whatsapp span,
.elvora-btn-whatsapp i {
    color: #0f172a !important;
}
.elvora-btn-whatsapp:hover,
.ips-why-greener-card .ips-btn-why-discuss.elvora-btn-whatsapp:hover,
.ips-btn-view-all--white.elvora-btn-whatsapp:hover {
    background: #16a34a !important;
    color: #ffffff !important;
    box-shadow: 0 10px 24px rgba(22, 163, 74, 0.5) !important;
    transform: translateY(-2px) !important;
}
.elvora-btn-whatsapp:hover .ips-btn-text,
.elvora-btn-whatsapp:hover span,
.elvora-btn-whatsapp:hover i {
    color: #ffffff !important;
    fill: #ffffff !important;
}
.elvora-btn-whatsapp:hover .ips-btn-icon-bubble {
    background: rgba(255, 255, 255, 0.25) !important;
}
.elvora-btn-whatsapp:hover .ips-btn-icon-bubble svg path {
    stroke: #ffffff !important;
}

.elvora-showcase-trust-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-top: 14px !important;
    padding-top: 12px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
    font-size: 0.72rem !important;
    color: rgba(255, 255, 255, 0.75) !important;
    font-weight: 600 !important;
}
.elvora-showcase-trust-bar i {
    color: #22c55e !important;
    margin-right: 3px !important;
}

/* ==========================================================================
   POINT 1: PRODUCT DETAILS (Sizes Swatches & Todays Deal Banner)
   ========================================================================= */
/* Size Swatches: Modern Rounded Pill Controls */
.theme-sp-attribute-swatches .theme-swatch--attribute .theme-swatch__visual,
.theme-sp-variations-surface .theme-swatch--attribute .theme-swatch__visual,
.product-details .theme-swatch--attribute .theme-swatch__visual {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 46px !important;
    height: 38px !important;
    padding: 0 14px !important;
    border-radius: 10px !important;
    border: 1.5px solid #cbd5e1 !important;
    background: #ffffff !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    cursor: pointer !important;
}
.theme-sp-attribute-swatches .theme-swatch--attribute .theme-swatch__label,
.theme-sp-variations-surface .theme-swatch--attribute .theme-swatch__label,
.product-details .theme-swatch--attribute .theme-swatch__label {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    letter-spacing: 0.02em !important;
}
.theme-sp-attribute-swatches .theme-swatch--attribute:hover .theme-swatch__visual,
.theme-sp-variations-surface .theme-swatch--attribute:hover .theme-swatch__visual,
.product-details .theme-swatch--attribute:hover .theme-swatch__visual {
    border-color: var(--primary, #0F4C5C) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.06) !important;
}
.theme-sp-attribute-swatches .theme-swatch--attribute .theme-swatch__input:checked + .theme-swatch__visual,
.theme-sp-variations-surface .theme-swatch--attribute .theme-swatch__input:checked + .theme-swatch__visual,
.product-details .theme-swatch--attribute .theme-swatch__input:checked + .theme-swatch__visual {
    background: #0f172a !important;
    border-color: #0f172a !important;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.25) !important;
}
.theme-sp-attribute-swatches .theme-swatch--attribute .theme-swatch__input:checked + .theme-swatch__visual .theme-swatch__label,
.theme-sp-variations-surface .theme-swatch--attribute .theme-swatch__input:checked + .theme-swatch__visual .theme-swatch__label,
.product-details .theme-swatch--attribute .theme-swatch__input:checked + .theme-swatch__visual .theme-swatch__label {
    color: #ffffff !important;
}

/* Todays Deal Banner */
.elvora-todays-deal-banner {
    background: linear-gradient(135deg, #091322 0%, #111d33 60%, #0c1626 100%) !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 12px !important;
    padding: 10px 18px !important;
    box-shadow: 0 4px 18px rgba(15, 23, 42, 0.08) !important;
}
.elvora-todays-deal-banner .d-flex {
    gap: 10px !important;
}
.elvora-deal-flame {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: linear-gradient(135deg, #f59e0b, #ef4444);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 16px;
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4);
    margin-right: 10px !important;
    flex-shrink: 0 !important;
}
.elvora-deal-title {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.04em;
    color: #ffffff;
    text-transform: uppercase;
}
.elvora-deal-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: rgba(245, 158, 11, 0.15);
    border: 1px solid rgba(245, 158, 11, 0.35);
    color: #fbbf24;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 750;
    letter-spacing: 0.02em;
}

/* ==========================================================================
   POINT 2: PRODUCT DETAILS (Ultra-Clear Island Tabs & Matching Related Products)
   ========================================================================== */
.elvora-tab-header {
    background: transparent !important;
    border: none !important;
    padding: 6px 0 12px !important;
}
.elvora-tab-island-shell {
    display: inline-flex !important;
    background: #ffffff !important;
    padding: 5px !important;
    border-radius: 12px !important;
    border: 1.5px solid #e2e8f0 !important;
    box-shadow: 0 4px 16px rgba(15, 76, 92, 0.05) !important;
}
.elvora-tab-pills-list {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.elvora-tab-item {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
}
.elvora-tab-pill,
#tabLinks .nav-link.elvora-tab-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 9px 22px !important;
    border-radius: 8px !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #64748b !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    text-decoration: none !important;
    transition: all 0.22s ease !important;
    cursor: pointer !important;
}
.elvora-tab-pill i,
#tabLinks .nav-link.elvora-tab-pill i {
    font-size: 16px !important;
    color: #94a3b8 !important;
    transition: color 0.2s ease, transform 0.2s ease !important;
}

/* HOVER STATE */
.elvora-tab-pill:hover,
#tabLinks .nav-link.elvora-tab-pill:hover {
    color: var(--primary, #0F4C5C) !important;
    background: #f8fafc !important;
}
.elvora-tab-pill:hover i,
#tabLinks .nav-link.elvora-tab-pill:hover i {
    color: var(--primary, #0F4C5C) !important;
    transform: scale(1.1) !important;
}

/* ACTIVE STATE: High-contrast Primary Brand Card with soft glow */
.elvora-tab-pill.active,
#tabLinks .nav-link.elvora-tab-pill.active,
#tabLinks .nav-link.active {
    background: var(--primary, #0F4C5C) !important;
    color: #ffffff !important;
    border-color: var(--primary, #0F4C5C) !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 14px rgba(15, 76, 92, 0.28) !important;
    transform: translateY(0) !important;
}
.elvora-tab-pill.active i,
#tabLinks .nav-link.elvora-tab-pill.active i,
#tabLinks .nav-link.active i {
    color: #ffffff !important;
    transform: scale(1.1) !important;
}
.elvora-tab-pill.active span,
#tabLinks .nav-link.elvora-tab-pill.active span,
#tabLinks .nav-link.active span {
    color: #ffffff !important;
}

/* HIDE OLD TAB UNDERLINE & UNWANTED BORDERS */
.product-details-nav-tab .tab-underline,
#tabLinks .tab-underline,
.product-details-nav-tab .nav-tab-header .tab-underline {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}
.product-details-nav-tab .nav-tab-header .tab-scroll-wrapper {
    border-bottom: none !important;
}

/* Related Products: Clean background & borderless modern layout */
.elvora-related-box,
.product-details .related-product-container.elvora-related-box {
    width: 100% !important;
    box-sizing: border-box !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    margin-top: 24px !important;
}
.elvora-heading-bar {
    display: inline-block !important;
    width: 4px !important;
    height: 22px !important;
    background: var(--primary, #0F4C5C) !important;
    border-radius: 4px !important;
    flex-shrink: 0 !important;
}
.elvora-related-carousel-shell {
    position: relative !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

/* Related Products Arrows — Parity with Homepage Product Section Arrows */
.elvora-related-carousel-shell .slick-arrow,
.product-details .theme-sp-related-carousel-shell .slick-arrow,
.product-details .elvora-related-box .slick-arrow {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 40px !important;
    height: 40px !important;
    line-height: 40px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(8px) !important;
    border: 1.5px solid #e2e8f0 !important;
    color: #0f172a !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1.15rem !important;
    cursor: pointer !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.1) !important;
    z-index: 10 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
    padding: 0 !important;
}
.elvora-related-carousel-shell .slick-prev,
.product-details .theme-sp-related-carousel-shell .slick-prev,
.product-details .elvora-related-box .slick-prev {
    left: -16px !important;
    right: auto !important;
}
.elvora-related-carousel-shell .slick-next,
.product-details .theme-sp-related-carousel-shell .slick-next,
.product-details .elvora-related-box .slick-next {
    right: -16px !important;
    left: auto !important;
}
.elvora-related-carousel-shell .slick-arrow:hover,
.product-details .theme-sp-related-carousel-shell .slick-arrow:hover,
.product-details .elvora-related-box .slick-arrow:hover {
    background: var(--primary, #0F4C5C) !important;
    color: #ffffff !important;
    border-color: var(--primary, #0F4C5C) !important;
    box-shadow: 0 8px 20px rgba(15, 76, 92, 0.25) !important;
    transform: translateY(-50%) scale(1.08) !important;
}
.elvora-related-carousel-shell .slick-arrow:hover::before,
.elvora-related-carousel-shell .slick-arrow:hover i,
.product-details .theme-sp-related-carousel-shell .slick-arrow:hover::before,
.product-details .theme-sp-related-carousel-shell .slick-arrow:hover i,
.product-details .elvora-related-box .slick-arrow:hover::before,
.product-details .elvora-related-box .slick-arrow:hover i {
    color: #ffffff !important;
}
@media (max-width: 991.98px) {
    .elvora-related-carousel-shell .slick-arrow {
        display: none !important;
    }
}
/* Product Cards Image Subtle Zoom (Parity across Carousels & Grids) */
.related-product-container .product-element-top,
.elvora-related-box .product-element-top,
.cibato-carousel .product-element-top,
.ips-prod-img-box,
.ips-prod-img-link {
    overflow: hidden !important;
    border-radius: 8px 8px 0 0 !important;
}
.related-product-container .product-element-top .product-image-link img,
.elvora-related-box .product-element-top .product-image-link img,
.cibato-carousel .product-element-top .product-image-link img,
.ips-prod-img-link img,
.ips-prod-img-primary,
.ips-prod-img-secondary {
    transform: scale(1.08) !important;
    transform-origin: center center !important;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.35s ease !important;
}
.ips-prod-img-box {
    overflow: hidden !important;
}
.ips-product-card .ips-prod-img-primary,
.ips-product-card .ips-prod-img-secondary,
.elvora-related-box .ips-prod-img-primary,
.elvora-related-box .ips-prod-img-secondary {
    padding: 2px !important;
    transform: scale(1.10) !important;
    transform-origin: center center !important;
    transition: transform 0.35s cubic-bezier(0.2, 0, 0.2, 1), opacity 0.3s ease !important;
}
.related-product-container .wd-product-card:hover .product-element-top .product-image-link img,
.elvora-related-box .wd-product-card:hover .product-element-top .product-image-link img,
.cibato-carousel .wd-product-card:hover .product-element-top .product-image-link img,
.ips-product-card:hover .ips-prod-img-primary,
.ips-product-card:hover .ips-prod-img-secondary,
.elvora-related-box .ips-product-card:hover .ips-prod-img-primary,
.elvora-related-box .ips-product-card:hover .ips-prod-img-secondary {
    transform: scale(1.18) !important;
}
.elvora-related-box .cibato-carousel .slick-prev,
.elvora-related-box .cibato-carousel .slick-next {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    border: 1.5px solid #e2e8f0 !important;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.12) !important;
    color: #0f172a !important;
    font-size: 14px !important;
    line-height: 32px !important;
    z-index: 10 !important;
    transition: all 0.22s ease !important;
}
.elvora-related-box .cibato-carousel .slick-prev:hover,
.elvora-related-box .cibato-carousel .slick-next:hover {
    background: #0f172a !important;
    color: #ffffff !important;
    border-color: #0f172a !important;
}

/* ==========================================================================
   POINT 3: UNIFORM PRODUCT GRID ROW GAP (SHOP PAGE, NEWEST PRODUCTS & ALL PRODUCT GRIDS)
   ========================================================================== */
.theme-shop-listing #products-row,
.newest-products-list,
.cc-newest-products-section .newest-products-list,
.wd-product-loop-section.row,
.wd-products-grid,
.wd-related-grid,
.theme-sp-related-grid,
.wd-products-element.row {
    row-gap: 16px !important;
    --wd-pa-row-gap: 16px !important;
}
.theme-shop-listing #products-row > *,
.newest-products-list > *,
.cc-newest-products-section .newest-products-list > *,
.wd-product-loop-section.newest-products-list > *,
.wd-product-loop-section.row > *,
.wd-products-grid > *,
.wd-related-grid > *,
.theme-sp-related-grid > * {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* ==========================================================================
   POINT 4: CLEAN, COMPACT & PREMIUM CATEGORY CARDS (NO BUTTONS, NO WEIRD HOVER)
   ========================================================================== */
.elvora-cat-wrapper .elvora-cat-grid-compact,
.ips-solutions-wrapper .ips-solutions-grid.elvora-cat-grid-compact {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 16px !important;
    width: 100% !important;
}
@media (max-width: 1200px) {
    .elvora-cat-wrapper .elvora-cat-grid-compact,
    .ips-solutions-wrapper .ips-solutions-grid.elvora-cat-grid-compact {
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 14px !important;
    }
}
@media (max-width: 767.98px) {
    .elvora-cat-wrapper .elvora-cat-grid-compact,
    .ips-solutions-wrapper .ips-solutions-grid.elvora-cat-grid-compact {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 0 !important;
        width: 100% !important;
    }
    .elvora-cat-wrapper .elvora-cat-grid-compact .swiper-slide,
    .ips-solutions-wrapper .ips-solutions-grid.elvora-cat-grid-compact .swiper-slide {
        height: auto !important;
        flex-shrink: 0 !important;
        opacity: 1 !important;
        transform: none !important;
    }
    .elvora-cat-wrapper .elvora-simple-cat-card,
    .ips-solutions-wrapper .ips-solutions-grid.elvora-cat-grid-compact .elvora-simple-cat-card {
        padding: 14px 10px !important;
        opacity: 1 !important;
        transform: none !important;
    }
}

/* ==========================================================================
   UNIFIED INFINITE MARQUEE & CARDS (CATEGORY SECTION & BRAND SECTION - PARITY)
   ========================================================================== */
.elvora-marquee-container {
    position: relative !important;
    width: 100% !important;
    overflow: hidden !important;
    padding: 8px 0 16px !important;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 3%, #000 97%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0%, #000 3%, #000 97%, transparent 100%);
}
.elvora-marquee-track {
    display: flex !important;
    width: max-content !important;
    will-change: transform;
}
.elvora-cat-marquee-track {
    animation: elvoraMarqueeScroll 42s linear infinite !important;
}
.elvora-brand-marquee-track {
    animation: elvoraMarqueeScroll 38s linear infinite !important;
}
.elvora-marquee-track:hover {
    animation-play-state: paused !important;
}
.elvora-marquee-group {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    padding-right: 14px !important;
    flex-shrink: 0 !important;
}
@keyframes elvoraMarqueeScroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

/* UNIFIED CARD DESIGN FOR BOTH CATEGORY AND BRAND SECTIONS */
.elvora-mq-card,
.elvora-simple-cat-card,
.ips-brand-card {
    width: 152px !important;
    min-width: 152px !important;
    height: 110px !important;
    border-radius: 16px !important;
    border: 1.5px solid #edf2f7 !important;
    background: #ffffff !important;
    padding: 12px 10px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.03) !important;
    text-decoration: none !important;
    transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1) !important;
    position: relative !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
}
.elvora-mq-card::before,
.elvora-mq-card::after,
.elvora-simple-cat-card::before,
.elvora-simple-cat-card::after,
.ips-brand-card::before,
.ips-brand-card::after {
    display: none !important;
}
.elvora-mq-card:hover,
.elvora-simple-cat-card:hover,
.ips-brand-card:hover {
    background: #ffffff !important;
    border-color: var(--primary, #0F4C5C) !important;
    box-shadow: 0 10px 24px -4px rgba(15, 76, 92, 0.15), 0 4px 10px rgba(0, 0, 0, 0.02) !important;
    transform: translateY(-4px) !important;
}

/* Image Wrap (Strictly Direct Image with Light Radius, NO Round Outer BG) */
.elvora-mq-card-img-wrap,
.elvora-simple-cat-icon-box {
    width: 100% !important;
    height: 52px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
}
.elvora-mq-card:hover .elvora-mq-card-img-wrap,
.elvora-mq-card:hover .elvora-simple-cat-icon-box {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.elvora-mq-card-img,
.elvora-simple-cat-img,
.ips-brand-card .ips-brand-logo-img {
    max-height: 48px !important;
    max-width: 82px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    border-radius: 8px !important;
    display: block !important;
    margin: 0 auto !important;
    transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.elvora-mq-card:hover .elvora-mq-card-img,
.elvora-mq-card:hover .elvora-simple-cat-img,
.ips-brand-card:hover .ips-brand-logo-img {
    transform: scale(1.08) !important;
}

.elvora-mq-card-fallback,
.elvora-simple-cat-fallback {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--primary, #0F4C5C) !important;
    transition: all 0.28s ease !important;
}
.elvora-mq-card-fallback svg,
.elvora-simple-cat-fallback svg {
    width: 28px !important;
    height: 28px !important;
    transition: transform 0.28s ease !important;
}
.elvora-mq-card:hover .elvora-mq-card-fallback svg,
.elvora-mq-card:hover .elvora-simple-cat-fallback svg {
    transform: scale(1.1) !important;
}

.elvora-mq-card-title,
.elvora-simple-cat-title,
.ips-cat-name.elvora-simple-cat-title {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    margin: 0 !important;
    line-height: 1.3 !important;
    text-align: center !important;
    letter-spacing: -0.01em !important;
    transition: color 0.2s ease !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
    display: block !important;
}
.elvora-mq-card:hover .elvora-mq-card-title,
.elvora-mq-card:hover .elvora-simple-cat-title {
    color: var(--primary, #0F4C5C) !important;
}

.elvora-mq-brand-wordmark,
.ips-brand-card .ips-brand-wordmark {
    font-size: 1.05rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.01em !important;
    line-height: 1.2 !important;
    text-align: center !important;
    white-space: nowrap !important;
    display: inline-block !important;
    transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.ips-brand-card:hover .elvora-mq-brand-wordmark,
.ips-brand-card:hover .ips-brand-wordmark {
    transform: scale(1.08) !important;
}

@media (max-width: 768px) {
    .elvora-cat-marquee-track { animation-duration: 32s !important; }
    .elvora-brand-marquee-track { animation-duration: 30s !important; }
    .elvora-mq-card,
    .elvora-simple-cat-card,
    .ips-brand-card {
        width: 132px !important;
        min-width: 132px !important;
        height: 100px !important;
        padding: 10px 8px !important;
    }
}

/* ==========================================================================
   POINT 6: REDESIGNED ALL BRANDS & ALL CATEGORIES PAGES
   ========================================================================== */

/* --- All Brands Page --- */
.elvora-brands-page {
    margin-top: 24px;
}
.elvora-brands-hero {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    padding: 32px 36px;
    box-shadow: 0 4px 20px rgba(15, 23, 42, 0.03);
    margin-bottom: 24px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}
.elvora-brands-hero-info {
    max-width: 620px;
}
.elvora-brands-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #1D4ED8;
    color: #0F4C5C;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 5px 12px;
    border-radius: 20px;
    margin-bottom: 10px;
}
.elvora-brands-title {
    font-size: 26px;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.02em;
    margin-bottom: 6px;
    line-height: 1.25;
}
.elvora-brands-desc {
    font-size: 14.5px;
    color: #64748b;
    margin: 0;
    line-height: 1.5;
}
.elvora-brands-toolbar {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}
.elvora-brands-search-box {
    position: relative;
    width: 290px;
}
.elvora-brands-search-box input {
    width: 100%;
    height: 44px;
    background: #f8fafc;
    border: 1.5px solid #e2e8f0;
    border-radius: 24px;
    padding: 0 38px 0 38px;
    font-size: 14px;
    color: #1e293b;
    outline: none;
    transition: all 0.2s ease;
}
.elvora-brands-search-box input:focus {
    background: #ffffff;
    border-color: #0F4C5C;
    box-shadow: 0 0 0 3px rgba(15, 76, 92, 0.12);
}
.elvora-brands-search-box .elvora-search-icon {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    pointer-events: none;
}
.elvora-brands-search-box #elvora-brand-search-clear,
.elvora-brands-search-box #elvora-cat-search-clear {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    font-size: 18px;
    color: #94a3b8;
    cursor: pointer;
    padding: 0;
    line-height: 1;
}
.elvora-brands-search-box #elvora-brand-search-clear:hover,
.elvora-brands-search-box #elvora-cat-search-clear:hover {
    color: #0f172a;
}
.elvora-brands-counter {
    display: flex;
    align-items: baseline;
    gap: 6px;
    background: #f8fafc;
    border: 1.5px solid #e2e8f0;
    border-radius: 24px;
    padding: 8px 18px;
}
.elvora-brands-counter .badge-count {
    font-size: 16px;
    font-weight: 800;
    color: #0F4C5C;
}
.elvora-brands-counter .badge-label {
    font-size: 12.5px;
    font-weight: 600;
    color: #64748b;
}

/* Alphabet Quick Jump Bar */
.elvora-brand-alphabet-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 24px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 10px 14px;
    align-items: center;
}
.elvora-alpha-btn {
    border: 1px solid transparent;
    background: #f8fafc;
    color: #475569;
    font-size: 12.5px;
    font-weight: 700;
    min-width: 32px;
    height: 32px;
    padding: 0 8px;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.18s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.elvora-alpha-btn:hover {
    background: #1D4ED8;
    color: #0F4C5C;
}
.elvora-alpha-btn.active {
    background: #0F4C5C !important;
    color: #ffffff !important;
    border-color: #0F4C5C !important;
    box-shadow: 0 2px 8px rgba(15, 76, 92, 0.25);
}

/* Brands Grid */
.elvora-brands-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 16px;
}
@media (max-width: 1200px) {
    .elvora-brands-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}
@media (max-width: 768px) {
    .elvora-brands-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 12px;
    }
}
@media (max-width: 480px) {
    .elvora-brands-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
}

.elvora-brand-card-item {
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}
.elvora-brand-card-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: #ffffff;
    border: 1.5px solid #edf2f7;
    border-radius: 16px;
    padding: 18px 14px 14px;
    text-decoration: none !important;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    height: 100%;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.03);
    position: relative;
    overflow: hidden;
}
.elvora-brand-card-link:hover {
    border-color: #0F4C5C;
    transform: translateY(-4px);
    box-shadow: 0 12px 26px rgba(15, 76, 92, 0.12);
    background: #ffffff;
}
.elvora-brand-logo-frame {
    height: 80px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
}
.elvora-brand-logo-frame img {
    max-height: 58px;
    max-width: 110px;
    width: auto;
    height: auto;
    object-fit: contain;
    transition: transform 0.25s ease;
}
.elvora-brand-card-link:hover .elvora-brand-logo-frame img {
    transform: scale(1.06);
}
.elvora-brand-logo-fallback {
    width: 58px;
    height: 58px;
    border-radius: 12px;
    background: #1D4ED8;
    color: #0F4C5C;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 800;
    text-transform: uppercase;
}
.elvora-brand-card-body {
    width: 100%;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}
.elvora-brand-name {
    font-size: 13.5px;
    font-weight: 700;
    color: #1e293b;
    margin: 0;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    transition: color 0.2s ease;
}
.elvora-brand-card-link:hover .elvora-brand-name {
    color: #0F4C5C;
}
.elvora-brand-arrow-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11.5px;
    font-weight: 700;
    color: #64748b;
    background: #f8fafc;
    padding: 4px 10px;
    border-radius: 12px;
    transition: all 0.2s ease;
}
.elvora-brand-card-link:hover .elvora-brand-arrow-pill {
    background: #1D4ED8;
    color: #0F4C5C;
}

/* Empty State */
.elvora-brands-empty {
    text-align: center;
    padding: 60px 20px;
    background: #ffffff;
    border: 1px dashed #cbd5e1;
    border-radius: 18px;
    margin-top: 10px;
    width: 100%;
}
.elvora-reset-search-btn {
    background: #0F4C5C !important;
    color: #ffffff !important;
    border-radius: 20px !important;
    font-weight: 700 !important;
    padding: 6px 16px !important;
    margin-top: 10px !important;
}

/* --- All Categories Page --- */
.elvora-categories-page {
    margin-top: 24px;
}
.elvora-cats-hero {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    padding: 32px 36px;
    box-shadow: 0 4px 20px rgba(15, 23, 42, 0.03);
    margin-bottom: 28px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}
.elvora-cats-grid-layout {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}
@media (max-width: 991px) {
    .elvora-cats-grid-layout {
        grid-template-columns: 1fr;
        gap: 18px;
    }
}
.elvora-parent-cat-card {
    background: #ffffff;
    border: 1.5px solid #edf2f7;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.03);
    transition: all 0.25s ease;
    display: flex;
    flex-direction: column;
}
.elvora-parent-cat-card:hover {
    border-color: #cbd5e1;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.07);
}
.elvora-parent-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 22px;
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
    border-bottom: 1.5px solid #edf2f7;
    gap: 12px;
}
.elvora-parent-head-info {
    display: flex;
    align-items: center;
    gap: 14px;
    text-decoration: none !important;
}
.elvora-parent-thumb {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
}
.elvora-parent-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.elvora-parent-title-group h2 {
    font-size: 16px;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 2px 0;
    line-height: 1.3;
    transition: color 0.2s ease;
}
.elvora-parent-head-info:hover h2 {
    color: #0F4C5C;
}
.elvora-parent-count-pill {
    display: inline-block;
    background: #1D4ED8;
    color: #0F4C5C;
    font-size: 11.5px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 10px;
}
/* Bulletproof High-Contrast Button System Across Storefront */
.elvora-parent-browse-btn,
a.elvora-parent-browse-btn,
button.elvora-parent-browse-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: #0F4C5C !important;
    color: #ffffff !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    padding: 6px 14px !important;
    border-radius: 18px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    flex-shrink: 0 !important;
}
.elvora-parent-browse-btn span,
.elvora-parent-browse-btn svg,
a.elvora-parent-browse-btn span,
a.elvora-parent-browse-btn svg {
    color: #ffffff !important;
    fill: currentColor !important;
    stroke: currentColor !important;
}
.elvora-parent-browse-btn:hover,
.elvora-parent-browse-btn:focus,
.elvora-parent-browse-btn:active,
a.elvora-parent-browse-btn:hover,
a.elvora-parent-browse-btn:focus,
a.elvora-parent-browse-btn:active {
    background: #0f3625 !important;
    transform: translateX(2px);
    color: #ffffff !important;
}
.elvora-parent-browse-btn:hover span,
.elvora-parent-browse-btn:focus span,
.elvora-parent-browse-btn:active span,
.elvora-parent-browse-btn:hover svg,
.elvora-parent-browse-btn:focus svg,
.elvora-parent-browse-btn:active svg,
a.elvora-parent-browse-btn:hover span,
a.elvora-parent-browse-btn:focus span,
a.elvora-parent-browse-btn:active span,
a.elvora-parent-browse-btn:hover svg,
a.elvora-parent-browse-btn:focus svg,
a.elvora-parent-browse-btn:active svg {
    color: #ffffff !important;
    fill: currentColor !important;
    stroke: currentColor !important;
}

/* Bulletproof Global Button Hover Contrast */
.elvora-btn-main,
a.elvora-btn-main,
button.elvora-btn-main {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}
.elvora-btn-main--primary,
a.elvora-btn-main--primary,
.elvora-btn-main--primary span,
.elvora-btn-main--primary svg,
a.elvora-btn-main--primary span,
a.elvora-btn-main--primary svg {
    background: var(--primary, #0F4C5C) !important;
    color: #ffffff !important;
    stroke: currentColor !important;
}
.elvora-btn-main--primary:hover,
.elvora-btn-main--primary:focus,
.elvora-btn-main--primary:active,
a.elvora-btn-main--primary:hover,
a.elvora-btn-main--primary:focus,
a.elvora-btn-main--primary:active,
.elvora-btn-main--primary:hover span,
.elvora-btn-main--primary:hover svg,
a.elvora-btn-main--primary:hover span,
a.elvora-btn-main--primary:hover svg {
    background: #0f3625 !important;
    color: #ffffff !important;
    stroke: currentColor !important;
}
.elvora-btn-main--outline:hover,
.elvora-btn-main--outline:focus,
.elvora-btn-main--outline:active,
a.elvora-btn-main--outline:hover,
a.elvora-btn-main--outline:focus,
a.elvora-btn-main--outline:active,
.elvora-btn-main--outline:hover span,
.elvora-btn-main--outline:hover svg,
a.elvora-btn-main--outline:hover span,
a.elvora-btn-main--outline:hover svg {
    background: #0F4C5C !important;
    color: #ffffff !important;
    border-color: #0F4C5C !important;
}
.elvora-btn-why-learn:hover,
.ips-btn-why-learn:hover,
.elvora-btn-why-learn:hover span,
.ips-btn-why-learn:hover span,
.elvora-btn-why-learn:hover svg,
.ips-btn-why-learn:hover svg {
    color: #ffffff !important;
}
.elvora-reset-search-btn:hover,
.elvora-reset-search-btn:focus {
    background: #0f3625 !important;
    color: #ffffff !important;
}

/* Universal high-contrast protection for all dark buttons across storefront */
.elvora-parent-browse-btn:hover *,
.elvora-parent-browse-btn:focus *,
.elvora-btn-main--primary:hover *,
.elvora-btn-main--primary:focus *,
.elvora-btn-main--outline:hover *,
.elvora-btn-main--outline:focus *,
.elvora-btn-why-learn:hover *,
.ips-btn-why-learn:hover *,
.elvora-reset-search-btn:hover *,
.btn-primary:hover *,
.btn-primary:focus *,
.btn-primary:active * {
    color: #ffffff !important;
    fill: currentColor !important;
    stroke: currentColor !important;
}

/* Ensure the arrow icon inside the glass bubble of .ips-btn-view-all always remains pure brilliant white and sharp */
.ips-btn-view-all .ips-btn-icon-bubble svg,
.ips-btn-view-all .ips-btn-icon-bubble i,
.ips-btn-view-all:hover .ips-btn-icon-bubble svg,
.ips-btn-view-all:hover .ips-btn-icon-bubble i,
.ips-btn-view-all:focus .ips-btn-icon-bubble svg,
.ips-btn-view-all:focus .ips-btn-icon-bubble i {
    color: #ffffff !important;
    stroke: #ffffff !important;
    fill: none !important;
}
.ips-btn-view-all .ips-btn-icon-bubble svg path,
.ips-btn-view-all:hover .ips-btn-icon-bubble svg path,
.ips-btn-view-all:focus .ips-btn-icon-bubble svg path {
    stroke: #ffffff !important;
}

/* Subcategories Area */
.elvora-subcats-grid {
    padding: 16px 20px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    flex-grow: 1;
}
@media (max-width: 576px) {
    .elvora-subcats-grid {
        grid-template-columns: 1fr;
    }
}
.elvora-subcat-cell {
    background: #f8fafc;
    border: 1px solid #edf2f7;
    border-radius: 12px;
    padding: 12px 14px;
    transition: all 0.2s ease;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.elvora-subcat-cell:hover {
    background: #ffffff;
    border-color: #0F4C5C;
    box-shadow: 0 4px 12px rgba(15, 76, 92, 0.08);
}
.elvora-subcat-link {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none !important;
    margin-bottom: 6px;
}
.elvora-subcat-thumb {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
}
.elvora-subcat-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.elvora-subcat-name {
    font-size: 13.5px;
    font-weight: 700;
    color: #1e293b;
    margin: 0;
    flex-grow: 1;
    line-height: 1.3;
    transition: color 0.2s ease;
}
.elvora-subcat-link:hover .elvora-subcat-name {
    color: #0F4C5C;
}
.elvora-subcat-count {
    font-size: 11px;
    font-weight: 600;
    color: #64748b;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    padding: 2px 7px;
    border-radius: 8px;
    flex-shrink: 0;
}

/* Grandchildren chips */
.elvora-grandcats-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 4px;
    padding-top: 6px;
    border-top: 1px dashed #e2e8f0;
}
.elvora-grandcat-chip,
a.elvora-grandcat-chip {
    font-size: 11px;
    font-weight: 600;
    color: #475569 !important;
    -webkit-text-fill-color: #475569 !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    padding: 2px 7px;
    border-radius: 6px;
    text-decoration: none !important;
    transition: all 0.18s ease;
    display: inline-block;
}
.elvora-grandcat-chip:hover,
a.elvora-grandcat-chip:hover,
.elvora-grandcat-chip:focus,
a.elvora-grandcat-chip:focus {
    background: #1D4ED8 !important;
    background-color: #1D4ED8 !important;
    color: #0F4C5C !important;
    -webkit-text-fill-color: #0F4C5C !important;
    border-color: #0F4C5C !important;
}
.elvora-grandcat-more {
    font-size: 11px;
    font-weight: 700;
    color: #0F4C5C;
    text-decoration: none !important;
    padding: 2px 4px;
}

/* ==================== BEST SELLING PRODUCTS GRID (EXACT SHOP PAGE PARITY) ==================== */
.elvora-best-grid {
    --wd-pa-gap: var(--wd-loop-gap, 15px);
    --wd-pa-row-gap: 16px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: var(--wd-pa-gap) !important;
    row-gap: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 30px !important;
    align-items: stretch !important;
    grid-auto-flow: row !important;
}
@media (min-width: 768px) {
    .elvora-best-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}
@media (min-width: 992px) {
    .elvora-best-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}
.elvora-best-grid > .col,
.elvora-best-grid > .product-grid-item-col,
.elvora-best-grid > .elvora-best-col {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    padding: 0 !important;
    margin: 0 !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
}
.elvora-best-grid .product-grid-item,
.elvora-best-grid .wd-product-loop-context,
.elvora-best-grid .ips-product-card {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    margin-bottom: 0 !important;
}

/* ==========================================================================
   SINGLE PRODUCT PAGE ENHANCEMENTS: TABS, GALLERY PARITY, & RELATED SECTION
   ========================================================================== */

/* 1. FLOATING MODERN SEGMENTED TABS (SCREENSHOT 7 MATCH) */
.product-details-nav-tab.theme-sp-tabs-wrap {
    margin-top: 1.5rem !important;
    margin-bottom: 2.5rem !important;
}
.elvora-tab-header {
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin-bottom: 1.25rem !important;
}
.elvora-tab-island-shell {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
}
.elvora-tab-pills-list {
    display: inline-flex !important;
    align-items: center !important;
    background: #f8fafc !important;
    padding: 6px !important;
    border-radius: 999px !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 4px 18px rgba(15, 23, 42, 0.05) !important;
    gap: 6px !important;
    list-style: none !important;
    margin: 0 !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}
.elvora-tab-pills-list::-webkit-scrollbar {
    display: none !important;
}
.elvora-tab-item {
    display: inline-flex !important;
    margin: 0 !important;
    padding: 0 !important;
}
.elvora-tab-pill,
.elvora-tab-pills-list .nav-link.elvora-tab-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 9px 22px !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    color: #64748b !important;
    border-radius: 999px !important;
    border: none !important;
    background: transparent !important;
    text-decoration: none !important;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    line-height: 1.4 !important;
}
.elvora-tab-pill i,
.elvora-tab-pills-list .nav-link.elvora-tab-pill i {
    font-size: 17px !important;
    color: #94a3b8 !important;
    transition: color 0.25s ease, transform 0.25s ease !important;
}
.elvora-tab-pill:hover,
.elvora-tab-pills-list .nav-link.elvora-tab-pill:hover {
    color: var(--primary, #0F4C5C) !important;
    background: rgba(15, 76, 92, 0.08) !important;
    transform: translateY(-1px) !important;
}
.elvora-tab-pill:hover i,
.elvora-tab-pills-list .nav-link.elvora-tab-pill:hover i {
    color: var(--primary, #0F4C5C) !important;
    transform: scale(1.1) !important;
}
.elvora-tab-pill.active,
.elvora-tab-pills-list .nav-link.elvora-tab-pill.active {
    background: linear-gradient(135deg, var(--primary, #0F4C5C) 0%, #165b6e 100%) !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 14px rgba(15, 76, 92, 0.32) !important;
    transform: translateY(0) !important;
}
.elvora-tab-pill.active i,
.elvora-tab-pills-list .nav-link.elvora-tab-pill.active i {
    color: #ffffff !important;
    transform: none !important;
}

/* 2. TAB CONTENT CARD LUXURY REFINEMENT */
.theme-sp-tab-section > .border.bg-white,
.elvora-tab-card {
    border: 1px solid #eef2f6 !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 20px rgba(15, 23, 42, 0.04) !important;
    background: #ffffff !important;
    padding: 32px 36px !important;
    transition: all 0.3s ease !important;
}
.cibato-editor-data {
    font-size: 15px !important;
    line-height: 1.8 !important;
    color: #334155 !important;
}

/* 3. GALLERY IMAGE PARITY WITH QUICK VIEW & DOUBLE BORDER FIX */
.elvora-sp-thumb-container {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
}
.thumb-slider .elvora-sp-thumb-cell,
.product-details .thumb-slider .swiper-slide.elvora-sp-thumb-cell {
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    padding: 3px !important;
    box-shadow: none !important;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.thumb-slider .elvora-sp-thumb-cell:hover,
.product-details .thumb-slider .swiper-slide.elvora-sp-thumb-cell:hover {
    border-color: var(--primary, #0F4C5C) !important;
    transform: scale(1.04) !important;
}
.thumb-slider .swiper-slide-thumb-active,
.thumb-slider .elvora-sp-thumb-cell.swiper-slide-thumb-active,
.product-details .thumb-slider .swiper-slide.swiper-slide-thumb-active {
    border: 2px solid var(--primary, #0F4C5C) !important;
    box-shadow: 0 0 0 2px rgba(15, 76, 92, 0.22) !important;
    background: #ffffff !important;
    opacity: 1 !important;
}
.thumb-slider .elvora-sp-thumb-cell img {
    border-radius: 7px !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Single clean border on main slide (identical to Quick View .quickview-main-image-wrap) */
.product-details .main-slider .swiper-slide.elvora-sp-main-slide,
.elvora-sp-main-slide {
    border: 1px solid #eef2f6 !important;
    border-radius: 14px !important;
    background: #f8fafc !important;
    box-shadow: 0 2px 12px rgba(15, 23, 42, 0.04) !important;
    overflow: hidden !important;
}
.product-details .main-slider .swiper-slide.elvora-sp-main-slide img {
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
}

/* 4. RELATED PRODUCTS CONTAINER SEAMLESS BLEND */
.product-details .theme-sp-related-section {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.product-details .elvora-related-box {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* ==========================================================================
   BEST CC TV: SINGLE PRODUCT PAGE MODERN TABS, RELATED PRODUCTS & GALLERY PARITY
   ========================================================================== */

/* 1. Next-Gen Modern Tabs Navigation */
.cctv-sp-tabs,
.elvora-tab-pills-list {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: #f8fafc !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 14px !important;
    padding: 6px !important;
    box-shadow: 0 4px 16px rgba(15, 76, 92, 0.04) !important;
    list-style: none !important;
    margin: 0 !important;
    max-width: 100% !important;
    overflow-x: auto !important;
}
.cctv-sp-tab-item,
.elvora-tab-item {
    display: inline-flex !important;
    margin: 0 !important;
    padding: 0 !important;
}
.cctv-sp-tab-link,
.elvora-tab-pill,
#tabLinks .nav-link.elvora-tab-pill,
.elvora-tab-pills-list .nav-link.elvora-tab-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 22px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #475569 !important;
    background: transparent !important;
    border: none !important;
    text-decoration: none !important;
    transition: all 0.22s ease !important;
    cursor: pointer !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}
.cctv-sp-tab-link i,
.elvora-tab-pill i,
#tabLinks .nav-link.elvora-tab-pill i {
    font-size: 16px !important;
    color: #64748b !important;
    transition: color 0.2s ease, transform 0.2s ease !important;
}
.cctv-sp-tab-link:hover,
.elvora-tab-pill:hover,
#tabLinks .nav-link.elvora-tab-pill:hover {
    color: var(--primary, #0F4C5C) !important;
    background: rgba(15, 76, 92, 0.06) !important;
}
.cctv-sp-tab-link:hover i,
.elvora-tab-pill:hover i,
#tabLinks .nav-link.elvora-tab-pill:hover i {
    color: var(--primary, #0F4C5C) !important;
    transform: scale(1.1) !important;
}
.cctv-sp-tab-link.active,
.elvora-tab-pill.active,
#tabLinks .nav-link.elvora-tab-pill.active,
#tabLinks .nav-link.active {
    background: var(--primary, #0F4C5C) !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 14px rgba(15, 76, 92, 0.28) !important;
}
.cctv-sp-tab-link.active i,
.elvora-tab-pill.active i,
#tabLinks .nav-link.elvora-tab-pill.active i,
#tabLinks .nav-link.active i {
    color: #ffffff !important;
}

/* 2. Gallery Single Border Parity with Quick View */
.product-details .main-slider,
.main-slider {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
}
.product-details .main-slider .swiper-slide,
.elvora-sp-main-slide {
    border: 1px solid #eef2f6 !important;
    border-radius: 14px !important;
    background: #f8fafc !important;
    box-shadow: none !important;
}

/* 3. Related Products Container Clean Background */
.product-details .theme-sp-related-section,
.product-details .related-product-container,
.product-details .elvora-related-box {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* 4. Related Products Slick Arrows — Exact Homepage Parity */
.product-details .elvora-related-box .slick-arrow,
.product-details .elvora-related-carousel-shell .slick-arrow,
.product-details .theme-sp-related-carousel-shell .slick-arrow,
.product-details .theme-sp-related-carousel-shell > .slick-arrow {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    border: 1.5px solid #e2e8f0 !important;
    color: var(--primary, #0F4C5C) !important;
    box-shadow: 0 4px 14px rgba(15, 76, 92, 0.12) !important;
    z-index: 10 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.22s ease !important;
}
.product-details .elvora-related-box .slick-prev,
.product-details .elvora-related-carousel-shell .slick-prev,
.product-details .theme-sp-related-carousel-shell .slick-prev,
.product-details .theme-sp-related-carousel-shell > .slick-prev {
    left: -18px !important;
    right: auto !important;
}
.product-details .elvora-related-box .slick-next,
.product-details .elvora-related-carousel-shell .slick-next,
.product-details .theme-sp-related-carousel-shell .slick-next,
.product-details .theme-sp-related-carousel-shell > .slick-next {
    right: -18px !important;
    left: auto !important;
}
.product-details .elvora-related-box .slick-arrow:hover,
.product-details .elvora-related-carousel-shell .slick-arrow:hover,
.product-details .theme-sp-related-carousel-shell .slick-arrow:hover,
.product-details .theme-sp-related-carousel-shell > .slick-arrow:hover {
    background: var(--primary, #0F4C5C) !important;
    color: #ffffff !important;
    border-color: var(--primary, #0F4C5C) !important;
    box-shadow: 0 6px 18px rgba(15, 76, 92, 0.28) !important;
    transform: translateY(-50%) scale(1.08) !important;
}
.product-details .elvora-related-box .slick-arrow:hover *,
.product-details .elvora-related-box .slick-arrow:hover i,
.product-details .elvora-related-carousel-shell .slick-arrow:hover *,
.product-details .theme-sp-related-carousel-shell .slick-arrow:hover * {
    color: #ffffff !important;
}


/* ==========================================================================
   FINAL PERFECTION: POINTS 6, 7, 9, 11 DEFINITIVE IMPLEMENTATION
   ========================================================================== */

/* ----------------------------------------------------
   POINT 6: Single Product Related Products Carousel Arrows
   Exact parity with homepage carousel arrow positioning & styling
   ---------------------------------------------------- */
.product-details .related-product-container {
    position: relative !important;
}
.product-details .related-product-container .ips-product-carousel-wrapper {
    position: relative !important;
    overflow: visible !important;
    padding: 10px 0 20px 0 !important;
    margin: 0 !important;
}
.product-details .related-product-container .ips-carousel-arrow {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    border: 1.5px solid #e2e8f0 !important;
    color: var(--primary, #0F4C5C) !important;
    box-shadow: 0 4px 14px rgba(15, 76, 92, 0.12) !important;
    z-index: 15 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
    padding: 0 !important;
}
.product-details .related-product-container .ips-carousel-arrow i {
    font-size: 1.25rem !important;
    color: var(--primary, #0F4C5C) !important;
    transition: color 0.2s ease !important;
    line-height: 1 !important;
}
.product-details .related-product-container .ips-carousel-prev {
    left: -18px !important;
    right: auto !important;
}
.product-details .related-product-container .ips-carousel-next {
    right: -18px !important;
    left: auto !important;
}
.product-details .related-product-container .ips-carousel-arrow:hover {
    background: var(--primary, #0F4C5C) !important;
    color: #ffffff !important;
    border-color: var(--primary, #0F4C5C) !important;
    box-shadow: 0 8px 22px rgba(15, 76, 92, 0.3) !important;
    transform: translateY(-50%) scale(1.1) !important;
}
.product-details .related-product-container .ips-carousel-arrow:hover i {
    color: #ffffff !important;
}

/* ----------------------------------------------------
   POINT 7: Gallery Image Exact Quick View Parity & Double Border Elimination
   ---------------------------------------------------- */
/* Shells & wrappers: Zero border, zero shadow */
.product-details .product-slider-wrapper,
.product-details .theme-sp-gallery-shell,
.product-details .theme-sp-gallery-row,
.product-details .main-slider,
.product-details .theme-sp-product-gallery-col {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Single clean border on main slide (identical to Quick View .quickview-main-image-wrap) */
.product-details .main-slider .swiper-slide.elvora-sp-main-slide,
.product-details .main-slider .swiper-slide,
.elvora-sp-main-slide {
    position: relative !important;
    background: #f8fafc !important;
    border-radius: 12px !important;
    border: 1px solid #eef2f6 !important;
    box-shadow: none !important;
    outline: none !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.product-details .main-slider .swiper-slide img,
.product-details .main-slider .swiper-slide.elvora-sp-main-slide img {
    max-width: 100% !important;
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
    border: none !important;
    outline: none !important;
}

/* Thumbnails: Matching Quick View .quickview-thumb-item exactly */
.product-details .thumb-container .thumb-slider .swiper-slide,
.product-details .thumb-slider .swiper-slide,
.product-details .thumb-slider .swiper-slide.elvora-sp-thumb-cell {
    width: 62px !important;
    height: 62px !important;
    min-width: 62px !important;
    min-height: 62px !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 8px !important;
    border: 1.5px solid #e2e8f0 !important;
    background: #f8fafc !important;
    padding: 2px !important;
    cursor: pointer !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: none !important;
    outline: none !important;
    transition: all 0.2s ease !important;
    margin-bottom: 8px !important;
    box-sizing: border-box !important;
}
.product-details .thumb-slider .swiper-slide:hover,
.product-details .thumb-slider .swiper-slide.elvora-sp-thumb-cell:hover {
    border-color: var(--primary, #0F4C5C) !important;
    transform: translateY(-2px) !important;
    box-shadow: none !important;
}
/* NO DOUBLE BORDER ON ACTIVE THUMBNAIL */
.product-details .thumb-slider .swiper-slide.swiper-slide-thumb-active,
.product-details .thumb-slider .swiper-slide-thumb-active,
.product-details .thumb-slider .swiper-slide.active {
    border: 2px solid var(--primary, #0F4C5C) !important;
    box-shadow: none !important;
    outline: none !important;
    background: #ffffff !important;
    opacity: 1 !important;
}
.product-details .thumb-slider .swiper-slide img,
.product-details .thumb-slider .swiper-slide.elvora-sp-thumb-cell img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: cover !important;
    border-radius: 6px !important;
    border: none !important;
    outline: none !important;
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ----------------------------------------------------
   POINT 9: Button Icon Parity (Exact Load More Icon in All Buttons)
   ---------------------------------------------------- */
.ips-btn-view-all .cctv-load-more-icon-wrap,
.newest-load-more-btn .cctv-load-more-icon-wrap {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 26px !important;
    height: 26px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    color: var(--primary, #0F4C5C) !important;
    line-height: 1 !important;
    margin-left: 8px !important;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.2s ease !important;
    flex-shrink: 0 !important;
    border: none !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12) !important;
}
.ips-btn-view-all .cctv-load-more-svg,
.newest-load-more-btn .cctv-load-more-svg {
    display: block !important;
    width: 14px !important;
    height: 14px !important;
    stroke: var(--primary, #0F4C5C) !important;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.ips-btn-view-all:hover .cctv-load-more-icon-wrap,
.newest-load-more-btn:hover .cctv-load-more-icon-wrap {
    transform: rotate(90deg) scale(1.08) !important;
    background: #ffffff !important;
}
.ips-btn-view-all:hover .cctv-load-more-svg,
.newest-load-more-btn:hover .cctv-load-more-svg {
    stroke: var(--primary, #0F4C5C) !important;
}

/* ----------------------------------------------------
   POINT 11: Completely Fresh & Premium Homepage Product Sections
   ---------------------------------------------------- */
.cctv-section-kicker {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: var(--primary, #0F4C5C) !important;
    background: rgba(15, 76, 92, 0.08) !important;
    border: 1px solid rgba(15, 76, 92, 0.16) !important;
    padding: 4px 12px !important;
    border-radius: 999px !important;
    margin-bottom: 8px !important;
}
.cctv-section-kicker i {
    font-size: 13px !important;
}
.ips-section-has-bg {
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%) !important;
    border-top: 1px solid #eef2f6 !important;
    border-bottom: 1px solid #eef2f6 !important;
    padding: 44px 0 !important;
}
.ips-product-grid-section {
    padding: 40px 0 !important;
}

/* Horizontal Clean Micro-Badges on Product Cards */
.ips-prod-tag-bar {
    position: absolute !important;
    top: 10px !important;
    left: 10px !important;
    right: 10px !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 5px !important;
    z-index: 5 !important;
    pointer-events: none !important;
}
.ips-badge-item {
    font-size: 10px !important;
    font-weight: 800 !important;
    padding: 3px 8px !important;
    border-radius: 999px !important;
    letter-spacing: 0.3px !important;
    text-transform: uppercase !important;
    display: inline-flex !important;
    align-items: center !important;
    line-height: 1 !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}
.ips-badge-discount {
    background: #ef4444 !important;
    color: #ffffff !important;
    border: none !important;
}
.ips-badge-sale {
    background: var(--primary, #0F4C5C) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
}
.ips-badge-new {
    background: #1D4ED8 !important;
    color: #ffffff !important;
    border: none !important;
}

/* Product Card High-End Container Redesign */
.ips-product-card {
    background: #ffffff !important;
    border: 1px solid #eef2f6 !important;
    border-radius: 16px !important;
    padding: 10px !important;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04) !important;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.22s ease !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    width: 100% !important;
    position: relative !important;
}
.ips-product-card:hover {
    border-color: rgba(15, 76, 92, 0.26) !important;
    box-shadow: 0 16px 36px -6px rgba(15, 76, 92, 0.16), 0 4px 12px rgba(0, 0, 0, 0.04) !important;
    transform: translateY(-5px) !important;
}
.ips-product-card .vc-media {
    border-radius: 12px !important;
    background: #f8fafc !important;
    aspect-ratio: 1 / 1 !important;
}
.ips-product-card .ips-prod-content {
    padding: 10px 4px 2px 4px !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}
.ips-product-card .ips-prod-brand {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: capitalize !important;
    color: #64748b !important;
    letter-spacing: 0.02em !important;
    margin-bottom: 4px !important;
}
.ips-product-card .ips-prod-title {
    font-size: 14.5px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    margin-bottom: 8px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
.ips-product-card .ips-prod-title a {
    color: #0f172a !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}
.ips-product-card:hover .ips-prod-title a {
    color: var(--primary, #0F4C5C) !important;
}
.ips-product-card .ips-prod-price-box {
    margin-top: auto !important;
    margin-bottom: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}
.ips-product-card .ips-prod-price {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: var(--primary, #0F4C5C) !important;
}
.ips-product-card .ips-prod-price-old {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #94a3b8 !important;
    text-decoration: line-through !important;
    margin-left: 6px !important;
}
.ips-product-card .ips-prod-btn-row {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
.ips-product-card button.ips-btn-card-buy {
    flex: 1 !important;
    height: 38px !important;
    background: linear-gradient(135deg, var(--primary, #0F4C5C) 0%, #165b6d 100%) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 10px !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 14px rgba(15, 76, 92, 0.25) !important;
    transition: all 0.25s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
}
.ips-product-card button.ips-btn-card-buy:hover {
    background: linear-gradient(135deg, #0b3945 0%, var(--primary, #0F4C5C) 100%) !important;
    box-shadow: 0 6px 18px rgba(15, 76, 92, 0.38) !important;
    transform: translateY(-1px) !important;
}
.ips-product-card button.ips-btn-card-cart-icon {
    width: 38px !important;
    height: 38px !important;
    border-radius: 10px !important;
    background: rgba(15, 76, 92, 0.08) !important;
    border: 1.5px solid rgba(15, 76, 92, 0.16) !important;
    color: var(--primary, #0F4C5C) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 17px !important;
    transition: all 0.25s ease !important;
}
.ips-product-card button.ips-btn-card-cart-icon:hover {
    background: var(--primary, #0F4C5C) !important;
    color: #ffffff !important;
    border-color: var(--primary, #0F4C5C) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(15, 76, 92, 0.3) !important;
}

/* Ensure all section titles and headings are ALWAYS visible and NEVER hidden */
.ips-mask-reveal-inner,
body.ips-anim-ready .ips-mask-reveal-inner,
body.ips-anim-ready .ips-main-section-title .ips-mask-reveal-inner,
body.ips-anim-ready #solar-panels .ips-mask-reveal-inner,
body.ips-anim-ready #solar-inverter .ips-mask-reveal-inner,
body.ips-anim-ready #batteries .ips-mask-reveal-inner {
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
    display: inline-block !important;
}
.ips-mask-reveal {
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
}
/* ==========================================================================
   UNIVERSAL VISIBILITY OVERRIDE: NEVER HIDE CONTENT WITH OPACITY: 0
   ========================================================================== */
body.ips-anim-ready .ips-product-carousel-wrapper,
body.ips-anim-ready .ips-btn-view-all,
body.ips-anim-ready .ips-section-heading-wrap .ips-btn-view-all,
body.ips-anim-ready .ips-main-section-sub,
body.ips-anim-ready .ips-main-section-title,
body.ips-anim-ready .ips-mask-reveal-inner,
body.ips-anim-ready .ips-product-card,
body.ips-anim-ready .swiper-slide,
body.ips-anim-ready .ips-carousel-arrow {
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
}

body.ips-anim-ready .ips-carousel-arrow {
    transform: translateY(-50%) !important;
}