/* ═══════════════════════════════════════════════════════════════════════════
   REALSTAG UNIFIED PREMIUM DESIGN SYSTEM
   Theme: Warm Luxury Editorial Palette (v2.1)
   ═══════════════════════════════════════════════════════════════════════════ */

:root, [data-bs-theme=light] {
    /* Brand Colors */
    --color-primary: #1C1917;       /* Dark charcoal / black */
    --color-secondary: #78716C;     /* Soft medium gray-stone */
    --color-accent: #A16207;        /* Gold brand color */
    --color-accent-hover: #92400E;  /* Warm amber for hover states */
    
    /* Backgrounds */
    --color-bg-base: #FAFAF9;       /* Warm off-white page background */
    --color-bg-surface: #FFFFFF;    /* Pure white for cards, panels */
    --color-bg-soft: #F7F5F2;       /* Soft light warm gray */
    --color-bg-parchment: #F5F0E8;  /* Creamy parchment for product grids */
    --color-bg-dark: #110F0D;       /* Deep warm black for newsletter/footer */
    
    /* Text Colors */
    --color-text-primary: #1C1917;   /* Deep charcoal body text */
    --color-text-secondary: #78716C; /* Medium charcoal/stone secondary text */
    --color-text-muted: #A8A29E;     /* Soft muted text */
    --color-text-light: #FFFFFF;     /* White text on dark panels */
    
    /* Borders */
    --color-border-light: #E7E5E4;  /* Warm stone border */
    --color-border-medium: #D6D3D1; /* Medium stone border */
    
    /* Semantic Statuses */
    --color-success: #10B981;
    --color-danger: #EF4444;
    --color-warning: #F59E0B;
    --color-info: #3B82F6;
    
    /* Radii & Shadows */
    --rs-radius: 4px;
    --rs-radius-sm: 2px;
    --rs-shadow-sm: 0 1px 3px rgba(28,25,23,.06), 0 1px 2px rgba(28,25,23,.04);
    --rs-shadow-md: 0 4px 16px rgba(28,25,23,.08), 0 2px 6px rgba(28,25,23,.04);
    --rs-shadow-lg: 0 12px 40px rgba(28,25,23,.12), 0 4px 12px rgba(28,25,23,.06);
    --rs-transition: 0.25s cubic-bezier(0.16,1,0.3,1);
    
    /* Typography scale */
    --rs-font-display: 'Cormorant Garamond', 'Cormorant', Georgia, serif;
    --rs-font-sans: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
    
    /* Override Bootstrap variables */
    --bs-primary: var(--color-primary);
    --bs-body-bg: var(--color-bg-base);
    --bs-body-color: var(--color-text-primary);
    --bs-link-color: var(--color-primary);
    --bs-link-hover-color: var(--color-accent);
    --bs-border-color: var(--color-border-light);
}

body {
    font-family: var(--rs-font-sans) !important;
    background-color: var(--color-bg-base) !important;
    color: var(--color-text-primary) !important;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: var(--rs-font-display) !important;
    color: var(--color-text-primary) !important;
}


.header-nav .nav-link:hover {
    color:var(--color-primary);
}
.header-nav .nav-link:hover::after {
    transform:scaleX(1);
}
.header-icons {
    gap:.5rem;
}

@media(min-width: 992px) {
    .header-icons {
        gap:1.25rem;
        justify-self:end;
    }
}
.header-icon {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    color:var(--color-primary);
    text-decoration:none;
    font-size:1.2rem;
    transition:color .2s ease,transform .2s ease;
}
.header-icon:hover {
    color:var(--color-primary);
    transform:translateY(-1px);
}
.header-cart-badge {
    position:absolute;
    top:0;
    right:-4px;
    display:flex;
    align-items:center;
    justify-content:center;
    width:18px;
    height:18px;
    font-size:.625rem;
    font-weight:700;
    color:var(--color-bg-surface);
    background:var(--color-warning);
    border-radius:50%;
    border:2px solid var(--color-bg-surface);
    line-height:1;
}
.btn, .form-control, .form-select {
    min-height:44px;
}
.product-card {
    transition:transform .4s cubic-bezier(0.165, 0.84, 0.44, 1),box-shadow .4s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.product-card:hover {
    transform:translateY(-8px);
    box-shadow:0 15px 35px rgba(0,0,0,.08);
}
.product-card:hover .product-card__actions {
    opacity:1;
    visibility:visible;
}
.product-card:hover .product-card__action-btn {
    opacity:1;
    transform:translateX(0);
}
.product-card:hover .product-card-img-secondary {
    opacity:1;
}
.product-card:hover .product-card-img-primary {
    opacity:0;
    visibility:hidden;
}
.product-card:hover .product-card__action-btn:nth-child(1) {
    transition-delay:0s;
}
.product-card:hover .product-card__action-btn:nth-child(2) {
    transition-delay:0.06s;
}
.product-card:hover .product-card__action-btn:nth-child(3) {
    transition-delay:0.12s;
}
.product-card .product-card-img-primary {
    transition:opacity .5s ease,visibility .5s ease;
    opacity:1;
    visibility:visible;
}
.product-card .product-card-img-secondary {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:0;
    transition:opacity .5s ease;
}
.product-card__actions {
    position:absolute;
    top:12px;
    right:12px;
    display:flex;
    flex-direction:column;
    gap:8px;
    z-index:2;
    opacity:0;
    visibility:hidden;
    transition:opacity .25s ease,visibility .25s ease;
}
.product-card__action-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    border-radius:50%;
    background:var(--color-bg-surface);
    color:var(--color-primary);
    border:none;
    box-shadow:0 2px 8px rgba(0,0,0,.12);
    font-size:1rem;
    cursor:pointer;
    text-decoration:none;
    opacity:0;
    transform:translateX(12px);
    transition:opacity .3s ease,transform .3s ease,background .2s ease,color .2s ease;
}
.product-card__action-btn:hover {
    background:var(--color-primary);
    color:var(--color-bg-surface);
    transform:translateX(0) scale(1.1) !important;
}
.product-card__action-btn:active {
    transform:translateX(0) scale(0.95) !important;
}
.reveal-up {
    opacity:0;
    transform:translateY(40px);
    transition:all .8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.reveal-up.active {
    opacity:1;
    transform:translateY(0);
}
.social-link-oval {
    width:34px;
    height:44px;
    border:1px solid hsla(0,0%,100%,.2);
    border-radius:22px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:hsla(0,0%,100%,.5);
    text-decoration:none;
    transition:all .3s ease;
}
.social-link-oval i {
    font-size:1rem;
}
.social-link-oval:hover {
    border-color:var(--color-bg-surface);
    color:var(--color-bg-surface);
    background:hsla(0,0%,100%,.05);
    transform:translateY(-2px);
}
body {
    font-family:"Plus Jakarta Sans",system-ui,-apple-system,sans-serif !important;
}
h1, h2, .h2, h3, .h3, h4, .h4, h5, h6, .h6, .navbar-brand {
    font-family:"Plus Jakarta Sans",system-ui,-apple-system,sans-serif;
    font-weight:700;
}
.top-promo-bar {
    background-color:var(--color-primary);
    font-size:.725rem;
    letter-spacing:.18em;
    text-transform:uppercase;
    font-family:"Plus Jakarta Sans",sans-serif;
    padding-top:.5rem;
    padding-bottom:.5rem;
}
.header-brand {
    font-family:"Cormorant Garamond",serif !important;
    font-weight:900 !important;
    font-size:1.85rem !important;
    letter-spacing:.08em !important;
}

@media(min-width: 992px) {
    .site-header {
        height:80px !important;
    }
}
.site-header .navbar {
    height:100%;
}
.header-nav .nav-link {
    font-family:"Plus Jakarta Sans",sans-serif;
    font-size:.725rem !important;
    font-weight:700 !important;
    text-transform:uppercase;
    letter-spacing:.15em;
    padding:.5rem 1rem !important;
}
.header-cart-badge {
    background:var(--color-primary) !important;
    font-family:"Plus Jakarta Sans",sans-serif;
    font-size:.65rem;
}
.btn-premium {
    background-color:var(--color-primary);
    color:var(--color-bg-surface);
    border-radius:50px;
    padding:.85rem 2.5rem;
    transition:all .3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.btn-premium:hover {
    background-color:#000;
    color:var(--color-bg-surface);
    transform:translateY(-2px);
    box-shadow:0 10px 20px rgba(0,0,0,.15);
}
.btn-premium:active {
    transform:translateY(0);
    box-shadow:0 5px 10px rgba(0,0,0,.1);
}
.auth-page {
    min-height:100vh;
    background:var(--color-bg-surface);
}
.auth-split-image {
    background-image:url("../images/auth_hero_dark.png");
    background-color:#0a0a0c;
    background-repeat:no-repeat;
    background-size:cover;
    background-position:center;
    position:relative;
    z-index:1;
    min-height:100vh;
    padding:clamp(2rem,3vw,3.5rem);
    color:#f4f4f5 !important;
    overflow:hidden;
    border-right:1px solid #1f1f23;
}
.auth-split-image::before {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(135deg, rgba(10, 10, 12, 0.92) 0%, rgba(10, 10, 12, 0.35) 50%, rgba(10, 10, 12, 0.88) 100%);
    z-index:-1;
    pointer-events:none;
}
.auth-split-image .auth-split-logo {
    position:relative;
    z-index:1;
}
.auth-split-image .header-brand {
    color:var(--color-bg-surface) !important;
    font-size:clamp(1.65rem,2vw,2.25rem) !important;
    letter-spacing:.05em;
    text-transform:uppercase;
    font-weight:800;
}
.auth-split-form {
    min-height:100vh;
    padding:clamp(2rem,5vw,5rem);
}
.auth-split-form .auth-form-shell {
    max-width:460px;
    margin:0 auto;
}
.auth-split-form .back-link {
    font-size:.725rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.12em;
    transition:color .2s ease;
}
.auth-split-form .back-link:hover {
    color:var(--color-primary) !important;
}
.auth-split-form .auth-title {
    font-family:"Cormorant Garamond",serif !important;
    font-weight:700;
    font-size:2.25rem;
    color:var(--color-primary);
    letter-spacing:-0.01em;
}
.auth-split-form .auth-subtitle {
    font-size:.95rem;
    line-height:1.65;
    max-width:38rem;
}
.auth-split-form .form-floating>.form-control {
    min-height:58px;
    border-radius:.85rem;
    border-color:#d9dee8;
    background-color:var(--color-bg-surface);
    padding-left:1rem;
    padding-right:1rem;
    font-size:.95rem;
    box-shadow:0 1px 2px rgba(17,24,39,.03);
    transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;
}
.auth-split-form .form-floating>.form-control:hover:not(:focus) {
    border-color:#a3b0cc;
}
.auth-split-form .form-floating>.form-control:focus {
    border-color:var(--color-primary);
    box-shadow:0 0 0 4px rgba(17,24,39,.08);
}
.auth-split-form .form-floating>.form-control:-webkit-autofill, .auth-split-form .form-floating>.form-control:-webkit-autofill:hover, .auth-split-form .form-floating>.form-control:-webkit-autofill:focus, .auth-split-form .form-floating>.form-control:-webkit-autofill:active {
    -webkit-box-shadow:0 0 0 1000px var(--color-bg-surface) inset !important;
    -webkit-text-fill-color:var(--color-primary) !important;
    transition:background-color 5000s ease-in-out 0s;
}
.auth-split-form .form-floating>label {
    color:var(--color-secondary);
    font-size:.82rem;
}
.auth-split-form .form-check-input {
    width:1rem;
    height:1rem;
    margin-top:.15rem;
    border-color:#cfd6e3;
}
.auth-split-form .form-check-input:checked {
    background-color:var(--color-primary);
    border-color:var(--color-primary);
}
.auth-split-form .auth-form-meta {
    flex-wrap:wrap;
}
.auth-split-form .btn-premium {
    min-height:56px;
    border-radius:999px;
}
.auth-split-form .auth-switch {
    line-height:1.5;
}

@media(max-width: 991.98px) {
    .auth-split-form {
        min-height:100vh;
        padding:2rem 1.25rem;
    }
    .auth-split-form .auth-form-shell {
        max-width:430px;
    }
}
#heroSlider.carousel-fade .carousel-item {
    transition:opacity 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}
#heroSlider .carousel-indicators [data-bs-target] {
    width:10px;
    height:10px;
    border-radius:50%;
    background-color:var(--color-bg-surface);
    opacity:.5;
    margin:0 6px;
    border:none;
    transition:all .3s ease;
}
#heroSlider .carousel-indicators [data-bs-target].active {
    opacity:1;
    transform:scale(1.2);
    background-color:var(--color-bg-surface);
    box-shadow:0 0 0 2px rgba(17,24,39,.5);
}
.profile-dashboard-header {
    background:linear-gradient(135deg, var(--color-bg-soft) 0%, var(--color-bg-soft) 100%);
    border:1px solid var(--color-border-light);
    border-radius:1.5rem;
    padding:2rem;
    margin-bottom:2rem;
}
.profile-avatar-initials {
    width:72px;
    height:72px;
    background:linear-gradient(135deg, var(--color-primary) 0%, #374151 100%);
    color:var(--color-bg-surface);
    font-family:"Plus Jakarta Sans",sans-serif;
    font-weight:700;
    font-size:1.5rem;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    border:3px solid var(--color-bg-surface);
    box-shadow:0 4px 10px rgba(0,0,0,.05);
}
.profile-avatar-img {
    width:72px;
    height:72px;
    border-radius:50%;
    object-fit:cover;
    border:3px solid var(--color-bg-surface);
    box-shadow:0 4px 10px rgba(0,0,0,.05);
}
.profile-stats-grid {
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:1rem;
}

@media(max-width: 576px) {
    .profile-stats-grid {
        grid-template-columns:1fr;
    }
}
.profile-stat-box {
    background:var(--color-bg-surface);
    border:1px solid var(--color-border-light);
    border-radius:1rem;
    padding:1rem;
    text-align:center;
    transition:all .3s ease;
    text-decoration:none;
}
.profile-stat-box:hover {
    transform:translateY(-2px);
    box-shadow:0 10px 15px -3px rgba(0,0,0,.05);
    border-color:var(--color-primary);
}
.profile-nav-card {
    border:1px solid var(--color-border-light);
    border-radius:1.25rem;
    background:var(--color-bg-surface);
    padding:1rem;
}
.profile-nav-link {
    font-family:"Plus Jakarta Sans",sans-serif;
    font-weight:600;
    font-size:.875rem;
    color:var(--color-secondary) !important;
    border-radius:.75rem !important;
    margin-bottom:.375rem;
    border:none !important;
    background-color:rgba(0,0,0,0) !important;
    transition:all .2s cubic-bezier(0.4, 0, 0.2, 1);
    display:flex;
    align-items:center;
    padding:.85rem 1.25rem !important;
}
.profile-nav-link i {
    font-size:1.15rem;
    color:#9ca3af;
    transition:color .2s ease;
}
.profile-nav-link:hover {
    color:var(--color-primary) !important;
    background-color:var(--color-bg-soft) !important;
}
.profile-nav-link:hover i {
    color:var(--color-primary);
}
.profile-nav-link.active {
    font-weight:700;
    color:var(--color-primary) !important;
    background-color:var(--color-bg-soft) !important;
    border-left:3px solid var(--color-primary) !important;
    border-radius:0 .75rem .75rem 0 !important;
}
.profile-nav-link.active i {
    color:var(--color-primary) !important;
}
.profile-content-card {
    border:1px solid var(--color-border-light);
    border-radius:1.25rem;
    background:var(--color-bg-surface);
    padding:2.5rem;
}

@media(max-width: 768px) {
    .profile-content-card {
        padding:1.5rem;
    }
}
.profile-section-title {
    font-family:"Cormorant Garamond",serif !important;
    font-weight:700;
    font-size:1.5rem;
    color:var(--color-primary);
    margin-bottom:1.5rem;
    display:flex;
    align-items:center;
}
.profile-address-card {
    border:1px solid var(--color-border-light);
    border-radius:1rem;
    padding:1.25rem;
    transition:all .3s ease;
    background:var(--color-bg-surface);
    height:100%;
    position:relative;
    display:flex;
    flex-direction:column;
}
.profile-address-card:hover {
    border-color:var(--color-primary);
    box-shadow:0 10px 15px -3px rgba(0,0,0,.05);
}
.profile-address-card.default {
    border-color:var(--color-primary);
    background:var(--color-bg-soft);
}
.profile-badge-default {
    background:var(--color-primary);
    color:var(--color-bg-surface);
    font-family:"Plus Jakarta Sans",sans-serif;
    font-size:.65rem;
    font-weight:700;
    letter-spacing:.05em;
    padding:.25rem .6rem;
    border-radius:50px;
}
.status-pill {
    font-family:"Plus Jakarta Sans",sans-serif;
    font-size:.75rem;
    font-weight:700;
    letter-spacing:.02em;
    padding:.375rem .85rem;
    border-radius:50px;
    display:inline-flex;
    align-items:center;
}
.status-pill.pending {
    background-color:#fef3c7;
    color:var(--color-warning);
}
.status-pill.processing, .status-pill.shipped {
    background-color:#dbeafe;
    color:var(--color-info);
}
.status-pill.delivered {
    background-color:#d1fae5;
    color:var(--color-success);
}
.status-pill.canceled, .status-pill.failed {
    background-color:#fee2e2;
    color:var(--color-danger);
}
.profile-wishlist-card {
    border:1px solid var(--color-border-light);
    border-radius:1rem;
    overflow:hidden;
    transition:all .3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.profile-wishlist-card:hover {
    transform:translateY(-4px);
    box-shadow:0 12px 20px rgba(0,0,0,.06);
    border-color:var(--color-primary);
}
.profile-wishlist-card:hover .wishlist-img {
    transform:scale(1.05);
}
.profile-wishlist-card .wishlist-img-wrapper {
    overflow:hidden;
    position:relative;
}
.profile-wishlist-card .wishlist-img {
    height:200px;
    object-fit:cover;
    width:100%;
    transition:transform .5s ease;
}
.profile-form-label {
    font-family:"Plus Jakarta Sans",sans-serif;
    font-weight:700;
    font-size:.75rem;
    letter-spacing:.05em;
    text-transform:uppercase;
    color:var(--color-secondary);
    margin-bottom:.5rem;
}
.profile-form-input {
    border:1px solid var(--color-border-light);
    border-radius:.75rem;
    padding:.75rem 1rem;
    font-size:.95rem;
    transition:all .2s ease;
}
.profile-form-input:focus {
    border-color:var(--color-primary);
    box-shadow:0 0 0 4px rgba(17,24,39,.08);
}
.profile-form-input[readonly], .profile-form-input[disabled] {
    background-color:var(--color-bg-soft) !important;
    border-color:var(--color-border-light);
    color:#9ca3af;
}
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, .btn:focus-visible, .form-control:focus-visible, .form-select:focus-visible, .product-card__action-btn:focus-visible, .qty-stepper-btn:focus-visible, .profile-nav-link:focus-visible, .checkout-address-card:focus-visible, .payment-option-card:focus-visible, [role=button]:focus-visible, [tabindex]:focus-visible {
    outline:2px solid var(--color-primary) !important;
    outline-offset:2px !important;
    box-shadow:0 0 0 3px hsla(0,0%,100%,.95),0 0 0 5px var(--color-primary) !important;
}
a:focus:not(:focus-visible), button:focus:not(:focus-visible), input:focus:not(:focus-visible), select:focus:not(:focus-visible), textarea:focus:not(:focus-visible), .btn:focus:not(:focus-visible) {
    outline:none !important;
    box-shadow:none !important;
}
::-webkit-scrollbar {
    width:8px;
    height:8px;
}
::-webkit-scrollbar-track {
    background:var(--color-bg-soft);
}
::-webkit-scrollbar-thumb {
    background:#d1d5db;
    border-radius:4px;
}
::-webkit-scrollbar-thumb:hover {
    background:#9ca3af;
}

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

@keyframes rs-progress-shimmer {
    0%{transform:translateX(-100%)}100%{transform:translateX(100%)}
}
.form-floating>.form-control:focus~label, .form-floating>.form-control:not(:placeholder-shown)~label {
    color:var(--color-primary) !important;
    font-weight:700;
    font-size:.75rem;
}
.was-validated .form-control:valid, .form-control.is-valid {
    border-color:var(--color-success) !important;
    background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2310B981' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.13z'/%3e%3c/svg%3e") !important;
    background-size:1.25rem 1.25rem;
    background-repeat:no-repeat;
    background-position:right .75rem center;
    box-shadow:none !important;
}
.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
    box-shadow:0 0 0 4px rgba(16,185,129,.12) !important;
    border-color:var(--color-success) !important;
}
.was-validated .form-control:invalid, .form-control.is-invalid {
    border-color:var(--color-danger) !important;
    background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23EF4444'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23EF4444'/%3e%3c/svg%3e") !important;
    background-size:1.25rem 1.25rem;
    background-repeat:no-repeat;
    background-position:right .75rem center;
    box-shadow:none !important;
}
.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
    box-shadow:0 0 0 4px rgba(239,68,68,.12) !important;
    border-color:var(--color-danger) !important;
}
.rs-empty-state {
    padding:3rem 1.5rem;
    text-align:center;
}
.rs-empty-state .rs-empty-icon {
    font-size:3rem;
    color:#9ca3af;
    margin-bottom:1.25rem;
    display:inline-block;
    opacity:.6;
    animation:rs-float 3s ease-in-out infinite;
}
.rs-empty-state .rs-empty-title {
    font-family:"Plus Jakarta Sans",sans-serif;
    font-weight:700;
    font-size:1.1rem;
    color:var(--color-primary);
    margin-bottom:.5rem;
}
.rs-empty-state .rs-empty-text {
    font-size:.85rem;
    color:var(--color-secondary);
    max-width:280px;
    margin:0 auto 1.5rem;
    line-height:1.5;
}

@keyframes rs-float {
    0%{transform:translateY(0px)}50%{transform:translateY(-8px)}100%{transform:translateY(0px)}
}
.rs-commerce-shell {
    --rs-bg: var(--color-bg-base) !important;
    --rs-surface: var(--color-bg-surface) !important;
    --rs-surface-soft: var(--color-bg-soft) !important;
    --rs-ink: var(--color-primary) !important;
    --rs-muted: #6e655c !important;
    --rs-border: var(--color-border-light) !important;
    --rs-accent: var(--color-accent) !important;
    --rs-accent-strong: var(--color-accent-hover) !important;
    --rs-gold: var(--color-accent) !important;
    background: linear-gradient(180deg, rgba(139, 90, 50, .07), transparent 340px), var(--color-bg-base) !important;
    color: var(--color-primary) !important;
}
.rs-commerce-shell main, .shop-page, .product-detail-page, .cart-page-container, .checkout-container, .profile-dashboard-header {
    background: transparent !important;
    color: var(--color-primary) !important;
}
.site-header {
    background: rgba(255, 255, 255, .96) !important;
    border-bottom-color: rgba(225, 215, 202, .9) !important;
}
.header-brand, .header-icon, .header-nav .nav-link, .product-info, .product-info h5, .shop-product-name, .shop-product-price, .cart-page-title, .checkout-title, .profile-section-title {
    color: var(--color-primary) !important;
}
.product-card {
    background: var(--color-bg-surface) !important;
    border-color: var(--color-border-light) !important;
}
.product-card:hover {
    box-shadow: 0 16px 38px rgba(24, 21, 18, .11) !important;
}
.product-card img, .product-card-img-primary, .product-card-img-secondary, .gallery-main-img, .wishlist-img, .cart-item-img, .bundle-item-thumb {
    opacity: 1 !important;
    filter: none !important;
    mix-blend-mode: normal !important;
}
.cart-item-card, .cart-summary-card, .checkout-card, .payment-option-card, .checkout-address-card, .profile-content-card, .profile-nav-card, .profile-address-card, .profile-wishlist-card, .bundle-item-card, .gallery-main, .gallery-thumb-item {
    background: var(--color-bg-surface) !important;
    border-color: var(--color-border-light) !important;
    color: var(--color-primary) !important;
}
.rs-eyebrow, .text-success {
    color: var(--color-accent) !important;
}
.text-muted, .shop-product-category {
    color: #6e655c !important;
}
.btn-dark, .btn-premium, .btn-add-cart-premium, .cart-empty-btn {
    background: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    color: var(--color-bg-surface) !important;
}
.btn-dark:hover, .btn-premium:hover, .btn-add-cart-premium:hover, .cart-empty-btn:hover {
    background: var(--color-accent) !important;
    border-color: var(--color-accent) !important;
}
.form-control, .form-select, .checkout-form-input, .profile-form-input {
    background-color: var(--color-bg-surface) !important;
    color: var(--color-primary) !important;
    border-color: #d8cabb !important;
}
.rs-footer {
    background: var(--color-primary) !important;
}

@media (prefers-color-scheme: dark) {
    .rs-commerce-shell {
        --rs-bg: var(--color-bg-base) !important;
        --rs-surface: var(--color-bg-surface) !important;
        --rs-surface-soft: var(--color-bg-soft) !important;
        --rs-ink: var(--color-primary) !important;
        --rs-muted: #6e655c !important;
        --rs-border: var(--color-border-light) !important;
        --rs-accent: var(--color-accent) !important;
        --rs-accent-strong: var(--color-accent-hover) !important;
        background: linear-gradient(180deg, rgba(139, 90, 50, .07), transparent 340px), var(--color-bg-base) !important;
        color: var(--color-primary) !important;
    }
}
.rs-commerce-shell {
    --rs-bg: var(--color-bg-base) !important;
    --rs-bg-soft: var(--color-bg-soft) !important;
    --rs-surface: var(--color-bg-surface) !important;
    --rs-surface-raised: var(--color-bg-surface) !important;
    --rs-ink: var(--color-primary) !important;
    --rs-ink-soft: #334155 !important;
    --rs-muted: #64748b !important;
    --rs-border: var(--color-border-light) !important;
    --rs-border-strong: var(--color-border-medium) !important;
    --rs-accent: var(--color-info) !important;
    --rs-accent-strong: var(--color-info) !important;
    --rs-accent-soft: #eff6ff !important;
    --rs-success: #0f9f6e !important;
    --rs-danger: var(--color-danger) !important;
    --rs-radius: 18px !important;
    --rs-radius-sm: 12px !important;
    --rs-shadow-sm: 0 1px 2px rgba(15, 23, 42, .05), 0 1px 3px rgba(15, 23, 42, .06) !important;
    --rs-shadow-md: 0 12px 30px rgba(15, 23, 42, .08) !important;
    --rs-shadow-lg: 0 24px 60px rgba(15, 23, 42, .10) !important;
    background:
    radial-gradient(circle at top left, rgba(37, 99, 235, .08), transparent 360px),
    linear-gradient(180deg, var(--color-bg-surface) 0, var(--color-bg-base) 360px, var(--color-bg-surface) 100%) !important;
    color: var(--rs-ink) !important;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
.rs-commerce-shell main, .shop-page, .product-detail-page, .cart-page-container, .checkout-container, .auth-page {
    background: transparent !important;
    color: var(--rs-ink) !important;
}
.top-promo-bar {
    background: var(--rs-accent-soft) !important;
    color: var(--rs-accent-strong) !important;
    border-bottom: 1px solid rgba(37, 99, 235, .12) !important;
    margin-top: 0 !important;
    padding-top: .35rem !important;
    padding-bottom: .35rem !important;
    line-height: 1.2 !important;
}
.site-header {
    background: rgba(255, 255, 255, .88) !important;
    border-bottom: 1px solid rgba(226, 232, 240, .92) !important;
    box-shadow: 0 10px 30px rgba(15, 23, 42, .04) !important;
    backdrop-filter: saturate(180%) blur(18px);
    -webkit-backdrop-filter: saturate(180%) blur(18px);
}
.header-brand {
    color: var(--rs-ink) !important;
    letter-spacing: .12em !important;
}
.header-nav .nav-link {
    color: var(--rs-muted) !important;
    border-radius: 999px !important;
    transition: color .2s ease, background-color .2s ease, transform .2s ease !important;
}
.header-nav .nav-link:hover, .header-nav .nav-link:focus-visible {
    background: var(--rs-accent-soft) !important;
    color: var(--rs-accent-strong) !important;
}
.header-icon {
    width: 42px !important;
    height: 42px !important;
    border: 1px solid transparent !important;
    border-radius: 999px !important;
    color: var(--rs-ink-soft) !important;
    background: transparent !important;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease !important;
}
.header-icon:hover {
    background: var(--rs-accent-soft) !important;
    border-color: rgba(37, 99, 235, .16) !important;
    color: var(--rs-accent-strong) !important;
    transform: translateY(-1px);
}
.header-cart-badge {
    background: var(--rs-accent) !important;
    color: var(--color-bg-surface) !important;
    border: 2px solid var(--color-bg-surface) !important;
}
.btn-dark, .btn-premium, .btn-add-cart-premium, .cart-empty-btn, .cart-checkout-btn, .shop-apply-btn {
    background: var(--rs-accent) !important;
    border-color: var(--rs-accent) !important;
    color: var(--color-bg-surface) !important;
    box-shadow: 0 10px 22px rgba(37, 99, 235, .18) !important;
}
.btn-dark:hover, .btn-premium:hover, .btn-add-cart-premium:hover, .cart-empty-btn:hover, .cart-checkout-btn:hover, .shop-apply-btn:hover {
    background: var(--rs-accent-strong) !important;
    border-color: var(--rs-accent-strong) !important;
    color: var(--color-bg-surface) !important;
    box-shadow: 0 14px 28px rgba(37, 99, 235, .24) !important;
}
.btn-outline-dark {
    color: var(--rs-ink) !important;
    border-color: var(--rs-border-strong) !important;
    background: var(--color-bg-surface) !important;
}
.btn-outline-dark:hover {
    color: var(--rs-accent-strong) !important;
    border-color: rgba(37, 99, 235, .28) !important;
    background: var(--rs-accent-soft) !important;
}
.text-primary, .rs-eyebrow, .cart-trust-badges .text-primary {
    color: var(--rs-accent) !important;
}
.text-success, .cart-trust-badges .text-success {
    color: var(--rs-success) !important;
}
.text-muted, .shop-product-category, .cart-trust-badges {
    color: var(--rs-muted) !important;
}
.gallery-main, .cart-item-card, .cart-summary-card, .checkout-card, .payment-option-card, .checkout-address-card, .profile-dashboard-header, .profile-content-card, .profile-nav-card, .profile-address-card, .profile-wishlist-card, .bundle-item-card, .gallery-thumb-item, .modal-content, .rs-drawer, .offcanvas, .auth-split-form .auth-form-shell, .bg-white.border.rounded-4, .bg-light.border.rounded-4 {
    background: var(--rs-surface-raised) !important;
    border-color: var(--rs-border) !important;
    box-shadow: var(--rs-shadow-sm) !important;
    color: var(--rs-ink) !important;
}
.shop-hero-breadcrumb .current {
    color: var(--rs-ink) !important;
}
.shop-hero-breadcrumb a, .shop-hero-breadcrumb .sep {
    color: var(--rs-muted) !important;
}
.product-card {
    background: var(--color-bg-surface) !important;
    border: 1px solid var(--rs-border) !important;
    border-radius: 20px !important;
    box-shadow: var(--rs-shadow-sm) !important;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease !important;
}
.product-item:hover .product-card, .product-card:hover, .profile-wishlist-card:hover, .cart-item-card:hover, .bundle-item-card:hover {
    border-color: rgba(37, 99, 235, .24) !important;
    box-shadow: var(--rs-shadow-md) !important;
    transform: translateY(-3px);
}
.product-card img, .product-card-img-primary, .product-card-img-secondary, .gallery-main-img, .wishlist-img, .cart-item-img, .bundle-item-thumb {
    opacity: 1 !important;
    filter: none !important;
    mix-blend-mode: normal !important;
}
.product-card__action-btn, .btn-wishlist-premium, .qty-btn, .qty-stepper-btn {
    background: rgba(255, 255, 255, .92) !important;
    border: 1px solid var(--rs-border) !important;
    color: var(--rs-ink-soft) !important;
    box-shadow: var(--rs-shadow-sm) !important;
}
.product-card__action-btn:hover, .btn-wishlist-premium:hover, .qty-btn:hover:not(:disabled), .qty-stepper-btn:hover {
    background: var(--rs-accent-soft) !important;
    border-color: rgba(37, 99, 235, .24) !important;
    color: var(--rs-accent-strong) !important;
}
.shop-category-link.active, .shop-sort-dropdown .dropdown-item.active-sort, .shop-pagination .page-item.active .page-link, .btn-check:checked + .size-selector-btn, .profile-nav-link.active {
    background: var(--rs-accent) !important;
    border-color: var(--rs-accent) !important;
    color: var(--color-bg-surface) !important;
}
.shop-sort-dropdown .dropdown-item:hover, .profile-nav-link:hover {
    background: var(--rs-accent-soft) !important;
    color: var(--rs-accent-strong) !important;
}
.form-control, .form-select, .checkout-form-input, .profile-form-input, .bundle-item-select, .auth-split-form .form-floating > .form-control {
    background: var(--color-bg-surface) !important;
    border-color: var(--rs-border) !important;
    color: var(--rs-ink) !important;
    border-radius: 14px !important;
    box-shadow: none !important;
}
.form-control:focus, .form-select:focus, .checkout-form-input:focus, .profile-form-input:focus, .bundle-item-select:focus, .auth-split-form .form-floating > .form-control:focus {
    border-color: rgba(37, 99, 235, .58) !important;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, .12) !important;
}
.shop-price-range {
    background: linear-gradient(to right, var(--rs-accent) 0%, var(--rs-accent) calc(var(--val, 100) * 1%), var(--rs-border) calc(var(--val, 100) * 1%), var(--rs-border) 100%) !important;
}
.shop-price-range::-webkit-slider-thumb {
    background: var(--rs-accent) !important;
    border-color: var(--color-bg-surface) !important;
}
.shop-price-range::-moz-range-thumb {
    background: var(--rs-accent) !important;
    border-color: var(--color-bg-surface) !important;
}
.cart-empty-icon-wrapper, .shop-empty-icon, .rs-empty-state .rs-empty-icon, .qty-stepper, .quantity-control-group, .bg-light {
    background: var(--rs-bg-soft) !important;
}
.price-tag, .cart-summary-total, .cart-item-line-price, .shop-product-price, .product-title, .cart-page-title, .checkout-title, .profile-section-title, .shop-product-name, .product-info h5, .cart-summary-title, .auth-split-form .auth-title {
    color: var(--rs-ink) !important;
}
.price-tag.on-sale, .text-danger, .cart-remove-btn {
    color: var(--rs-danger) !important;
}
.badge.bg-dark, .badge.bg-primary, .shop-product-badge-sale.bg-dark {
    background: var(--rs-accent) !important;
}
.badge.bg-danger, .discount-badge {
    background: #fef2f2 !important;
    color: var(--rs-danger) !important;
}
.rs-footer {
    background: var(--color-bg-surface) !important;
    border-top: 1px solid var(--rs-border) !important;
    color: var(--rs-ink) !important;
    box-shadow: 0 -16px 45px rgba(15, 23, 42, .04) !important;
}
.rs-footer .text-white, .rs-footer h5, .rs-footer h6 {
    color: var(--rs-ink) !important;
}
.rs-footer .text-white-50, .rs-footer a.text-white-50, .rs-footer span.text-white-50 {
    color: var(--rs-muted) !important;
}
.rs-footer a:hover {
    color: var(--rs-accent-strong) !important;
}
.social-link-oval {
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    border-color: var(--rs-border) !important;
    color: var(--rs-muted) !important;
    background: var(--color-bg-surface) !important;
}
.social-link-oval:hover {
    border-color: rgba(37, 99, 235, .28) !important;
    background: var(--rs-accent-soft) !important;
    color: var(--rs-accent-strong) !important;
}
.auth-split-image {
    background-image: url("../images/auth_hero_illustration.png") !important;
    background-color: #f8fafc !important;
    color: var(--rs-ink) !important;
    border-right: 1px solid var(--rs-border) !important;
}
.auth-split-image::before {
    background: linear-gradient(135deg, rgba(255, 255, 255, .94), rgba(239, 246, 255, .72)) !important;
}
.auth-split-image .header-brand {
    color: var(--rs-ink) !important;
    text-shadow: none !important;
}
.toast {
    border: 1px solid var(--rs-border) !important;
    border-radius: 16px !important;
    box-shadow: var(--rs-shadow-md) !important;
    overflow: hidden;
}
.toast-header.text-bg-success {
    background: var(--rs-accent) !important;
}
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, .btn:focus-visible, .form-control:focus-visible, .form-select:focus-visible, .product-card__action-btn:focus-visible, .qty-stepper-btn:focus-visible, .profile-nav-link:focus-visible, .checkout-address-card:focus-visible, .payment-option-card:focus-visible, [role=button]:focus-visible, [tabindex]:focus-visible {
    outline: 2px solid var(--rs-accent) !important;
    outline-offset: 3px !important;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, .16) !important;
}

@media (max-width: 991.98px) {
    .site-header .navbar-collapse {
        background: var(--color-bg-surface) !important;
        border: 1px solid var(--rs-border) !important;
        border-radius: 18px !important;
        box-shadow: var(--rs-shadow-md) !important;
        margin-top: .75rem;
        padding: .75rem;
    }
    .header-nav .nav-link {
        padding: .85rem 1rem !important;
    }
}

@media (max-width: 767.98px) {
    .rs-commerce-shell {
        background: linear-gradient(180deg, var(--color-bg-surface) 0, var(--color-bg-base) 260px, var(--color-bg-surface) 100%) !important;
    }
}
.auth-page {
    min-height: 100vh !important;
    background: var(--color-bg-surface) !important;
}
.auth-split-image {
    min-height: 100vh !important;
    padding: clamp(2rem, 3.5vw, 4.5rem) !important;
    background-image:
    linear-gradient(90deg, rgba(255, 255, 255, .78), rgba(255, 255, 255, .5)),
    url("../images/auth_hero_illustration.png") !important;
    background-size: min(90%, 980px) auto !important;
    background-repeat: no-repeat !important;
    background-position: center bottom !important;
    background-color: #f8fbff !important;
    border-right: 1px solid #e5edf7 !important;
}
.auth-split-image::before {
    background:
    radial-gradient(circle at 28% 18%, rgba(37, 99, 235, .10), transparent 340px),
    linear-gradient(180deg, rgba(255, 255, 255, .45), rgba(248, 251, 255, .90)) !important;
}
.auth-split-logo {
    position: relative !important;
    z-index: 2 !important;
}
.auth-split-image .header-brand, .auth-split-form .header-brand {
    color: var(--color-primary) !important;
    font-size: clamp(1.85rem, 2vw, 2.35rem) !important;
    letter-spacing: .12em !important;
}
.auth-split-form {
    min-height: 100vh !important;
    padding: clamp(2rem, 5vw, 6rem) !important;
    background:
    radial-gradient(circle at 72% 18%, rgba(37, 99, 235, .06), transparent 320px),
    var(--color-bg-surface) !important;
}
.auth-split-form .auth-form-shell {
    width: min(100%, 520px) !important;
    max-width: 520px !important;
    margin: 0 auto !important;
    padding: clamp(2rem, 3vw, 3rem) !important;
    background: var(--color-bg-surface) !important;
    border: 1px solid #e5edf7 !important;
    border-radius: 22px !important;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .09) !important;
}
.auth-split-form .back-link {
    color: #64748b !important;
    font-size: .75rem !important;
    letter-spacing: .08em !important;
}
.auth-split-form .back-link:hover {
    color: var(--color-info) !important;
}
.auth-split-form .auth-title {
    font-family: "Cormorant Garamond", serif !important;
    color: var(--color-primary) !important;
    font-size: clamp(2rem, 2.8vw, 3rem) !important;
    line-height: 1.05 !important;
    letter-spacing: 0 !important;
    margin-bottom: .65rem !important;
}
.auth-split-form .auth-subtitle {
    color: #64748b !important;
    font-size: .98rem !important;
    line-height: 1.65 !important;
    max-width: 34rem !important;
}
.auth-form .form-floating, #registerForm .form-floating, #forgot-password-form .form-floating {
    margin-bottom: 1rem !important;
}
.auth-split-form .form-floating > .form-control {
    min-height: 64px !important;
    border: 1px solid #dbe5f1 !important;
    border-radius: 16px !important;
    background: #fbfdff !important;
    color: var(--color-primary) !important;
    font-size: .98rem !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9) !important;
}
.auth-split-form .form-floating > .form-control:hover:not(:focus) {
    border-color: #bfcee0 !important;
    background: var(--color-bg-surface) !important;
}
.auth-split-form .form-floating > .form-control:focus {
    background: var(--color-bg-surface) !important;
    border-color: var(--color-info) !important;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, .12) !important;
}
.auth-split-form .form-floating > label {
    color: #64748b !important;
    padding-left: 1rem !important;
}
.auth-split-form .form-check-input {
    width: 1.08rem !important;
    height: 1.08rem !important;
    border-color: var(--color-border-medium) !important;
    box-shadow: none !important;
}
.auth-split-form .form-check-input:checked {
    background-color: var(--color-info) !important;
    border-color: var(--color-info) !important;
}
.auth-split-form .btn-premium {
    min-height: 58px !important;
    border-radius: 999px !important;
    background: var(--color-info) !important;
    border-color: var(--color-info) !important;
    box-shadow: 0 16px 30px rgba(37, 99, 235, .22) !important;
}
.auth-split-form .btn-premium:hover {
    background: var(--color-info) !important;
    border-color: var(--color-info) !important;
    box-shadow: 0 18px 36px rgba(37, 99, 235, .28) !important;
}
.auth-split-form a.text-dark, .auth-switch a {
    color: var(--color-primary) !important;
}
.auth-split-form a.text-dark:hover, .auth-switch a:hover {
    color: var(--color-info) !important;
}
.auth-form-meta {
    row-gap: .75rem !important;
}

@media (min-width: 1400px) {
    .auth-split-form .auth-form-shell {
        margin-left: clamp(1rem, 4vw, 5rem) !important;
        margin-right: auto !important;
    }
}

@media (max-width: 991.98px) {
    .auth-split-form {
        min-height: 100vh !important;
        align-items: flex-start !important;
        padding: 1.5rem !important;
        background: linear-gradient(180deg, #f8fbff, var(--color-bg-surface) 42%) !important;
    }
    .auth-split-form .auth-form-shell {
        max-width: 560px !important;
        margin: 0 auto !important;
        padding: 1.5rem !important;
        border-radius: 18px !important;
        box-shadow: 0 18px 48px rgba(15, 23, 42, .08) !important;
    }
}

@media (max-width: 575.98px) {
    .auth-split-form {
        padding: 1rem !important;
    }
    .auth-split-form .auth-form-shell {
        padding: 1.25rem !important;
        border-radius: 16px !important;
    }
    .auth-form-meta {
        align-items: flex-start !important;
        flex-direction: column !important;
    }
    .auth-split-form .form-floating > .form-control {
        min-height: 60px !important;
    }
}
.auth-split-image {
    isolation: isolate !important;
    background-image:
    linear-gradient(90deg, rgba(248, 251, 255, .22), rgba(255, 255, 255, .48)),
    url("../images/auth_hero_illustration.png") !important;
    background-size: clamp(640px, 56vw, 980px) auto !important;
    background-position: center calc(50% + 48px) !important;
    background-repeat: no-repeat !important;
}
.auth-split-image::before {
    background:
    radial-gradient(circle at 46% 52%, rgba(37, 99, 235, .11), transparent 360px),
    linear-gradient(180deg, rgba(255, 255, 255, .12), rgba(248, 251, 255, .62)) !important;
    z-index: -1 !important;
}
.auth-split-image::after {
    content: "" !important;
    position: absolute !important;
    inset: clamp(7rem, 12vh, 10rem) clamp(2.5rem, 5vw, 6rem) clamp(3rem, 7vh, 6rem) !important;
    border: 1px solid rgba(219, 229, 241, .72) !important;
    border-radius: 32px !important;
    background: rgba(255, 255, 255, .28) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75), 0 34px 90px rgba(37, 99, 235, .08) !important;
    z-index: -2 !important;
}
.auth-split-form {
    justify-content: flex-start !important;
    padding-left: clamp(3rem, 7vw, 8rem) !important;
}
.auth-split-form .auth-form-shell {
    margin-left: 0 !important;
    margin-right: auto !important;
}
.auth-split-form .auth-heading {
    margin-bottom: 1.75rem !important;
}
.auth-split-form .auth-switch {
    padding-top: .25rem !important;
}

@media (min-width: 1600px) {
    .auth-split-image {
        background-size: clamp(760px, 50vw, 1080px) auto !important;
        background-position: center calc(50% + 36px) !important;
    }
}

@media (max-width: 1199.98px) {
    .auth-split-image {
        background-size: clamp(560px, 58vw, 780px) auto !important;
        background-position: center calc(50% + 42px) !important;
    }
    .auth-split-form {
        padding-left: clamp(2rem, 4vw, 4rem) !important;
        padding-right: clamp(2rem, 4vw, 4rem) !important;
    }
}

@media (max-width: 991.98px) {
    .auth-split-form {
        justify-content: center !important;
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important;
    }
}
.auth-split-image {
    background-image:
    linear-gradient(90deg, rgba(248, 251, 255, .16), rgba(255, 255, 255, .42)),
    url("../images/auth_hero_illustration.png") !important;
    background-position: center center !important;
}
.auth-split-image::after {
    display: none !important;
}
.auth-split-form {
    justify-content: center !important;
    padding-left: clamp(2rem, 5vw, 6rem) !important;
    padding-right: clamp(2rem, 5vw, 6rem) !important;
}
.auth-split-form .auth-form-shell {
    margin-left: auto !important;
    margin-right: auto !important;
}

@media (min-width: 1600px) {
    .auth-split-image {
        background-position: center center !important;
    }
}

@media (max-width: 1199.98px) {
    .auth-split-image {
        background-position: center center !important;
    }
}
.shop-breadcrumb-only {
    display: inline-flex !important;
    align-items: center !important;
    gap: .5rem !important;
    padding: 0 !important;
    color: var(--rs-muted) !important;
}
.shop-breadcrumb-only a, .shop-breadcrumb-only .current, .shop-breadcrumb-only .sep {
    color: var(--rs-muted) !important;
}
.shop-breadcrumb-only .current {
    color: var(--rs-ink) !important;
}
.offcanvas-backdrop {
    z-index: 1090 !important;
    background-color: rgba(15, 23, 42, .42) !important;
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
}
.shop-filter-offcanvas {
    z-index: 1095 !important;
}
.header-category-dropdown .dropdown-toggle::after {
    margin-left: .45rem !important;
    vertical-align: .12em !important;
}
.header-category-menu {
    min-width: 220px !important;
    padding: .55rem !important;
    border: 1px solid var(--rs-border) !important;
    border-radius: 14px !important;
    box-shadow: var(--rs-shadow-md) !important;
}
.header-category-menu .dropdown-divider {
    border-color: var(--rs-border) !important;
    margin: .4rem .35rem !important;
}
.rs-commerce-shell {
    --rs-navy: var(--color-primary) !important;
    --rs-ink: var(--color-primary) !important;
    --rs-ink-soft: #3f4148 !important;
    --rs-muted: var(--color-secondary) !important;
    --rs-border: var(--color-border-light) !important;
    --rs-border-strong: var(--color-border-medium) !important;
    --rs-warm: var(--color-bg-soft) !important;
    --rs-accent: var(--color-primary) !important;
    --rs-accent-strong: var(--color-primary) !important;
    --rs-accent-soft: #f2f2f5 !important;
    --rs-radius: 4px !important;
    --rs-radius-sm: 3px !important;
    --rs-shadow-sm: 0 1px 2px rgba(16, 18, 31, .04) !important;
    --rs-shadow-md: 0 16px 36px rgba(16, 18, 31, .09) !important;
    --rs-shadow-lg: 0 28px 70px rgba(16, 18, 31, .13) !important;
    background: var(--color-bg-surface) !important;
    color: var(--rs-ink) !important;
}
.rs-commerce-shell main {
    background: var(--color-bg-surface) !important;
}
.top-promo-bar {
    min-height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: .45rem 3rem !important;
    margin: 0 !important;
    background: var(--rs-navy) !important;
    border: 0 !important;
    color: var(--color-bg-surface) !important;
    font-size: .69rem !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    transition: min-height .25s ease, padding .25s ease, opacity .2s ease !important;
}
.top-promo-dismiss {
    position: absolute;
    right: 1rem;
    display: grid;
    width: 28px;
    height: 28px;
    padding: 0;
    place-items: center;
    border: 0;
    background: transparent;
    color: rgba(255,255,255,.8);
    font-size: 1rem;
}
.top-promo-dismiss:hover {
    color: var(--color-bg-surface);
}
.top-promo-bar.is-dismissed {
    min-height: 0 !important;
    height: 0;
    padding-block: 0 !important;
    opacity: 0;
    overflow: hidden;
}
.site-header {
    background: rgba(255, 255, 255, .96) !important;
    border-bottom: 1px solid var(--rs-border) !important;
    box-shadow: none !important;
    backdrop-filter: blur(14px) saturate(150%) !important;
}
.site-header .navbar {
    min-height: 64px !important;
    padding: 0 !important;
}
.site-header .container-xl {
    max-width: 1280px !important;
}
.header-brand {
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 1.6rem !important;
    font-weight: 500 !important;
    letter-spacing: .15em !important;
    line-height: 1 !important;
}
.header-nav {
    gap: 1.75rem !important;
}
.header-nav .nav-link {
    padding: 1.55rem 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: rgba(25, 25, 28, .72) !important;
    font-size: .7rem !important;
    font-weight: 600 !important;
    letter-spacing: .13em !important;
    text-transform: uppercase !important;
}
.header-nav .nav-link:hover, .header-nav .nav-link:focus-visible {
    background: transparent !important;
    color: var(--rs-ink) !important;
}
.header-icons {
    gap: .1rem !important;
}
.header-icon {
    width: 40px !important;
    height: 40px !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: rgba(25, 25, 28, .7) !important;
    font-size: 1rem !important;
}
.header-icon:hover {
    background: var(--rs-warm) !important;
    color: var(--rs-ink) !important;
    transform: none !important;
}
.header-cart-badge {
    min-width: 15px !important;
    height: 15px !important;
    padding: 0 3px !important;
    top: 4px !important;
    right: 2px !important;
    background: var(--rs-navy) !important;
    border: 1px solid var(--color-bg-surface) !important;
    color: var(--color-bg-surface) !important;
    font-size: .52rem !important;
}
.rs-home-lumina {
    overflow: hidden;
    background: var(--color-bg-surface);
}
.rs-editorial-hero {
    width: 100%;
    height: min(90vh, 820px);
    min-height: 610px;
    background: #ddd;
}
.rs-editorial-shade {
    position: absolute;
    inset: 0;
}
.rs-editorial-copy {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: max(6vw, calc((100vw - 1280px) / 2));
    width: min(580px, 82vw);
    color: var(--color-bg-surface);
    transform: translateY(-46%);
}
.rs-editorial-copy .rs-kicker {
    color: rgba(255,255,255,.82);
}
.rs-editorial-copy h2 {
    margin: 0 0 1.25rem;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: clamp(3.5rem, 6.5vw, 6.8rem) !important;
    font-weight: 400 !important;
    letter-spacing: -.035em;
    line-height: .96 !important;
    color: var(--color-bg-surface) !important;
}
.rs-editorial-copy > p:not(.rs-kicker) {
    max-width: 430px;
    margin-bottom: 2rem;
    color: rgba(255,255,255,.84);
    font-size: .98rem;
    line-height: 1.75;
}
.rs-kicker {
    margin: 0 0 .9rem;
    color: var(--rs-muted);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .19em;
    text-transform: uppercase;
}
.rs-hero-dots {
    gap: .5rem;
    margin-bottom: 1.75rem !important;
}
.rs-hero-dots [data-bs-target] {
    width: 8px !important;
    height: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 99px !important;
    background: var(--color-bg-surface) !important;
    opacity: .45 !important;
    transition: width .25s ease, opacity .25s ease;
}
.rs-hero-dots [data-bs-target].active {
    width: 28px !important;
    opacity: 1 !important;
}
.rs-home-section {
    padding: clamp(4.5rem, 8vw, 7.5rem) 0;
}
.rs-category-section, .rs-service-section {
    background: var(--rs-warm);
}
.rs-section-heading {
    margin-bottom: 2.5rem;
    text-align: center;
}
.rs-section-heading h2, .rs-newsletter-band h2 {
    margin: 0;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: clamp(2.35rem, 4vw, 4rem) !important;
    font-weight: 500 !important;
    letter-spacing: -.025em;
    line-height: 1.06 !important;
}
.rs-heading-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    text-align: left;
}
.rs-text-link {
    color: var(--rs-ink) !important;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-decoration: none;
    text-transform: uppercase;
}
.rs-text-link i {
    margin-left: .35rem;
    transition: margin-left .2s ease;
}
.rs-text-link:hover i {
    margin-left: .65rem;
}
.rs-category-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.35rem;
}
.rs-category-card {
    position: relative;
    display: block;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    border-radius: 4px;
    background: #ddd;
    text-decoration: none;
}
.rs-category-card::after {
    content: "";
    position: absolute;
    inset: 38% 0 0;
    background: linear-gradient(transparent, rgba(7, 8, 12, .72));
}
.rs-category-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .65s cubic-bezier(.2,.75,.25,1);
}
.rs-category-card:hover img {
    transform: scale(1.045);
}
.rs-category-card > span {
    position: absolute;
    z-index: 2;
    right: 1.25rem;
    bottom: 1.2rem;
    left: 1.25rem;
    color: var(--color-bg-surface);
}
.rs-category-card strong {
    display: block;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 1.6rem;
    font-weight: 500;
}
.rs-category-card small {
    display: flex;
    align-items: center;
    gap: .45rem;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    font-size: .67rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    transition: max-height .25s ease, margin-top .25s ease, opacity .25s ease;
}
.rs-category-card:hover small, .rs-category-card:focus-visible small {
    max-height: 2rem;
    margin-top: .35rem;
    opacity: .8;
}
.rs-product-tile .product-card {
    aspect-ratio: 4 / 5;
    margin-bottom: 1.1rem;
    border: 0 !important;
    border-radius: 4px !important;
    background: var(--rs-warm) !important;
    box-shadow: none !important;
}
.rs-product-tile .product-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity .45s ease, transform .6s ease;
}
.rs-product-tile:hover .product-card-img-primary {
    transform: scale(1.025);
}
.rs-product-tile .product-card-img-secondary {
    opacity: 0 !important;
}
.rs-product-tile:hover .product-card-img-secondary {
    opacity: 1 !important;
}
.rs-product-tile .product-info {
    padding: 0 .1rem;
}
.rs-product-tile .product-info h3 {
    margin: 0 0 .45rem;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: .88rem !important;
    font-weight: 600 !important;
}
.rs-product-tile .product-info h3 a {
    color: var(--rs-ink);
    text-decoration: none;
}
.rs-product-tile .product-card__actions {
    top: .75rem !important;
    right: .75rem !important;
    gap: .4rem !important;
}
.rs-product-tile .product-card__action-btn {
    width: 36px !important;
    height: 36px !important;
    border: 0 !important;
    background: rgba(255,255,255,.92) !important;
    color: var(--rs-ink) !important;
    box-shadow: 0 4px 16px rgba(15,17,29,.1) !important;
}
.rs-image-placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    color: var(--rs-muted);
    font-size: 2rem;
}
.rs-service-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}
.rs-service-grid > div {
    padding: 1.4rem 3rem;
    border-right: 1px solid var(--rs-border-strong);
    text-align: center;
}
.rs-service-grid > div:last-child {
    border-right: 0;
}
.rs-service-grid i {
    display: block;
    margin-bottom: 1rem;
    color: var(--rs-navy);
    font-size: 1.55rem;
}
.rs-service-grid h3 {
    margin-bottom: .6rem;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 1.25rem !important;
    font-weight: 600 !important;
}
.rs-service-grid p {
    max-width: 280px;
    margin: auto;
    color: var(--rs-muted);
    font-size: .76rem;
    line-height: 1.65;
}
.rs-newsletter-band {
    padding: clamp(4.5rem, 8vw, 7.5rem) 0;
    background: var(--rs-navy);
    color: var(--color-bg-surface);
}
.rs-newsletter-band .rs-kicker {
    color: rgba(255,255,255,.62);
}
.rs-newsletter-band h2 {
    color: var(--color-bg-surface) !important;
}
.rs-newsletter-band .container > p:not(.rs-kicker) {
    max-width: 620px;
    margin: 1rem auto 2rem;
    color: rgba(255,255,255,.68);
    font-size: .9rem;
    line-height: 1.7;
}
.rs-newsletter-form {
    display: flex;
    max-width: 520px;
    margin: auto;
}
.rs-newsletter-form input {
    flex: 1;
    min-width: 0;
    min-height: 52px;
    padding: 0 1.1rem;
    border: 1px solid rgba(255,255,255,.24);
    border-right: 0;
    border-radius: 3px 0 0 3px;
    outline: 0;
    background: rgba(255,255,255,.08);
    color: var(--color-bg-surface);
    font-size: .82rem;
}
.rs-newsletter-form input::placeholder {
    color: rgba(255,255,255,.5);
}
.rs-newsletter-form input:focus {
    border-color: rgba(255,255,255,.7);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.25);
}
.rs-newsletter-form button {
    padding: 0 1.35rem;
    border: 1px solid var(--color-bg-surface);
    border-radius: 0 3px 3px 0;
    background: var(--color-bg-surface);
    color: var(--rs-navy);
    font-size: .69rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.rs-footer {
    margin-top: 0 !important;
    padding-top: 4rem !important;
    border-top: 1px solid var(--rs-border) !important;
    background: var(--rs-warm) !important;
    color: var(--rs-ink) !important;
    box-shadow: none !important;
}
.rs-footer h5, .rs-footer h6 {
    color: var(--rs-ink) !important;
    font-size: .72rem !important;
    font-weight: 700 !important;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.rs-footer .text-white-50, .rs-footer a.text-white-50, .rs-footer span.text-white-50 {
    color: var(--rs-muted) !important;
}
.rs-footer a:hover {
    color: var(--rs-ink) !important;
}
.rs-footer .form-control {
    border: 1px solid var(--rs-border-strong) !important;
    border-radius: 3px !important;
}
.social-link-oval {
    border-radius: 50% !important;
    background: transparent !important;
}
.reveal-up {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity .7s ease, transform .7s cubic-bezier(.22,.75,.28,1);
}
.reveal-up.active {
    opacity: 1;
    transform: translateY(0);
}
.rs-category-grid .reveal-up:nth-child(2), .row .reveal-up:nth-child(2) {
    transition-delay: .08s;
}
.rs-category-grid .reveal-up:nth-child(3), .row .reveal-up:nth-child(3) {
    transition-delay: .16s;
}
.rs-category-grid .reveal-up:nth-child(4), .row .reveal-up:nth-child(4) {
    transition-delay: .24s;
}
.shop-page, .product-detail-page, .cart-page-container, .checkout-container {
    background: var(--color-bg-surface) !important;
}
.cart-page-title, .checkout-title, .product-title, .profile-section-title {
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-weight: 600 !important;
    letter-spacing: -.02em !important;
}
.gallery-main, .gallery-thumb-item, .cart-item-card, .cart-summary-card, .checkout-card, .payment-option-card, .checkout-address-card, .profile-content-card, .profile-nav-card, .profile-address-card, .profile-wishlist-card, .bundle-item-card, .modal-content, .offcanvas {
    border-color: var(--rs-border) !important;
    border-radius: 4px !important;
    background: var(--color-bg-surface) !important;
    box-shadow: none !important;
}
.btn-dark, .btn-premium, .btn-add-cart-premium, .cart-empty-btn, .shop-category-link.active, .shop-pagination .page-item.active .page-link, .profile-nav-link.active {
    border-color: var(--rs-navy) !important;
    border-radius: 3px !important;
    background: var(--rs-navy) !important;
    color: var(--color-bg-surface) !important;
}
.form-control, .form-select, .checkout-form-input, .profile-form-input, .bundle-item-select {
    border-color: var(--rs-border-strong) !important;
    border-radius: 3px !important;
}
.form-control:focus, .form-select:focus, .checkout-form-input:focus, .profile-form-input:focus {
    border-color: var(--rs-navy) !important;
    box-shadow: 0 0 0 3px rgba(21,25,47,.1) !important;
}

@media (max-width: 991.98px) {
    .site-header .navbar {
        min-height: 60px !important;
    }
    .site-header .navbar-collapse {
        position: absolute;
        top: calc(100% + 1px);
        right: 1rem;
        left: 1rem;
        margin: 0 !important;
        padding: .8rem 1rem !important;
        border: 1px solid var(--rs-border) !important;
        border-radius: 3px !important;
        background: var(--color-bg-surface) !important;
        box-shadow: var(--rs-shadow-md) !important;
    }
    .header-nav {
        gap: 0 !important;
    }
    .header-nav .nav-link {
        padding: .85rem .4rem !important;
    }
    .rs-editorial-hero {
        height: 74vh;
        min-height: 590px;
    }
    .rs-editorial-copy {
        left: 2rem;
    }
    .rs-category-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .rs-service-grid > div {
        padding: 1rem 1.5rem;
    }
}

@media (max-width: 767.98px) {
    .top-promo-bar {
        min-height: 32px !important;
        padding-inline: 1rem !important;
        font-size: .57rem !important;
        letter-spacing: .09em !important;
    }
    .header-brand {
        font-size: 1.3rem !important;
    }
    .header-icons .header-icon:nth-of-type(2) {
        display: none !important;
    }
    .rs-editorial-hero {
        height: 76vh;
        min-height: 540px;
    }
    .rs-editorial-copy {
        right: 1.25rem;
        left: 1.25rem;
        width: auto;
        text-align: center;
    }
    .rs-editorial-copy > p:not(.rs-kicker) {
        margin-inline: auto;
    }
    .rs-editorial-copy h2 {
        font-size: clamp(3.1rem, 14vw, 4.7rem) !important;
    }
    .rs-home-section {
        padding-block: 4.25rem;
    }
    .rs-heading-row {
        align-items: flex-start;
        gap: 1.2rem;
    }
    .rs-category-grid {
        gap: .8rem;
    }
    .rs-category-card > span {
        right: .85rem;
        bottom: .8rem;
        left: .85rem;
    }
    .rs-category-card strong {
        font-size: 1.2rem;
    }
    .rs-category-card small {
        display: none;
    }
    .rs-product-tile .product-card {
        margin-bottom: .8rem;
    }
    .rs-product-tile .product-card__actions {
        opacity: 1 !important;
        transform: none !important;
    }
    .rs-product-tile .product-card__action-btn {
        width: 32px !important;
        height: 32px !important;
    }
    .rs-service-grid {
        grid-template-columns: 1fr;
    }
    .rs-service-grid > div {
        padding: 2rem 1rem;
        border-right: 0;
        border-bottom: 1px solid var(--rs-border-strong);
    }
    .rs-service-grid > div:last-child {
        border-bottom: 0;
    }
    .rs-newsletter-form {
        display: grid;
        gap: .65rem;
    }
    .rs-newsletter-form input, .rs-newsletter-form button {
        min-height: 50px;
        border: 1px solid rgba(255,255,255,.3);
        border-radius: 3px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .reveal-up {
        opacity: 1;
        transform: none;
        transition: none;
    }
    .rs-category-card img, .rs-product-tile .product-card img {
        transition: none;
    }
}

@media (min-width: 992px) {
    .header-category-dropdown:hover > .dropdown-menu, .header-category-dropdown:focus-within > .dropdown-menu {
        display: block;
        margin-top: 0;
    }
}

@media (max-width: 991.98px) {
    .header-category-menu {
        border: 0 !important;
        box-shadow: none !important;
        padding: .25rem 0 .5rem .75rem !important;
    }
}
.shop-page, .product-detail-page {
    max-width: 1280px !important;
    padding-top: 2rem !important;
    padding-bottom: 6rem !important;
    background: var(--color-bg-surface) !important;
}
.shop-breadcrumb-only, .detail-breadcrumb {
    margin-bottom: 1.5rem !important;
    font-size: .64rem !important;
    font-weight: 650 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}
.shop-breadcrumb-only .sep, .detail-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    color: #b7b8bd !important;
}
.shop-toolbar {
    min-height: 42px !important;
    margin-bottom: 1.2rem !important;
    border-bottom: 1px solid var(--rs-border) !important;
    padding-bottom: .8rem !important;
}
.shop-results-count {
    color: var(--rs-muted) !important;
    font-size: .69rem !important;
}
.shop-toolbar-actions {
    gap: .45rem !important;
}
.shop-view-toggle {
    gap: .1rem !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.shop-view-btn {
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    color: #8b8d94 !important;
}
.shop-view-btn:hover {
    background: var(--rs-warm) !important;
    color: var(--rs-navy) !important;
}
.shop-view-btn.active {
    background: transparent !important;
    color: var(--rs-navy) !important;
}
.shop-sort-btn {
    min-height: 34px !important;
    padding: .4rem .75rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--rs-muted) !important;
    font-size: .68rem !important;
    box-shadow: none !important;
}
.shop-product-grid {
    --bs-gutter-x: 1.6rem !important;
    --bs-gutter-y: 2.5rem !important;
}
.shop-product-grid .product-card {
    margin-bottom: .75rem !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: #f3f3f1 !important;
    box-shadow: none !important;
}
.shop-product-grid .product-card img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}
.shop-product-grid .shop-product-info {
    padding: 0 !important;
}
.shop-product-grid .shop-product-category {
    margin-bottom: .25rem !important;
    color: #8a8b91 !important;
    font-size: .58rem !important;
    letter-spacing: .1em !important;
}
.shop-product-grid .shop-product-name {
    margin-bottom: .3rem !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: .9rem !important;
    font-weight: 600 !important;
}
.shop-product-grid .shop-product-price {
    font-size: .78rem !important;
}
.shop-product-grid .product-card__action-btn {
    width: 34px !important;
    height: 34px !important;
    border: 0 !important;
    background: rgba(255,255,255,.94) !important;
    color: var(--rs-navy) !important;
}
.product-detail-page > .row {
    --bs-gutter-x: 3.75rem !important;
    align-items: flex-start !important;
}
.product-detail-page .gallery-main {
    aspect-ratio: 4 / 5 !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: #f2f2f0 !important;
    box-shadow: none !important;
}
.product-detail-page .gallery-main-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}
.product-detail-page .gallery-main:hover .gallery-main-img {
    transform: none !important;
}
.product-detail-page .gallery-thumb-item {
    width: 72px !important;
    height: 88px !important;
    border-radius: 4px !important;
}
.product-detail-page .product-cat-pill {
    margin-bottom: .65rem !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #85878d !important;
    font-size: .61rem !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}
.product-detail-page .product-title {
    margin-bottom: .65rem !important;
    font-size: clamp(2rem, 3vw, 3rem) !important;
    font-weight: 500 !important;
    line-height: 1.05 !important;
}
.rs-inline-rating {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    color: var(--rs-navy) !important;
    font-size: .67rem;
    text-decoration: none;
}
.rs-inline-rating span {
    letter-spacing: .08em;
    color: #ffc107 !important; /* Force golden yellow stars to match reviews and cards */
}
.rs-inline-rating small {
    color: var(--rs-muted);
    font-size: .67rem;
}
.product-detail-page .product-price-section {
    margin-bottom: 1.35rem !important;
}
.product-detail-page .price-tag {
    color: var(--rs-ink) !important;
    font-size: 1.35rem !important;
    font-weight: 700 !important;
}
.product-detail-page .compare-price-tag {
    color: var(--rs-muted) !important;
    font-size: .82rem !important;
}
.product-detail-page .discount-badge {
    padding: .28rem .5rem !important;
    border-radius: 99px !important;
    background: #fff0f0 !important;
    color: #df4c4c !important;
    font-size: .58rem !important;
}
.product-detail-page .size-selector-btn {
    min-width: 48px !important;
    padding: .55rem .75rem !important;
    border-color: var(--rs-border) !important;
    border-radius: 99px !important;
    font-size: .7rem !important;
}
.product-detail-page .btn-check:checked + .size-selector-btn {
    border-color: var(--rs-navy) !important;
    background: var(--rs-navy) !important;
}
.rs-purchase-row {
    display: flex;
    align-items: stretch;
    gap: .7rem;
    margin-top: 1.5rem;
}
.rs-purchase-row .quantity-control-group {
    flex: 0 0 112px;
    min-height: 48px;
    border: 1px solid var(--rs-border) !important;
    border-radius: 99px !important;
    background: var(--color-bg-surface) !important;
}
.rs-purchase-row .qty-btn {
    width: 34px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.rs-purchase-row .qty-input {
    width: 42px !important;
    border: 0 !important;
    background: transparent !important;
    font-size: .74rem !important;
}
.product-detail-page .btn-add-cart-premium {
    min-height: 48px !important;
    border-radius: 99px !important;
    font-size: .76rem !important;
}
.product-detail-page .detail-accordion {
    margin-top: 1.5rem !important;
    border-top: 1px solid var(--rs-border) !important;
}
.product-detail-page .detail-accordion .accordion-item {
    border-bottom: 1px solid var(--rs-border) !important;
}
.product-detail-page .detail-accordion .accordion-button {
    padding: 1rem 0 !important;
    background: transparent !important;
    font-size: .7rem !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
}
.product-detail-page .detail-accordion .accordion-body {
    padding: 0 0 1.2rem !important;
    color: var(--rs-muted) !important;
    font-size: .75rem !important;
    line-height: 1.7 !important;
}
.product-detail-page > section.border-top {
    border-color: var(--rs-border) !important;
}
.product-detail-page > section h2 {
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-weight: 500 !important;
}

@media (min-width: 992px) {
    .product-detail-page > .row > .col-lg-7 {
        width: 52% !important;
    }
    .product-detail-page > .row > .col-lg-5 {
        width: 48% !important;
        padding-top: .4rem !important;
    }
    .shop-product-grid.product-grid--standard > .col {
        width: 33.333333% !important;
    }
}

@media (max-width: 767.98px) {
    .shop-page, .product-detail-page {
        padding-inline: 1rem !important;
        padding-bottom: 4rem !important;
    }
    .shop-toolbar {
        align-items: center !important;
    }
    .shop-results-count {
        display: none !important;
    }
    .shop-product-grid {
        --bs-gutter-x: .9rem !important;
        --bs-gutter-y: 2rem !important;
    }
    .shop-product-grid > .col {
        width: 50% !important;
    }
    .shop-product-grid.product-grid--large > .col {
        width: 100% !important;
    }
    .shop-product-grid.product-grid--standard > .col {
        width: 50% !important;
    }
    .shop-product-grid.product-grid--compact > .col {
        width: 33.333333% !important;
    }
    .product-detail-page > .row {
        --bs-gutter-x: 1.5rem !important;
    }
    .product-detail-page .product-title {
        font-size: 2.2rem !important;
    }
    .rs-purchase-row {
        gap: .5rem;
    }
    .rs-purchase-row .quantity-control-group {
        flex-basis: 104px;
    }
}
.rs-editorial-copy {
    right: 1.5rem !important;
    left: 1.5rem !important;
    width: auto !important;
    max-width: none !important;
    text-align: center !important;
}
.rs-editorial-copy .rs-kicker, .rs-editorial-copy > p:not(.rs-kicker) {
    display: none !important;
}
.rs-editorial-copy h2 {
    font-size: clamp(3.6rem, 6vw, 6.4rem) !important;
    line-height: .92 !important;
}
.rs-merch-section {
    border-top: 1px solid #f0efed;
}
.rs-new-arrivals-section {
    background: #fafaf8;
}
.rs-testimonial-section {
    border-top: 1px solid #f0efed;
}
.rs-testimonial-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
    max-width: 1050px;
    margin: 0 auto;
}
.rs-testimonial-grid article {
    padding: 1.6rem;
    border: 1px solid var(--rs-border);
    border-radius: 6px;
    background: var(--rs-warm);
}
.rs-stars {
    margin-bottom: .9rem;
    color: var(--rs-navy);
    font-size: .7rem;
    letter-spacing: .08em;
}
.rs-testimonial-grid p {
    min-height: 5.2em;
    margin-bottom: 1.1rem;
    color: var(--rs-ink-soft);
    font-size: .76rem;
    line-height: 1.72;
}
.rs-testimonial-grid strong, .rs-testimonial-grid small {
    display: block;
}
.rs-testimonial-grid strong {
    color: var(--rs-ink);
    font-size: .7rem;
}
.rs-testimonial-grid small {
    margin-top: .15rem;
    color: var(--rs-muted);
    font-size: .61rem;
}

@media (max-width: 767.98px) {
    .rs-testimonial-grid {
        grid-template-columns: 1fr;
    }
    .rs-testimonial-grid p {
        min-height: 0;
    }
}
.account-menu {
    display: flex;
    align-items: center;
}
.account-menu .header-icon::after {
    display: none !important;
}
.account-dropdown {
    width: 190px !important;
    margin-top: .55rem !important;
    padding: 0 0 .45rem !important;
    overflow: hidden !important;
    border: 1px solid var(--rs-border) !important;
    border-radius: 12px !important;
    background: var(--color-bg-surface) !important;
    box-shadow: 0 12px 30px rgba(16,18,31,.12) !important;
}
.account-dropdown-heading {
    padding: .9rem 1rem .75rem;
    border-bottom: 1px solid var(--rs-border);
}
.account-dropdown-heading small, .account-dropdown-heading strong {
    display: block;
}
.account-dropdown-heading small {
    margin-bottom: .15rem;
    color: var(--rs-muted);
    font-size: .65rem;
}
.account-dropdown-heading strong {
    color: var(--rs-ink);
    font-size: .78rem;
    font-weight: 650;
    text-transform: capitalize;
}
.account-dropdown .dropdown-item {
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: .7rem 1rem;
    border: 0;
    background: var(--color-bg-surface);
    color: var(--rs-ink-soft);
    font-size: .74rem;
}
.account-dropdown .dropdown-item i {
    width: 14px;
    color: var(--rs-muted);
    font-size: .75rem;
}
.account-dropdown .dropdown-item:hover {
    background: var(--rs-warm);
    color: var(--rs-ink);
}
.account-dropdown .dropdown-divider {
    margin: .2rem 0 !important;
    border-color: var(--rs-border) !important;
}
.account-dropdown .account-signout, .account-dropdown .account-signout i {
    color: var(--color-danger) !important;
}
.profile-dashboard-header, .profile-nav-card, .profile-content-card {
    border: 1px solid var(--rs-border) !important;
    border-radius: 14px !important;
    background: var(--color-bg-surface) !important;
    box-shadow: none !important;
}
.profile-dashboard-header {
    padding: 1.45rem 1.5rem !important;
    margin-bottom: 1.5rem !important;
}
.profile-avatar-initials, .profile-avatar-img {
    width: 64px !important;
    height: 64px !important;
    border: 0 !important;
    background: var(--rs-navy) !important;
    box-shadow: none !important;
    font-size: 1.2rem !important;
}
.profile-dashboard-header h2 {
    margin-top: .15rem !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 1.45rem !important;
    font-weight: 500 !important;
    line-height: 1.05 !important;
}
.profile-dashboard-header .text-muted {
    color: var(--rs-muted) !important;
}
.profile-stats-grid {
    gap: .25rem !important;
}
.profile-stat-box {
    display: flex !important;
    flex-direction: column-reverse !important;
    padding: .6rem !important;
    border: 0 !important;
    border-radius: 4px !important;
    background: transparent !important;
    box-shadow: none !important;
}
.profile-stat-box:hover {
    background: var(--rs-warm) !important;
    transform: none !important;
}
.profile-stat-box .fs-4 {
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 1.55rem !important;
    font-weight: 600 !important;
}
.profile-stat-box span:first-child {
    margin-top: .15rem;
    color: #6d6870 !important;
    font-size: .58rem !important;
    letter-spacing: .12em !important;
}
.profile-nav-card {
    padding: 0 !important;
    overflow: hidden;
}
.profile-nav-link {
    min-height: 48px !important;
    margin: 0 !important;
    padding: .75rem 1rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--color-bg-surface) !important;
    color: #666870 !important;
    font-size: .75rem !important;
    font-weight: 500 !important;
}
.profile-nav-link i {
    width: 18px;
    color: #8e9096 !important;
    font-size: .82rem !important;
}
.profile-nav-link:hover {
    background: var(--rs-warm) !important;
    color: var(--rs-ink) !important;
}
.profile-nav-link.active {
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--rs-navy) !important;
    color: var(--color-bg-surface) !important;
    font-weight: 650 !important;
}
.profile-nav-link.active i {
    color: var(--color-bg-surface) !important;
}
.profile-content-card {
    min-height: 405px;
    padding: 1.6rem !important;
}
.profile-section-title {
    margin-bottom: 1.75rem !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 1.45rem !important;
    font-weight: 500 !important;
}
.profile-section-title i {
    color: var(--rs-ink) !important;
    font-size: .9rem !important;
}
.profile-section-heading-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 2rem;
}
.profile-section-heading-row .btn {
    min-height: 38px;
    padding-inline: 1.2rem !important;
    border-radius: 99px !important;
    font-size: .68rem !important;
}
.profile-content-card .text-center.py-5 {
    padding-block: 4rem !important;
}
.profile-content-card .text-center.py-5 > i {
    color: #c9c9cb !important;
    font-size: 2.35rem !important;
}
.profile-content-card .text-center.py-5 h5 {
    font-size: .83rem !important;
}
.profile-content-card .text-center.py-5 p {
    font-size: .75rem !important;
}
.profile-content-card .text-center.py-5 .btn {
    min-height: 42px;
    padding-inline: 1.6rem !important;
    border-radius: 99px !important;
    font-size: .68rem !important;
}
.profile-content-card .card.bg-light {
    padding: 1.3rem !important;
    border: 1px solid var(--rs-border) !important;
    border-radius: 12px !important;
    background: #f8f8f6 !important;
    box-shadow: none !important;
}
.profile-content-card .card.bg-light h5 {
    margin-bottom: 1.25rem !important;
    font-size: .9rem !important;
    font-weight: 600 !important;
}
.profile-form-label {
    margin-bottom: .4rem !important;
    color: #6b6870 !important;
    font-size: .61rem !important;
    letter-spacing: .11em !important;
}
.profile-form-input {
    min-height: 42px !important;
    padding: .65rem .8rem !important;
    border: 1px solid var(--rs-border) !important;
    border-radius: 12px !important;
    background: var(--color-bg-surface) !important;
    font-size: .75rem !important;
}
.profile-form-input:focus {
    border-color: var(--rs-navy) !important;
    box-shadow: 0 0 0 3px rgba(21,25,47,.08) !important;
}
.profile-address-card {
    border-radius: 12px !important;
}

@media (min-width: 992px) {
    .profile-dashboard-header + .row > .col-lg-3 {
        width: 21% !important;
    }
    .profile-dashboard-header + .row > .col-lg-9 {
        width: 79% !important;
    }
}

@media (max-width: 767.98px) {
    .header-icons > .header-icon, .header-icons .account-menu .header-icon {
        display: flex !important;
    }
    .profile-dashboard-header {
        padding: 1.25rem !important;
    }
    .profile-stats-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        margin-top: .5rem;
    }
    .profile-content-card {
        padding: 1.2rem !important;
    }
    .profile-section-heading-row {
        align-items: flex-start;
        flex-direction: column;
    }
}
.shop-filter-offcanvas {
    --bs-offcanvas-width: min(300px, 88vw) !important;
    border-left: 1px solid var(--rs-border) !important;
    background: var(--color-bg-surface) !important;
    box-shadow: -16px 0 40px rgba(16,18,31,.08) !important;
}
.shop-filter-offcanvas .offcanvas-header {
    min-height: 76px !important;
    padding: 1rem 1.5rem !important;
    border-bottom: 1px solid var(--rs-border) !important;
}
.shop-filter-offcanvas .offcanvas-title {
    font-size: 1.15rem !important;
    font-weight: 650 !important;
}
.shop-filter-offcanvas .rs-eyebrow {
    color: var(--rs-muted) !important;
    font-size: .67rem !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}
.shop-filter-offcanvas .btn-close {
    width: 15px;
    height: 15px;
    padding: .5rem !important;
    background-size: 12px;
    opacity: .65;
}
.shop-filter-accordion {
    border-top: 0 !important;
}
.shop-filter-offcanvas .shop-filter-item {
    border-bottom: 1px solid var(--rs-border) !important;
}
.shop-filter-offcanvas .shop-filter-item:has(#filterColor), .shop-filter-offcanvas .shop-filter-item:has(#filterSort) {
    display: none !important;
}
.shop-filter-offcanvas .shop-filter-header {
    min-height: 54px !important;
    padding: 1rem 1.5rem !important;
    border: 0 !important;
    background: var(--color-bg-surface) !important;
    color: var(--rs-navy) !important;
    font-size: .65rem !important;
    font-weight: 750 !important;
    letter-spacing: .1em !important;
}
.shop-filter-offcanvas .shop-filter-header:hover, .shop-filter-offcanvas .shop-filter-header:not(.collapsed) {
    background: var(--color-bg-surface) !important;
    border: 0 !important;
}
.shop-filter-offcanvas .shop-filter-header i {
    font-size: .68rem !important;
    transform: rotate(45deg) !important;
}
.shop-filter-offcanvas .shop-filter-header[aria-expanded="true"] i {
    transform: rotate(0deg) !important;
}
#filterAvailability > .shop-filter-body, #filterSize > .shop-filter-body, #filterPrice > .shop-filter-body {
    display: none !important;
}
.rs-filter-list {
    display: flex;
    flex-direction: column;
    gap: .75rem;
    padding: 0 1.5rem 1.15rem;
}
.rs-filter-check, .rs-filter-radio {
    display: flex;
    align-items: center;
    gap: .65rem;
    color: #666873 !important;
    font-size: .75rem;
    text-decoration: none;
}
.rs-filter-check > span {
    width: 16px;
    height: 16px;
    border: 1px solid #aeb1bb;
    border-radius: 2px;
    background: var(--color-bg-surface);
}
.rs-filter-check.active > span {
    position: relative;
    border-color: var(--rs-navy);
    background: var(--rs-navy);
}
.rs-filter-check.active > span::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 5px;
    width: 4px;
    height: 7px;
    border-right: 1.5px solid var(--color-bg-surface);
    border-bottom: 1.5px solid var(--color-bg-surface);
    transform: rotate(45deg);
}
.rs-filter-pills {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    padding: 0 1.5rem 1.15rem;
}
.rs-filter-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    min-height: 30px;
    padding: .35rem .75rem;
    border: 1px solid var(--rs-border);
    border-radius: 99px;
    background: var(--color-bg-surface);
    color: #6a6d77 !important;
    font-size: .68rem;
    text-decoration: none;
}
.rs-filter-pill:hover {
    border-color: #aeb1bb;
    color: var(--rs-navy) !important;
}
.rs-filter-pill.active {
    border-color: var(--rs-navy);
    background: var(--rs-navy);
    color: var(--color-bg-surface) !important;
}
.rs-filter-radio-list {
    gap: .65rem;
}
.rs-filter-radio > span {
    width: 16px;
    height: 16px;
    border: 1px solid #9ea2ae;
    border-radius: 50%;
    background: var(--color-bg-surface);
}
.rs-filter-radio.active > span {
    border: 4px solid var(--rs-navy);
}
.product-detail-page .gallery-thumb-item, .product-detail-page .gallery-thumb-item.border-dark, .product-detail-page .gallery-thumb-item.border-light-subtle {
    border: 1px solid var(--rs-border) !important;
    box-shadow: none !important;
    transition: all 0.2s ease !important;
}
.product-detail-page .gallery-thumb-item:hover {
    border-color: var(--rs-navy) !important;
    box-shadow: none !important;
}
.product-detail-page .gallery-thumb-item.active-thumb {
    border-color: transparent !important;
    box-shadow: 0 0 0 3px var(--color-bg-surface), 0 0 0 5px rgba(21,25,47,.28), 0 10px 24px rgba(16,18,31,.18) !important;
    transform: translateY(-1px);
}
.qty-input {
    -moz-appearance: textfield !important;
    appearance: textfield !important;
}
.qty-input::-webkit-outer-spin-button, .qty-input::-webkit-inner-spin-button {
    margin: 0 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}
.rs-compact-wishlist {
    flex: 0 0 48px !important;
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    padding: 0 !important;
    border: 1px solid var(--rs-border) !important;
    border-radius: 50% !important;
    background: var(--color-bg-surface) !important;
    color: var(--rs-navy) !important;
    box-shadow: none !important;
}
.rs-compact-wishlist:hover {
    border-color: var(--rs-navy) !important;
    background: var(--rs-warm) !important;
    transform: none !important;
}
.rs-compact-wishlist i {
    font-size: .9rem;
}
.quantity-tier-selector {
    display: grid;
    gap: .55rem;
    margin: 1.4rem 0 1rem;
    padding: 0;
    border: 0;
}
.quantity-tier-selector legend {
    margin-bottom: .2rem;
    color: var(--rs-ink);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.quantity-tier-option {
    position: relative;
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr) auto;
    align-items: center;
    gap: .65rem;
    min-height: 58px;
    padding: .65rem .85rem;
    border: 1px solid var(--rs-border-strong);
    border-radius: 8px;
    background: var(--color-bg-surface);
    cursor: pointer;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.quantity-tier-option:hover {
    border-color: #9da1ad;
}
.quantity-tier-option.active {
    border-color: var(--rs-navy);
    box-shadow: 0 0 0 1px var(--rs-navy);
}
.quantity-tier-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.quantity-tier-radio {
    position: relative;
    width: 18px;
    height: 18px;
    border: 1px solid #c4c6cc;
    border-radius: 50%;
    background: var(--color-bg-surface);
}
.quantity-tier-option.active .quantity-tier-radio {
    border: 5px solid var(--rs-navy);
}
.quantity-tier-name {
    color: var(--rs-ink);
    font-size: .78rem;
    font-weight: 700;
}
.quantity-tier-name em {
    margin-left: .3rem;
    padding: .2rem .4rem;
    border-radius: 3px;
    background: #e8e8e8;
    color: #555861;
    font-size: .62rem;
    font-style: normal;
    font-weight: 500;
}
.quantity-tier-pricing {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    min-width: 90px;
}
.quantity-tier-pricing strong {
    color: var(--rs-ink);
    font-size: .8rem;
    font-weight: 600;
}
.quantity-tier-pricing del {
    color: var(--rs-muted);
    font-size: .61rem;
}
.quantity-tier-pricing small {
    position: absolute;
    top: -19px;
    right: -14px;
    padding: .18rem .45rem;
    border-radius: 3px 3px 0 0;
    background: var(--rs-navy);
    color: var(--color-bg-surface);
    font-size: .52rem;
    font-weight: 700;
    white-space: nowrap;
}

@media (max-width: 575.98px) {
    .quantity-tier-option {
        grid-template-columns: 18px minmax(0, 1fr) auto;
        padding-inline: .7rem;
    }
    .quantity-tier-pricing {
        min-width: 76px;
    }
}

/* ── Cart Page Scoped Styles ─────────────────────────────────────────── */
.cart-page-container {
    background-color: #fafbfc;
}
.cart-page-title {
    font-family: 'Cormorant Garamond', serif !important;
    font-weight: 700;
    font-size: 2.25rem;
    color: var(--color-primary);
    letter-spacing: -0.01em;
}
.cart-page-breadcrumb {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}
.cart-page-breadcrumb a {
    color: #9ca3af;
    text-decoration: none;
    transition: color 0.2s ease;
}
.cart-page-breadcrumb a:hover {
    color: var(--color-primary);
}
.cart-page-breadcrumb .separator {
    color: #d1d5db;
    margin: 0 0.5rem;
}
.cart-page-breadcrumb .current {
    color: var(--color-primary);
}

/* ── Cart Item Card ──────────────────────────────────────────────────── */
.cart-item-card {
    border: 1px solid var(--color-border-light);
    border-radius: 1.25rem;
    background: var(--color-bg-surface);
    padding: 1.5rem;
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
    margin-bottom: 1rem;
}
.cart-item-card:hover {
    border-color: #d1d5db;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.04);
}
.cart-item-img {
    width: 100px;
    height: 100px;
    border-radius: 1rem;
    object-fit: cover;
    background: var(--color-bg-soft);
    border: 1px solid #f0f0f0;
    flex-shrink: 0;
}
.cart-item-img-placeholder {
    width: 100px;
    height: 100px;
    border-radius: 1rem;
    background: var(--color-bg-soft);
    border: 1px solid #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.cart-item-name {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    color: var(--color-primary);
    text-decoration: none;
    transition: color 0.2s ease;
}
.cart-item-name:hover {
    color: #374151;
}
.cart-item-variant {
    font-size: 0.8rem;
    font-weight: 600;
    color: #9ca3af;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.cart-item-unit-price {
    font-size: 0.85rem;
    color: var(--color-secondary);
    font-weight: 500;
}
.cart-item-line-price {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 800;
    font-size: 1.1rem;
    color: var(--color-primary);
}

/* ── Quantity Stepper ─────────────────────────────────────────────────── */
.qty-stepper {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--color-border-light);
    border-radius: 0.75rem;
    overflow: hidden;
    background: var(--color-bg-soft);
}
.qty-stepper-btn {
    width: 38px;
    height: 38px;
    border: none;
    background: transparent;
    color: var(--color-secondary);
    font-size: 1rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s ease;
}
.qty-stepper-btn:hover {
    background: var(--color-border-light);
    color: var(--color-primary);
}
.qty-stepper-btn:active {
    background: #d1d5db;
}
.qty-stepper-input {
    width: 44px;
    height: 38px;
    border: none;
    border-left: 1px solid var(--color-border-light);
    border-right: 1px solid var(--color-border-light);
    text-align: center;
    font-weight: 700;
    font-size: 0.9rem;
    background: var(--color-bg-surface);
    color: var(--color-primary);
    -moz-appearance: textfield;
    min-height: unset !important;
}
.qty-stepper-input::-webkit-outer-spin-button, .qty-stepper-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* ── Remove Button ────────────────────────────────────────────────────── */
.cart-remove-btn {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--color-danger);
    text-decoration: none;
    border: none;
    background: none;
    padding: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    transition: all 0.2s ease;
}
.cart-remove-btn:hover {
    color: var(--color-danger);
    text-decoration: underline;
}

/* ── Summary Sidebar ──────────────────────────────────────────────────── */
.cart-summary-card {
    border: 1px solid var(--color-border-light);
    border-radius: 1.25rem;
    background: var(--color-bg-surface);
    padding: 2rem;
}
.cart-summary-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    font-size: 1.15rem;
    color: var(--color-primary);
    letter-spacing: -0.01em;
}
.cart-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.9rem;
    color: var(--color-secondary);
}
.cart-summary-total {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 800;
    font-size: 1.75rem;
    color: var(--color-primary);
}
.cart-checkout-btn {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-radius: 0.75rem !important;
    padding: 1rem 2rem;
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.cart-checkout-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.12);
}
.cart-checkout-btn:active {
    transform: translateY(0);
}
.cart-trust-badges {
    font-size: 0.75rem;
    color: #9ca3af;
}
.cart-trust-badges i {
    font-size: 1rem;
}

/* ── Coupon Input ─────────────────────────────────────────────────────── */

/* ── Empty Cart State ─────────────────────────────────────────────────── */
.cart-empty-state {
    text-align: center;
    padding: 5rem 2rem;
}
.cart-empty-icon-wrapper {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--color-bg-soft) 0%, var(--color-border-light) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 2rem;
    animation: cart-empty-pulse 3s ease-in-out infinite;
}
.cart-empty-icon-wrapper i {
    font-size: 2.5rem;
    color: #9ca3af;
}

@keyframes cart-empty-pulse {
    0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(156, 163, 175, 0.15); }
    50% { transform: scale(1.05); box-shadow: 0 0 0 20px rgba(156, 163, 175, 0); }
}
.cart-empty-title {
    font-family: 'Cormorant Garamond', serif !important;
    font-weight: 700;
    font-size: 1.75rem;
    color: var(--color-primary);
    margin-bottom: 0.75rem;
}
.cart-empty-subtitle {
    font-size: 0.95rem;
    color: #9ca3af;
    max-width: 380px;
    margin: 0 auto 2rem;
    line-height: 1.6;
}
.cart-empty-btn {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    background: var(--color-primary);
    color: var(--color-bg-surface);
    border: none;
    border-radius: 0.75rem;
    padding: 1rem 2.5rem;
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.cart-empty-btn:hover {
    background: #000000;
    color: var(--color-bg-surface);
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.12);
}

/* ── Stock Warning ────────────────────────────────────────────────────── */
.cart-stock-warning {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--color-danger);
    background: #fef2f2;
    border-radius: 0.5rem;
    padding: 0.3rem 0.6rem;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

/* ── Alert Redesign ───────────────────────────────────────────────────── */

/* ── Responsive ───────────────────────────────────────────────────────── */

@media (max-width: 768px) {
    .cart-page-title {
        font-size: 1.75rem;
    }
    .cart-item-card {
        padding: 1rem;
    }
    .cart-item-img, .cart-item-img-placeholder {
        width: 75px;
        height: 75px;
    }
    .cart-summary-card {
        padding: 1.5rem;
    }
    .cart-item-line-price {
        font-size: 0.95rem;
    }
}
.checkout-container {
    background-color: #fafbfc;
}
.checkout-card {
    border: 1px solid var(--color-border-light);
    border-radius: 1.25rem;
    background-color: var(--color-bg-surface);
    padding: 2.5rem;
}

@media (max-width: 768px) {
    .checkout-card {
        padding: 1.5rem;
    }
}
.checkout-title {
    font-family: 'Cormorant Garamond', serif !important;
    font-weight: 700;
    font-size: 2.25rem;
    color: var(--color-primary);
    margin-bottom: 2rem;
}
.checkout-section-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    font-size: 1.15rem;
    color: var(--color-primary);
    margin-bottom: 1.5rem;
    letter-spacing: -0.01em;
}
.checkout-form-label {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--color-secondary);
    margin-bottom: 0.5rem;
}
.checkout-form-input {
    border: 1px solid var(--color-border-light);
    border-radius: 0.75rem;
    padding: 0.75rem 1rem;
    font-size: 0.95rem;
    background-color: var(--color-bg-surface) !important;
    transition: all 0.2s ease;
}
.checkout-form-input:focus {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 4px rgba(17, 24, 39, 0.08);
}
.checkout-address-card {
    border: 1px solid var(--color-border-light);
    border-radius: 1rem;
    padding: 1.25rem;
    transition: all 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
    background-color: var(--color-bg-surface);
    height: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
}
.checkout-address-card:hover {
    border-color: var(--color-primary);
    box-shadow: 0 4px 12px rgba(0,0,0,0.03);
}
.checkout-address-card.selected {
    border-color: var(--color-primary) !important;
    background-color: #fafafa !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}
.checkout-address-card.selected::after {
    content: "\F272";
    font-family: "bootstrap-icons" !important;
    position: absolute;
    top: 12px;
    right: 12px;
    color: var(--color-primary);
    font-size: 1.15rem;
}
.payment-option-card {
    border: 1px solid var(--color-border-light);
    background-color: var(--color-bg-surface);
    border-radius: 1rem;
    transition: all 0.2s ease;
    position: relative;
}
.payment-option-card.selected {
    border-color: var(--color-primary);
    background-color: #fafafa;
}
.payment-option-card.selected::after {
    content: "\F272";
    font-family: "bootstrap-icons" !important;
    position: absolute;
    top: 16px;
    right: 16px;
    color: var(--color-primary);
    font-size: 1.15rem;
}
.payment-option-card:hover {
    border-color: var(--color-primary);
}
.checkout-stepper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}
.checkout-step {
    border: 1px solid var(--color-border-light);
    border-radius: 0.9rem;
    background: var(--color-bg-surface);
    padding: 0.85rem;
    display: flex;
    align-items: center;
    gap: 0.65rem;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-secondary);
}
.checkout-step span {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--color-primary);
    color: var(--color-bg-surface);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    flex-shrink: 0;
}
.checkout-review-box {
    border: 1px solid var(--color-border-light);
    border-radius: 1rem;
    background: var(--color-bg-soft);
    padding: 1.25rem;
}
.checkout-total-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}
.checkout-promo-message {
    font-size: 0.8rem;
    font-weight: 700;
}

@media (max-width: 768px) {
    .checkout-stepper {
        grid-template-columns: 1fr;
    }
}
.policy-content h4 {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 700;
    color: var(--color-primary);
    margin-top: 1.5rem;
    margin-bottom: 1rem;
}
.policy-content p, .policy-content li {
    color: var(--color-secondary);
    line-height: 1.75;
}
.policy-content strong {
    color: var(--color-primary);
}

/* ── Product Detail Scoped Styles ───────────────────────────────────────── */
.product-detail-page {
    background-color: #fafbfc;
}
.detail-breadcrumb .breadcrumb-item {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}
.detail-breadcrumb .breadcrumb-item a {
    color: #9ca3af;
    transition: color 0.15s ease;
}
.detail-breadcrumb .breadcrumb-item a:hover {
    color: var(--color-primary);
}
.detail-breadcrumb .breadcrumb-item.active {
    color: var(--color-secondary);
}
.gallery-main {
    background-color: var(--color-bg-surface);
    border: 1px solid var(--color-border-light);
    border-radius: 1.5rem;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1/1;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.015);
}
.gallery-main-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity 0.2s ease-in-out, transform 0.35s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.gallery-main:hover .gallery-main-img {
    transform: scale(1.025);
}
.gallery-thumb-item {
    border: 2px solid transparent;
    background-color: var(--color-bg-surface);
    width: 84px;
    height: 84px;
    transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.gallery-thumb-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.05);
}
.gallery-thumb-item.active-thumb {
    border-color: var(--color-primary) !important;
}
.product-cat-pill {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    display: inline-block;
    color: #9ca3af;
    margin-bottom: 0.5rem;
}
.product-title {
    font-family: 'Cormorant Garamond', serif !important;
    font-weight: 700;
    font-size: 2.75rem;
    color: var(--color-primary);
    letter-spacing: -0.02em;
    line-height: 1.15;
}
.product-price-section {
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.price-tag {
    font-size: 1.85rem;
    font-weight: 800;
    color: var(--color-primary);
}
.price-tag.on-sale {
    color: var(--color-danger);
}
.compare-price-tag {
    font-size: 1.25rem;
    color: #9ca3af;
    text-decoration: line-through;
    margin-left: 0.75rem;
    font-weight: 500;
}
.discount-badge {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.7rem;
    font-weight: 800;
    color: var(--color-danger);
    background-color: #fef2f2;
    padding: 0.35rem 0.75rem;
    border-radius: 50px;
    margin-left: 0.75rem;
    letter-spacing: 0.02em;
}
.size-selector-btn {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.85rem;
    font-weight: 600;
    padding: 0.75rem 1.5rem;
    border-radius: 50px;
    transition: all 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.btn-check:checked + .size-selector-btn {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    color: var(--color-bg-surface) !important;
}
.btn-check:focus-visible + .size-selector-btn {
    box-shadow: 0 0 0 0.25rem rgba(17, 24, 39, 0.15) !important;
}
.quantity-control-group {
    border: 1px solid var(--color-border-light);
    border-radius: 50px;
    padding: 0.25rem;
    background-color: var(--color-bg-surface);
    display: inline-flex;
    align-items: center;
    box-shadow: 0 2px 5px rgba(0,0,0,0.01);
}
.qty-btn {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: none;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    color: var(--color-secondary);
    transition: all 0.15s ease;
}
.qty-btn:hover:not(:disabled) {
    background-color: var(--color-bg-soft);
    color: var(--color-primary);
}
.qty-btn:disabled {
    color: #d1d5db;
}
.qty-input {
    width: 50px;
    border: none;
    text-align: center;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    font-size: 0.95rem;
    outline: none;
    background: transparent;
}
.qty-input::-webkit-outer-spin-button, .qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.btn-add-cart-premium {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    font-size: 0.95rem;
    letter-spacing: 0.02em;
    padding: 1rem 2rem;
    border-radius: 50px;
    background-color: var(--color-primary);
    border: none;
    color: var(--color-bg-surface);
    transition: all 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
    min-height: 54px;
}
.btn-add-cart-premium:hover:not(:disabled) {
    background-color: #1f2937;
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(17, 24, 39, 0.12);
}
.btn-add-cart-premium:active {
    transform: translateY(0);
}
.btn-wishlist-premium {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    border: 1px solid var(--color-border-light);
    background-color: var(--color-bg-surface);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-secondary);
    font-size: 1.25rem;
    transition: all 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.btn-wishlist-premium:hover {
    border-color: var(--color-primary);
    color: var(--color-primary);
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(0,0,0,0.04);
}
.bundle-item-card {
    background-color: var(--color-bg-surface);
    border: 1px solid var(--color-border-light);
    border-radius: 1.25rem;
    padding: 1.25rem;
    transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.bundle-item-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.03);
    border-color: #d1d5db;
}
.bundle-item-thumb {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 0.75rem;
    border: 1px solid var(--color-border-light);
    background-color: var(--color-bg-soft);
}
.bundle-item-select {
    border: 1px solid var(--color-border-light);
    border-radius: 0.65rem;
    padding: 0.45rem 0.85rem;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--color-secondary);
    outline: none;
    background-color: var(--color-bg-surface);
    transition: all 0.15s ease;
    cursor: pointer;
}
.bundle-item-select:focus {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(17, 24, 39, 0.08);
}
.detail-accordion .accordion-item {
    border: none;
    border-bottom: 1px solid var(--color-border-light);
    background-color: transparent;
}
.detail-accordion .accordion-button {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--color-primary);
    background-color: transparent !important;
    box-shadow: none !important;
    padding: 1.25rem 0;
    transition: color 0.15s ease;
}
.detail-accordion .accordion-button:not(.collapsed) {
    color: var(--color-primary);
}
.detail-accordion .accordion-body {
    padding: 0 0 1.25rem 0;
    color: var(--color-secondary);
    font-size: 0.875rem;
    line-height: 1.7;
}
.stock-warning-box {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.8rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    background-color: #fffbeb;
    color: var(--color-warning);
    border: 1px solid #fef3c7;
    padding: 0.45rem 1rem;
    border-radius: 50px;
    transition: all 0.2s ease;
}

/* ── Shop Page Scoped Styles ──────────────────────────────────────────── */
.shop-page {
    background-color: #fafbfc;
}

/* ── Hero Banner ──────────────────────────────────────────────────────── */
.shop-hero-breadcrumb {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    position: relative;
    z-index: 1;
    margin-bottom: 1rem;
}
.shop-hero-breadcrumb a {
    color: rgba(255, 255, 255, 0.45);
    text-decoration: none;
    transition: color 0.2s ease;
}
.shop-hero-breadcrumb a:hover {
    color: rgba(255, 255, 255, 0.85);
}
.shop-hero-breadcrumb .sep {
    color: rgba(255, 255, 255, 0.25);
    margin: 0 0.5rem;
}
.shop-hero-breadcrumb .current {
    color: rgba(255, 255, 255, 0.7);
}

/* ── Sidebar Filter Card ──────────────────────────────────────────────── */
.shop-category-link.active {
    background: var(--color-primary);
    color: var(--color-bg-surface);
    font-weight: 700;
}

/* ── Price Slider ─────────────────────────────────────────────────────── */
.shop-price-label {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    font-size: 0.8rem;
}
.shop-price-display {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 800;
    font-size: 1.15rem;
    color: var(--color-primary);
}
.shop-price-range {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 4px;
    background: linear-gradient(to right, var(--color-primary) 0%, var(--color-primary) calc(var(--val, 100) * 1%), var(--color-border-light) calc(var(--val, 100) * 1%), var(--color-border-light) 100%);
    border-radius: 2px;
    outline: none;
    cursor: pointer;
}
.shop-price-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--color-primary);
    border: 3px solid var(--color-bg-surface);
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    cursor: pointer;
    transition: transform 0.15s ease;
}
.shop-price-range::-webkit-slider-thumb:hover {
    transform: scale(1.15);
}
.shop-price-range::-moz-range-thumb {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--color-primary);
    border: 3px solid var(--color-bg-surface);
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    cursor: pointer;
}
.shop-apply-btn {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-radius: 0.75rem;
    padding: 0.75rem;
    transition: all 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.shop-apply-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 15px rgba(17, 24, 39, 0.15);
}

/* ── Toolbar ──────────────────────────────────────────────────────────── */
.shop-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}
.shop-toolbar-actions {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.shop-view-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem;
    border: 1px solid var(--color-border-light);
    border-radius: 0.75rem;
    background: var(--color-bg-surface);
    box-shadow: 0 1px 2px rgba(17,24,39,0.03);
}
.shop-view-btn {
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 0.55rem;
    background: transparent;
    color: var(--color-secondary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.18s ease;
}
.shop-view-btn:hover {
    color: var(--color-primary);
    background: var(--color-bg-soft);
}
.shop-view-btn.active {
    color: var(--color-bg-surface);
    background: var(--color-primary);
}
.shop-filter-trigger {
    background: var(--color-bg-surface);
}
.shop-filter-trigger:hover, .shop-filter-trigger:focus {
    border-color: var(--color-primary);
}
.shop-filter-trigger[aria-expanded="true"] {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--color-bg-surface);
}
.shop-view-btn i {
    font-size: 0.95rem;
    line-height: 1;
}
.shop-filter-offcanvas {
    --bs-offcanvas-width: min(390px, 100vw);
    border-left: 1px solid var(--color-border-light);
    z-index: 1095;
    box-shadow: -28px 0 60px rgba(15, 23, 42, 0.12);
}
.shop-filter-offcanvas .offcanvas-header {
    border-bottom: 1px solid var(--color-border-light);
    min-height: 88px;
    align-items: center;
    background: var(--color-bg-surface);
    position: sticky;
    top: 0;
    z-index: 2;
}
.shop-filter-offcanvas .offcanvas-body {
    background: var(--color-bg-surface);
}
.shop-filter-offcanvas .form-select {
    min-height: 46px;
    background-color: var(--color-bg-surface);
}
.shop-filter-offcanvas .shop-apply-btn {
    min-height: 48px;
    box-shadow: 0 12px 24px rgba(37, 99, 235, 0.18);
}

/* ── Filter Accordion ──────────────────────────────────────────── */
.shop-filter-accordion {
    border-top: 1px solid var(--color-border-light);
}
.shop-filter-item {
    border-bottom: 1px solid var(--color-border-light);
}
.shop-filter-item:last-child {
    border-bottom: 0;
}
.shop-filter-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 1.25rem 1.5rem;
    background: var(--color-bg-surface);
    border: 0;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #1f2937;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: left;
}
.shop-filter-header:hover {
    background: var(--color-bg-soft);
}
.shop-filter-header:not(.collapsed) {
    background: var(--color-bg-soft);
    border-bottom: 1px solid var(--color-border-light);
}
.shop-filter-header i {
    font-size: 1rem;
    transition: transform 0.3s ease;
}
.shop-filter-header:not(.collapsed) i {
    transform: rotate(45deg);
}
.shop-filter-header.collapsed i {
    transform: rotate(0deg);
}
.shop-filter-body {
    padding: 1.5rem;
    background: var(--color-bg-surface);
}
.shop-price-wrapper {
    padding: 0;
}
.shop-price-wrapper .shop-apply-btn {
    background: var(--color-primary);
    color: var(--color-bg-surface);
    font-weight: 700;
    border: 0;
    padding: 0.75rem 1rem;
    border-radius: 0.75rem;
    transition: all 0.2s ease;
}
.shop-price-wrapper .shop-apply-btn:hover {
    background: #374151;
    transform: translateY(-1px);
}
.shop-filter-offcanvas .form-select {
    min-height: auto;
}
.shop-results-count {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.85rem;
    color: #9ca3af;
    font-weight: 500;
}
.shop-sort-btn {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--color-secondary);
    border: 1px solid var(--color-border-light);
    border-radius: 0.75rem;
    padding: 0.55rem 1.15rem;
    background: var(--color-bg-surface);
    transition: all 0.2s ease;
}
.shop-sort-btn:hover, .shop-sort-btn:focus {
    border-color: var(--color-primary);
    color: var(--color-primary);
}
.shop-sort-dropdown {
    border: 1px solid var(--color-border-light);
    border-radius: 0.75rem;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
    padding: 0.5rem;
    margin-top: 0.5rem !important;
}
.shop-sort-dropdown .dropdown-item {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.85rem;
    font-weight: 500;
    border-radius: 0.5rem;
    padding: 0.6rem 1rem;
    color: var(--color-secondary);
    transition: all 0.15s ease;
}
.shop-sort-dropdown .dropdown-item:hover {
    background: var(--color-bg-soft);
    color: var(--color-primary);
}
.shop-sort-dropdown .dropdown-item.active-sort {
    background: var(--color-primary);
    color: var(--color-bg-surface);
    font-weight: 700;
}

/* ── Product Card Enhancements ────────────────────────────────────────── */
.shop-product-info {
    padding: 0.75rem 0.25rem 0;
}
.shop-product-name {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 600;
    font-size: 0.95rem;
    color: var(--color-primary);
    margin-bottom: 0.35rem;
    line-height: 1.3;
}
.shop-product-category {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #9ca3af;
    margin-bottom: 0.4rem;
}
.shop-product-price {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--color-primary);
}
.shop-product-grid {
    transition: opacity 0.18s ease;
}

@media (min-width: 768px) {
    .shop-product-grid.product-grid--large > .col {
        flex: 0 0 auto;
        width: 50%;
    }
    .shop-product-grid.product-grid--standard > .col {
        flex: 0 0 auto;
        width: 33.333333%;
    }
    .shop-product-grid.product-grid--compact > .col {
        flex: 0 0 auto;
        width: 33.333333%;
    }
}

@media (min-width: 1200px) {
    .shop-product-grid.product-grid--compact > .col {
        width: 25%;
    }
}
.shop-product-grid.product-grid--list {
    --bs-gutter-y: 1rem;
}
.shop-product-grid.product-grid--list > .col {
    flex: 0 0 auto;
    width: 100%;
}
.shop-product-grid.product-grid--list .product-item {
    display: grid;
    grid-template-columns: minmax(140px, 220px) minmax(0, 1fr);
    align-items: center;
    gap: 1.25rem;
    padding: 0.8rem;
    border: 1px solid var(--color-border-light);
    border-radius: 1.25rem;
    background: var(--color-bg-surface);
}
.shop-product-grid.product-grid--list .product-card {
    margin-bottom: 0 !important;
    aspect-ratio: 4/3 !important;
    border-radius: 1rem !important;
}
.shop-product-grid.product-grid--list .shop-product-info {
    padding: 0 !important;
}
.shop-product-grid.product-grid--list .shop-product-name {
    font-size: 1.1rem;
    white-space: normal;
}

@media (max-width: 767.98px) {
    .shop-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }
    .shop-toolbar-actions {
        width: 100%;
        justify-content: space-between;
    }
    .shop-view-toggle {
        display: inline-flex !important;
    }
    .shop-product-grid.product-grid--list .product-item {
        grid-template-columns: 1fr;
    }
}
.shop-out-of-stock-overlay {
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.55);
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: inherit;
}
.shop-out-of-stock-label {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 800;
    font-size: 0.7rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    background: var(--color-primary);
    color: var(--color-bg-surface);
    padding: 0.4rem 1rem;
    border-radius: 50px;
}

/* ── Empty State ──────────────────────────────────────────────────────── */
.shop-empty-state {
    text-align: center;
    padding: 4rem 2rem;
}
.shop-empty-icon {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--color-bg-soft) 0%, var(--color-border-light) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.5rem;
}
.shop-empty-icon i {
    font-size: 2.25rem;
    color: #9ca3af;
}
.shop-empty-title {
    font-family: 'Cormorant Garamond', serif !important;
    font-weight: 700;
    font-size: 1.5rem;
    color: var(--color-primary);
    margin-bottom: 0.5rem;
}
.shop-empty-subtitle {
    font-size: 0.9rem;
    color: #9ca3af;
    max-width: 340px;
    margin: 0 auto;
}

/* ── Pagination ───────────────────────────────────────────────────────── */
.shop-pagination .page-link {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 600;
    font-size: 0.85rem;
    color: var(--color-secondary);
    border: 1px solid var(--color-border-light);
    border-radius: 0.65rem !important;
    padding: 0.5rem 0.85rem;
    margin: 0 0.2rem;
    transition: all 0.2s ease;
    background: var(--color-bg-surface);
}
.shop-pagination .page-link:hover {
    border-color: var(--color-primary);
    color: var(--color-primary);
    background: var(--color-bg-surface);
}
.shop-pagination .page-item.active .page-link {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--color-bg-surface);
}
.shop-pagination .page-item.disabled .page-link {
    color: #d1d5db;
    background: var(--color-bg-soft);
    border-color: var(--color-bg-soft);
}

/* ── Mobile Filter Toggle ─────────────────────────────────────────────── */

/* ── Search Results Banner ─────────────────────────────────────────────── */
.shop-search-banner {
    background: var(--color-bg-soft);
    border-radius: 0.75rem;
    padding: 0.75rem 1.25rem;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.shop-search-banner-text {
    font-size: 0.85rem;
    color: var(--color-secondary);
}
.shop-search-banner-text strong {
    color: var(--color-primary);
}
.rs-aspect-product {
    aspect-ratio: 4/5;
}
.rs-backdrop-blur {
    backdrop-filter: blur(4px);
}
.rs-bg-product {
    background-color: #f2f2f2;
}
.rs-bg-page {
    background-color: #fafbfc;
}
.blog-image-chinos {
    background-image: url('/images/product_chinos_1774754568428.png');
}
.blog-image-jacket {
    background-image: url('/images/product_jacket_1774754113733.png');
}
.rs-bg-center {
    background-position: center;
}
.rs-bg-cover {
    background-size: cover;
}
.rs-loading-backdrop {
    background: rgba(250, 251, 252, 0.85);
}
.rs-border-dark {
    border-color: var(--color-primary);
}
.rs-border-subtle {
    border-color: var(--color-bg-soft) !important;
}
.rs-rounded-md {
    border-radius: 0.75rem !important;
}
.rs-border-dashed {
    border-style: dashed !important;
}
.rs-border-width-3 {
    border-width: 3px;
}
.rs-text-muted {
    color: var(--color-secondary);
}
.rs-clickable {
    cursor: pointer;
}
.rs-hidden {
    display: none !important;
}
.rs-font-display {
    font-family: 'Cormorant Garamond', serif;
}
.rs-font-sans {
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.rs-fs-060 {
    font-size: 0.6rem;
}
.rs-fs-065 {
    font-size: 0.65rem;
}
.rs-fs-068 {
    font-size: 0.68rem;
}
.rs-fs-070 {
    font-size: 0.7rem;
}
.rs-fs-072 {
    font-size: 0.72rem;
}
.rs-fs-0725 {
    font-size: 0.725rem;
}
.rs-fs-075 {
    font-size: 0.75rem;
}
.rs-fs-080 {
    font-size: 0.8rem;
}
.rs-fs-085 {
    font-size: 0.85rem;
}
.rs-fs-090 {
    font-size: 0.9rem;
}
.rs-fs-0925 {
    font-size: 0.925rem;
}
.rs-fs-095 {
    font-size: 0.95rem;
}
.rs-fs-100 {
    font-size: 1rem;
}
.rs-fs-105 {
    font-size: 1.05rem;
}
.rs-fs-115 {
    font-size: 1.15rem;
}
.rs-fs-120 {
    font-size: 1.2rem;
}
.rs-fs-140 {
    font-size: 1.4rem;
}
.rs-fs-150 {
    font-size: 1.5rem;
}
.rs-fs-500 {
    font-size: 5rem;
}
.rs-fw-600 {
    font-weight: 600;
}
.rs-h-250 {
    height: 2.5rem;
}
.blog-image {
    height: 300px;
}
.rs-h-65 {
    height: 65px;
}
.rs-h-64 {
    height: 64px;
}
.rs-tracking-05 {
    letter-spacing: 0.05em;
}
.rs-tracking-08 {
    letter-spacing: 0.08em;
}
.rs-tracking-10 {
    letter-spacing: 0.1em;
}
.policy-page {
    max-width: 800px;
}
.rs-min-h-46 {
    min-height: 46px;
}
.rs-min-h-120 {
    min-height: 120px;
}
.rs-object-cover {
    object-fit: cover;
}
.rs-badge-padding {
    padding: 0.3em 0.7em;
}
.rs-no-decoration {
    text-decoration: none;
}
.rs-uppercase {
    text-transform: uppercase;
}
.rs-sticky-offset {
    top: 120px;
}
.rs-color-transition {
    transition: color 0.2s;
}
.rs-w-250 {
    width: 2.5rem;
}
.rs-w-65 {
    width: 65px;
}
.rs-w-64 {
    width: 64px;
}
.rs-z-overlay {
    z-index: 1050;
}
.rs-z-toast {
    z-index: 1060;
}
.rs-progress-control {
    width: 100%;
    height: 8px;
    overflow: hidden;
    border: 0;
    border-radius: 50px;
    background: var(--color-border-light);
}
.rs-progress-control::-webkit-progress-bar {
    background: var(--color-border-light);
}
.rs-progress-control::-webkit-progress-value {
    border-radius: 50px;
    background: linear-gradient(90deg, var(--color-primary), #374151);
}
.rs-progress-control::-moz-progress-bar {
    border-radius: 50px;
    background: linear-gradient(90deg, var(--color-primary), #374151);
}

/* ── CLASSIC LUXURY REDESIGN OVERRIDES ── */
:root, [data-bs-theme=light] {
    --bs-primary: var(--color-primary);
    --bs-primary-rgb: 17, 17, 17;
    --bs-body-bg: var(--color-bg-surface);
    --bs-body-color: var(--color-primary);
    --bs-link-color: var(--color-primary);
    --bs-link-hover-color: var(--color-accent);
    --bs-border-color: var(--color-border-light);
    --bs-border-radius: 2px !important;
    --bs-border-radius-sm: 2px !important;
    --bs-border-radius-lg: 4px !important;
    --bs-border-radius-xl: 4px !important;
    --bs-border-radius-xxl: 4px !important;
    --bs-border-radius-pill: 2px !important;
    /* Custom variables */
    --rs-bg-primary: var(--color-bg-surface);
    --rs-bg-secondary: var(--color-bg-base);
    --rs-text-primary: var(--color-primary);
    --rs-text-secondary: var(--color-secondary);
    --rs-accent-gold: var(--color-accent);
    --rs-border-light: var(--color-border-light);
    --rs-font-display: "Cormorant Garamond", serif;
    --rs-font-sans: "Plus Jakarta Sans", sans-serif;
}
body {
    font-family: var(--rs-font-sans) !important;
    background-color: var(--rs-bg-primary);
    color: var(--rs-text-secondary);
}
h1, h2, h3, h4, h5, h6, .h2, .h3, .h4, .h6, .rs-font-display, .header-brand, .product-title, .cart-page-title, .checkout-title, .profile-section-title {
    font-family: var(--rs-font-display) !important;
    font-weight: 350 !important;
    letter-spacing: -0.01em !important;
    color: var(--rs-text-primary) !important;
}
h1 {
    font-size: 2.75rem;
}
h2, .h2 {
    font-size: 2.15rem;
}
h3, .h3 {
    font-size: 1.65rem;
}
h4, .h4 {
    font-size: 1.35rem;
}
.rs-kicker {
    font-family: var(--rs-font-sans) !important;
    font-size: 0.725rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.18em !important;
    color: var(--rs-accent-gold) !important;
    margin-bottom: 0.75rem !important;
}
.btn-dark, .btn-premium {
    background-color: var(--color-primary) !important;
    border: 1px solid var(--color-primary) !important;
    color: var(--color-bg-surface) !important;
    border-radius: 2px !important;
    font-family: var(--rs-font-sans);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.75rem;
    padding: 0.9rem 2rem !important;
    transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    box-shadow: none !important;
}
.btn-dark:hover, .btn-premium:hover {
    background-color: var(--rs-accent-gold) !important;
    border-color: var(--rs-accent-gold) !important;
    color: var(--color-bg-surface) !important;
    transform: none !important;
}
.btn-outline-dark {
    background-color: transparent !important;
    border: 1px solid var(--color-primary) !important;
    color: var(--color-primary) !important;
    border-radius: 2px !important;
    font-family: var(--rs-font-sans);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.75rem;
    padding: 0.9rem 2rem !important;
    transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    box-shadow: none !important;
    text-decoration: none !important;
    display: inline-block;
}
.btn-outline-dark:hover {
    background-color: var(--color-primary) !important;
    color: var(--color-bg-surface) !important;
    border-color: var(--color-primary) !important;
}
.form-control, .form-select {
    border: 1px solid var(--rs-border-light) !important;
    border-radius: 2px !important;
    font-family: var(--rs-font-sans) !important;
    font-size: 0.85rem !important;
    padding: 0.8rem 1rem !important;
    box-shadow: none !important;
    transition: border-color 0.2s ease !important;
}
.form-control:focus, .form-select:focus {
    border-color: var(--rs-text-primary) !important;
    outline: none !important;
    box-shadow: none !important;
}
.top-promo-bar {
    background-color: var(--rs-bg-secondary) !important;
    color: var(--rs-text-primary) !important;
    border-bottom: 1px solid var(--rs-border-light);
    font-family: var(--rs-font-sans) !important;
    font-size: 0.7rem !important;
    letter-spacing: 0.12em !important;
    font-weight: 500 !important;
}
.top-promo-dismiss {
    color: rgba(255, 255, 255, 0.7) !important;
}
.top-promo-dismiss:hover {
    color: var(--color-bg-surface) !important;
}
.site-header {
    border-bottom: 1px solid var(--rs-border-light);
    background-color: rgba(255, 255, 255, 0.92) !important;
    backdrop-filter: blur(8px);
    transition: all 0.3s ease;
}
.site-header.is-scrolled {
    box-shadow: 0 4px 20px rgba(0,0,0,0.02) !important;
}
.header-brand {
    font-family: var(--rs-font-display) !important;
    font-weight: 400 !important;
    font-size: 1.75rem !important;
    letter-spacing: 0.12em !important;
}
.header-nav .nav-link {
    font-family: var(--rs-font-sans) !important;
    font-size: 0.725rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.15em !important;
    color: var(--rs-text-secondary) !important;
    position: relative;
    padding: 1.85rem 1rem !important;
}
.header-nav .nav-link::after {
    content: "";
    position: absolute;
    bottom: 1.25rem;
    left: 1rem;
    right: 1rem;
    height: 1px;
    transform: scaleX(0);
    transition: transform 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
    transform-origin: left;
}
.header-nav .nav-link:hover {
    color: var(--rs-text-primary) !important;
}
.header-nav .nav-link:hover::after {
    transform: scaleX(1);
}
.header-icon {
    color: var(--rs-text-secondary) !important;
    transition: color 0.2s ease, transform 0.2s ease !important;
}
.header-icon:hover {
    color: var(--rs-text-primary) !important;
    transform: none !important;
}
.header-cart-badge {
    background-color: var(--rs-text-primary) !important;
    border-radius: 50% !important;
    font-size: 0.6rem !important;
    width: 16px !important;
    height: 16px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    top: 2px !important;
    right: -2px !important;
    border: none !important;
}
.product-card {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    transform: none !important;
    transition: none !important;
}
.product-card:hover {
    transform: none !important;
    box-shadow: none !important;
}
.product-card .card-img-wrapper {
    position: relative;
    overflow: hidden;
    background-color: var(--rs-bg-secondary);
}
.product-card img {
    border-radius: 0 !important;
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}
.product-card:hover img {
    transform: scale(1.04) !important;
}
.product-card .product-card__actions {
    display: none !important;
}
.shop-product-info {
    text-align: center;
    padding-top: 1rem !important;
}
.shop-product-category {
    font-family: var(--rs-font-sans) !important;
    font-size: 0.625rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase;
    color: var(--rs-accent-gold) !important;
    margin-bottom: 0.35rem !important;
}
.shop-product-name {
    font-family: var(--rs-font-sans) !important;
    font-weight: 400 !important;
    font-size: 0.875rem !important;
    letter-spacing: 0.02em !important;
    color: var(--rs-text-primary) !important;
    margin-bottom: 0.35rem !important;
    text-transform: none !important;
}
.shop-product-price {
    font-family: var(--rs-font-sans) !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    color: var(--rs-text-primary) !important;
}
.rs-drawer {
    border-left: 1px solid var(--rs-border-light) !important;
    border-radius: 0 !important;
    width: 440px !important;
    z-index: 1095 !important;
}
.rs-drawer .offcanvas-header {
    border-bottom: 1px solid var(--rs-border-light);
}
.rs-drawer .rs-eyebrow {
    font-family: var(--rs-font-sans);
    font-size: 0.625rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--rs-accent-gold);
}
.rs-drawer .offcanvas-title {
    font-family: var(--rs-font-display) !important;
    font-size: 1.5rem !important;
    font-weight: 350 !important;
}
.rs-editorial-hero {
    height: 80vh !important;
    min-height: 520px;
    background-color: var(--rs-bg-secondary);
}
.rs-editorial-shade {
    background: rgba(0,0,0,0.15) !important;
}
.rs-editorial-copy {
    max-width: 600px;
    left: 8% !important;
    bottom: 12% !important;
    transform: none !important;
    color: var(--color-bg-surface) !important;
    text-shadow: none !important;
}
.rs-editorial-copy h2 {
    font-family: var(--rs-font-display) !important;
    font-weight: 300 !important;
    font-size: clamp(2.5rem, 5vw, 4rem) !important;
    color: var(--color-bg-surface) !important;
    line-height: 1.1 !important;
    margin-bottom: 1.25rem !important;
}
.rs-editorial-copy p {
    font-family: var(--rs-font-sans) !important;
    font-size: 0.95rem !important;
    font-weight: 400 !important;
    letter-spacing: 0.02em !important;
    color: rgba(255,255,255,0.9) !important;
    margin-bottom: 2rem !important;
}
.rs-hero-dots {
    justify-content: center !important;
    left: 0 !important;
    right: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 2rem !important;
}
.rs-hero-dots [data-bs-target] {
    width: 6px !important;
    height: 6px !important;
    background-color: var(--rs-ink, var(--color-primary)) !important;
    opacity: 0.3 !important;
    border-radius: 99px !important;
    border: none !important;
    transition: width 0.3s ease, opacity 0.3s ease !important;
}
.rs-hero-dots [data-bs-target].active {
    width: 24px !important;
    opacity: 1 !important;
    border-radius: 3px !important;
    transform: none !important;
}
.rs-category-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}

@media(max-width: 768px) {
    .rs-category-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
.rs-category-card {
    border-radius: 0 !important;
    overflow: hidden;
    position: relative;
    aspect-ratio: 3/4;
    display: block;
}
.rs-category-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}
.rs-category-card:hover img {
    transform: scale(1.05) !important;
}
.rs-category-card span {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 2rem 1.5rem;
    background: linear-gradient(to top, rgba(0,0,0,0.4), rgba(0,0,0,0));
    color: var(--color-bg-surface) !important;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}
.rs-category-card strong {
    font-family: var(--rs-font-display) !important;
    font-weight: 400 !important;
    font-size: 1.45rem !important;
}
.rs-category-card small {
    font-family: var(--rs-font-sans);
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    opacity: 0.8;
}
.rs-footer {
    background-color: var(--color-primary) !important;
    color: #aeaeae !important;
    font-family: var(--rs-font-sans);
}
.rs-footer h5, .rs-footer h6 {
    color: var(--color-bg-surface) !important;
    font-family: var(--rs-font-sans) !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    font-size: 0.725rem !important;
    letter-spacing: 0.15em !important;
}
.rs-footer a {
    color: #aeaeae !important;
}
.rs-footer a:hover {
    color: var(--color-bg-surface) !important;
}
.rs-footer .form-control {
    background-color: transparent !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #333333 !important;
    border-radius: 0 !important;
    color: var(--color-bg-surface) !important;
    padding-left: 0 !important;
}
.rs-footer .form-control:focus {
    border-bottom-color: var(--color-bg-surface) !important;
}
.aspect-ratio-3-4 {
    aspect-ratio: 3 / 4;
}
.product-card {
    position: relative;
    overflow: hidden;
}
.product-card:hover .product-card-img-secondary {
    opacity: 1 !important;
}
.product-card-hover-actions {
    position: absolute;
    bottom: 18px;
    left: 50%;
    gap: 6px;
    transform: translate(-50%, 14px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s ease;
    z-index: 10;
}
.rs-product-tile:hover .product-card-hover-actions, .rs-product-tile:focus-within .product-card-hover-actions {
    transform: translate(-50%, 0);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.product-card-hover-action {
    width: 43px;
    height: 43px;
    min-height: 43px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 43px;
    border: 0;
    border-radius: 3px;
    background: rgba(255, 255, 255, 0.96);
    color: var(--rs-ink) !important;
    font-size: 1.15rem;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 3px 12px rgba(15, 17, 29, 0.08);
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.product-card-hover-action:hover:not(:disabled) {
    background: var(--rs-ink);
    color: var(--color-bg-surface) !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(15, 17, 29, 0.16);
}
.product-card-hover-action:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}
.rs-product-badge-luxury {
    position: absolute;
    top: 1rem;
    left: 1rem;
    z-index: 3;
    background-color: var(--rs-text-primary);
    color: var(--color-bg-surface);
    font-family: var(--rs-font-sans);
    font-size: 0.6rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    padding: 0.35rem 0.75rem;
}

@media(min-width: 992px) {
    .header-category-dropdown {
        position: static !important;
    }
    .header-category-dropdown:hover .header-category-menu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
    .header-category-menu {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        width: 100vw;
        margin-left: calc(-50vw + 50%);
        background-color: var(--color-bg-surface);
        border-top: 1px solid var(--rs-border-light);
        border-bottom: 1px solid var(--rs-border-light);
        border-left: none;
        border-right: none;
        border-radius: 0 !important;
        box-shadow: 0 10px 30px rgba(0,0,0,0.03);
        padding: 2.5rem 12% !important;
        display: grid !important;
        grid-template-columns: repeat(4, 1fr);
        gap: 2.5rem;
        opacity: 0;
        visibility: hidden;
        transform: translateY(10px);
        transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1), transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.35s ease;
    }
    .header-category-menu li {
        display: block;
    }
    .header-category-menu .dropdown-divider {
        display: none !important;
    }
}
.rs-testimonial-grid article {
    padding: 1.5rem !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    border-left: 1px solid var(--rs-border-light) !important;
}

@media(max-width: 991px) {
    .rs-testimonial-grid article {
        border-left: none !important;
        border-bottom: 1px solid var(--rs-border-light) !important;
        padding-bottom: 2rem !important;
        margin-bottom: 1rem !important;
    }
    .rs-testimonial-grid article:last-child {
        border-bottom: none !important;
    }
}
.rs-stars {
    color: var(--rs-accent-gold) !important;
    font-size: 0.8rem !important;
    margin-bottom: 1rem !important;
    letter-spacing: 0.1em;
}
.rs-testimonial-grid p {
    font-size: 0.85rem !important;
    line-height: 1.8 !important;
    color: var(--rs-text-secondary) !important;
    font-style: italic;
    font-family: var(--rs-font-display) !important;
    min-height: auto !important;
}
.rs-testimonial-grid strong {
    font-family: var(--rs-font-sans) !important;
    font-size: 0.725rem !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--rs-text-primary) !important;
}
.product-detail-page .btn-add-cart-premium, .btn-add-cart-premium, .btn-wishlist-premium, .rs-purchase-row .quantity-control-group, .quantity-control-group {
    border-radius: 2px !important;
}
.product-detail-page .price-tag, .product-price-section .price-tag {
    font-family: var(--rs-font-sans) !important;
    font-size: 1.45rem !important;
    font-weight: 500 !important;
    color: var(--rs-text-primary) !important;
}
.product-detail-page .compare-price-tag, .product-price-section .compare-price-tag {
    font-size: 1.1rem !important;
    text-decoration: line-through;
    color: var(--rs-text-secondary) !important;
    opacity: 0.65;
}
.product-detail-page .discount-badge, .product-price-section .discount-badge {
    background-color: var(--color-danger) !important;
    color: var(--color-bg-surface) !important;
    font-family: var(--rs-font-sans) !important;
    font-size: 0.7rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
    padding: 0.3rem 0.6rem !important;
    border-radius: 2px !important;
}
.product-cat-pill {
    font-family: var(--rs-font-sans) !important;
    font-size: 0.65rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: var(--rs-accent-gold) !important;
    background: transparent !important;
    padding: 0 !important;
    margin-bottom: 0.75rem !important;
    border: none !important;
    border-radius: 0 !important;
}
.detail-breadcrumb .breadcrumb-item a {
    color: var(--rs-text-secondary) !important;
    font-size: 0.75rem !important;
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.detail-breadcrumb .breadcrumb-item.active {
    color: var(--rs-text-primary) !important;
    font-size: 0.75rem !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.gallery-thumb-item {
    border-radius: 0 !important;
    border: 1px solid var(--rs-border-light) !important;
    width: 80px;
    height: 80px;
    transition: border-color 0.2s ease;
}
.gallery-thumb-item.active-thumb {
    border-color: var(--rs-text-primary) !important;
}
.gallery-main {
    border-radius: 0 !important;
    background-color: var(--rs-bg-secondary);
}
.gallery-main-img {
    border-radius: 0 !important;
    width: 100%;
    height: auto;
    max-height: 600px;
    object-fit: cover;
}
.cart-page-breadcrumb a, .cart-page-breadcrumb .separator {
    color: var(--rs-text-secondary) !important;
    font-size: 0.75rem !important;
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.cart-page-breadcrumb .current {
    color: var(--rs-text-primary) !important;
    font-size: 0.75rem !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.cart-item-card {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid var(--rs-border-light) !important;
    border-radius: 0 !important;
    background: transparent !important;
    padding: 1.5rem 0 !important;
    box-shadow: none !important;
    transition: none !important;
    margin-bottom: 0 !important;
}
.cart-item-card:hover {
    border-color: var(--rs-border-light) !important;
    box-shadow: none !important;
}
.cart-item-img, .cart-item-img-placeholder {
    border-radius: 0 !important;
    width: 90px !important;
    height: 120px !important;
    /* Elegant 3:4 portrait thumbnail */
    border: 1px solid var(--rs-border-light) !important;
}
.cart-item-name {
    font-family: var(--rs-font-sans) !important;
    font-weight: 550 !important;
    color: var(--rs-text-primary) !important;
    font-size: 0.95rem !important;
    text-decoration: none !important;
}
.cart-item-name:hover {
    color: var(--rs-accent-gold) !important;
}
.cart-item-variant {
    font-family: var(--rs-font-sans) !important;
    font-size: 0.75rem !important;
    color: var(--rs-text-secondary) !important;
}
.qty-stepper {
    border-radius: 2px !important;
    border: 1px solid var(--rs-border-light) !important;
    background-color: var(--rs-bg-secondary) !important;
}
.qty-stepper-btn {
    color: var(--rs-text-primary) !important;
}
.cart-remove-btn {
    font-family: var(--rs-font-sans);
    font-size: 0.725rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #dc3545 !important;
}
.cart-summary-card {
    border: 1px solid var(--rs-border-light) !important;
    border-radius: 2px !important;
    padding: 2rem !important;
    background: var(--rs-bg-secondary) !important;
    box-shadow: none !important;
}
.cart-summary-title {
    font-family: var(--rs-font-display) !important;
    font-size: 1.45rem !important;
    font-weight: 350 !important;
}
.cart-summary-row {
    font-family: var(--rs-font-sans) !important;
    font-size: 0.85rem !important;
}
.cart-summary-total {
    font-family: var(--rs-font-sans) !important;
    font-size: 1.25rem !important;
    font-weight: 600 !important;
    color: var(--rs-text-primary) !important;
}
.cart-empty-state {
    padding: 5rem 2rem !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
}
.cart-empty-icon-wrapper {
    font-size: 3rem;
    color: var(--rs-accent-gold);
    margin-bottom: 1.5rem;
}
.cart-empty-title {
    font-family: var(--rs-font-display) !important;
    font-size: 1.75rem !important;
    font-weight: 350 !important;
    margin-bottom: 1rem;
}
.cart-empty-btn {
    background-color: var(--color-primary) !important;
    color: var(--color-bg-surface) !important;
    border-radius: 2px !important;
    padding: 0.9rem 2rem !important;
    font-size: 0.75rem !important;
}
.checkout-card, .checkout-address-card, .payment-option-card, .checkout-step, .checkout-review-box {
    border-radius: 2px !important;
    box-shadow: none !important;
}
.checkout-address-card.selected, .payment-option-card.selected {
    border-color: var(--rs-text-primary) !important;
    background-color: var(--rs-bg-secondary) !important;
}
.checkout-review-box {
    background-color: var(--rs-bg-secondary) !important;
    border-color: var(--rs-border-light) !important;
}
.checkout-form-label {
    font-family: var(--rs-font-sans) !important;
    font-weight: 600 !important;
    color: var(--rs-text-primary) !important;
}
.checkout-section-title {
    font-family: var(--rs-font-display) !important;
    font-size: 1.35rem !important;
    font-weight: 350 !important;
    color: var(--rs-text-primary) !important;
    border-bottom: 1px solid var(--rs-border-light);
    padding-bottom: 0.5rem;
    margin-bottom: 1.5rem !important;
}
.checkout-step {
    border-color: var(--rs-border-light) !important;
    color: var(--rs-text-secondary) !important;
    font-family: var(--rs-font-sans) !important;
    font-weight: 500 !important;
}
.checkout-step span {
    background-color: var(--rs-text-primary) !important;
}
.profile-dashboard-header, .profile-nav-card, .profile-content-card, .profile-address-card, .profile-wishlist-card, .profile-content-card .card.bg-light {
    border-radius: 2px !important;
}
.profile-form-input, .auth-split-form .form-floating > .form-control {
    border-radius: 2px !important;
}
.profile-badge-default, .status-pill {
    border-radius: 2px !important;
    font-size: 0.65rem !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}
.profile-section-heading-row .btn, .profile-content-card .text-center.py-5 .btn, .auth-split-form .btn-premium {
    border-radius: 2px !important;
}
.auth-split-form .form-floating > .form-control:focus {
    border-color: var(--rs-navy) !important;
    box-shadow: 0 0 0 3px rgba(21, 25, 47, 0.08) !important;
}

@media (max-width: 991.98px) {
    .header-category-menu {
        display: block !important;
        position: static !important;
        width: auto !important;
        margin: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        background: transparent !important;
        box-shadow: none !important;
        border: none !important;
        padding: 0.5rem 0 0.5rem 1rem !important;
    }
}
.header-brand {
    font-family: var(--rs-font-sans, "Plus Jakarta Sans") !important;
    font-weight: 800 !important;
    text-transform: lowercase !important;
    font-size: 1.75rem !important;
    letter-spacing: -0.04em !important;
    color: var(--rs-ink, var(--color-primary)) !important;
}
.header-nav .nav-link {
    font-family: var(--rs-font-sans, "Plus Jakarta Sans"), sans-serif;
    font-size: 0.88rem !important;
    font-weight: 500 !important;
    text-transform: capitalize !important;
    letter-spacing: normal !important;
    padding: 0.5rem 0.85rem !important;
    color: var(--rs-ink, var(--color-primary)) !important;
    transition: color 0.2s ease;
}
.header-nav .nav-link:hover {
    color: var(--rs-accent, var(--color-accent)) !important;
}
.header-cart-badge, .header-wishlist-badge {
    position: absolute;
    top: 0;
    right: -4px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 17px;
    height: 17px;
    font-size: 0.58rem !important;
    font-weight: 700 !important;
    color: var(--color-bg-surface) !important;
    background: #dc3545 !important;
    border-radius: 50%;
    border: 2px solid var(--color-bg-surface) !important;
    line-height: 1;
}
.rs-hero-dots [data-bs-target] {
    background-color: var(--color-bg-surface) !important;
    opacity: 0.55 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35) !important;
}
.rs-hero-dots [data-bs-target].active {
    background-color: var(--color-bg-surface) !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35) !important;
}

/* ── Cart Drawer Styles ─────────────────────────────────────────────────── */
.rs-cart-qty-selector {
    display: flex;
    align-items: center;
    background-color: #f5f5f5;
    border-radius: 0px;
    height: 32px;
    width: 84px;
    justify-content: space-between;
    margin-right: 12px;
}
.rs-cart-qty-val {
    font-size: 0.88rem;
    font-weight: 500;
    color: var(--color-primary);
}
.rs-cart-qty-btn {
    width: 28px;
    height: 100%;
    border: none;
    background: transparent;
    color: var(--rs-text-primary, var(--color-primary));
    font-size: 1.1rem;
    font-weight: 300;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.15s ease, color 0.15s ease;
    padding: 0;
}
.rs-cart-qty-btn:hover {
    background-color: rgba(0, 0, 0, 0.06);
    color: var(--rs-accent-gold, var(--color-accent));
}
.rs-cart-qty-btn:active {
    background-color: rgba(0, 0, 0, 0.12);
}
.rs-cart-remove-link {
    background: none;
    border: none;
    padding: 0;
    font-family: var(--rs-font-sans, "Plus Jakarta Sans"), sans-serif;
    font-size: 0.725rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #dc3545 !important;
    text-decoration: underline;
    cursor: pointer;
    transition: color 0.15s ease;
}
.rs-cart-remove-link:hover {
    color: #b02a37 !important;
    text-decoration: none;
}
.rs-cart-terms-check .form-check-input {
    border-radius: 50% !important;
    width: 18px;
    height: 18px;
    border: 1.5px solid #ccc !important;
    margin-top: 2px;
    cursor: pointer;
}
.rs-cart-terms-check .form-check-input:checked {
    background-color: #dc3545 !important;
    border-color: #dc3545 !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e") !important;
}
.rs-cart-terms-check .form-check-input:focus {
    box-shadow: none !important;
    border-color: #dc3545 !important;
}

/* ── Search Drawer UI Fixes ──────────────────────────────────────────────── */
#sidebarSearchInput {
    border-radius: 0px !important;
    border: 1px solid var(--color-primary) !important;
    padding-left: 2.8rem !important;
    padding-right: 2.8rem !important;
    height: 48px !important;
    font-family: var(--rs-font-sans, "Plus Jakarta Sans"), sans-serif;
}
.rs-empty-state .rs-empty-icon {
    background: transparent !important;
    font-size: 3.5rem !important;
    color: #cccccc !important;
    margin-bottom: 1rem !important;
    animation: none !important;
}

/* ── Dropdown Menu Styling (mockup-style) ────────────────────────────────── */
.header-nav .nav-link {
    border-bottom: 2px solid transparent !important;
    transition: color 0.2s ease, border-color 0.2s ease !important;
}
.header-nav .nav-link:hover, .header-nav .nav-item.dropdown:hover .nav-link {
    border-color: var(--rs-accent-gold) !important;
    color: var(--color-primary) !important;
}
.dropdown-toggle::after {
    position: static !important;
    /* Keep chevron in normal text flow to prevent overlap */
    display: inline-block !important;
    content: "\F282" !important;
    /* bootstrap chevron-down */
    font-family: "bootstrap-icons" !important;
    border: none !important;
    font-size: 0.625rem !important;
    margin-left: 0.45rem !important;
    /* spacing after text */
    vertical-align: middle !important;
    transition: transform 0.2s ease !important;
    /* Reset conflicting absolute-positioned underline properties */
    height: auto !important;
    width: auto !important;
    transform: none !important;
    transform-origin: center !important;
}
@media (min-width: 992px) {
    .header-category-dropdown:hover .dropdown-toggle::after {
        transform: rotate(180deg) !important;
    }
    .header-category-dropdown {
        position: relative !important;
        /* Align dropdown menu directly below the parent item */;
    }
    .header-category-menu {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        width: 220px !important;
        margin-left: 0 !important;
        background-color: var(--color-bg-surface) !important;
        border: 1px solid #f2f2f2 !important;
        border-radius: 0px !important;
        box-shadow: 0 10px 30px rgba(0,0,0,0.06) !important;
        padding: 1rem 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0.15rem !important;
        opacity: 0;
        visibility: hidden;
        transform: translateY(8px);
        transition: opacity 0.2s cubic-bezier(0.16, 1, 0.3, 1), transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.2s ease !important;
        grid-template-columns: none !important;
        /* disable bootstrap overrides */;
    }
    .header-category-dropdown:hover .header-category-menu {
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(0) !important;
    }
    .header-category-menu .dropdown-item {
        font-family: var(--rs-font-sans, "Plus Jakarta Sans"), sans-serif !important;
        font-size: 0.88rem !important;
        font-weight: 400 !important;
        color: #555555 !important;
        padding: 0.5rem 1.5rem !important;
        background: transparent !important;
        transition: color 0.15s ease, padding-left 0.15s ease !important;
        border: none !important;
    }
    .header-category-menu .dropdown-item:hover {
        color: var(--color-primary) !important;
        padding-left: 1.75rem !important;
        /* premium slide indicator */
        background: transparent !important;
    }
}

/* ── Product Page Gallery Fixes ──────────────────────────────────────────── */
.product-detail-page .gallery-main {
    aspect-ratio: auto !important;
    height: auto !important;
    background-color: transparent !important;
    border: none !important;
    padding: 0 !important;
}
.product-detail-page .gallery-main-img {
    height: auto !important;
    max-height: 700px !important;
    width: 100% !important;
    object-fit: cover !important;
}

/* ── Header User Icon Size Fix ──────────────────────────────────────────────── */
.header-icon .bi-person {
    font-size: 1.2rem !important;
}

/* ── Base shell ──────────────────────────────────────────────────────────────── */
.rs-footer {
    background-color: #0f0f0f !important;
    color: #a0a0a0 !important;
    border-top: none !important;
    box-shadow: none !important;
    margin-top: 0 !important;
    padding-top: 3.5rem !important;
    padding-bottom: 0 !important;
    font-family: var(--rs-font-sans, 'Outfit', system-ui, sans-serif);
}

/* ── Column headings ─────────────────────────────────────────────────────────── */
.rs-footer h5, .rs-footer h6 {
    color: var(--color-bg-surface) !important;
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    margin-bottom: 1.1rem !important;
}

/* ── Body text & links ───────────────────────────────────────────────────────── */
.rs-footer p, .rs-footer .text-white, .rs-footer .text-white-50, .rs-footer a.text-white-50, .rs-footer span.text-white-50 {
    color: #7a7a7a !important;
    font-size: 0.80rem !important;
    line-height: 1.7 !important;
}
.rs-footer a {
    color: #7a7a7a !important;
    text-decoration: none !important;
    transition: color 0.18s ease !important;
}
.rs-footer a:hover {
    color: var(--color-bg-surface) !important;
}

/* ── Divider ─────────────────────────────────────────────────────────────────── */
.rs-footer hr {
    border-color: rgba(255, 255, 255, 0.08) !important;
    opacity: 1 !important;
    margin-top: 2.5rem !important;
    margin-bottom: 1.5rem !important;
}

/* ── Newsletter form (underline-only style) ──────────────────────────────────── */
.rs-footer .form-control {
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.22) !important;
    border-radius: 0 !important;
    color: var(--color-bg-surface) !important;
    padding-left: 0 !important;
    padding-right: 2rem !important;
    font-size: 0.80rem !important;
    box-shadow: none !important;
}
.rs-footer .form-control::placeholder {
    color: rgba(255, 255, 255, 0.35) !important;
}
.rs-footer .form-control:focus {
    border-bottom-color: rgba(255, 255, 255, 0.70) !important;
    box-shadow: none !important;
    outline: none !important;
}
.rs-footer form .btn-link {
    color: rgba(255, 255, 255, 0.55) !important;
    transition: color 0.18s ease !important;
}
.rs-footer form .btn-link:hover {
    color: var(--color-bg-surface) !important;
}

/* ── Bottom bar copyright text ───────────────────────────────────────────────── */
.rs-footer span.rs-fs-075, .rs-footer .rs-fs-075 {
    font-size: 0.72rem !important;
    color: rgba(255, 255, 255, 0.28) !important;
}

/* ── Social icon circles ─────────────────────────────────────────────────────── */
.social-link-oval {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    background: transparent !important;
    color: rgba(255, 255, 255, 0.55) !important;
    font-size: 0.85rem !important;
    text-decoration: none !important;
    transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease !important;
}
.social-link-oval:hover {
    border-color: rgba(255, 255, 255, 0.60) !important;
    background: rgba(255, 255, 255, 0.08) !important;
    color: var(--color-bg-surface) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   RS PREMIUM DESIGN ENHANCEMENTS v2.0
   Professional e-commerce upgrade - warm luxury palette + editorial polish
   ═══════════════════════════════════════════════════════════════════════════ */

/* -- Design Token Overrides ───────────────────────────────────────────────── */
:root {
    --rs-ink:          var(--color-primary);
    --rs-ink-soft:     #44403C;
    --rs-accent-gold:  var(--color-accent);
    --rs-accent-warm:  var(--color-accent-hover);
    --rs-bg-warm:      var(--color-bg-base);
    --rs-bg-parchment: var(--color-bg-parchment);
    --rs-bg-secondary: var(--color-bg-soft);
    --rs-border-light: var(--color-border-medium);
    --rs-border-warm:  var(--color-border-light);
    --rs-text-primary: var(--color-primary);
    --rs-text-secondary: var(--color-secondary);
    --rs-text-muted:   #A8A29E;
    --rs-font-display: 'Cormorant Garamond', 'Cormorant', Georgia, serif;
    --rs-font-sans:    'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
    --rs-shadow-sm:    0 1px 3px rgba(28,25,23,.06), 0 1px 2px rgba(28,25,23,.04);
    --rs-shadow-md:    0 4px 16px rgba(28,25,23,.08), 0 2px 6px rgba(28,25,23,.04);
    --rs-shadow-lg:    0 12px 40px rgba(28,25,23,.12), 0 4px 12px rgba(28,25,23,.06);
    --rs-radius:       2px;
    --rs-transition:   0.25s cubic-bezier(0.16,1,0.3,1);
}

/* -- Body & Background ───────────────────────────────────────────────────── */
body.rs-commerce-shell {
    background-color: var(--rs-bg-warm) !important;
    color: var(--rs-text-primary) !important;
}

/* -- Top Promo Bar ───────────────────────────────────────────────────────── */
.top-promo-bar {
    background: linear-gradient(90deg, var(--color-primary) 0%, #292524 50%, var(--color-primary) 100%) !important;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    position: relative;
    overflow: hidden;
}
.top-promo-bar::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 0%, rgba(161,98,7,0.15) 50%, transparent 100%);
    pointer-events: none;
}
.top-promo-bar .small {
    font-family: var(--rs-font-sans);
    font-size: 0.72rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.06em;
    color: rgba(255,255,255,0.88) !important;
}
.top-promo-dismiss {
    background: none;
    border: none;
    color: rgba(255,255,255,0.5);
    font-size: 0.9rem;
    cursor: pointer;
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    padding: 0.25rem;
    transition: color 0.2s ease;
    line-height: 1;
}
.top-promo-dismiss:hover {
    color: var(--color-bg-surface);
}

/* -- Header - Elevated Glass Effect ────────────────────────────────────────── */
.site-header {
    background-color: rgba(255,255,255,0.96) !important;
    border-bottom: 1px solid var(--rs-border-warm) !important;
    transition: box-shadow 0.3s ease, background-color 0.3s ease;
}
.site-header.scrolled {
    backdrop-filter: blur(12px) saturate(160%);
    -webkit-backdrop-filter: blur(12px) saturate(160%);
    background-color: rgba(255,255,255,0.88) !important;
    box-shadow: 0 2px 20px rgba(28,25,23,0.06) !important;
}

/* -- Section Heading Upgrade ────────────────────────────────────────────── */
.rs-section-heading {
    margin-bottom: 2.5rem;
    text-align: center;
}
.rs-section-heading h2 {
    font-family: var(--rs-font-display) !important;
    font-size: clamp(1.85rem, 3vw, 2.75rem) !important;
    font-weight: 400 !important;
    letter-spacing: -0.01em !important;
    line-height: 1.15 !important;
    color: var(--rs-text-primary) !important;
    margin-bottom: 0;
}
.rs-section-heading.rs-heading-row {
    text-align: left;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
}
.rs-kicker {
    font-family: var(--rs-font-sans) !important;
    font-size: 0.68rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    color: var(--rs-accent-gold) !important;
    margin-bottom: 0.6rem !important;
    display: block;
}

/* -- Home Section Spacing ──────────────────────────────────────────────── */
.rs-home-section {
    padding: 5rem 0;
}

/* -- Hero Slider Premium Upgrade ──────────────────────────────────────── */
.rs-editorial-hero {
    height: 92vh;
    min-height: 560px;
    max-height: 960px;
}

@media (max-width: 768px) {
    .rs-editorial-hero {
        height: 78vh;
        min-height: 420px;
    }
}
.rs-editorial-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(20,17,14,0.72) 0%,
        rgba(20,17,14,0.28) 40%,
        rgba(20,17,14,0.08) 70%,
        transparent 100%
    );
    z-index: 1;
}
.rs-editorial-copy {
    position: relative;
    z-index: 2;
    padding: 0 8%;
    max-width: 640px;
}
.rs-editorial-copy .rs-kicker {
    color: rgba(255,255,255,0.7) !important;
    margin-bottom: 0.75rem !important;
}
.rs-editorial-copy h2 {
    font-family: var(--rs-font-display) !important;
    font-size: clamp(2.5rem, 5.5vw, 5rem) !important;
    font-weight: 300 !important;
    letter-spacing: -0.02em !important;
    line-height: 1.05 !important;
    color: var(--color-bg-surface) !important;
    margin-bottom: 1.5rem !important;
    text-shadow: 0 2px 12px rgba(0,0,0,0.25);
}
.rs-editorial-copy p {
    font-family: var(--rs-font-sans) !important;
    font-size: 0.95rem !important;
    color: rgba(255,255,255,0.78) !important;
    line-height: 1.65 !important;
    margin-bottom: 2rem !important;
    max-width: 400px;
}

/* -- Category Cards Premium Grid ───────────────────────────────────────── */
.rs-category-section {
    background-color: var(--rs-bg-parchment) !important;
}
.rs-category-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

@media (max-width: 991px) {
    .rs-category-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 575px) {
    .rs-category-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.6rem;
    }
}
.rs-category-card {
    position: relative;
    display: block;
    overflow: hidden;
    text-decoration: none !important;
    background-color: #e8e4dd;
    aspect-ratio: 3 / 4;
    cursor: pointer;
}
.rs-category-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.65s cubic-bezier(0.16,1,0.3,1), filter 0.4s ease;
    display: block;
}
.rs-category-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(20,17,14,0.68) 0%, rgba(20,17,14,0.12) 50%, transparent 100%);
    transition: opacity 0.35s ease;
}
.rs-category-card:hover img {
    transform: scale(1.055);
}
.rs-category-card:hover::after {
    opacity: 1.25;
}
.rs-category-card > span {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2;
    padding: 1.5rem 1.25rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}
.rs-category-card > span > strong {
    font-family: var(--rs-font-display) !important;
    font-size: clamp(1.1rem, 2vw, 1.5rem) !important;
    font-weight: 400 !important;
    color: var(--color-bg-surface) !important;
    letter-spacing: 0.01em;
    display: block;
}
.rs-category-card > span > small {
    font-family: var(--rs-font-sans) !important;
    font-size: 0.65rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,0.72) !important;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    transition: gap 0.2s ease;
}
.rs-category-card:hover > span > small {
    gap: 0.65rem;
    color: rgba(255,255,255,0.92) !important;
}

/* -- Product Card Upgrade ────────────────────────────────────────────────── */
.rs-product-tile {
    background: transparent;
}
.rs-product-tile .card-img-wrapper {
    background-color: var(--rs-bg-secondary) !important;
    transition: transform 0.45s cubic-bezier(0.16,1,0.3,1);
    overflow: hidden;
}
.rs-product-tile:hover .card-img-wrapper {
    transform: translateY(-3px);
}
.rs-product-tile .product-card-img-primary {
    transition: transform 0.65s cubic-bezier(0.16,1,0.3,1);
}
.rs-product-tile:hover .product-card-img-primary {
    transform: scale(1.04);
}
.shop-product-info {
    padding: 0.9rem 0 0.4rem !important;
}
.shop-product-category {
    font-family: var(--rs-font-sans) !important;
    font-size: 0.6rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: var(--rs-text-muted) !important;
    margin-bottom: 0.35rem !important;
}
.shop-product-name {
    font-family: var(--rs-font-sans) !important;
    font-size: 0.875rem !important;
    font-weight: 450 !important;
    line-height: 1.3 !important;
    color: var(--rs-text-primary) !important;
    margin-bottom: 0.5rem !important;
}
.shop-product-name a {
    color: var(--rs-text-primary) !important;
    text-decoration: none !important;
    transition: color 0.2s ease;
}
.shop-product-name a:hover {
    color: var(--rs-accent-gold) !important;
}
.shop-product-price .fw-medium {
    font-family: var(--rs-font-sans) !important;
    font-size: 0.88rem !important;
    font-weight: 550 !important;
    color: var(--rs-text-primary) !important;
}
.shop-product-price del {
    font-size: 0.8rem !important;
    color: var(--rs-text-muted) !important;
}
.rs-card-mobile-cta {
    display: none;
    margin-top: 0.75rem;
}

@media (max-width: 991px) {
    .rs-card-mobile-cta {
        display: block;
    }
    .rs-card-mobile-cta .btn {
        font-family: var(--rs-font-sans) !important;
        font-size: 0.72rem !important;
        font-weight: 600 !important;
        letter-spacing: 0.1em !important;
        text-transform: uppercase !important;
        padding: 0.55rem 1rem !important;
        border-radius: 2px !important;
        border: 1px solid var(--rs-border-light) !important;
        background: transparent !important;
        color: var(--rs-text-primary) !important;
        width: 100%;
        transition: background 0.2s ease, color 0.2s ease;
    }
    .rs-card-mobile-cta .btn:hover {
        background: var(--rs-ink) !important;
        color: var(--color-bg-surface) !important;
        border-color: var(--rs-ink) !important;
    }
}

/* -- Text Link (View All) ─────────────────────────────────────────────────── */
.rs-text-link {
    font-family: var(--rs-font-sans) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: var(--rs-text-primary) !important;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: color 0.2s ease, gap 0.2s ease;
    white-space: nowrap;
    align-self: flex-end;
    padding-bottom: 0.4rem;
    border-bottom: 1px solid var(--rs-border-light);
}
.rs-text-link:hover {
    color: var(--rs-accent-gold) !important;
    gap: 0.75rem;
    border-bottom-color: var(--rs-accent-gold);
}

/* -- Service/Benefits Bar ─────────────────────────────────────────────────── */
.rs-service-section {
    background-color: var(--rs-bg-parchment) !important;
    border-top: 1px solid var(--rs-border-warm);
    border-bottom: 1px solid var(--rs-border-warm);
    padding: 5rem 0 !important;
}
.rs-service-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem;
    text-align: center;
}
.rs-service-card {
    padding: 2.5rem 2rem;
    border-radius: 12px;
    background: transparent;
    transition: background-color 0.4s cubic-bezier(0.16, 1, 0.3, 1), transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    cursor: default;
}
.rs-service-card:hover {
    background-color: rgba(24, 21, 18, 0.02);
    transform: translateY(-5px);
    box-shadow: 0 12px 30px rgba(24, 21, 18, 0.04);
}
.rs-service-icon-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background-color: rgba(184, 135, 63, 0.06);
    margin-bottom: 1.5rem;
    transition: background-color 0.4s cubic-bezier(0.16, 1, 0.3, 1), transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.rs-service-card:hover .rs-service-icon-wrapper {
    background-color: rgba(184, 135, 63, 0.12);
    transform: scale(1.08) translateY(-2px);
}
.rs-service-card i {
    font-size: 1.6rem !important;
    color: var(--rs-accent-gold) !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.4s ease;
}
.rs-service-card:hover i {
    color: var(--color-accent-hover) !important;
}
.rs-service-title {
    font-family: var(--rs-font-sans) !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: var(--rs-text-primary) !important;
    margin-bottom: 0.75rem !important;
}
.rs-service-desc {
    font-family: var(--rs-font-sans) !important;
    font-size: 0.8rem !important;
    color: var(--rs-text-secondary) !important;
    line-height: 1.7 !important;
    margin-bottom: 0 !important;
}

@media (max-width: 991px) {
    .rs-service-grid {
        gap: 1.5rem;
    }
    .rs-service-card {
        padding: 2rem 1.5rem;
    }
}

@media (max-width: 767px) {
    .rs-service-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
}

/* -- Brand Story / Editorial Split Section ────────────────────────────────── */
.rs-editorial-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    background: var(--rs-ink);
    color: var(--color-bg-surface) !important;
    font-family: var(--rs-font-sans) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    padding: 0.85rem 1.75rem;
    transition: background 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease;
}
.rs-editorial-cta:hover {
    background: var(--rs-accent-gold) !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(161,98,7,0.25);
}

.rs-testimonial-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

@media (max-width: 767px) {
    .rs-testimonial-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }
}
.rs-testimonial-grid article {
    padding: 2rem 1.75rem !important;
    border: none !important;
    border-left: 2px solid var(--rs-border-warm) !important;
    background: transparent !important;
    position: relative;
    transition: border-color 0.25s ease;
}
.rs-testimonial-grid article:hover {
    border-left-color: var(--rs-accent-gold) !important;
}
.rs-testimonial-grid article::before {
    content: '\201C';
    font-family: var(--rs-font-display);
    font-size: 4rem;
    line-height: 1;
    color: var(--rs-accent-gold);
    opacity: 0.4;
    display: block;
    margin-bottom: 0.5rem;
    margin-left: -0.15rem;
}
.rs-stars {
    display: flex;
    gap: 2px;
    margin-bottom: 0.75rem !important;
}
.rs-stars::before {
    content: '★★★★★';
    color: var(--rs-accent-gold) !important;
    font-size: 0.85rem !important;
    letter-spacing: 0.1em;
}
.rs-testimonial-grid p {
    font-family: var(--rs-font-display) !important;
    font-size: 0.95rem !important;
    line-height: 1.8 !important;
    color: var(--rs-text-secondary) !important;
    font-style: italic;
    margin-bottom: 1.25rem !important;
}
.rs-testimonial-grid strong {
    font-family: var(--rs-font-sans) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--rs-text-primary) !important;
    display: block;
    margin-bottom: 0.2rem;
}
.rs-testimonial-grid small {
    font-family: var(--rs-font-sans) !important;
    font-size: 0.7rem !important;
    color: var(--rs-text-muted) !important;
}

/* -- Newsletter Band Upgrade ─────────────────────────────────────────────── */
.rs-newsletter-band {
    background: var(--color-bg-dark) !important;
    padding: 6.5rem 0 !important;
    position: relative;
    overflow: hidden;
}
.rs-newsletter-band::before {
    content: '';
    position: absolute;
    top: -30%;
    left: -10%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(184, 135, 63, 0.08) 0%, transparent 70%);
    pointer-events: none;
}
.rs-newsletter-band::after {
    content: '';
    position: absolute;
    bottom: -30%;
    right: -10%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(184, 135, 63, 0.08) 0%, transparent 70%);
    pointer-events: none;
}
.rs-newsletter-card {
    position: relative;
    z-index: 2;
    max-width: 720px;
    margin: 0 auto;
    padding: 3.5rem 2.5rem;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.07);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.4);
}
.rs-newsletter-band .rs-kicker {
    color: var(--rs-accent-gold) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    margin-bottom: 1.25rem !important;
}
.rs-newsletter-band h2 {
    font-family: var(--rs-font-display) !important;
    font-size: clamp(2rem, 4vw, 3.25rem) !important;
    font-weight: 400 !important;
    color: var(--color-bg-surface) !important;
    margin-bottom: 1rem !important;
    letter-spacing: -0.01em;
}
.rs-newsletter-band p {
    font-family: var(--rs-font-sans) !important;
    font-size: 0.88rem !important;
    color: rgba(255, 255, 255, 0.55) !important;
    max-width: 480px;
    margin: 0 auto 2.25rem !important;
    line-height: 1.7;
}
.rs-newsletter-form {
    display: flex;
    max-width: 480px;
    margin: 0 auto;
    gap: 0;
    border-radius: 30px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.15);
    background: rgba(255, 255, 255, 0.03);
    transition: border-color 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.rs-newsletter-form:focus-within {
    border-color: rgba(184, 135, 63, 0.6);
    box-shadow: 0 0 0 4px rgba(184, 135, 63, 0.15);
}
.rs-newsletter-form input {
    flex: 1;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0.95rem 1.5rem !important;
    color: var(--color-bg-surface) !important;
    font-family: var(--rs-font-sans) !important;
    font-size: 0.85rem !important;
    outline: none !important;
}
.rs-newsletter-form input::placeholder {
    color: rgba(255, 255, 255, 0.38) !important;
}
.rs-newsletter-form button {
    background: var(--rs-accent-gold) !important;
    color: var(--color-bg-surface) !important;
    border: none !important;
    padding: 0.95rem 1.75rem !important;
    font-family: var(--rs-font-sans) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    transition: background-color 0.3s ease, transform 0.3s ease;
    white-space: nowrap;
}
.rs-newsletter-form button i {
    transition: transform 0.3s ease;
}
.rs-newsletter-form button:hover {
    background-color: var(--color-accent-hover) !important;
}
.rs-newsletter-form button:hover i {
    transform: translateX(4px);
}

@media (max-width: 575px) {
    .rs-newsletter-card {
        padding: 2.5rem 1.5rem;
    }
    .rs-newsletter-form {
        flex-direction: column;
        border-radius: 12px;
    }
    .rs-newsletter-form input {
        border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
        text-align: center;
    }
    .rs-newsletter-form button {
        justify-content: center;
        border-radius: 0;
        padding: 0.95rem 1.5rem !important;
    }
}

/* -- Trust Badges Bar ────────────────────────────────────────────────────── */

/* -- New Arrivals Section Background ─────────────────────────────────────── */
.rs-new-arrivals-section {
    background-color: var(--rs-bg-parchment) !important;
}

/* -- Scroll-Reveal Animation Enhancement ─────────────────────────────────── */
.reveal-up {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.65s cubic-bezier(0.16,1,0.3,1), transform 0.65s cubic-bezier(0.16,1,0.3,1);
    will-change: opacity, transform;
}
.reveal-up.active {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    .reveal-up {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

/* -- Wishlist Page ───────────────────────────────────────────────────────── */
.rs-wishlist-page {
    min-height: 60vh;
    padding: 3rem 0 5rem;
    background-color: var(--rs-bg-warm);
}
.rs-wishlist-page-header {
    padding: 3rem 0 2rem;
    border-bottom: 1px solid var(--rs-border-warm);
    margin-bottom: 3rem;
}
.rs-wishlist-page-header h1 {
    font-family: var(--rs-font-display) !important;
    font-size: clamp(2rem, 4vw, 3.5rem) !important;
    font-weight: 400 !important;
    letter-spacing: -0.01em;
    color: var(--rs-text-primary);
    margin-bottom: 0.25rem;
}

/* -- Page Breadcrumb ─────────────────────────────────────────────────────── */
.rs-breadcrumb {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--rs-font-sans);
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--rs-text-muted);
    margin-bottom: 0.75rem;
}
.rs-breadcrumb a {
    color: var(--rs-text-muted) !important;
    text-decoration: none !important;
    transition: color 0.2s ease;
}
.rs-breadcrumb a:hover {
    color: var(--rs-text-primary) !important;
}
.rs-breadcrumb-sep {
    color: var(--rs-border-light);
    font-size: 0.6rem;
}

/* -- Error / 404 Page ────────────────────────────────────────────────────── */
.rs-error-page {
    min-height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 4rem 1.5rem;
    background-color: var(--rs-bg-warm);
}
.rs-error-number {
    font-family: var(--rs-font-display) !important;
    font-size: clamp(6rem, 18vw, 14rem) !important;
    font-weight: 300 !important;
    line-height: 0.85 !important;
    color: var(--rs-border-light) !important;
    letter-spacing: -0.04em;
    display: block;
    margin-bottom: 1.5rem;
    user-select: none;
}
.rs-error-title {
    font-family: var(--rs-font-display) !important;
    font-size: clamp(1.5rem, 3vw, 2.25rem) !important;
    font-weight: 400 !important;
    color: var(--rs-text-primary) !important;
    margin-bottom: 0.75rem;
}
.rs-error-text {
    font-family: var(--rs-font-sans) !important;
    font-size: 0.9rem !important;
    color: var(--rs-text-secondary) !important;
    max-width: 380px;
    margin: 0 auto 2.5rem;
    line-height: 1.7;
}

/* -- Merch Section Background ────────────────────────────────────────────── */
.rs-merch-section {
    background-color: var(--color-bg-surface) !important;
}

/* -- Stagger reveal delay utilities ─────────────────────────────────────── */

/* -- Recent Search Chips ────────────────────────────────────────────────── */
.rs-search-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--rs-surface-soft) !important;
    color: var(--rs-ink) !important;
    border: 1px solid var(--rs-border) !important;
    border-radius: 50px !important;
    padding: 0.35rem 0.85rem !important;
    font-family: var(--bs-font-sans-serif) !important;
    font-size: 0.8rem !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.01em !important;
    cursor: pointer !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    user-select: none !important;
    margin-bottom: 0.25rem !important;
}
.rs-search-chip:hover {
    background-color: var(--rs-ink) !important;
    color: var(--color-bg-surface) !important;
    border-color: var(--rs-ink) !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(24, 21, 18, 0.08) !important;
}
.rs-search-chip:active {
    transform: translateY(0);
}
.rs-search-chip i {
    font-size: 0.75rem !important;
    color: var(--rs-muted) !important;
    transition: color 0.2s ease !important;
    margin-right: 0.25rem;
}
.rs-search-chip:hover i {
    color: rgba(255, 255, 255, 0.7) !important;
}
#clearRecentSearchesBtn {
    font-family: var(--bs-font-sans-serif) !important;
    font-size: 0.725rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: var(--rs-muted) !important;
    transition: color 0.2s ease !important;
}
#clearRecentSearchesBtn:hover {
    color: var(--rs-accent) !important;
}

/* ==========================================================================
   Premium Image & Slider Preloaders
   ========================================================================== */

/* Shimmer skeleton background effect */
.rs-image-shimmer {
    background: linear-gradient(
        90deg,
        rgba(244, 243, 241, 0.6) 25%,
        rgba(238, 236, 232, 0.8) 37%,
        rgba(244, 243, 241, 0.6) 63%
    );
    background-size: 400% 100%;
    animation: rs-shimmer 1.4s ease infinite;
}

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

/* Base image loader styling */
.rs-image-loader {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 32px;
    height: 32px;
    border: 2px solid rgba(197, 168, 128, 0.1);
    border-top-color: var(--rs-accent-gold, #c5a880);
    border-radius: 50%;
    animation: rs-spin 0.8s cubic-bezier(0.6, 0.2, 0.2, 0.8) infinite;
    z-index: 2;
    transition: opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1), visibility 0.3s ease;
}

/* Small variant for small thumbnails */
.rs-image-loader-sm {
    width: 18px;
    height: 18px;
    border-width: 1.5px;
}

/* Slider slide loader spinner */
.rs-slider-loader {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 46px;
    height: 46px;
    border: 3px solid rgba(197, 168, 128, 0.1);
    border-top-color: var(--rs-accent-gold, #c5a880);
    border-radius: 50%;
    animation: rs-spin 0.8s cubic-bezier(0.6, 0.2, 0.2, 0.8) infinite;
    z-index: 5;
    transition: opacity 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), visibility 0.4s ease;
}

.rs-image-loader.is-hidden,
.rs-slider-loader.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

/* Lazy image animation and fade-in states */
.rs-image-lazy {
    opacity: 0;
    transition: opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.rs-image-lazy.is-loaded {
    opacity: 1;
}

/* Hero Slider fade-in effect on load */
.rs-slide-clean {
    background-color: var(--rs-bg-secondary);
    transition: background-image 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

@keyframes rs-spin {
    0% { transform: translate(-50%, -50%) rotate(0deg); }
    100% { transform: translate(-50%, -50%) rotate(360deg); }
}

/* Product Card Ratings */
.rs-card-rating-container {
    font-size: 0.72rem;
    margin-top: 0.25rem;
}

.rs-stars-gold {
    color: #ffc107; /* Bright golden yellow matching standard rating designs */
}

.rs-stars-gold .bi {
    margin-right: 1px;
}

.rs-card-reviews-count {
    color: var(--rs-muted, #6e655c);
    font-weight: 500;
}

.navbar-toggler {
    padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x) var(--bs-navbar-toggler-padding-y) 0 !important;
}