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

@font-face {
    font-family: 'Virgil';
    src: url('https://excalidraw.com/Virgil.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}



:root {
    /* Color Palette - 3036 Retro-Future Banana */
    --bg-color: #fdfaeb; /* Offwhite Banana */
    --text-color: #111118;
    --text-light: #444455;
    --accent-color: #d4af37; /* Metallic Gold */
    --accent-hover: #f1c94b;
    --card-bg: rgba(255, 255, 255, 0.65);
    --border-color: rgba(212, 175, 55, 0.3);
    
    /* Typography */
    --font-heading: 'Outfit', sans-serif;
    --font-body: 'Outfit', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --font-handwriting: 'Virgil', cursive;
    --font-h2-h4-preserved: var(--font-heading);
    
    /* Effects - 3036 Glowing Gold on Light */
    --transition-fast: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-smooth: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    --shadow-sm: 0 4px 20px rgba(0, 0, 0, 0.05);
    --shadow-md: 0 10px 40px rgba(0, 0, 0, 0.08);
    --gold-glow: 0 0 15px rgba(212, 175, 55, 0.2), inset 0 0 10px rgba(212, 175, 55, 0.05);
    --gold-glow-hover: 0 0 30px rgba(212, 175, 55, 0.4), 0 0 60px rgba(212, 175, 55, 0.2), inset 0 0 15px rgba(212, 175, 55, 0.1);
    --text-glow: 0 0 10px rgba(212, 175, 55, 0.5);
    
    /* Layout */
    --border-radius: 16px;
    --dev-announcement-height: 38px;
}

/* Animations */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes float {
    0% { transform: translateY(0px); }
    50% { transform: translateY(-10px); }
    100% { transform: translateY(0px); }
}

@keyframes neonPulse {
    0% { text-shadow: 0 0 8px rgba(212, 175, 55, 0.3); }
    50% { text-shadow: 0 0 15px rgba(212, 175, 55, 0.6), 0 0 25px rgba(212, 175, 55, 0.3); }
    100% { text-shadow: 0 0 8px rgba(212, 175, 55, 0.3); }
}

.animate-fade-in {
    opacity: 0;
    animation: fadeInUp 0.1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.delay-1 { animation-delay: 0.1s; }
.delay-2 { animation-delay: 0.1s; }
.delay-3 { animation-delay: 0.1s; }

* { box-sizing: border-box; margin: 0; padding: 0; }

/* Fix Chrome / Safari browser autofill blue background */
input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus, 
input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px #ffffff inset !important;
    -webkit-text-fill-color: var(--text-color) !important;
    transition: background-color 5000s ease-in-out 0s;
}

::view-transition-old(root),
::view-transition-new(root) {
  animation-duration: 0.1s;
}



html {
    overflow-x: hidden;
    overflow-y: scroll; /* Prevents layout shifting between short and long pages */
}

body {
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: visible;
    background-color: var(--bg-color);
    background-image: 
        radial-gradient(circle at 15% 50%, rgba(212, 175, 55, 0.08), transparent 35%),
        radial-gradient(circle at 85% 30%, rgba(255, 255, 255, 0.4), transparent 35%);
    background-attachment: fixed;
    color: var(--text-color);
    font-family: var(--font-body);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    min-height: 100vh;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    box-sizing: border-box;
}

/* Unified scale across all pages matching Homepage */
body {
    zoom: 0.88;
}

/* Shipping Page: Content scaled a bit bigger (~95% scale) while header & navbar remain identical to Homepage */
body.shipping-page .container,
body:has(.shipping-page-main) > .container {
    zoom: 1.08;
}

/* About Us Page: Content scaled a bit smaller (~81% scale) while header & navbar remain identical to Homepage */
body.about-page .container {
    zoom: 0.92;
}

.container {
    max-width: 950px;
    width: 90%;
    margin: 0 auto;
    padding: 30px 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    color: var(--text-color);
    font-weight: 600;
    margin-bottom: 24px;
    letter-spacing: 0.02em;
}

h1 {
    font-size: 4rem;
    text-align: center;
    line-height: 1.2;
    color: var(--accent-color);
    animation: neonPulse 3s infinite alternate;
}

h2 {
    font-size: 2.5rem;
    text-align: center;
    position: relative;
    padding-bottom: 20px;
    color: var(--text-color);
    text-shadow: 0 0 15px rgba(212, 175, 55, 0.5), 0 5px 25px rgba(212, 175, 55, 0.3);
}


h4 {
    font-size: 1.4rem;
    text-align: center;
    position: relative;
    padding-bottom: 10px;
    color: var(--text-color);
    text-shadow: 0 0 15px rgba(212, 175, 55, 0.5), 0 5px 25px rgba(212, 175, 55, 0.3);
}

h2::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--accent-color), transparent);
    box-shadow: var(--text-glow);
}

h3 {
    font-family: var(--font-handwriting);
    font-size: 1.6rem;
    color: var(--accent-color);
    letter-spacing: 0.05em;
}

a {
    color: var(--accent-color);
    text-decoration: none;
    transition: var(--transition-fast);
}

p { color: var(--text-light); }

/* Header & Nav */
/* ============================================================
   HAUTE COUTURE LUXURY ANNOUNCEMENT RIBBON — EVieJ'S
   ============================================================ */

@keyframes dev-bar-gold-sweep {
    0%   { background-position: -200% center; }
    100% { background-position: 200% center; }
}

@keyframes dev-bar-sparkle-twinkle {
    0%, 100% { opacity: 0.35; transform: scale(0.85); }
    50%      { opacity: 1;    transform: scale(1.2) rotate(15deg); }
}

/* Radar Beacon Ripple on the dot */
@keyframes dev-bar-beacon-ripple {
    0% {
        box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.85), 0 0 8px #ef4444;
        transform: scale(0.95);
    }
    40% {
        box-shadow: 0 0 0 6px rgba(239, 68, 68, 0), 0 0 14px rgba(239, 68, 68, 0.6);
        transform: scale(1.15);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(239, 68, 68, 0), 0 0 6px #ef4444;
        transform: scale(0.95);
    }
}

/* High-Impact Luxury Warning Text Alert Flare */
@keyframes dev-bar-warning-alert-glow {
    0%, 100% {
        color: #ffccd5;
        text-shadow:
            0 0 4px rgba(255, 75, 75, 0.7),
            0 0 10px rgba(220, 38, 38, 0.5);
        transform: scale(1);
    }
    15% {
        color: #ffffff;
        text-shadow:
            0 0 10px rgba(255, 255, 255, 1),
            0 0 20px rgba(255, 75, 75, 0.95),
            0 0 35px rgba(239, 68, 68, 0.85);
        transform: scale(1.04);
    }
    30% {
        color: #ffccd5;
        text-shadow:
            0 0 4px rgba(255, 75, 75, 0.7),
            0 0 10px rgba(220, 38, 38, 0.5);
        transform: scale(1);
    }
    45% {
        color: #ffffff;
        text-shadow:
            0 0 12px rgba(255, 255, 255, 1),
            0 0 24px rgba(255, 75, 75, 1),
            0 0 40px rgba(239, 68, 68, 0.9);
        transform: scale(1.05);
    }
    60% {
        color: #ffccd5;
        text-shadow:
            0 0 4px rgba(255, 75, 75, 0.7),
            0 0 10px rgba(220, 38, 38, 0.5);
        transform: scale(1);
    }
}

/* Synchronized Warning Icon Pulse */
@keyframes dev-bar-warning-icon-flash {
    0%, 100% {
        color: #fca5a5;
        transform: scale(1);
        filter: drop-shadow(0 0 3px rgba(239, 68, 68, 0.6));
    }
    15%, 45% {
        color: #ffffff;
        transform: scale(1.22);
        filter: drop-shadow(0 0 10px rgba(255, 75, 75, 1)) drop-shadow(0 0 18px rgba(239, 68, 68, 0.8));
    }
    30%, 60% {
        color: #fca5a5;
        transform: scale(1);
        filter: drop-shadow(0 0 3px rgba(239, 68, 68, 0.6));
    }
}

@keyframes dev-bar-glow-pulse {
    0%, 100% {
        box-shadow: 0 0 8px rgba(212, 175, 55, 0.2), inset 0 0 4px rgba(212, 175, 55, 0.1);
        border-color: rgba(212, 175, 55, 0.4);
    }
    50% {
        box-shadow: 0 0 16px rgba(212, 175, 55, 0.45), inset 0 0 8px rgba(248, 232, 160, 0.2);
        border-color: rgba(248, 232, 160, 0.7);
    }
}

@keyframes dev-bar-dot-breathe {
    0%, 100% { transform: scale(1); opacity: 0.7; }
    50%      { transform: scale(1.3); opacity: 1; }
}

.dev-announcement-bar {
    width: 100%;
    background: linear-gradient(90deg, #0e0d0c 0%, #171512 25%, #1f1b14 50%, #171512 75%, #0e0d0c 100%);
    position: sticky;
    top: 0;
    z-index: 1001;
    padding: 0;
    box-sizing: border-box;
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.45);
    border-top: 1px solid rgba(212, 175, 55, 0.35);
    border-bottom: 1px solid rgba(212, 175, 55, 0.25);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

/* Hairline animated gold top light-sweep */
.dev-announcement-bar::before {
    content: '';
    display: block;
    height: 1px;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(212, 175, 55, 0.2) 20%,
        #f8e8a0 50%,
        rgba(212, 175, 55, 0.2) 80%,
        transparent 100%
    );
    background-size: 200% auto;
    animation: dev-bar-gold-sweep 5s ease-in-out infinite;
}

.dev-announcement-bar__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 6px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dev-announcement-bar__content {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    text-align: center;
}

/* Ruby Red Luxury Warning Pill Badge */
.dev-announcement-bar__badge {
    display: inline-flex;
    align-items: center;
    gap: 6.5px;
    padding: 2.5px 11px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(220, 38, 38, 0.26) 0%, rgba(136, 19, 19, 0.42) 50%, rgba(20, 10, 12, 0.9) 100%);
    border: 1px solid rgba(255, 80, 80, 0.65);
    box-shadow: 0 0 10px rgba(239, 68, 68, 0.3), inset 0 0 6px rgba(239, 68, 68, 0.2);
    position: relative;
    cursor: default;
    transition: all 0.3s ease;
}

.dev-announcement-bar__badge:hover {
    box-shadow: 0 0 18px rgba(255, 75, 75, 0.6), inset 0 0 10px rgba(255, 100, 100, 0.35);
    border-color: rgba(255, 120, 120, 0.9);
}

.dev-announcement-bar__dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #ff3344;
    animation: dev-bar-beacon-ripple 2.2s cubic-bezier(0.2, 0.8, 0.2, 1) infinite;
    display: inline-block;
    flex-shrink: 0;
}

.dev-announcement-bar__badge-icon {
    font-size: 10px;
    color: #fca5a5;
    display: inline-flex;
    align-items: center;
    animation: dev-bar-warning-icon-flash 2.2s ease-in-out infinite;
}

.dev-announcement-bar__badge-text {
    font-family: 'Outfit', sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    display: inline-block;
    animation: dev-bar-warning-alert-glow 2.2s ease-in-out infinite;
}

/* Divider pipe */
.dev-announcement-bar__divider {
    color: rgba(212, 175, 55, 0.55);
    font-size: 12px;
    font-weight: 400;
    user-select: none;
}

/* Main notice text */
.dev-announcement-bar__text {
    font-family: 'Outfit', sans-serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.08em;
    color: #f0ebe1;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.9);
}

.dev-announcement-bar__highlight {
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #ffffff;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.9), 0 0 12px rgba(248, 215, 127, 0.6);
}

.dev-announcement-bar__sep {
    color: #d4af37;
    font-weight: 600;
}

.dev-announcement-bar__sub {
    color: #e2dcd0;
    font-weight: 500;
}

/* Tagline: Razor-Sharp, High-Contrast Luxury Gold */
.dev-announcement-bar__tagline {
    font-family: 'Outfit', sans-serif;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #f7e4a1;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.9), 0 0 10px rgba(212, 175, 55, 0.4);
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.dev-announcement-bar__tagline strong,
.dev-announcement-bar__brand {
    color: #ffffff;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.9), 0 0 12px rgba(212, 175, 55, 0.7);
}

/* Sparkles */
.dev-announcement-bar__sparkle {
    color: #f7e4a1;
    font-size: 11px;
    animation: dev-bar-sparkle-twinkle 2.5s ease-in-out infinite;
    display: inline-block;
    text-shadow: 0 0 8px rgba(212, 175, 55, 0.6);
}

.dev-announcement-bar__sparkle--right {
    animation-delay: 1.25s;
}

/* Responsive */
@media (max-width: 900px) {
    .dev-announcement-bar__divider {
        display: none;
    }
    .dev-announcement-bar__tagline {
        display: none;
    }
}

@media (max-width: 600px) {
    :root {
        --dev-announcement-height: 34px;
    }
    .dev-announcement-bar__inner {
        padding: 5px 12px;
    }
    .dev-announcement-bar__badge {
        font-size: 9px;
        padding: 2px 7px;
    }
    .dev-announcement-bar__text {
        font-size: 10.5px;
        letter-spacing: 0.05em;
    }
    .dev-announcement-bar__sparkle {
        display: none;
    }
}
/* ============================================================ */

.header {
    width: 100%;
    background-color: rgba(253, 250, 235, 0.7);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border-bottom: 1px solid var(--border-color);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(212, 175, 55, 0.1);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0px;
    padding: 8px 0%;
    position: sticky;
    top: var(--dev-announcement-height, 31px);
    z-index: 1000;
    overflow: hidden;
    transition: var(--transition-smooth);
}

/* EVieJ'S Interactive Particle Field Layer - Positioned ABOVE nav texts & emblems with full click-through */
.header-evj-particles {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 100;
    display: block;
}

.header > *:not(.header-evj-particles) {
    position: relative;
    z-index: 1;
}

.logo {
    max-height: 100px; /* Restored from previous reference */
    width: auto;
    transition: var(--transition-smooth);
    filter: drop-shadow(0 0 10px rgba(212, 175, 55, 0.3));
    animation: float 4s ease-in-out infinite;
}

.logo:hover {
    transform: scale(1.05) translateY(-5px);
    filter: drop-shadow(0 0 20px rgba(212, 175, 55, 0.6));
}

.nav {
    display: flex;
    gap: 35px;
    align-items: center;
    justify-content: center;
}

.nav a {
    font-family: var(--font-heading);
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    position: relative;
    padding: 7px 0;
    color: var(--text-color);
    text-shadow: var(--text-glow);
    transition: var(--transition-smooth);
    white-space: nowrap;
}

.nav a:hover {
    color: var(--accent-color);
}

.nav a::after {
    content: '';
    position: absolute;
    bottom: 4px;
    left: 0;
    width: 0;
    height: 2px;
    background-color: var(--accent-color);
    transition: var(--transition-smooth);
    box-shadow: var(--text-glow);
}


.nav a:hover::after, .nav a.active::after {
    width: 100%;
}

/* Images & Media */
img {
    max-width: 100%;
    height: auto;
    border-radius: var(--border-radius);
    display: block;
}

.Cover {
    display: block;
    width: 100%;
    max-width: 1060px;
    height: 350px;
    margin: 0 auto 32px auto;
    object-fit: cover; /* Matches home page banner */
    background-color: var(--card-bg); /* Elegant background for the blank space */
    border-radius: 20px;
    box-shadow: var(--shadow-md), var(--gold-glow);
    border: 2px solid var(--border-color); /* Matches home page banner */
    transition: var(--transition-smooth);
}

.Cover:hover {
    box-shadow: var(--shadow-md), var(--gold-glow-hover);
}

/* Video Banner Theme */
.video-banner {
    position: relative;
    width: 100%;
    max-width: 1060px;
    height: 350px;
    margin: 0 auto 32px auto;
    border-radius: 20px;
    border: 2px solid var(--border-color); /* Gold border */
    box-shadow: var(--shadow-md), var(--gold-glow);
    overflow: hidden;
    background-color: var(--bg-primary); /* Offwhite background */
    transition: var(--transition-smooth);
}

.video-banner:hover {
    box-shadow: var(--shadow-md), var(--gold-glow-hover);
}

.Cover-Video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    /* Apply a luxurious Italian Moda tint */
    filter: sepia(30%) brightness(1.05) contrast(1.1);
}

.slideshow {
    position: relative;
}

.slideshow .slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transform: scale(1.0);
    transition: opacity 1.2s ease-in-out, transform 5s linear;
}

.slideshow .slide.first-load {
    opacity: 1; /* Ensures it starts fully visible instantly */
}

.slideshow .slide.active-slide {
    opacity: 1;
    transform: scale(1.05); /* Slow zoom effect while visible */
}

.video-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Subtle offwhite/gold overlay gradient */
    background: linear-gradient(135deg, rgba(253, 250, 235, 0.2) 0%, rgba(212, 175, 55, 0.1) 100%);
    pointer-events: none;
    mix-blend-mode: overlay;
}

.product-cover {
    height: 350px;
    object-fit: cover;
    object-position: center 90%;
}

/* Product Grid & Wishlist Grid — Centered & Flexible */
.product-grid, #pageWishlistGrid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    width: 100%;
    max-width: 960px;
    margin: 16px auto 28px auto;
    gap: 18px;
}

.wishlist-page-main {
    width: 100%;
    max-width: 1040px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.wishlist-toolbar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 34px;
    padding: 2px 4px 2px 14px;
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid var(--accent-color);
    border-radius: 30px;
    backdrop-filter: blur(12px);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04), var(--gold-glow);
    margin: 0 auto 18px auto;
    width: auto;
    max-width: fit-content;
    box-sizing: border-box;
    transition: all 0.3s ease;
}

.wishlist-count-label {
    font-size: 0.76rem;
    color: var(--accent-color);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    line-height: 1;
}

.wishlist-count-label i {
    color: #e63946;
    font-size: 0.82rem;
    filter: drop-shadow(0 1px 3px rgba(230, 57, 70, 0.3));
}

.clear-wishlist-btn {
    background: rgba(230, 57, 70, 0.09);
    border: 1px solid rgba(230, 57, 70, 0.3);
    color: #e63946;
    height: 24px;
    padding: 0 10px;
    border-radius: 20px;
    font-size: 0.70rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    line-height: 1;
    transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.clear-wishlist-btn:hover {
    background: #e63946;
    color: #ffffff;
    border-color: #e63946;
    transform: translateY(-1px) scale(1.04);
    box-shadow: 0 3px 10px rgba(230, 57, 70, 0.35);
}

.product-card {
    background: #FFFFFF;
    border: 1.5px solid #C8A35A;
    border-radius: 14px;
    overflow: hidden;
    transition: var(--transition-smooth);
    box-shadow: 0 4px 18px rgba(160, 120, 40, 0.08), 0 1.5px 5px rgba(0,0,0,0.04);
    width: 100%;
    box-sizing: border-box;
    position: relative;
}

@media (max-width: 900px) {
    .product-grid, #pageWishlistGrid {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
    }
}

@media (max-width: 560px) {
    .product-grid, #pageWishlistGrid {
        grid-template-columns: 1fr;
        gap: 16px;
        max-width: 390px;
    }
}

/* Luxury Gold Pagination Bar */
.pagination-bar-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 24px auto 30px auto;
    width: 100%;
}

.pagination-arrow-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #fff;
    border: 1.5px solid #C8A35A;
    color: #C8A35A;
    font-size: 0.88rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(200, 163, 90, 0.13);
    transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.pagination-arrow-btn:hover:not(:disabled) {
    background: #C8A35A;
    color: #fff;
    transform: translateY(-2px) scale(1.08);
    box-shadow: 0 6px 18px rgba(200, 163, 90, 0.35);
}

.pagination-arrow-btn:disabled {
    opacity: 0.3;
    cursor: not-allowed;
    pointer-events: none;
}

.pagination-capsule {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    height: 36px;
    padding: 0 12px;
    background: linear-gradient(135deg, rgba(255,249,235,0.95) 0%, rgba(255,255,255,0.9) 100%);
    border: 1.5px solid #C8A35A;
    border-radius: 30px;
    box-shadow: 0 2px 12px rgba(200, 163, 90, 0.15), inset 0 1px 3px rgba(200, 163, 90, 0.07);
}

/* Page number buttons (replaces dots) */
.pagination-dot {
    min-width: 28px;
    height: 28px;
    border-radius: 50%;
    background: transparent;
    border: 1.5px solid transparent;
    color: #8B6914;
    font-size: 0.76rem;
    font-weight: 600;
    font-family: inherit;
    letter-spacing: 0.03em;
    padding: 0 3px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.pagination-dot:hover {
    background: rgba(200, 163, 90, 0.12);
    border-color: #C8A35A;
    color: #7A5800;
    transform: scale(1.08);
}

.pagination-dot.active {
    background: linear-gradient(135deg, #C8A35A 0%, #A07820 100%);
    border-color: #C8A35A;
    color: #fff;
    transform: scale(1.1);
    box-shadow: 0 3px 12px rgba(200, 163, 90, 0.45);
}

.pagination-page-label {
    font-size: 0.76rem;
    font-weight: 700;
    color: #8B6914;
    margin: 0 3px;
    letter-spacing: 0.04em;
}

.product-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 38px rgba(160, 120, 40, 0.16), 0 3px 10px rgba(0,0,0,0.06);
    border-color: #C8A35A;
}

.product-card img {
    width: 100%;
    height: 220px;
    object-fit: contain;
    background: #FFFFFF;
    display: block;
    padding: 0;
    cursor: pointer;
    transition: transform 0.4s ease;
}

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

/* Gold monogram divider between image and info */
.product-card .card-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 3px 0 1px;
    background: #FFFFFF;
}

.product-card .card-divider::before,
.product-card .card-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: linear-gradient(to right, transparent, #C8A35A, transparent);
    margin: 0 6px;
}

.product-card .card-divider-icon {
    color: #C8A35A;
    font-size: 0.85rem;
    line-height: 1;
    display: inline-block;
    font-style: normal;
}

.product-info {
    padding: 10px 14px 14px;
    text-align: center;
    background: #FFFFFF;
    border-top: 1px solid rgba(200, 163, 90, 0.18);
}

.product-info h4 {
    color: #1B1B1B;
    font-size: 0.98rem;
    font-weight: 700;
    margin-bottom: 2px;
    letter-spacing: 0.03em;
    cursor: pointer;
    font-family: var(--font-heading);
}

/* Product Card Color Swatches */
.card-color-swatches {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    margin: 4px 0 8px;
    flex-wrap: wrap;
    min-height: 18px;
}

.card-color-dot {
    width: 13px;
    height: 13px;
    border-radius: 50%;
    border: 1.2px solid rgba(255, 255, 255, 0.85);
    box-shadow: 0 1.5px 4px rgba(0, 0, 0, 0.3);
    cursor: pointer;
    padding: 0;
    transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.2s ease, border-color 0.2s ease;
}

.card-color-dot:hover {
    transform: scale(1.25);
    border-color: #ffffff;
}

.card-color-dot.active {
    transform: scale(1.3);
    border-color: #C8A35A;
    box-shadow: 0 0 7px rgba(200, 163, 90, 0.85);
}

.product-info .price {
    color: #C8A35A;
    font-size: 0.90rem;
    font-weight: 800;
    margin-bottom: 8px;
    letter-spacing: 0.01em;
}

/* Sections & Content */
section {
    background-color: var(--card-bg);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    padding: 50px;
    border-radius: 24px;
    box-shadow: var(--shadow-sm), 0 0 0 1px rgba(212, 175, 55, 0.1);
    margin: 30px auto;
    max-width: 800px;
    width: 100%;
    position: relative;
    border: 1px solid var(--border-color);
    transition: var(--transition-smooth);
}

section:hover {
    box-shadow: var(--shadow-md), var(--gold-glow);
}

.intro-text {
    font-family: var(--font-handwriting);
    font-size: 1.7rem;
    font-style: italic;
    color: var(--accent-color);
    text-align: center;
    line-height: 1.6;
    margin: 30px 0 40px;
    text-shadow: 0 0 10px rgba(212, 175, 55, 0.2);
}

/* Forms */
form {
    background-color: var(--card-bg);
    backdrop-filter: blur(20px);
    padding: 50px;
    border-radius: 24px;
    max-width: 800px; /* Reverted to original form width */
    width: 100%;
    margin: 20px auto 50px auto;
    box-shadow: var(--shadow-sm), var(--gold-glow);
    border: 1px solid var(--border-color);
    transition: var(--transition-smooth);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 25px;
}

form:hover {
    box-shadow: var(--shadow-md), var(--gold-glow-hover);
}

.form-group {
    position: relative;
    width: 100%;
    text-align: left;
    margin-bottom: 4px;
}

.form-group:nth-of-type(3),
.form-group:nth-of-type(4),
button[type="submit"] {
    grid-column: span 2;
}

label {
    display: block;
    font-size: 0.80rem;
    font-weight: 700;
    margin-bottom: 5px;
    color: var(--text-color);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

input[type="text"], 
input[type="email"], 
input[type="password"],
input[type="tel"], 
input[type="date"],
input[type="number"],
select,
textarea {
    width: 100%;
    height: 40px;
    padding: 0 14px;
    background-color: #ffffff;
    border: 1.5px solid rgba(212, 175, 55, 0.35);
    color: var(--text-color);
    border-radius: 10px;
    font-size: 0.84rem;
    transition: var(--transition-fast);
    font-family: var(--font-body);
    text-align: left;
    box-sizing: border-box;
}

input::placeholder, textarea::placeholder {
    color: rgba(0, 0, 0, 0.35);
    font-size: 0.84rem;
}

input:focus, 
textarea:focus {
    outline: none;
    border-color: var(--accent-color);
    background-color: #ffffff;
    box-shadow: 0 0 12px rgba(212, 175, 55, 0.3);
}

textarea {
    min-height: 90px;
    height: 90px;
    padding: 10px 14px;
    resize: vertical;
}

.S, button[type="submit"] {
    background: linear-gradient(135deg, var(--accent-color), var(--accent-hover));
    color: #ffffff;
    border: none;
    padding: 0 28px;
    height: 40px;
    font-size: 0.78rem;
    font-weight: 800;
    border-radius: 8px;
    cursor: pointer;
    transition: var(--transition-smooth);
    width: auto;
    text-transform: uppercase;
    letter-spacing: 0.10em;
    margin: 8px auto 0 auto;
    box-shadow: 0 2px 10px rgba(212, 175, 55, 0.3);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.S:hover, button[type="submit"]:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(212, 175, 55, 0.5);
    background: linear-gradient(135deg, var(--accent-hover), var(--accent-color));
}

/* Socials & Contact Info */
.contact-grid {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    gap: 25px;
    margin-top: 40px;
    padding-top: 40px;
    border-top: 1px solid var(--border-color);
    text-align: center;
}

.contact-info p {
    margin: 15px 0;
    font-size: 1.2rem;
    color: var(--text-color);
    font-weight: 500;
    letter-spacing: 0.05em;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.contact-info p i {
    color: var(--accent-color);
    font-size: 1.3rem;
    filter: drop-shadow(0 0 5px rgba(212, 175, 55, 0.4));
}

.contact-info p a,
.contact-info p .contact-text {
    font-family: var(--font-heading);
    color: var(--text-color);
    font-weight: 600;
    font-size: 1.4rem;
    text-shadow: 0 0 15px rgba(212, 175, 55, 0.5), 0 5px 25px rgba(212, 175, 55, 0.3);
    transition: var(--transition-smooth);
    display: inline-block; /* allows scale transform on hover */
}

.contact-info p a:hover,
.contact-info p .contact-text:hover {
    color: var(--accent-color);
    text-shadow: 0 0 20px rgba(212, 175, 55, 0.8), 0 5px 30px rgba(212, 175, 55, 0.6);
    transform: scale(1.05);
}

/* Footer */
footer {
    text-align: center;
    padding: 10px 20px 5px 20px;
    margin-top: auto;
    border-top: 1px solid var(--border-color);
}

footer .social-icon {
    width: 38px;
    height: 38px;
    font-size: 1.15rem;
}

.icon-row {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 22px;
    margin-bottom: 20px;
    padding: 4px 0;
}

.social-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 1px solid #ffe699;
    background: conic-gradient(from 180deg at 50% 50%, #ffe680 0deg, #d4af37 55deg, #fff7c2 110deg, #b8860b 165deg, #ffd700 220deg, #fff7c2 275deg, #d4af37 330deg, #ffe680 360deg);
    color: #240c00;
    font-size: 1.15rem;
    box-shadow: 0 4px 12px rgba(184, 134, 11, 0.4), inset 0 1.5px 2px rgba(255, 255, 255, 0.9), inset 0 -1.5px 4px rgba(100, 60, 0, 0.4);
    transition: all 0.35s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    text-decoration: none;
    padding: 0;
}

.social-icon i {
    color: #240c00 !important;
    transition: all 0.35s ease;
    filter: drop-shadow(0 1px 1px rgba(255, 255, 255, 0.4));
    display: inline-block;
}

/* Match Instagram & WhatsApp icon size/weight to TikTok */
.social-icon .fa-instagram,
.social-icon .fa-whatsapp {
    font-size: 1.25em;
    -webkit-text-stroke: 1.1px #240c00;
    paint-order: stroke fill;
}

.social-icon:hover .fa-instagram,
.social-icon:hover .fa-whatsapp {
    font-size: 1.25em;
    -webkit-text-stroke: 1.1px #1a0800;
    paint-order: stroke fill;
}

.social-icon:hover {
    background: conic-gradient(from 220deg at 50% 50%, #ffffff 0deg, #ffd700 60deg, #fff0b3 120deg, #d4af37 180deg, #ffe680 240deg, #ffffff 300deg, #ffd700 360deg);
    border-color: #ffffff;
    transform: translateY(-4px) scale(1.1);
    box-shadow: 0 8px 22px rgba(212, 175, 55, 0.65), 0 0 14px rgba(255, 215, 0, 0.45), inset 0 1.5px 3px #ffffff;
}

.social-icon:hover i {
    color: #1a0800 !important;
    transform: scale(1.06);
}

.social-icon:hover .fa-instagram,
.social-icon:hover .fa-whatsapp {
    -webkit-text-stroke: 0.9px #1a0800;
}

footer p, .copyright {
    color: var(--text-color);
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    margin-bottom: 0;
    text-shadow: 0 0 15px rgba(212, 175, 55, 0.5), 0 5px 25px rgba(212, 175, 55, 0.3);
}

.developer-credit {
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-color);
    margin-top: 8px;
    text-shadow: 0 0 15px rgba(212, 175, 55, 0.5), 0 5px 25px rgba(212, 175, 55, 0.3);
}

.developer-name {
    color: var(--accent-color);
    font-weight: 700;
    letter-spacing: 0.12em;
    display: inline-block;
    padding: 2px 10px;
    background: linear-gradient(135deg, rgba(212, 175, 55, 0.12), rgba(184, 134, 11, 0.2));
    border: 1px solid var(--accent-color);
    border-radius: 6px;
    margin-left: 4px;
    box-shadow: 0 2px 10px rgba(212, 175, 55, 0.25);
    transition: all 0.3s ease;
}

.developer-name:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 18px rgba(212, 175, 55, 0.55);
    background: linear-gradient(135deg, var(--accent-color), var(--accent-hover));
    color: #ffffff;
}

/* Responsive Design */
@media (max-width: 992px) {
    .header {
        flex-direction: column;
        gap: 20px;
        padding: 20px 5%;
    }
    
    .logo {
        max-height: 120px;
    }

    .nav {
        flex-wrap: wrap;
        justify-content: center;
    }

    h1 { font-size: 3rem; }
    h2 { font-size: 2.2rem; }
    
    .Cover, .video-banner, .product-cover { height: 310px; }
    
    .contact-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 576px) {
    .container {
        padding: 30px 0;
    }

    .header {
        padding: 12px 5%;
        gap: 15px;
    }

    .logo {
        max-height: 90px;
    }

    .nav {
        gap: 15px;
    }

    .nav a {
        font-size: 0.8rem;
    }

    h1 { font-size: 2.2rem; }
    h2 { font-size: 1.8rem; }
    
    .Cover, .video-banner, .product-cover { height: 230px; }

    section, form {
        padding: 30px 20px;
        border-radius: 16px;
    }

    .intro-text {
        font-size: 1.4rem;
    }
}

/* ==========================================
   Modern Luxury Shopping Cart & Checkout System
   Theme: 3036 Retro-Future Banana & Gold Glassmorphism
   ========================================== */

/* Cart Header Toggle Button */
/* Cart Header Toggle Button - Minimalist Luxury Icon */
.cart-btn {
    background: transparent !important;
    border: none !important;
    color: var(--text-color) !important;
    padding: 4px 5px !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    font-family: var(--font-heading) !important;
    font-weight: 700 !important;
    font-size: 1.25rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    transition: transform 0.25s cubic-bezier(0.25, 0.8, 0.25, 1), filter 0.25s ease, color 0.25s ease !important;
    box-shadow: none !important;
    margin-left: 0 !important;
}

.cart-btn {
    width: auto !important;
    height: auto !important;
    padding: 4px 6px !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    cursor: pointer !important;
    transition: transform 0.32s cubic-bezier(0.34, 1.56, 0.64, 1), filter 0.3s ease !important;
}

.cart-btn i {
    display: inline-block !important;
    width: 30px !important;
    height: 30px !important;
    background-image: url('images/emblem-cart-shopping.png') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    font-size: 0 !important;
    color: transparent !important;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.25)) !important;
    transition: transform 0.32s cubic-bezier(0.34, 1.56, 0.64, 1), filter 0.3s ease !important;
}

.cart-btn i::before {
    display: none !important;
}

.cart-btn:hover {
    background: transparent !important;
    transform: translateY(-3px) scale(1.18) rotate(-4deg) !important;
    box-shadow: none !important;
}

.cart-btn:hover i {
    filter: drop-shadow(0 4px 10px rgba(229, 170, 23, 0.65)) drop-shadow(0 0 14px rgba(255, 208, 38, 0.75)) !important;
}

.cart-badge {
    position: absolute !important;
    top: -4px !important;
    right: -6px !important;
    background: #d4af37 !important;
    color: #000000 !important;
    font-size: 0.65rem !important;
    font-weight: 900 !important;
    min-width: 18px !important;
    height: 18px !important;
    border-radius: 9px !important;
    display: inline-flex;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 4px !important;
    border: 1.5px solid #ffffff !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4) !important;
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

.cart-badge[style*="display: none"],
.cart-badge[style*="display:none"],
.cart-badge:empty {
    display: none !important;
}

@keyframes badgePulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.4); background: var(--accent-color); color: #ffffff; }
    100% { transform: scale(1); }
}

.badge-pulse {
    animation: badgePulse 0.4s ease;
}

/* Product Card Add to Cart Button */
.add-to-cart-btn {
    width: 100%;
    margin-top: 15px;
    padding: 13px 18px;
    background: linear-gradient(135deg, var(--accent-color), #c29b2b);
    color: #ffffff;
    border: none;
    border-radius: 12px;
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 0.95rem;
    letter-spacing: 0.05em;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: var(--transition-smooth);
    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.3);
}

.add-to-cart-btn:hover {
    background: linear-gradient(135deg, var(--accent-hover), var(--accent-color));
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(212, 175, 55, 0.5);
}

.add-to-cart-btn.added-pulse {
    background: linear-gradient(135deg, #2e7d32, #4caf50) !important;
    box-shadow: 0 0 20px rgba(46, 125, 50, 0.5) !important;
    transform: scale(1.03);
}

/* Cart Overlay & Slide-Out Drawer */
.cart-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: rgba(17, 17, 24, 0.45);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 9999;
}

.cart-overlay.open {
    opacity: 1;
    pointer-events: auto;
}

.cart-drawer {
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    width: 440px;
    max-width: 92vw;
    height: 100%;
    transform: translateX(100%);
    background: rgba(253, 250, 235, 0.98);
    background-image: 
        radial-gradient(circle at 15% 20%, rgba(212, 175, 55, 0.12), transparent 45%),
        radial-gradient(circle at 85% 80%, rgba(255, 255, 255, 0.7), transparent 45%);
    backdrop-filter: blur(28px);
    -webkit-backdrop-filter: blur(28px);
    border-left: 2px solid var(--border-color);
    box-shadow: -20px 0 60px rgba(0, 0, 0, 0.12), var(--gold-glow);
    z-index: 10000;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    display: flex;
    flex-direction: column;
    text-align: left;
    color: var(--text-color);
}

.cart-drawer.open {
    transform: translateX(0);
}

.cart-drawer-header {
    padding: 24px 28px;
    border-bottom: 1px solid var(--border-color);
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgba(255, 255, 255, 0.75);
}

.cart-header-title {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--accent-color);
}

.cart-title-icon-badge {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(212, 175, 55, 0.12);
    border: 1px solid var(--border-color);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--accent-color);
    font-size: 1.1rem;
    box-shadow: 0 2px 8px rgba(212, 175, 55, 0.2);
}

.cart-header-title h3 {
    font-family: var(--font-handwriting);
    font-size: 1.35rem;
    margin: 0;
    color: var(--text-color);
    letter-spacing: 0.06em;
    font-weight: 700;
}

.close-cart-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.04);
    border: 1px solid var(--border-color);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    color: var(--text-color);
    cursor: pointer;
    transition: var(--transition-fast);
}

.close-cart-btn:hover {
    background: var(--accent-color);
    color: #ffffff;
    border-color: var(--accent-color);
    transform: rotate(90deg);
}

/* Free Shipping Progress Bar */
.shipping-progress-container {
    display: none !important;
}

.shipping-msg {
    margin-bottom: 8px;
    text-align: center;
    line-height: 1.4;
    font-size: 0.86rem;
}

.shipping-msg i {
    color: var(--accent-color);
    margin-right: 4px;
}

.shipping-bar-track {
    width: 100%;
    height: 7px;
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid var(--border-color);
    border-radius: 10px;
    overflow: hidden;
}

.shipping-bar-fill {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, var(--accent-color), var(--accent-hover));
    box-shadow: 0 0 10px rgba(212, 175, 55, 0.6);
    transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Drawer Body & Cart List */
.cart-drawer-body {
    flex: 1;
    overflow-y: auto;
    padding: 16px 20px;
}

.cart-drawer-body::-webkit-scrollbar {
    width: 5px;
}

.cart-drawer-body::-webkit-scrollbar-thumb {
    background: var(--border-color);
    border-radius: 6px;
}

.empty-cart-msg {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    color: var(--text-light);
    text-align: center;
    padding: 30px 10px;
}

.empty-icon-circle {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(212, 175, 55, 0.15), rgba(217, 83, 79, 0.15));
    border: 2px solid rgba(212, 175, 55, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
    box-shadow: 0 10px 30px rgba(212, 175, 55, 0.2);
    position: relative;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    animation: floatingPulse 4s infinite ease-in-out;
}

.empty-icon {
    font-size: 3.2rem;
    color: var(--accent-color);
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 0 -4px; /* Optical centering compensation for cart handle */
    animation: cartFloat 3.5s ease-in-out infinite;
}

.empty-icon-circle .lock-badge {
    position: absolute;
    bottom: 6px;
    right: 6px;
    background: #ffffff;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 14px rgba(212, 175, 55, 0.4);
    border: 2px solid var(--accent-color);
    z-index: 2;
}

.empty-icon-circle .lock-badge i {
    font-size: 0.95rem;
    color: var(--accent-color);
}

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

.empty-cart-msg h4 {
    font-family: var(--font-heading);
    font-size: 1.35rem;
    margin-bottom: 4px;
    color: var(--text-color);
    letter-spacing: 0.04em;
}

.empty-cart-msg p {
    font-size: 0.92rem;
    color: var(--text-light);
    max-width: 290px;
    margin-bottom: 12px;
}

.explore-btn {
    padding: 14px 28px;
    background: linear-gradient(135deg, var(--accent-color), var(--accent-hover));
    color: #ffffff !important;
    border-radius: 30px;
    font-weight: 800;
    font-size: 0.9rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    box-shadow: 0 4px 20px rgba(212, 175, 55, 0.4);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: var(--transition-smooth);
}

.explore-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(212, 175, 55, 0.6);
}

.cart-items-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.cart-item {
    display: flex;
    gap: 14px;
    padding: 16px;
    background: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 18px;
    align-items: center;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
    transition: var(--transition-smooth);
}

.cart-item:hover {
    border-color: var(--accent-color);
    box-shadow: 0 8px 25px rgba(212, 175, 55, 0.2);
    transform: translateY(-2px);
}

.cart-item.removing {
    opacity: 0;
    transform: translateX(40px);
}

.cart-item-img-wrap {
    width: 72px;
    height: 72px;
    border-radius: 14px;
    border: 1px solid var(--border-color);
    overflow: hidden;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.cart-item-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cart-item-details {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cart-item-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 8px;
}

.cart-item-title {
    font-family: var(--font-body);
    font-size: 0.98rem;
    font-weight: 700;
    color: var(--text-color);
    line-height: 1.35;
    margin: 0;
    letter-spacing: -0.01em;
}

.cart-item-unit-price {
    font-size: 0.8rem;
    color: var(--text-light);
}

.cart-item-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 6px;
}

.cart-item-total {
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--accent-color);
}

.qty-stepper {
    display: inline-flex;
    align-items: center;
    background: rgba(253, 250, 235, 0.6);
    border: 1px solid var(--border-color);
    border-radius: 20px;
    padding: 2px 4px;
}

.qty-btn {
    background: transparent;
    border: none;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    cursor: pointer;
    font-weight: 800;
    font-size: 1rem;
    color: var(--text-color);
    transition: var(--transition-fast);
    display: flex;
    align-items: center;
    justify-content: center;
}

.qty-btn:hover {
    background: var(--accent-color);
    color: #ffffff;
}

.qty-val {
    padding: 0 10px;
    font-weight: 700;
    font-size: 0.92rem;
    color: var(--text-color);
}

.remove-item-btn {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: rgba(217, 83, 79, 0.08);
    border: none;
    color: #d9534f;
    cursor: pointer;
    font-size: 0.88rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition-fast);
}

.remove-item-btn:hover {
    background: #d9534f;
    color: #ffffff;
    transform: scale(1.1);
}

/* Drawer Footer */
.cart-drawer-footer {
    padding: 20px 24px;
    border-top: 1px solid var(--border-color);
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(16px);
}

/* Promo Code Input Group */
.promo-code-section, .page-promo-section {
    margin-bottom: 16px;
    width: 100%;
}

.promo-form, .promo-form:hover {
    background: transparent !important;
    background-color: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    padding: 0 !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    display: block !important;
    gap: 0 !important;
}

.promo-input-group {
    display: flex !important;
    align-items: center !important;
    background: rgba(253, 250, 235, 0.7) !important;
    border: 1.5px solid var(--border-color) !important;
    border-radius: 30px !important;
    padding: 4px 6px 4px 18px !important;
    height: 48px !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02) !important;
    transition: var(--transition-fast) !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.promo-input-group:focus-within {
    background: #ffffff !important;
    border-color: var(--accent-color) !important;
    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.25) !important;
}

.promo-input-icon {
    color: var(--accent-color);
    font-size: 1.05rem;
    margin-right: 8px;
    flex-shrink: 0;
}

.promo-input-group input,
.promo-input-group input[type="text"] {
    flex: 1 !important;
    width: 0 !important;
    min-width: 0 !important;
    padding: 8px 10px !important;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    border: none !important;
    background: transparent !important;
    background-color: transparent !important;
    color: var(--text-color) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-align: left !important;
    outline: none !important;
    box-sizing: border-box !important;
}

.promo-input-group input::placeholder,
.promo-input-group input[type="text"]::placeholder {
    color: rgba(0, 0, 0, 0.4);
    text-transform: none;
    font-weight: 500;
}

.apply-promo-btn {
    padding: 0 24px !important;
    height: 38px !important;
    background: linear-gradient(135deg, var(--accent-color), var(--accent-hover)) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 24px !important;
    font-weight: 800 !important;
    font-size: 0.82rem !important;
    letter-spacing: 0.1em !important;
    cursor: pointer !important;
    width: auto !important;
    margin-top: 0 !important;
    flex-shrink: 0 !important;
    transition: var(--transition-fast) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 2px 10px rgba(212, 175, 55, 0.35) !important;
}

.apply-promo-btn:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 18px rgba(212, 175, 55, 0.5) !important;
}

.active-promo-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgba(212, 175, 55, 0.15);
    border: 1px solid var(--accent-color);
    padding: 8px 14px;
    border-radius: 10px;
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--text-color);
}

.promo-tag i {
    color: var(--accent-color);
    margin-right: 4px;
}

.remove-promo-btn {
    background: transparent;
    border: none;
    font-size: 1.1rem;
    cursor: pointer;
    color: var(--text-light);
}

.remove-promo-btn:hover {
    color: #d9534f;
}

/* Order Notes Details Pill Accordion */
.order-notes-details {
    margin-bottom: 16px;
    width: 100%;
}

.order-notes-details summary {
    cursor: pointer;
    background: rgba(253, 250, 235, 0.7);
    border: 1.5px solid var(--border-color);
    border-radius: 30px;
    padding: 12px 20px;
    font-weight: 700;
    font-size: 0.92rem;
    color: var(--text-color);
    user-select: none;
    outline: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02);
    transition: var(--transition-fast);
    list-style: none;
}

.order-notes-details summary::-webkit-details-marker {
    display: none;
}

.order-notes-details summary i.fa-gift {
    color: var(--accent-color);
    font-size: 1.15rem;
}

.order-notes-details summary span {
    flex: 1;
    text-align: left;
}

.order-notes-details summary .summary-arrow {
    color: var(--accent-color);
    font-size: 0.85rem;
    transition: transform 0.3s ease;
}

.order-notes-details[open] summary {
    background: #ffffff;
    border-color: var(--accent-color);
    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.2);
}

.order-notes-details[open] summary .summary-arrow {
    transform: rotate(180deg);
}

.order-notes-details textarea {
    width: 100% !important;
    box-sizing: border-box !important;
    min-height: 80px;
    font-size: 0.88rem !important;
    padding: 12px 18px !important;
    border-radius: 18px !important;
    margin-top: 10px !important;
    text-align: left !important;
    background: #ffffff !important;
    border: 1.5px solid var(--border-color) !important;
    color: var(--text-color) !important;
    outline: none !important;
    font-family: var(--font-body);
    transition: var(--transition-fast);
}

.order-notes-details textarea:focus {
    border-color: var(--accent-color) !important;
    box-shadow: 0 0 16px rgba(212, 175, 55, 0.3) !important;
}

/* Cart Summary Breakdown */
.cart-summary {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px;
}

.cart-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--text-color);
}

.discount-row {
    color: #2e7d32;
    font-weight: 700;
}

.discount-amount {
    color: #2e7d32;
}

.free-badge {
    background: #2e7d32;
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 800;
    padding: 2px 8px;
    border-radius: 10px;
}

.total-row {
    font-size: 1.15rem;
    font-weight: 800;
    margin-top: 6px;
    padding-top: 12px;
    border-top: 1px dashed rgba(212, 175, 55, 0.4);
}

.total-price {
    color: var(--accent-color);
    font-size: 1.5rem;
    letter-spacing: 0.02em;
}

.checkout-btn {
    width: 100%;
    padding: 16px;
    background: linear-gradient(135deg, var(--accent-color), var(--accent-hover));
    color: #ffffff;
    border: none;
    border-radius: 16px;
    font-weight: 800;
    font-size: 1rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    cursor: pointer;
    transition: var(--transition-smooth);
    box-shadow: 0 6px 25px rgba(212, 175, 55, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.checkout-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 35px rgba(212, 175, 55, 0.5);
}

.cart-footer-actions {
    display: flex;
    justify-content: space-between;
    margin-top: 12px;
    gap: 10px;
}

.clear-cart-btn, .continue-btn {
    background: transparent;
    border: none;
    color: var(--text-light);
    font-size: 0.84rem;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition-fast);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.clear-cart-btn:hover {
    color: #ff5252;
    text-decoration: underline;
}

.continue-btn:hover {
    color: var(--accent-color);
    text-decoration: underline;
}

/* Toast Notifications */
.cart-toast-container {
    position: fixed;
    bottom: 28px;
    right: 28px;
    z-index: 3000;
    display: flex;
    flex-direction: column;
    gap: 10px;
    pointer-events: none;
}

.cart-toast {
    background: rgba(17, 17, 24, 0.92);
    color: #ffffff;
    border: 1px solid var(--accent-color);
    padding: 14px 24px;
    border-radius: 14px;
    font-weight: 600;
    font-size: 0.95rem;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.3), var(--gold-glow);
    display: flex;
    align-items: center;
    gap: 12px;
    opacity: 0;
    transform: translateY(25px);
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.cart-toast i {
    color: var(--accent-color);
    font-size: 1.3rem;
}

.cart-toast.error i {
    color: #ff5252;
}

.cart-toast.show {
    opacity: 1;
    transform: translateY(0);
}

/* Checkout Modal Overlay & Dialog */
.checkout-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(17, 17, 24, 0.65);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.35s ease;
    z-index: 2500;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.checkout-modal-overlay.open {
    opacity: 1;
    pointer-events: auto;
}

.checkout-modal {
    background: rgba(253, 250, 235, 0.98);
    border: 2px solid var(--border-color);
    border-radius: 26px;
    width: 100%;
    max-width: 680px;
    box-shadow: 0 25px 70px rgba(0, 0, 0, 0.3), var(--gold-glow);
    overflow: hidden;
    transform: scale(0.92);
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    text-align: left;
    display: flex;
    flex-direction: column;
    max-height: 90vh;
}

.checkout-modal-overlay.open .checkout-modal {
    transform: scale(1);
}

.checkout-header {
    padding: 20px 28px;
    border-bottom: 1px solid var(--border-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: rgba(255, 255, 255, 0.7);
}

.checkout-title {
    display: flex;
    align-items: center;
    gap: 12px;
}

.security-lock {
    font-size: 1.6rem;
    color: var(--accent-color);
}

.checkout-title h3 {
    margin: 0;
    font-size: 1.35rem;
    color: var(--text-color);
}

.secure-badge {
    color: var(--text-light);
    font-size: 0.78rem;
    display: flex;
    align-items: center;
    gap: 4px;
}

.close-modal-btn {
    background: transparent;
    border: none;
    font-size: 2rem;
    cursor: pointer;
    color: var(--text-color);
    transition: var(--transition-fast);
}

.close-modal-btn:hover {
    color: var(--accent-color);
    transform: scale(1.15);
}

/* Checkout Modal Body */
.checkout-body {
    padding: 24px 28px;
    overflow-y: auto;
    flex: 1;
}

.checkout-summary-box {
    background: rgba(255, 255, 255, 0.8);
    border: 1px solid var(--border-color);
    border-radius: 16px;
    padding: 16px;
    margin-bottom: 24px;
}

.checkout-summary-header {
    display: flex;
    justify-content: space-between;
    font-weight: 700;
    font-size: 0.95rem;
    margin-bottom: 12px;
    color: var(--text-color);
}

.checkout-summary-header a {
    font-size: 0.82rem;
    color: var(--accent-color);
}

.checkout-summary-items {
    max-height: 120px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 12px;
    padding-right: 4px;
}

.chk-item {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.88rem;
}

.chk-item img {
    width: 42px;
    height: 42px;
    border-radius: 8px;
    object-fit: cover;
}

.chk-item-info {
    flex: 1;
}

.chk-item-name {
    font-weight: 700;
    color: var(--text-color);
}

.chk-item-qty {
    font-size: 0.78rem;
    color: var(--text-light);
}

.chk-item-price {
    font-weight: 800;
    color: var(--accent-color);
}

.checkout-summary-calc {
    border-top: 1px dashed var(--border-color);
    padding-top: 10px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 0.88rem;
}

.calc-row {
    display: flex;
    justify-content: space-between;
    color: var(--text-color);
}

.calc-row.discount {
    color: #2e7d32;
    font-weight: 700;
}

.calc-row.grand-total {
    font-weight: 800;
    font-size: 1.05rem;
    border-top: 1px solid var(--border-color);
    padding-top: 6px;
    margin-top: 4px;
    color: var(--accent-color);
}

.checkout-grid-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.checkout-section h4 {
    font-size: 1.1rem;
    text-align: left;
    margin-bottom: 14px;
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--accent-color);
}

.form-row-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.checkout-section .form-group {
    text-align: left;
    margin-bottom: 14px;
}

.checkout-section label {
    text-align: left;
    font-size: 0.82rem;
    margin-bottom: 6px;
    color: var(--text-color);
}

.checkout-section input {
    text-align: left;
    padding: 12px 16px;
    font-size: 0.92rem;
    border-radius: 10px;
}

.payment-options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 14px;
}

@media (max-width: 576px) {
    .payment-options, .form-row-2 {
        grid-template-columns: 1fr;
    }
}

.payment-option {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid var(--border-color);
    border-radius: 14px;
    cursor: pointer;
    transition: var(--transition-fast);
}

.payment-option:hover {
    border-color: var(--accent-color);
    background: #ffffff;
    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.2);
}

.payment-option.active-payment {
    border-color: var(--accent-color);
    background: #ffffff;
    box-shadow: 0 0 15px rgba(212, 175, 55, 0.35);
}

.payment-option input {
    accent-color: var(--accent-color);
    width: 18px;
    height: 18px;
}

.payment-info {
    display: flex;
    flex-direction: column;
}

.pay-title {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--text-color);

    display: flex;
    align-items: center;
    gap: 6px;
}

.pay-title i {
    color: var(--accent-color);
}

.payment-info small {
    font-size: 0.75rem;
    color: var(--text-light);
}

.card-details-fields {
    background: rgba(255, 255, 255, 0.6);
    border: 1px solid var(--border-color);
    padding: 16px;
    border-radius: 14px;
}

.checkout-footer {
    padding: 20px 28px;
    border-top: 1px solid var(--border-color);
    background: rgba(255, 255, 255, 0.7);
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.checkout-total-banner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 1.1rem;
    font-weight: 700;
}

.checkout-total-banner strong {
    color: var(--accent-color);
    font-size: 1.5rem;
    font-weight: 800;
}

.place-order-btn {
    width: 100%;
    padding: 16px;
    background: linear-gradient(135deg, var(--accent-color), var(--accent-hover));
    color: #ffffff;
    border: none;
    border-radius: 14px;
    font-weight: 800;
    font-size: 1.1rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
    transition: var(--transition-smooth);
    box-shadow: 0 4px 20px rgba(212, 175, 55, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.place-order-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(212, 175, 55, 0.6);
}

/* Success Modal */
.success-modal {
    padding: 35px 30px;
    text-align: center;
}

.success-header {
    margin-bottom: 20px;
}

.success-icon-wrap {
    margin-bottom: 12px;
}

.success-icon {
    font-size: 4.5rem;
    color: #2e7d32;
    animation: float 3s ease-in-out infinite;
    filter: drop-shadow(0 0 15px rgba(46, 125, 50, 0.4));
}

.success-subtitle {
    color: var(--text-light);
    font-size: 0.95rem;
    margin-top: 4px;
}

.order-details-box {
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid var(--border-color);
    border-radius: 18px;
    padding: 20px;
    margin-bottom: 24px;
    text-align: left;
    font-size: 0.92rem;
    box-shadow: inset 0 2px 6px rgba(0,0,0,0.03);
}

.receipt-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
    color: var(--text-color);
}

.est-date {
    color: var(--accent-color);
    font-weight: 700;
}

.receipt-hr {
    border: none;
    border-top: 1px dashed var(--border-color);
    margin: 12px 0;
}

.receipt-items-title {
    margin-bottom: 8px;
    color: var(--text-color);
}

.receipt-items-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 0.88rem;
}

.receipt-item {
    display: flex;
    justify-content: space-between;
    color: var(--text-light);
}

.grand-total-row {
    font-size: 1.15rem;

}

.gold-text {
    color: var(--accent-color);
    font-size: 1.25rem;
}

.receipt-note {
    margin-top: 10px;
    padding-top: 8px;
    border-top: 1px solid var(--border-color);
    font-size: 0.85rem;
    font-style: italic;
    color: var(--text-light);
}

.success-actions {
    display: flex;
    gap: 14px;
}

.print-receipt-btn {
    flex: 1;
    padding: 14px;
    background: transparent;
    border: 1px solid var(--text-color);
    color: var(--text-color);
    border-radius: 12px;
    font-weight: 700;
    font-size: 0.95rem;
    cursor: pointer;
    transition: var(--transition-fast);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.print-receipt-btn:hover {
    background: var(--text-color);
    color: var(--bg-color);
}

/* Clickable Cart Drawer Header Title */
a.cart-header-title {
    text-decoration: none !important;
    color: inherit;
    transition: var(--transition-fast);
}

a.cart-header-title:hover h3 {
    color: var(--accent-color);
}

a.cart-header-title:hover .title-link-icon {
    transform: translate(3px, -3px);
    color: var(--accent-color);
}

.title-link-icon {
    font-size: 0.82rem;
    margin-left: 6px;
    color: var(--text-light);
    transition: var(--transition-fast);
}

/* Dedicated Full-Page Cart.htm Styles */
.cart-page-main {
    min-height: calc(100vh - 120px);
    padding: 40px 20px 80px;
    width: 100%;
}

.cart-page-container {
    max-width: 1150px;
    margin: 0 auto;
}

.cart-page-header {
    margin-bottom: 30px;
    text-align: left;
}

.cart-breadcrumb {
    font-size: 0.9rem;
    color: var(--text-light);
    margin-bottom: 12px;
}

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

.cart-breadcrumb a:hover {
    color: var(--accent-color);
}

.cart-breadcrumb .active {
    color: var(--accent-color);
    font-weight: 700;
}

.cart-page-title {
    font-family: var(--font-handwriting);
    font-size: clamp(1.4rem, 2.5vw, 1.85rem);
    color: var(--text-color);
    margin-bottom: 8px;
    letter-spacing: 0.04em;
    font-weight: 700;
}

.cart-page-grid {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 20px;
    align-items: start;
}

@media (max-width: 900px) {
    .cart-page-grid {
        grid-template-columns: 1fr;
    }
}

.cart-page-left {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.page-card {
    background: #ffffff;
    border: 1.5px solid var(--border-color);
    border-radius: 14px;
    padding: 18px 20px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
}

.page-shipping-card {
    background: rgba(212, 175, 55, 0.09);
    border: 1.5px solid var(--border-color);
    border-radius: 12px;
    padding: 12px 18px;
}

.page-cart-items {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.gift-note-card h3 {
    font-size: 0.95rem;
    margin-bottom: 8px;
    color: var(--text-color);
    display: flex;
    align-items: center;
    gap: 8px;
}

.gift-note-card textarea {
    width: 100%;
    min-height: 75px;
    padding: 10px 14px;
    border-radius: 10px;
    border: 1.5px solid var(--border-color);
    background: rgba(253, 250, 235, 0.5);
    font-size: 0.84rem;
    font-family: var(--font-body);
    resize: vertical;
    outline: none;
    transition: var(--transition-fast);
}

.gift-note-card textarea:focus {
    border-color: var(--accent-color);
    background: #ffffff;
    box-shadow: 0 0 12px rgba(212, 175, 55, 0.25);
}

.summary-sticky-card {
    position: sticky;
    top: 100px;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(20px);
}

.summary-sticky-card h2 {
    font-family: var(--font-heading);
    font-size: 1.15rem;
    margin-bottom: 8px;
    color: var(--text-color);
}

.gold-line {
    width: 45px;
    height: 2px;
    background: var(--accent-color);
    margin-bottom: 14px;
}

.page-promo-section {
    margin-bottom: 16px;
}

.page-empty-cart {
    background: #ffffff;
    border: 1.5px solid var(--border-color);
    border-radius: 16px;
    padding: 36px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 12px;
    box-shadow: 0 6px 30px rgba(0,0,0,0.03);
}

.page-empty-cart h2 {
    font-family: var(--font-heading);
    font-size: 1.35rem;
    color: var(--text-color);
    margin-bottom: 2px;
}

.page-empty-cart p {
    color: var(--text-light);
    max-width: 380px;
    font-size: 0.82rem;
    line-height: 1.55;
}

/* ==========================================
   Mobile & Tablet Comprehensive Responsiveness
   ========================================== */
@media (max-width: 768px) {
    .header {
        padding: 12px 18px;
        flex-direction: column;
        gap: 12px;
    }
    
    .nav {
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px 14px;
    }
    
    .nav a {
        font-size: 0.82rem;
        padding: 6px 10px;
    }
    
    .cart-drawer {
        width: 100vw !important;
        max-width: 100vw !important;
    }
    
    .cart-page-grid {
        grid-template-columns: 1fr !important;
    }
    
    .cart-page-main {
        padding: 20px 12px 60px;
    }
    
    .page-card {
        padding: 16px;
    }
    
    .cart-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
    
    .cart-item-thumb {
        width: 100%;
        height: 180px;
        border-radius: 14px;
    }
    
    .cart-item-right {
        width: 100%;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }
}

@media (max-width: 480px) {
    .logo {
        height: 60px;
    }
    
    .intro-text {
        font-size: 1.15rem;
    }
    
    .promo-input-group {
        height: 44px !important;
        padding: 2px 4px 2px 14px !important;
    }
    
    .apply-promo-btn {
        height: 34px !important;
        padding: 0 16px !important;
        font-size: 0.78rem !important;
    }
    
    .checkout-btn {
        padding: 14px 20px;
        font-size: 0.9rem;
    }
}

.active-nav-cart {
    background: linear-gradient(135deg, var(--accent-color), var(--accent-hover)) !important;
    color: #ffffff !important;
    box-shadow: 0 0 20px rgba(212, 175, 55, 0.5) !important;
}

/* ==========================================
   Shipping Page & Logistics Carrier System
   ========================================== */
.shipping-page-main {
    padding: 16px 0 40px;
    width: 100%;
    max-width: 1040px;
    margin: 0 auto;
}

.shipping-hero {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 24px;
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(212, 175, 55, 0.15);
    border: 1px solid var(--accent-color);
    color: var(--accent-color);
    padding: 4px 14px;
    border-radius: 20px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.shipping-hero h2 {
    font-family: var(--font-heading);
    font-size: clamp(1.4rem, 2.5vw, 1.85rem);
    color: var(--text-color);
    margin-bottom: 8px;
    letter-spacing: 0.02em;
}

.shipping-intro {
    font-size: 0.84rem;
    color: var(--text-light);
    line-height: 1.55;
    max-width: 680px;
    margin: 0 auto;
}

.section-title-box {
    text-align: center;
    margin-bottom: 20px;
}

.section-title-box h3 {
    font-family: var(--font-handwriting);
    font-size: 1.25rem;
    color: var(--text-color);
    margin-bottom: 4px;
}

.section-title-box p {
    color: var(--text-light);
    font-size: 0.80rem;
}

/* Carrier Grid */
.carrier-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;
    margin-bottom: 32px;
}

.carrier-card {
    background: #ffffff;
    border: 1.5px solid var(--border-color);
    border-radius: 14px;
    padding: 16px 18px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
    transition: var(--transition-smooth);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.carrier-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(212, 175, 55, 0.18);
    border-color: var(--accent-color);
}

.carrier-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.carrier-logo-box {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    color: #ffffff;
    flex-shrink: 0;
}

.dhl-logo { background: linear-gradient(135deg, #d40511, #ffcc00); color: #d40511; }
.fedex-logo { background: linear-gradient(135deg, #4d148c, #ff6600); }
.ups-logo { background: linear-gradient(135deg, #351c15, #ffb500); color: #ffb500; }
.aramex-logo { background: linear-gradient(135deg, #e31837, #990000); }
.auspost-logo { background: linear-gradient(135deg, #dc1928, #990000); }

.carrier-title h4 {
    font-size: 1.02rem;
    font-weight: 700;
    color: var(--text-color);
    margin-bottom: 2px;
}

.carrier-tag {
    font-size: 0.68rem;
    color: var(--accent-color);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.carrier-desc {
    font-size: 0.78rem;
    color: var(--text-light);
    line-height: 1.45;
    margin-bottom: 12px;
}

.carrier-specs {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 14px;
    background: rgba(253, 250, 235, 0.6);
    border: 1px solid var(--border-color);
    border-radius: 10px;
    padding: 10px;
}

.spec-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.76rem;
}

.spec-label {
    color: var(--text-light);
    display: flex;
    align-items: center;
    gap: 6px;
}

.spec-label i {
    color: var(--accent-color);
    font-size: 0.78rem;
}

.spec-val {
    font-weight: 700;
    color: var(--text-color);
}

.spec-val.highlight {
    color: var(--accent-color);
    font-size: 0.86rem;
}

.badge-pill {
    padding: 2px 8px;
    border-radius: 16px;
    font-size: 0.70rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.badge-pill.success {
    background: rgba(40, 167, 69, 0.12);
    color: #28a745;
    border: 1px solid rgba(40, 167, 69, 0.3);
}

.badge-pill.info {
    background: rgba(23, 162, 184, 0.12);
    color: #17a2b8;
    border: 1px solid rgba(23, 162, 184, 0.3);
}

.badge-pill.badge-gold {
    background: rgba(212, 175, 55, 0.15);
    color: var(--text-color);
    border: 1px solid var(--accent-color);
}

.carrier-actions {
    display: flex;
    gap: 8px;
}

.btn-carrier-primary {
    flex: 1;
    height: 34px;
    border-radius: 7px;
    background: linear-gradient(135deg, var(--accent-color), var(--accent-hover));
    color: #ffffff;
    border: none;
    font-weight: 700;
    font-size: 0.75rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    box-shadow: 0 2px 10px rgba(212, 175, 55, 0.3);
    transition: var(--transition-fast);
}

.btn-carrier-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(212, 175, 55, 0.5);
}

.btn-carrier-secondary {
    flex: 1;
    height: 34px;
    border-radius: 7px;
    background: rgba(253, 250, 235, 0.8);
    border: 1px solid var(--border-color);
    color: var(--text-color);
    font-weight: 700;
    font-size: 0.75rem;
    cursor: pointer;
    transition: var(--transition-fast);
}

.btn-carrier-secondary:hover {
    background: #ffffff;
    border-color: var(--accent-color);
    color: var(--accent-color);
}

/* Comparison Table */
.comparison-section {
    margin-top: 30px;
}

.table-responsive-wrapper {
    overflow-x: auto;
    border-radius: 14px;
    border: 1.5px solid var(--border-color);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
    background: #ffffff;
}

.comparison-table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
    min-width: 700px;
}

.comparison-table th {
    background: linear-gradient(135deg, rgba(212, 175, 55, 0.15), rgba(212, 175, 55, 0.05));
    color: var(--text-color);
    font-weight: 800;
    font-size: 0.78rem;
    padding: 10px 14px;
    border-bottom: 2px solid var(--border-color);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.comparison-table td {
    padding: 10px 14px;
    border-bottom: 1px solid var(--border-color);
    font-size: 0.78rem;
    color: var(--text-color);
}

.comparison-table tbody tr:last-child td {
    border-bottom: none;
}

.comparison-table tbody tr:hover {
    background: rgba(253, 250, 235, 0.5);
}

.table-carrier-cell {
    display: flex;
    align-items: center;
    gap: 10px;
}

.table-carrier-cell i {
    font-size: 1.1rem;
    color: var(--accent-color);
}

.price-text {
    color: var(--accent-color);
    font-size: 1.05rem;
}

/* Tracking Modal Overlay */
.tracking-modal-overlay {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(8px);
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.tracking-modal-card {
    background: #ffffff;
    border: 2px solid var(--accent-color);
    border-radius: 24px;
    padding: 32px;
    max-width: 480px;
    width: 100%;
    position: relative;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}

.close-modal-btn {
    position: absolute;
    top: 16px; right: 20px;
    background: transparent;
    border: none;
    font-size: 1.8rem;
    cursor: pointer;
    color: var(--text-light);
}

.modal-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.modal-icon {
    font-size: 1.6rem;
    color: var(--accent-color);
}

.modal-header h3 {
    font-family: var(--font-handwriting);
    font-size: 1.5rem;
}

.tracking-input-group {
    display: flex;
    gap: 8px;
    margin: 20px 0;
    background: rgba(253, 250, 235, 0.8);
    border: 1.5px solid var(--border-color);
    border-radius: 30px;
    padding: 4px 6px 4px 16px;
}

.tracking-input-group input {
    flex: 1;
    border: none !important;
    background: transparent !important;
    outline: none !important;
    font-size: 0.9rem;
    font-weight: 600;
}

.btn-track-submit {
    height: 38px;
    padding: 0 22px;
    border-radius: 20px;
    background: linear-gradient(135deg, var(--accent-color), var(--accent-hover));
    color: #ffffff;
    border: none;
    font-weight: 800;
    cursor: pointer;
}

.tracking-result-box {
    background: rgba(253, 250, 235, 0.9);
    border: 1px solid var(--border-color);
    border-radius: 16px;
    padding: 16px;
    font-size: 0.9rem;
}

/* Live Rate Calculator Widget & SVG Logo Styling */
.carrier-logo-img {
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-shrink: 0;
}

.carrier-logo-img img {
    height: 32px;
    width: auto;
    object-fit: contain;
    max-width: 120px;
}

/* Carrier Brand Badges (CSS logos - no external images) */
.carrier-logo-badge {
    display: inline-flex;
    align-items: center;
    height: 34px;
    padding: 0 10px;
    border-radius: 6px;
    font-weight: 900;
    font-size: 1.1rem;
    letter-spacing: 0.04em;
    font-style: normal;
    font-family: var(--font-handwriting);
    line-height: 1;
}

.dhl-badge {
    background: #FFCC00;
    color: #D40511;
    font-size: 1.3rem;
    letter-spacing: 0.06em;
    border: 2px solid #D40511;
}

.fedex-badge {
    background: transparent;
    color: #4D148C;
    font-size: 1.25rem;
}
.fedex-badge em {
    font-style: normal;
    color: #FF6600;
}

.ups-badge {
    background: #351C15;
    color: #FFB500;
    font-size: 1.15rem;
    letter-spacing: 0.08em;
    border-radius: 8px;
}

.aramex-badge {
    background: transparent;
    color: #C8102E;
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: lowercase;
}

.auspost-badge {
    background: #C8102E;
    color: #ffffff;
    font-size: 0.95rem;
    letter-spacing: 0.04em;
    border-radius: 6px;
}

.live-calculator-section {
    margin-bottom: 28px;
}

.calc-card {
    background: #ffffff;
    border: 1.5px solid var(--accent-color);
    border-radius: 14px;
    padding: 18px 20px;
    box-shadow: 0 8px 30px rgba(212, 175, 55, 0.15);
}

.calc-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 12px;
}

.calc-icon {
    font-size: 1.5rem;
    color: var(--accent-color);
}

.calc-header h3 {
    font-family: var(--font-handwriting);
    font-size: 1.25rem;
    color: var(--text-color);
}

.calc-header p {
    color: var(--text-light);
    font-size: 0.80rem;
}

.calc-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 14px;
    margin-bottom: 16px;
}

.calc-group {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.calc-group label {
    font-size: 0.76rem;
    font-weight: 700;
    color: var(--text-color);
    display: flex;
    align-items: center;
    gap: 5px;
}

.calc-group label i {
    color: var(--accent-color);
}

.calc-group select,
.calc-group input[type="text"],
.calc-group input[type="email"],
.calc-group input[type="password"],
.calc-group input[type="tel"],
.calc-group input[type="date"],
.calc-group input[type="number"],
.calc-group input {
    height: 38px;
    border-radius: 10px;
    border: 1.5px solid var(--border-color);
    padding: 0 12px;
    font-size: 0.84rem;
    font-family: var(--font-body);
    font-weight: 500;
    color: var(--text-color);
    background: #ffffff;
    outline: none;
    transition: all 0.25s ease;
    width: 100%;
    box-sizing: border-box;
    text-align: left;
}

.calc-group select:focus,
.calc-group input:focus {
    background: #ffffff;
    border-color: var(--accent-color);
    box-shadow: 0 0 12px rgba(212, 175, 55, 0.3);
}

.calc-group input[type="date"] {
    position: relative;
    cursor: pointer;
}

.calc-group input[type="date"]::-webkit-calendar-picker-indicator {
    cursor: pointer;
    filter: invert(45%) sepia(85%) saturate(450%) hue-rotate(5deg);
    opacity: 0.8;
}

.dim-inputs {
    display: flex;
    align-items: center;
    gap: 4px;
}

.dim-inputs input {
    flex: 1;
    text-align: center;
}

.calc-results-wrapper h4 {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--text-color);
    margin-bottom: 14px;
}

.calc-results-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 14px;
}

.calc-result-card {
    background: rgba(253, 250, 235, 0.7);
    border: 1px solid var(--border-color);
    border-radius: 16px;
    padding: 14px 18px;
    transition: var(--transition-fast);
}

.calc-result-card:hover {
    background: #ffffff;
    border-color: var(--accent-color);
    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.15);
}

.calc-res-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.calc-res-header strong {
    font-size: 1.02rem;
    color: var(--text-color);
}

.calc-cost-pill {
    background: linear-gradient(135deg, var(--accent-color), var(--accent-hover));
    color: #ffffff;
    font-weight: 800;
    font-size: 0.82rem;
    padding: 4px 12px;
    border-radius: 20px;
    box-shadow: 0 2px 6px rgba(212, 175, 55, 0.3);
}

.calc-res-details {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 0.82rem;
    color: var(--text-light);
}

.calc-res-details i {
    color: var(--accent-color);
    width: 14px;
}

.table-link {
    color: var(--accent-color);
    font-weight: 700;
    text-decoration: none;
    transition: var(--transition-fast);
}

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

/* Header Action Controls & Wishlist Badges */
.header-actions-group {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: auto;
}

.header-action-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(253, 250, 235, 0.8);
    border: 1px solid var(--border-color);
    color: var(--text-color);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    cursor: pointer;
    position: relative;
    transition: var(--transition-fast);
}

.header-action-icon:hover {
    background: #ffffff;
    border-color: var(--accent-color);
    color: var(--accent-color);
    transform: translateY(-2px);
}

.wishlist-badge {
    position: absolute;
    top: -4px; right: -4px;
    background: #d9534f;
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 800;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #ffffff;
}

/* Product Card Stock & Wishlist Controls */
.card-badge-row {
    position: absolute;
    top: 14px; left: 14px; right: 14px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 2;
}

.stock-badge {
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 700;
    backdrop-filter: blur(8px);
}

.stock-badge.in-stock {
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(40, 167, 69, 0.4);
    color: #28a745;
}

.stock-badge.low-stock {
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(220, 53, 69, 0.4);
    color: #dc3545;
}

.wishlist-toggle-btn {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #FFFFFF;
    border: 1.5px solid #C8A35A;
    color: #C8A35A;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 1rem;
    transition: var(--transition-fast);
    box-shadow: 0 2px 8px rgba(200,163,90,0.15);
}

.wishlist-toggle-btn:hover {
    transform: scale(1.12);
    background: #C8A35A;
    color: #FFFFFF;
    border-color: #C8A35A;
}

/* Checkout Step Indicator Bar */
.step-indicator {
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--text-light);
}

.step-indicator.active {
    color: var(--accent-color);
    border-bottom: 2px solid var(--accent-color);
    padding-bottom: 2px;
}

.carrier-option-card {
    display: flex;
    align-items: center;
    padding: 14px 18px;
    border: 1.5px solid var(--border-color);
    border-radius: 16px;
    background: rgba(253, 250, 235, 0.5);
    cursor: pointer;
    transition: var(--transition-fast);
}

.carrier-option-card:hover, .carrier-option-card.selected {
    background: #ffffff;
    border-color: var(--accent-color);
    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.15);
}

/* Universal Underline Removal */
a, a:hover, a:focus, a:active,
.nav a, .header-icon-btn, .table-link, .title-link, .explore-btn {
    text-decoration: none !important;
    border-bottom: none !important;
    outline: none !important;
}

/* ==========================================
   Luxury Wishlist & Account Icon Design System
   ========================================== */

/* ==========================================================================
   MINIMALIST LUXURY HEADER ICON SUITE — NO CIRCLES, PURE LUXURY ICONS
   ========================================================================== */

.header-actions-group {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-left: 10px !important;
}

/* Completely remove navigation underline bar for action buttons */
.header-actions-group a::after,
.header-actions-group button::after,
.header-icon-btn::after,
.cart-btn::after {
    display: none !important;
    content: none !important;
    width: 0 !important;
    height: 0 !important;
    border: none !important;
}

/* ==========================================================================
   PURE FLOATING HEADER ACTION ICONS — RADIANT 24K GOLD COLOR
   ========================================================================== */
.header-icon-btn,
.subscribe-icon-btn,
.wishlist-icon-btn,
.account-icon-btn,
.cart-btn,
.nav-search-icon {
    width: auto !important;
    height: auto !important;
    min-width: 32px !important;
    min-height: 32px !important;
    max-width: none !important;
    max-height: none !important;
    padding: 4px 6px !important;
    border-radius: 0 !important;
    border: none !important;
    outline: none !important;
    background: transparent !important;
    box-shadow: none !important;
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    will-change: transform, filter !important;
    transition: transform 0.32s cubic-bezier(0.34, 1.56, 0.64, 1), filter 0.3s ease !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    flex-shrink: 0 !important;
}

.header-icon-btn:active,
.subscribe-icon-btn:active,
.wishlist-icon-btn:active,
.account-icon-btn:active,
.cart-btn:active {
    transform: translateY(-1px) scale(1.05) !important;
}

/* Inner Layout */
.subscribe-icon-btn .vip-badge-inner,
.wishlist-icon-btn .emblem-badge-inner,
.account-icon-btn .emblem-badge-inner {
    width: auto !important;
    height: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Hide Sub-Labels */
.vip-badge-text,
.emblem-badge-text {
    display: none !important;
}

/* --------------------------------------------------------------------------
   1. VIP CROWN EMBLEM (.subscribe-icon-btn)
   -------------------------------------------------------------------------- */
.subscribe-icon-btn .vip-badge-crown {
    width: 32px !important;
    height: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    top: -2px !important;
    background-image: url('images/emblem-vip-crown.png') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.32)) drop-shadow(0 0 1px rgba(0, 0, 0, 0.35)) contrast(1.06) brightness(1.02) !important;
    transition: transform 0.32s cubic-bezier(0.34, 1.56, 0.64, 1), filter 0.3s ease !important;
}

.subscribe-icon-btn .vip-badge-crown i {
    display: none !important;
}

.subscribe-icon-btn .vip-badge-sparkles {
    display: none !important;
}

.subscribe-icon-btn:hover {
    transform: translateY(-3px) scale(1.18) !important;
    background: transparent !important;
    box-shadow: none !important;
}

.subscribe-icon-btn:hover .vip-badge-crown {
    filter: drop-shadow(0 4px 12px rgba(229, 170, 23, 0.75)) drop-shadow(0 0 16px rgba(255, 208, 38, 0.85)) brightness(1.08) !important;
}


/* --------------------------------------------------------------------------
   2. WISHLIST ORIGAMI HEART EMBLEM (.wishlist-icon-btn)
   -------------------------------------------------------------------------- */
.wishlist-icon-btn .emblem-badge-icon {
    width: 32px !important;
    height: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-image: url('images/emblem-wishlist-heart.png') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.38)) drop-shadow(0 0 1.5px rgba(180, 20, 30, 0.45)) saturate(1.18) contrast(1.12) brightness(1.02) !important;
    transition: transform 0.32s cubic-bezier(0.34, 1.56, 0.64, 1), filter 0.3s ease !important;
}

.wishlist-icon-btn .emblem-badge-icon i {
    display: none !important;
}

.wishlist-badge {
    position: absolute !important;
    top: -4px !important;
    right: -6px !important;
    background: #e63946 !important;
    color: #ffffff !important;
    font-size: 0.65rem !important;
    font-weight: 900 !important;
    min-width: 18px !important;
    height: 18px !important;
    border-radius: 9px !important;
    display: inline-flex;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 4px !important;
    border: 1.5px solid #ffffff !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4) !important;
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    z-index: 2 !important;
}

.wishlist-badge[style*="display: none"],
.wishlist-badge[style*="display:none"],
.wishlist-badge:empty {
    display: none !important;
}

.wishlist-icon-btn:hover {
    transform: translateY(-3px) scale(1.18) !important;
    background: transparent !important;
    box-shadow: none !important;
}

.wishlist-icon-btn:hover .emblem-badge-icon {
    filter: drop-shadow(0 4px 12px rgba(230, 57, 70, 0.75)) drop-shadow(0 0 16px rgba(255, 77, 109, 0.85)) brightness(1.08) saturate(1.2) !important;
    animation: rubyHeartbeat 0.7s infinite alternate ease-in-out !important;
}


/* --------------------------------------------------------------------------
   3. ACCOUNT BUST EMBLEM (.account-icon-btn)
   -------------------------------------------------------------------------- */
.account-icon-btn .emblem-badge-icon {
    width: 32px !important;
    height: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-image: url('images/emblem-account-bust.png') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.42)) drop-shadow(0 0 1.5px rgba(0, 0, 0, 0.45)) saturate(1.15) contrast(1.16) brightness(0.96) !important;
    transition: transform 0.32s cubic-bezier(0.34, 1.56, 0.64, 1), filter 0.3s ease !important;
}

.account-icon-btn.has-user-avatar .emblem-badge-icon {
    background-image: none !important;
    filter: none !important;
}

.account-icon-btn .emblem-badge-icon > i,
.account-icon-btn:not(.has-user-avatar) .emblem-badge-icon i,
.account-icon-btn.has-user-avatar .emblem-badge-icon > i {
    display: none !important;
}

.account-icon-btn:hover {
    transform: translateY(-3px) scale(1.18) !important;
    background: transparent !important;
    box-shadow: none !important;
}

.account-icon-btn:hover .emblem-badge-icon {
    filter: drop-shadow(0 4px 12px rgba(229, 170, 23, 0.8)) drop-shadow(0 0 16px rgba(255, 208, 38, 0.9)) brightness(1.1) saturate(1.2) !important;
}


/* --------------------------------------------------------------------------
   4. ACTIVE NAV STATES (Pure Luminous Indicator)
   -------------------------------------------------------------------------- */
.subscribe-icon-btn.active .vip-badge-crown,
.cart-btn.active-nav-cart i {
    filter: drop-shadow(0 0 12px rgba(255, 208, 38, 0.95)) !important;
}

.wishlist-icon-btn.active .emblem-badge-icon {
    filter: drop-shadow(0 0 12px rgba(230, 57, 70, 0.95)) !important;
}

.account-icon-btn.active .emblem-badge-icon {
    filter: drop-shadow(0 0 12px rgba(229, 170, 23, 0.95)) !important;
}

/* Keyframe Animations */
@keyframes rubyHeartbeat {
    0% { transform: scale(1); }
    50% { transform: scale(1.14); }
    100% { transform: scale(1); }
}


/* Navbar User Custom Avatar / Emblem Holder */
.nav-user-avatar-content {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    max-width: 32px !important;
    max-height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    vertical-align: middle !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
}

/* 1. EMBLEM PROFILE AVATAR (fixed 32px container, auto-scaled with contain object-fit, centered) */
.nav-user-avatar-content.nav-avatar-emblem {
    width: 32px !important;
    height: 32px !important;
    max-width: 32px !important;
    max-height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    overflow: visible !important;
    border-radius: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    margin: 0 !important;
}

.nav-user-avatar-content.nav-avatar-emblem img,
.nav-user-avatar-content.nav-avatar-emblem .nav-user-avatar-img,
.nav-avatar-emblem-img {
    width: 100% !important;
    height: 100% !important;
    max-width: 38px !important;
    max-height: 38px !important;
    object-fit: contain !important;
    display: block !important;
    border-radius: 0 !important;
    margin: 0 auto !important;
    filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.42)) drop-shadow(0 0 1.5px rgba(0, 0, 0, 0.45)) saturate(1.15) contrast(1.16) brightness(0.96) !important;
    transition: transform 0.32s cubic-bezier(0.34, 1.56, 0.64, 1), filter 0.3s ease !important;
}

.account-icon-btn:hover .nav-user-avatar-content.nav-avatar-emblem img,
.account-icon-btn:hover .nav-avatar-emblem-img {
    transform: scale(1.15) !important;
    filter: drop-shadow(0 4px 12px rgba(229, 170, 23, 0.8)) drop-shadow(0 0 16px rgba(255, 208, 38, 0.9)) brightness(1.1) saturate(1.2) !important;
}

/* Optical scale reduction for Pharaoh Royal Avatar in navbar */
.nav-user-avatar-content.nav-avatar-emblem img[src*="pharaoh"] {
    transform: scale(0.91) !important;
}
.account-icon-btn:hover .nav-user-avatar-content.nav-avatar-emblem img[src*="pharaoh"] {
    transform: scale(0.96) !important;
}

/* Gentle optical balance for single standing figure in navbar */
.nav-user-avatar-content.nav-avatar-emblem img[src*="gentleman"],
.nav-user-avatar-content.nav-avatar-emblem img[src*="modeling-pose"] {
    transform: scale(1.1) !important;
}
.account-icon-btn:hover .nav-user-avatar-content.nav-avatar-emblem img[src*="gentleman"],
.account-icon-btn:hover .nav-user-avatar-content.nav-avatar-emblem img[src*="modeling-pose"] {
    transform: scale(1.20) !important;
}

/* Gentle upward optical alignment for Cosmetics & Shopper in navbar */
.nav-user-avatar-content.nav-avatar-emblem img[src*="flower"] {
    transform: scale(1.14) !important;
}
.account-icon-btn:hover .nav-user-avatar-content.nav-avatar-emblem img[src*="flower"] {
    transform: scale(1.21) !important;
}

.nav-user-avatar-content.nav-avatar-emblem img[src*="cosmetics"],
.nav-user-avatar-content.nav-avatar-emblem img[src*="makeup"] {
    transform: translateY(-1.5px) scale(1.1) !important;
}
.account-icon-btn:hover .nav-user-avatar-content.nav-avatar-emblem img[src*="cosmetics"],
.account-icon-btn:hover .nav-user-avatar-content.nav-avatar-emblem img[src*="makeup"] {
    transform: translateY(-1.5px) scale(1.19) !important;
}

.nav-user-avatar-content.nav-avatar-emblem img[src*="shopper"],
.nav-user-avatar-content.nav-avatar-emblem img[src*="woman"] {
    transform: translateY(-1.5px) !important;
}
.account-icon-btn:hover .nav-user-avatar-content.nav-avatar-emblem img[src*="shopper"],
.account-icon-btn:hover .nav-user-avatar-content.nav-avatar-emblem img[src*="woman"] {
    transform: translateY(-1.5px) scale(1.19) !important;
}

/* Subtle scale reduction for wide handbag in navbar */
.nav-user-avatar-content.nav-avatar-emblem img[src*="bag"] {
    transform: scale(1.0) !important;
}
.account-icon-btn:hover .nav-user-avatar-content.nav-avatar-emblem img[src*="bag"] {
    transform: scale(1.05) !important;
}

/* Optical scale boost for Astronaut, Couture, and Suit in navbar */
.nav-user-avatar-content.nav-avatar-emblem img[src*="astronaut"] {
    transform: scale(1.1) !important;
}
.account-icon-btn:hover .nav-user-avatar-content.nav-avatar-emblem img[src*="astronaut"] {
    transform: scale(1.19) !important;
}

.nav-user-avatar-content.nav-avatar-emblem img[src*="dress"] {
    transform: scale(1.0) !important;
}
.account-icon-btn:hover .nav-user-avatar-content.nav-avatar-emblem img[src*="dress"] {
    transform: scale(1.19) !important;
}

.nav-user-avatar-content.nav-avatar-emblem img[src*="suit"],
.nav-user-avatar-content.nav-avatar-emblem img[src*="fashion"] {
    transform: scale(1.0) !important;
}
.account-icon-btn:hover .nav-user-avatar-content.nav-avatar-emblem img[src*="suit"],
.account-icon-btn:hover .nav-user-avatar-content.nav-avatar-emblem img[src*="fashion"] {
    transform: scale(1.19) !important;
}

/* 2. PERSONAL UPLOADED PHOTO AVATAR (slightly larger 42px circular avatar, 50% circle, object-fit: cover) */
.nav-user-avatar-content.nav-avatar-photo {
    width: 41px !important;
    height: 41px !important;
    max-width: 41px !important;
    max-height: 41px !important;
    min-width: 41px !important;
    min-height: 41px !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    border: 1.8px solid #d4af37 !important;
    background: #121017 !important;
    box-shadow: 0 0 10px rgba(212, 175, 55, 0.4), 0 2px 6px rgba(0, 0, 0, 0.35) !important;
    margin: -4px !important;
}

.nav-user-avatar-content.nav-avatar-photo img,
.nav-user-avatar-content.nav-avatar-photo .nav-user-avatar-img,
.nav-avatar-photo-img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 50% !important;
    margin: 0 !important;
    transition: transform 0.32s cubic-bezier(0.34, 1.56, 0.64, 1), filter 0.3s ease !important;
}

.account-icon-btn:hover .nav-user-avatar-content.nav-avatar-photo {
    border-color: #f8e07a !important;
    box-shadow: 0 0 16px rgba(255, 208, 38, 0.95) !important;
    transform: translateY(-1px) scale(1.08) !important;
}

.account-icon-btn:hover .nav-user-avatar-content.nav-avatar-photo img,
.account-icon-btn:hover .nav-avatar-photo-img {
    transform: scale(1.06) !important;
}

.nav-user-avatar-content i {
    font-size: 1.35rem !important;
    color: var(--accent-color) !important;
    transition: color 0.3s ease !important;
}

.nav-user-avatar-content svg {
    width: 38px !important;
    height: 38px !important;
    max-width: 38px !important;
    max-height: 38px !important;
    display: block !important;
    transition: transform 0.3s ease, filter 0.3s ease !important;
}

.account-icon-btn:hover .nav-user-avatar-content i,
.account-icon-btn.active .nav-user-avatar-content i {
    color: #ffffff !important;
}

.account-icon-btn:hover .nav-user-avatar-content svg {
    transform: scale(1.08) !important;
    filter: drop-shadow(0 2px 8px rgba(212, 175, 55, 0.8)) !important;
}

/* Account Member Online/VIP Badge Ring */
.account-status-dot {
    width: 9px;
    height: 9px;
    background: #2ecc71;
    border-radius: 50%;
    position: absolute;
    top: 2px;
    right: 2px;
    border: 1.5px solid #ffffff;
    box-shadow: 0 0 8px rgba(46, 204, 113, 0.8);
}

/* Wishlist Counter Badge */
.wishlist-badge {
    background: #d9534f;
    color: #ffffff;
    font-size: 0.7rem;
    font-weight: 800;
    min-width: 18px;
    height: 18px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    border: 1.5px solid #ffffff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
    position: absolute;
    top: -2px;
    right: -2px;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.header-icon-btn:hover .wishlist-badge {
    background: #ffffff;
    color: #d9534f;
    border-color: #d9534f;
}

/* Product Card Wishlist Toggle Button */
.wishlist-toggle-btn {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1.5px solid rgba(212, 175, 55, 0.45);
    color: var(--text-color);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 1.05rem;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.wishlist-toggle-btn:hover {
    transform: scale(1.15);
    background: #ffffff;
    border-color: #d4af37;
    box-shadow: 0 6px 18px rgba(212, 175, 55, 0.35);
}

.wishlist-toggle-btn i {
    transition: all 0.25s ease;
}

/* When added to wishlist: icon inside circle turns into the exact nav heart emblem */
.wishlist-toggle-btn.active,
.wishlist-toggle-btn.in-wishlist {
    background: #ffffff !important;
    border-color: #d4af37 !important;
    box-shadow: 0 4px 14px rgba(212, 175, 55, 0.25) !important;
}

.wishlist-toggle-btn.active i,
.wishlist-toggle-btn.in-wishlist i,
.wishlist-toggle-btn .fas.fa-heart,
.pqv-wishlist-btn.in-wishlist i,
.pqv-wishlist-btn .fas.fa-heart {
    display: inline-block !important;
    width: 22px !important;
    height: 22px !important;
    background-image: url('images/emblem-wishlist-heart.png') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.25)) saturate(1.15) brightness(1.02) !important;
    animation: heartPop 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

.wishlist-toggle-btn.active:hover i,
.wishlist-toggle-btn.in-wishlist:hover i,
.wishlist-toggle-btn:hover .fas.fa-heart,
.pqv-wishlist-btn.in-wishlist:hover i,
.pqv-wishlist-btn:hover .fas.fa-heart {
    filter: drop-shadow(0 4px 12px rgba(230, 57, 70, 0.75)) drop-shadow(0 0 16px rgba(255, 77, 109, 0.85)) brightness(1.08) saturate(1.2) !important;
    animation: rubyHeartbeat 0.7s infinite alternate ease-in-out !important;
}

/* Wishlist Page Nav-Style Heart Emblems */
.wishlist-hero-emblem-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto 16px !important;
}

.wishlist-nav-style-heart-emblem {
    display: inline-block !important;
    background-image: url('images/emblem-wishlist-heart.png') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    vertical-align: middle !important;
    filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.25)) saturate(1.15) brightness(1.02) !important;
    transition: transform 0.3s ease, filter 0.3s ease !important;
}

.wishlist-nav-style-heart-emblem.large {
    width: 72px !important;
    height: 72px !important;
    filter: drop-shadow(0 4px 14px rgba(212, 175, 55, 0.45)) drop-shadow(0 0 18px rgba(248, 224, 122, 0.35)) saturate(1.18) brightness(1.04) !important;
    animation: goldHeartFloat 3s infinite ease-in-out alternate !important;
}

.wishlist-nav-style-heart-emblem.card-size {
    width: 24px !important;
    height: 24px !important;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2)) saturate(1.15) !important;
}

.wishlist-nav-style-heart-emblem.mini {
    width: 18px !important;
    height: 18px !important;
    margin-right: 6px !important;
    margin-top: -2px !important;
}

@keyframes goldHeartFloat {
    0% { transform: translateY(0) scale(1); }
    100% { transform: translateY(-4px) scale(1.04); }
}

/* Wishlist Empty Circle Badge - Matching Nav Hover Effect */
.wishlist-empty-circle-badge,
.page-empty-cart .empty-icon-circle {
    cursor: pointer !important;
    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.35s ease, border-color 0.3s ease !important;
}

.wishlist-empty-circle-badge:hover,
.page-empty-cart .empty-icon-circle:hover {
    transform: translateY(-4px) scale(1.12) !important;
    box-shadow: 0 12px 35px rgba(212, 175, 55, 0.45), 0 0 25px rgba(230, 57, 70, 0.35) !important;
    border-color: #d4af37 !important;
}

.wishlist-empty-circle-badge:hover .wishlist-nav-style-heart-emblem,
.page-empty-cart .empty-icon-circle:hover .wishlist-nav-style-heart-emblem {
    filter: drop-shadow(0 4px 12px rgba(230, 57, 70, 0.75)) drop-shadow(0 0 16px rgba(255, 77, 109, 0.85)) brightness(1.08) saturate(1.2) !important;
    animation: rubyHeartbeat 0.7s infinite alternate ease-in-out !important;
}

@keyframes floatingPulse {
    0%, 100% { transform: translateY(0) scale(1); box-shadow: 0 10px 30px rgba(217,83,79,0.2); }
    50% { transform: translateY(-8px) scale(1.05); box-shadow: 0 18px 35px rgba(217,83,79,0.35); }
}

/* Custom Luxury Gold DatePicker Widget */
input[type="date"] {
    accent-color: var(--accent-color) !important;
    color-scheme: light !important;
}

.luxury-datepicker-popover {
    position: absolute;
    z-index: 10000;
    width: 320px;
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1.5px solid var(--accent-color);
    border-radius: 20px;
    padding: 18px;
    box-shadow: 0 16px 45px rgba(212, 175, 55, 0.25), 0 8px 25px rgba(0, 0, 0, 0.08);
    font-family: var(--font-body);
    animation: luxuryPopIn 0.22s cubic-bezier(0.16, 1, 0.3, 1);
    color: var(--text-color);
}

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

.luxury-dp-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border-color);
}

.luxury-dp-selects {
    display: flex;
    gap: 8px;
    align-items: center;
}

.luxury-dp-custom-select {
    position: relative;
    display: inline-block;
}

.luxury-dp-select-trigger {
    background: rgba(253, 250, 235, 0.95);
    border: 1.5px solid var(--accent-color);
    border-radius: 10px;
    padding: 5px 10px;
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--text-color);
    font-family: var(--font-handwriting);
    cursor: pointer;
    outline: none;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: all 0.2s ease;
}

.luxury-dp-select-trigger:hover {
    background: #ffffff;
    box-shadow: 0 4px 12px rgba(212, 175, 55, 0.3);
    border-color: var(--accent-hover);
}

.luxury-dp-dropdown-menu {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    z-index: 10005;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1.5px solid var(--accent-color);
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(212, 175, 55, 0.35), 0 4px 15px rgba(0,0,0,0.08);
    max-height: 190px;
    overflow-y: auto;
    min-width: 110px;
    padding: 5px;
    animation: luxuryPopIn 0.18s ease;
}

/* Custom Gold Scrollbar */
.luxury-dp-dropdown-menu::-webkit-scrollbar {
    width: 5px;
}
.luxury-dp-dropdown-menu::-webkit-scrollbar-track {
    background: rgba(212, 175, 55, 0.08);
    border-radius: 4px;
}
.luxury-dp-dropdown-menu::-webkit-scrollbar-thumb {
    background: var(--accent-color);
    border-radius: 4px;
}

.luxury-dp-option {
    padding: 7px 10px;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-color);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.15s ease;
    display: flex;
    align-items: center;
    justify-content: space-between;
    white-space: nowrap;
}

.luxury-dp-option:hover {
    background: rgba(212, 175, 55, 0.16);
    color: var(--accent-color);
    font-weight: 700;
}

.luxury-dp-option.selected {
    background: linear-gradient(135deg, var(--accent-color), var(--accent-hover)) !important;
    color: #ffffff !important;
    font-weight: 800;
}

.luxury-dp-nav-btn {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid var(--border-color);
    background: #ffffff;
    color: var(--accent-color);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 0.85rem;
    transition: all 0.2s ease;
}

.luxury-dp-nav-btn:hover {
    background: var(--accent-color);
    color: #ffffff;
    border-color: var(--accent-color);
    transform: scale(1.08);
}

.luxury-dp-weekdays {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    text-align: center;
    font-size: 0.75rem;
    font-weight: 800;
    color: var(--accent-color);
    margin-bottom: 8px;
    letter-spacing: 0.5px;
}

.luxury-dp-days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 4px;
    text-align: center;
}

.luxury-dp-day {
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    font-weight: 600;
    border-radius: 10px;
    cursor: pointer;
    color: var(--text-color);
    transition: all 0.18s ease;
    user-select: none;
}

.luxury-dp-day:hover:not(.empty) {
    background: rgba(212, 175, 55, 0.2);
    color: var(--accent-color);
    font-weight: 700;
}

.luxury-dp-day.selected {
    background: linear-gradient(135deg, var(--accent-color), var(--accent-hover)) !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    box-shadow: 0 4px 12px rgba(212, 175, 55, 0.4);
}

.luxury-dp-day.today:not(.selected) {
    border: 1.5px solid var(--accent-color);
    color: var(--accent-color);
    font-weight: 800;
}

.luxury-dp-day.empty {
    cursor: default;
    opacity: 0;
}

.luxury-dp-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 14px;
    padding-top: 10px;
    border-top: 1px solid var(--border-color);
}

.luxury-dp-footer-btn {
    background: transparent;
    border: none;
    color: var(--accent-color);
    font-size: 0.82rem;
    font-weight: 700;
    cursor: pointer;
    padding: 6px 12px;
    border-radius: 8px;
    transition: all 0.2s ease;
}

.luxury-dp-footer-btn:hover {
    background: rgba(212, 175, 55, 0.15);
}

.luxury-dp-footer-btn.primary {
    background: var(--accent-color);
    color: #ffffff;
}

.luxury-dp-footer-btn.primary:hover {
    background: var(--accent-hover);
}

/* Copyright Notice Modal Overlay & Card */
.copyright-modal-overlay {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(17, 17, 24, 0.75);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.copyright-modal-overlay.open {
    opacity: 1;
    visibility: visible;
}

.copyright-modal-card {
    background: rgba(253, 250, 235, 0.98);
    border: 2px solid var(--border-color);
    border-radius: 26px;
    padding: 36px 32px;
    max-width: 520px;
    width: 100%;
    position: relative;
    font-family: var(--font-body);
    color: var(--text-color);
    box-shadow: 0 25px 70px rgba(0, 0, 0, 0.3), var(--gold-glow);
    transform: scale(0.92);
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.copyright-modal-overlay.open .copyright-modal-card {
    transform: scale(1);
}

.copyright-modal-card h3 {
    font-family: var(--font-heading);
    font-size: 1.65rem;
    font-weight: 700;
    color: var(--text-color);
    margin-bottom: 6px;
    text-shadow: 0 0 15px rgba(212, 175, 55, 0.5), 0 5px 25px rgba(212, 175, 55, 0.3);
}

.copyright-modal-card p,
.copyright-modal-card span,
.copyright-modal-card strong,
.copyright-modal-card button {
    font-family: var(--font-body);
}

.copyright-modal-card p,
.copyright-modal-card div:not(.copyright-seal-badge) {
    color: var(--text-color);
    font-weight: 600;
    text-shadow: 0 0 15px rgba(212, 175, 55, 0.4), 0 3px 15px rgba(212, 175, 55, 0.25);
}

.copyright-dev-box {
    margin-top: 16px;
    padding: 16px 20px;
    background: rgba(255, 255, 255, 0.75);
    border: 1px solid var(--border-color);
    border-radius: 16px;
    text-align: center;
    box-shadow: var(--shadow-sm);
}

.copyright-seal-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #111118;
    border: 1.5px solid var(--accent-color);
    padding: 10px 24px;
    border-radius: 50px;
    font-size: 0.82rem;
    font-weight: 700;
    font-family: var(--font-body);
    color: var(--accent-color) !important;
    text-shadow: 0 0 12px rgba(212, 175, 55, 0.6);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.25), 0 0 15px rgba(212, 175, 55, 0.25);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: default;
}

.copyright-seal-badge:hover {
    transform: translateY(-2px);
    background: #191924;
    border-color: var(--accent-hover);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35), 0 0 25px rgba(212, 175, 55, 0.45);
}

.copyright-modal-btn {
    width: 100%;
    height: 44px;
    margin-top: 16px;
    background: linear-gradient(135deg, var(--accent-color), var(--accent-hover));
    color: #ffffff;
    border: none;
    border-radius: 30px;
    font-family: var(--font-body);
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.3);
    transition: var(--transition-fast);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.copyright-modal-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(212, 175, 55, 0.5);
}

.copyright-link {
    cursor: pointer;
    transition: color 0.2s ease, text-shadow 0.2s ease;
}

.copyright-link:hover {
    color: var(--accent-color) !important;
    text-shadow: 0 0 15px rgba(212, 175, 55, 0.8);
}

/* Developer Name Hover Effect */
.dev-name-highlight {
    color: var(--accent-color);
    font-weight: 700;
    display: inline-block;
    cursor: pointer;
    margin-left: 6px;
    padding: 2px 10px;
    border-radius: 8px;
    border: 1px solid transparent;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.dev-name-highlight:hover {
    color: #111118;
    background: linear-gradient(135deg, rgba(212, 175, 55, 0.3), rgba(241, 201, 75, 0.45));
    border-color: var(--accent-color);
    transform: translateY(-2px) scale(1.05);
    text-shadow: 0 0 12px rgba(212, 175, 55, 0.8);
    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.35);
}

/* Direct Newsletter Subscription (No Nested Box) */
.newsletter-container {
    margin-top: 35px;
    text-align: center;
}

.gold-divider-line {
    width: 60px;
    height: 2px;
    background: var(--accent-color);
    margin: 0 auto 25px auto;
    box-shadow: var(--text-glow);
}

.newsletter-container h3 {
    font-family: var(--font-handwriting);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--text-color);
    margin-bottom: 8px;
    text-shadow: 0 0 15px rgba(212, 175, 55, 0.4);
}

.newsletter-desc {
    color: var(--text-light);
    font-size: 0.95rem;
    max-width: 520px;
    margin: 0 auto 22px auto;
    line-height: 1.6;
}

.newsletter-direct-form {
    display: flex;
    gap: 12px;
    max-width: 520px;
    margin: 0 auto;
    align-items: center;
}

.newsletter-direct-input {
    flex: 1;
    height: 48px;
    padding: 0 20px;
    background: #ffffff;
    border: 1.5px solid var(--border-color);
    border-radius: 12px;
    font-family: var(--font-body);
    font-size: 0.95rem;
    color: var(--text-color);
    outline: none;
    transition: var(--transition-fast);
    box-shadow: 0 2px 10px rgba(0,0,0,0.03);
}

.newsletter-direct-input:focus {
    border-color: var(--accent-color);
    box-shadow: 0 0 15px rgba(212, 175, 55, 0.25);
}

.newsletter-direct-btn {
    height: 50px;
    padding: 0 42px;
    background: linear-gradient(135deg, var(--accent-color), #b8860b);
    color: #ffffff !important;
    border: 1.5px solid var(--accent-color);
    border-radius: 25px;
    font-family: var(--font-heading);
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    box-shadow: 0 6px 20px rgba(212, 175, 55, 0.35);
    transition: all 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.newsletter-direct-btn:hover {
    background: linear-gradient(135deg, #f8e07a, var(--accent-color));
    color: #111111 !important;
    border-color: #ffffff;
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 10px 28px rgba(212, 175, 55, 0.6);
}

.newsletter-privacy-note {
    font-size: 0.78rem !important;
    color: #777788 !important;
    margin-top: 12px !important;
    margin-bottom: 0 !important;
}

@media (max-width: 580px) {
    .newsletter-direct-form {
        flex-direction: column;
        gap: 10px;
    }
    .newsletter-direct-input,
    .newsletter-direct-btn {
        width: 100%;
    }
}

/* Header Flag Badges (Australia & Italy Circles) */
.header-brand-wrap {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.header-flag-circle {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.12), 0 0 12px rgba(212, 175, 55, 0.3);
    border: 1.5px solid var(--border-color);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    background: #ffffff;
    flex-shrink: 0;
}

.header-flag-circle:hover {
    transform: translateY(-2px) scale(1.15);
    box-shadow: 0 6px 18px rgba(212, 175, 55, 0.5);
    border-color: var(--accent-color);
}

.header-flag-circle svg {
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 50%;
}

/* Bigger Footer Flags Layout (Australia Left, Italy Right) */
.footer-flags-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 850px;
    margin: 0 auto;
    padding: 10px 15px;
    gap: 20px;
}

.footer-center-content {
    flex: 1;
    text-align: center;
}

.footer-flag-circle {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    overflow: visible;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.12), 0 0 14px rgba(212, 175, 55, 0.3);
    border: 1.5px solid var(--accent-color);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: default;
    background: #ffffff;
    flex-shrink: 0;
}

/* Flag hover tooltip */
.flag-tooltip {
    position: absolute;
    top: -28px;
    left: 50%;
    transform: translateX(-50%) translateY(4px);
    padding: 2px 6px;
    background: transparent;
    color: #d4af37;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.22s ease, transform 0.22s ease;
    z-index: 20;
    text-align: center;
}

.footer-flag-circle:hover .flag-tooltip {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

.footer-flag-circle:hover {
    transform: translateY(-2px) scale(1.15);
    box-shadow: 0 6px 20px rgba(212, 175, 55, 0.55);
    border-color: #f1c94b;
}

.footer-flag-circle svg {
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 50%;
}

@media (max-width: 620px) {
    .footer-flags-wrapper {
        flex-direction: column;
        gap: 15px;
    }
}

/* Developer Name Flag (Australia) */
.dev-flag-au {
    width: 1.6em;
    height: 1.6em;
    border-radius: 50%;
    flex-shrink: 0;
    margin-left: 8px;
    border: 1px solid var(--accent-color);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.18), 0 0 6px rgba(212, 175, 55, 0.35);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
                box-shadow 0.3s ease,
                border-color 0.3s ease;
    cursor: default;
}

.dev-flag-au:hover {
    transform: translateY(-2px) scale(1.2);
    box-shadow: 0 4px 14px rgba(212, 175, 55, 0.6), 0 0 18px rgba(212, 175, 55, 0.4);
    border-color: #f1c94b;
}

/* Copyright Modal — Black & Gold Premium Shield */
@keyframes shieldLevitate {
    0%   { transform: translateY(0px); }
    50%  { transform: translateY(-11px); }
    100% { transform: translateY(0px); }
}

@keyframes shieldSpinRing {
    from { transform: translate(-50%, -50%) rotate(0deg); }
    to   { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes shieldHaloPulse {
    0%   { transform: translate(-50%, -50%) scale(1); opacity: 0.65; }
    100% { transform: translate(-50%, -50%) scale(1.75); opacity: 0; }
}

@keyframes shieldIconShimmer {
    0%, 100% {
        color: #d4af37;
        filter: drop-shadow(0 0 5px rgba(212,175,55,0.6));
    }
    50% {
        color: #f8e07a;
        filter: drop-shadow(0 0 16px rgba(248,224,122,1));
    }
}

@keyframes shieldInnerGlow {
    0%, 100% {
        box-shadow:
            0 6px 20px rgba(0,0,0,0.85),
            inset 0 0 14px rgba(212,175,55,0.12),
            0 0 0 0 rgba(212,175,55,0.4);
    }
    50% {
        box-shadow:
            0 14px 40px rgba(0,0,0,0.95),
            inset 0 0 28px rgba(212,175,55,0.28),
            0 0 22px rgba(212,175,55,0.22);
    }
}

.copyright-modal-icon {
    position: relative;
    width: 74px;
    height: 74px;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 35%, #2a2000, #0d0d00, #000000);
    border: 2px solid rgba(212,175,55,0.5);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    color: #d4af37;
    margin-bottom: 16px;
    animation:
        shieldLevitate 4s cubic-bezier(0.45, 0, 0.55, 1) infinite,
        shieldInnerGlow 4s ease-in-out infinite;
    will-change: transform, box-shadow;
    isolation: isolate;
}

/* Spinning gold arc ring */
.copyright-modal-icon::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: calc(100% + 14px);
    height: calc(100% + 14px);
    border-radius: 50%;
    background: conic-gradient(
        from 0deg,
        transparent 0deg,
        rgba(212,175,55,0.15) 30deg,
        #d4af37 80deg,
        #f8e07a 100deg,
        #d4af37 120deg,
        rgba(212,175,55,0.1) 160deg,
        transparent 200deg,
        transparent 360deg
    );
    animation: shieldSpinRing 2.8s linear infinite;
    pointer-events: none;
    z-index: -1;
    -webkit-mask: radial-gradient(circle, transparent 46%, black 47%);
    mask: radial-gradient(circle, transparent 46%, black 47%);
}

/* Expanding pulse halo */
.copyright-modal-icon::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 1.5px solid rgba(212,175,55,0.5);
    animation: shieldHaloPulse 3s ease-out infinite;
    pointer-events: none;
    z-index: -1;
}

.copyright-modal-icon i {
    animation: shieldIconShimmer 4s ease-in-out infinite;
    position: relative;
    z-index: 1;
}

/* VIP Page Diamond Badge - Masterpiece Animation & Hover */
.vip-diamond-wrapper {
    display: inline-block;
    position: relative;
    margin-bottom: 22px;
    perspective: 1000px;
}

@keyframes diamondFloat3D {
    0%   { transform: translateY(0px) rotateX(0deg) rotateY(0deg); }
    33%  { transform: translateY(-10px) rotateX(6deg) rotateY(-4deg); }
    66%  { transform: translateY(-5px) rotateX(-4deg) rotateY(6deg); }
    100% { transform: translateY(0px) rotateX(0deg) rotateY(0deg); }
}

@keyframes diamondOrbitalSpin {
    from { transform: translate(-50%, -50%) rotate(0deg); }
    to   { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes diamondPulseShockwave {
    0%   { transform: translate(-50%, -50%) scale(0.9); opacity: 0.8; }
    70%  { transform: translate(-50%, -50%) scale(1.65); opacity: 0; }
    100% { transform: translate(-50%, -50%) scale(1.65); opacity: 0; }
}

@keyframes diamondGlowBreatheMaster {
    0%, 100% {
        box-shadow: 
            0 8px 24px rgba(212, 175, 55, 0.35),
            0 0 15px rgba(212, 175, 55, 0.2),
            inset 0 0 14px rgba(255, 235, 170, 0.4);
        border-color: #d4af37;
    }
    50% {
        box-shadow: 
            0 16px 40px rgba(212, 175, 55, 0.65),
            0 0 35px rgba(248, 224, 122, 0.45),
            inset 0 0 25px rgba(255, 255, 255, 0.6);
        border-color: #f8e07a;
    }
}

@keyframes diamondGemBlackGold {
    0%, 100% {
        color: #111111;
        filter: drop-shadow(0 0 5px rgba(212, 175, 55, 0.9)) drop-shadow(0 2px 6px rgba(0, 0, 0, 0.5));
    }
    50% {
        color: #f8e07a;
        filter: drop-shadow(0 0 18px rgba(212, 175, 55, 1)) drop-shadow(0 0 32px rgba(248, 224, 122, 0.8));
    }
}

/* Floating sparkle stars animations */
@keyframes sparkleOrbit1 {
    0%, 100% { transform: translate(-28px, -24px) scale(0.8) rotate(0deg); opacity: 0.4; }
    50%       { transform: translate(-34px, -32px) scale(1.3) rotate(180deg); opacity: 1; filter: drop-shadow(0 0 8px #f8e07a); }
}

@keyframes sparkleOrbit2 {
    0%, 100% { transform: translate(28px, -22px) scale(1.1) rotate(45deg); opacity: 0.9; }
    50%       { transform: translate(36px, -14px) scale(0.7) rotate(225deg); opacity: 0.3; }
}

@keyframes sparkleOrbit3 {
    0%, 100% { transform: translate(24px, 24px) scale(0.7) rotate(90deg); opacity: 0.3; }
    50%       { transform: translate(32px, 30px) scale(1.2) rotate(270deg); opacity: 1; filter: drop-shadow(0 0 8px #f8e07a); }
}

.vip-diamond-badge {
    position: relative;
    width: 76px;
    height: 76px;
    border-radius: 50%;
    background: radial-gradient(circle at 32% 32%, #ffffff 0%, rgba(255,248,220,0.95) 25%, rgba(212,175,55,0.4) 65%, rgba(139,107,21,0.6) 100%);
    border: 2px solid #d4af37;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    color: #d4af37;
    cursor: pointer;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    animation: 
        diamondFloat3D 4.5s cubic-bezier(0.45, 0, 0.55, 1) infinite,
        diamondGlowBreatheMaster 4.5s ease-in-out infinite;
    transition: all 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
    will-change: transform, box-shadow;
    isolation: isolate;
}

/* Spinning Gold Ray Ring */
.vip-diamond-badge::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: calc(100% + 16px);
    height: calc(100% + 16px);
    border-radius: 50%;
    background: conic-gradient(
        from 0deg,
        transparent 0deg,
        rgba(212,175,55,0.2) 40deg,
        #d4af37 90deg,
        #ffffff 100deg,
        #f8e07a 110deg,
        rgba(212,175,55,0.15) 160deg,
        transparent 210deg,
        transparent 360deg
    );
    animation: diamondOrbitalSpin 3s linear infinite;
    pointer-events: none;
    z-index: -1;
    -webkit-mask: radial-gradient(circle, transparent 48%, black 49%);
    mask: radial-gradient(circle, transparent 48%, black 49%);
}

/* Expanding Shockwave Ring */
.vip-diamond-badge::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 1.5px solid rgba(212, 175, 55, 0.6);
    animation: diamondPulseShockwave 3.2s ease-out infinite;
    pointer-events: none;
    z-index: -1;
}

.vip-diamond-badge i {
    animation: diamondGemBlackGold 3.5s ease-in-out infinite;
    transition: all 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
    position: relative;
    z-index: 2;
}

/* Floating Star Sparkles */
.vip-diamond-sparkle {
    position: absolute;
    font-size: 0.9rem;
    color: #f8e07a;
    pointer-events: none;
    z-index: 3;
    line-height: 1;
}

.vip-diamond-sparkle.s1 {
    top: 50%; left: 50%;
    animation: sparkleOrbit1 3.5s ease-in-out infinite;
}

.vip-diamond-sparkle.s2 {
    top: 50%; left: 50%;
    animation: sparkleOrbit2 4.2s ease-in-out infinite 0.6s;
}

.vip-diamond-sparkle.s3 {
    top: 50%; left: 50%;
    animation: sparkleOrbit3 3.8s ease-in-out infinite 1.2s;
}

/* Breathtaking Hover Reaction */
.vip-diamond-wrapper:hover .vip-diamond-badge {
    transform: translateY(-8px) scale(1.22) rotate(6deg);
    background: radial-gradient(circle at 35% 35%, #ffffff 0%, #f8e07a 40%, #d4af37 80%, #8b6b15 100%);
    border-color: #ffffff;
    box-shadow: 
        0 20px 45px rgba(212, 175, 55, 0.8),
        0 0 60px rgba(248, 224, 122, 0.6),
        inset 0 0 25px rgba(255, 255, 255, 0.9);
}

.vip-diamond-wrapper:hover .vip-diamond-badge::before {
    animation-duration: 1.2s;
}

.vip-diamond-wrapper:hover .vip-diamond-badge i {
    color: #111111 !important;
    transform: scale(1.3) rotate(-12deg);
    filter: drop-shadow(0 0 12px #ffffff) drop-shadow(0 0 22px #f8e07a);
}

.vip-diamond-wrapper:hover .vip-diamond-sparkle {
    font-size: 1.2rem;
    filter: drop-shadow(0 0 12px #ffffff);
}

/* ROYAL ITALIAN LUXURY CREST BANNER */
.welcome-crest-banner {
    text-align: center;
    padding: 45px 20px 25px;
    position: relative;
    cursor: default;
}

/* Floating Gold Sub-badge */
@keyframes badgeShimmerBreathe {
    0%, 100% {
        box-shadow: 0 4px 15px rgba(212, 175, 55, 0.25), inset 0 0 10px rgba(255, 255, 255, 0.4);
        border-color: rgba(212, 175, 55, 0.5);
    }
    50% {
        box-shadow: 0 8px 25px rgba(212, 175, 55, 0.5), inset 0 0 15px rgba(255, 223, 118, 0.6);
        border-color: #f8e07a;
    }
}

@keyframes sparkleTwinkle {
    0%, 100% { transform: scale(1) rotate(0deg); opacity: 0.6; }
    50%       { transform: scale(1.3) rotate(180deg); opacity: 1; filter: drop-shadow(0 0 8px #f8e07a); }
}

.welcome-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 6px 20px;
    border-radius: 30px;
    background: linear-gradient(135deg, rgba(255, 248, 220, 0.7), rgba(212, 175, 55, 0.25));
    border: 1.5px solid rgba(212, 175, 55, 0.5);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.22em;
    color: var(--text-color);
    margin-bottom: 18px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    animation: badgeShimmerBreathe 4s ease-in-out infinite;
    transition: transform 0.4s ease;
}

.badge-sparkle {
    font-size: 0.85rem;
    display: inline-block;
    animation: sparkleTwinkle 3s ease-in-out infinite;
}

/* Royal Main Title */
@keyframes royalChromeSweep {
    0%   { background-position: -200% 50%; }
    100% { background-position: 200% 50%; }
}

@keyframes starFloatLeft {
    0%   { transform: translateY(0px) rotate(0deg); filter: drop-shadow(0 4px 10px rgba(212,175,55,0.35)); }
    50%  { transform: translateY(-7px) rotate(-8deg); filter: drop-shadow(0 8px 18px rgba(248,224,122,0.75)); color: #f8e07a; }
    100% { transform: translateY(0px) rotate(0deg); filter: drop-shadow(0 4px 10px rgba(212,175,55,0.35)); }
}

@keyframes starFloatRight {
    0%   { transform: translateY(0px) rotate(0deg); filter: drop-shadow(0 4px 10px rgba(212,175,55,0.35)); }
    50%  { transform: translateY(-7px) rotate(8deg); filter: drop-shadow(0 8px 18px rgba(248,224,122,0.75)); color: #f8e07a; }
    100% { transform: translateY(0px) rotate(0deg); filter: drop-shadow(0 4px 10px rgba(212,175,55,0.35)); }
}

.welcome-royal-title {
    font-family: var(--font-handwriting);
    font-size: 2.5rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    padding-bottom: 0 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 22px;
    margin: 0 0 16px 0;
    text-shadow: none;
}

.welcome-royal-title::after {
    display: none !important;
}

.royal-title-text {
    background: linear-gradient(
        120deg,
        #111111 0%,
        #333333 25%,
        #d4af37 45%,
        #ffffff 50%,
        #f8e07a 55%,
        #333333 75%,
        #111111 100%
    );
    background-size: 250% auto;
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: royalChromeSweep 8s ease-in-out infinite;
    transition: filter 0.5s ease;
}

/* Olive Leaf Side Accents (No Circle) */
.crest-side-badge {
    background: none;
    border: none;
    box-shadow: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    color: #d4af37;
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
    will-change: transform;
}

.crest-side-badge.left {
    animation: starFloatLeft 5s cubic-bezier(0.45, 0, 0.55, 1) infinite;
}

.crest-side-badge.right {
    animation: starFloatRight 5s cubic-bezier(0.45, 0, 0.55, 1) infinite 0.5s;
}

.crest-side-badge.right i {
    transform: scaleX(-1);
}

/* Royal Flourish Line & Gem Seal Divider */
@keyframes sealPulseSpin {
    0%   { transform: rotate(0deg) scale(1); box-shadow: 0 0 10px rgba(212,175,55,0.4); }
    50%  { transform: rotate(180deg) scale(1.12); box-shadow: 0 0 20px rgba(248,224,122,0.75); }
    100% { transform: rotate(360deg) scale(1); box-shadow: 0 0 10px rgba(212,175,55,0.4); }
}

.royal-flourish-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 10px;
}

.flourish-line {
    height: 2px;
    width: 110px;
    background: linear-gradient(90deg, transparent, #d4af37 60%, transparent);
    box-shadow: 0 0 10px rgba(212, 175, 55, 0.4);
    transition: width 0.5s cubic-bezier(0.25, 0.8, 0.25, 1), background 0.5s ease, box-shadow 0.5s ease;
}

.flourish-center-seal {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: linear-gradient(135deg, #111111, #221c08, #111111);
    border: 1.5px solid #d4af37;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.95rem;
    color: #d4af37;
    animation: sealPulseSpin 8s cubic-bezier(0.45, 0, 0.55, 1) infinite;
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
    will-change: transform;
}

/* Super Breathtaking Hover Reaction */
.welcome-crest-banner:hover .welcome-badge {
    transform: translateY(-3px) scale(1.04);
    background: linear-gradient(135deg, var(--accent-color), var(--accent-hover));
    color: #ffffff;
    border-color: #ffffff;
    box-shadow: 0 8px 25px rgba(212, 175, 55, 0.6);
}

.welcome-crest-banner:hover .royal-title-text {
    filter: drop-shadow(0 0 20px rgba(212, 175, 55, 0.8));
    animation-duration: 3s;
}

.welcome-crest-banner:hover .crest-side-badge {
    background: none;
    border: none;
    box-shadow: none;
    color: #f8e07a;
    filter: drop-shadow(0 0 16px rgba(248, 224, 122, 0.9));
}

.welcome-crest-banner:hover .crest-side-badge.left {
    transform: scale(1.25) rotate(-12deg);
}

.welcome-crest-banner:hover .crest-side-badge.right {
    transform: scale(1.25) rotate(12deg);
}

.welcome-crest-banner:hover .flourish-line {
    width: 170px;
    background: linear-gradient(90deg, transparent, #ffffff, #f8e07a, #d4af37, transparent);
    box-shadow: 0 0 20px rgba(212, 175, 55, 0.9);
}

.welcome-crest-banner:hover .flourish-center-seal {
    transform: scale(1.3) rotate(180deg);
    background: var(--accent-color);
    color: #ffffff;
    border-color: #ffffff;
    box-shadow: 0 0 25px rgba(248, 224, 122, 1);
}

/* Dedicated Subscribe Page Buttons */
.free-sub-btn {
    width: 100%;
    height: 48px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--accent-color), var(--accent-hover));
    color: #ffffff;
    border: none;
    font-family: var(--font-body);
    font-weight: 700;
    font-size: 0.98rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-shadow: 0 4px 15px rgba(212,175,55,0.35);
    margin-bottom: 12px;
}

/* VIP Button Upgraded Masterpiece Styling & Hover */
.vip-sub-btn {
    position: relative;
    width: 100%;
    height: 52px;
    border-radius: 12px;
    background: linear-gradient(145deg, #111118 0%, #1c1709 50%, #0d0d12 100%);
    color: #d4af37;
    border: 1.5px solid #d4af37;
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 0.96rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.4), inset 0 0 10px rgba(212, 175, 55, 0.15);
    transition: all 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
    overflow: hidden;
    isolation: isolate;
}

/* Light Beam Flare Sweep */
.vip-sub-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -120%;
    width: 80%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.35),
        rgba(248, 224, 122, 0.7),
        rgba(255, 255, 255, 0.35),
        transparent
    );
    transform: skewX(-25deg);
    transition: left 0.75s ease;
    pointer-events: none;
    z-index: 1;
}

.vip-sub-btn i {
    font-size: 1.1rem;
    color: #d4af37;
    transition: all 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
    position: relative;
    z-index: 2;
}

.vip-sub-btn span {
    position: relative;
    z-index: 2;
    transition: color 0.35s ease;
}

/* Breathtaking VIP Button Hover Effect */
.vip-sub-btn:hover {
    background: linear-gradient(135deg, #f8e07a 0%, #d4af37 45%, #b8860b 80%, #8b6b15 100%);
    color: #111111 !important;
    border-color: #ffffff;
    transform: translateY(-4px) scale(1.025);
    box-shadow: 
        0 14px 35px rgba(212, 175, 55, 0.75),
        0 0 30px rgba(248, 224, 122, 0.6),
        inset 0 0 20px rgba(255, 255, 255, 0.8);
}

.vip-sub-btn:hover::before {
    left: 140%;
}

.vip-sub-btn:hover span {
    color: #111111 !important;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.6);
}

.vip-sub-btn:hover i {
    color: #111111 !important;
    transform: scale(1.35) rotate(-15deg);
    filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.9));
}

/* Account Page Header Avatar & Title Animations - Shockwave & Glow Effect (Stationary) */
@keyframes accountWaveExpand {
    0%   { transform: translate(-50%, -50%) scale(0.85); opacity: 0.8; }
    70%  { transform: translate(-50%, -50%) scale(1.55); opacity: 0; }
    100% { transform: translate(-50%, -50%) scale(1.55); opacity: 0; }
}

@keyframes accountGlowPulse {
    0%, 100% {
        box-shadow: 
            0 6px 20px rgba(212, 175, 55, 0.35),
            0 0 12px rgba(212, 175, 55, 0.2),
            inset 0 0 12px rgba(255, 255, 255, 0.5);
        border-color: #d4af37;
    }
    50% {
        box-shadow: 
            0 14px 35px rgba(212, 175, 55, 0.7),
            0 0 28px rgba(248, 224, 122, 0.5),
            inset 0 0 22px rgba(255, 255, 255, 0.85);
        border-color: #f8e07a;
    }
}

.account-nav-style-bust-emblem {
    width: 36px !important;
    height: 36px !important;
    display: inline-block !important;
    background-image: url('images/emblem-account-bust.png') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    vertical-align: middle !important;
    filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.42)) drop-shadow(0 0 1.5px rgba(0, 0, 0, 0.45)) saturate(1.15) contrast(1.16) brightness(0.96) !important;
    transition: transform 0.3s ease, filter 0.3s ease !important;
}

.account-nav-style-bust-emblem.mini {
    width: 18px !important;
    height: 18px !important;
    margin-right: 6px !important;
    margin-top: -2px !important;
}

.account-header-badge {
    position: relative;
    width: 66px;
    height: 66px;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 35%, #ffffff 0%, rgba(255,248,220,0.95) 25%, rgba(212,175,55,0.4) 65%, rgba(139,107,21,0.55) 100%);
    border: 2px solid #d4af37;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.65rem;
    color: #d4af37;
    margin-bottom: 16px;
    animation: accountGlowPulse 4.5s ease-in-out infinite;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
    isolation: isolate;
    cursor: default;
    pointer-events: none;
    user-select: none;
}

/* Expanding Shockwave Ring */
.account-header-badge::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 1.5px solid rgba(212, 175, 55, 0.65);
    animation: accountWaveExpand 3.2s ease-out infinite;
    pointer-events: none;
    z-index: -1;
}

.account-header-badge i {
    filter: drop-shadow(0 0 6px rgba(212,175,55,0.7));
    transition: all 0.4s ease;
}

.account-header-badge img {
    width: 100%;
    height: 100%;
    max-width: 48px;
    max-height: 48px;
    object-fit: contain;
    display: block;
    filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.35));
}

/* Floating sparkle star for New User header badge */
@keyframes newUserSparkleOrbit {
    0%, 100% { transform: translate(20px, -20px) scale(0.9) rotate(0deg); opacity: 0.7; }
    50%       { transform: translate(24px, -26px) scale(1.3) rotate(180deg); opacity: 1; filter: drop-shadow(0 0 8px #f8e07a); }
}

.new-user-sparkle {
    position: absolute;
    top: 50%;
    left: 50%;
    font-size: 0.95rem;
    color: #f8e07a;
    pointer-events: none;
    z-index: 3;
    animation: newUserSparkleOrbit 3.5s ease-in-out infinite;
}

.account-header-title {
    font-family: var(--font-handwriting);
    font-size: 1.55rem;
    font-weight: 700;
    margin-bottom: 4px;
    color: var(--text-color);
    text-shadow: 0 0 15px rgba(212, 175, 55, 0.4);
    letter-spacing: 0.02em;
}

.account-header-subtitle {
    font-size: 0.86rem;
    color: var(--text-light);
    margin: 0;
    line-height: 1.5;
}

/* ==========================================================================
   EVieJ'S — ITALIAN HAUTE COUTURE ATELIER PASS & AVATAR SUITE
   ========================================================================== */

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

@keyframes evjGoldGlow {
    0%, 100% { box-shadow: 0 0 15px rgba(212, 175, 55, 0.3), inset 0 0 15px rgba(212, 175, 55, 0.15); }
    50% { box-shadow: 0 0 30px rgba(212, 175, 55, 0.65), 0 0 50px rgba(248, 224, 122, 0.3), inset 0 0 25px rgba(212, 175, 55, 0.3); }
}

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

@keyframes evjFloatSlow {
    0%, 100% { transform: translateY(0px) rotate(0deg); }
    50% { transform: translateY(-6px) rotate(0.5deg); }
}

/* ── Suite Container ─────────────────────────────────────────────── */
.evj-atelier-suite {
    width: 100%;
    animation: evjFadeInUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

/* ── Top Royal Banner ────────────────────────────────────────────── */
.evj-atelier-banner {
    background: linear-gradient(135deg, #121019 0%, #08070b 50%, #1a1724 100%);
    border: 1.8px solid #d4af37;
    border-radius: 26px;
    padding: 32px 40px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45), inset 0 0 30px rgba(212, 175, 55, 0.12);
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.evj-atelier-banner::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -20%;
    width: 350px;
    height: 350px;
    background: radial-gradient(circle, rgba(212, 175, 55, 0.22), transparent 70%);
    pointer-events: none;
}

.evj-banner-left {
    display: flex;
    align-items: center;
    gap: 22px;
    position: relative;
    z-index: 1;
}

.evj-royal-seal-badge {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 35%, #fff6cd 0%, #f8e07a 30%, #d4af37 70%, #7c5e0d 100%);
    border: 2px solid #ffffff;
    box-shadow: 0 8px 24px rgba(212, 175, 55, 0.5), inset 0 0 12px rgba(255, 255, 255, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-handwriting);
    font-size: 1.5rem;
    font-weight: 900;
    color: #0b0a0e;
    flex-shrink: 0;
    transition: transform 0.4s ease;
}

.evj-royal-seal-badge:hover {
    transform: scale(1.08) rotate(10deg);
}

.evj-banner-text h2 {
    font-family: var(--font-heading);
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    font-weight: 700;
    letter-spacing: 0.04em;
    margin: 0 0 6px;
    background: linear-gradient(135deg, #ffffff 30%, #f8e07a 70%, #d4af37 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.evj-banner-text p {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.75);
    margin: 0;
    line-height: 1.5;
}

.evj-banner-tag {
    background: rgba(212, 175, 55, 0.15);
    border: 1.5px solid rgba(212, 175, 55, 0.5);
    color: #f8e07a;
    padding: 10px 20px;
    border-radius: 30px;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    white-space: nowrap;
    position: relative;
    z-index: 1;
}

/* ── Main Layout Grid ────────────────────────────────────────────── */
.evj-atelier-grid {
    display: grid;
    grid-template-columns: 360px minmax(0, 1fr);
    gap: 36px;
    align-items: start;
    width: 100%;
}

/* ── Left Column: Live Interactive Card Preview ──────────────────── */
.evj-card-preview-sticky {
    position: sticky;
    top: 24px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
}

.evj-live-card {
    background: linear-gradient(145deg, #181522 0%, #0c0a12 60%, #201a2e 100%);
    border: 2px solid #d4af37;
    border-radius: 24px;
    padding: 26px;
    color: #ffffff;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.45), 0 0 30px rgba(212, 175, 55, 0.2);
    position: relative;
    overflow: hidden;
    animation: evjFloatSlow 6s ease-in-out infinite;
}

.evj-live-card::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 150px;
    height: 150px;
    background: radial-gradient(circle at 100% 0%, rgba(248, 224, 122, 0.2), transparent 70%);
    pointer-events: none;
}

.evj-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1.5px dashed rgba(212, 175, 55, 0.35);
    padding-bottom: 14px;
    margin-bottom: 20px;
}

.evj-card-brand {
    font-family: var(--font-handwriting);
    font-size: 1.15rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    color: #f8e07a;
    display: flex;
    align-items: center;
    gap: 8px;
}

.evj-hologram-chip {
    width: 38px;
    height: 26px;
    border-radius: 6px;
    background: linear-gradient(135deg, #f8e07a 0%, #d4af37 40%, #e67e22 70%, #d4af37 100%);
    border: 1px solid rgba(255, 255, 255, 0.6);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    position: relative;
    overflow: hidden;
}

.evj-hologram-chip::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: linear-gradient(45deg, transparent 40%, rgba(255,255,255,0.6) 50%, transparent 60%);
    animation: evjChipShine 4s infinite linear;
}

@keyframes evjChipShine {
    0% { transform: translateX(-100%); }
    20%, 100% { transform: translateX(100%); }
}

/* Card Profile Picture Display Box */
.evj-card-user-row {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 20px;
}

.evj-card-avatar-frame {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: #121017;
    border: 2px solid #d4af37;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 16px rgba(212, 175, 55, 0.4);
    overflow: hidden;
    flex-shrink: 0;
}

.evj-card-avatar-frame img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 4px;
}

.evj-card-avatar-frame i {
    font-size: 1.8rem;
    color: #d4af37;
}

.evj-card-user-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
    overflow: hidden;
}

.evj-card-label {
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    color: #8a8898;
    text-transform: uppercase;
}

.evj-card-name-val {
    font-family: var(--font-handwriting);
    font-size: 1.15rem;
    font-weight: 700;
    color: #ffffff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Card details metadata */
.evj-card-meta-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 18px;
}

.evj-card-meta-item {
    background: rgba(0, 0, 0, 0.25);
    border: 1px solid rgba(212, 175, 55, 0.2);
    border-radius: 12px;
    padding: 10px 12px;
}

.evj-card-meta-val {
    font-size: 0.88rem;
    font-weight: 700;
    color: #f8e07a;
    margin-top: 2px;
}

.evj-card-perks-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.8);
    border-top: 1px dashed rgba(212, 175, 55, 0.25);
    padding-top: 14px;
}

.evj-card-perks-list div {
    display: flex;
    align-items: center;
    gap: 8px;
}

.evj-card-perks-list i {
    color: #f8e07a;
    font-size: 0.85rem;
}

/* ── Right Column: Form Registration Dossier ─────────────────────── */
.evj-atelier-form-card {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(253, 251, 247, 0.96) 100%);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border: 1.8px solid rgba(212, 175, 55, 0.45);
    border-radius: 28px;
    padding: 38px 46px;
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.05), 0 0 24px rgba(212, 175, 55, 0.08);
    display: flex;
    flex-direction: column;
    gap: 28px;
    min-width: 0;
}

.evj-form-section {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.evj-section-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 10px;
    border-bottom: 1.8px solid rgba(212, 175, 55, 0.25);
}

.evj-section-num {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: linear-gradient(135deg, #d4af37, #f8e07a);
    color: #0b0a0e;
    font-family: var(--font-handwriting);
    font-weight: 900;
    font-size: 0.9rem;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(212, 175, 55, 0.35);
}

.evj-section-title {
    font-family: var(--font-handwriting);
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--text-color);
    margin: 0;
}

/* ── Profile Picture (P.P) Selection Suite ────────────────────────── */
.evj-pp-selector-box {
    background: rgba(212, 175, 55, 0.06);
    border: 1.8px dashed rgba(212, 175, 55, 0.45);
    border-radius: 22px;
    padding: 24px 26px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.evj-pp-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.evj-pp-title {
    font-size: 0.88rem;
    font-weight: 800;
    color: var(--text-color);
    letter-spacing: 0.04em;
    display: flex;
    align-items: center;
    gap: 8px;
}

.evj-pp-title i {
    color: var(--accent-color);
}

.evj-pp-subtitle {
    font-size: 0.78rem;
    color: var(--text-light);
}

/* Avatars Preset Grid */
.evj-preset-avatars-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(88px, 1fr));
    gap: 14px;
}

.evj-avatar-opt {
    width: 100%;
    aspect-ratio: 1;
    border-radius: 16px;
    background: #ffffff;
    border: 2px solid rgba(212, 175, 55, 0.3);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
    color: var(--text-color);
    box-shadow: 0 4px 12px rgba(0,0,0,0.03);
    padding: 3px 2px 2px;
}

.evj-avatar-opt i {
    font-size: 1.75rem;
    color: var(--accent-color);
    transition: transform 0.3s ease;
}

.evj-avatar-opt img {
    width: 48px !important;
    height: 48px !important;
    max-width: 48px !important;
    max-height: 48px !important;
    object-fit: contain !important;
    display: block !important;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.15));
    transition: transform 0.3s ease;
}

.evj-avatar-opt svg {
    width: 48px !important;
    height: 48px !important;
    max-width: 48px !important;
    max-height: 48px !important;
    display: block !important;
    transition: transform 0.3s ease;
}

.evj-avatar-opt span {
    font-size: 0.63rem;
    font-weight: 700;
    margin-top: 2px;
    color: var(--text-light);
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
    padding: 0 2px;
}

.evj-avatar-opt:hover {
    border-color: var(--accent-color);
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(212, 175, 55, 0.25);
}

.evj-avatar-opt:hover i,
.evj-avatar-opt:hover img,
.evj-avatar-opt:hover svg {
    transform: scale(1.15);
}

.evj-avatar-opt.selected {
    border-color: var(--accent-color);
    background: linear-gradient(135deg, rgba(212, 175, 55, 0.15), rgba(248, 224, 122, 0.25));
    box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.3), 0 8px 20px rgba(212, 175, 55, 0.3);
}

.evj-avatar-opt.selected::after {
    content: '✓';
    position: absolute;
    top: -6px;
    right: -6px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--accent-color);
    color: #ffffff;
    font-size: 0.68rem;
    font-weight: 900;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Custom Photo Upload Box */
.evj-custom-upload-wrap {
    display: flex;
    align-items: center;
    gap: 16px;
    padding-top: 6px;
    border-top: 1px dashed rgba(212, 175, 55, 0.25);
}

.evj-upload-btn-label {
    padding: 10px 18px;
    border-radius: 12px;
    background: #ffffff;
    border: 1.5px solid var(--accent-color);
    color: var(--text-color);
    font-size: 0.82rem;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.25s ease;
    box-shadow: 0 4px 12px rgba(212, 175, 55, 0.15);
}

.evj-upload-btn-label:hover {
    background: var(--accent-color);
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(212, 175, 55, 0.35);
}

.evj-upload-status-text {
    font-size: 0.78rem;
    color: var(--text-light);
    font-weight: 600;
}

/* ── Membership Tier Selection Cards ─────────────────────────────── */
.evj-tier-cards-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.evj-tier-option-card {
    border-radius: 18px;
    border: 1.8px solid rgba(212, 175, 55, 0.3);
    padding: 22px;
    background: #ffffff;
    cursor: pointer;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.evj-tier-option-card:hover {
    border-color: var(--accent-color);
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(212, 175, 55, 0.2);
}

.evj-tier-option-card.selected {
    border-color: var(--accent-color);
    background: linear-gradient(135deg, rgba(212, 175, 55, 0.08), rgba(248, 224, 122, 0.15));
    box-shadow: 0 8px 25px rgba(212, 175, 55, 0.25), inset 0 0 0 1px var(--accent-color);
}

.evj-tier-option-card.vip-black {
    background: linear-gradient(145deg, #15131c 0%, #09080d 100%);
    color: #ffffff;
    border-color: rgba(212, 175, 55, 0.6);
}

.evj-tier-option-card.vip-black.selected {
    border-color: #f8e07a;
    box-shadow: 0 12px 35px rgba(212, 175, 55, 0.4), inset 0 0 20px rgba(212, 175, 55, 0.2);
}

.evj-tier-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.evj-tier-title {
    font-family: var(--font-handwriting);
    font-size: 1.15rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 8px;
}

.evj-tier-badge-pill {
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 12px;
    border: 1px solid currentColor;
}

.evj-tier-price-tag {
    font-size: 1.4rem;
    font-weight: 800;
    color: var(--accent-color);
    margin-top: auto;
}

.evj-tier-option-card.vip-black .evj-tier-price-tag {
    color: #f8e07a;
}

/* Submit Action Button */
.evj-submit-atelier-btn {
    width: 100%;
    height: 60px;
    border-radius: 18px;
    border: none;
    background: linear-gradient(135deg, #d4af37 0%, #f8e07a 50%, #b89628 100%);
    color: #0b0a0e;
    font-family: var(--font-handwriting);
    font-size: 1.05rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    box-shadow: 0 10px 30px rgba(212, 175, 55, 0.4);
    transition: all 0.35s ease;
    margin-top: 10px;
}

.evj-submit-atelier-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 45px rgba(212, 175, 55, 0.65);
    background: linear-gradient(135deg, #f8e07a 0%, #d4af37 50%, #7c5e0d 100%);
}

/* ── Next-Gen Luxury Account & Registration Suite ───────────────── */
.evj-auth-switcher-wrap {
    display: flex;
    justify-content: center;
    margin-bottom: 28px;
}

.evj-auth-segmented-control {
    display: inline-flex;
    background: linear-gradient(135deg, rgba(20, 16, 26, 0.95), rgba(10, 8, 14, 0.98));
    border: 1.8px solid #d4af37;
    border-radius: 30px;
    padding: 6px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25), 0 0 20px rgba(212, 175, 55, 0.15);
    gap: 6px;
}

.evj-auth-seg-btn {
    padding: 10px 24px;
    border-radius: 24px;
    border: none;
    background: transparent;
    color: rgba(255, 255, 255, 0.75);
    font-family: var(--font-handwriting);
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.evj-auth-seg-btn.active {
    background: linear-gradient(135deg, #d4af37 0%, #f8e07a 50%, #b89628 100%);
    color: #0b0a0e;
    font-weight: 900;
    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.4);
}

/* Express Admin Quick Login Chips */
.evj-express-login-box {
    background: linear-gradient(135deg, rgba(212, 175, 55, 0.08), rgba(0, 0, 0, 0.2));
    border: 1.5px dashed rgba(212, 175, 55, 0.35);
    border-radius: 18px;
    padding: 16px;
    margin-top: 18px;
    text-align: left;
}

.evj-express-login-title {
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    color: var(--accent-color);
    text-transform: uppercase;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.evj-express-chip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    background: #ffffff;
    border: 1.5px solid rgba(212, 175, 55, 0.3);
    border-radius: 14px;
    cursor: pointer;
    transition: all 0.25s ease;
    margin-bottom: 8px;
}

.evj-express-chip:hover {
    border-color: var(--accent-color);
    background: linear-gradient(135deg, rgba(212, 175, 55, 0.1), rgba(248, 224, 122, 0.2));
    transform: translateX(4px);
}

.evj-express-chip-name {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--text-color);
}

.evj-express-chip-email {
    font-size: 0.72rem;
    color: var(--text-light);
}

/* Step Wizard Progress Bar */
.evj-wizard-steps-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
    position: relative;
}

.evj-wizard-steps-bar::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 10%;
    right: 10%;
    height: 2px;
    background: rgba(212, 175, 55, 0.25);
    z-index: 0;
    transform: translateY(-50%);
}

.evj-wizard-step-node {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}

.evj-wizard-step-circle {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #ffffff;
    border: 2px solid rgba(212, 175, 55, 0.4);
    color: var(--text-light);
    font-family: var(--font-handwriting);
    font-size: 0.9rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.evj-wizard-step-node.active .evj-wizard-step-circle {
    background: linear-gradient(135deg, #d4af37, #f8e07a);
    border-color: #ffffff;
    color: #0b0a0e;
    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.4);
    transform: scale(1.1);
}

.evj-wizard-step-node.completed .evj-wizard-step-circle {
    background: #27ae60;
    border-color: #ffffff;
    color: #ffffff;
}

.evj-wizard-step-label {
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--text-light);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.evj-wizard-step-node.active .evj-wizard-step-label {
    color: var(--accent-color);
    font-weight: 800;
}

/* Responsive Breakpoints */
@media (max-width: 900px) and (min-width: 769px) {
    .evj-atelier-grid {
        grid-template-columns: 320px minmax(0, 1fr);
        gap: 20px;
    }
    .evj-atelier-form-card {
        padding: 28px 24px;
    }
}

@media (max-width: 768px) {
    .evj-atelier-grid {
        grid-template-columns: 1fr;
    }
    .evj-preset-avatars-grid {
        grid-template-columns: repeat(4, 1fr);
    }
    .evj-tier-cards-grid {
        grid-template-columns: 1fr;
    }
    .evj-atelier-banner {
        flex-direction: column;
        align-items: flex-start;
        padding: 24px;
    }
}

@media (max-width: 480px) {
    .evj-preset-avatars-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 8px;
    }
}

/* ── Luxury 3D Card Parallax & Dynamic Dossier System ──────────────── */
.evj-card-perspective-wrap {
    perspective: 1200px;
    width: 100%;
}

.evj-live-card {
    background: linear-gradient(145deg, #181522 0%, #0c0a12 60%, #201a2e 100%);
    border: 2px solid #d4af37;
    border-radius: 24px;
    padding: 26px;
    color: #ffffff;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.45), 0 0 30px rgba(212, 175, 55, 0.2);
    position: relative;
    overflow: hidden;
    transform-style: preserve-3d;
    transition: transform 0.15s ease-out, box-shadow 0.3s ease;
    cursor: grab;
}

.evj-live-card:active {
    cursor: grabbing;
}

.evj-live-card::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: linear-gradient(45deg, transparent 40%, rgba(248, 224, 122, 0.15) 50%, transparent 60%);
    transform: rotate(25deg);
    pointer-events: none;
    animation: evjCardSheen 8s infinite linear;
}

@keyframes evjCardSheen {
    0% { transform: translateX(-100%) rotate(25deg); }
    30%, 100% { transform: translateX(100%) rotate(25deg); }
}

/* Haute Couture Step Dossier Navigation */
.evj-dossier-stepper-header {
    display: flex;
    align-items: center;
    justify-content: space-around;
    background: rgba(18, 16, 25, 0.95);
    border: 1.5px solid rgba(212, 175, 55, 0.4);
    border-radius: 22px;
    padding: 16px 32px;
    margin-bottom: 28px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3), 0 0 20px rgba(212, 175, 55, 0.1);
}

.evj-dossier-progress-line {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3px;
    background: linear-gradient(90deg, #d4af37, #f8e07a);
    box-shadow: 0 0 10px rgba(212, 175, 55, 0.8);
    transition: width 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.evj-dossier-step-tab {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    opacity: 0.55;
    transition: all 0.3s ease;
    user-select: none;
}

.evj-dossier-step-tab.active {
    opacity: 1;
}

.evj-dossier-step-num {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    border: 1.5px solid rgba(212, 175, 55, 0.4);
    color: #ffffff;
    font-family: var(--font-handwriting);
    font-size: 0.82rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.evj-dossier-step-tab.active .evj-dossier-step-num {
    background: linear-gradient(135deg, #d4af37, #f8e07a);
    border-color: #ffffff;
    color: #0b0a0e;
    box-shadow: 0 0 12px rgba(212, 175, 55, 0.5);
}

.evj-dossier-step-tab.completed .evj-dossier-step-num {
    background: #27ae60;
    border-color: #ffffff;
    color: #ffffff;
}

.evj-dossier-step-title {
    font-family: var(--font-handwriting);
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: #ffffff;
}

.evj-dossier-step-sub {
    font-size: 0.68rem;
    color: rgba(255, 255, 255, 0.6);
    display: block;
}

/* Security Encryption Shield Bar */
.evj-security-shield-card {
    background: linear-gradient(135deg, rgba(20, 18, 28, 0.95), rgba(10, 8, 14, 0.98));
    border: 1.5px solid rgba(212, 175, 55, 0.35);
    border-radius: 18px;
    padding: 16px 20px;
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.evj-security-shield-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.8rem;
    font-weight: 700;
    color: #ffffff;
}

.evj-security-shield-track {
    width: 100%;
    height: 8px;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.1);
    overflow: hidden;
    position: relative;
}

.evj-security-shield-fill {
    height: 100%;
    width: 0%;
    border-radius: 4px;
    background: linear-gradient(90deg, #e74c3c 0%, #f39c12 50%, #27ae60 100%);
    box-shadow: 0 0 10px rgba(39, 174, 96, 0.5);
    transition: width 0.35s ease;
}

/* Dossier Navigation Action Buttons */
.evj-dossier-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 10px;
}

.evj-btn-dossier-prev {
    height: 52px;
    padding: 0 24px;
    border-radius: 14px;
    border: 1.5px solid var(--border-color);
    background: #ffffff;
    color: var(--text-color);
    font-size: 0.9rem;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.25s ease;
}

.evj-btn-dossier-prev:hover {
    border-color: var(--accent-color);
    color: var(--accent-color);
    background: rgba(212, 175, 55, 0.08);
}

.evj-btn-dossier-next {
    height: 52px;
    padding: 0 32px;
    border-radius: 14px;
    border: none;
    background: linear-gradient(135deg, #d4af37 0%, #f8e07a 50%, #b89628 100%);
    color: #0b0a0e;
    font-family: var(--font-handwriting);
    font-size: 0.92rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 8px 24px rgba(212, 175, 55, 0.35);
    transition: all 0.3s ease;
}

.evj-btn-dossier-next:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(212, 175, 55, 0.55);
}



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

@keyframes blLineGrow {
    from { transform: scaleX(0); }
    to   { transform: scaleX(1); }
}

@keyframes blGoldPulse {
    0%, 100% { opacity: 0.6; }
    50%       { opacity: 1; }
}

@keyframes blShimmer {
    0%   { background-position: -300% center; }
    100% { background-position: 300% center; }
}

/* ── Outer wrapper ────────────────────────────────────────────────── */
.bl-page {
    width: 100%;
    display: grid;
    grid-template-columns: 380px 1fr;
    min-height: 680px;
    border-radius: 24px;
    overflow: hidden;
    box-shadow:
        0 40px 100px rgba(0,0,0,.22),
        0 8px 30px rgba(0,0,0,.1);
    animation: blReveal .55s cubic-bezier(.16,1,.3,1) both;
}

/* ── LEFT PANEL — Black editorial ────────────────────────────────── */
.bl-left {
    background: #000000;
    padding: 52px 44px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    overflow: hidden;
}

/* Subtle texture overlay */
.bl-left::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        repeating-linear-gradient(
            0deg,
            transparent,
            transparent 2px,
            rgba(255,255,255,.012) 2px,
            rgba(255,255,255,.012) 4px
        );
    pointer-events: none;
}

/* Large vertical brand letters */
.bl-brand-vertical {
    position: absolute;
    right: -10px;
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    transform-origin: center;
    font-family: var(--font-handwriting);
    font-size: 7.5rem;
    font-weight: 300;
    letter-spacing: 0.25em;
    color: rgba(255,255,255,.04);
    white-space: nowrap;
    pointer-events: none;
    user-select: none;
}

.bl-left-top { position: relative; z-index: 1; }

.bl-label-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 36px;
}

.bl-label-line {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, #d4af37, transparent);
    animation: blLineGrow .8s ease both;
    transform-origin: left;
}

.bl-label-text {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #d4af37;
    white-space: nowrap;
}

.bl-brand-mark {
    font-family: var(--font-handwriting);
    font-size: clamp(2.8rem, 4.5vw, 4.2rem);
    font-weight: 300;
    font-style: italic;
    color: #ffffff;
    line-height: 1.05;
    letter-spacing: -0.01em;
    margin-bottom: 6px;
}

.bl-brand-mark strong {
    font-weight: 600;
    font-style: normal;
}

.bl-brand-rule {
    width: 48px;
    height: 1px;
    background: #d4af37;
    margin: 20px 0;
    animation: blLineGrow 1s .3s ease both;
    transform-origin: left;
}

.bl-brand-tagline {
    font-size: 0.82rem;
    color: rgba(255,255,255,.45);
    line-height: 1.8;
    letter-spacing: 0.04em;
    font-weight: 300;
    max-width: 240px;
}

/* Bottom privileges list */
.bl-privileges { position: relative; z-index: 1; }

.bl-priv-label {
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(212,175,55,.6);
    margin-bottom: 16px;
    animation: blGoldPulse 3s ease-in-out infinite;
}

.bl-priv-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 11px 0;
    border-top: 1px solid rgba(255,255,255,.07);
    font-size: 0.82rem;
    color: rgba(255,255,255,.6);
    letter-spacing: 0.02em;
    font-weight: 300;
    transition: color .25s;
}

.bl-priv-item:hover { color: rgba(255,255,255,.9); }

.bl-priv-dot {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #d4af37;
    flex-shrink: 0;
}

.bl-priv-item strong {
    color: #d4af37;
    font-weight: 600;
}

/* ── RIGHT PANEL — Cream form ─────────────────────────────────────── */
.bl-right {
    background: #faf9f5;
    padding: 52px 52px 44px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 32px;
    overflow-y: auto;
}

.bl-right-header { flex-shrink: 0; }

.bl-right-eyebrow {
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: rgba(212,175,55,.9);
    margin-bottom: 10px;
}

.bl-right-title {
    font-family: var(--font-handwriting);
    font-size: 2rem;
    font-weight: 400;
    color: #0a0908;
    line-height: 1.2;
    margin-bottom: 6px;
}

.bl-right-sub {
    font-size: 0.82rem;
    color: #888880;
    line-height: 1.6;
    font-weight: 300;
}

/* ── Underline-only inputs ────────────────────────────────────────── */
.bl-form { display: flex; flex-direction: column; gap: 0; flex: 1; }

.bl-section-label {
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #c8b97a;
    padding-top: 28px;
    padding-bottom: 6px;
    border-top: 1px solid rgba(0,0,0,.07);
    margin-bottom: 16px;
}

.bl-section-label:first-child { border-top: none; padding-top: 0; }

.bl-row {
    display: grid;
    gap: 0 28px;
    margin-bottom: 0;
}

.bl-row-2 { grid-template-columns: 1fr 1fr; }
.bl-row-3 { grid-template-columns: 1fr 1fr 1fr; }

/* The bare underline field */
.bl-field {
    position: relative;
    padding-bottom: 24px;
}

.bl-field label {
    display: block;
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #aaa99a;
    margin-bottom: 8px;
    transition: color .2s;
}

.bl-field:focus-within label { color: #0a0908; }

.bl-field input,
.bl-field select {
    width: 100%;
    background: transparent;
    border: none;
    border-bottom: 1px solid #d0cfc5;
    border-radius: 0;
    outline: none;
    padding: 6px 0 8px;
    font-size: 0.95rem;
    font-weight: 400;
    color: #0a0908;
    font-family: var(--font-handwriting);
    transition: border-color .25s;
    appearance: none;
    -webkit-appearance: none;
}

.bl-field input::placeholder { color: #c5c4ba; font-weight: 300; }

.bl-field input:focus,
.bl-field select:focus {
    border-bottom-color: #0a0908;
}

/* Gold underline sweep on focus */
.bl-field::after {
    content: '';
    position: absolute;
    bottom: 24px;
    left: 0;
    width: 100%;
    height: 1px;
    background: #d4af37;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .35s cubic-bezier(.16,1,.3,1);
    pointer-events: none;
}

.bl-field:focus-within::after { transform: scaleX(1); }

/* Password field with toggle */
.bl-pass-wrap {
    position: relative;
    display: flex;
    align-items: flex-end;
}

.bl-pass-wrap input { flex: 1; padding-right: 28px; }

.bl-pass-toggle {
    position: absolute;
    right: 0;
    bottom: 8px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    color: #aaa99a;
    font-size: 0.8rem;
    transition: color .2s;
}

.bl-pass-toggle:hover { color: #0a0908; }

/* Password strength bar */
.bl-strength {
    margin-top: -16px;
    padding-bottom: 20px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.bl-strength-track {
    height: 2px;
    background: rgba(0,0,0,.08);
    border-radius: 2px;
    overflow: hidden;
}

.bl-strength-fill {
    height: 100%;
    border-radius: 2px;
    transition: width .4s ease, background .4s ease;
    width: 0%;
    background: #d4af37;
}

.bl-strength-texts {
    display: flex;
    justify-content: space-between;
    font-size: 0.68rem;
    color: #aaa99a;
    letter-spacing: 0.06em;
}

/* ── Membership tier ──────────────────────────────────────────────── */
.bl-tier-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    padding-bottom: 28px;
}

.bl-tier {
    border: 1px solid #e0dfd5;
    padding: 18px 16px;
    cursor: pointer;
    transition: all .3s ease;
    position: relative;
    background: #ffffff;
}

.bl-tier:hover {
    border-color: #0a0908;
}

.bl-tier.bl-selected {
    border-color: #0a0908;
    background: #0a0908;
    color: #ffffff;
}

.bl-tier-name {
    font-family: var(--font-handwriting);
    font-size: 1.05rem;
    font-weight: 600;
    color: #0a0908;
    display: block;
    margin-bottom: 4px;
}

.bl-tier.bl-selected .bl-tier-name { color: #ffffff; }

.bl-tier-price {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #aaa99a;
    display: block;
    margin-bottom: 10px;
}

.bl-tier.bl-selected .bl-tier-price { color: #d4af37; }

.bl-tier-check {
    position: absolute;
    top: 12px;
    right: 14px;
    width: 16px;
    height: 16px;
    border: 1px solid #d0cfc5;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .25s;
}

.bl-tier.bl-selected .bl-tier-check {
    background: #d4af37;
    border-color: #d4af37;
}

.bl-tier.bl-selected .bl-tier-check::after {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #000;
}

.bl-tier-perks {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.bl-tier-perks li {
    font-size: 0.74rem;
    color: #888880;
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: 300;
}

.bl-tier.bl-selected .bl-tier-perks li { color: rgba(255,255,255,.6); }

.bl-tier-perks li::before {
    content: '—';
    color: #d4af37;
    font-size: 0.6rem;
    flex-shrink: 0;
}

/* ── Submit ───────────────────────────────────────────────────────── */
.bl-footer { flex-shrink: 0; }

.bl-submit {
    width: 100%;
    height: 50px;
    background: #0a0908;
    color: #ffffff;
    border: 1px solid #0a0908;
    border-radius: 0;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    transition: all .35s ease;
    position: relative;
    overflow: hidden;
}

.bl-submit::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, transparent 30%, rgba(212,175,55,.25) 50%, transparent 70%);
    background-size: 300% auto;
    opacity: 0;
    transition: opacity .35s;
}

.bl-submit:hover {
    background: #000000;
    border-color: #d4af37;
    color: #d4af37;
    letter-spacing: 0.28em;
}

.bl-submit:hover::before { opacity: 1; }

.bl-submit i { font-size: 0.8rem; }

.bl-signin {
    text-align: center;
    margin-top: 16px;
    font-size: 0.78rem;
    color: #aaa99a;
    letter-spacing: 0.04em;
}

.bl-signin button {
    background: none;
    border: none;
    color: #0a0908;
    font-weight: 600;
    cursor: pointer;
    font-size: inherit;
    padding: 0;
    text-decoration: underline;
    text-underline-offset: 3px;
    letter-spacing: inherit;
    transition: color .2s;
}

.bl-signin button:hover { color: #d4af37; }

/* ── Responsive ───────────────────────────────────────────────────── */
@media (max-width: 900px) {
    .bl-page {
        grid-template-columns: 1fr;
        grid-template-rows: auto 1fr;
    }
    .bl-left {
        padding: 36px 32px;
        min-height: 220px;
    }
    .bl-brand-vertical { display: none; }
    .bl-right { padding: 36px 28px 32px; }
    .bl-row-2 { grid-template-columns: 1fr; }
    .bl-row-3 { grid-template-columns: 1fr 1fr; }
    .bl-tier-row { grid-template-columns: 1fr; }
}


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

@keyframes subtleBreath {
    0%, 100% { opacity: 0.6; transform: scale(1); }
    50%       { opacity: 1;   transform: scale(1.04); }
}

@keyframes lineGrow {
    from { width: 0; }
    to   { width: 60px; }
}

/* ── Outer page wrapper ─────────────────────────────────────────── */
.noir-reg-page {
    width: 100%;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    animation: fadeInUp 0.5s ease forwards;
}

/* ── Cinematic hero banner ──────────────────────────────────────── */
.noir-hero {
    width: 100%;
    border-radius: 28px;
    background:
        radial-gradient(ellipse at 20% 50%, rgba(212,175,55,.12) 0%, transparent 55%),
        radial-gradient(ellipse at 80% 20%, rgba(212,175,55,.08) 0%, transparent 50%),
        linear-gradient(160deg, #14121a 0%, #0b0a0f 60%, #18141e 100%);
    border: 1.5px solid rgba(212,175,55,.35);
    padding: 52px 60px;
    margin-bottom: 28px;
    position: relative;
    overflow: hidden;
    box-shadow:
        0 30px 80px rgba(0,0,0,.55),
        inset 0 1px 0 rgba(212,175,55,.25);
}

/* Decorative corner filigree lines */
.noir-hero::before,
.noir-hero::after {
    content: '';
    position: absolute;
    border: 1px solid rgba(212,175,55,.22);
    border-radius: 6px;
    pointer-events: none;
}
.noir-hero::before {
    top: 16px; left: 16px; right: 16px; bottom: 16px;
    border-radius: 20px;
}
.noir-hero::after {
    top: 24px; left: 24px; right: 24px; bottom: 24px;
    border-radius: 16px;
    border-color: rgba(212,175,55,.1);
}

.noir-hero-inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
}

.noir-hero-text { flex: 1; }

.noir-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #d4af37;
    margin-bottom: 20px;
}

.noir-eyebrow::before,
.noir-eyebrow::after {
    content: '';
    display: block;
    height: 1px;
    width: 28px;
    background: linear-gradient(90deg, transparent, #d4af37);
}
.noir-eyebrow::after { background: linear-gradient(90deg, #d4af37, transparent); }

.noir-headline {
    font-family: var(--font-handwriting);
    font-size: clamp(2rem, 4vw, 3.2rem);
    font-weight: 700;
    line-height: 1.15;
    color: #ffffff;
    margin: 0 0 18px;
    letter-spacing: -0.01em;
}

.noir-headline em {
    font-style: italic;
    background: linear-gradient(110deg, #f8e07a 0%, #d4af37 40%, #fff1b0 70%, #d4af37 100%);
    background-size: 250% auto;
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: goldShimmer 5s linear infinite;
}

.noir-subline {
    font-size: 0.96rem;
    color: rgba(255,255,255,.55);
    line-height: 1.7;
    max-width: 440px;
    margin-bottom: 28px;
}

.noir-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.noir-pill {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: rgba(212,175,55,.1);
    border: 1px solid rgba(212,175,55,.3);
    color: rgba(255,255,255,.75);
    padding: 6px 14px;
    border-radius: 100px;
    font-size: 0.76rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    transition: all .25s ease;
}
.noir-pill i { color: #d4af37; font-size: 0.7rem; }
.noir-pill:hover {
    background: rgba(212,175,55,.18);
    border-color: rgba(212,175,55,.55);
    color: #ffffff;
}

/* Gold monogram medallion */
.noir-medallion {
    width: 130px;
    height: 130px;
    border-radius: 50%;
    flex-shrink: 0;
    background: conic-gradient(from 0deg, #8b6b15, #d4af37, #f8e07a, #d4af37, #8b6b15);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow:
        0 0 0 8px rgba(212,175,55,.12),
        0 0 0 16px rgba(212,175,55,.06),
        0 20px 50px rgba(0,0,0,.6);
    animation: subtleBreath 5s ease-in-out infinite;
    position: relative;
}

.noir-medallion-inner {
    width: 108px;
    height: 108px;
    border-radius: 50%;
    background: linear-gradient(135deg, #16141e 0%, #0d0c12 100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
}

.noir-medallion-letters {
    font-family: var(--font-handwriting);
    font-size: 2rem;
    font-weight: 700;
    color: #d4af37;
    letter-spacing: 0.05em;
    line-height: 1;
}

.noir-medallion-sub {
    font-size: 0.5rem;
    font-weight: 800;
    letter-spacing: 0.2em;
    color: rgba(212,175,55,.6);
    text-transform: uppercase;
}

/* ── Main form area ─────────────────────────────────────────────── */
.noir-form-wrap {
    background: rgba(255,255,255,.9);
    backdrop-filter: blur(24px);
    border: 1.5px solid rgba(212,175,55,.3);
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0,0,0,.06);
}

/* Section header strip */
.noir-section-strip {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 20px 32px;
    background: linear-gradient(90deg, rgba(212,175,55,.08), transparent);
    border-bottom: 1px solid rgba(212,175,55,.2);
}

.noir-section-num {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--accent-color);
    color: #fff;
    font-size: 0.8rem;
    font-weight: 900;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 12px rgba(212,175,55,.4);
}

.noir-section-name {
    font-family: var(--font-handwriting);
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--text-color);
}

.noir-section-desc {
    font-size: 0.82rem;
    color: var(--text-light);
    margin-left: auto;
}

/* Fields inner padding */
.noir-fields {
    padding: 28px 32px;
    display: flex;
    flex-direction: column;
    gap: 18px;
    border-bottom: 1px solid rgba(212,175,55,.15);
}

.noir-fields:last-child { border-bottom: none; }

.noir-row {
    display: grid;
    gap: 16px;
}

.noir-row-2 { grid-template-columns: 1fr 1fr; }
.noir-row-3 { grid-template-columns: 1fr 2fr 1fr; }

/* ── Tier selector ──────────────────────────────────────────────── */
.noir-tier-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.noir-tier-card {
    border-radius: 20px;
    border: 1.8px solid rgba(212,175,55,.25);
    padding: 22px 20px;
    cursor: pointer;
    position: relative;
    transition: all .3s ease;
    display: flex;
    flex-direction: column;
    gap: 12px;
    background: rgba(255,255,255,.6);
}

.noir-tier-card:hover {
    border-color: rgba(212,175,55,.55);
    transform: translateY(-3px);
    box-shadow: 0 12px 35px rgba(212,175,55,.15);
}

.noir-tier-card.selected {
    border-color: #d4af37;
    background: linear-gradient(135deg, rgba(212,175,55,.1), rgba(248,224,122,.15));
    box-shadow: 0 8px 30px rgba(212,175,55,.2), inset 0 0 0 1px rgba(212,175,55,.35);
}

.noir-tier-card.vip-dark {
    background: linear-gradient(135deg, #16141e 0%, #0d0c12 100%);
    border-color: rgba(212,175,55,.5);
    color: #fff;
}

.noir-tier-card.vip-dark:hover,
.noir-tier-card.vip-dark.selected {
    border-color: #f8e07a;
    box-shadow: 0 12px 40px rgba(212,175,55,.35), inset 0 0 25px rgba(212,175,55,.1);
}

.noir-tier-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 100px;
    border: 1px solid currentColor;
    width: fit-content;
}

.noir-tier-card.vip-dark .noir-tier-badge {
    color: #f8e07a;
    background: rgba(248,224,122,.1);
    border-color: rgba(248,224,122,.4);
}

.noir-tier-name {
    font-family: var(--font-handwriting);
    font-size: 1.2rem;
    font-weight: 700;
    color: inherit;
}

.noir-tier-card.vip-dark .noir-tier-name { color: #ffffff; }

.noir-tier-perks {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.noir-tier-perks li {
    font-size: 0.82rem;
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--text-light);
}

.noir-tier-card.vip-dark .noir-tier-perks li { color: rgba(255,255,255,.7); }

.noir-tier-perks li::before {
    content: '';
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--accent-color);
    flex-shrink: 0;
}

.noir-tier-price {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--accent-color);
    margin-top: auto;
}

.noir-tier-card.vip-dark .noir-tier-price { color: #f8e07a; }

.noir-recommended-tag {
    position: absolute;
    top: -1px;
    right: 16px;
    background: linear-gradient(135deg, #d4af37, #f8e07a);
    color: #111;
    font-size: 0.6rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    padding: 4px 10px;
    border-radius: 0 0 10px 10px;
}

/* ── Submit strip ───────────────────────────────────────────────── */
.noir-submit-strip {
    padding: 28px 32px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    background: linear-gradient(180deg, rgba(212,175,55,.04), rgba(212,175,55,.09));
    border-top: 1px solid rgba(212,175,55,.2);
}

.noir-submit-btn {
    width: 100%;
    height: 60px;
    border-radius: 18px;
    border: none;
    cursor: pointer;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    transition: all .35s cubic-bezier(.4,0,.2,1);
    background: linear-gradient(110deg, #b89628 0%, #d4af37 30%, #f8e07a 60%, #d4af37 80%, #8b6b15 100%);
    background-size: 250% auto;
    color: #ffffff;
    text-shadow: 0 1px 4px rgba(0,0,0,.3);
    box-shadow: 0 8px 32px rgba(212,175,55,.4), 0 2px 6px rgba(0,0,0,.15);
}

.noir-submit-btn:hover {
    background-position: right center;
    transform: translateY(-2px);
    box-shadow: 0 14px 45px rgba(212,175,55,.55), 0 4px 12px rgba(0,0,0,.2);
}

.noir-submit-btn:active { transform: translateY(0); }

.noir-signin-link {
    text-align: center;
    font-size: 0.86rem;
    color: var(--text-light);
}

.noir-signin-link button {
    background: none;
    border: none;
    color: var(--accent-color);
    font-weight: 700;
    cursor: pointer;
    font-size: inherit;
    padding: 0;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color .2s;
}

.noir-signin-link button:hover { color: #b89628; }

/* ── Responsive ─────────────────────────────────────────────────── */
@media (max-width: 860px) {
    .noir-hero { padding: 36px 28px; }
    .noir-hero-inner { flex-direction: column-reverse; align-items: flex-start; }
    .noir-medallion { width: 90px; height: 90px; }
    .noir-medallion-inner { width: 76px; height: 76px; }
    .noir-medallion-letters { font-size: 1.4rem; }
    .noir-section-desc { display: none; }
    .noir-row-2, .noir-row-3 { grid-template-columns: 1fr; }
    .noir-tier-wrap { grid-template-columns: 1fr; }
    .noir-fields { padding: 20px 20px; }
    .noir-section-strip { padding: 16px 20px; }
    .noir-submit-strip { padding: 20px 20px; }
}

.couture-envelope-container {
    width: 100%;
    animation: fadeInUp 0.5s ease forwards;
}

/* Wax Sealed Envelope Top Banner */
.envelope-banner {
    background: linear-gradient(135deg, #18171f 0%, #0d0c12 100%);
    border: 1.8px solid #d4af37;
    border-radius: 24px;
    padding: 26px 30px;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.5), inset 0 0 25px rgba(212, 175, 55, 0.15);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
    position: relative;
    overflow: hidden;
}

.envelope-banner::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(212, 175, 55, 0.18), transparent 70%);
    pointer-events: none;
}

.envelope-banner-left {
    display: flex;
    align-items: center;
    gap: 20px;
}

.gold-wax-seal {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 35%, #fff1b0 0%, #f8e07a 25%, #d4af37 60%, #8b6b15 100%);
    border: 2px solid #ffffff;
    box-shadow: 0 6px 20px rgba(212, 175, 55, 0.6), inset 0 0 10px rgba(255, 255, 255, 0.9);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-handwriting);
    font-size: 1.5rem;
    font-weight: 900;
    color: #111015;
    flex-shrink: 0;
    transition: transform 0.4s ease;
}

.gold-wax-seal:hover {
    transform: rotate(12deg) scale(1.08);
}

.envelope-banner-text h3 {
    font-family: var(--font-handwriting);
    font-size: 1.8rem;
    font-weight: 800;
    color: #ffffff;
    margin: 0 0 4px;
    letter-spacing: 0.02em;
    background: linear-gradient(135deg, #ffffff 40%, #f8e07a 80%, #d4af37 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.envelope-banner-text p {
    font-size: 0.88rem;
    color: #cccccc;
    margin: 0;
}

.envelope-tag-pill {
    background: rgba(212, 175, 55, 0.15);
    border: 1px solid rgba(212, 175, 55, 0.5);
    color: #f8e07a;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    white-space: nowrap;
}

/* Couture Passport Main Grid */
.couture-passport-grid {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 24px;
    align-items: start;
}

/* Left Card: 3D Holographic Passport Card */
.passport-card-container {
    background: linear-gradient(135deg, #1b1922 0%, #0c0b10 100%);
    border: 1.8px solid #d4af37;
    border-radius: 24px;
    padding: 24px;
    color: #ffffff;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.4), inset 0 0 20px rgba(212, 175, 55, 0.15);
    display: flex;
    flex-direction: column;
    gap: 20px;
    position: sticky;
    top: 20px;
}

.passport-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px dashed rgba(212, 175, 55, 0.3);
    padding-bottom: 12px;
}

.passport-brand-title {
    font-family: var(--font-handwriting);
    font-size: 1.1rem;
    font-weight: 800;
    color: #f8e07a;
    letter-spacing: 0.08em;
}

.passport-hologram-chip {
    width: 32px;
    height: 24px;
    border-radius: 6px;
    background: linear-gradient(135deg, #f8e07a, #d4af37, #8b6b15);
    border: 1px solid #ffffff;
    box-shadow: 0 2px 8px rgba(212, 175, 55, 0.4);
}

.passport-holder-block {
    display: flex;
    flex-direction: column;
    gap: 4px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(212, 175, 55, 0.2);
    border-radius: 14px;
    padding: 14px;
}

.passport-label {
    font-size: 0.65rem;
    font-weight: 800;
    color: #888899;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.passport-val {
    font-size: 1.05rem;
    font-weight: 800;
    color: #ffffff;
    letter-spacing: 0.04em;
}

.passport-perks-mini {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.passport-perk-row {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.82rem;
    color: #dddddd;
}

.passport-perk-row i {
    color: #f8e07a;
    font-size: 0.95rem;
}

/* Right Card: Passport Form Dossier */
.couture-form-dossier {
    background: rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(20px);
    border: 1.5px solid rgba(212, 175, 55, 0.45);
    border-radius: 24px;
    padding: 32px 30px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.04);
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.dossier-section {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.dossier-section-title {
    font-family: var(--font-handwriting);
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--text-color);
    margin: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    padding-bottom: 8px;
    border-bottom: 1.5px solid rgba(212, 175, 55, 0.25);
}

.btn-unseal-vault {
    width: 100%;
    height: 58px;
    border-radius: 16px;
    background: linear-gradient(135deg, #d4af37 0%, #f8e07a 50%, #b89628 100%);
    border: none;
    color: #ffffff;
    font-size: 1.05rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    box-shadow: 0 10px 30px rgba(212, 175, 55, 0.4);
    cursor: pointer;
    transition: all 0.35s ease;
}

.btn-unseal-vault:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 40px rgba(212, 175, 55, 0.6);
    background: linear-gradient(135deg, #f8e07a 0%, #d4af37 50%, #8b6b15 100%);
}

@media (max-width: 820px) {
    .envelope-banner {
        flex-direction: column;
        align-items: flex-start;
    }
    .couture-passport-grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   PRODUCT QUICK VIEW MODAL (DRIBBBLE LUXURY STYLE)
   ========================================================================== */

.product-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(10, 9, 14, 0.78);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.35s ease;
}

.product-modal-overlay.open {
    opacity: 1;
    visibility: visible;
}

.product-quickview-card {
    background: linear-gradient(135deg, rgba(253, 250, 235, 0.98) 0%, rgba(255, 255, 255, 0.98) 100%);
    border: 1.5px solid var(--accent-color);
    border-radius: 28px;
    width: 100%;
    max-width: 960px;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.4), var(--gold-glow-hover);
    transform: scale(0.92) translateY(20px);
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    padding: 36px;
    color: var(--text-color);
}

.product-modal-overlay.open .product-quickview-card {
    transform: scale(1) translateY(0);
}

.pqv-layout {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 36px;
    align-items: start;
}

.pqv-gallery-col {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.pqv-img-container {
    position: relative;
    width: 100%;
    height: 420px;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid var(--border-color);
    box-shadow: var(--shadow-md);
    background: #000;
}

.pqv-img-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.pqv-img-container:hover img {
    transform: scale(1.05);
}

.pqv-badge-overlay {
    position: absolute;
    top: 16px;
    left: 16px;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    backdrop-filter: blur(10px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

.pqv-badge-overlay.in-stock {
    background: rgba(34, 197, 94, 0.9);
    color: #ffffff;
}

.pqv-badge-overlay.low-stock {
    background: rgba(234, 179, 8, 0.95);
    color: #111111;
}

.pqv-badge-overlay.out-of-stock {
    background: rgba(239, 68, 68, 0.9);
    color: #ffffff;
}

.pqv-craft-banner {
    background: rgba(212, 175, 55, 0.12);
    border: 1px dashed var(--accent-color);
    border-radius: 14px;
    padding: 12px 16px;
    text-align: center;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-color);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.pqv-details-col {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.pqv-meta-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.pqv-category-tag {
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--accent-color);
    background: rgba(212, 175, 55, 0.15);
    padding: 4px 12px;
    border-radius: 20px;
}

.pqv-sku-tag {
    font-size: 0.8rem;
    color: var(--text-light);
    letter-spacing: 0.05em;
}

.pqv-title {
    font-family: var(--font-heading);
    font-size: 2.2rem;
    font-weight: 700;
    margin: 0;
    color: var(--text-color);
    line-height: 1.25;
}

.pqv-rating-row {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.9rem;
}

.pqv-stars {
    color: #f59e0b;
}

.pqv-score {
    font-weight: 700;
    color: var(--text-color);
}

.pqv-reviews-count {
    color: var(--text-light);
    font-size: 0.85rem;
}

.pqv-price-box {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    padding: 12px 18px;
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid var(--border-color);
    border-radius: 16px;
}

.pqv-price {
    font-size: 1.85rem;
    font-weight: 800;
    color: var(--text-color);
}

.pqv-shipping-note {
    font-size: 0.82rem;
    color: #15803d;
    font-weight: 600;
}

.pqv-description {
    font-size: 0.95rem;
    line-height: 1.65;
    color: var(--text-light);
    margin: 0;
}

.pqv-option-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.pqv-option-label {
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--text-color);
}

.pqv-color-swatches {
    display: flex;
    align-items: center;
    gap: 12px;
}

.pqv-swatch {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 2px solid #ffffff;
    box-shadow: 0 0 0 1px rgba(0,0,0,0.2);
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.pqv-swatch:hover {
    transform: scale(1.15);
}

.pqv-swatch.active {
    box-shadow: 0 0 0 3px var(--accent-color), 0 4px 10px rgba(0,0,0,0.15);
    transform: scale(1.15);
}

.pqv-actions-row {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 8px;
}

.pqv-qty-selector {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border: 1.5px solid var(--border-color);
    border-radius: 14px;
    overflow: hidden;
    height: 48px;
    padding: 0 4px;
}

.pqv-qty-btn {
    width: 38px;
    height: 100%;
    background: none;
    border: none;
    font-size: 1.2rem;
    font-weight: 800;
    cursor: pointer;
    color: #111111;
    transition: background 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    user-select: none;
}

.pqv-qty-btn:hover {
    background: rgba(212, 175, 55, 0.15);
}

.pqv-qty-selector input {
    width: 48px;
    height: 100%;
    text-align: center;
    border: none;
    background: transparent;
    font-family: var(--font-heading, 'Outfit', sans-serif);
    font-size: 1.15rem;
    font-weight: 800;
    color: #111111 !important;
    -webkit-text-fill-color: #111111 !important;
    opacity: 1 !important;
    outline: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
    -moz-appearance: textfield;
    appearance: none;
}

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

.pqv-add-cart-btn {
    flex: 1;
    height: 48px;
    background: linear-gradient(135deg, #d4af37, #f8e07a);
    color: #111111;
    border: none;
    border-radius: 14px;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    box-shadow: 0 6px 20px rgba(212, 175, 55, 0.4);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.pqv-add-cart-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(212, 175, 55, 0.6);
}

.pqv-wishlist-btn {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    border: 1.5px solid var(--border-color);
    background: #ffffff;
    color: var(--text-color);
    font-size: 1.2rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.pqv-wishlist-btn:hover {
    border-color: var(--accent-color);
    background: rgba(212, 175, 55, 0.1);
    transform: scale(1.05);
}

.pqv-guarantee-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid var(--border-color);
    padding-top: 14px;
    font-size: 0.78rem;
    color: var(--text-light);
    gap: 8px;
}

@media (max-width: 768px) {
    .pqv-layout {
        grid-template-columns: 1fr;
    }
    .product-quickview-card {
        padding: 24px;
    }
    .pqv-img-container {
        height: 280px;
    }
    .pqv-actions-row {
        flex-wrap: wrap;
    }
    .pqv-add-cart-btn {
        width: 100%;
        order: 3;
    }
}

/* ==========================================================================
   ATELIER RUNWAY SPOTLIGHT (CINEMA MODE) SEARCH ENGINE
   ========================================================================== */
body.spotlight-open {
    overflow: hidden !important;
}

/* 1. Header Navigation Fixed Search Trigger Icon */
.nav-search-wrap {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: 0 !important;
    flex-shrink: 0 !important;
}

.nav-search-btn {
    width: auto !important;
    height: auto !important;
    padding: 4px 6px !important;
    background: transparent !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), filter 0.3s ease !important;
    flex-shrink: 0 !important;
}

.nav-search-icon-emblem,
.nav-search-icon {
    width: 30px !important;
    height: 30px !important;
    display: inline-block !important;
    background-image: url('images/emblem-search-loupe.png') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.25)) !important;
    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), filter 0.3s ease !important;
    font-size: 0 !important;
    color: transparent !important;
}

.nav-search-btn:hover {
    transform: translateY(-3px) scale(1.16) rotate(-6deg) !important;
}

.nav-search-btn:hover .nav-search-icon-emblem,
.nav-search-btn:hover .nav-search-icon {
    filter: drop-shadow(0 4px 10px rgba(229, 170, 23, 0.65)) drop-shadow(0 0 14px rgba(255, 208, 38, 0.75)) !important;
}

/* 2. Full-Screen Cinema Mode Backdrop & Modal (EVieJ'S Warm Ivory & Gold Theme) */
.atelier-spotlight-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 99999 !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.atelier-spotlight-modal.active {
    opacity: 1 !important;
    pointer-events: auto !important;
}

.spotlight-backdrop {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(22, 16, 8, 0.6) !important;
    backdrop-filter: blur(22px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(22px) saturate(160%) !important;
}

.spotlight-dialog {
    position: relative !important;
    z-index: 10 !important;
    width: 880px !important;
    max-width: calc(100vw - 32px) !important;
    max-height: calc(100vh - 60px) !important;
    margin-top: 36px !important;
    display: flex !important;
    flex-direction: column !important;
    background: linear-gradient(145deg, rgba(253, 250, 235, 0.98), rgba(255, 255, 255, 0.96)) !important;
    border: 1.5px solid rgba(212, 175, 55, 0.45) !important;
    border-radius: 28px !important;
    padding: 26px 30px !important;
    box-shadow: 0 25px 70px rgba(0, 0, 0, 0.25), 0 0 35px rgba(212, 175, 55, 0.15), inset 0 1px 2px #ffffff !important;
    transform: translateY(-20px) scale(0.97) !important;
    transition: transform 0.38s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.atelier-spotlight-modal.active .spotlight-dialog {
    transform: translateY(0) scale(1) !important;
}

/* 3. Top Controls Bar & Close Button */
.spotlight-top-controls {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 18px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid rgba(212, 175, 55, 0.25) !important;
}

.spotlight-brand-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: rgba(212, 175, 55, 0.12) !important;
    border: 1px solid rgba(212, 175, 55, 0.35) !important;
    border-radius: 20px !important;
    padding: 6px 14px !important;
    font-size: 0.72rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.14em !important;
    color: #8a6805 !important;
}

.spotlight-brand-pill i {
    color: #d4af37 !important;
    font-size: 0.8rem !important;
}

.spotlight-close-btn {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    background: #ffffff !important;
    border: 1.5px solid rgba(212, 175, 55, 0.45) !important;
    color: #111118 !important;
    border-radius: 20px !important;
    padding: 6px 14px !important;
    font-size: 0.85rem !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    cursor: pointer !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
    transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
    z-index: 10 !important;
}

.spotlight-close-icon {
    font-size: 0.88rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    color: #111118 !important;
    transition: color 0.2s ease, transform 0.2s ease !important;
}

.spotlight-esc-hint {
    font-size: 0.7rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.1em !important;
    background: rgba(212, 175, 55, 0.18) !important;
    border: 1px solid rgba(212, 175, 55, 0.35) !important;
    color: #8a6805 !important;
    padding: 2px 7px !important;
    border-radius: 6px !important;
    transition: all 0.2s ease !important;
}

.spotlight-close-btn:hover {
    background: #d4af37 !important;
    color: #ffffff !important;
    border-color: #d4af37 !important;
    transform: translateY(-1px) scale(1.03) !important;
    box-shadow: 0 6px 18px rgba(212, 175, 55, 0.4) !important;
}

.spotlight-close-btn:hover .spotlight-close-icon {
    color: #ffffff !important;
    transform: rotate(90deg) !important;
}

.spotlight-close-btn:hover .spotlight-esc-hint {
    background: rgba(255, 255, 255, 0.25) !important;
    border-color: rgba(255, 255, 255, 0.5) !important;
    color: #ffffff !important;
}

/* 4. Golden Spotlight Search Bar Header */
.spotlight-search-header {
    width: 100% !important;
    margin-bottom: 20px !important;
    flex-shrink: 0 !important;
}

.spotlight-search-bar {
    display: flex !important;
    align-items: center !important;
    background: #ffffff !important;
    border: 1.5px solid rgba(212, 175, 55, 0.4) !important;
    border-radius: 32px !important;
    padding: 12px 22px !important;
    box-shadow: 0 6px 24px rgba(212, 175, 55, 0.12), inset 0 1px 3px rgba(0, 0, 0, 0.02) !important;
    transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
}

.spotlight-search-bar:focus-within {
    border-color: #d4af37 !important;
    box-shadow: 0 0 0 3.5px rgba(212, 175, 55, 0.22), 0 8px 30px rgba(212, 175, 55, 0.25) !important;
}

.spotlight-search-icon {
    color: #d4af37 !important;
    font-size: 1.25rem !important;
    margin-right: 14px !important;
    filter: drop-shadow(0 2px 4px rgba(212, 175, 55, 0.3)) !important;
}

.spotlight-search-input {
    flex: 1 !important;
    background: transparent !important;
    border: none !important;
    outline: none !important;
    font-family: var(--font-heading, 'Outfit', sans-serif) !important;
    font-size: 1.12rem !important;
    font-weight: 500 !important;
    color: #111118 !important;
    letter-spacing: 0.01em !important;
    padding: 0 !important;
}

.spotlight-search-input::placeholder {
    color: #9e9587 !important;
    font-style: italic !important;
    opacity: 0.9 !important;
}

.spotlight-clear-btn {
    background: rgba(212, 175, 55, 0.12) !important;
    border: 1px solid rgba(212, 175, 55, 0.3) !important;
    color: #8a6805 !important;
    width: 26px !important;
    height: 26px !important;
    border-radius: 50% !important;
    font-size: 1.1rem !important;
    line-height: 1 !important;
    cursor: pointer !important;
    padding: 0 !important;
    margin-left: 10px !important;
    display: none;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s ease !important;
}

.spotlight-clear-btn:hover {
    background: #e63946 !important;
    border-color: #e63946 !important;
    color: #ffffff !important;
    transform: scale(1.12) rotate(90deg) !important;
    box-shadow: 0 2px 8px rgba(230, 57, 70, 0.35) !important;
}

/* 5. Runway Quick Category Tags */
.spotlight-tags-bar {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-top: 14px !important;
    padding: 0 4px !important;
}

.spotlight-tag-label {
    font-size: 0.7rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.14em !important;
    color: #8a6805 !important;
    margin-right: 4px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
}

.spotlight-tag {
    background: rgba(255, 255, 255, 0.85) !important;
    border: 1px solid rgba(212, 175, 55, 0.3) !important;
    color: #2b1e0c !important;
    border-radius: 18px !important;
    padding: 5px 13px !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03) !important;
    transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.spotlight-tag:hover {
    background: #d4af37 !important;
    color: #ffffff !important;
    border-color: #d4af37 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 14px rgba(212, 175, 55, 0.35) !important;
}

/* 6. Spotlight Scrollable Content Container */
.spotlight-content {
    overflow-y: auto !important;
    max-height: calc(100vh - 240px) !important;
    padding-right: 6px !important;
    scrollbar-width: thin;
    scrollbar-color: #d4af37 transparent;
}

/* 6a. Recent Searches Bar */
.spotlight-recents-section {
    margin-bottom: 18px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px dashed rgba(212, 175, 55, 0.3) !important;
}

.spotlight-section-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 10px !important;
}

.spotlight-section-title {
    font-size: 0.72rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: #8a6805 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.spotlight-clear-recents-btn {
    background: rgba(212, 175, 55, 0.12) !important;
    border: 1px solid rgba(212, 175, 55, 0.35) !important;
    color: #8a6805 !important;
    border-radius: 12px !important;
    padding: 4px 10px !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    text-decoration: none !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.03) !important;
    transition: all 0.22s ease !important;
}

.spotlight-clear-recents-btn i {
    font-size: 0.68rem !important;
    color: #8a6805 !important;
    transition: transform 0.2s ease, color 0.2s ease !important;
}

.spotlight-clear-recents-btn:hover {
    background: #e63946 !important;
    border-color: #e63946 !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 3px 10px rgba(230, 57, 70, 0.35) !important;
}

.spotlight-clear-recents-btn:hover i {
    color: #ffffff !important;
    transform: scale(1.15) !important;
}

.spotlight-recents-chips {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

.spotlight-recent-chip {
    background: #ffffff !important;
    border: 1px solid rgba(212, 175, 55, 0.25) !important;
    border-radius: 14px !important;
    padding: 5px 12px !important;
    font-size: 0.76rem !important;
    font-weight: 600 !important;
    color: #2b1e0c !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02) !important;
    transition: all 0.2s ease !important;
}

.spotlight-recent-chip i {
    color: #d4af37 !important;
    font-size: 0.7rem !important;
}

.spotlight-recent-chip:hover {
    background: #d4af37 !important;
    color: #ffffff !important;
    border-color: #d4af37 !important;
}

.spotlight-recent-chip:hover i {
    color: #ffffff !important;
}

/* 6b. Live Trending Searches Grid */
.spotlight-trending-section {
    margin-bottom: 20px !important;
}

.spotlight-live-badge {
    font-size: 0.65rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
    color: #8a6805 !important;
    background: rgba(212, 175, 55, 0.15) !important;
    border: 1px solid rgba(212, 175, 55, 0.35) !important;
    border-radius: 12px !important;
    padding: 3px 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
}

.spotlight-live-dot {
    width: 6px !important;
    height: 6px !important;
    background: #d4af37 !important;
    border-radius: 50% !important;
    box-shadow: 0 0 6px #d4af37 !important;
    animation: liveDotPulse 1.6s infinite ease-in-out !important;
}

@keyframes liveDotPulse {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.4); opacity: 0.4; }
}

.spotlight-trending-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
}

.spotlight-trend-card {
    background: #ffffff !important;
    border: 1.5px solid rgba(212, 175, 55, 0.22) !important;
    border-radius: 14px !important;
    padding: 10px 14px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    cursor: pointer !important;
    text-align: left !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02) !important;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.spotlight-trend-card:hover {
    background: #ffffff !important;
    border-color: #d4af37 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 24px rgba(212, 175, 55, 0.2) !important;
}

.spotlight-trend-rank {
    font-size: 0.88rem !important;
    font-weight: 900 !important;
    color: #d4af37 !important;
    letter-spacing: -0.02em !important;
    flex-shrink: 0 !important;
    width: 22px !important;
}

.spotlight-trend-body {
    flex-grow: 1 !important;
    min-width: 0 !important;
}

.spotlight-trend-label {
    font-family: var(--font-heading, 'Outfit', sans-serif) !important;
    font-size: 0.88rem !important;
    font-weight: 700 !important;
    color: #111118 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.spotlight-trend-meta {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 2px !important;
}

.spotlight-trend-tag {
    font-size: 0.65rem !important;
    font-weight: 700 !important;
    color: #8a6805 !important;
    background: rgba(212, 175, 55, 0.12) !important;
    padding: 1px 6px !important;
    border-radius: 4px !important;
}

.spotlight-trend-count {
    font-size: 0.68rem !important;
    color: #777788 !important;
}

.spotlight-trend-arrow {
    color: #d4af37 !important;
    font-size: 0.75rem !important;
    opacity: 0.6 !important;
    transition: transform 0.2s ease, opacity 0.2s ease !important;
}

.spotlight-trend-card:hover .spotlight-trend-arrow {
    transform: translateX(3px) !important;
    opacity: 1 !important;
}

/* 7. Featured Runway Collection Cards */
.runway-showcase-title {
    text-align: center !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 0.75rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.2em !important;
    color: #8a6805 !important;
    margin: 4px 0 16px !important;
    text-shadow: 0 0 10px rgba(212, 175, 55, 0.25) !important;
}

.runway-sparkle {
    color: #d4af37 !important;
    margin: 0 4px !important;
}

.runway-cards-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 16px !important;
    margin-bottom: 20px !important;
}

.runway-product-card {
    background: #ffffff !important;
    border: 1.5px solid rgba(212, 175, 55, 0.25) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04), 0 0 10px rgba(212, 175, 55, 0.05) !important;
}

.runway-product-card:hover {
    transform: translateY(-4px) !important;
    border-color: #d4af37 !important;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.08), 0 0 25px rgba(212, 175, 55, 0.2) !important;
}

.runway-img-wrap {
    position: relative !important;
    width: 100% !important;
    height: 145px !important;
    overflow: hidden !important;
    cursor: pointer !important;
    background: #fbf9f4 !important;
}

.runway-img-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.4s ease !important;
}

.runway-product-card:hover .runway-img-wrap img {
    transform: scale(1.06) !important;
}

.runway-badge {
    position: absolute !important;
    top: 8px !important;
    left: 8px !important;
    background: rgba(255, 255, 255, 0.92) !important;
    border: 1px solid rgba(212, 175, 55, 0.4) !important;
    color: #8a6805 !important;
    font-size: 0.62rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    padding: 3px 8px !important;
    border-radius: 4px !important;
    backdrop-filter: blur(8px) !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05) !important;
}

.runway-card-details {
    padding: 12px 14px !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}

.runway-card-cat {
    font-size: 0.68rem !important;
    color: #777788 !important;
    margin-bottom: 2px !important;
}

.runway-card-title {
    font-family: var(--font-heading, 'Playfair Display', serif) !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    color: #111118 !important;
    margin: 0 0 10px 0 !important;
}

.runway-card-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-top: auto !important;
    padding-top: 8px !important;
    border-top: 1px solid rgba(212, 175, 55, 0.18) !important;
}

.runway-card-price {
    font-size: 0.92rem !important;
    font-weight: 800 !important;
    color: #b8860b !important;
}

.runway-view-btn {
    background: rgba(212, 175, 55, 0.12) !important;
    border: 1px solid rgba(212, 175, 55, 0.35) !important;
    color: #8a6805 !important;
    border-radius: 6px !important;
    padding: 4px 10px !important;
    font-size: 0.74rem !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.runway-view-btn:hover {
    background: #d4af37 !important;
    color: #ffffff !important;
    border-color: #d4af37 !important;
}

/* 8. Runway Bottom Directory Strip */
.runway-directory-strip {
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    padding-top: 10px !important;
    border-top: 1px solid rgba(212, 175, 55, 0.2) !important;
}

.runway-dir-pill {
    background: rgba(255, 255, 255, 0.8) !important;
    border: 1px solid rgba(212, 175, 55, 0.25) !important;
    color: #2b1e0c !important;
    border-radius: 20px !important;
    padding: 7px 16px !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03) !important;
    transition: all 0.2s ease !important;
}

.runway-dir-pill:hover {
    background: #ffffff !important;
    color: #111118 !important;
    border-color: #d4af37 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(212, 175, 55, 0.25) !important;
}

.runway-dir-pill i {
    color: #d4af37 !important;
}

/* 9. Live Search Results Deck in Cinema Mode */
.spotlight-group-title {
    font-size: 0.72rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: #8a6805 !important;
    margin-bottom: 10px !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.spotlight-items-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
}

.spotlight-result-card {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 10px 14px !important;
    background: #ffffff !important;
    border: 1px solid rgba(212, 175, 55, 0.25) !important;
    border-radius: 12px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    color: #111118 !important;
    text-decoration: none !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02) !important;
}

.spotlight-result-card:hover {
    background: #ffffff !important;
    border-color: #d4af37 !important;
    transform: translateX(4px) !important;
    box-shadow: 0 4px 18px rgba(212, 175, 55, 0.2) !important;
}

.spotlight-result-card img {
    width: 48px !important;
    height: 48px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    border: 1px solid rgba(212, 175, 55, 0.35) !important;
    flex-shrink: 0 !important;
}

.spotlight-icon-box {
    width: 42px !important;
    height: 42px !important;
    border-radius: 8px !important;
    background: rgba(212, 175, 55, 0.12) !important;
    border: 1px solid rgba(212, 175, 55, 0.3) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #b8860b !important;
    font-size: 1.1rem !important;
    flex-shrink: 0 !important;
}

.spotlight-result-details {
    flex-grow: 1 !important;
    min-width: 0 !important;
}

.spotlight-result-cat {
    font-size: 0.72rem !important;
    color: #777788 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.spotlight-result-title {
    font-family: var(--font-heading, 'Playfair Display', serif) !important;
    font-size: 0.92rem !important;
    font-weight: 700 !important;
    color: #111118 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.spotlight-result-price {
    font-size: 0.9rem !important;
    font-weight: 800 !important;
    color: #b8860b !important;
    margin-left: 8px !important;
    flex-shrink: 0 !important;
}

.spotlight-link-arrow {
    color: #d4af37 !important;
    font-size: 0.85rem !important;
    margin-left: 8px !important;
    transition: transform 0.2s ease !important;
}

.spotlight-result-card:hover .spotlight-link-arrow {
    transform: translate(2px, -2px) !important;
}

.spotlight-no-results {
    text-align: center !important;
    padding: 36px 20px !important;
}

.spotlight-no-results i {
    font-size: 2.2rem !important;
    color: #d4af37 !important;
    margin-bottom: 12px !important;
    display: inline-block !important;
    filter: drop-shadow(0 2px 8px rgba(212, 175, 55, 0.4)) !important;
}

@media (max-width: 768px) {
    .spotlight-dialog {
        margin-top: 20px !important;
        padding: 18px 16px !important;
    }
    .runway-cards-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .spotlight-items-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ==========================================================================
   EVIEJ'S HAUTE COUTURE LUXURY MINIMALIST FILTER TOOLBAR
   ========================================================================== */
.product-filter-bar {
    position: relative;
    z-index: 1500;
    overflow: visible;
    width: 95%;
    max-width: 950px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(253, 250, 240, 0.9));
    border: 1px solid rgba(212, 175, 55, 0.35);
    border-radius: 16px;
    padding: 12px 18px;
    margin: 16px auto 24px auto;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04), 0 0 20px rgba(212, 175, 55, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.product-filter-bar:hover {
    border-color: rgba(212, 175, 55, 0.6);
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.07), 0 0 25px rgba(212, 175, 55, 0.15);
}

.pfb-top-row,
.pfb-main-row {
    position: relative;
    z-index: 1500;
    overflow: visible;
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}

.pfb-search-wrap {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}

.pfb-search-icon {
    position: absolute;
    left: 14px;
    color: var(--accent-color);
    font-size: 0.82rem;
    pointer-events: none;
    z-index: 3;
    transition: transform 0.25s ease;
}

.pfb-search-input {
    width: 100%;
    height: 36px;
    padding: 0 32px 0 38px !important;
    background: #ffffff;
    border: 1.5px solid rgba(212, 175, 55, 0.25);
    border-radius: 20px;
    font-family: var(--font-heading, 'Outfit', sans-serif);
    font-size: 0.80rem;
    font-weight: 400;
    color: var(--text-color);
    outline: none;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.02);
}

.pfb-search-input::placeholder {
    color: #9e9587;
    font-size: 0.80rem;
    font-weight: 400;
}

.pfb-search-input:focus {
    border-color: var(--accent-color);
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.16);
}

.pfb-search-input:focus + .pfb-search-icon,
.pfb-search-wrap:hover .pfb-search-icon {
    color: var(--accent-color);
}

.pfb-search-clear {
    position: absolute;
    right: 10px;
    background: transparent;
    border: none;
    color: #999;
    font-size: 1.05rem;
    cursor: pointer;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
    z-index: 3;
}

.pfb-search-clear:hover {
    color: var(--accent-color);
}

.pfb-selects-group {
    position: relative;
    z-index: 1500;
    overflow: visible;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    width: 100%;
}

.pfb-select-wrap,
.pfb-custom-select-wrap {
    position: relative;
    z-index: 1500;
    overflow: visible;
    display: flex;
    align-items: center;
    flex: 1 1 180px;
    min-width: 130px;
}

.pfb-select-wrap.active-wrap,
.pfb-custom-select-wrap.active-wrap {
    z-index: 9999999 !important;
}

.pfb-select-icon {
    position: absolute;
    left: 12px;
    color: var(--accent-color);
    font-size: 0.78rem;
    pointer-events: none;
    z-index: 3;
}

.pfb-select {
    width: 100%;
    height: 36px;
    padding: 0 24px 0 32px;
    background: #ffffff;
    border: 1.5px solid rgba(212, 175, 55, 0.25);
    border-radius: 20px;
    font-family: var(--font-heading, 'Outfit', sans-serif);
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--text-color);
    outline: none;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d4af37' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 11px;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.02);
}

.pfb-select:focus,
.pfb-select:hover {
    border-color: var(--accent-color);
    background-color: #ffffff;
    box-shadow: 0 3px 12px rgba(212, 175, 55, 0.16);
    transform: translateY(-1px);
}

.pfb-custom-select-btn {
    width: 100%;
    height: 36px;
    padding: 0 10px;
    background: #ffffff;
    border: 1.5px solid rgba(212, 175, 55, 0.25);
    border-radius: 20px;
    font-family: var(--font-heading, 'Outfit', sans-serif);
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--text-color);
    outline: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 5px;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.02);
    overflow: hidden;
}

.pfb-custom-select-btn:hover,
.pfb-custom-select-btn:focus,
.pfb-custom-select-btn.active {
    border-color: var(--accent-color);
    background: #ffffff;
    box-shadow: 0 3px 12px rgba(212, 175, 55, 0.16);
}

.pfb-btn-inner {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
}

.pfb-btn-inner span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-block;
}

.pfb-select-icon-inline {
    color: var(--accent-color);
    font-size: 0.82rem;
    flex-shrink: 0;
}

.pfb-chevron-icon {
    color: var(--accent-color);
    font-size: 0.72rem;
    flex-shrink: 0;
    transition: transform 0.25s ease;
}

.pfb-custom-select-btn.active .pfb-chevron-icon {
    transform: rotate(180deg);
}

.pfb-custom-select-wrap,
.pfb-select-wrap {
    position: relative;
    z-index: 1500;
}

.pfb-select-wrap.active-wrap,
.pfb-custom-select-wrap.active-wrap {
    z-index: 9999999 !important;
}

.pfb-popover-menu,
.pfb-category-menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    width: 100%;
    min-width: 210px;
    background: #ffffff;
    border: 1px solid rgba(212, 175, 55, 0.45);
    border-radius: 18px;
    padding: 8px 0;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12), 0 0 25px rgba(212, 175, 55, 0.18);
    z-index: 9999999 !important;
    animation: evjFadeInUp 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.pfb-popover-item,
.pfb-cat-item {
    padding: 9px 16px;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-color);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: all 0.2s ease;
}

.pfb-popover-item:hover,
.pfb-cat-item:hover {
    background: rgba(212, 175, 55, 0.12);
    color: var(--accent-color);
    padding-left: 20px;
}

.pfb-popover-item.active,
.pfb-cat-item.active {
    background: rgba(212, 175, 55, 0.18);
    color: var(--accent-color);
    font-weight: 800;
}

.pfb-check-icon {
    font-size: 0.75rem;
    color: var(--accent-color);
    opacity: 0;
    transition: opacity 0.2s ease;
}

.pfb-popover-item.active .pfb-check-icon,
.pfb-cat-item.active .pfb-check-icon {
    opacity: 1;
}

.pfb-menu-color-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px 4px 14px;
    margin-top: 6px;
    border-top: 1px dashed rgba(212, 175, 55, 0.25);
}

.pfb-menu-color-circle {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 2px solid #ffffff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
    cursor: pointer;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    outline: none;
}

.pfb-menu-color-circle:hover {
    transform: scale(1.22);
    box-shadow: 0 0 0 2px var(--accent-color);
}

.pfb-menu-color-circle.active {
    transform: scale(1.2);
    box-shadow: 0 0 0 2.5px var(--accent-color);
}

.pfb-menu-color-circle[data-color="all"] {
    background: linear-gradient(135deg, #d4af37, #997a15);
    color: #ffffff;
    font-size: 0.65rem;
}

.pfb-more-colors-btn {
    background: #2c2c2c;
    color: #ffffff;
    font-size: 0.7rem;
    font-weight: 700;
}

.pfb-more-colors-btn:hover,
.pfb-more-colors-btn.active {
    background: var(--accent-color);
}

.pfb-extra-colors-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 14px 6px 14px;
    margin-top: 4px;
    background: rgba(253, 250, 235, 0.75);
    border-top: 1px dashed rgba(212, 175, 55, 0.25);
    border-bottom-left-radius: 16px;
    border-bottom-right-radius: 16px;
    flex-wrap: wrap;
    gap: 6px;
    animation: evjFadeInUp 0.2s ease-out;
}

.pfb-bottom-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid rgba(0, 0, 0, 0.05);
    flex-wrap: wrap;
}

.pfb-results-count {
    font-size: 0.84rem;
    color: var(--text-light);
    font-weight: 500;
}

.pfb-results-count strong {
    color: var(--accent-color);
    font-weight: 700;
}

.pfb-filter-pill {
    background: rgba(212, 175, 55, 0.1);
    border: 1px solid rgba(212, 175, 55, 0.3);
    color: var(--text-color);
    font-size: 0.76rem;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.pfb-reset-btn {
    background: rgba(231, 76, 60, 0.08);
    border: 1px solid rgba(231, 76, 60, 0.25);
    color: #e74c3c;
    font-weight: 600;
    font-size: 0.78rem;
    padding: 5px 14px;
    border-radius: 20px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: all 0.25s ease;
}

.pfb-reset-btn:hover {
    background: #e74c3c;
    color: #ffffff;
    border-color: #e74c3c;
}

.no-products-found {
    text-align: center;
    padding: 48px 20px;
    grid-column: 1 / -1;
    background: #ffffff;
    border: 1px dashed rgba(0, 0, 0, 0.12);
    border-radius: 20px;
    animation: evjFadeInUp 0.3s ease-out;
}

.no-products-found i {
    font-size: 2.8rem;
    color: var(--accent-color);
    margin-bottom: 12px;
}

.no-products-found h4 {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--text-color);
    margin: 0 0 6px 0;
    font-family: var(--font-heading);
}

.no-products-found p {
    color: var(--text-light);
    font-size: 0.9rem;
    margin: 0 0 16px 0;
}

/* Custom Luxury Category Dropdown Component */
.pfb-custom-category-wrap {
    position: relative;
}

.pfb-custom-select-btn {
    width: 100%;
    height: 46px;
    padding: 0 14px;
    background: rgba(255, 255, 255, 0.9);
    border: 1.5px solid rgba(212, 175, 55, 0.35);
    border-radius: 14px;
    font-family: var(--font-heading, 'Outfit', sans-serif);
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--text-color);
    outline: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    transition: all 0.25s ease;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.02);
}

.pfb-custom-select-btn:hover,
.pfb-custom-select-btn:focus {
    border-color: var(--accent-color);
    background: #ffffff;
    box-shadow: 0 0 0 3.5px rgba(212, 175, 55, 0.18);
}

.pfb-chevron-icon {
    color: var(--accent-color);
    font-size: 0.75rem;
    transition: transform 0.25s ease;
}

.pfb-custom-select-btn.active .pfb-chevron-icon {
    transform: rotate(180deg);
}

.pfb-category-menu {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    min-width: 220px;
    background: #ffffff;
    border: 1.5px solid var(--accent-color);
    border-radius: 14px;
    padding: 8px 0;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.18), 0 0 20px rgba(212, 175, 55, 0.25);
    z-index: 999999 !important;
    animation: evjFadeInUp 0.2s ease-out;
}

.pfb-cat-item {
    padding: 8px 16px;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-color);
    cursor: pointer;
    transition: all 0.2s ease;
}

.pfb-cat-item:hover,
.pfb-cat-item.active {
    background: rgba(212, 175, 55, 0.12);
    color: var(--accent-color);
    font-weight: 700;
}

.pfb-menu-color-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px 4px 14px;
    margin-top: 6px;
    border-top: 1px dashed var(--border-color);
}

.pfb-menu-color-circle {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid #ffffff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    cursor: pointer;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    outline: none;
}

.pfb-menu-color-circle:hover {
    transform: scale(1.2);
    box-shadow: 0 0 0 2px var(--accent-color);
}

.pfb-menu-color-circle.active {
    transform: scale(1.2);
    box-shadow: 0 0 0 2.5px var(--accent-color);
}

.pfb-menu-color-circle[data-color="all"] {
    background: linear-gradient(135deg, #d4af37, #997a15);
    color: #ffffff;
    font-size: 0.65rem;
}

.pfb-more-colors-btn {
    background: #2c2c2c;
    color: #ffffff;
    font-size: 0.7rem;
    font-weight: 700;
}

.pfb-more-colors-btn:hover,
.pfb-more-colors-btn.active {
    background: var(--accent-color);
}

.pfb-extra-colors-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 14px 6px 14px;
    margin-top: 4px;
    background: rgba(253, 250, 235, 0.75);
    border-top: 1px dashed rgba(212, 175, 55, 0.35);
    border-bottom-left-radius: 12px;
    border-bottom-right-radius: 12px;
    flex-wrap: wrap;
    gap: 6px;
    animation: evjFadeInUp 0.2s ease-out;
}

/* Inline Small Color Circles under Category Select */
.pfb-small-circles-row {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    padding-left: 2px;
}

.pfb-small-circle {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    border-radius: 50% !important;
    border: 1.5px solid #ffffff !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.18) !important;
    cursor: pointer !important;
    padding: 0 !important;
    font-size: 0.7rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.pfb-small-circle:hover {
    transform: scale(1.25) !important;
    box-shadow: 0 0 0 2px var(--accent-color) !important;
}

.pfb-small-circle.active {
    transform: scale(1.2) !important;
    box-shadow: 0 0 0 2.5px var(--accent-color) !important;
}

.pfb-small-circle[data-color="all"] {
    background: #2c2c2c !important;
    color: #ffffff !important;
}

.pfb-small-circle[data-color="all"]:hover,
.pfb-small-circle[data-color="all"].active {
    background: var(--accent-color) !important;
}

/* ==========================================================================
   Home Page Big Logo Antigravity Particle Field (Circular Halo Showcase)
   ========================================================================== */
.home-big-logo-showcase {
    position: relative;
    width: 100%;
    max-width: 950px;
    min-height: 720px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px 20px;
    margin: 30px auto 10px;
    box-sizing: border-box;
    overflow: visible;
}

.big-logo-antigravity-particles,
.big-logo-evj-particles {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
}

.home-big-logo-showcase .Side1 {
    position: relative;
    z-index: 2;
    max-width: 540px;
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    pointer-events: auto;
}

/* ==========================================
   Newspaper & Editorial Master Styles (Refined Compact Scale)
   ========================================== */
.newspaper-container {
    background: #ffffff;
    border: 1.8px solid var(--border-color);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.04);
    padding: 22px 26px;
    margin-top: 12px;
    border-radius: 14px;
    position: relative;
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.newspaper-micro-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 6px;
    font-size: 0.70rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--accent-color);
}

.newspaper-masthead-wrap {
    text-align: center;
    padding: 14px 0 10px;
    border-bottom: 3px double var(--accent-color);
}

.newspaper-masthead-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.75rem, 3.4vw, 2.55rem);
    font-weight: 800;
    color: var(--text-color);
    margin: 0;
    line-height: 0.95;
    letter-spacing: -0.02em;
    text-transform: uppercase;
}

.newspaper-masthead-sub {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    margin-top: 6px;
    font-size: 0.74rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.10em;
    color: var(--accent-color);
}

.newspaper-metadata-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1.5px solid var(--border-color);
    padding: 7px 0;
    font-size: 0.76rem;
    font-style: italic;
    color: var(--text-light);
    margin-bottom: 18px;
}

.newspaper-breaking-banner {
    background: linear-gradient(90deg, #111, #2c2c2c, #111);
    color: #f8e07a;
    padding: 10px 16px;
    border-radius: 10px;
    margin-bottom: 22px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    border: 1px solid rgba(212,175,55,0.4);
    box-shadow: 0 4px 14px rgba(0,0,0,0.08);
}

.newspaper-breaking-left {
    font-size: 1.02rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 8px;
}

.newspaper-breaking-badge {
    background: #e74c3c;
    color: #fff;
    padding: 2px 7px;
    font-size: 0.70rem;
    border-radius: 5px;
    font-weight: 800;
    flex-shrink: 0;
}

.newspaper-breaking-code {
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: #fff;
}

.newspaper-lead-grid {
    display: grid;
    grid-template-columns: 7fr 5fr;
    gap: 24px;
    margin-bottom: 24px;
    padding-bottom: 20px;
    border-bottom: 2px solid var(--border-color);
    align-items: start;
}

.newspaper-lead-tag {
    background: var(--accent-color);
    color: #fff;
    font-size: 0.65rem;
    font-weight: 800;
    padding: 3px 8px;
    border-radius: 5px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    display: inline-block;
    margin-bottom: 8px;
}

.newspaper-lead-headline {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.15rem, 1.85vw, 1.58rem);
    font-weight: 800;
    color: var(--text-color);
    margin: 0 0 8px;
    line-height: 1.15;
    letter-spacing: -0.01em;
}

.newspaper-lead-standfirst {
    font-size: 0.86rem;
    font-style: italic;
    font-weight: 600;
    color: var(--accent-color);
    margin-bottom: 12px;
    line-height: 1.4;
}

.newspaper-photo-frame {
    border: 1.5px solid var(--border-color);
    border-radius: 12px;
    padding: 6px;
    background: #fff;
    margin-bottom: 14px;
    box-shadow: 0 4px 14px rgba(0,0,0,0.02);
}

.newspaper-photo-frame .video-banner {
    height: 240px;
    border-radius: 8px;
    margin: 0;
    border: none;
    box-shadow: none;
}

.newspaper-photo-caption {
    position: absolute;
    bottom: 10px;
    left: 12px;
    right: 12px;
    color: #fff;
    font-size: 0.74rem;
    font-style: italic;
}

.newspaper-editorial-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    font-size: 0.80rem;
    text-align: justify;
    color: var(--text-color);
    line-height: 1.6;
}

.newspaper-drop-cap {
    float: left;
    font-family: 'Playfair Display', serif;
    font-size: 2.6rem;
    line-height: 0.8;
    font-weight: 800;
    padding-right: 6px;
    color: var(--accent-color);
}

.newspaper-quote-box {
    background: linear-gradient(135deg, rgba(212,175,55,0.15), rgba(248,224,122,0.08));
    border: 1.5px solid var(--accent-color);
    border-radius: 10px;
    padding: 10px 12px;
    margin-top: 10px;
}

.newspaper-quote-text {
    font-family: 'Playfair Display', serif;
    font-size: 0.88rem;
    font-weight: 800;
    color: var(--text-color);
    line-height: 1.3;
    margin-bottom: 4px;
}

.newspaper-quote-author {
    font-size: 0.66rem;
    font-weight: 700;
    color: var(--accent-color);
    text-transform: uppercase;
}

.newspaper-vip-card {
    background: linear-gradient(135deg, #ffffff 0%, #fffdf5 100%);
    border: 1.8px solid var(--accent-color);
    border-radius: 14px;
    padding: 16px;
    margin-bottom: 16px;
    box-shadow: 0 4px 16px rgba(212,175,55,0.12);
    position: relative;
}

.newspaper-vip-card-tag {
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--accent-color);
    display: block;
    margin-bottom: 4px;
}

.newspaper-vip-card-title {
    font-family: 'Playfair Display', serif;
    font-size: 1.25rem;
    font-weight: 800;
    margin: 0 0 6px;
    color: var(--text-color);
    line-height: 1.2;
}

.newspaper-vip-card-desc {
    font-size: 0.76rem;
    line-height: 1.4;
    color: var(--text-light);
    margin-bottom: 12px;
}

.newspaper-voucher-box {
    background: rgba(212,175,55,0.1);
    border: 1.5px dashed var(--accent-color);
    padding: 8px 12px;
    border-radius: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.newspaper-spotlight-card {
    border: 1.5px solid var(--border-color);
    border-radius: 14px;
    padding: 10px;
    background: #fff;
    margin-bottom: 16px;
    box-shadow: 0 4px 14px rgba(0,0,0,0.02);
}

.newspaper-spotlight-img {
    width: 100%;
    height: 175px;
    object-fit: contain;
    background: radial-gradient(circle at center, rgba(255,255,255,0.05) 0%, rgba(15,12,22,0.15) 100%);
    display: block;
    border-radius: 8px;
}

.newspaper-spotlight-caption {
    padding: 8px 2px 4px;
    font-size: 0.76rem;
    color: var(--text-light);
}

.newspaper-spotlight-title {
    font-family: 'Playfair Display', serif;
    font-size: 0.92rem;
    color: var(--text-color);
    display: block;
    margin-bottom: 2px;
}

.newspaper-qr-card {
    border: 1.5px solid var(--border-color);
    border-radius: 12px;
    background: #fff;
    padding: 12px;
    display: flex;
    align-items: center;
    gap: 12px;
    box-shadow: 0 3px 12px rgba(0,0,0,0.02);
}

.newspaper-qr-icon-box {
    width: 50px;
    height: 50px;
    min-width: 50px;
    background: linear-gradient(135deg, #111, #2c2c2c);
    border-radius: 8px;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3px;
    text-align: center;
}

.newspaper-qr-icon-box i {
    font-size: 1.4rem;
    color: #f8e07a;
}

.newspaper-qr-icon-box span {
    font-size: 0.48rem;
    font-weight: 800;
    text-transform: uppercase;
    margin-top: 2px;
}

.newspaper-qr-text {
    font-size: 0.74rem;
    color: var(--text-color);
    line-height: 1.4;
}

.newspaper-qr-text strong {
    font-family: 'Playfair Display', serif;
    font-size: 0.86rem;
    display: block;
    color: var(--accent-color);
}

.newspaper-classifieds-section {
    margin-bottom: 24px;
    padding-bottom: 20px;
    border-bottom: 2px solid var(--border-color);
}

.newspaper-classifieds-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 16px;
    border-bottom: 1.5px solid var(--border-color);
    padding-bottom: 8px;
    flex-wrap: wrap;
    gap: 8px;
}

.newspaper-classifieds-title {
    font-family: 'Playfair Display', serif;
    font-size: 1.45rem;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--text-color);
    margin: 0;
}

.newspaper-classifieds-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
}

.newspaper-classified-card {
    border: 1.5px solid var(--border-color);
    border-radius: 12px;
    background: #fff;
    padding: 12px;
    position: relative;
    box-shadow: 0 4px 16px rgba(0,0,0,0.02);
}

.newspaper-classified-tag {
    position: absolute;
    top: 10px;
    right: 10px;
    background: #27ae60;
    color: #fff;
    font-size: 0.62rem;
    font-weight: 800;
    padding: 2px 6px;
    border-radius: 8px;
    text-transform: uppercase;
}

.newspaper-classified-img {
    width: 100%;
    height: 135px;
    object-fit: contain;
    display: block;
    border-radius: 8px;
    margin-bottom: 8px;
}

.newspaper-classified-title {
    font-family: 'Playfair Display', serif;
    font-size: 1.02rem;
    font-weight: 800;
    margin: 0 0 4px;
    color: var(--text-color);
}

.newspaper-classified-desc {
    font-size: 0.74rem;
    color: var(--text-light);
    margin-bottom: 8px;
    line-height: 1.4;
}

.newspaper-classified-price {
    font-size: 0.98rem;
    font-weight: 800;
    color: var(--accent-color);
}

.newspaper-reels-section {
    margin-bottom: 22px;
}

.newspaper-reels-title {
    font-family: 'Playfair Display', serif;
    font-size: 1.55rem;
    font-weight: 800;
    color: var(--text-color);
    margin: 4px 0 0;
}

.newspaper-reels-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
}

.newspaper-reel-card {
    border: 1.5px solid var(--border-color);
    border-radius: 12px;
    background: #fff;
    padding: 10px;
    box-shadow: 0 3px 12px rgba(0,0,0,0.02);
}

.newspaper-reel-thumb-wrap {
    position: relative;
    height: 145px;
    border-radius: 8px;
    overflow: hidden;
    background: #000;
    margin-bottom: 8px;
}

.newspaper-reel-play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(212,175,55,0.9);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #111;
    font-size: 0.90rem;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(0,0,0,0.3);
}

.newspaper-reel-title {
    font-family: 'Playfair Display', serif;
    font-size: 0.94rem;
    font-weight: 800;
    margin: 0 0 3px;
    color: var(--text-color);
}

.newspaper-reel-desc {
    font-size: 0.74rem;
    color: var(--text-light);
    margin: 0;
    line-height: 1.4;
}

.newspaper-vip-banner {
    background: linear-gradient(90deg, #111, #2c2c2c, #111);
    color: #f8e07a;
    padding: 12px 18px;
    border-radius: 12px;
    border: 1px solid rgba(212,175,55,0.4);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.newspaper-vip-banner-text {
    font-size: 0.92rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #ffffff;
}

/* ==========================================================================
   MASTER RESPONSIVE ENGINE (Preserving Master Design on Desktop)
   Breakpoints: 1280px, 1024px, 992px, 768px, 600px, 480px, 390px, 375px, 320px
   ========================================================================== */

/* Universal Layout Protection */
html {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
}

body {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

/* Desktop Compact Scale Tuning (85% Perceived Size on Desktop) */
@media (min-width: 993px) {
    html {
        font-size: 14.5px;
    }
}

*, *::before, *::after {
    box-sizing: border-box !important;
}

img, video, canvas, svg {
    max-width: 100%;
    height: auto;
}

/* Account Dashboard Grid Base Rule */
.account-dashboard-grid {
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 24px;
    margin-top: 24px;
    align-items: start;
}

/* ── 1. Breakpoint: <= 1200px (Laptops & Small Desktops) ── */
@media (max-width: 1200px) {
    .container {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    .product-grid {
        gap: 22px !important;
    }
    .header {
        padding: 16px 20px !important;
        gap: 12px !important;
    }
    .nav {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 12px 20px !important;
    }
    .nav a {
        font-size: 0.90rem !important;
        letter-spacing: 0.10em !important;
        white-space: nowrap !important;
    }
}

/* ── 2. Breakpoint: <= 992px (Tablets Landscape & Medium Screens) ── */
@media (max-width: 992px) {
    .account-dashboard-grid {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
    .evj-atelier-grid {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
    .newspaper-lead-grid {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }
    .cart-page-grid {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
    .summary-sticky-card {
        position: static !important;
        top: auto !important;
    }
    .header {
        padding: 14px 16px !important;
        gap: 10px !important;
    }
    .nav {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 10px 16px !important;
    }
    .nav a {
        font-size: 0.86rem !important;
        letter-spacing: 0.08em !important;
        white-space: nowrap !important;
    }
}

/* ── 3. Breakpoint: 481px - 768px (Tablets Portrait & Large Phablets) ── */
@media (min-width: 481px) and (max-width: 768px) {
    .container {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
    .header {
        padding: 12px 14px !important;
        gap: 10px !important;
    }
    .logo {
        max-height: 75px !important;
        width: auto !important;
        height: auto !important;
    }
    .nav {
        display: grid !important;
        grid-template-columns: repeat(3, auto) !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 8px 18px !important;
        width: 100% !important;
    }
    .nav a {
        font-size: 0.80rem !important;
        letter-spacing: 0.06em !important;
        padding: 4px 6px !important;
        white-space: nowrap !important;
        text-align: center !important;
    }
    .header-actions-group {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        margin: 6px 0 0 0 !important;
        gap: 8px !important;
    }
    .dev-announcement-bar {
        padding: 6px 12px !important;
        font-size: 0.72rem !important;
    }
    .dev-announcement-tagline,
    .dev-announcement-sparkles {
        display: none !important;
    }
    .welcome-royal-title {
        font-size: clamp(1.4rem, 4.5vw, 2.2rem) !important;
        gap: 12px !important;
    }
    .welcome-dove-badge {
        width: 32px !important;
        height: 32px !important;
        font-size: 0.85rem !important;
    }
    .home-big-logo-showcase {
        min-height: clamp(300px, 45vw, 540px) !important;
        padding: 20px 10px !important;
        margin: 15px auto !important;
    }
    .home-big-logo-showcase .Side1 {
        max-width: 360px !important;
        width: 100% !important;
    }
    .contact-grid {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        text-align: center !important;
    }
    .contact-info {
        text-align: center !important;
    }
    .contact-info p {
        justify-content: center !important;
        display: flex !important;
        align-items: center !important;
        flex-wrap: wrap !important;
    }
    .contact-email-row {
        margin-left: 0 !important;
    }
    .contact-email-link {
        font-size: clamp(0.92rem, 3.8vw, 1.25rem) !important;
    }
    .icon-row {
        justify-content: center !important;
    }
    .product-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 18px !important;
    }
    .newspaper-container {
        padding: 24px 18px !important;
    }
    .newspaper-breaking-banner {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 8px !important;
        padding: 12px 16px !important;
    }
    .newspaper-breaking-left {
        font-size: 1.05rem !important;
    }
    .newspaper-editorial-columns {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }
    .newspaper-masthead-title {
        font-size: clamp(1.4rem, 5.5vw, 2.6rem) !important;
        line-height: 1.05 !important;
    }
    .newspaper-lead-headline {
        font-size: clamp(1.4rem, 4.5vw, 2.2rem) !important;
    }
    .newspaper-reels-title,
    .newspaper-classifieds-title {
        font-size: clamp(1.3rem, 4vw, 1.8rem) !important;
    }
    .newspaper-classifieds-header {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 6px !important;
    }
    .carrier-grid {
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)) !important;
    }
    .calc-results-grid {
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)) !important;
    }
    .calc-grid {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }
    .table-responsive-wrapper {
        border-radius: 12px !important;
        margin: 0 -4px !important;
    }
    .evj-dossier-stepper-header {
        flex-direction: column !important;
        gap: 8px !important;
    }
    .evj-dossier-step-tab {
        width: 100% !important;
        justify-content: flex-start !important;
    }
    .evj-atelier-banner {
        padding: 22px 18px !important;
        flex-direction: column !important;
        text-align: center !important;
        gap: 14px !important;
    }
    .evj-atelier-form-card {
        padding: 24px 18px !important;
    }
    #accountSidebarCard, #accountOrdersCard {
        padding: 24px 18px !important;
    }
}

/* ── 4. Breakpoint: <= 600px (Mobile Landscape & Standard Mobile) ── */
@media (max-width: 600px) {
    .product-grid {
        grid-template-columns: 1fr !important;
        max-width: 440px !important;
        margin: 0 auto !important;
    }
    .pfb-top-row {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
    }
    .pfb-search-wrap {
        width: 100% !important;
        min-width: 100% !important;
    }
    .pfb-selects-group {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
    }
    .pfb-custom-select-wrap {
        width: 100% !important;
        min-width: 0 !important;
    }
    .pfb-custom-select-btn {
        width: 100% !important;
        padding: 8px 10px !important;
        font-size: 0.78rem !important;
    }
    .pfb-popover-menu,
    .pfb-category-menu,
    .pfb-extra-colors-panel {
        max-width: calc(100vw - 28px) !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        right: auto !important;
    }
    .evj-form-row-2col,
    .evj-form-row-phone {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }
    .evj-preset-avatars-grid {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 8px !important;
    }
    .evj-live-card {
        padding: 18px 14px !important;
    }
    .evj-card-meta-row {
        flex-direction: column !important;
        gap: 8px !important;
    }
    .vip-sub-btn {
        min-height: 52px !important;
        height: auto !important;
        padding: 12px 14px !important;
        font-size: clamp(0.82rem, 2.5vw, 0.94rem) !important;
        line-height: 1.35 !important;
        white-space: normal !important;
        text-align: center !important;
    }
    .vip-benefits-grid {
        grid-template-columns: 1fr !important;
    }
    .footer-flags-wrapper {
        flex-wrap: wrap !important;
        gap: 14px !important;
        justify-content: center !important;
    }
    .footer-flag-circle {
        width: 44px !important;
        height: 44px !important;
    }
    .footer-flag-circle svg {
        width: 44px !important;
        height: 44px !important;
    }
    .footer-center-content {
        order: 2 !important;
        width: 100% !important;
        text-align: center !important;
    }
    .dim-inputs {
        display: flex !important;
        gap: 6px !important;
        width: 100% !important;
    }
    .dim-input {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        padding: 8px 6px !important;
        font-size: 0.85rem !important;
        text-align: center !important;
    }
    .shipping-hero-content h1 {
        font-size: 1.75rem !important;
    }
    .newspaper-container {
        padding: 18px 12px !important;
        margin-top: 10px !important;
        border-radius: 14px !important;
    }
    .newspaper-metadata-bar {
        flex-direction: column !important;
        gap: 6px !important;
        text-align: center !important;
        font-size: 0.8rem !important;
    }
    .newspaper-masthead-title {
        font-size: clamp(1.15rem, 5vw, 1.85rem) !important;
        letter-spacing: 0 !important;
        line-height: 1.05 !important;
    }
    .newspaper-masthead-sub {
        font-size: clamp(0.68rem, 2.5vw, 0.82rem) !important;
    }
    .newspaper-classifieds-grid,
    .newspaper-reels-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
    .newspaper-vip-banner {
        flex-direction: column !important;
        text-align: center !important;
        gap: 12px !important;
        padding: 14px 16px !important;
    }
}

/* ── 5. Breakpoint: <= 480px (Standard Mobile Screens - iPhone / Android) ── */
@media (max-width: 480px) {
    .container {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
    .header {
        padding: 10px 8px !important;
        gap: 8px !important;
        overflow: visible !important;
    }
    .logo {
        max-height: 58px !important;
        width: auto !important;
        height: auto !important;
    }
    .nav {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 6px 10px !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 2px !important;
    }
    .nav a {
        font-size: 0.72rem !important;
        letter-spacing: 0.04em !important;
        padding: 2px 4px !important;
        white-space: nowrap !important;
        text-align: center !important;
    }
    .header-actions-group {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        margin: 6px 0 0 0 !important;
        gap: 8px !important;
    }
    .nav-action-btn,
    .nav-vip-btn,
    .nav-wishlist-btn,
    .nav-account-btn,
    .nav-cart-btn,
    .nav-search-btn {
        padding: 4px 5px !important;
    }
    .dev-announcement-bar {
        font-size: 0.68rem !important;
        padding: 5px 8px !important;
    }
    .dev-announcement-badge {
        font-size: 0.6rem !important;
        padding: 2px 6px !important;
    }
    .home-big-logo-showcase .Side1 {
        max-width: 260px !important;
        width: 100% !important;
    }
    .newsletter-container {
        padding: 18px 12px !important;
    }
    .newsletter-direct-btn {
        width: 100% !important;
    }
    .cart-drawer {
        width: 100vw !important;
        max-width: 100vw !important;
    }
    .checkout-modal {
        width: calc(100vw - 16px) !important;
        padding: 18px 12px !important;
        max-height: 90vh !important;
    }
    .spotlight-dialog {
        width: calc(100vw - 16px) !important;
        padding: 14px 12px !important;
        border-radius: 18px !important;
        margin-top: 10px !important;
    }
    .runway-cards-grid {
        grid-template-columns: 1fr !important;
    }
    .spotlight-search-input {
        font-size: 0.95rem !important;
    }
    .spotlight-tag {
        font-size: 0.72rem !important;
        padding: 4px 9px !important;
    }
    .evj-preset-avatars-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .pagination-bar-wrap {
        gap: 6px !important;
    }
    .pagination-arrow-btn,
    .pagination-btn {
        width: 34px !important;
        height: 34px !important;
        font-size: 0.8rem !important;
    }
}

/* ── 6. Breakpoint: <= 360px (Small Mobile Screens - iPhone SE & 320px) ── */
@media (max-width: 360px) {
    .header {
        padding: 6px 2px !important;
    }
    .nav {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 4px 8px !important;
        justify-content: center !important;
    }
    .nav a {
        font-size: 0.68rem !important;
        padding: 2px 3px !important;
        letter-spacing: 0.02em !important;
    }
    .header-actions-group {
        gap: 6px !important;
        margin-top: 4px !important;
    }
    .nav-search-icon-emblem,
    .nav-search-icon,
    .nav-vip-crown-emblem,
    .nav-wishlist-heart-emblem,
    .account-nav-style-bust-emblem,
    .nav-cart-gold-emblem {
        width: 22px !important;
        height: 22px !important;
    }
    .pfb-selects-group {
        grid-template-columns: 1fr !important;
    }
    .newspaper-masthead-title {
        font-size: 1.15rem !important;
    }
    .newspaper-micro-header {
        font-size: 0.65rem !important;
        letter-spacing: 0.08em !important;
    }
    .newspaper-lead-headline {
        font-size: 1.35rem !important;
    }
    .newspaper-photo-caption {
        font-size: 0.75rem !important;
        left: 10px !important;
        right: 10px !important;
        bottom: 8px !important;
    }
    .newspaper-quote-box div:first-child {
        font-size: 0.95rem !important;
    }
    .btn-carrier-primary {
        padding: 8px 12px !important;
        font-size: 0.76rem !important;
    }
    .contact-email-link {
        font-size: 0.88rem !important;
    }
    .dev-announcement-bar {
        font-size: 0.62rem !important;
        line-height: 1.3 !important;
    }
    .wishlist-empty-actions {
        flex-direction: column !important;
        width: 100% !important;
        gap: 8px !important;
    }
    .wishlist-empty-actions .btn-carrier-primary,
    .wishlist-empty-actions .btn-carrier-secondary {
        width: 100% !important;
        text-align: center !important;
    }
}