/** Shopify CDN: Minification failed

Line 1730:12 Expected identifier but found whitespace
Line 1730:13 Unexpected "16px"
Line 3888:0 Unexpected "}"

**/
/* ========================================
   Everyday Design - Main Stylesheet
   macOS Design System - Apple Experience
   MEGA UPDATE v2.0 - Ultra Engineering
   ======================================== */

/* Font Face (Inter - Apple-like Web Font) */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

/* CSS Variables - macOS DESIGN SYSTEM */
:root {
    /* ========== PRIMARY COLORS - Apple System Colors ========== */
    --primary-blue: #0071e3;
    --primary-blue-light: #2997ff;
    --primary-blue-hover: #0077ed;
    --primary-blue-active: #005bb5;
    --accent-cyan: #64d2ff;
    --accent-cyan-light: #5ac8fa;
    
    /* Vibrant Accent Colors - Apple HIG */
    --apple-indigo: #5856d6;
    --apple-purple: #bf5af2;
    --apple-pink: #ff375f;
    --apple-teal: #30d158;
    
    /* Orange/CTA Colors - Apple Orange */
    --orange-primary: #ff9f0a;
    --orange-hover: #ff9500;
    --orange-light: #ffd60a;
    --orange-bg: rgba(255, 159, 10, 0.08);
    
    /* ========== SOFT PALETTE - Opaque Colors ========== */
    --soft-mint: rgba(167, 243, 208, 0.5);
    --soft-lavender: rgba(221, 214, 254, 0.5);
    --soft-peach: rgba(254, 215, 170, 0.5);
    --soft-sky: rgba(186, 230, 253, 0.5);
    --soft-rose: rgba(253, 205, 213, 0.5);
    
    /* ========== TEXT COLORS - Apple Typography ========== */
    --text-primary: #1d1d1f;
    --text-secondary: #6e6e73;
    --text-muted: #86868b;
    --text-light: #aeaeb2;
    --text-white: #f5f5f7;
    
    /* ========== BACKGROUND COLORS - Apple Style ========== */
    --bg-primary: #ffffff;
    --bg-secondary: #fbfbfd;
    --bg-header: #1d1d1f;
    --bg-light-blue: #f5f5f7;
    --bg-light-cyan: #f5f5f7;
    --bg-gray: #f5f5f7;
    --bg-dark: #1d1d1f;
    --bg-tertiary: #f5f5f7;
    --bg-grouped: #f5f5f7;
    
    /* Glassmorphism Materials */
    --material-thin: rgba(255, 255, 255, 0.8);
    --material-regular: rgba(255, 255, 255, 0.9);
    --material-thick: rgba(255, 255, 255, 0.95);
    --blur-amount: 20px;
    --saturation: 150%;
    
    /* ========== BORDER COLORS ========== */
    --border-primary: rgba(0, 0, 0, 0.06);
    --border-secondary: rgba(0, 0, 0, 0.04);
    --border-light: rgba(0, 0, 0, 0.03);
    --separator: rgba(0, 0, 0, 0.08);
    --border-strong: rgba(0, 0, 0, 0.1);
    
    /* ========== STATUS COLORS - Apple System ========== */
    --success-green: #30d158;
    --success-bg: rgba(48, 209, 88, 0.1);
    --success-text: #248a3d;
    --error-red: #ff453a;
    --error-bg: rgba(255, 69, 58, 0.1);
    --warning-yellow: #ffd60a;
    
    /* ========== LINK COLORS ========== */
    --link-blue: #0066cc;
    --link-light: #2997ff;
    --link-highlight: #0071e3;
    
    /* ========== FONT - Apple System ========== */
    --font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', sans-serif;
    --font-size-base: 17px;
    --line-height-base: 1.47;
    --letter-spacing-base: -0.022em;
    
    /* ========== LAYOUT ========== */
    --container-width: 1440px;
    --container-width-lg: 1280px;
    --container-width-md: 1024px;
    --container-width-sm: 768px;
    --header-height: 64px;
    --header-gap: 48px;
    --logo-width: 180px;
    --logo-height: 44px;
    
    /* ========== BORDER RADIUS - macOS Style ========== */
    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 14px;
    --radius-xl: 20px;
    --radius-2xl: 28px;
    --radius-full: 9999px;
    
    /* ========== SHADOWS - Apple Depth System ========== */
    --shadow-xs: 0 0.5px 1px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.06);
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08), 0 2px 6px rgba(0, 0, 0, 0.04);
    --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
    --shadow-lg: 0 8px 28px rgba(0, 0, 0, 0.12), 0 4px 12px rgba(0, 0, 0, 0.06);
    --shadow-xl: 0 16px 48px rgba(0, 0, 0, 0.16), 0 8px 24px rgba(0, 0, 0, 0.08);
    --shadow-search: 0 2px 12px rgba(0, 0, 0, 0.08);
    --shadow-nav: 0 1px 3px rgba(0, 0, 0, 0.06);
    --shadow-blue: 0 8px 24px rgba(0, 122, 255, 0.25), 0 4px 12px rgba(0, 122, 255, 0.15);

    /* ========== OVERLAY COLORS ========== */
    --overlay-dark: rgba(0, 0, 0, 0.7);
    --overlay-medium: rgba(0, 0, 0, 0.5);
    --overlay-light: rgba(0, 0, 0, 0.3);
    --overlay-extralight: rgba(0, 0, 0, 0.04);
    --shadow-overlay: rgba(0, 0, 0, 0.12);
    --shadow-primary-blue: rgba(0, 113, 227, 0.4);
    --shadow-primary-blue-hover: rgba(0, 113, 227, 0.5);

    /* ========== SOCIAL MEDIA BRAND COLORS ========== */
    --whatsapp-green: #25D366;
    --whatsapp-dark: #128C7E;

    /* ========== RGB VARIANTS (For Alpha Channel Use) ========== */
    --primary-blue-rgb: 0, 113, 227;
    --rose-rgb: 255, 100, 150;
    --mint-rgb: 100, 255, 180;
    --sky-rgb: 100, 200, 255;
    --lavender-rgb: 180, 150, 255;
    --peach-rgb: 255, 180, 120;

    /* ========== TRANSITIONS - Apple Easing ========== */
    --ease-apple: cubic-bezier(0.25, 0.1, 0.25, 1);
    --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
    --duration-fast: 150ms;
    --duration-normal: 200ms;
    --duration-slow: 300ms;
    --transition: var(--duration-normal) var(--ease-apple);
    --transition-fast: var(--duration-fast) var(--ease-apple);
    --transition-slow: var(--duration-slow) var(--ease-apple);
}

/* Reset & Base Styles */
* {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    box-sizing: border-box;
    word-break: break-word;
}

/* Hide Scrollbars Globally (but keep scroll functionality) */
* {
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */
}

*::-webkit-scrollbar {
    display: none; /* Chrome, Safari, Opera */
    width: 0;
    height: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block;
}

html {
    overflow-x: hidden;
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-family);
    text-rendering: optimizeLegibility;
    font-size: var(--font-size-base);
    font-weight: 400;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    color: var(--text-primary);
    background-color: var(--bg-secondary);
    line-height: var(--line-height-base);
    letter-spacing: var(--letter-spacing-base);
    overflow-x: hidden;
    width: 100%;
    max-width: 100vw;
}

img { max-width: 100%; }
ol, ul { list-style: none; }
a { text-decoration: none; color: inherit; }
button { cursor: pointer; background-color: transparent; }
b, h3, strong { font-weight: 700; }
input:focus { outline: 0; }
button, input, textarea { font-family: var(--font-family); }

/* Layout - macOS Style Dimensions */
.project-size, .container-fluid {
    width: 100%;
    max-width: var(--container-width);
    margin-left: auto;
    margin-right: auto;
    padding: 0 24px;
    box-sizing: border-box;
}

/* Full Width Sections */
.full-width {
    width: 100%;
    max-width: 100%;
    padding: 0;
}

.page-content {
    min-height: 400px;
    position: relative;
    margin-bottom: 44px;
}

/* Section Spacing - Avansas Style */
.page-content > section {
    margin-top: 24px;
}

.page-content > section:first-child {
    margin-top: 0;
}

.d-flex, .flex { display: flex; }
.d-none { display: none; }

@media (max-width: 1599px) {
    .project-size, .container-fluid { max-width: 1280px; }
}

@media (max-width: 1399px) {
    .project-size, .container-fluid { max-width: 1140px; }
}

@media (max-width: 1199px) {
    .project-size, .container-fluid {
        width: 100%;
        max-width: 100%;
        padding: 0 24px;
    }
}

@media (max-width: 767px) {
    .project-size, .container-fluid {
        padding: 0 16px;
    }
}

/* Header - Avansas Exact Structure */
#avansas-header {
    position: relative;
    z-index: 5002;
}

/* Header Top Bar - macOS Dark Style */
.header-top {
    background-color: var(--bg-dark);
    border-bottom: none;
}

.header-top .top-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 24px;
}

.header-top .top-bar .top-bar-left,
.header-top .top-bar .top-bar-right {
    display: flex;
    align-items: center;
    gap: 24px;
}

.header-top .top-bar .top-bar-link {
    display: flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    color: var(--text-white);
    cursor: pointer;
    transition: opacity var(--transition-fast);
    opacity: 0.85;
}

.header-top .top-bar .top-bar-link:hover {
    opacity: 1;
    text-decoration: none;
}

/* Header Sticky Area - macOS Glassmorphism */
.header-sticky-area {
    background: var(--material-regular);
    backdrop-filter: blur(var(--blur-amount)) saturate(var(--saturation));
    -webkit-backdrop-filter: blur(var(--blur-amount)) saturate(var(--saturation));
    border-bottom: 0.5px solid var(--separator);
}

.header-sticky-area.sticky {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 5001;
    box-shadow: var(--shadow-md);
}

/* Main Header Area - macOS Style */
.main-header-area {
    display: flex;
    height: var(--header-height);
    gap: var(--header-gap);
    align-items: center;
    justify-content: space-between;
    position: relative;
    z-index: 5000;
}

.main-header-area .logo {
    width: var(--logo-width);
    flex-shrink: 0;
}

.main-header-area .logo a img {
    width: 100%;
    height: var(--logo-height);
}

/* Header Search - macOS Style */
.header-search {
    width: 100%;
    flex-shrink: 1;
}

.header-search .auto-complete-inputs {
    position: relative;
    display: flex;
    align-items: center;
    background: var(--bg-secondary);
    width: 100%;
    height: 40px;
    border-radius: var(--radius-full);
    border: none;
    transition: all var(--transition);
}

.header-search .auto-complete-inputs:focus-within {
    background: var(--bg-primary);
    box-shadow: 0 0 0 4px rgba(0, 113, 227, 0.15);
}

.header-search .auto-complete-inputs::before {
    display: none;
}

.header-search input[type=search] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 0 44px 0 16px;
    line-height: 40px;
    border: none;
    background: transparent;
    color: var(--text-primary);
    font-size: 14px;
    font-weight: 400;
}

.header-search input[type=search]::placeholder {
    color: var(--text-muted);
    font-size: 14px;
}

.header-search button {
    position: absolute;
    right: 4px;
    width: 32px;
    height: 32px;
    padding: 6px;
    background: var(--primary-blue);
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all var(--transition-fast);
}

.header-search button:hover {
    background: var(--primary-blue-hover);
}

.header-search button svg {
    stroke: white;
}

/* User Selectables */
.user-selectables {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-shrink: 0;
}

/* User Menu - macOS Style */
.user-menu {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: var(--radius-md);
    transition: all var(--transition-fast);
    cursor: pointer;
}

.user-menu:hover {
    background: var(--bg-gray);
}

.user-menu svg {
    stroke: var(--text-primary);
}

.user-menu .account-display {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.user-menu .account-title {
    color: var(--text-primary);
    line-height: 1.3;
    font-weight: 600;
    font-size: 14px;
}

/* Mini Cart - macOS Style */
.mini-cart {
    min-height: 20px;
    min-width: 100px;
    display: flex;
    align-items: center;
    gap: 8px;
    position: relative;
    padding: 8px 12px;
    border-radius: var(--radius-md);
    transition: all var(--transition-fast);
}

.mini-cart:hover {
    background: var(--bg-gray);
    box-shadow: none;
}

.mini-cart svg {
    stroke: var(--text-primary);
}

.mini-cart-trigger {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

.mini-cart-quantity {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    color: var(--text-primary);
}

.mini-cart-price {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--primary-blue);
}

@media (max-width: 1519px) {
    .main-header-area { gap: 48px; }
}

/* Mobile Menu Toggle - Hidden on Desktop */
.mobile-menu-toggle {
    display: none;
}

/* Primary Navigation - macOS Glassmorphism */
.primary-navigation {
    position: relative;
    background: var(--material-thin);
    backdrop-filter: blur(var(--blur-amount)) saturate(var(--saturation));
    -webkit-backdrop-filter: blur(var(--blur-amount)) saturate(var(--saturation));
    box-shadow: var(--shadow-xs);
    border-top: 0.5px solid var(--separator);
    border-bottom: 0.5px solid var(--separator);
    z-index: 2001;
}

.primary-navigation > nav > ul {
    list-style: none;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    margin: 0;
    gap: 8px;
}

.primary-navigation > nav > ul > li {
    padding: 0;
    margin: 0;
}

.primary-navigation > nav > ul > li > a {
    color: var(--text-primary);
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 12px;
    height: 44px;
    border-radius: var(--radius-sm);
    transition: all var(--transition-fast);
    white-space: nowrap;
}

.primary-navigation > nav > ul > li > a img {
    width: 20px;
    height: 20px;
    margin-right: 6px;
}

.primary-navigation > nav > ul > li:hover > a,
.primary-navigation > nav > ul > li.active > a {
    color: var(--primary-blue);
    background: rgba(0, 113, 227, 0.06);
}

.primary-navigation > nav > ul > li.navbar-main-menu {
    background: var(--primary-blue);
    border-radius: var(--radius-sm);
}

.primary-navigation > nav > ul > li.navbar-main-menu > a {
    color: white;
}

.primary-navigation > nav > ul > li.navbar-main-menu:hover {
    background: var(--primary-blue-hover);
}

.primary-navigation > nav > ul > li.navbar-main-menu:hover a {
    background: transparent;
    color: white;
}

/* Sub Navigation - Apple Mega Menu */
.sub-navigation {
    display: none;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 44px;
    width: max-content;
    min-width: 180px;
    max-width: 90vw;
    background: var(--bg-primary);
    border-radius: var(--radius-lg);
    z-index: 2001;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12), 0 0 1px rgba(0, 0, 0, 0.08);
    border: 0.5px solid var(--border-primary);
    padding: 8px 0;
    animation: menuFadeIn 0.15s ease-out;
}

@keyframes menuFadeIn {
    from { opacity: 0; transform: translateX(-50%) translateY(-4px); }
    to { opacity: 1; transform: translateX(-50%) translateY(0); }
}

.primary-navigation > nav > ul > li:hover .sub-navigation {
    display: block;
}

.navigation-second-category-menu {
    width: 180px;
    padding: 4px 0;
    background: transparent;
    border-right: none;
}

.navigation-second-category-menu ul li {
    text-align: left;
    padding: 0;
    border-radius: 0;
    transition: all var(--transition-fast);
}

.navigation-second-category-menu ul li:hover {
    background: transparent;
}

.navigation-second-category-menu ul li a {
    font-size: 13px;
    font-weight: 400;
    color: var(--text-primary);
    display: block;
    padding: 8px 16px;
    line-height: 1.4;
    transition: all var(--transition-fast);
}

.navigation-second-category-menu ul li a:hover {
    background: var(--bg-secondary);
    color: var(--text-primary);
}

.navigation-second-category-menu ul li:hover a,
.navigation-second-category-menu ul li.active a {
    font-weight: 600;
    color: var(--primary-blue);
    text-decoration: none;
}

@media screen and (max-width: 1299px) {
    .primary-navigation nav ul li a {
        font-size: 12px;
    }
    .primary-navigation nav ul li a img {
        display: none;
    }
}

/* Highlight Banner Wrapper - Apple Card Style */
.highlight-banner-wrapper {
    display: flex;
    gap: 12px;
    background: var(--bg-primary);
    padding: 12px;
    border-radius: var(--radius-xl);
    margin-top: 24px;
    border: 0.5px solid var(--border-primary);
    box-shadow: var(--shadow-sm);
}

.highlight-main-banner {
    width: 60%;
    position: relative;
}

.highlight-main-banner img {
    border-radius: var(--radius-lg);
    display: block;
    width: 100%;
    transition: all var(--transition);
}

.highlight-main-banner img:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
}

.highlight-sub-banner-list {
    width: 40%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.highlight-sub-banner-list img {
    border-radius: var(--radius-lg);
    display: block;
    width: 100%;
    transition: all var(--transition);
}

.highlight-sub-banner-list img:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
}

@media (max-width: 1299px) {
    .highlight-banner-wrapper {
        flex-direction: column;
        gap: 10px;
    }
    .highlight-main-banner { width: 936px; }
    .highlight-sub-banner-list {
        display: flex;
        width: 100%;
        overflow-x: auto;
    }
    .highlight-sub-banner-list img { max-width: 280px; }
}

/* Story Slider - macOS Style */
.story-slider {
    display: flex;
    gap: 24px;
    padding: 24px;
    overflow-x: auto;
    scrollbar-width: none;
}

.story-slider::-webkit-scrollbar {
    display: none;
}

.story-item {
    text-align: center;
    cursor: pointer;
    flex-shrink: 0;
    width: 72px;
    transition: all var(--transition);
}

.story-item:hover {
    transform: translateY(-4px);
}

.story-item .icon-box {
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    border-radius: 50%;
    justify-content: center;
    padding: 3px;
    box-shadow: var(--shadow-sm);
    border: 2px solid var(--separator);
    background: var(--bg-primary);
    margin: 0 auto;
    transition: all var(--transition);
}

.story-item:hover .icon-box {
    border-color: var(--primary-blue);
    box-shadow: var(--shadow-md);
}

.story-item .icon-box img {
    width: 48px;
    height: 48px;
    object-fit: contain;
    transition: transform var(--transition);
}

.story-item .icon-box:hover img {
    transform: scale(1.05);
}

.story-item .story-item-title {
    font-size: 11px;
    color: var(--text-secondary);
    font-weight: 500;
    margin-top: 6px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    height: 28px;
    line-height: 1.3;
    word-break: break-word;
}

.story-item:hover .story-item-title {
    color: var(--text-primary);
}

/* Tab Banner Wrapper - macOS Card Style */
.tab-banner-wrapper {
    background: var(--bg-primary);
    border-radius: var(--radius-xl);
    margin-top: 24px;
    box-shadow: var(--shadow-sm);
    border: 0.5px solid var(--border-primary);
    overflow: hidden;
}

.tab-banner-wrapper .tab-banner-header {
    display: flex;
    justify-content: space-between;
    padding: 16px 20px;
    background: var(--bg-secondary);
}

.tab-banner-wrapper .tab-banner-header .title-group a {
    font-size: 20px;
    font-weight: 700;
    color: var(--text-primary);
    letter-spacing: -0.02em;
}

.tab-banner-wrapper .tab-list {
    display: flex;
    justify-content: space-around;
    background: var(--bg-secondary);
}

.tab-banner-wrapper .tab-list .tab {
    width: 100%;
    height: 100px;
    padding-bottom: 4px;
    display: flex;
    gap: 8px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all var(--transition);
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}

.tab-banner-wrapper .tab-list .tab:hover {
    background: rgba(0, 0, 0, 0.04);
}

.tab-banner-wrapper .tab-list .tab.active {
    background: var(--bg-primary);
    border-bottom: 2px solid var(--primary-blue);
}

.tab-banner-wrapper .tab-list .tab.active span {
    color: var(--text-primary);
}

.tab-banner-wrapper .tab-list .tab img {
    width: 48px;
    height: 48px;
    filter: grayscale(100%);
    transition: all var(--transition);
}

.tab-banner-wrapper .tab-list .tab:hover img,
.tab-banner-wrapper .tab-list .tab.active img {
    filter: grayscale(0);
}

.tab-banner-wrapper .tab-list .tab span {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-secondary);
}

.tab-banner-content-list {
    display: flex;
    justify-content: center;
    padding: 16px;
    gap: 16px;
    background: var(--bg-secondary);
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
}

.tab-content-main-banner {
    width: 400px;
    height: 388px;
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-md);
}

.tab-content-main-banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--transition);
}

.tab-content-main-banner:hover img {
    transform: scale(1.02);
}

.tab-content-dual-banner-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.tab-content-dual-banner-list a {
    width: 320px;
    height: 184px;
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: all var(--transition);
}

.tab-content-dual-banner-list a:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.tab-content-dual-banner-list img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Banner Product Component - macOS Style */
.banner-product-component {
    margin-top: 24px;
    display: flex;
    gap: 16px;
    border-bottom: 0.5px solid var(--separator);
    padding-bottom: 24px;
}

.banner-product-component-banner {
    flex: 0 0 340px;
}

.banner-product-component-banner .banner-card {
    border-radius: var(--radius-lg);
    display: block;
    transition: all var(--transition);
    overflow: hidden;
}

.banner-product-component-banner .banner-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
}

.banner-product-component-banner .banner-card img {
    width: 100%;
    border-radius: var(--radius-lg);
    display: block;
    border: none;
}

.banner-product-component-slider {
    flex: 1;
    display: flex;
    overflow-x: auto;
    gap: 12px;
    scrollbar-width: none;
}

.banner-product-component-slider::-webkit-scrollbar {
    display: none;
}

/* Product List Card - macOS Glassmorphism */
.product-list-card {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
    margin-top: 16px;
    padding-bottom: 16px;
}

@media (max-width: 1519px) {
    .product-list-card { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 1299px) {
    .product-list-card { grid-template-columns: repeat(3, 1fr); }
}

.product-list-card-item {
    max-width: 260px;
    height: auto;
    min-height: 420px;
    border-radius: var(--radius-xl);
    border: 0.5px solid var(--border-primary);
    background: var(--material-regular);
    backdrop-filter: blur(var(--blur-amount)) saturate(var(--saturation));
    -webkit-backdrop-filter: blur(var(--blur-amount)) saturate(var(--saturation));
    position: relative;
    display: flex;
    flex-direction: column;
    transition: all var(--transition);
    overflow: hidden;
}

.product-list-card-item:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-xl);
    border-color: transparent;
}

.product-list-card-inner {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px;
    flex: 1;
}

.product-list-card-item .product-image {
    height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    background: var(--bg-secondary);
    border-radius: var(--radius-lg);
    margin-bottom: 8px;
}

.product-list-card-item .product-image img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    transition: transform var(--transition);
}

.product-list-card-item:hover .product-image img {
    transform: scale(1.05);
}

.product-list-card-item .badge-list {
    height: 24px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.product-list-card-item .lowest-price-badge {
    color: var(--success-text);
    background-color: var(--success-bg);
    padding: 4px 8px;
    font-size: 11px;
    font-weight: 600;
    border-radius: var(--radius-sm);
}

.product-list-card-item .product-name {
    height: 48px;
    margin-bottom: 4px;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 600;
    color: var(--text-primary);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.product-list-card-item .product-card-info-detail {
    height: 18px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.product-list-card-item .product-card-info-detail span {
    font-size: 12px;
    color: var(--text-muted);
}

.product-list-card-item .product-bullets {
    height: 40px;
}

.product-list-card-item .product-bullets li {
    height: 18px;
    line-height: 18px;
    font-size: 12px;
    font-weight: 500;
    color: var(--text-secondary);
    padding-left: 20px;
    position: relative;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.product-list-card-item .product-bullets li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--success-green);
    font-weight: 700;
}

.product-list-card-item .product-list-review {
    display: flex;
    gap: 4px;
    align-items: center;
}

.product-list-card-item .product-stars {
    display: flex;
    gap: 2px;
}

.product-list-card-item .product-stars .star {
    color: var(--orange-primary);
    font-size: 12px;
}

.product-list-card-item .review-count {
    font-size: 12px;
    color: var(--text-secondary);
    text-decoration: none;
}

.product-list-card-item .review-count:hover {
    color: var(--primary-blue);
}

.product-list-card-item .strike-through-price {
    height: 18px;
    font-size: 13px;
    font-weight: 500;
    color: var(--text-muted);
    text-decoration: line-through;
}

.product-list-card-item .product-current-price {
    font-size: 20px;
    font-weight: 700;
    color: var(--text-primary);
    letter-spacing: -0.02em;
}

.product-list-card-item .product-current-price .tax-info {
    font-size: 11px;
    font-weight: 400;
    color: var(--text-muted);
    margin-left: 4px;
}

.product-list-card-item .product-unit-price {
    height: 18px;
    font-size: 12px;
    font-weight: 500;
    color: var(--text-secondary);
}

.product-list-card-item .product-actions {
    display: flex;
    gap: 8px;
    margin-top: auto;
    padding: 12px;
    align-items: center;
}

.product-list-card-item .quantity-select {
    width: 56px;
    height: 36px;
    padding: 6px 10px;
    border-radius: var(--radius-md);
    border: 1px solid var(--border-primary);
    font-size: 14px;
    background: var(--bg-primary);
    transition: all var(--transition-fast);
    flex-shrink: 0;
}

.product-list-card-item .quantity-select:focus {
    border-color: var(--primary-blue);
    box-shadow: 0 0 0 3px rgba(0, 122, 255, 0.15);
}

.product-list-card-item .add-to-cart-btn {
    flex: 1;
    height: 40px;
    min-width: 120px;
    padding: 0 16px;
    border-radius: var(--radius-md);
    background: var(--primary-blue);
    border: none;
    color: white;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all var(--transition-fast);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    white-space: nowrap;
}

.product-list-card-item .add-to-cart-btn .cart-icon {
    width: 18px;
    height: 18px;
    fill: white;
    flex-shrink: 0;
}

.product-list-card-item .add-to-cart-btn .btn-text {
    display: inline;
}

.product-list-card-item .add-to-cart-btn:hover {
    background: var(--primary-blue-hover);
    transform: scale(1.02);
}

.product-list-card-item .add-to-cart-btn:active {
    transform: scale(0.98);
}

.product-list-card-item .favorite-btn {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bg-primary);
    border: 1px solid var(--border-primary);
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: all var(--transition-fast);
    flex-shrink: 0;
}

.product-list-card-item .favorite-btn svg {
    width: 18px;
    height: 18px;
    stroke: var(--text-secondary);
    stroke-width: 2;
    fill: none;
    transition: all var(--transition-fast);
}

.product-list-card-item .favorite-btn:hover {
    border-color: var(--apple-pink);
    background: rgba(255, 55, 95, 0.06);
}

.product-list-card-item .favorite-btn:hover svg {
    stroke: var(--apple-pink);
}

.product-list-card-item .favorite-btn:hover svg {
    stroke: var(--apple-pink);
}

/* Private Label Tab Component - Apple Style */
.private-label-tab-component {
    border: none;
    border-radius: var(--radius-xl);
    margin-top: 24px;
    background: var(--bg-primary);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
}

.private-label-tab-component .component-tabs {
    display: flex;
    overflow-x: auto;
    padding: 20px 16px;
    gap: 16px;
    scrollbar-width: none;
    justify-content: flex-start;
}

.private-label-tab-component .component-tabs::-webkit-scrollbar {
    display: none;
}

.private-label-tab-component .tab {
    width: 120px;
    min-width: 120px;
    height: 120px;
    padding: 16px 12px;
    background: var(--bg-primary);
    border: 1px solid var(--border-primary);
    border-radius: var(--radius-lg);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-shrink: 0;
    cursor: pointer;
    transition: all var(--transition);
}

.private-label-tab-component .tab:hover {
    border-color: var(--primary-blue);
    background: var(--bg-secondary);
    transform: translateY(-2px);
}

.private-label-tab-component .tab.active {
    border-color: var(--primary-blue);
    background: rgba(0, 113, 227, 0.06);
    box-shadow: 0 0 0 3px rgba(0, 113, 227, 0.1);
}

.private-label-tab-component .tab .tab-img {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.private-label-tab-component .tab .tab-img img,
.private-label-tab-component .tab .tab-img .img-placeholder {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
}

.private-label-tab-component .tab .tab-title {
    font-weight: 500;
    font-size: 12px;
    color: var(--text-primary);
    text-align: center;
    line-height: 1.3;
}

.component-header.private-label-tabs {
    background: var(--bg-secondary);
    padding: 20px 16px;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    margin: 0;
    border-bottom: 1px solid var(--border-primary);
}

.component-header.private-label-tabs .title,
.component-header.private-label-tabs .view-all {
    color: var(--text-primary) !important;
}

/* Horizontal Product Card - Apple Style */
.horizontal-product-card {
    width: 320px;
    min-width: 320px;
    display: flex;
    gap: 12px;
    border: 0.5px solid var(--border-primary);
    border-radius: var(--radius-lg);
    padding: 12px;
    flex-shrink: 0;
    background: var(--bg-primary);
    transition: all var(--transition);
}

.horizontal-product-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
    border-color: transparent;
}

.horizontal-product-card .product-image img {
    width: 88px;
    height: 88px;
    border-radius: var(--radius-sm);
    object-fit: contain;
    background: var(--bg-secondary);
    padding: 8px;
}

.horizontal-product-card .product-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.horizontal-product-card .product-title {
    font-size: 13px;
    line-height: 1.35;
    color: var(--text-primary);
    font-weight: 500;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    height: 36px;
}

.horizontal-product-card .product-label {
    background-color: var(--success-bg);
    color: var(--success-text);
    font-size: 10px;
    font-weight: 600;
    padding: 3px 6px;
    border-radius: var(--radius-sm);
    display: inline-flex;
    width: fit-content;
}

.horizontal-product-card .product-pricing {
    display: flex;
    align-items: baseline;
    gap: 6px;
}

.horizontal-product-card .current-price {
    font-size: 16px;
    color: var(--text-primary);
    font-weight: 700;
}

.horizontal-product-card .tax-info {
    font-size: 10px;
    color: var(--text-muted);
    font-weight: 400;
}

.horizontal-product-card .strikethrough-price {
    font-size: 12px;
    font-weight: 400;
    color: var(--text-muted);
    text-decoration: line-through;
}

.horizontal-product-card .product-actions {
    display: flex;
    gap: 6px;
    margin-top: auto;
}

.horizontal-product-card .quantity-select {
    width: 54px;
    height: 30px;
    padding: 4px 8px;
    border-radius: var(--radius-sm);
    border: 1px solid var(--border-primary);
    font-size: 12px;
    flex-shrink: 0;
}

.horizontal-product-card .add-to-cart-btn {
    flex: 1;
    height: 36px;
    border-radius: var(--radius-sm);
    background: var(--primary-blue);
    border: none;
    color: white;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all var(--transition-fast);
    white-space: nowrap;
    padding: 0 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.horizontal-product-card .add-to-cart-btn .cart-icon {
    width: 16px;
    height: 16px;
    fill: white;
    flex-shrink: 0;
}

.horizontal-product-card .add-to-cart-btn .btn-text {
    display: inline;
}

.horizontal-product-card .add-to-cart-btn:hover {
    background: var(--primary-blue-hover);
}

/* Component Header - macOS Style */
.component-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 32px 0 16px;
}

.component-header .title-group {
    display: flex;
    align-items: center;
    gap: 16px;
}

.component-header .title {
    font-size: 24px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
    letter-spacing: -0.02em;
}

.component-header a.title:hover {
    text-decoration: none;
    color: var(--primary-blue);
}

.component-header .view-all {
    font-size: 14px;
    font-weight: 500;
    color: var(--primary-blue);
    transition: all var(--transition-fast);
}

.component-header .view-all:hover {
    text-decoration: none;
    opacity: 0.8;
}

/* Four Banner / Two Banner - macOS Style */
.four-banner-component,
.two-banner-component {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 24px;
}

.four-banner-component {
    grid-template-columns: repeat(4, 1fr);
}

.banner-item {
    background: var(--bg-primary);
    border-radius: var(--radius-xl);
    overflow: hidden;
    transition: all var(--transition);
    cursor: pointer;
    box-shadow: var(--shadow-xs);
}

.banner-item:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-lg);
}

.banner-item img {
    width: 100%;
    display: block;
    transition: transform var(--transition);
}

.banner-item:hover img {
    transform: scale(1.02);
}

/* Slider Navigation - macOS Style */
.slider-navigation {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    box-shadow: var(--shadow-md);
    border: none;
    background: var(--material-thick);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    cursor: pointer;
    z-index: 2;
    transition: all var(--transition-fast);
}

.slider-navigation:hover {
    background: var(--bg-primary);
    transform: translateY(-50%) scale(1.1);
    box-shadow: var(--shadow-lg);
}

.slider-navigation.prev { left: 12px; }
.slider-navigation.next { right: 12px; }

/* Footer - Apple.com.tr Style */
.footer {
    margin-top: 48px;
    background: var(--bg-secondary);
}

/* Footer Shortcut - Features Bar */
.footer-shortcut {
    display: none;
}

/* Apple Style Footer Directory */
.footer-main-content {
    max-width: 980px;
    margin: 0 auto;
    padding: 20px 22px 12px;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0;
    background: transparent;
    border-bottom: 1px solid var(--border-primary);
}

.footer-main-content nav {
    padding: 0;
}

.footer-main-content nav a {
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 1.33337;
    font-weight: 400;
    display: block;
    padding: 0;
    margin-bottom: 8px;
    transition: color var(--transition-fast);
}

.footer-main-content nav a:hover {
    color: var(--text-primary);
    text-decoration: underline;
}

.footer-main-content nav .footer-title {
    color: var(--text-primary);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: -0.01em;
    margin-bottom: 10px;
    padding: 0;
    display: block;
}

.footer-main-content nav.footer-contact a {
    color: var(--link-blue);
}

.footer-main-content nav.footer-contact a:hover {
    text-decoration: underline;
}

.footer-main-content nav.footer-contact .social-link {
    display: flex;
    gap: 12px;
    margin-top: 12px;
}

.footer-main-content nav.footer-contact .social-link a {
    opacity: 0.6;
    transition: all var(--transition-fast);
}

.footer-main-content nav.footer-contact .social-link a:hover {
    opacity: 1;
}

.footer-main-content nav.footer-contact .social-link a img,
.footer-main-content nav.footer-contact .social-link a .img-placeholder {
    width: 16px;
    height: 16px;
}

/* Footer Bottom - Apple Style */
.footer-bottom-content {
    max-width: 980px;
    margin: 0 auto;
    padding: 12px 22px 20px;
}

.footer-agreements {
    background: transparent;
    color: var(--text-secondary);
    border-top: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 12px;
    line-height: 1.33337;
    margin-bottom: 8px;
}

.footer-agreements a {
    color: var(--text-secondary);
    font-weight: 400;
    font-size: 12px;
    padding: 0;
    transition: color var(--transition-fast);
}

.footer-agreements a:hover {
    color: var(--text-primary);
    text-decoration: underline;
}

.footer-agreements a:first-child {
    border-right: none;
}

.footer-agreements span.separator {
    color: var(--text-muted);
}

.footer-bottom-logo {
    display: none;
}

.footer-bottom-text {
    font-size: 12px;
    color: var(--text-secondary);
    line-height: 1.33337;
    padding: 0;
    background: transparent;
}
    padding: 16px;
    background: var(--bg-dark);
}

@media (max-width: 1519px) {
    .footer-shortcut { padding: 10px; }
    .footer-main-content nav { padding: 0 0 0 15px; }
}

@media (max-width: 1299px) {
    .footer-shortcut-item a img { margin-right: 0; }
    .footer-shortcut-item a span { font-size: 12px; }
    .footer-main-content nav { padding: 0 0 0 5px; }
}

/* Utility Classes */
.clearfix::after {
    display: table;
    content: "";
    clear: both;
}

/* Loading State */
.loading {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--bg-primary);
    opacity: .75;
    z-index: 5000;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Breadcrumb */
.breadcrumb {
    display: flex;
    margin: 16px 0;
    gap: 6px;
}

.breadcrumb li {
    font-size: 14px;
    color: #666;
}

.breadcrumb li:not(:first-child)::before {
    content: "/";
    margin: 0 5px;
}

/* Popup - macOS Style */
.popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 7000;
}

.popup-content {
    border-radius: var(--radius-xl);
    background: var(--material-thick);
    backdrop-filter: blur(40px) saturate(200%);
    -webkit-backdrop-filter: blur(40px) saturate(200%);
    max-width: 520px;
    padding: 24px 32px;
    position: relative;
    box-shadow: var(--shadow-xl);
    border: 0.5px solid rgba(255, 255, 255, 0.3);
}

.popup-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 28px;
    height: 28px;
    cursor: pointer;
    background: var(--bg-secondary);
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all var(--transition-fast);
}

.popup-close:hover {
    background: var(--bg-tertiary);
    transform: scale(1.1);
}

/* Notification - macOS Style */
.notifications {
    position: fixed;
    top: 24px;
    right: 24px;
    z-index: 9999;
    max-width: 400px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.notification-item {
    padding: 16px 20px;
    border-radius: var(--radius-lg);
    border: none;
    background: var(--material-thick);
    backdrop-filter: blur(40px) saturate(200%);
    -webkit-backdrop-filter: blur(40px) saturate(200%);
    box-shadow: var(--shadow-lg);
    font-weight: 500;
    font-size: 14px;
    color: var(--text-primary);
    animation: slideIn 0.3s var(--ease-spring);
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateX(100px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.notification-item.success { 
    border-left: 4px solid var(--success-green);
}
.notification-item.error { 
    border-left: 4px solid var(--error-red);
}
.notification-item.warning { 
    border-left: 4px solid var(--warning-yellow);
}

/* Private Label Tab Products */
.private-label-tab-component .component-tab-products {
    padding: 0 12px 10px;
    overflow: hidden;
    position: relative;
}

.private-label-tab-component .tab-product {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: hidden;
    gap: 12px;
}

.private-label-tab-component .product-list-item {
    flex: 0 0 225px;
    scroll-snap-align: start;
    margin: 0;
}

.private-label-tab-component .product-list-item:last-child {
    margin-right: 6px;
}

/* Size M for products */
.product-list-card-item.size-M {
    height: 366px;
    max-width: 240px;
}

.product-list-card-item.size-M .product-image {
    width: 160px;
    height: 160px;
    margin: 0 auto;
}

.product-list-card-item.size-M .product-name {
    height: 36px;
    -webkit-line-clamp: 2;
}

/* Scroll Buttons - macOS Style */
.private-label-tab-component .scroll-button {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 50%;
    width: 40px;
    height: 40px;
    font-size: 24px;
    color: var(--text-primary);
    background: var(--material-thick);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: none;
    box-shadow: var(--shadow-md);
    border-radius: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    z-index: 5;
    transition: all var(--transition-fast);
}

.private-label-tab-component .scroll-button:hover {
    background: var(--bg-primary);
    transform: translateY(-50%) scale(1.1);
    box-shadow: var(--shadow-lg);
}

.private-label-tab-component .scroll-button::after {
    content: "";
    width: 24px;
    height: 24px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E") no-repeat center center;
    background-size: contain;
}

.private-label-tab-component .scroll-button.right {
    right: 0;
}

.private-label-tab-component .scroll-button.left {
    left: 0;
}

.private-label-tab-component .scroll-button.left::after {
    transform: rotate(180deg);
}

/* Tab Banner Header View All */
.tab-banner-wrapper .tab-banner-header a.view-all {
    font-size: 12px;
    font-weight: 700;
    color: var(--text-primary);
    padding-top: 6px;
}

.tab-banner-wrapper .tab-banner-header a.view-all:hover {
    text-decoration: underline;
    color: var(--primary-blue-light);
}

/* Component Header Sub Title */
.component-header .sub-title {
    font-size: 14px;
    color: var(--text-primary);
    font-weight: 700;
}

.component-header.private-label-tabs .sub-title {
    color: var(--bg-primary) !important;
}

/* Project Carousel */
project-carousel, .project-carousel {
    display: flex;
    width: 100%;
    overflow: hidden;
    position: relative;
    border-radius: 12px;
}

.project-carousel-slide {
    width: 100%;
    flex-shrink: 0;
    transition: margin-left .4s ease;
}

.project-carousel-pagination {
    display: flex;
    position: absolute;
    bottom: 6px;
    left: 0;
    width: 100%;
    justify-content: center;
    align-items: center;
    gap: 4px;
    z-index: 2;
}

.project-carousel-pagination-item {
    background-color: transparent;
    border: 1px solid #000;
    width: 8px;
    height: 8px;
    border-radius: 20px;
    cursor: pointer;
}

.project-carousel-pagination-item.active {
    background-color: #000;
}

.project-carousel-pagination-prev,
.project-carousel-pagination-next {
    position: absolute;
    top: calc(50% - 5px);
    transform: translateY(-50%);
    width: 24px;
    height: 48px;
    display: flex;
    align-items: center;
    border-radius: 6px;
    box-shadow: 0 4px 4px 0 rgba(0,0,0,.25);
    border: solid 1px var(--border-primary);
    background-color: rgba(255,255,255,.75);
    cursor: pointer;
    z-index: 2;
}

.project-carousel-pagination-prev:hover,
.project-carousel-pagination-next:hover {
    background-color: rgba(255,255,255,.9);
}

.project-carousel-pagination-next { right: 0; }
.project-carousel-pagination-prev { left: 0; }

/* Responsive Tab Banner */
@media (max-width: 1519px) {
    .tab-banner-content-list .tab-content-main-banner {
        width: 440px;
        height: 426.6px;
    }
    .tab-banner-content-list .tab-content-dual-banner-list {
        height: 207px;
        width: 352.4px;
    }
    .tab-banner-content-list .tab-content-dual-banner-list:last-of-type {
        display: none;
    }
    .private-label-tab-component .component-tabs .tab {
        width: 144.5px;
    }
}

@media (max-width: 1299px) {
    .tab-banner-wrapper .tab-list .tab img {
        width: 48.8px;
        height: 48.8px;
    }
    .tab-banner-wrapper .tab-list .tab span {
        font-size: 14px;
    }
    .tab-banner-content-list .tab-content-main-banner {
        width: 326.1px;
        height: 316.3px;
    }
    .tab-banner-content-list .tab-content-dual-banner-list {
        height: 152.7px;
        width: 259.9px;
    }
    .private-label-tab-component .component-tabs .tab {
        width: 136px;
        padding: 6px;
        border-radius: 6px;
        height: 42px;
        align-content: center;
    }
    .private-label-tab-component .component-tabs .tab .tab-img {
        display: none;
    }
    .private-label-tab-component .tab-product {
        gap: 8px;
    }
}

/* Highlight Main Banner List */
.highlight-main-banner-list {
    position: relative;
}

.highlight-main-banner-list .project-carousel-pagination-next,
.highlight-main-banner-list .project-carousel-pagination-prev {
    height: 96px;
}

.highlight-main-banner-list .highlight-main-banner-list-item {
    width: 100%;
    border-radius: 12px;
}

/* Recommendation Component */
recommendation, .recommendation {
    display: block;
    margin-top: 24px;
}

.recommendation-new-standart-template .avansas-slider-slide-way {
    gap: 10px;
}

/* Min Purchase Limit */
.min-purchase-limit {
    height: 16px;
    font-size: 12px;
    color: var(--text-muted);
}

/* Avansas Slider */
.avansas-slider {
    position: relative;
    overflow: visible;
}

.avansas-slider-slide-list {
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.avansas-slider-slide-way {
    display: flex;
    gap: 4px;
    position: relative;
    z-index: 2;
    padding: 1px 0;
}

.avansas-slider-navigation {
    position: absolute;
    top: calc(50% - 5px);
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    box-shadow: var(--shadow-md);
    border: none;
    background: var(--material-thick);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    cursor: pointer;
    z-index: 2;
    transition: all var(--transition-fast);
}

.avansas-slider-navigation:hover {
    background: var(--bg-primary);
    transform: translateY(-50%) scale(1.1);
    box-shadow: var(--shadow-lg);
}

.avansas-slider-navigation.slider-next-button { right: 8px; }
.avansas-slider-navigation.slider-prev-button { left: 8px; }

/* Dot List */
.avansas-slider-dot-list {
    display: flex;
    align-items: center;
    justify-content: center;
}

.avansas-slider-dot-list-content {
    display: flex;
    gap: 4px;
}

.avansas-slider-dot-item {
    background-color: #000;
    width: 10px;
    height: 10px;
    display: block;
    border-radius: 5px;
}

.avansas-slider-dot-item.active {
    background-color: red;
}

/* Header Search Gradient Border */
.header-search .auto-complete-inputs::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 24px;
    padding: 2px;
    background: linear-gradient(to right, #e94560, #0f62ff);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    z-index: -1;
}

/* Add remaining Avansas styles */
.user-badges {
    position: absolute;
    width: max-content;
    padding: 4px 8px;
    left: -8.2px;
    margin-top: 4px;
    border-radius: 4px;
    background-color: #e6ebf6;
    font-size: 11px;
    font-weight: 700;
    color: var(--primary-blue-light);
}

.system-badges {
    width: fit-content;
    display: flex;
    align-items: center;
    font-size: 11px;
    font-weight: 700;
    margin-top: 4px;
    position: relative;
    left: -8.2px;
    gap: 2px;
    border-radius: 4px;
}

.agreed-product {
    padding: 4px;
    border-radius: 4px;
    background-color: var(--bg-light-cyan);
    font-size: 11px;
    font-weight: 700;
    color: #3c8ac0;
}

.blocked-product {
    padding: 4px;
    border-radius: 4px;
    background-color: var(--error-bg);
    font-size: 11px;
    font-weight: 700;
    color: var(--error-red);
}

.stock-out-badge {
    color: var(--text-secondary);
    background-color: var(--border-secondary);
    padding: 4px 8px;
}

/* Product Card Link */
.product-card-detail-link {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

/* Button States */
.product-list-card-item .add-to-cart-btn.adding {
    background-color: var(--text-light);
}

.product-list-card-item .add-to-cart-btn.completed {
    background-color: var(--success-green);
}

.product-list-card-item .add-to-cart-btn.error {
    background-color: var(--error-red);
}

/* Mini Cart Detail - macOS Style */
.mini-cart-detail {
    width: 420px;
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    background: var(--material-thick);
    backdrop-filter: blur(40px) saturate(200%);
    -webkit-backdrop-filter: blur(40px) saturate(200%);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-xl);
    border: 0.5px solid rgba(255, 255, 255, 0.3);
    z-index: 1002;
    overflow: hidden;
}

.mini-cart:hover .mini-cart-detail {
    display: block;
    animation: fadeIn 0.2s var(--ease-apple);
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
}

.mini-cart-product-list {
    max-height: calc(100vh - 300px);
    min-height: 100px;
    overflow: auto;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 16px;
}

.mini-cart-product {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px;
    border-radius: var(--radius-lg);
    border: 0.5px solid var(--border-primary);
    background: var(--bg-primary);
    transition: all var(--transition-fast);
}

.mini-cart-product:hover {
    box-shadow: var(--shadow-sm);
}

.mini-cart-total {
    width: 100%;
    display: flex;
    font-size: 15px;
    font-weight: 600;
    color: var(--text-primary);
    padding: 16px;
    border-top: 0.5px solid var(--separator);
}

.mini-cart-total strong {
    color: var(--primary-blue);
    margin-left: 4px;
    font-size: 20px;
    font-weight: 700;
}

.mini-cart-cta {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 12px;
    padding: 16px;
    background: var(--bg-secondary);
}

.mini-cart-cta a {
    width: 100%;
    text-align: center;
    padding: 12px 24px;
    border-radius: var(--radius-md);
    background: linear-gradient(180deg, var(--primary-blue) 0%, var(--primary-blue-hover) 100%);
    color: white;
    font-weight: 600;
    transition: all var(--transition-fast);
}

.mini-cart-cta a:hover {
    background: linear-gradient(180deg, var(--primary-blue-hover) 0%, var(--primary-blue-active) 100%);
    box-shadow: var(--shadow-blue);
}

/* ============================================= */
/* DIV PLACEHOLDER STYLES - macOS Style         */
/* ============================================= */

/* Base placeholder div */
.img-placeholder {
    background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%);
    display: block;
    width: 100%;
    height: 100%;
    border-radius: var(--radius-md);
}

/* Story slider icons - circles */
.story-item .img-placeholder {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%);
    flex-shrink: 0;
}

/* Highlight banner - main large banner */
.highlight-banner-wrapper .highlight-banner-main .img-placeholder,
.highlight-main-banner .img-placeholder {
    width: 100%;
    height: 360px;
    background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%);
    border-radius: var(--radius-lg);
}

/* Highlight banner - small banners */
.highlight-banner-wrapper .highlight-banner-secondary .img-placeholder,
.highlight-sub-banner-list .img-placeholder {
    width: 100%;
    height: 170px;
    background: linear-gradient(135deg, var(--bg-tertiary) 0%, var(--bg-secondary) 100%);
    border-radius: var(--radius-lg);
}

/* Tab banner - main image */
.tab-banner-wrapper .tab-banner-main-img .img-placeholder {
    width: 100%;
    height: 388px;
    background: linear-gradient(135deg, #e0e0e0 0%, #d0d0d0 100%);
    border-radius: 8px;
}

/* Tab banner - dual banners */
.tab-banner-wrapper .tab-banner-dual .img-placeholder {
    width: 100%;
    height: 188px;
    background: linear-gradient(135deg, #e8e8e8 0%, #d8d8d8 100%);
    border-radius: 8px;
}

/* Navigation category tabs - 60x60 circles */
.tab-list .tab .img-placeholder,
.header-navigation .tab .img-placeholder {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: linear-gradient(135deg, #f0f0f0 0%, #e0e0e0 100%);
}

/* Four banner component */
.four-banner-component .img-placeholder {
    width: 100%;
    height: 180px;
    background: linear-gradient(135deg, #e8e8e8 0%, #d8d8d8 100%);
    border-radius: 8px;
}

/* Banner product component - tall banner */
.banner-product-component-banner .img-placeholder {
    width: 100%;
    height: 481px;
    background: linear-gradient(135deg, #e0e0e0 0%, #d0d0d0 100%);
    border-radius: 8px;
}

/* Product images - small 120x120 */
.product-list-card-item .product-image .img-placeholder {
    width: 120px;
    height: 120px;
    background: linear-gradient(135deg, #f5f5f5 0%, #ebebeb 100%);
    border-radius: 4px;
    margin: 0 auto;
}

/* Product images - large 180x180 */
.product-list-card-item.size-L .product-image .img-placeholder {
    width: 180px;
    height: 180px;
    background: linear-gradient(135deg, #f5f5f5 0%, #ebebeb 100%);
    border-radius: 4px;
}

/* Private label brand tabs - 68x68 circles */
.private-label-tab-component .tab-img .img-placeholder {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: linear-gradient(135deg, #f0f0f0 0%, #e0e0e0 100%);
}

/* Private label products - 160x160 */
.private-label-tab-component .tab-product-item .img-placeholder {
    width: 160px;
    height: 160px;
    background: linear-gradient(135deg, #f5f5f5 0%, #ebebeb 100%);
    border-radius: 4px;
}

/* Two banner component - wide banners */
.two-banner-component .img-placeholder {
    width: 100%;
    height: 280px;
    background: linear-gradient(135deg, #e8e8e8 0%, #d8d8d8 100%);
    border-radius: 8px;
}

/* Footer advantage icons - 40x40 */
.footer-advantage .img-placeholder,
.footer-advantages .img-placeholder {
    width: 40px;
    height: 40px;
    background: #d0d0d0;
    border-radius: 4px;
}

/* Footer logo */
.footer-logo .img-placeholder {
    width: 154px;
    height: 40px;
    background: #d0d0d0;
    border-radius: 4px;
}

/* Footer social icons - 24x24 */
.footer-social .img-placeholder {
    width: 24px;
    height: 24px;
    background: #d0d0d0;
    border-radius: 4px;
}

/* ============================================= */
/* MOBILE RESPONSIVE - AVANSAS STYLE            */
/* ============================================= */

/* Tablet - 768px */
@media (max-width: 991px) {
    .project-size, .container-fluid {
        width: 100%;
        min-width: auto;
        padding: 0 16px;
    }
    
    body {
        min-width: auto;
    }
    
    /* Header */
    .main-header-area {
        gap: 16px;
        flex-wrap: wrap;
    }
    
    .header-search {
        order: 3;
        width: 100%;
        margin-top: 12px;
    }
    
    .header-search .auto-complete-inputs {
        max-width: 100%;
    }
    
    /* Navigation */
    .primary-navigation nav ul {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    
    .primary-navigation nav ul li a {
        white-space: nowrap;
        padding: 0 12px;
    }
    
    /* Highlight Banner */
    .highlight-banner-wrapper {
        flex-direction: column;
    }
    
    .highlight-main-banner {
        width: 100%;
    }
    
    .highlight-sub-banner-list {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    
    /* Story Slider */
    .story-slider {
        gap: 16px;
        padding: 16px;
    }
    
    .story-item {
        width: 70px;
    }
    
    /* Tab Banner */
    .tab-banner-wrapper .tab-list {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        gap: 12px;
    }
    
    .tab-banner-content-list {
        flex-direction: column;
    }
    
    .tab-content-main-banner {
        width: 100%;
    }
    
    .tab-content-dual-banner-list {
        width: 100%;
    }
    
    /* Four Banner */
    .four-banner-component {
        grid-template-columns: 1fr 1fr;
    }
    
    /* Product Cards */
    .banner-product-component {
        flex-direction: column;
    }
    
    .banner-product-component-banner {
        width: 100%;
    }
    
    .banner-product-component-slider {
        width: 100%;
    }
    
    .product-list-card {
        grid-template-columns: repeat(3, 1fr);
    }
    
    /* Private Label */
    .private-label-tab-component .component-tabs {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    
    .private-label-tab-component .tab-product {
        grid-template-columns: repeat(3, 1fr);
    }
    
    /* Two Banner */
    .two-banner-component {
        flex-direction: column;
    }
    
    .two-banner-component a {
        width: 100%;
    }
    
    /* Footer */
    .footer-area .project-size {
        flex-wrap: wrap;
    }
    
    .footer-nav-group {
        width: 50%;
        margin-bottom: 24px;
    }
}

/* Mobile - 576px */
@media (max-width: 767px) {
    .project-size, .container-fluid {
        padding: 0 12px;
    }
    
    /* Header Top */
    .header-top .top-bar {
        flex-direction: column;
        gap: 8px;
        padding: 8px 12px;
    }
    
    .top-bar-left, .top-bar-right {
        gap: 12px;
    }
    
    .top-bar-link {
        font-size: 11px;
    }
    
    /* Main Header */
    .main-header-area {
        gap: 12px;
    }
    
    .logo-placeholder {
        font-size: 16px;
    }
    
    .logo-placeholder .logo-sub {
        font-size: 12px;
    }
    
    .user-selectables {
        gap: 12px;
    }
    
    .mini-cart-quantity, .mini-cart-price {
        display: none;
    }
    
    /* Navigation */
    .primary-navigation {
        overflow-x: auto;
    }
    
    .primary-navigation nav ul li a {
        font-size: 12px;
        padding: 0 8px;
    }
    
    /* Highlight Banner */
    .highlight-banner-wrapper {
        padding: 8px;
        gap: 8px;
    }
    
    .highlight-sub-banner-list {
        grid-template-columns: 1fr;
    }
    
    /* Story Slider */
    .story-slider {
        gap: 12px;
        padding: 12px 8px;
    }
    
    .story-item {
        width: 60px;
    }
    
    .story-item .icon-box {
        width: 56px;
        height: 56px;
    }
    
    .story-item-title {
        font-size: 10px;
    }
    
    /* Tab Banner */
    .tab-banner-wrapper {
        padding: 12px;
    }
    
    .tab-banner-header .title {
        font-size: 16px;
    }
    
    .tab-list .tab {
        min-width: 80px;
    }
    
    .tab-list .tab .img-placeholder {
        width: 48px;
        height: 48px;
    }
    
    .tab-list .tab span {
        font-size: 11px;
    }
    
    /* Four Banner */
    .four-banner-component {
        grid-template-columns: 1fr;
        gap: 8px;
    }
    
    /* Product Cards */
    .product-list-card {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }
    
    .product-list-card-item {
        padding: 8px;
    }
    
    .product-list-card-item .product-image .img-placeholder {
        width: 100px;
        height: 100px;
    }
    
    .product-list-card-item .brand-name {
        font-size: 10px;
    }
    
    .product-list-card-item .product-name {
        font-size: 11px;
    }
    
    .product-list-card-item .product-price {
        font-size: 14px;
    }
    
    /* Private Label */
    .private-label-tab-component .tab-product {
        grid-template-columns: 1fr 1fr;
    }
    
    /* Footer */
    .footer-nav-group {
        width: 100%;
    }
    
    .footer-advantages {
        flex-direction: column;
        gap: 12px;
    }
    
    .footer-bottom .project-size {
        flex-direction: column;
        text-align: center;
        gap: 12px;
    }
}

/* Small Mobile - 375px */
@media (max-width: 480px) {
    .header-top .top-bar-left {
        flex-wrap: wrap;
        justify-content: center;
    }
    
    /* Keep horizontal scroll on smaller screens too */
    .product-list-card {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 12px;
    }
    
    .product-list-card-item {
        flex: 0 0 240px !important;
        min-width: 240px !important;
        max-width: 240px !important;
    }
    
    .private-label-tab-component .tab-product {
        grid-template-columns: 1fr;
    }
    
    .highlight-main-banner .img-placeholder {
        height: 200px;
    }
    
    .highlight-sub-banner-list .img-placeholder {
        height: 120px;
    }
}

/* ============================================= */
/* macOS WIDGETS GRID - Apple Style             */
/* ============================================= */

.macos-widgets-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
    margin-top: 32px;
    margin-bottom: 20px;
    /* 3D Sahne Perspektifi */
    perspective: 1200px;
    perspective-origin: center center;
}

.widget-card {
    /* Soft Glassmorphism Base */
    background: linear-gradient(
        145deg,
        rgba(255, 255, 255, 0.95) 0%,
        rgba(250, 250, 252, 0.85) 50%,
        rgba(245, 245, 247, 0.9) 100%
    );
    border-radius: var(--radius-xl);
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    /* Soft Border */
    border: 1px solid rgba(255, 255, 255, 0.6);
    /* 3D Transform */
    transform-style: preserve-3d;
    transform: translateZ(0) rotateX(0deg) rotateY(0deg);
    transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
    position: relative;
    overflow: visible;
    cursor: pointer;
    /* Soft Glow Shadow */
    box-shadow: 
        0 4px 24px rgba(0, 0, 0, 0.04),
        0 8px 32px rgba(0, 0, 0, 0.03),
        inset 0 1px 0 rgba(255, 255, 255, 0.8),
        inset 0 -1px 0 rgba(0, 0, 0, 0.02);
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
}

/* 3D Hover Effect - Sahne Efekti */
.widget-card:hover {
    transform: translateZ(20px) rotateX(-2deg) rotateY(2deg) scale(1.02);
    box-shadow: 
        0 20px 40px rgba(0, 0, 0, 0.08),
        0 30px 60px rgba(0, 0, 0, 0.05),
        0 0 0 1px rgba(255, 255, 255, 0.5),
        inset 0 1px 0 rgba(255, 255, 255, 1);
    border-color: rgba(255, 255, 255, 0.8);
}

/* Shine Effect on Hover */
.widget-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.4) 50%,
        transparent 100%
    );
    transform: skewX(-20deg);
    transition: left 0.6s ease;
    pointer-events: none;
    z-index: 1;
}

.widget-card:hover::before {
    left: 100%;
}

/* Floating Glow Behind Card */
.widget-card::after {
    content: '';
    position: absolute;
    top: 20%;
    left: 10%;
    right: 10%;
    bottom: -20px;
    background: radial-gradient(
        ellipse at center,
        rgba(0, 122, 255, 0.08) 0%,
        transparent 70%
    );
    filter: blur(20px);
    transform: translateZ(-30px);
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
    z-index: -1;
}

.widget-card:hover::after {
    opacity: 1;
}

.widget-card.widget-large {
    grid-column: span 1;
}

/* Accent Card - Soft Gradient */
.widget-card.widget-accent {
    background: linear-gradient(
        145deg,
        rgba(0, 122, 255, 0.85) 0%,
        rgba(88, 86, 214, 0.8) 50%,
        rgba(175, 82, 222, 0.75) 100%
    );
    border: 1px solid rgba(255, 255, 255, 0.25);
    box-shadow: 
        0 4px 24px rgba(0, 122, 255, 0.15),
        0 8px 32px rgba(88, 86, 214, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

.widget-card.widget-accent:hover {
    box-shadow: 
        0 20px 50px rgba(0, 122, 255, 0.25),
        0 30px 60px rgba(88, 86, 214, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

.widget-card.widget-accent::after {
    background: radial-gradient(
        ellipse at center,
        rgba(88, 86, 214, 0.3) 0%,
        transparent 70%
    );
}

.widget-card.widget-accent .widget-icon {
    color: rgba(255, 255, 255, 0.95);
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(10px);
}

.widget-card.widget-accent .widget-content h3,
.widget-card.widget-accent .widget-content p {
    color: white;
}

.widget-card.widget-accent .widget-content p {
    opacity: 0.85;
}

/* Widget Icon - 3D Floating */
.widget-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(
        145deg,
        rgba(0, 122, 255, 0.1) 0%,
        rgba(88, 86, 214, 0.08) 100%
    );
    border-radius: var(--radius-lg);
    color: var(--primary-blue);
    position: relative;
    transform: translateZ(10px);
    transition: all 0.3s ease;
    box-shadow: 
        0 4px 12px rgba(0, 122, 255, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.widget-card:hover .widget-icon {
    transform: translateZ(30px) scale(1.05);
    box-shadow: 
        0 8px 20px rgba(0, 122, 255, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 1);
}

.widget-card.widget-accent .widget-icon {
    background: rgba(255, 255, 255, 0.2);
    box-shadow: 
        0 4px 12px rgba(0, 0, 0, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

.widget-content h3 {
    font-size: 15px;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0;
    transform: translateZ(5px);
}

.widget-content p {
    font-size: 13px;
    color: var(--text-secondary);
    margin: 0;
    line-height: 1.5;
    opacity: 0.85;
}

.widget-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    background: linear-gradient(135deg, #34c759 0%, #30d158 100%);
    color: white;
    font-size: 10px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: var(--radius-full);
    box-shadow: 0 2px 8px rgba(52, 199, 89, 0.3);
    transform: translateZ(15px);
}

/* ===== SOFT COLOR PALETTE WIDGET VARIANTS ===== */

/* Mint Green Widget */
.widget-card.widget-mint {
    background: linear-gradient(
        145deg,
        rgba(167, 243, 208, 0.5) 0%,
        rgba(134, 239, 172, 0.4) 50%,
        rgba(187, 247, 208, 0.45) 100%
    );
    border-color: rgba(167, 243, 208, 0.6);
}

.widget-card.widget-mint .widget-icon {
    background: rgba(34, 197, 94, 0.15);
    color: #16a34a;
}

.widget-card.widget-mint:hover::after {
    background: radial-gradient(ellipse at center, rgba(34, 197, 94, 0.15) 0%, transparent 70%);
}

/* Lavender Widget */
.widget-card.widget-lavender {
    background: linear-gradient(
        145deg,
        rgba(221, 214, 254, 0.5) 0%,
        rgba(196, 181, 253, 0.4) 50%,
        rgba(237, 233, 254, 0.45) 100%
    );
    border-color: rgba(221, 214, 254, 0.6);
}

.widget-card.widget-lavender .widget-icon {
    background: rgba(139, 92, 246, 0.15);
    color: #7c3aed;
}

.widget-card.widget-lavender:hover::after {
    background: radial-gradient(ellipse at center, rgba(139, 92, 246, 0.15) 0%, transparent 70%);
}

/* Peach Widget */
.widget-card.widget-peach {
    background: linear-gradient(
        145deg,
        rgba(254, 215, 170, 0.5) 0%,
        rgba(253, 186, 116, 0.4) 50%,
        rgba(254, 235, 200, 0.45) 100%
    );
    border-color: rgba(254, 215, 170, 0.6);
}

.widget-card.widget-peach .widget-icon {
    background: rgba(249, 115, 22, 0.15);
    color: #ea580c;
}

.widget-card.widget-peach:hover::after {
    background: radial-gradient(ellipse at center, rgba(249, 115, 22, 0.15) 0%, transparent 70%);
}

/* Sky Blue Widget */
.widget-card.widget-sky {
    background: linear-gradient(
        145deg,
        rgba(186, 230, 253, 0.5) 0%,
        rgba(125, 211, 252, 0.4) 50%,
        rgba(224, 242, 254, 0.45) 100%
    );
    border-color: rgba(186, 230, 253, 0.6);
}

.widget-card.widget-sky .widget-icon {
    background: rgba(14, 165, 233, 0.15);
    color: #0284c7;
}

.widget-card.widget-sky:hover::after {
    background: radial-gradient(ellipse at center, rgba(14, 165, 233, 0.15) 0%, transparent 70%);
}

/* Rose Widget */
.widget-card.widget-rose {
    background: linear-gradient(
        145deg,
        rgba(253, 205, 213, 0.5) 0%,
        rgba(251, 182, 193, 0.4) 50%,
        rgba(254, 226, 231, 0.45) 100%
    );
    border-color: rgba(253, 205, 213, 0.6);
}

.widget-card.widget-rose .widget-icon {
    background: rgba(244, 63, 94, 0.15);
    color: #e11d48;
}

.widget-card.widget-rose:hover::after {
    background: radial-gradient(ellipse at center, rgba(244, 63, 94, 0.15) 0%, transparent 70%);
}

@media (max-width: 1299px) {
    .macos-widgets-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    .widget-card.widget-large {
        grid-column: span 1;
    }
}

@media (max-width: 767px) {
    .macos-widgets-grid {
        grid-template-columns: repeat(2, 1fr);
        perspective: 800px;
    }
    .widget-card {
        padding: 20px;
    }
    .widget-card:hover {
        transform: translateZ(10px) scale(1.01);
    }
}

@media (max-width: 480px) {
    .macos-widgets-grid {
        grid-template-columns: 1fr;
    }
}


/* ============================================
   📱 MOBILE RESPONSIVE - Apple Style
   ============================================ */

/* ===== TABLET (max-width: 1024px) ===== */
@media (max-width: 1024px) {
    /* Header */
    .header-main-content {
        padding: 0 20px;
    }
    
    .main-menu {
        gap: 16px;
    }
    
    .main-menu li a {
        font-size: 13px;
        padding: 8px 10px;
    }
    
    /* Mega Menu */
    .mega-menu-content {
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
    }
    
    /* Product Grid */
    .product-list-content {
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }
    
    /* Category Section */
    .categories-list {
        gap: 12px;
    }
    
    .category-item {
        width: 100px;
        height: 100px;
    }
    
    /* Footer */
    .footer-main-content {
        grid-template-columns: repeat(3, 1fr);
    }
    
    /* Add to Cart Button - Show text on tablets */
    .product-list-card-item .add-to-cart-btn {
        min-width: 110px;
        padding: 0 12px;
        font-size: 13px;
    }
}

/* ===== MOBILE LANDSCAPE (max-width: 768px) ===== */
@media (max-width: 768px) {
    
    /* ===== HEADER TOP - Hide on Mobile ===== */
    .header-top {
        display: none;
    }
    
    /* ===== MAIN HEADER AREA ===== */
    .main-header-area {
        height: 56px;
        padding: 0 16px;
        gap: 12px;
    }
    
    /* Logo - Compact */
    .main-header-area .logo {
        flex-shrink: 0;
        width: auto;
    }
    
    .logo-placeholder {
        font-size: 18px;
        gap: 2px;
    }
    
    .logo-placeholder .logo-sub {
        font-size: 14px;
    }
    
    /* Search - Hidden on Mobile (show via icon) */
    .header-search {
        display: none;
    }
    
    /* User Selectables - Simplified */
    .user-selectables {
        gap: 8px;
    }
    
    .user-menu .account-display {
        display: none;
    }
    
    .user-menu {
        padding: 8px;
    }
    
    .mini-cart-quantity,
    .mini-cart-price {
        display: none;
    }
    
    .mini-cart .mini-cart-trigger {
        padding: 8px;
    }
    
    /* ===== PRIMARY NAVIGATION - Mobile ===== */
    .primary-navigation {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 16px;
        height: 48px;
        background: var(--bg-primary);
        border-top: 0.5px solid var(--separator);
    }
    
    .primary-navigation > nav {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
    }
    
    /* Hide desktop menu - but allow drawer to show */
    .primary-navigation > nav > ul:not(.mobile-open) {
        position: fixed;
        right: -100%;
        visibility: hidden;
    }
    
    /* Sub navigation hide */
    .sub-navigation {
        display: none !important;
    }
    
    /* ===== MOBILE MENU TOGGLE ===== */
    .mobile-menu-toggle {
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        background: none;
        border: none;
        cursor: pointer;
        padding: 0;
        margin-left: auto;
        -webkit-tap-highlight-color: transparent;
    }
    
    .mobile-menu-toggle .hamburger {
        display: flex;
        flex-direction: column;
        gap: 5px;
        width: 22px;
    }
    
    .mobile-menu-toggle .hamburger span {
        display: block;
        height: 2px;
        background: var(--text-primary);
        border-radius: 2px;
        transition: all 0.3s cubic-bezier(0.32, 0.72, 0, 1);
        transform-origin: center;
    }
    
    .mobile-menu-toggle .hamburger span:nth-child(1) { width: 22px; }
    .mobile-menu-toggle .hamburger span:nth-child(2) { width: 16px; }
    .mobile-menu-toggle .hamburger span:nth-child(3) { width: 22px; }
    
    /* Hamburger to X Animation */
    .mobile-menu-toggle.active .hamburger span:nth-child(1) {
        transform: rotate(45deg) translate(5px, 5px);
        width: 22px;
    }
    
    .mobile-menu-toggle.active .hamburger span:nth-child(2) {
        opacity: 0;
        transform: translateX(10px);
    }
    
    .mobile-menu-toggle.active .hamburger span:nth-child(3) {
        transform: rotate(-45deg) translate(5px, -5px);
        width: 22px;
    }
    
    /* ===== MOBILE DRAWER MENU - Apple Style ===== */
    
    /* Backdrop Overlay */
    .mobile-menu-backdrop {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.5);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s ease;
        z-index: 9998;
    }
    
    .mobile-menu-backdrop.active {
        opacity: 1;
        visibility: visible;
    }
    
    /* Drawer Panel - The UL element with .main-menu class */
    .primary-navigation > nav > ul.main-menu,
    ul.main-menu {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        width: 85% !important;
        max-width: 320px !important;
        height: 100% !important;
        height: 100dvh !important;
        background: #ffffff !important;
        backdrop-filter: blur(40px) saturate(180%) !important;
        -webkit-backdrop-filter: blur(40px) saturate(180%) !important;
        flex-direction: column !important;
        padding: 0 !important;
        padding-top: 70px !important;
        margin: 0 !important;
        gap: 0 !important;
        z-index: 9999 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch;
        transform: translateX(100%);
        transition: transform 0.35s cubic-bezier(0.32, 0.72, 0, 1);
        box-shadow: -10px 0 40px rgba(0, 0, 0, 0.2);
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        border-radius: 0 !important;
    }
    
    [data-theme="dark"] .primary-navigation > nav > ul.main-menu,
    [data-theme="dark"] ul.main-menu {
        background: rgba(28, 28, 30, 0.98) !important;
    }
    
    .primary-navigation > nav > ul.main-menu.mobile-open,
    ul.main-menu.mobile-open {
        transform: translateX(0) !important;
    }
    
    /* Close Button */
    .mobile-menu-close {
        position: absolute !important;
        top: 16px !important;
        right: 16px !important;
        width: 32px;
        height: 32px;
        border-radius: 50%;
        background: rgba(120, 120, 128, 0.12);
        border: none;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.2s ease;
        z-index: 10;
        -webkit-tap-highlight-color: transparent;
    }
    
    .mobile-menu-close:active {
        background: rgba(120, 120, 128, 0.24);
        transform: scale(0.95);
    }
    
    .mobile-menu-close::before,
    .mobile-menu-close::after {
        content: '';
        position: absolute;
        width: 14px;
        height: 2px;
        background: var(--text-secondary);
        border-radius: 2px;
    }
    
    .mobile-menu-close::before {
        transform: rotate(45deg);
    }
    
    .mobile-menu-close::after {
        transform: rotate(-45deg);
    }
    
    /* Drawer Header Container */
    .mobile-drawer-header {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 60px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 16px;
        background: transparent;
        z-index: 10;
    }
    
    /* Menu Title */
    .mobile-menu-title {
        font-size: 17px;
        font-weight: 600;
        color: var(--text-primary);
        letter-spacing: -0.2px;
    }
    
    /* Menu Items */
    .main-menu > li,
    ul.main-menu > li {
        border: none !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        display: block !important;
    }
    
    .main-menu > li > a,
    ul.main-menu > li > a {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 14px 20px !important;
        margin: 0 16px !important;
        font-size: 17px !important;
        font-weight: 400 !important;
        color: var(--text-primary) !important;
        background: var(--bg-primary) !important;
        text-decoration: none !important;
        transition: background 0.15s ease !important;
        border-bottom: 0.5px solid var(--separator) !important;
        border-radius: 0 !important;
        height: auto !important;
        white-space: normal !important;
    }
    
    .main-menu li a:active {
        background: var(--bg-tertiary) !important;
    }
    
    /* First Item - Rounded Top */
    .main-menu li:first-of-type a {
        border-radius: 12px 12px 0 0 !important;
        margin-top: 0 !important;
    }
    
    /* Last Item - Rounded Bottom */
    .main-menu li:last-of-type a {
        border-radius: 0 0 12px 12px !important;
        border-bottom: none !important;
    }
    
    /* Arrow Icon */
    .main-menu li a::after {
        content: '' !important;
        width: 8px !important;
        height: 8px !important;
        border-right: 2px solid var(--text-tertiary) !important;
        border-bottom: 2px solid var(--text-tertiary) !important;
        transform: rotate(-45deg) !important;
        flex-shrink: 0 !important;
        margin-left: 12px !important;
        background: none !important;
    }
    
    /* Featured Menu Item */
    .main-menu li.navbar-main-menu {
        margin-bottom: 12px !important;
        background: none !important;
    }
    
    .main-menu li.navbar-main-menu a {
        background: var(--primary-blue) !important;
        color: white !important;
        font-weight: 500 !important;
        border-radius: 12px !important;
        border-bottom: none !important;
    }
    
    .main-menu li.navbar-main-menu a:active {
        background: var(--primary-blue-hover) !important;
    }
    
    .main-menu li.navbar-main-menu a::after {
        border-color: rgba(255, 255, 255, 0.5) !important;
    }
    
    /* Body scroll lock */
    body.menu-open {
        overflow: hidden;
        position: fixed;
        width: 100%;
        height: 100%;
    }
    
    /* ===== OTHER MOBILE STYLES ===== */
    
    /* Hero Section */
    .hero-section {
        padding: 40px 16px;
    }
    
    .hero-section h1 {
        font-size: 32px;
        line-height: 1.1;
    }
    
    .hero-section p {
        font-size: 15px;
        margin: 12px 0 24px;
    }
    
    /* Product Grid - 2 Columns */
    .product-list-content {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
        padding: 0 16px;
    }
    
    /* ===== PRODUCT LIST - HORIZONTAL SCROLL ===== */
    /* En Çok Satan & Yeni Eklenenler - Apple App Store Style */
    .product-list-card {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        gap: 16px;
        padding: 16px;
        margin: 0 -16px;
        grid-template-columns: none !important;
    }
    
    .product-list-card::-webkit-scrollbar {
        display: none;
    }
    
    .product-list-card-item {
        flex: 0 0 280px !important;
        min-width: 280px !important;
        max-width: 280px !important;
        scroll-snap-align: start;
    }
    
    .product-list-card-item:first-child {
        margin-left: 0;
    }
    
    .product-list-card-item:last-child {
        margin-right: 0;
    }
    
    /* Section Container - Overflow visible */
    .project-size {
        overflow: visible;
    }
    
    /* Product Card */
    .product-card {
        border-radius: 14px;
    }
    
    .product-card-content {
        padding: 12px;
    }
    
    .product-card-title {
        font-size: 14px;
    }
    
    .product-card-price {
        font-size: 15px;
    }
    
    /* Add to Cart Button - Icon only */
    .product-list-card-item .add-to-cart-btn {
        min-width: 44px;
        width: 44px;
        padding: 0;
        flex: 0 0 auto;
    }
    
    .product-list-card-item .add-to-cart-btn .btn-text {
        display: none;
    }
    
    .product-list-card-item .add-to-cart-btn .cart-icon {
        width: 20px;
        height: 20px;
    }
    
    /* Categories */
    .categories-list {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        gap: 12px;
        padding: 0 16px 16px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }
    
    .category-item {
        flex-shrink: 0;
        width: 90px;
        height: 90px;
        scroll-snap-align: start;
    }
    
    .category-item span {
        font-size: 11px;
    }
    
    /* Section Titles */
    .section-title,
    .section-header h2 {
        font-size: 24px;
        padding: 0 16px;
    }
    
    /* Footer */
    .footer-main-content {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
        padding: 32px 16px;
    }
    }
    
    .product-card-content {
        padding: 12px;
    }
    
    .product-card-title {
        font-size: 14px;
    }
    
    .product-card-price {
        font-size: 15px;
    }
    
    .product-card-actions {
        gap: 8px;
    }
    
    .product-card-actions button {
        width: 32px;
        height: 32px;
    }
    
    .product-card-actions button svg {
        width: 14px;
        height: 14px;
    }
    
    /* Add to Cart Button - Icon only on small screens */
    .product-list-card-item .add-to-cart-btn {
        min-width: 44px;
        width: 44px;
        padding: 0;
        flex: 0 0 auto;
    }
    
    .product-list-card-item .add-to-cart-btn .btn-text {
        display: none;
    }
    
    .product-list-card-item .add-to-cart-btn .cart-icon {
        width: 20px;
        height: 20px;
    }
    
    /* Categories */
    .categories-list {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        gap: 12px;
        padding: 0 16px 16px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }
    
    .category-item {
        flex-shrink: 0;
        width: 90px;
        height: 90px;
        scroll-snap-align: start;
    }
    
    .category-item span {
        font-size: 11px;
    }
    
    /* Section Titles */
    .section-title,
    .section-header h2 {
        font-size: 24px;
        padding: 0 16px;
    }
    
    /* Private Label Tabs */
    .private-label-tabs {
        padding: 0 16px;
        overflow-x: auto;
        justify-content: flex-start;
        gap: 8px;
    }
    
    .tab-card {
        width: 100px;
        height: 100px;
    }
    
    .tab-card img,
    .tab-card .img-placeholder {
        width: 50px;
        height: 50px;
    }
    
    .tab-card span {
        font-size: 10px;
    }
    
    /* Footer */
    .footer-main-content {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
        padding: 32px 16px;
    }
    
    .footer-bottom-content {
        padding: 16px;
    }
    
    .footer-agreements {
        flex-wrap: wrap;
        text-align: center;
        justify-content: center;
    }
    
    .footer-agreements .separator {
        display: none;
    }
    
    .footer-agreements a {
        display: inline-block;
        padding: 4px 8px;
    }
}

/* ===== MOBILE PORTRAIT (max-width: 480px) ===== */
@media (max-width: 480px) {
    /* Header */
    .header-main-content {
        padding: 0 12px;
    }
    
    .logo a {
        font-size: 16px;
    }
    
    /* Search - Collapsible */
    .search-bar {
        position: absolute;
        left: 12px;
        right: 12px;
        top: 100%;
        max-width: none;
        transform: translateY(-100%);
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s var(--ease-apple);
        background: var(--bg-primary);
        padding: 12px 0;
        z-index: 998;
    }
    
    .search-bar.mobile-open {
        transform: translateY(0);
        opacity: 1;
        visibility: visible;
    }
    
    .search-bar input {
        width: 100%;
        padding: 12px 16px;
    }
    
    /* Header Icons */
    .header-icons {
        gap: 4px;
    }
    
    .header-icons .icon-btn {
        width: 32px;
        height: 32px;
    }
    
    .header-icons .icon-btn svg {
        width: 18px;
        height: 18px;
    }
    
    /* Hero */
    .hero-section {
        padding: 32px 12px;
        min-height: auto;
    }
    
    .hero-section h1 {
        font-size: 28px;
    }
    
    .hero-section p {
        font-size: 14px;
    }
    
    .hero-cta {
        flex-direction: column;
        width: 100%;
    }
    
    .hero-cta .btn {
        width: 100%;
        justify-content: center;
    }
    
    /* Product Grid - Full Width Cards */
    .product-list-content {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 0 12px;
    }
    
    .product-card {
        display: grid;
        grid-template-columns: 120px 1fr;
        align-items: center;
    }
    
    .product-card-image {
        height: 120px;
        border-radius: 12px 0 0 12px;
    }
    
    .product-card-content {
        padding: 16px;
    }
    
    .product-card-badge {
        top: 8px;
        left: 8px;
        font-size: 10px;
        padding: 3px 8px;
    }
    
    /* Categories - Horizontal Scroll */
    .categories-list {
        padding: 0 12px 12px;
    }
    
    .category-item {
        width: 80px;
        height: 80px;
    }
    
    .category-item span {
        font-size: 10px;
    }
    
    /* Section Titles */
    .section-title,
    .section-header h2 {
        font-size: 22px;
        padding: 0 12px;
    }
    
    /* Private Label Tabs */
    .private-label-tabs {
        padding: 0 12px;
    }
    
    .tab-card {
        width: 80px;
        height: 80px;
    }
    
    .tab-card img,
    .tab-card .img-placeholder {
        width: 40px;
        height: 40px;
    }
    
    .tab-card span {
        font-size: 9px;
    }
    
    /* Footer */
    .footer-main-content {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 24px 12px;
    }
    
    .footer-main-content nav {
        border-bottom: 1px solid var(--border-primary);
        padding-bottom: 16px;
    }
    
    .footer-main-content nav:last-child {
        border-bottom: none;
    }
    
    .footer-title {
        font-size: 13px;
    }
    
    .footer-main-content nav a {
        font-size: 12px;
    }
    
    .footer-bottom-content {
        padding: 12px;
        font-size: 11px;
    }
    
    /* Widgets */
    .macos-widgets-grid {
        gap: 12px;
        padding: 0 12px;
    }
    
    .widget-card {
        padding: 16px;
    }
}

/* ===== TOUCH ENHANCEMENTS ===== */
@media (hover: none) and (pointer: coarse) {
    /* Larger touch targets */
    .btn,
    .icon-btn,
    .product-card-actions button {
        min-height: 44px;
        min-width: 44px;
    }
    
    /* Remove hover effects on touch */
    .product-card:hover {
        transform: none;
        box-shadow: var(--shadow-sm);
    }
    
    .btn:hover {
        transform: none;
    }
    
    /* Active states for touch feedback */
    .btn:active {
        transform: scale(0.97);
        opacity: 0.9;
    }
    
    .product-card:active {
        transform: scale(0.98);
    }
    
    .icon-btn:active {
        background: var(--fill-tertiary);
    }
}

/* ===== DARK MODE MOBILE ===== */
@media (prefers-color-scheme: dark) and (max-width: 768px) {
    .main-menu {
        background: var(--bg-primary);
        border-top: 1px solid var(--border-primary);
    }
    
    .main-menu li {
        border-color: var(--border-primary);
    }
    
    .search-bar {
        background: var(--bg-primary);
    }
}

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

/* ===== LANDSCAPE ORIENTATION ===== */
@media (max-width: 896px) and (orientation: landscape) {
    .hero-section {
        min-height: auto;
        padding: 24px 16px;
    }
    
    .hero-section h1 {
        font-size: 28px;
    }
    
    .product-list-content {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* ===== SAFE AREAS (iPhone X+) ===== */
@supports (padding: max(0px)) {
    .header-main-content {
        padding-left: max(16px, env(safe-area-inset-left));
        padding-right: max(16px, env(safe-area-inset-right));
    }
    
    .footer-bottom-content {
        padding-bottom: max(16px, env(safe-area-inset-bottom));
    }
    
    .main-menu {
        padding-bottom: max(24px, env(safe-area-inset-bottom));
    }
}


/* ============================================
   🎯 MICRO-INTERACTIONS & APPLE ANIMATIONS
   ============================================ */

/* ===== GLOBAL SVG STYLING ===== */
svg {
    transition: transform var(--transition-fast), fill var(--transition-fast), stroke var(--transition-fast);
}

/* ===== BUTTON MICRO-INTERACTIONS ===== */
.btn,
button,
.icon-btn {
    position: relative;
    overflow: hidden;
}

/* Ripple Effect */
.btn::after,
.icon-btn::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    background: rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: width 0.5s ease, height 0.5s ease, opacity 0.5s ease;
    opacity: 0;
    pointer-events: none;
}

.btn:active::after,
.icon-btn:active::after {
    width: 200px;
    height: 200px;
    opacity: 0;
}

/* ===== CARD HOVER ANIMATIONS ===== */
.product-card,
.widget-card,
.category-item,
.story-item {
    transition: 
        transform var(--transition),
        box-shadow var(--transition),
        border-color var(--transition);
    will-change: transform;
}

.product-card:hover {
    transform: translateY(-4px) scale(1.01);
    box-shadow: var(--shadow-lg);
}

.widget-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.category-item:hover {
    transform: translateY(-4px) scale(1.05);
}

.story-item:hover {
    transform: scale(1.08);
}

/* ===== IMAGE ZOOM EFFECT ===== */
.product-card-image,
.highlight-main-banner,
.highlight-sub-banner-list a {
    overflow: hidden;
}

.product-card-image img,
.product-card-image .img-placeholder,
.highlight-main-banner img,
.highlight-main-banner .img-placeholder,
.highlight-sub-banner-list a img,
.highlight-sub-banner-list a .img-placeholder {
    transition: transform 0.5s var(--ease-apple);
    will-change: transform;
}

.product-card:hover .product-card-image img,
.product-card:hover .product-card-image .img-placeholder,
.highlight-main-banner:hover img,
.highlight-main-banner:hover .img-placeholder,
.highlight-sub-banner-list a:hover img,
.highlight-sub-banner-list a:hover .img-placeholder {
    transform: scale(1.05);
}

/* ===== FAVORITE BUTTON ANIMATION ===== */
.favorite-btn {
    transition: transform var(--transition-fast);
}

.favorite-btn:hover {
    transform: scale(1.15);
}

.favorite-btn:active {
    transform: scale(0.9);
}

.favorite-btn.added-to-favorite svg {
    fill: #ff453a;
    stroke: #ff453a;
    animation: heartBeat 0.5s ease;
}

@keyframes heartBeat {
    0% { transform: scale(1); }
    25% { transform: scale(1.3); }
    50% { transform: scale(1); }
    75% { transform: scale(1.2); }
    100% { transform: scale(1); }
}

/* ===== CART BUTTON ANIMATION ===== */
.add-to-cart-btn:hover svg {
    animation: cartBounce 0.4s ease;
}

@keyframes cartBounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-3px); }
}

/* ===== LINK UNDERLINE ANIMATION ===== */
.footer a,
.primary-navigation a {
    position: relative;
}

.footer-main-content nav a::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 1px;
    background: var(--text-primary);
    transition: width var(--transition);
}

.footer-main-content nav a:hover::after {
    width: 100%;
}

/* ===== NAVIGATION HOVER ===== */
.primary-navigation > nav > ul > li > a {
    position: relative;
}

.primary-navigation > nav > ul > li > a::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 2px;
    background: var(--primary-blue);
    transform: translateX(-50%);
    transition: width var(--transition);
    border-radius: 2px;
}

.primary-navigation > nav > ul > li:hover > a::before,
.primary-navigation > nav > ul > li.active > a::before {
    width: calc(100% - 16px);
}

/* ===== BADGE PULSE ===== */
.product-card-badge,
.widget-badge {
    animation: badgePulse 2s infinite;
}

@keyframes badgePulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.85; }
}

/* ===== LOADING SKELETON ===== */
.skeleton {
    background: linear-gradient(90deg, 
        var(--bg-secondary) 25%, 
        var(--bg-tertiary) 50%, 
        var(--bg-secondary) 75%
    );
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite;
}

@keyframes shimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* ===== SCROLL REVEAL ANIMATION ===== */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s var(--ease-apple), transform 0.6s var(--ease-apple);
}

.reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

/* ===== INPUT FOCUS ANIMATION ===== */
.header-search input,
.auto-complete-inputs input {
    transition: 
        border-color var(--transition),
        box-shadow var(--transition),
        background-color var(--transition);
}

.header-search input:focus,
.auto-complete-inputs input:focus {
    box-shadow: 0 0 0 4px rgba(0, 113, 227, 0.15);
}

/* ===== TAB SWITCH ANIMATION ===== */
.tab,
.tab-card {
    transition: 
        background var(--transition),
        color var(--transition),
        transform var(--transition),
        box-shadow var(--transition);
}

.tab-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-sm);
}

.tab-card.active {
    transform: scale(1.02);
}

/* ===== COUNTER ANIMATION ===== */
.mini-cart-quantity {
    transition: transform var(--transition-fast);
}

.mini-cart-quantity.updated {
    animation: counterPop 0.3s ease;
}

@keyframes counterPop {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.2); }
}

/* ===== FLOATING LABEL EFFECT ===== */
.search-floating-label {
    position: relative;
}

.search-floating-label label {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-muted);
    transition: all var(--transition);
    pointer-events: none;
}

.search-floating-label input:focus + label,
.search-floating-label input:not(:placeholder-shown) + label {
    top: 4px;
    font-size: 11px;
    color: var(--primary-blue);
}

/* ===== TOOLTIP ANIMATION ===== */
[data-tooltip] {
    position: relative;
}

[data-tooltip]::before {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(8px);
    padding: 6px 12px;
    background: var(--bg-dark);
    color: var(--text-white);
    font-size: 12px;
    border-radius: var(--radius-sm);
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: all var(--transition);
    pointer-events: none;
    z-index: 9999;
}

[data-tooltip]:hover::before {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(-4px);
}

/* ===== PAGE TRANSITION ===== */
.page-wrapper {
    animation: pageEnter 0.4s var(--ease-apple);
}

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

/* ===== STAGGERED ANIMATION FOR GRIDS ===== */
.product-list-content .product-card:nth-child(1) { animation-delay: 0.05s; }
.product-list-content .product-card:nth-child(2) { animation-delay: 0.1s; }
.product-list-content .product-card:nth-child(3) { animation-delay: 0.15s; }
.product-list-content .product-card:nth-child(4) { animation-delay: 0.2s; }
.product-list-content .product-card:nth-child(5) { animation-delay: 0.25s; }
.product-list-content .product-card:nth-child(6) { animation-delay: 0.3s; }

/* ===== SMOOTH SCROLL BEHAVIOR ===== */
html {
    scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}

/* ===== FOCUS VISIBLE STYLING ===== */
:focus-visible {
    outline: 2px solid var(--primary-blue);
    outline-offset: 2px;
}

button:focus:not(:focus-visible),
a:focus:not(:focus-visible) {
    outline: none;
}

/* ===== SELECTION STYLING ===== */
::selection {
    background: rgba(0, 113, 227, 0.2);
    color: var(--text-primary);
}

/* ===== SCROLLBAR STYLING (WebKit) ===== */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: var(--bg-secondary);
}

::-webkit-scrollbar-thumb {
    background: var(--text-muted);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--text-secondary);
}

/* ============================================
   PRODUCT PAGE STYLES
   Premium E-Commerce Product Detail Page
   ============================================ */

/* ===== BREADCRUMB ===== */
.breadcrumb {
    padding: 16px 0;
}

.breadcrumb ol {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
}

.breadcrumb li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--text-secondary);
}

.breadcrumb li:not(:last-child)::after {
    content: '›';
    color: var(--text-muted);
}

.breadcrumb a {
    color: var(--text-secondary);
    text-decoration: none;
    transition: color var(--transition);
}

.breadcrumb a:hover {
    color: var(--primary-blue);
}

.breadcrumb .current {
    color: var(--text-primary);
    font-weight: 500;
}

/* ===== PRODUCT DETAIL WRAPPER ===== */
.product-detail-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    padding: 24px 0 64px;
}

/* ===== PRODUCT GALLERY ===== */
.product-gallery {
    position: relative;
}

.product-badges-floating {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 10;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    backdrop-filter: blur(10px);
}

.badge-bestseller {
    background: rgba(255, 149, 0, 0.9);
    color: white;
}

.badge-limited {
    background: rgba(88, 86, 214, 0.9);
    color: white;
}

.badge-discount {
    background: rgba(255, 59, 48, 0.9);
    color: white;
}

.gallery-main {
    position: relative;
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: var(--bg-secondary);
    margin-bottom: 16px;
}

.gallery-main-image {
    position: relative;
    aspect-ratio: 1;
    cursor: zoom-in;
}

.product-main-img {
    width: 100%;
    height: 100%;
}

.zoom-hint {
    position: absolute;
    bottom: 16px;
    right: 16px;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
    border-radius: 20px;
    font-size: 12px;
    color: var(--text-secondary);
    opacity: 0;
    transition: opacity var(--transition);
}

.gallery-main-image:hover .zoom-hint {
    opacity: 1;
}

.gallery-thumbnails {
    display: flex;
    gap: 12px;
}

.thumbnail {
    position: relative;
    width: 80px;
    height: 80px;
    border: 2px solid transparent;
    border-radius: var(--radius-md);
    overflow: hidden;
    cursor: pointer;
    transition: all var(--transition);
    background: var(--bg-secondary);
}

.thumbnail:hover {
    border-color: var(--text-muted);
}

.thumbnail.active {
    border-color: var(--primary-blue);
}

.thumbnail .img-placeholder {
    width: 100%;
    height: 100%;
}

.thumbnail-video .video-play-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 32px;
    height: 32px;
    background: rgba(0, 0, 0, 0.7);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.thumbnail-video .video-play-icon svg {
    margin-left: 2px;
}

/* ===== PRODUCT INFO PANEL ===== */
.product-info-panel {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.product-brand-category {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
}

.brand-link,
.category-link {
    color: var(--primary-blue);
    text-decoration: none;
    font-weight: 500;
}

.brand-link:hover,
.category-link:hover {
    text-decoration: underline;
}

.category-separator {
    color: var(--text-muted);
}

.product-title {
    font-size: 32px;
    font-weight: 700;
    color: var(--text-primary);
    letter-spacing: -0.02em;
    line-height: 1.2;
    margin: 0;
}

.product-subtitle {
    font-size: 18px;
    font-weight: 400;
    color: var(--text-secondary);
    margin: -8px 0 0;
}

/* ===== RATING SUMMARY ===== */
.product-rating-summary {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.stars-display {
    display: flex;
    align-items: center;
    gap: 2px;
}

.stars-display .star {
    color: #ffd60a;
    font-size: 16px;
}

.stars-display .star.half {
    background: linear-gradient(90deg, #ffd60a 50%, #d2d2d7 50%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.rating-value {
    font-weight: 600;
    color: var(--text-primary);
    margin-left: 4px;
}

.review-link {
    color: var(--primary-blue);
    text-decoration: none;
    font-size: 14px;
}

.review-link:hover {
    text-decoration: underline;
}

.product-rating-summary .divider {
    color: var(--text-muted);
}

.sold-count {
    color: var(--text-secondary);
    font-size: 14px;
}

/* ===== TRUST SIGNALS BAR ===== */
.trust-signals-bar {
    display: flex;
    gap: 24px;
    padding: 16px 0;
    border-top: 1px solid var(--border-primary);
    border-bottom: 1px solid var(--border-primary);
}

.trust-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--text-secondary);
}

.trust-item svg {
    color: var(--apple-green);
}

/* ===== PRICE SECTION ===== */
.product-price-section {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.price-main {
    display: flex;
    align-items: baseline;
    gap: 12px;
    flex-wrap: wrap;
}

.current-price {
    font-size: 36px;
    font-weight: 700;
    color: var(--text-primary);
    letter-spacing: -0.02em;
}

.original-price {
    font-size: 18px;
    color: var(--text-muted);
    text-decoration: line-through;
}

.discount-badge {
    padding: 4px 10px;
    background: #ffe8e6;
    color: #ff3b30;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
}

.price-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--text-secondary);
}

.price-divider {
    color: var(--text-muted);
}

.installment-info {
    display: flex;
    align-items: center;
    gap: 4px;
}

.installment-info strong {
    color: var(--text-primary);
}

.price-urgency {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    background: #fff3e0;
    border-radius: var(--radius-md);
    font-size: 14px;
    color: #e65100;
    margin-top: 8px;
}

.price-urgency strong {
    font-family: 'SF Mono', monospace;
    font-weight: 600;
}

/* ===== VARIANT SECTIONS ===== */
.product-variant-section {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.variant-header {
    display: flex;
    align-items: center;
    gap: 8px;
}

.variant-label {
    font-weight: 500;
    color: var(--text-primary);
}

.variant-selected {
    font-weight: 600;
    color: var(--text-primary);
}

.size-guide-link {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    color: var(--primary-blue);
    text-decoration: none;
}

.size-guide-link:hover {
    text-decoration: underline;
}

/* ===== COLOR OPTIONS ===== */
.color-options {
    display: flex;
    gap: 12px;
}

.color-swatch {
    position: relative;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 2px solid transparent;
    padding: 3px;
    cursor: pointer;
    transition: all var(--transition);
    background: transparent;
}

.color-swatch:hover {
    border-color: var(--text-muted);
}

.color-swatch.active {
    border-color: var(--primary-blue);
}

.swatch-inner {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 1px solid rgba(0, 0, 0, 0.1);
}

.swatch-check {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: none;
}

.color-swatch.active .swatch-check {
    display: flex;
}

.color-swatch.out-of-stock {
    opacity: 0.5;
    cursor: not-allowed;
}

.swatch-unavailable {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 2px;
    background: #ff3b30;
    transform: rotate(-45deg);
}

/* ===== SIZE OPTIONS ===== */
.size-options {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.size-btn {
    position: relative;
    min-width: 48px;
    height: 44px;
    padding: 0 16px;
    border: 1.5px solid var(--border-strong);
    border-radius: var(--radius-md);
    background: white;
    font-size: 14px;
    font-weight: 500;
    color: var(--text-primary);
    cursor: pointer;
    transition: all var(--transition);
}

.size-btn:hover {
    border-color: var(--text-muted);
}

.size-btn.active {
    border-color: var(--primary-blue);
    background: var(--primary-blue);
    color: white;
}

.size-btn.low-stock {
    border-color: #ff9500;
}

.stock-warning {
    position: absolute;
    top: -8px;
    right: -8px;
    padding: 2px 6px;
    background: #ff9500;
    color: white;
    font-size: 10px;
    font-weight: 600;
    border-radius: 10px;
}

/* ===== PURCHASE SECTION ===== */
.product-purchase-section {
    display: flex;
    gap: 12px;
    align-items: stretch;
}

.quantity-selector {
    display: flex;
    align-items: center;
    border: 1.5px solid var(--border-strong);
    border-radius: var(--radius-md);
    overflow: hidden;
}

.qty-btn {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: white;
    border: none;
    cursor: pointer;
    transition: background var(--transition);
}

.qty-btn:hover {
    background: var(--bg-secondary);
}

.qty-input {
    width: 48px;
    height: 44px;
    border: none;
    text-align: center;
    font-size: 15px;
    font-weight: 500;
    -moz-appearance: textfield;
}

.qty-input::-webkit-outer-spin-button,
.qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.btn-add-to-cart.primary-cta {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 48px;
    background: var(--primary-blue);
    color: white;
    border: none;
    border-radius: var(--radius-md);
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all var(--transition);
}

.btn-add-to-cart.primary-cta:hover {
    background: var(--primary-blue-hover);
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(0, 113, 227, 0.3);
}

.btn-add-to-cart.primary-cta:active {
    transform: translateY(0);
}

.btn-favorite {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1.5px solid var(--border-strong);
    border-radius: var(--radius-md);
    background: white;
    cursor: pointer;
    transition: all var(--transition);
}

.btn-favorite:hover {
    border-color: #ff453a;
    color: #ff453a;
}

.btn-favorite.active {
    background: #ffebea;
    border-color: #ff453a;
}

/* ===== QUICK ACTIONS ===== */
.quick-actions {
    display: flex;
    gap: 12px;
}

.btn-buy-now {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 44px;
    background: var(--text-primary);
    color: white;
    border: none;
    border-radius: var(--radius-md);
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all var(--transition);
}

.btn-buy-now:hover {
    background: #000;
    transform: translateY(-2px);
}

/* ===== DELIVERY INFO CARD ===== */
.delivery-info-card {
    background: var(--bg-secondary);
    border-radius: var(--radius-lg);
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.delivery-row {
    display: flex;
    align-items: center;
    gap: 12px;
}

.delivery-icon {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: white;
    border-radius: var(--radius-md);
    color: var(--text-secondary);
}

.delivery-icon.success {
    background: #e6f7ed;
    color: var(--apple-green);
}

.delivery-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.delivery-text strong {
    font-size: 14px;
    color: var(--text-primary);
}

.delivery-text span {
    font-size: 13px;
    color: var(--text-secondary);
}

.delivery-row.highlight {
    background: #e0f2fe;
    margin: 0 -16px;
    padding: 12px 16px;
    border-radius: var(--radius-md);
}

.delivery-row.highlight .delivery-icon {
    background: #0ea5e9;
    color: white;
}

/* ===== SOCIAL ACTIONS ===== */
.product-social-actions {
    display: flex;
    gap: 12px;
    padding-top: 16px;
    border-top: 1px solid var(--border-primary);
    flex-wrap: wrap;
}

.social-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: white;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-md);
    font-size: 13px;
    color: var(--text-secondary);
    cursor: pointer;
    transition: all var(--transition);
}

.social-btn:hover {
    background: var(--bg-secondary);
    border-color: var(--text-muted);
}

/* ===== PRODUCT TABS ===== */
.product-tabs-section {
    margin: 64px 0;
}

.tabs-nav {
    display: flex;
    gap: 0;
    border-bottom: 1px solid var(--border-primary);
    overflow-x: auto;
}

.tab-btn {
    position: relative;
    padding: 16px 24px;
    background: none;
    border: none;
    font-size: 15px;
    font-weight: 500;
    color: var(--text-secondary);
    cursor: pointer;
    white-space: nowrap;
    transition: color var(--transition);
}

.tab-btn:hover {
    color: var(--text-primary);
}

.tab-btn.active {
    color: var(--primary-blue);
}

.tab-btn.active::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 2px;
    background: var(--primary-blue);
}

.tab-count {
    margin-left: 6px;
    padding: 2px 8px;
    background: var(--bg-secondary);
    border-radius: 12px;
    font-size: 12px;
    color: var(--text-muted);
}

.tab-btn.active .tab-count {
    background: rgba(0, 113, 227, 0.1);
    color: var(--primary-blue);
}

.tabs-content {
    padding: 32px 0;
}

.tab-panel {
    display: none;
}

.tab-panel.active {
    display: block;
    animation: fadeIn 0.3s ease;
}

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

/* ===== PRODUCT DESCRIPTION TAB ===== */
.product-description h3 {
    font-size: 22px;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0 0 16px;
}

.product-description p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--text-secondary);
    margin: 0 0 24px;
}

.feature-highlights {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin: 32px 0;
}

.feature-item {
    display: flex;
    gap: 16px;
    padding: 20px;
    background: var(--bg-secondary);
    border-radius: var(--radius-lg);
    transition: transform var(--transition);
}

.feature-item:hover {
    transform: translateY(-4px);
}

.feature-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: white;
    border-radius: var(--radius-md);
    color: var(--primary-blue);
}

.feature-text h4 {
    font-size: 15px;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0 0 4px;
}

.feature-text p {
    font-size: 13px;
    color: var(--text-secondary);
    margin: 0;
}

.benefit-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.benefit-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 15px;
    color: var(--text-secondary);
}

.benefit-list svg {
    color: var(--apple-green);
    flex-shrink: 0;
}

/* ===== SPECS TAB ===== */
.specs-table {
    display: flex;
    flex-direction: column;
    gap: 0;
    background: var(--bg-secondary);
    border-radius: var(--radius-lg);
    overflow: hidden;
}

.spec-row {
    display: flex;
    padding: 16px 20px;
    border-bottom: 1px solid var(--border-primary);
}

.spec-row:last-child {
    border-bottom: none;
}

.spec-label {
    flex: 1;
    font-weight: 500;
    color: var(--text-secondary);
}

.spec-value {
    flex: 2;
    color: var(--text-primary);
}

.size-chart {
    margin-top: 32px;
}

.size-chart h4 {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 16px;
}

.size-chart table {
    width: 100%;
    border-collapse: collapse;
    background: white;
    border-radius: var(--radius-lg);
    overflow: hidden;
}

.size-chart th,
.size-chart td {
    padding: 12px 16px;
    text-align: center;
    border-bottom: 1px solid var(--border-primary);
}

.size-chart th {
    background: var(--bg-secondary);
    font-weight: 600;
    color: var(--text-primary);
}

.size-chart tr.highlighted {
    background: rgba(0, 113, 227, 0.1);
}

/* ===== REVIEWS TAB ===== */
.reviews-summary {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding-bottom: 32px;
    border-bottom: 1px solid var(--border-primary);
}

.rating-overview {
    display: flex;
    gap: 48px;
    align-items: flex-start;
}

.rating-big {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.rating-number {
    font-size: 64px;
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1;
}

.rating-stars .star {
    font-size: 24px;
    color: #ffd60a;
}

.rating-count {
    font-size: 14px;
    color: var(--text-secondary);
}

.rating-bars {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.rating-bar-row {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 13px;
}

.rating-bar-row span:first-child {
    width: 12px;
    text-align: center;
    color: var(--text-secondary);
}

.rating-bar-row .bar {
    flex: 1;
    height: 8px;
    background: var(--bg-secondary);
    border-radius: 4px;
    overflow: hidden;
}

.rating-bar-row .fill {
    height: 100%;
    background: var(--primary-blue);
    border-radius: 4px;
}

.rating-bar-row span:last-child {
    width: 36px;
    color: var(--text-muted);
}

.review-highlights {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.highlight-tag {
    padding: 8px 16px;
    background: var(--bg-secondary);
    border-radius: 20px;
    font-size: 13px;
    color: var(--text-secondary);
}

/* ===== REVIEW LIST ===== */
.reviews-list {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 32px 0;
}

.review-item {
    padding: 24px;
    background: var(--bg-secondary);
    border-radius: var(--radius-lg);
}

.review-item.verified {
    border-left: 3px solid var(--apple-green);
}

.review-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 16px;
}

.reviewer-info {
    display: flex;
    gap: 12px;
    align-items: center;
}

.reviewer-avatar {
    width: 40px;
    height: 40px;
    background: var(--primary-blue);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 14px;
}

.reviewer-details {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.reviewer-name {
    font-weight: 600;
    color: var(--text-primary);
}

.verified-badge {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: var(--apple-green);
}

.review-rating .star {
    color: #ffd60a;
}

.review-body h4 {
    font-size: 16px;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0 0 8px;
}

.review-body p {
    font-size: 14px;
    line-height: 1.6;
    color: var(--text-secondary);
    margin: 0;
}

.review-meta {
    display: flex;
    gap: 16px;
    margin-top: 12px;
    font-size: 12px;
    color: var(--text-muted);
}

.review-actions {
    margin-top: 16px;
}

.helpful-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: white;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-md);
    font-size: 13px;
    color: var(--text-secondary);
    cursor: pointer;
    transition: all var(--transition);
}

.helpful-btn:hover {
    background: var(--bg-secondary);
}

.load-more-reviews {
    width: 100%;
    padding: 16px;
    background: white;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-md);
    font-size: 15px;
    font-weight: 500;
    color: var(--primary-blue);
    cursor: pointer;
    transition: all var(--transition);
}

.load-more-reviews:hover {
    background: var(--bg-secondary);
}

/* ===== Q&A TAB ===== */
.qa-section {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.qa-ask {
    padding: 24px;
    background: var(--bg-secondary);
    border-radius: var(--radius-lg);
}

.qa-ask h4 {
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 16px;
}

.ask-input-group {
    display: flex;
    gap: 12px;
}

.ask-input-group input {
    flex: 1;
    padding: 12px 16px;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-md);
    font-size: 15px;
}

.ask-input-group input:focus {
    outline: none;
    border-color: var(--primary-blue);
}

.btn-ask {
    padding: 12px 24px;
    background: var(--primary-blue);
    color: white;
    border: none;
    border-radius: var(--radius-md);
    font-weight: 600;
    cursor: pointer;
    transition: background var(--transition);
}

.btn-ask:hover {
    background: var(--primary-blue-hover);
}

.qa-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.qa-item {
    padding: 20px;
    background: white;
    border: 1px solid var(--border-primary);
    border-radius: var(--radius-lg);
}

.question,
.answer {
    display: flex;
    gap: 12px;
}

.q-icon,
.a-icon {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 13px;
    font-weight: 700;
    flex-shrink: 0;
}

.q-icon {
    background: var(--bg-secondary);
    color: var(--text-primary);
}

.a-icon {
    background: var(--apple-green);
    color: white;
}

.q-content p,
.a-content p {
    margin: 0 0 8px;
    font-size: 14px;
    color: var(--text-primary);
}

.q-meta,
.a-meta {
    font-size: 12px;
    color: var(--text-muted);
}

.answer {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--border-primary);
}

.answer.official .a-icon {
    background: var(--primary-blue);
}

.official-badge {
    display: inline-flex;
    padding: 2px 8px;
    background: rgba(0, 113, 227, 0.1);
    color: var(--primary-blue);
    border-radius: 4px;
    font-weight: 500;
}

/* ===== BUNDLE SECTION ===== */
.bundle-section {
    display: flex;
    gap: 32px;
    padding: 32px;
    background: var(--bg-secondary);
    border-radius: var(--radius-xl);
    margin: 24px 0;
}

.bundle-products {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 16px;
}

.bundle-product {
    position: relative;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 16px;
    background: white;
    border-radius: var(--radius-lg);
    cursor: pointer;
    transition: all var(--transition);
}

.bundle-product:hover {
    transform: translateY(-4px);
}

.bundle-product.main {
    cursor: default;
}

.bundle-product .img-placeholder {
    width: 80px;
    height: 80px;
    border-radius: var(--radius-md);
}

.bundle-product .product-name {
    font-size: 12px;
    text-align: center;
    color: var(--text-primary);
}

.bundle-product .product-price {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-primary);
}

.bundle-check {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--border-strong);
    border-radius: 50%;
}

.bundle-check.active {
    background: var(--primary-blue);
}

.bundle-plus {
    font-size: 24px;
    font-weight: 300;
    color: var(--text-muted);
}

.bundle-summary {
    width: 280px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    justify-content: center;
}

.bundle-total {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.total-label {
    font-size: 13px;
    color: var(--text-secondary);
}

.total-original {
    font-size: 16px;
    color: var(--text-muted);
    text-decoration: line-through;
}

.total-discounted {
    font-size: 32px;
    font-weight: 700;
    color: var(--text-primary);
}

.bundle-saving {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px;
    background: #e6f7ed;
    border-radius: var(--radius-md);
    color: #1a7f37;
    font-weight: 600;
}

.btn-bundle-add {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 16px;
    background: var(--primary-blue);
    color: white;
    border: none;
    border-radius: var(--radius-md);
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all var(--transition);
}

.btn-bundle-add:hover {
    background: var(--primary-blue-hover);
}

/* ===== RECENTLY VIEWED ===== */
.recently-viewed-slider {
    display: flex;
    gap: 16px;
    padding: 24px 0;
    overflow-x: auto;
}

.recently-item {
    flex-shrink: 0;
    width: 120px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.recently-item .img-placeholder {
    width: 120px;
    height: 120px;
    border-radius: var(--radius-md);
}

.recently-item .item-name {
    font-size: 12px;
    color: var(--text-primary);
}

.recently-item .item-price {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-primary);
}

/* ===== STICKY CART BAR (Mobile) ===== */
.sticky-cart-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(20px);
    border-top: 1px solid var(--border-primary);
    transform: translateY(100%);
    transition: transform 0.3s var(--ease-apple);
    z-index: 1000;
    padding-bottom: calc(12px + env(safe-area-inset-bottom));
    display: none;
}

.sticky-cart-bar.visible {
    transform: translateY(0);
}

.sticky-product-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.sticky-price {
    font-size: 20px;
    font-weight: 700;
    color: var(--text-primary);
}

.sticky-name {
    font-size: 12px;
    color: var(--text-secondary);
}

.sticky-add-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background: var(--primary-blue);
    color: white;
    border: none;
    border-radius: var(--radius-md);
    font-weight: 600;
}

/* ===== URGENCY LINK ANIMATION ===== */
.urgency-link {
    position: relative;
}

.pulse-dot {
    width: 8px;
    height: 8px;
    background: #ff453a;
    border-radius: 50%;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.5; transform: scale(1.5); }
    100% { opacity: 1; transform: scale(1); }
}

/* ===== PRODUCT PAGE RESPONSIVE ===== */
@media (max-width: 1024px) {
    .product-detail-wrapper {
        gap: 32px;
    }
    
    .feature-highlights {
        grid-template-columns: 1fr;
    }
    
    .bundle-section {
        flex-direction: column;
    }
    
    .bundle-summary {
        width: 100%;
    }
}

@media (max-width: 768px) {
    .product-detail-wrapper {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 16px 0 48px;
    }
    
    .product-title {
        font-size: 24px;
    }
    
    .product-subtitle {
        font-size: 16px;
    }
    
    .current-price {
        font-size: 28px;
    }
    
    .trust-signals-bar {
        flex-wrap: wrap;
        gap: 16px;
    }
    
    .gallery-thumbnails {
        gap: 8px;
    }
    
    .thumbnail {
        width: 60px;
        height: 60px;
    }
    
    .tabs-nav {
        gap: 0;
    }
    
    .tab-btn {
        padding: 12px 16px;
        font-size: 14px;
    }
    
    .rating-overview {
        flex-direction: column;
        gap: 24px;
    }
    
    .rating-big {
        flex-direction: row;
        gap: 16px;
    }
    
    .rating-number {
        font-size: 48px;
    }
    
    .bundle-products {
        flex-wrap: wrap;
    }
    
    .bundle-product {
        flex: 1 1 calc(50% - 24px);
    }
    
    .bundle-plus {
        display: none;
    }
    
    .sticky-cart-bar {
        display: flex;
    }
    
    .product-purchase-section {
        position: relative;
    }
}

@media (max-width: 480px) {
    .product-social-actions {
        flex-direction: column;
    }
    
    .social-btn {
        width: 100%;
        justify-content: center;
    }
    
    .product-purchase-section {
        flex-wrap: wrap;
    }
    
    .quantity-selector {
        width: 100%;
        justify-content: center;
    }
    
    .btn-add-to-cart.primary-cta {
        width: 100%;
    }
    
    .btn-favorite {
        position: absolute;
        top: -60px;
        right: 0;
    }
    
    .quick-actions {
        margin-top: 16px;
    }
}

/* ============================================
   🚀 MEGA UPDATE v2.0 - ULTRA ENGINEERING
   Advanced Animations, 3D Effects & Interactions
   ============================================ */

/* ===== SCROLL-TRIGGERED ANIMATIONS ===== */
.scroll-reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.scroll-reveal.revealed {
    opacity: 1;
    transform: translateY(0);
}

.scroll-reveal-left {
    opacity: 0;
    transform: translateX(-60px);
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.scroll-reveal-left.revealed {
    opacity: 1;
    transform: translateX(0);
}

.scroll-reveal-right {
    opacity: 0;
    transform: translateX(60px);
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.scroll-reveal-right.revealed {
    opacity: 1;
    transform: translateX(0);
}

.scroll-reveal-scale {
    opacity: 0;
    transform: scale(0.9);
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.scroll-reveal-scale.revealed {
    opacity: 1;
    transform: scale(1);
}

/* Staggered Animation Delays */
.stagger-1 { transition-delay: 0.1s; }
.stagger-2 { transition-delay: 0.2s; }
.stagger-3 { transition-delay: 0.3s; }
.stagger-4 { transition-delay: 0.4s; }
.stagger-5 { transition-delay: 0.5s; }

/* ===== SCROLL PROGRESS INDICATOR ===== */
.scroll-progress {
    position: fixed;
    top: 0;
    left: 0;
    width: 0%;
    height: 3px;
    background: linear-gradient(90deg, var(--primary-blue), var(--apple-purple), var(--apple-pink));
    z-index: 10000;
    transition: width 0.1s linear;
    box-shadow: 0 0 10px rgba(0, 113, 227, 0.5);
}

/* ===== FLOATING PARTICLES BACKGROUND ===== */
.particles-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
}

.particle {
    position: absolute;
    width: 6px;
    height: 6px;
    background: radial-gradient(circle, var(--primary-blue) 0%, transparent 70%);
    border-radius: 50%;
    opacity: 0.3;
    animation: particleFloat 20s infinite linear;
}

.particle:nth-child(1) { left: 10%; animation-delay: 0s; animation-duration: 25s; }
.particle:nth-child(2) { left: 20%; animation-delay: 2s; animation-duration: 20s; }
.particle:nth-child(3) { left: 30%; animation-delay: 4s; animation-duration: 28s; }
.particle:nth-child(4) { left: 40%; animation-delay: 1s; animation-duration: 22s; }
.particle:nth-child(5) { left: 50%; animation-delay: 3s; animation-duration: 18s; }
.particle:nth-child(6) { left: 60%; animation-delay: 5s; animation-duration: 24s; }
.particle:nth-child(7) { left: 70%; animation-delay: 2s; animation-duration: 26s; }
.particle:nth-child(8) { left: 80%; animation-delay: 4s; animation-duration: 21s; }
.particle:nth-child(9) { left: 90%; animation-delay: 1s; animation-duration: 23s; }

@keyframes particleFloat {
    0% {
        transform: translateY(100vh) rotate(0deg);
        opacity: 0;
    }
    10% {
        opacity: 0.4;
    }
    90% {
        opacity: 0.4;
    }
    100% {
        transform: translateY(-100vh) rotate(720deg);
        opacity: 0;
    }
}

/* ===== GRADIENT MESH BACKGROUND ===== */
.gradient-mesh-bg {
    position: relative;
    overflow: hidden;
}

.gradient-mesh-bg::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: 
        radial-gradient(ellipse at 20% 30%, rgba(0, 122, 255, 0.08) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 20%, rgba(88, 86, 214, 0.06) 0%, transparent 50%),
        radial-gradient(ellipse at 40% 80%, rgba(175, 82, 222, 0.05) 0%, transparent 50%),
        radial-gradient(ellipse at 90% 70%, rgba(90, 200, 250, 0.04) 0%, transparent 50%);
    animation: meshFloat 30s ease-in-out infinite;
    pointer-events: none;
    z-index: 0;
}

@keyframes meshFloat {
    0%, 100% { transform: translate(0, 0) rotate(0deg); }
    25% { transform: translate(2%, 2%) rotate(1deg); }
    50% { transform: translate(-1%, 3%) rotate(-1deg); }
    75% { transform: translate(1%, -2%) rotate(0.5deg); }
}

/* ===== MAGNETIC BUTTON EFFECT ===== */
.magnetic-btn {
    position: relative;
    display: inline-flex;
    transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1);
}

.magnetic-btn-inner {
    transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1);
}

/* ===== TILT CARD EFFECT ===== */
.tilt-card {
    transform-style: preserve-3d;
    transition: transform 0.3s ease;
}

.tilt-card-inner {
    transform: translateZ(20px);
}

/* ===== MORPHING BLOB SHAPES ===== */
.morphing-blob {
    position: absolute;
    border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
    background: linear-gradient(135deg, rgba(0, 122, 255, 0.1), rgba(88, 86, 214, 0.1));
    filter: blur(40px);
    animation: blobMorph 15s ease-in-out infinite;
    pointer-events: none;
}

@keyframes blobMorph {
    0%, 100% {
        border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
        transform: rotate(0deg) scale(1);
    }
    25% {
        border-radius: 30% 60% 70% 40% / 50% 60% 30% 60%;
        transform: rotate(90deg) scale(1.1);
    }
    50% {
        border-radius: 50% 60% 30% 60% / 30% 60% 70% 40%;
        transform: rotate(180deg) scale(1);
    }
    75% {
        border-radius: 60% 30% 60% 50% / 70% 40% 50% 60%;
        transform: rotate(270deg) scale(1.05);
    }
}

/* ===== LIQUID GLASS CARD ===== */
.liquid-glass {
    background: linear-gradient(
        135deg,
        rgba(255, 255, 255, 0.4) 0%,
        rgba(255, 255, 255, 0.1) 100%
    );
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: 
        0 8px 32px rgba(0, 0, 0, 0.08),
        inset 0 0 0 1px rgba(255, 255, 255, 0.2),
        inset 0 2px 4px rgba(255, 255, 255, 0.4);
    transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

.liquid-glass:hover {
    background: linear-gradient(
        135deg,
        rgba(255, 255, 255, 0.5) 0%,
        rgba(255, 255, 255, 0.2) 100%
    );
    box-shadow: 
        0 16px 48px rgba(0, 0, 0, 0.12),
        inset 0 0 0 1px rgba(255, 255, 255, 0.4),
        inset 0 2px 4px rgba(255, 255, 255, 0.6);
    transform: translateY(-4px);
}

/* ===== AURORA GRADIENT ANIMATION ===== */
.aurora-bg {
    position: relative;
    overflow: hidden;
}

.aurora-bg::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(
        45deg,
        rgba(0, 122, 255, 0.1) 0%,
        rgba(88, 86, 214, 0.1) 25%,
        rgba(175, 82, 222, 0.1) 50%,
        rgba(255, 55, 95, 0.1) 75%,
        rgba(0, 122, 255, 0.1) 100%
    );
    background-size: 400% 400%;
    animation: auroraShift 20s ease infinite;
    pointer-events: none;
}

@keyframes auroraShift {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* ===== GLOW PULSE EFFECT ===== */
.glow-pulse {
    position: relative;
}

.glow-pulse::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
    background: radial-gradient(circle, var(--primary-blue) 0%, transparent 70%);
    opacity: 0;
    animation: glowPulse 3s ease-in-out infinite;
    pointer-events: none;
    z-index: -1;
}

@keyframes glowPulse {
    0%, 100% { opacity: 0; transform: translate(-50%, -50%) scale(0.8); }
    50% { opacity: 0.3; transform: translate(-50%, -50%) scale(1.2); }
}

/* ===== BACK TO TOP BUTTON ===== */
.back-to-top {
    position: fixed;
    bottom: 32px;
    right: 32px;
    width: 52px;
    height: 52px;
    background: linear-gradient(135deg, var(--primary-blue) 0%, var(--apple-indigo) 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    box-shadow: 
        0 4px 20px rgba(0, 113, 227, 0.4),
        0 8px 32px rgba(88, 86, 214, 0.2);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px) scale(0.9);
    transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
    z-index: 9999;
    border: none;
}

.back-to-top.visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}

.back-to-top:hover {
    transform: translateY(-4px) scale(1.1);
    box-shadow: 
        0 8px 32px rgba(0, 113, 227, 0.5),
        0 16px 48px rgba(88, 86, 214, 0.3);
}

.back-to-top svg {
    width: 24px;
    height: 24px;
    transition: transform 0.3s ease;
}

.back-to-top:hover svg {
    transform: translateY(-2px);
}

/* ===== RIPPLE CLICK EFFECT ===== */
.ripple-effect {
    position: relative;
    overflow: hidden;
}

.ripple-effect::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    background: rgba(255, 255, 255, 0.4);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: width 0.6s ease, height 0.6s ease, opacity 0.6s ease;
    opacity: 0;
    pointer-events: none;
}

.ripple-effect:active::after {
    width: 300%;
    height: 300%;
    opacity: 1;
    transition: 0s;
}

/* ===== TEXT GRADIENT ANIMATION ===== */
.gradient-text {
    background: linear-gradient(
        135deg,
        var(--primary-blue) 0%,
        var(--apple-purple) 50%,
        var(--apple-pink) 100%
    );
    background-size: 200% 200%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: gradientText 4s ease infinite;
}

@keyframes gradientText {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* ===== SKELETON LOADING ===== */
.skeleton {
    background: linear-gradient(
        90deg,
        rgba(0, 0, 0, 0.04) 25%,
        rgba(0, 0, 0, 0.08) 50%,
        rgba(0, 0, 0, 0.04) 75%
    );
    background-size: 200% 100%;
    animation: skeletonShimmer 1.5s infinite;
    border-radius: var(--radius-md);
}

@keyframes skeletonShimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* ===== NUMBER COUNTER ANIMATION ===== */
.counter-animate {
    display: inline-block;
    font-variant-numeric: tabular-nums;
}

/* ===== TYPEWRITER EFFECT ===== */
.typewriter {
    overflow: hidden;
    border-right: 2px solid var(--primary-blue);
    white-space: nowrap;
    animation: 
        typing 3.5s steps(40, end),
        blink-caret 0.75s step-end infinite;
}

@keyframes typing {
    from { width: 0; }
    to { width: 100%; }
}

@keyframes blink-caret {
    from, to { border-color: transparent; }
    50% { border-color: var(--primary-blue); }
}

/* ===== HOVER LIFT EFFECT ===== */
.hover-lift {
    transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

.hover-lift:hover {
    transform: translateY(-8px);
    box-shadow: 
        0 20px 40px rgba(0, 0, 0, 0.1),
        0 30px 60px rgba(0, 0, 0, 0.05);
}

/* ===== SPOTLIGHT EFFECT ===== */
.spotlight-effect {
    position: relative;
    overflow: hidden;
}

.spotlight-effect::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(
        circle at var(--mouse-x, 50%) var(--mouse-y, 50%),
        rgba(255, 255, 255, 0.15) 0%,
        transparent 50%
    );
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.spotlight-effect:hover::before {
    opacity: 1;
}

/* ===== CARD FLIP ANIMATION ===== */
.flip-card {
    perspective: 1000px;
}

.flip-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1);
    transform-style: preserve-3d;
}

.flip-card:hover .flip-card-inner {
    transform: rotateY(180deg);
}

.flip-card-front,
.flip-card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.flip-card-back {
    transform: rotateY(180deg);
}

/* ===== ELASTIC BUTTON ===== */
.btn-elastic {
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.btn-elastic:hover {
    transform: scale(1.05);
}

.btn-elastic:active {
    transform: scale(0.95);
}

/* ===== ICON SPIN ON HOVER ===== */
.icon-spin-hover:hover svg,
.icon-spin-hover:hover .icon {
    animation: iconSpin 0.6s ease;
}

@keyframes iconSpin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* ===== BOUNCE IN ANIMATION ===== */
.bounce-in {
    animation: bounceIn 0.8s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

@keyframes bounceIn {
    0% {
        opacity: 0;
        transform: scale(0.3);
    }
    50% {
        transform: scale(1.05);
    }
    70% {
        transform: scale(0.9);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

/* ===== SHAKE ANIMATION ===== */
.shake-on-error {
    animation: shake 0.6s ease;
}

@keyframes shake {
    0%, 100% { transform: translateX(0); }
    10%, 30%, 50%, 70%, 90% { transform: translateX(-4px); }
    20%, 40%, 60%, 80% { transform: translateX(4px); }
}

/* ===== CONFETTI CELEBRATION ===== */
.confetti-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10001;
    overflow: hidden;
}

.confetti {
    position: absolute;
    width: 10px;
    height: 10px;
    background: var(--primary-blue);
    animation: confettiFall 3s ease-in-out forwards;
}

.confetti:nth-child(odd) { background: var(--apple-purple); }
.confetti:nth-child(3n) { background: var(--apple-pink); }
.confetti:nth-child(4n) { background: var(--apple-teal); }
.confetti:nth-child(5n) { background: var(--orange-primary); }

@keyframes confettiFall {
    0% {
        opacity: 1;
        transform: translateY(-100%) rotate(0deg);
    }
    100% {
        opacity: 0;
        transform: translateY(100vh) rotate(720deg);
    }
}

/* ===== NEON GLOW TEXT ===== */
.neon-glow {
    text-shadow: 
        0 0 5px var(--primary-blue),
        0 0 10px var(--primary-blue),
        0 0 20px var(--primary-blue),
        0 0 40px var(--apple-purple);
    animation: neonPulse 2s ease-in-out infinite alternate;
}

@keyframes neonPulse {
    from {
        text-shadow: 
            0 0 5px var(--primary-blue),
            0 0 10px var(--primary-blue),
            0 0 20px var(--primary-blue),
            0 0 40px var(--apple-purple);
    }
    to {
        text-shadow: 
            0 0 10px var(--primary-blue),
            0 0 20px var(--primary-blue),
            0 0 40px var(--primary-blue),
            0 0 80px var(--apple-purple);
    }
}

/* ===== RAINBOW BORDER ===== */
.rainbow-border {
    position: relative;
    background: var(--bg-primary);
    border-radius: var(--radius-xl);
}

.rainbow-border::before {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: linear-gradient(
        45deg,
        #ff0000, #ff7f00, #ffff00, #00ff00, #0000ff, #4b0082, #8b00ff, #ff0000
    );
    background-size: 400% 400%;
    border-radius: calc(var(--radius-xl) + 2px);
    animation: rainbowRotate 3s linear infinite;
    z-index: -1;
}

@keyframes rainbowRotate {
    0% { background-position: 0% 50%; }
    100% { background-position: 400% 50%; }
}

/* ===== PARALLAX SECTIONS ===== */
.parallax-section {
    position: relative;
    overflow: hidden;
}

.parallax-bg {
    position: absolute;
    top: -20%;
    left: 0;
    width: 100%;
    height: 140%;
    background-size: cover;
    background-position: center;
    will-change: transform;
}

/* ===== SMOOTH SECTION TRANSITIONS ===== */
.page-content > section {
    position: relative;
    z-index: 1;
}

/* ===== ENHANCED BANNER STYLES ===== */
.highlight-banner-wrapper {
    position: relative;
    overflow: hidden;
}

.highlight-banner-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(ellipse at 30% 20%, rgba(0, 122, 255, 0.08) 0%, transparent 50%),
        radial-gradient(ellipse at 70% 80%, rgba(88, 86, 214, 0.06) 0%, transparent 50%);
    pointer-events: none;
    z-index: 1;
}

/* ===== PREMIUM CARD STYLE ===== */
.premium-card {
    background: linear-gradient(
        145deg,
        rgba(255, 255, 255, 0.95) 0%,
        rgba(250, 250, 252, 0.9) 50%,
        rgba(245, 245, 247, 0.85) 100%
    );
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: var(--radius-xl);
    box-shadow: 
        0 4px 24px rgba(0, 0, 0, 0.04),
        0 8px 32px rgba(0, 0, 0, 0.03),
        inset 0 1px 0 rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
    transform-style: preserve-3d;
    perspective: 1000px;
}

.premium-card:hover {
    transform: translateY(-8px) rotateX(-2deg);
    box-shadow: 
        0 20px 50px rgba(0, 0, 0, 0.1),
        0 30px 60px rgba(0, 0, 0, 0.05),
        inset 0 1px 0 rgba(255, 255, 255, 1);
}

/* ===== ANIMATED UNDERLINE ===== */
.animated-underline {
    position: relative;
    display: inline-block;
}

.animated-underline::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--primary-blue), var(--apple-purple));
    transition: width 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

.animated-underline:hover::after {
    width: 100%;
}

/* ===== LOADING DOTS ===== */
.loading-dots {
    display: flex;
    gap: 4px;
}

.loading-dots span {
    width: 8px;
    height: 8px;
    background: var(--primary-blue);
    border-radius: 50%;
    animation: loadingDot 1.4s ease-in-out infinite;
}

.loading-dots span:nth-child(1) { animation-delay: 0s; }
.loading-dots span:nth-child(2) { animation-delay: 0.2s; }
.loading-dots span:nth-child(3) { animation-delay: 0.4s; }

@keyframes loadingDot {
    0%, 80%, 100% {
        transform: scale(0.6);
        opacity: 0.5;
    }
    40% {
        transform: scale(1);
        opacity: 1;
    }
}

/* ===== PRICE TAG POP ===== */
.price-pop {
    animation: pricePop 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

@keyframes pricePop {
    0% { transform: scale(1); }
    50% { transform: scale(1.15); }
    100% { transform: scale(1); }
}

/* ===== SUCCESS CHECKMARK ===== */
.success-checkmark {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--success-green);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: checkmarkPop 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.success-checkmark svg {
    stroke: white;
    stroke-width: 3;
    animation: checkmarkDraw 0.4s ease forwards 0.2s;
    stroke-dasharray: 24;
    stroke-dashoffset: 24;
}

@keyframes checkmarkPop {
    0% { transform: scale(0); }
    100% { transform: scale(1); }
}

@keyframes checkmarkDraw {
    to { stroke-dashoffset: 0; }
}

/* ===== NOTIFICATION BADGE BOUNCE ===== */
.notification-badge {
    animation: badgeBounce 2s ease-in-out infinite;
}

@keyframes badgeBounce {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.1); }
}

/* ===== CURSOR TRAIL EFFECT (needs JS) ===== */
.cursor-trail {
    position: fixed;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: radial-gradient(circle, var(--primary-blue), transparent);
    pointer-events: none;
    opacity: 0.5;
    transform: translate(-50%, -50%);
    transition: transform 0.1s ease;
    z-index: 10000;
}

/* ===== ENHANCED PRODUCT CARD INTERACTIONS ===== */
.product-list-card-item {
    transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
    transform-style: preserve-3d;
}

.product-list-card-item:hover {
    transform: translateY(-12px) scale(1.02);
    z-index: 10;
}

.product-list-card-item:hover .product-image {
    transform: scale(1.05);
}

.product-list-card-item .product-image {
    transition: transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}

/* ===== MEDIA QUERIES FOR ANIMATIONS ===== */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    
    .scroll-reveal,
    .scroll-reveal-left,
    .scroll-reveal-right,
    .scroll-reveal-scale {
        opacity: 1;
        transform: none;
    }
}

@media (max-width: 768px) {
    .back-to-top {
        bottom: 20px;
        right: 20px;
        width: 44px;
        height: 44px;
    }
    
    .particles-container {
        display: none;
    }
    
    .morphing-blob {
        display: none;
    }
}
/* ============================================
   🌟 MEGA UPDATE v2.1 - ULTRA PREMIUM ADDITIONS
   ============================================ */

/* ===== ANIMATED GRADIENT BORDER ===== */
.gradient-border-animated {
    position: relative;
    background: var(--bg-primary);
    border-radius: 20px;
    padding: 24px;
}

.gradient-border-animated::before {
    content: '';
    position: absolute;
    inset: -2px;
    border-radius: 22px;
    padding: 2px;
    background: linear-gradient(
        90deg,
        var(--primary-blue),
        var(--soft-lavender),
        var(--soft-mint),
        var(--soft-peach),
        var(--primary-blue)
    );
    background-size: 400% 400%;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    animation: gradientRotate 6s linear infinite;
}

@keyframes gradientRotate {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* ===== FLOATING CARDS ===== */
.floating-card {
    animation: floatUpDown 6s ease-in-out infinite;
}

.floating-card:nth-child(2) { animation-delay: -2s; }
.floating-card:nth-child(3) { animation-delay: -4s; }

@keyframes floatUpDown {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    25% { transform: translateY(-10px) rotate(1deg); }
    50% { transform: translateY(-5px) rotate(-0.5deg); }
    75% { transform: translateY(-15px) rotate(0.5deg); }
}

/* ===== PULSE GLOW BUTTON ===== */
.btn-pulse-glow {
    position: relative;
}

.btn-pulse-glow::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: inherit;
    filter: blur(15px);
    opacity: 0;
    z-index: -1;
    transition: opacity 0.3s ease;
}

.btn-pulse-glow:hover::before {
    opacity: 0.6;
    animation: pulseGlow 2s ease-in-out infinite;
}

@keyframes pulseGlow {
    0%, 100% { transform: scale(1); opacity: 0.4; }
    50% { transform: scale(1.1); opacity: 0.6; }
}

/* ===== TEXT GRADIENT ANIMATION ===== */
.text-gradient-animate {
    background: linear-gradient(
        90deg,
        var(--text-primary) 0%,
        var(--primary-blue) 25%,
        var(--apple-purple) 50%,
        var(--primary-blue) 75%,
        var(--text-primary) 100%
    );
    background-size: 200% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: textGradientFlow 4s linear infinite;
}

@keyframes textGradientFlow {
    to { background-position: 200% center; }
}

/* ===== MORPHING BUTTON ===== */
.btn-morph {
    transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    border-radius: 12px;
}

.btn-morph:hover {
    border-radius: 30px;
    padding-left: 32px;
    padding-right: 32px;
}

/* ===== STAGGERED GRID ===== */
.staggered-grid > * {
    animation: staggerFadeIn 0.6s ease forwards;
    opacity: 0;
    transform: translateY(30px);
}

.staggered-grid > *:nth-child(1) { animation-delay: 0.1s; }
.staggered-grid > *:nth-child(2) { animation-delay: 0.2s; }
.staggered-grid > *:nth-child(3) { animation-delay: 0.3s; }
.staggered-grid > *:nth-child(4) { animation-delay: 0.4s; }
.staggered-grid > *:nth-child(5) { animation-delay: 0.5s; }
.staggered-grid > *:nth-child(6) { animation-delay: 0.6s; }
.staggered-grid > *:nth-child(7) { animation-delay: 0.7s; }
.staggered-grid > *:nth-child(8) { animation-delay: 0.8s; }

@keyframes staggerFadeIn {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ===== GLASS MORPHISM PREMIUM ===== */
.glass-premium {
    background: linear-gradient(
        135deg,
        rgba(255, 255, 255, 0.9) 0%,
        rgba(255, 255, 255, 0.6) 100%
    );
    backdrop-filter: blur(40px) saturate(200%);
    -webkit-backdrop-filter: blur(40px) saturate(200%);
    border: 1px solid rgba(255, 255, 255, 0.5);
    box-shadow: 
        0 8px 32px rgba(0, 0, 0, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.8),
        inset 0 -1px 0 rgba(0, 0, 0, 0.03);
    border-radius: 24px;
}

[data-theme="dark"] .glass-premium {
    background: linear-gradient(
        135deg,
        rgba(50, 50, 50, 0.9) 0%,
        rgba(30, 30, 30, 0.6) 100%
    );
    border: 1px solid rgba(255, 255, 255, 0.1);
}

/* ===== SPOTLIGHT CARD ===== */
.spotlight-effect {
    position: relative;
    overflow: hidden;
}

.spotlight-effect::before {
    content: '';
    position: absolute;
    top: var(--mouse-y, 50%);
    left: var(--mouse-x, 50%);
    width: 300px;
    height: 300px;
    background: radial-gradient(
        circle,
        rgba(0, 122, 255, 0.15) 0%,
        transparent 70%
    );
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
    z-index: 1;
}

.spotlight-effect:hover::before {
    opacity: 1;
}

/* ===== SHIMMER TEXT ===== */
.shimmer-text {
    background: linear-gradient(
        120deg,
        var(--text-primary) 0%,
        var(--text-primary) 40%,
        rgba(255, 255, 255, 0.8) 50%,
        var(--text-primary) 60%,
        var(--text-primary) 100%
    );
    background-size: 200% 100%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: shimmerText 3s linear infinite;
}

@keyframes shimmerText {
    from { background-position: 200% center; }
    to { background-position: -200% center; }
}

/* ===== BLUR IN ANIMATION ===== */
.blur-in {
    animation: blurIn 0.6s ease forwards;
}

@keyframes blurIn {
    from {
        opacity: 0;
        filter: blur(20px);
        transform: scale(0.9);
    }
    to {
        opacity: 1;
        filter: blur(0);
        transform: scale(1);
    }
}

/* ===== CARD FLIP ANIMATION ===== */
.flip-card {
    perspective: 1000px;
}

.flip-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    transition: transform 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transform-style: preserve-3d;
}

.flip-card:hover .flip-card-inner {
    transform: rotateY(180deg);
}

.flip-card-front,
.flip-card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    border-radius: 20px;
}

.flip-card-back {
    transform: rotateY(180deg);
}

/* ===== WAVE BORDER BOTTOM ===== */
.wave-border {
    position: relative;
}

.wave-border::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 20px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120'%3E%3Cpath d='M321.39,56.44c58-10.79,114.16-30.13,172-41.86,82.39-16.72,168.19-17.73,250.45-.39C823.78,31,906.67,72,985.66,92.83c70.05,18.48,146.53,26.09,214.34,3V120H0V95.8C59.71,118.11,140.83,94.17,208.77,82.1,271.94,70.92,281.49,64.71,321.39,56.44Z' fill='%23f5f5f7'/%3E%3C/svg%3E") no-repeat bottom;
    background-size: cover;
}

/* ===== ANIMATED ICON ===== */
.icon-bounce {
    display: inline-flex;
    animation: iconBounce 2s ease-in-out infinite;
}

@keyframes iconBounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-5px); }
}

/* ===== SLIDE IN FROM BOTTOM ===== */
.slide-up {
    animation: slideUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

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

/* ===== ZOOM IN ANIMATION ===== */
.zoom-in {
    animation: zoomIn 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes zoomIn {
    from {
        opacity: 0;
        transform: scale(0.8);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* ===== GLITCH TEXT EFFECT ===== */
.glitch-text {
    position: relative;
}

.glitch-text:hover {
    animation: glitchText 0.3s ease;
}

@keyframes glitchText {
    0%, 100% { transform: translate(0); filter: hue-rotate(0deg); }
    25% { transform: translate(-2px, 2px); filter: hue-rotate(90deg); }
    50% { transform: translate(2px, -2px); filter: hue-rotate(180deg); }
    75% { transform: translate(-2px, -2px); filter: hue-rotate(270deg); }
}

/* ===== PROGRESS RING ===== */
.progress-ring {
    transform: rotate(-90deg);
}

.progress-ring circle {
    transition: stroke-dashoffset 0.5s ease;
    stroke-linecap: round;
}

/* ===== COUNT UP NUMBER ===== */
.count-up {
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum";
}

/* ===== MEGA HERO SECTION ===== */
.mega-hero {
    position: relative;
    min-height: 80vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: linear-gradient(180deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);
}

.mega-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: 
        radial-gradient(ellipse at 20% 30%, rgba(0, 122, 255, 0.08) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 70%, rgba(175, 82, 222, 0.08) 0%, transparent 50%),
        radial-gradient(ellipse at 50% 50%, rgba(90, 200, 250, 0.05) 0%, transparent 60%);
    pointer-events: none;
}

.mega-hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
    max-width: 900px;
    padding: 40px;
}

.mega-hero-title {
    font-size: clamp(2.5rem, 8vw, 6rem);
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 1.1;
    margin-bottom: 24px;
    background: linear-gradient(180deg, var(--text-primary) 0%, var(--text-secondary) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.mega-hero-subtitle {
    font-size: clamp(1.125rem, 2.5vw, 1.5rem);
    color: var(--text-secondary);
    margin-bottom: 40px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

/* ===== FEATURE GRID ===== */
.feature-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 32px;
    padding: 40px 0;
}

.feature-card {
    background: var(--bg-primary);
    border-radius: 24px;
    padding: 40px 32px;
    text-align: center;
    transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
    border: 1px solid var(--border-primary);
}

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

.feature-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--soft-mint), var(--soft-sky));
    border-radius: 20px;
    font-size: 28px;
}

.feature-title {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 12px;
    color: var(--text-primary);
}

.feature-description {
    font-size: 0.9375rem;
    color: var(--text-secondary);
    line-height: 1.6;
}

/* ===== STAT COUNTER SECTION ===== */
.stats-section {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 40px;
    padding: 60px 40px;
    background: var(--bg-secondary);
    border-radius: 32px;
    margin: 60px 0;
}

.stat-item {
    text-align: center;
}

.stat-number {
    font-size: 3rem;
    font-weight: 800;
    color: var(--primary-blue);
    margin-bottom: 8px;
    font-variant-numeric: tabular-nums;
}

.stat-label {
    font-size: 0.9375rem;
    color: var(--text-secondary);
    font-weight: 500;
}

/* ===== TESTIMONIAL CARD ===== */
.testimonial-card {
    background: var(--bg-primary);
    border-radius: 24px;
    padding: 40px;
    position: relative;
    border: 1px solid var(--border-primary);
}

.testimonial-card::before {
    content: '"';
    position: absolute;
    top: 20px;
    left: 30px;
    font-size: 80px;
    font-family: Georgia, serif;
    color: var(--primary-blue);
    opacity: 0.1;
    line-height: 1;
}

.testimonial-text {
    font-size: 1.125rem;
    line-height: 1.7;
    color: var(--text-primary);
    margin-bottom: 24px;
    position: relative;
    z-index: 1;
}

.testimonial-author {
    display: flex;
    align-items: center;
    gap: 16px;
}

.testimonial-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--soft-lavender), var(--soft-peach));
}

.testimonial-info h4 {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 2px;
}

.testimonial-info span {
    font-size: 0.875rem;
    color: var(--text-secondary);
}

/* ===== INFINITE MARQUEE ===== */
.marquee-container {
    overflow: hidden;
    padding: 20px 0;
    background: var(--bg-secondary);
}

.marquee {
    display: flex;
    animation: marqueeScroll 30s linear infinite;
}

.marquee-item {
    flex-shrink: 0;
    padding: 0 40px;
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--text-tertiary);
    white-space: nowrap;
}

@keyframes marqueeScroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

/* ===== SCROLL INDICATOR ===== */
.scroll-indicator {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    color: var(--text-secondary);
    font-size: 0.875rem;
}

.scroll-indicator-mouse {
    width: 24px;
    height: 40px;
    border: 2px solid var(--text-tertiary);
    border-radius: 12px;
    position: relative;
}

.scroll-indicator-wheel {
    width: 4px;
    height: 8px;
    background: var(--text-tertiary);
    border-radius: 2px;
    position: absolute;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    animation: scrollWheel 2s ease-in-out infinite;
}

@keyframes scrollWheel {
    0%, 100% { opacity: 1; transform: translateX(-50%) translateY(0); }
    50% { opacity: 0.5; transform: translateX(-50%) translateY(10px); }
}

/* ===== NOTIFICATION TOAST ===== */
.toast {
    position: fixed;
    bottom: 24px;
    right: 24px;
    background: var(--bg-primary);
    border-radius: 16px;
    padding: 16px 24px;
    box-shadow: var(--shadow-xl);
    border: 1px solid var(--border-primary);
    display: flex;
    align-items: center;
    gap: 12px;
    z-index: 9999;
    animation: toastSlideIn 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.toast.hide {
    animation: toastSlideOut 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

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

@keyframes toastSlideOut {
    to {
        opacity: 0;
        transform: translateY(20px) scale(0.95);
    }
}

/* ===== MODAL BACKDROP ===== */
.modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 9998;
}

.modal-backdrop.active {
    opacity: 1;
    visibility: visible;
}

.modal-content {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.9);
    background: var(--bg-primary);
    border-radius: 24px;
    padding: 40px;
    max-width: 500px;
    width: 90%;
    box-shadow: var(--shadow-2xl);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 9999;
}

.modal-backdrop.active + .modal-content,
.modal-content.active {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -50%) scale(1);
}

/* ===== ANIMATED LIST ===== */
.animated-list li {
    opacity: 0;
    transform: translateX(-20px);
    animation: listItemSlide 0.4s ease forwards;
}

.animated-list li:nth-child(1) { animation-delay: 0.1s; }
.animated-list li:nth-child(2) { animation-delay: 0.2s; }
.animated-list li:nth-child(3) { animation-delay: 0.3s; }
.animated-list li:nth-child(4) { animation-delay: 0.4s; }
.animated-list li:nth-child(5) { animation-delay: 0.5s; }

@keyframes listItemSlide {
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* ===== HOVER SCALE SUBTLE ===== */
.hover-scale-subtle {
    transition: transform 0.3s ease;
}

.hover-scale-subtle:hover {
    transform: scale(1.02);
}

/* ========================================
   MEGA UPDATE v2.2 - Visual Density & Hover Effects
   Crestline-Inspired Improvements
   ======================================== */

/* ===== REDUCED SECTION SPACING ===== */
.page-content > section {
    margin-top: 16px !important;
}

.page-content > section:first-child {
    margin-top: 8px !important;
}

/* ===== ENHANCED HOVER EFFECTS ===== */

/* Banner Hover - Scale + Shadow + Overlay */
.highlight-main-banner a,
.highlight-sub-banner-list a,
.four-banner-component .banner-item,
.two-banner-wrapper a,
.tab-content-main-banner,
.tab-content-dual-banner-list a {
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.highlight-main-banner a:hover,
.highlight-sub-banner-list a:hover,
.four-banner-component .banner-item:hover,
.two-banner-wrapper a:hover,
.tab-content-main-banner:hover,
.tab-content-dual-banner-list a:hover {
    transform: translateY(-4px) scale(1.01);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15), 0 10px 20px rgba(0, 0, 0, 0.1);
}

/* Image zoom on hover */
.highlight-main-banner a img,
.highlight-sub-banner-list a img,
.four-banner-component .banner-item img,
.two-banner-wrapper a img {
    transition: transform 0.6s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.highlight-main-banner a:hover img,
.highlight-sub-banner-list a:hover img,
.four-banner-component .banner-item:hover img,
.two-banner-wrapper a:hover img {
    transform: scale(1.08);
}

/* Product Card Enhanced Hover */
.product-list-card-item {
    transition: all 0.35s cubic-bezier(0.25, 0.1, 0.25, 1);
    position: relative;
}

.product-list-card-item:hover {
    transform: translateY(-8px);
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.12), 0 12px 24px rgba(0, 0, 0, 0.08);
}

.product-list-card-item::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--primary-blue), var(--accent-cyan));
    border-radius: 3px;
    transition: width 0.3s ease;
}

.product-list-card-item:hover::after {
    width: 60%;
}

/* Horizontal Product Card Hover */
.horizontal-product-card {
    transition: all 0.3s ease;
    border-left: 3px solid transparent;
}

.horizontal-product-card:hover {
    background: linear-gradient(135deg, rgba(0, 113, 227, 0.04), rgba(100, 210, 255, 0.04));
    border-left-color: var(--primary-blue);
    transform: translateX(4px);
}

/* Story Item Enhanced Hover */
.story-item {
    transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.story-item:hover {
    transform: translateY(-6px) scale(1.05);
}

.story-item:hover .icon-box {
    box-shadow: 0 8px 24px rgba(0, 113, 227, 0.25);
    border-color: var(--primary-blue);
}

/* Tab Hover Enhancement */
.tab-list .tab {
    transition: all 0.25s ease;
    position: relative;
}

.tab-list .tab:hover {
    transform: translateY(-2px);
    background: linear-gradient(135deg, var(--bg-light-blue), rgba(0, 113, 227, 0.08));
}

.tab-list .tab.active {
    box-shadow: 0 4px 16px rgba(0, 113, 227, 0.2);
}

/* Widget Hover */
.widget-card {
    transition: all 0.35s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.widget-card:hover {
    transform: translateY(-6px) scale(1.02);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

/* ===== BUTTON HOVER ENHANCEMENTS ===== */
.add-to-cart-btn,
.btn-primary,
.view-all-btn {
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
}

.add-to-cart-btn::before,
.btn-primary::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s ease;
}

.add-to-cart-btn:hover::before,
.btn-primary:hover::before {
    left: 100%;
}

.add-to-cart-btn:hover,
.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 113, 227, 0.35);
}

/* ===== GRADIENT BORDERS ===== */
.gradient-border-animated {
    position: relative;
    background: var(--bg-primary);
    border-radius: var(--radius-xl);
}

.gradient-border-animated::before {
    content: '';
    position: absolute;
    inset: -2px;
    border-radius: calc(var(--radius-xl) + 2px);
    padding: 2px;
    background: linear-gradient(135deg, var(--primary-blue), var(--accent-cyan), var(--apple-purple), var(--primary-blue));
    background-size: 300% 300%;
    animation: gradientMove 8s ease infinite;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.gradient-border-animated:hover::before {
    opacity: 1;
}

@keyframes gradientMove {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* ===== GLASS PREMIUM EFFECT ===== */
.glass-premium {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    border: 1px solid rgba(255, 255, 255, 0.3);
}

/* ===== SPOTLIGHT EFFECT ===== */
.spotlight-effect {
    position: relative;
    overflow: hidden;
}

.spotlight-effect::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.3) 0%, transparent 60%);
    opacity: 0;
    transform: scale(0);
    transition: all 0.5s ease;
    pointer-events: none;
}

.spotlight-effect:hover::after {
    opacity: 1;
    transform: scale(1);
}

/* ===== FLOATING ANIMATION ===== */
.floating-card {
    animation: floatingCard 6s ease-in-out infinite;
}

@keyframes floatingCard {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

/* ===== STAGGERED GRID ANIMATION ===== */
.staggered-grid > * {
    opacity: 0;
    transform: translateY(20px);
    animation: staggerIn 0.5s ease forwards;
}

.staggered-grid > *:nth-child(1) { animation-delay: 0.1s; }
.staggered-grid > *:nth-child(2) { animation-delay: 0.2s; }
.staggered-grid > *:nth-child(3) { animation-delay: 0.3s; }
.staggered-grid > *:nth-child(4) { animation-delay: 0.4s; }

@keyframes staggerIn {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ===== TEXT GRADIENT ANIMATE ===== */
.text-gradient-animate {
    background: linear-gradient(135deg, var(--text-primary), var(--primary-blue), var(--text-primary));
    background-size: 200% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: textGradient 3s ease infinite;
}

@keyframes textGradient {
    0% { background-position: 0% center; }
    100% { background-position: 200% center; }
}

/* ===== ANIMATED UNDERLINE ===== */
.animated-underline {
    position: relative;
}

.animated-underline::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--primary-blue), var(--accent-cyan));
    transition: width 0.3s ease;
}

.animated-underline:hover::after {
    width: 100%;
}

/* ===== SHIMMER TEXT ===== */
.shimmer-text {
    background: linear-gradient(90deg, var(--text-primary) 40%, var(--primary-blue) 50%, var(--text-primary) 60%);
    background-size: 200% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: shimmer 2s linear infinite;
}

@keyframes shimmer {
    to { background-position: 200% center; }
}

/* ===== HOVER LIFT ===== */
.hover-lift {
    transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.hover-lift:hover {
    transform: translateY(-8px);
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.1);
}

/* ===== PULSE ANIMATION FOR BADGES ===== */
.pulse-badge {
    animation: pulseBadge 2s ease-in-out infinite;
}

@keyframes pulseBadge {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

/* ===== SCROLL REVEAL CLASSES ===== */
.scroll-reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.6s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.scroll-reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

.scroll-reveal-left {
    opacity: 0;
    transform: translateX(-30px);
    transition: all 0.6s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.scroll-reveal-left.visible {
    opacity: 1;
    transform: translateX(0);
}

.scroll-reveal-right {
    opacity: 0;
    transform: translateX(30px);
    transition: all 0.6s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.scroll-reveal-right.visible {
    opacity: 1;
    transform: translateX(0);
}

.scroll-reveal-scale {
    opacity: 0;
    transform: scale(0.95);
    transition: all 0.6s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.scroll-reveal-scale.visible {
    opacity: 1;
    transform: scale(1);
}

/* ========================================
   MEGA UPDATE v2.3 - Full Width & No Overflow
   Crestline-Style Full Width Layout
   ======================================== */

/* Global Overflow Fix */
html, body {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100vw !important;
}

.page-wrapper {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

.main-content {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

/* All Sections Full Width */
section,
.section,
[class*="section-"] {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* Fix for elements that might cause overflow */
img, video, iframe, embed, object {
    max-width: 100%;
    height: auto;
}

/* Story Slider Overflow Fix */
.story-slider {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    max-width: 100%;
}

.story-slider::-webkit-scrollbar {
    display: none;
}

/* Tab List Overflow Fix */
.tab-list {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    max-width: 100%;
}

.tab-list::-webkit-scrollbar {
    display: none;
}

/* Product Grid Overflow Fix */
.product-list-wrapper,
.product-grid-items {
    max-width: 100%;
    overflow-x: hidden;
}

/* Banner Components Overflow Fix */
.highlight-banner-wrapper,
.four-banner-component,
.two-banner-wrapper,
.tab-banner-wrapper,
.banner-product-component,
.macos-widget-grid {
    max-width: 100%;
    box-sizing: border-box;
}

/* Navigation Overflow Fix */
.primary-navigation nav ul {
    max-width: 100%;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* Footer Overflow Fix */
.footer,
.footer-main-content,
.footer-bottom {
    max-width: 100%;
    box-sizing: border-box;
}

/* Responsive Full Width */
@media (max-width: 1199px) {
    .project-size,
    .container-fluid {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

@media (max-width: 767px) {
    .project-size,
    .container-fluid {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    
    .footer-main-content {
        grid-template-columns: repeat(2, 1fr);
        padding: 20px 16px;
    }
}

/* ===== END MEGA UPDATE v2.3 ===== */