/* STAG client-side dark theme
   Applies only while body has .dark-theme */

body.dark-theme {
    background: #09090b;
    color: #f7f7f8;
}

body.dark-theme .header,
body.dark-theme .navbar,
body.dark-theme .footer,
body.dark-theme .section-bg,
body.dark-theme .bg-white,
body.dark-theme .all-products-section,
body.dark-theme .popular-product,
body.dark-theme .product-section,
body.dark-theme .similar-products {
    background-color: #09090b !important;
    color: #f7f7f8 !important;
}

body.dark-theme a { color: inherit; }

body.dark-theme input,
body.dark-theme select,
body.dark-theme textarea,
body.dark-theme .form-control,
body.dark-theme .form--control {
    background: #161619 !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.18) !important;
}

/* =========================================================
   PRODUCT GRID: equal columns and aligned cards
   ========================================================= */
body.dark-theme .atlas-products-grid > [class*="col-"] {
    display: flex;
}

body.dark-theme .atlas-product-card {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: linear-gradient(145deg, #18181b, #111113) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    border-radius: 14px !important;
    box-shadow:
        0 12px 30px rgba(0,0,0,.58),
        0 0 0 1px rgba(255,255,255,.05),
        inset 0 1px 0 rgba(255,255,255,.10) !important;
    transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}

body.dark-theme .atlas-product-card::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: inherit;
    background: linear-gradient(115deg, transparent 25%, rgba(255,255,255,.16) 48%, transparent 70%);
    transform: translateX(-140%);
    transition: transform .65s ease;
}

body.dark-theme .atlas-product-card:hover {
    transform: translateY(-5px);
    border-color: rgba(255,255,255,.70) !important;
    box-shadow:
        0 18px 38px rgba(0,0,0,.72),
        0 0 22px rgba(255,255,255,.17),
        inset 0 1px 0 rgba(255,255,255,.22) !important;
}

body.dark-theme .atlas-product-card:hover::after {
    transform: translateX(140%);
}

body.dark-theme .atlas-product-card__media {
    flex: 0 0 auto;
    background: #f4f4f4 !important;
    overflow: hidden;
}

body.dark-theme .atlas-product-card__image-link {
    display: block;
    width: 100%;
}

body.dark-theme .atlas-product-card__image {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1.22;
    object-fit: cover;
}

body.dark-theme .atlas-product-card__content {
    display: flex !important;
    flex-direction: column;
    flex: 1;
    min-height: 172px;
    padding: 18px 16px 16px !important;
    background: transparent !important;
}

body.dark-theme .atlas-product-card__top {
    display: flex;
    flex-direction: column;
    flex: 1;
}

body.dark-theme .atlas-product-card__title {
    min-height: 44px;
    margin: 0 0 10px !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

body.dark-theme .atlas-product-card__title a,
body.dark-theme .atlas-product-card__title a:visited {
    color: #ffffff !important;
    opacity: 1 !important;
    text-shadow: 0 1px 2px rgba(0,0,0,.7);
}

body.dark-theme .atlas-product-card__title a:hover {
    color: #ffffff !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}

body.dark-theme .atlas-product-card__price,
body.dark-theme .atlas-product-card__price span,
body.dark-theme .atlas-product-card__price strong {
    color: #ffffff !important;
    opacity: 1 !important;
    font-weight: 800 !important;
}

body.dark-theme .atlas-product-card__price del {
    color: #a9a9b0 !important;
}

body.dark-theme .atlas-product-card__category {
    margin-top: 8px;
    color: #bdbdc5 !important;
    opacity: 1 !important;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .45px;
}

body.dark-theme .atlas-product-card__colors {
    margin-top: auto;
    padding-top: 10px;
}

body.dark-theme .atlas-product-card__quick-btn,
body.dark-theme .atlas-product-card__quick-btn.btn,
body.dark-theme .atlas-product-card .btn {
    background: rgba(255,255,255,.94) !important;
    color: #111 !important;
    border: 1px solid rgba(255,255,255,.95) !important;
    box-shadow: 0 7px 20px rgba(0,0,0,.24) !important;
}

body.dark-theme .atlas-product-card__quick-btn:hover,
body.dark-theme .atlas-product-card .btn:hover {
    background: #fff !important;
    color: #000 !important;
    box-shadow: 0 0 24px rgba(255,255,255,.38) !important;
}

/* Generic product/category card boxes */
body.dark-theme .stag-cat-card,
body.dark-theme .category-card,
body.dark-theme .product-card,
body.dark-theme .custom--card,
body.dark-theme .card {
    background: linear-gradient(145deg, #19191c, #111113) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.20) !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.55), 0 0 14px rgba(255,255,255,.07) !important;
}

body.dark-theme .stag-cat-card:hover,
body.dark-theme .category-card:hover,
body.dark-theme .product-card:hover {
    border-color: rgba(255,255,255,.65) !important;
    box-shadow: 0 16px 34px rgba(0,0,0,.65), 0 0 24px rgba(255,255,255,.16) !important;
}

body.dark-theme .stag-cat-card h1,
body.dark-theme .stag-cat-card h2,
body.dark-theme .stag-cat-card h3,
body.dark-theme .stag-cat-card h4,
body.dark-theme .stag-cat-card h5,
body.dark-theme .stag-cat-card h6,
body.dark-theme .stag-cat-card p,
body.dark-theme .stag-cat-card a {
    color: #fff !important;
    opacity: 1 !important;
}

/* =========================================================
   CART SIDEBAR: monochrome glass design
   ========================================================= */
body.dark-theme .cart__sidebar {
    width: min(430px, 100vw) !important;
    max-width: 100vw;
    background: rgba(13,13,15,.97) !important;
    color: #fff !important;
    border-left: 1px solid rgba(255,255,255,.20) !important;
    box-shadow: -20px 0 55px rgba(0,0,0,.72), -1px 0 0 rgba(255,255,255,.08) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

body.dark-theme .cart__sidebar .cart__header {
    min-height: 86px;
    padding: 18px 22px !important;
    background: linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.035)) !important;
    color: #fff !important;
    border-bottom: 1px solid rgba(255,255,255,.18) !important;
}

body.dark-theme .cart__sidebar .cart__header .title,
body.dark-theme .cart__sidebar .cartItemsCount,
body.dark-theme .cart__sidebar .cart__page__link,
body.dark-theme .cart__sidebar .sidebar-close-btn {
    color: #fff !important;
}

body.dark-theme .cart__sidebar .cart__page__link {
    text-decoration-color: rgba(255,255,255,.65) !important;
}

body.dark-theme .cart__sidebar .cart__body {
    background: #0d0d0f !important;
    color: #fff !important;
    padding: 18px !important;
}

body.dark-theme .cart__sidebar .cart__item {
    background: #19191c !important;
    border: 1px solid rgba(255,255,255,.17) !important;
    border-radius: 14px !important;
    padding: 12px !important;
    margin-bottom: 14px;
    box-shadow: 0 8px 22px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.06) !important;
}

body.dark-theme .cart__sidebar .cart__item__title,
body.dark-theme .cart__sidebar .cart__item__title a,
body.dark-theme .cart__sidebar .cart__item__price,
body.dark-theme .cart__sidebar .product-short-info {
    color: #fff !important;
    opacity: 1 !important;
}

body.dark-theme .cart__sidebar .product-short-info {
    color: #bdbdc5 !important;
}

body.dark-theme .cart__sidebar .cart__item__img {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
}

body.dark-theme .cart__sidebar .cart__item__remove {
    background: rgba(255,255,255,.10) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.16) !important;
}

body.dark-theme .cart__sidebar .product-qty,
body.dark-theme .cart__sidebar .product-qty__value,
body.dark-theme .cart__sidebar .product-qty__btn {
    background: #111113 !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.20) !important;
}

body.dark-theme .cart__sidebar .cart-bottom {
    background: #111113 !important;
    color: #fff !important;
    border-top: 1px solid rgba(255,255,255,.18) !important;
    box-shadow: 0 -14px 30px rgba(0,0,0,.45) !important;
}

body.dark-theme .cart__sidebar .cart__total__area,
body.dark-theme .cart__sidebar .cart__discount__area {
    background: transparent !important;
    color: #fff !important;
}

body.dark-theme .cart__sidebar .subtotal-title,
body.dark-theme .cart__sidebar .subtotal-price,
body.dark-theme .cart__sidebar .payablePrice,
body.dark-theme .cart__sidebar .discount-title,
body.dark-theme .cart__sidebar .discount-price {
    color: #fff !important;
}

body.dark-theme .cart__sidebar .cart-bottom .btn,
body.dark-theme .cart__sidebar .empty-cart .btn,
body.dark-theme .cart__sidebar a.btn {
    background: #fff !important;
    color: #09090b !important;
    border: 1px solid #fff !important;
    font-weight: 800 !important;
    box-shadow: 0 0 0 rgba(255,255,255,0) !important;
}

body.dark-theme .cart__sidebar .cart-bottom .btn:hover,
body.dark-theme .cart__sidebar .empty-cart .btn:hover,
body.dark-theme .cart__sidebar a.btn:hover {
    background: #fff !important;
    color: #000 !important;
    box-shadow: 0 0 26px rgba(255,255,255,.35) !important;
}

body.dark-theme .cart__sidebar .empty-cart,
body.dark-theme .cart__sidebar .empty-message,
body.dark-theme .cart__sidebar .empty-cart-message,
body.dark-theme .cart__sidebar .text-center {
    color: #e7e7ea !important;
}

body.dark-theme .cart__sidebar .empty-cart img,
body.dark-theme .cart__sidebar .empty-message img {
    opacity: .72;
    filter: grayscale(1) brightness(1.8);
}

/* Remove old blue/cyan accents inside the cart */
body.dark-theme .cart__sidebar * {
    --bs-primary: #fff;
}
body.dark-theme .cart__sidebar .text--base,
body.dark-theme .cart__sidebar .text-primary,
body.dark-theme .cart__sidebar [class*="text--base"] {
    color: #fff !important;
}

@media (max-width: 767px) {
    body.dark-theme .atlas-products-grid {
        --bs-gutter-x: 12px;
        --bs-gutter-y: 16px;
    }

    body.dark-theme .atlas-product-card {
        border-radius: 11px !important;
    }

    body.dark-theme .atlas-product-card__content {
        min-height: 150px;
        padding: 13px 11px !important;
    }

    body.dark-theme .atlas-product-card__title {
        min-height: 38px;
        font-size: 12px !important;
        line-height: 1.4 !important;
    }

    body.dark-theme .atlas-product-card__price {
        font-size: 13px !important;
    }

    body.dark-theme .atlas-product-card__category {
        font-size: 9px !important;
    }

    body.dark-theme .cart__sidebar {
        width: 100vw !important;
    }
}

/* =========================================================
   CATEGORY SECTION + PRODUCT DETAILS — COMPLETE DARK THEME
   ========================================================= */
body.dark-theme .stag-category-section,
body.dark-theme .stag-pdp,
body.dark-theme .stag-pdp-row,
body.dark-theme .stag-pdp-info-col,
body.dark-theme .stag-pdp-images-col,
body.dark-theme .stag-pdp__tabs,
body.dark-theme .tabs-box,
body.dark-theme .tabs-content,
body.dark-theme .similar-products {
    background: #09090b !important;
    color: #f7f7f8 !important;
}

body.dark-theme .stag-category-section__title,
body.dark-theme .stag-category-section__viewall,
body.dark-theme .stag-cat-card__name,
body.dark-theme .stag-cat-card__sub,
body.dark-theme .nike-pdp-title,
body.dark-theme .nike-pdp-subtitle,
body.dark-theme .nike-pdp-price,
body.dark-theme .nike-pdp-tax-notice,
body.dark-theme .nike-size-header,
body.dark-theme .nike-size-guide,
body.dark-theme .stag-pincode-title,
body.dark-theme .stag-pincode-sub,
body.dark-theme .section-title,
body.dark-theme .stag-accordion-body,
body.dark-theme .nike-description,
body.dark-theme .tab,
body.dark-theme .tab p,
body.dark-theme .tab li,
body.dark-theme .tab span,
body.dark-theme .tab strong {
    color: #f7f7f8 !important;
    opacity: 1 !important;
}

body.dark-theme .stag-category-section__viewall,
body.dark-theme .nike-size-guide {
    border-color: rgba(255,255,255,.72) !important;
}

body.dark-theme .stag-cat-grid {
    align-items: stretch;
}

body.dark-theme .stag-cat-card {
    height: 100%;
    overflow: hidden;
    border-radius: 14px !important;
    background: linear-gradient(145deg, #19191c, #111113) !important;
    border: 1px solid rgba(255,255,255,.24) !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.62), 0 0 18px rgba(255,255,255,.08) !important;
}

body.dark-theme .stag-cat-card__body {
    background: linear-gradient(145deg, #19191c, #111113) !important;
    border-top: 1px solid rgba(255,255,255,.12) !important;
}

body.dark-theme .stag-cat-card__name {
    color: #fff !important;
    font-weight: 800 !important;
    text-shadow: 0 1px 2px rgba(0,0,0,.85);
}

body.dark-theme .stag-cat-card__sub {
    color: #c9c9cf !important;
}

body.dark-theme .stag-cat-card__btn {
    background: rgba(255,255,255,.95) !important;
    color: #09090b !important;
    border: 1px solid #fff !important;
    box-shadow: 0 6px 18px rgba(0,0,0,.28) !important;
}

body.dark-theme .stag-cat-card__btn:hover {
    background: #fff !important;
    color: #000 !important;
    box-shadow: 0 0 22px rgba(255,255,255,.38) !important;
}

/* Product gallery and information panel */
body.dark-theme .stag-pdp-images-col,
body.dark-theme .stag-pdp-info-col {
    background: linear-gradient(145deg, #161619, #101012) !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    box-shadow: 0 14px 38px rgba(0,0,0,.56), inset 0 1px 0 rgba(255,255,255,.06) !important;
}

body.dark-theme .stag-pdp-images-col {
    border-radius: 16px 0 0 16px !important;
    overflow: hidden;
}

body.dark-theme .stag-pdp-info-col {
    border-radius: 0 16px 16px 0 !important;
    padding: 28px !important;
}

body.dark-theme .product-details-slider__slide,
body.dark-theme .product-details-slider__slide img {
    background: #f5f5f5 !important;
}

body.dark-theme .stag-pdp-rating,
body.dark-theme .showStockQty,
body.dark-theme .sku-text {
    color: #d5d5da !important;
}

body.dark-theme .nike-pdp-price {
    color: #fff !important;
    font-weight: 800 !important;
}

body.dark-theme .nike-pdp-price del {
    color: #a9a9b0 !important;
}

/* Size and quantity controls */
body.dark-theme .nike-size-box,
body.dark-theme .qtyValue {
    background: #17171a !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.24) !important;
}

body.dark-theme .sizeRadio:checked + .nike-size-box,
body.dark-theme .nike-size-box:hover {
    background: #fff !important;
    color: #09090b !important;
    border-color: #fff !important;
    box-shadow: 0 0 18px rgba(255,255,255,.24) !important;
}

body.dark-theme .nike-btn-black,
body.dark-theme .nike-btn-buy-now,
body.dark-theme .nike-btn-wish {
    border: 1px solid rgba(255,255,255,.78) !important;
    box-shadow: 0 8px 22px rgba(0,0,0,.34) !important;
}

body.dark-theme .nike-btn-black {
    background: #f7f7f8 !important;
    color: #09090b !important;
}

body.dark-theme .nike-btn-buy-now,
body.dark-theme .nike-btn-wish {
    background: #151518 !important;
    color: #fff !important;
}

body.dark-theme .nike-btn-black:hover,
body.dark-theme .nike-btn-buy-now:hover,
body.dark-theme .nike-btn-wish:hover {
    background: #fff !important;
    color: #000 !important;
    box-shadow: 0 0 24px rgba(255,255,255,.34) !important;
}

/* Pincode/delivery panel */
body.dark-theme .stag-pincode-box {
    background: rgba(255,255,255,.055) !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    border-radius: 13px !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.055) !important;
}

body.dark-theme .stag-pincode-input {
    background: #0f0f11 !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.22) !important;
}

body.dark-theme .stag-pincode-input::placeholder {
    color: #9999a2 !important;
}

body.dark-theme .stag-pincode-btn {
    background: #fff !important;
    color: #09090b !important;
    border: 1px solid #fff !important;
}

/* Product details accordions */
body.dark-theme .stag-accordion-item,
body.dark-theme .accordion-item {
    background: transparent !important;
    border-color: rgba(255,255,255,.16) !important;
}

body.dark-theme .stag-accordion-btn,
body.dark-theme .accordion-button,
body.dark-theme .accordion-button:not(.collapsed) {
    background: #151518 !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.16) !important;
    box-shadow: none !important;
}

body.dark-theme .accordion-button::after {
    filter: invert(1) grayscale(1) brightness(2);
}

body.dark-theme .stag-accordion-body,
body.dark-theme .accordion-body {
    background: #101012 !important;
    color: #d7d7dc !important;
    border-left: 1px solid rgba(255,255,255,.11) !important;
    border-right: 1px solid rgba(255,255,255,.11) !important;
}

body.dark-theme .stag-accordion-body *,
body.dark-theme .nike-description * {
    color: #d7d7dc !important;
    background-color: transparent !important;
}

/* Tabs and modal */
body.dark-theme .tabs-box,
body.dark-theme .modal-content {
    background: #141417 !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    box-shadow: 0 18px 45px rgba(0,0,0,.64) !important;
}

body.dark-theme .tab-btn {
    color: #bdbdc5 !important;
    border-color: rgba(255,255,255,.14) !important;
}

body.dark-theme .tab-btn.active-btn,
body.dark-theme .tab-btn:hover {
    color: #fff !important;
    border-color: #fff !important;
}

body.dark-theme .modal-header,
body.dark-theme .modal-footer {
    border-color: rgba(255,255,255,.14) !important;
}

body.dark-theme .modal-title,
body.dark-theme .close-btn {
    color: #fff !important;
}

@media (max-width: 991.98px) {
    body.dark-theme .stag-pdp-images-col {
        border-radius: 14px 14px 0 0 !important;
    }
    body.dark-theme .stag-pdp-info-col {
        border-radius: 0 0 14px 14px !important;
        padding: 20px !important;
    }
}

/* =========================================================
   GLOBAL CLIENT DARK THEME COMPLETION
   Header, all sections, checkout, orders, reviews and footer
   ========================================================= */
body.dark-theme,
body.dark-theme main,
body.dark-theme .page-wrapper,
body.dark-theme .site-wrapper,
body.dark-theme .section,
body.dark-theme section,
body.dark-theme .dashboard,
body.dark-theme .checkout,
body.dark-theme .cart,
body.dark-theme .my-120,
body.dark-theme .py-60,
body.dark-theme .pt-80,
body.dark-theme .pb-60 {
    background-color: #09090b !important;
    color: #f5f5f6 !important;
}

/* Remove accidental white strips/gaps between sections */
body.dark-theme section + section,
body.dark-theme .section + .section,
body.dark-theme .similar-products,
body.dark-theme .product-reviews,
body.dark-theme .review-section,
body.dark-theme .checkout-section,
body.dark-theme .order-section {
    border-top: 1px solid rgba(255,255,255,.08) !important;
    margin-top: 0 !important;
}

body.dark-theme .container,
body.dark-theme .large-container,
body.dark-theme .premium-container,
body.dark-theme .row,
body.dark-theme [class*="col-"] {
    background-color: transparent;
}

/* Header and navigation */
body.dark-theme .announcement-bar,
body.dark-theme .main-header,
body.dark-theme .header-style-premium,
body.dark-theme .premium-header-inner,
body.dark-theme .header-left,
body.dark-theme .header-right,
body.dark-theme .desktop-menu,
body.dark-theme .mobile-menu,
body.dark-theme .mobile-menu__wrapper,
body.dark-theme .mobile-menu__content,
body.dark-theme .internal-page-header {
    background: rgba(13,13,15,.97) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.12) !important;
    box-shadow: 0 8px 28px rgba(0,0,0,.40) !important;
}

body.dark-theme .desktop-menu a,
body.dark-theme .main-header a,
body.dark-theme .main-header button,
body.dark-theme .mobile-nav-toggler,
body.dark-theme .option-list__btn,
body.dark-theme .theme-toggle {
    color: #fff !important;
}

body.dark-theme .desktop-menu a:hover,
body.dark-theme .desktop-menu a.active,
body.dark-theme .main-header a:hover {
    color: #fff !important;
    text-shadow: 0 0 12px rgba(255,255,255,.45);
}

body.dark-theme .theme-toggle,
body.dark-theme .option-list__btn {
    background: #151518 !important;
    border: 1px solid rgba(255,255,255,.20) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
}

/* Headings and muted copy */
body.dark-theme h1,
body.dark-theme h2,
body.dark-theme h3,
body.dark-theme h4,
body.dark-theme h5,
body.dark-theme h6,
body.dark-theme .section-title,
body.dark-theme .dashboard-title,
body.dark-theme .dashboard-section-title,
body.dark-theme .card-title,
body.dark-theme .widget-title,
body.dark-theme .product-title,
body.dark-theme .product-details-title {
    color: #fff !important;
}

body.dark-theme p,
body.dark-theme .text-muted,
body.dark-theme .description,
body.dark-theme .product-description,
body.dark-theme small,
body.dark-theme .small,
body.dark-theme .label {
    color: #bfc0c7 !important;
}

/* Universal panels/cards */
body.dark-theme .card,
body.dark-theme .custom--card,
body.dark-theme .checkout-card,
body.dark-theme .order-summary,
body.dark-theme .order-confirmation,
body.dark-theme .order-details--card,
body.dark-theme .payment-card,
body.dark-theme .address-card,
body.dark-theme .shipping-card,
body.dark-theme .coupon-card,
body.dark-theme .review-card,
body.dark-theme .footer-card,
body.dark-theme .product-details-wrapper,
body.dark-theme .product-info,
body.dark-theme .product-details-content {
    background: linear-gradient(145deg,#17171a,#101012) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.48), 0 0 0 1px rgba(255,255,255,.025) !important;
}

body.dark-theme .card-header,
body.dark-theme .card-footer,
body.dark-theme .modal-header,
body.dark-theme .modal-footer {
    background: #151518 !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.12) !important;
}

body.dark-theme .card-body,
body.dark-theme .modal-body {
    background: transparent !important;
    color: #f5f5f6 !important;
}

/* Forms everywhere, including checkout */
body.dark-theme .form-group label,
body.dark-theme .form-label,
body.dark-theme label {
    color: #f1f1f3 !important;
}

body.dark-theme input,
body.dark-theme select,
body.dark-theme textarea,
body.dark-theme .form-control,
body.dark-theme .form--control,
body.dark-theme .input-group-text,
body.dark-theme .select2-selection,
body.dark-theme .nice-select {
    background: #111114 !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.20) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035) !important;
}

body.dark-theme input::placeholder,
body.dark-theme textarea::placeholder {
    color: #85858e !important;
    opacity: 1;
}

body.dark-theme input:focus,
body.dark-theme select:focus,
body.dark-theme textarea:focus,
body.dark-theme .form-control:focus,
body.dark-theme .form--control:focus {
    border-color: rgba(255,255,255,.65) !important;
    box-shadow: 0 0 0 3px rgba(255,255,255,.10) !important;
}

/* Buttons: monochrome white-glass treatment */
body.dark-theme .btn--base,
body.dark-theme .btn-primary,
body.dark-theme .btn-dark,
body.dark-theme .checkout-btn,
body.dark-theme button[type="submit"] {
    background: #fff !important;
    color: #09090b !important;
    border: 1px solid #fff !important;
    box-shadow: 0 8px 22px rgba(0,0,0,.30) !important;
}

body.dark-theme .btn--base:hover,
body.dark-theme .btn-primary:hover,
body.dark-theme .btn-dark:hover,
body.dark-theme .checkout-btn:hover,
body.dark-theme button[type="submit"]:hover {
    background: #fff !important;
    color: #000 !important;
    box-shadow: 0 0 24px rgba(255,255,255,.32) !important;
}

body.dark-theme .btn-outline--base,
body.dark-theme .btn-outline-primary,
body.dark-theme .btn-outline-dark {
    background: transparent !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.55) !important;
}

body.dark-theme .btn-outline--base:hover,
body.dark-theme .btn-outline-primary:hover,
body.dark-theme .btn-outline-dark:hover {
    background: #fff !important;
    color: #000 !important;
}

/* Checkout, cart and order pages */
body.dark-theme .checkout-wrapper,
body.dark-theme .checkout-area,
body.dark-theme .checkout-left,
body.dark-theme .checkout-right,
body.dark-theme .billing-details,
body.dark-theme .shipping-details,
body.dark-theme .order-review,
body.dark-theme .order-summary,
body.dark-theme .payment-method,
body.dark-theme .cart-table-wrapper,
body.dark-theme .cart-total,
body.dark-theme .order-confirmation-list,
body.dark-theme .order-confirmation-list-item {
    background: #141416 !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.13) !important;
}

body.dark-theme .order-confirmation-list-item .value,
body.dark-theme .order-details--card .value,
body.dark-theme .cart-total .value,
body.dark-theme .total,
body.dark-theme .total .value {
    color: #fff !important;
}

/* Tables used by cart, checkout and user orders */
body.dark-theme table,
body.dark-theme .table,
body.dark-theme .table--custom,
body.dark-theme .table--responsive {
    background: #111113 !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.13) !important;
}

body.dark-theme thead,
body.dark-theme .table thead th {
    background: #1a1a1e !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.14) !important;
}

body.dark-theme tbody,
body.dark-theme .table tbody tr,
body.dark-theme .table td,
body.dark-theme .table th {
    background: #121214 !important;
    color: #ededf0 !important;
    border-color: rgba(255,255,255,.10) !important;
}

body.dark-theme .table tbody tr:hover,
body.dark-theme .table-striped tbody tr:nth-of-type(odd) {
    background: #18181b !important;
}

/* List groups, accordions and product detail tabs */
body.dark-theme .list-group,
body.dark-theme .list-group-item,
body.dark-theme .accordion,
body.dark-theme .accordion-item,
body.dark-theme .accordion-header,
body.dark-theme .accordion-body,
body.dark-theme .accordion-button,
body.dark-theme .product-details-tab,
body.dark-theme .nav-tabs,
body.dark-theme .tab-content {
    background: #121214 !important;
    color: #f3f3f4 !important;
    border-color: rgba(255,255,255,.13) !important;
}

body.dark-theme .accordion-button:not(.collapsed),
body.dark-theme .nav-tabs .nav-link.active {
    background: #1b1b1f !important;
    color: #fff !important;
}

body.dark-theme .accordion-button::after {
    filter: invert(1);
}

/* Reviews */
body.dark-theme .reviews-area,
body.dark-theme .review-wrapper,
body.dark-theme .review-list,
body.dark-theme .review-item,
body.dark-theme .no-review,
body.dark-theme .write-review {
    background: #0f0f11 !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.13) !important;
}

/* Footer */
body.dark-theme .main-footer,
body.dark-theme .premium-footer,
body.dark-theme .widget-section,
body.dark-theme .footer-bottom,
body.dark-theme .bottom-inner,
body.dark-theme .copyright {
    background: #0d0d0f !important;
    color: #d7d7dc !important;
    border-color: rgba(255,255,255,.10) !important;
}

body.dark-theme .main-footer a,
body.dark-theme .main-footer p,
body.dark-theme .main-footer li,
body.dark-theme .main-footer .widget-content,
body.dark-theme .copyright {
    color: #bdbdc5 !important;
}

body.dark-theme .main-footer a:hover {
    color: #fff !important;
}

/* Dropdowns, pagination, badges and modals */
body.dark-theme .dropdown-menu,
body.dark-theme .modal-content,
body.dark-theme .offcanvas,
body.dark-theme .pagination .page-link {
    background: #151518 !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.15) !important;
}

body.dark-theme .dropdown-item:hover,
body.dark-theme .pagination .page-link:hover,
body.dark-theme .pagination .active .page-link {
    background: #fff !important;
    color: #000 !important;
}

/* Prevent light utility classes from breaking dark mode */
body.dark-theme .bg-light,
body.dark-theme .bg-white,
body.dark-theme .bg--white,
body.dark-theme .section-bg,
body.dark-theme [style*="background: white"],
body.dark-theme [style*="background:#fff"],
body.dark-theme [style*="background: #fff"] {
    background-color: #101012 !important;
}

body.dark-theme .text-dark,
body.dark-theme .text-black,
body.dark-theme [style*="color: black"],
body.dark-theme [style*="color:#000"] {
    color: #fff !important;
}

/* Consistent section rhythm, no bright gaps */
body.dark-theme .similar-products,
body.dark-theme .reviews-area,
body.dark-theme .widget-section,
body.dark-theme .checkout-area,
body.dark-theme .cart,
body.dark-theme .order-confirmation {
    padding-top: 52px !important;
    padding-bottom: 52px !important;
}

@media (max-width: 991px) {
    body.dark-theme .main-header,
    body.dark-theme .premium-header-inner {
        background: #0d0d0f !important;
    }

    body.dark-theme .similar-products,
    body.dark-theme .reviews-area,
    body.dark-theme .widget-section,
    body.dark-theme .checkout-area,
    body.dark-theme .cart,
    body.dark-theme .order-confirmation {
        padding-top: 34px !important;
        padding-bottom: 34px !important;
    }
}

/* =========================================================
   CHECKOUT + CUSTOMER ACCOUNT + NAVBAR FINAL POLISH
   Login/register pages are intentionally excluded.
   ========================================================= */

/* Keep authentication pages in their original light design */
body.dark-theme:has(.login-area),
body.dark-theme:has(.account-section.login),
body.dark-theme:has(.user-login),
body.dark-theme:has(.auth-page),
body.dark-theme:has(.login-form) {
    background: #ffffff !important;
    color: #111111 !important;
}
body.dark-theme:has(.login-area) .login-area,
body.dark-theme:has(.login-area) .card,
body.dark-theme:has(.login-area) .form-control,
body.dark-theme:has(.login-area) .form--control,
body.dark-theme:has(.login-form) .login-form,
body.dark-theme:has(.login-form) .card {
    background: #ffffff !important;
    color: #111111 !important;
    border-color: #e5e7eb !important;
    box-shadow: none !important;
}
body.dark-theme:has(.login-area) input,
body.dark-theme:has(.login-area) select,
body.dark-theme:has(.login-area) textarea,
body.dark-theme:has(.login-form) input {
    background: #ffffff !important;
    color: #111111 !important;
    border-color: #d1d5db !important;
}

/* Checkout page */
body.dark-theme .checkout-area,
body.dark-theme .checkout-section,
body.dark-theme .checkout-wrapper,
body.dark-theme .checkout-form,
body.dark-theme .checkout-card,
body.dark-theme .order-summary,
body.dark-theme .payment-card,
body.dark-theme .shipping-card {
    background: #0b0b0d !important;
    color: #f7f7f8 !important;
}
body.dark-theme .checkout-area .card,
body.dark-theme .checkout-section .card,
body.dark-theme .checkout-wrapper .card,
body.dark-theme .checkout-form,
body.dark-theme .checkout-card,
body.dark-theme .order-summary,
body.dark-theme .payment-card,
body.dark-theme .shipping-card {
    background: linear-gradient(145deg,#17171a,#101012) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    border-radius: 16px !important;
    box-shadow: 0 18px 42px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
body.dark-theme .checkout-area label,
body.dark-theme .checkout-section label,
body.dark-theme .checkout-wrapper label,
body.dark-theme .checkout-area h1,
body.dark-theme .checkout-area h2,
body.dark-theme .checkout-area h3,
body.dark-theme .checkout-area h4,
body.dark-theme .checkout-section h1,
body.dark-theme .checkout-section h2,
body.dark-theme .checkout-section h3,
body.dark-theme .checkout-section h4 {
    color: #fff !important;
}
body.dark-theme .checkout-area .select2-container--default .select2-selection--single,
body.dark-theme .checkout-section .select2-container--default .select2-selection--single,
body.dark-theme .checkout-area .nice-select,
body.dark-theme .checkout-section .nice-select,
body.dark-theme .checkout-area input,
body.dark-theme .checkout-area textarea,
body.dark-theme .checkout-section input,
body.dark-theme .checkout-section textarea {
    background: #111114 !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.22) !important;
}
body.dark-theme .checkout-area .select2-dropdown,
body.dark-theme .checkout-section .select2-dropdown,
body.dark-theme .checkout-area .nice-select .list,
body.dark-theme .checkout-section .nice-select .list {
    background: #151518 !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.18) !important;
}
body.dark-theme .checkout-area .select2-results__option,
body.dark-theme .checkout-section .select2-results__option,
body.dark-theme .checkout-area .nice-select .option,
body.dark-theme .checkout-section .nice-select .option {
    background: #151518 !important;
    color: #fff !important;
}
body.dark-theme .checkout-area .select2-results__option--highlighted,
body.dark-theme .checkout-section .select2-results__option--highlighted,
body.dark-theme .checkout-area .nice-select .option:hover,
body.dark-theme .checkout-section .nice-select .option:hover {
    background: rgba(255,255,255,.14) !important;
    color: #fff !important;
}
body.dark-theme .checkout-area .btn,
body.dark-theme .checkout-section .btn,
body.dark-theme .place-order-btn,
body.dark-theme button[type="submit"] {
    background: #fff !important;
    color: #09090b !important;
    border: 1px solid #fff !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.38) !important;
}
body.dark-theme .checkout-area .btn:hover,
body.dark-theme .checkout-section .btn:hover,
body.dark-theme .place-order-btn:hover,
body.dark-theme button[type="submit"]:hover {
    transform: translateY(-2px);
    box-shadow: 0 0 26px rgba(255,255,255,.34) !important;
}

/* Customer account/dashboard pages */
body.dark-theme .user-dashboard,
body.dark-theme .dashboard-section,
body.dark-theme .account-area,
body.dark-theme .user-area,
body.dark-theme .dashboard-wrapper {
    background: #09090b !important;
    color: #f7f7f8 !important;
}
body.dark-theme .dashboard-sidebar,
body.dark-theme .user-sidebar,
body.dark-theme .account-sidebar,
body.dark-theme .sidebar-menu,
body.dark-theme .dashboard-menu {
    background: linear-gradient(145deg,#17171a,#101012) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    border-radius: 16px !important;
    box-shadow: 0 16px 38px rgba(0,0,0,.55) !important;
}
body.dark-theme .dashboard-sidebar a,
body.dark-theme .user-sidebar a,
body.dark-theme .account-sidebar a,
body.dark-theme .sidebar-menu a,
body.dark-theme .dashboard-menu a {
    color: #e7e7ea !important;
    border-radius: 10px;
    transition: background .22s ease,color .22s ease,transform .22s ease,box-shadow .22s ease;
}
body.dark-theme .dashboard-sidebar a:hover,
body.dark-theme .user-sidebar a:hover,
body.dark-theme .account-sidebar a:hover,
body.dark-theme .sidebar-menu a:hover,
body.dark-theme .dashboard-menu a:hover,
body.dark-theme .dashboard-sidebar .active > a,
body.dark-theme .user-sidebar .active > a,
body.dark-theme .account-sidebar .active > a {
    background: rgba(255,255,255,.12) !important;
    color: #fff !important;
    transform: translateX(4px);
    box-shadow: inset 3px 0 0 #fff !important;
}
body.dark-theme .dashboard-card,
body.dark-theme .dashboard-widget,
body.dark-theme .order-card,
body.dark-theme .account-card,
body.dark-theme .user-dashboard .card,
body.dark-theme .dashboard-section .card {
    background: linear-gradient(145deg,#18181b,#111113) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    box-shadow: 0 14px 32px rgba(0,0,0,.52), inset 0 1px 0 rgba(255,255,255,.05) !important;
}
body.dark-theme .user-dashboard table,
body.dark-theme .dashboard-section table,
body.dark-theme .account-area table,
body.dark-theme .order-table {
    background: #111114 !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.14) !important;
}
body.dark-theme .user-dashboard thead th,
body.dark-theme .dashboard-section thead th,
body.dark-theme .account-area thead th,
body.dark-theme .order-table thead th {
    background: #1b1b1f !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.16) !important;
}
body.dark-theme .user-dashboard tbody td,
body.dark-theme .dashboard-section tbody td,
body.dark-theme .account-area tbody td,
body.dark-theme .order-table tbody td {
    background: #111114 !important;
    color: #f2f2f4 !important;
    border-color: rgba(255,255,255,.11) !important;
}
body.dark-theme .user-dashboard tbody tr:hover td,
body.dark-theme .dashboard-section tbody tr:hover td,
body.dark-theme .account-area tbody tr:hover td,
body.dark-theme .order-table tbody tr:hover td {
    background: #19191d !important;
}
body.dark-theme .user-dashboard .btn,
body.dark-theme .dashboard-section .btn,
body.dark-theme .account-area .btn {
    background: #fff !important;
    color: #09090b !important;
    border-color: #fff !important;
}
body.dark-theme .user-dashboard .btn:hover,
body.dark-theme .dashboard-section .btn:hover,
body.dark-theme .account-area .btn:hover {
    box-shadow: 0 0 22px rgba(255,255,255,.34) !important;
    transform: translateY(-2px);
}

/* Header/navbar white glass hover for all icon items */
body.dark-theme .header,
body.dark-theme .header-area,
body.dark-theme .navbar,
body.dark-theme .nav-area {
    background: rgba(12,12,14,.96) !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.34) !important;
}
body.dark-theme .header .nav-link,
body.dark-theme .header-area .nav-link,
body.dark-theme .navbar .nav-link,
body.dark-theme .menu li > a,
body.dark-theme .header .icon-btn,
body.dark-theme .header-area .icon-btn,
body.dark-theme .navbar button,
body.dark-theme .navbar .btn,
body.dark-theme .header [class*="icon"],
body.dark-theme .header-area [class*="icon"] {
    color: #fff !important;
    border-radius: 999px;
    transition: background .22s ease,color .22s ease,box-shadow .22s ease,transform .22s ease;
}
body.dark-theme .header .nav-link:hover,
body.dark-theme .header-area .nav-link:hover,
body.dark-theme .navbar .nav-link:hover,
body.dark-theme .menu li > a:hover,
body.dark-theme .header .icon-btn:hover,
body.dark-theme .header-area .icon-btn:hover,
body.dark-theme .navbar button:hover,
body.dark-theme .navbar .btn:hover,
body.dark-theme .header [class*="icon"]:hover,
body.dark-theme .header-area [class*="icon"]:hover {
    background: rgba(255,255,255,.14) !important;
    color: #fff !important;
    box-shadow: 0 0 18px rgba(255,255,255,.22) !important;
    transform: translateY(-2px);
}
body.dark-theme .theme-toggle,
body.dark-theme #themeToggle,
body.dark-theme .dark-mode-toggle {
    background: rgba(255,255,255,.08) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.28) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
}
body.dark-theme .theme-toggle:hover,
body.dark-theme #themeToggle:hover,
body.dark-theme .dark-mode-toggle:hover {
    background: #fff !important;
    color: #09090b !important;
    box-shadow: 0 0 22px rgba(255,255,255,.38) !important;
}

@media (max-width: 767px) {
    body.dark-theme .checkout-area .card,
    body.dark-theme .checkout-section .card,
    body.dark-theme .checkout-wrapper .card {
        border-radius: 12px !important;
        padding: 16px !important;
    }
    body.dark-theme .dashboard-sidebar,
    body.dark-theme .user-sidebar,
    body.dark-theme .account-sidebar {
        border-radius: 12px !important;
    }
}

/* Theme-specific STAG header logo */
.theme-logo--dark {
    display: none !important;
}

html.dark-theme .theme-logo--light,
html[data-theme="dark"] .theme-logo--light,
body.dark-theme .theme-logo--light {
    display: none !important;
}

html.dark-theme .theme-logo--dark,
html[data-theme="dark"] .theme-logo--dark,
body.dark-theme .theme-logo--dark {
    display: block !important;
    max-height: 52px !important;
    width: auto !important;
    object-fit: contain;
    filter: drop-shadow(0 0 8px rgba(255,255,255,.16));
}

html.dark-theme .theme-logo-box,
html[data-theme="dark"] .theme-logo-box,
body.dark-theme .theme-logo-box {
    background: transparent !important;
}

/* =========================================================
   STAG HEADER ACTIONS + MOBILE MENU DARK MODE FIX
   ========================================================= */
.header-action-btn,
#themeToggle.theme-toggle {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(17,17,17,.22) !important;
    background: transparent !important;
    color: #111 !important;
    box-shadow: none !important;
    line-height: 1 !important;
    cursor: pointer;
    transition: background-color .2s ease, border-color .2s ease,
                color .2s ease, transform .2s ease, box-shadow .2s ease !important;
}

.header-action-btn svg,
#themeToggle.theme-toggle i {
    width: 20px !important;
    height: 20px !important;
    font-size: 20px !important;
    line-height: 1 !important;
    display: block;
}

.header-action-btn:hover,
#themeToggle.theme-toggle:hover {
    background: #111 !important;
    border-color: #111 !important;
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 7px 18px rgba(0,0,0,.18) !important;
}

body.dark-theme .header-action-btn,
body.dark-theme #themeToggle.theme-toggle {
    background: #121214 !important;
    border-color: rgba(255,255,255,.28) !important;
    color: #f7f7f8 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
}

body.dark-theme .header-action-btn:hover,
body.dark-theme #themeToggle.theme-toggle:hover {
    background: #fff !important;
    border-color: #fff !important;
    color: #09090b !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.4) !important;
}

/* Remove broad rules that accidentally stretch or square the theme icon */
body.dark-theme #themeToggle.theme-toggle {
    overflow: hidden;
}

/* Mobile/off-canvas menu */
body.dark-theme .mobile-menu .menu-backdrop {
    background: rgba(0,0,0,.72) !important;
    backdrop-filter: blur(4px);
}

body.dark-theme .mobile-menu .menu-box {
    background: #0e0e10 !important;
    border-left: 1px solid rgba(255,255,255,.12) !important;
    box-shadow: -22px 0 50px rgba(0,0,0,.55) !important;
    color: #f5f5f5 !important;
}

body.dark-theme .mobile-menu .menu-box__header {
    background: #121214 !important;
    border-bottom-color: rgba(255,255,255,.10) !important;
}

body.dark-theme .mobile-menu .menu-box__header a,
body.dark-theme .mobile-menu .menu-box__header .close-btn {
    color: #fff !important;
}

body.dark-theme .mobile-menu .menu-box__header .close-btn {
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.07) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    transition: .2s ease !important;
}

body.dark-theme .mobile-menu .menu-box__header .close-btn:hover {
    background: #fff !important;
    color: #111 !important;
    transform: rotate(90deg);
}

body.dark-theme .mobile-menu .menu-box__search {
    background: #0e0e10 !important;
    border-bottom-color: rgba(255,255,255,.10) !important;
    padding: 16px 18px !important;
}

body.dark-theme .mobile-menu .menu-box__search input {
    height: 46px !important;
    padding: 0 46px 0 15px !important;
    color: #fff !important;
    background: #17171a !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    border-radius: 10px !important;
    caret-color: #fff;
}

body.dark-theme .mobile-menu .menu-box__search input::placeholder {
    color: #a8a8b0 !important;
    opacity: 1;
}

body.dark-theme .mobile-menu .menu-box__search input:focus {
    border-color: rgba(255,255,255,.60) !important;
    box-shadow: 0 0 0 3px rgba(255,255,255,.08) !important;
}

body.dark-theme .mobile-menu .menu-box__search button {
    color: #e8e8ec !important;
    right: 14px !important;
}

body.dark-theme .mobile-menu .menu-box__body {
    background: #0e0e10 !important;
    scrollbar-color: #3b3b40 #0e0e10;
}

body.dark-theme .mobile-menu .navigation {
    padding: 10px 12px 22px !important;
}

body.dark-theme .mobile-menu .navigation > li {
    margin: 5px 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.dark-theme .mobile-menu .navigation > li > a {
    min-height: 48px;
    padding: 14px 14px !important;
    border-radius: 10px !important;
    display: flex !important;
    align-items: center !important;
    color: #ededf0 !important;
    background: #151518 !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    letter-spacing: .6px !important;
    transition: background .2s ease, border-color .2s ease,
                color .2s ease, transform .2s ease !important;
}

body.dark-theme .mobile-menu .navigation > li > a:hover,
body.dark-theme .mobile-menu .navigation > li > a:focus {
    color: #111 !important;
    background: #fff !important;
    border-color: #fff !important;
    transform: translateX(3px);
    text-shadow: none !important;
}

body.dark-theme .mobile-menu .navigation > li > a svg {
    flex: 0 0 auto;
}

/* Keep the drawer readable on narrow screens */
@media (max-width: 575px) {
    .header-right {
        gap: 10px !important;
    }
    .header-action-btn,
    #themeToggle.theme-toggle {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
    }
    body.dark-theme .mobile-menu .menu-box {
        width: min(88vw, 340px) !important;
        max-width: 340px !important;
    }
}

/* =========================================================
   Checkout dark mode — mobile and desktop
   ========================================================= */
body.dark-theme .checkout,
body.dark-theme .checkout .dashboard,
body.dark-theme .checkout .large-container {
    background: #09090b !important;
}

body.dark-theme .checkout .cart-wrapper__left,
body.dark-theme .checkout .checkout-information {
    background: #151518 !important;
    border: 1px solid rgba(255, 255, 255, .09) !important;
    box-shadow: 0 20px 55px rgba(0, 0, 0, .32) !important;
}

body.dark-theme .checkout .cart-header__title,
body.dark-theme .checkout .checkout-information > .title,
body.dark-theme .checkout .form--label,
body.dark-theme .checkout .checkout-product__item .title,
body.dark-theme .checkout .checkout-information__list li,
body.dark-theme .checkout .checkout-information__total span,
body.dark-theme .checkout .checkout-product__item .price {
    color: #f7f7f8 !important;
}

body.dark-theme .checkout .checkout-product__item .tag,
body.dark-theme .checkout .checkout-product__item .price small {
    color: #a7a7b0 !important;
}

body.dark-theme .checkout .form--control,
body.dark-theme .checkout .form-control,
body.dark-theme .checkout textarea.form--control,
body.dark-theme .checkout .select2-container--default .select2-selection--single {
    background: #0f0f12 !important;
    color: #f7f7f8 !important;
    border: 1px solid rgba(255, 255, 255, .13) !important;
    box-shadow: none !important;
}

body.dark-theme .checkout .form--control::placeholder,
body.dark-theme .checkout .form-control::placeholder,
body.dark-theme .checkout textarea::placeholder {
    color: #777782 !important;
}

body.dark-theme .checkout .form--control:focus,
body.dark-theme .checkout .form-control:focus,
body.dark-theme .checkout textarea.form--control:focus,
body.dark-theme .checkout .select2-container--open .select2-selection--single {
    border-color: #fff !important;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, .08) !important;
}

body.dark-theme .checkout .input-group-text,
body.dark-theme .checkout .mobile-code {
    background: #1d1d21 !important;
    color: #f7f7f8 !important;
    border: 1px solid rgba(255, 255, 255, .13) !important;
}

body.dark-theme .checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #f7f7f8 !important;
}

body.dark-theme .checkout .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #f7f7f8 transparent transparent transparent !important;
}

body.dark-theme .select2-dropdown {
    background: #151518 !important;
    border-color: rgba(255, 255, 255, .13) !important;
    color: #f7f7f8 !important;
}
body.dark-theme .select2-results__option {
    color: #e9e9ed !important;
}
body.dark-theme .select2-results__option--highlighted {
    background: #2a2a30 !important;
    color: #fff !important;
}

body.dark-theme .checkout .checkout-product__item:not(:last-child),
body.dark-theme .checkout .checkout-information__list,
body.dark-theme .checkout .checkout-information__total {
    border-color: rgba(255, 255, 255, .10) !important;
}

body.dark-theme .checkout .checkout-product__item__thumb {
    background: #fff !important;
    border-color: rgba(255,255,255,.12) !important;
}

body.dark-theme .checkout .shipping-method-wrapper .form--radio .form-check-label {
    background: #0f0f12 !important;
    border-color: rgba(255, 255, 255, .13) !important;
    color: #f7f7f8 !important;
}

body.dark-theme .checkout .shipping-method-wrapper .form--radio .form-check-input:checked + .form-check-label,
body.dark-theme .checkout .form-check-label:has(.form-check-input:checked) {
    background: #202026 !important;
    border-color: #fff !important;
}

body.dark-theme .checkout .checkout-free-delivery {
    background: rgba(34, 197, 94, .10) !important;
    border-color: rgba(74, 222, 128, .35) !important;
    color: #86efac !important;
}

body.dark-theme .checkout .btn--base {
    background: #fff !important;
    color: #0b0b0d !important;
    border-color: #fff !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .28) !important;
}
body.dark-theme .checkout .btn--base:hover {
    background: #dedee3 !important;
    border-color: #dedee3 !important;
}

@media (max-width: 991px) {
    body.dark-theme .checkout.dashboard {
        padding-top: 24px !important;
        padding-bottom: 28px !important;
    }
    body.dark-theme .checkout .checkout-wrapper {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 20px !important;
    }
    body.dark-theme .checkout .cart-wrapper__left,
    body.dark-theme .checkout .cart-wrapper__right,
    body.dark-theme .checkout .checkout-information {
        width: 100% !important;
        min-width: 0 !important;
    }
}

@media (max-width: 575px) {
    body.dark-theme .checkout .large-container {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
    body.dark-theme .checkout .cart-wrapper__left,
    body.dark-theme .checkout .checkout-information {
        padding: 18px !important;
        border-radius: 16px !important;
    }
    body.dark-theme .checkout .cart-header__title,
    body.dark-theme .checkout .checkout-information > .title {
        font-size: 20px !important;
        margin-bottom: 18px !important;
    }
    body.dark-theme .checkout .row {
        --bs-gutter-x: 0 !important;
    }
    body.dark-theme .checkout [class*="col-"] {
        width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    body.dark-theme .checkout .form-group {
        margin-bottom: 16px !important;
    }
    body.dark-theme .checkout .form--control,
    body.dark-theme .checkout .form-control,
    body.dark-theme .checkout .select2-container--default .select2-selection--single {
        min-height: 52px !important;
        border-radius: 11px !important;
        font-size: 15px !important;
    }
    body.dark-theme .checkout textarea.form--control {
        min-height: 120px !important;
        padding-top: 14px !important;
    }
    body.dark-theme .checkout .checkout-product__item {
        align-items: flex-start !important;
        flex-wrap: nowrap !important;
        gap: 12px !important;
    }
    body.dark-theme .checkout .checkout-product__item__thumb {
        width: 68px !important;
        height: 68px !important;
        flex: 0 0 68px !important;
    }
    body.dark-theme .checkout .checkout-product__item__right {
        min-width: 0 !important;
        gap: 6px !important;
    }
    body.dark-theme .checkout .checkout-product__item .title {
        font-size: 15px !important;
        overflow-wrap: anywhere !important;
    }
    body.dark-theme .checkout .checkout-product__item .price {
        text-align: left !important;
    }
}


/* =========================================================
   STAG DARK MODE FINAL POLISH: HEADER / CATALOG / CART
   ========================================================= */
body.dark-theme {
    background: #09090b !important;
}

body.dark-theme .announcement-bar {
    background: #050506 !important;
    color: #f5f5f6 !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    box-shadow: none !important;
}

body.dark-theme .main-header.header-style-premium,
body.dark-theme .main-header.header-style-premium .premium-header-inner,
body.dark-theme .main-header.header-style-premium .header-left,
body.dark-theme .main-header.header-style-premium .header-right,
body.dark-theme .main-header.header-style-premium .desktop-menu {
    background: #0d0d0f !important;
    box-shadow: none !important;
}

body.dark-theme .main-header.header-style-premium {
    border-bottom: 1px solid rgba(255,255,255,.10) !important;
    box-shadow: 0 8px 28px rgba(0,0,0,.24) !important;
}

body.dark-theme .main-header .desktop-menu a {
    color: #eeeeef !important;
    text-shadow: none !important;
}

body.dark-theme .main-header .desktop-menu a:hover {
    color: #fff !important;
}

body.dark-theme .main-header .desktop-menu a::after {
    background: #fff !important;
}

body.dark-theme .main-header .mobile-nav-toggler {
    color: #f6f6f7 !important;
}

body.dark-theme .main-header .header-action-btn,
body.dark-theme .main-header #themeToggle.theme-toggle {
    background: #121214 !important;
    border-color: #36363c !important;
    color: #f5f5f6 !important;
}

body.dark-theme .main-header .header-action-btn:hover,
body.dark-theme .main-header #themeToggle.theme-toggle:hover {
    background: #f4f4f5 !important;
    border-color: #f4f4f5 !important;
    color: #0b0b0d !important;
}

body.dark-theme .main-header .cartCount,
body.dark-theme .main-header .wishlistCount {
    background: #fff !important;
    color: #09090b !important;
    border: 1px solid #09090b !important;
}

body.dark-theme #mobileSearchOverlay {
    background: #101012 !important;
    border-bottom: 1px solid #2b2b30 !important;
    box-shadow: 0 14px 35px rgba(0,0,0,.5) !important;
}

body.dark-theme #mobileSearchOverlay form {
    background: transparent !important;
}

body.dark-theme #mobileSearchOverlay input[type="search"] {
    background: #17171a !important;
    color: #fff !important;
    border-color: #34343a !important;
}

body.dark-theme #mobileSearchOverlay #mobileSearchClose {
    color: #fff !important;
}

body.dark-theme #mobileSearchOverlay button[type="submit"] {
    background: #fff !important;
    color: #0b0b0d !important;
    border-color: #fff !important;
}

/* Catalog and filtering fallbacks (also cover AJAX-rendered state) */
body.dark-theme .stag-catalog-page,
body.dark-theme .stag-catalog-page .products-container,
body.dark-theme .stag-catalog-page .productsData {
    background: #09090b !important;
}

body.dark-theme .stag-catalog-toolbar {
    background: #141416 !important;
    border-color: #2b2b30 !important;
}

body.dark-theme .stag-sort-select {
    background: #0f0f11 !important;
    color: #f7f7f8 !important;
    border-color: #36363c !important;
    color-scheme: dark;
}

body.dark-theme .stag-filter,
body.dark-theme .product-page-layout .product-filter--sidebar {
    background: #141416 !important;
    border-color: #2d2d32 !important;
}

body.dark-theme .stag-filter .product-filter__body {
    scrollbar-color: #4b4b52 #17171a !important;
}

body.dark-theme .stag-category-list::-webkit-scrollbar,
body.dark-theme .stag-filter .product-filter__body::-webkit-scrollbar {
    width: 7px;
}

body.dark-theme .stag-category-list::-webkit-scrollbar-track,
body.dark-theme .stag-filter .product-filter__body::-webkit-scrollbar-track {
    background: #17171a;
}

body.dark-theme .stag-category-list::-webkit-scrollbar-thumb,
body.dark-theme .stag-filter .product-filter__body::-webkit-scrollbar-thumb {
    background: #44444b;
    border-radius: 999px;
}

/* Cart drawer: keep every control readable in dark mode */
body.dark-theme .cart__sidebar {
    background: #0d0d0f !important;
    border-left-color: #2b2b30 !important;
}

body.dark-theme .cart__sidebar .cart__header,
body.dark-theme .cart__sidebar .cart-bottom {
    background: #101012 !important;
    border-color: #2a2a2f !important;
}

body.dark-theme .cart__sidebar .cart__item,
body.dark-theme .cart__sidebar .singleCartItemSidebar {
    background: #151518 !important;
    border-color: #393940 !important;
}

body.dark-theme .cart__sidebar .cart__item__title,
body.dark-theme .cart__sidebar .cart__item__title a,
body.dark-theme .cart__sidebar .cart__item__price,
body.dark-theme .cart__sidebar .subtotal-title,
body.dark-theme .cart__sidebar .payablePrice {
    color: #f7f7f8 !important;
}

body.dark-theme .cart__sidebar .product-short-info,
body.dark-theme .cart__sidebar .cart-count-label,
body.dark-theme .cart__sidebar .discount-title {
    color: #a6a6ae !important;
}

body.dark-theme .cart__sidebar .product-qty {
    background: #101012 !important;
    border: 1px solid #44444b !important;
}

body.dark-theme .cart__sidebar .product-qty__btn,
body.dark-theme .cart__sidebar .product-qty__value {
    background: transparent !important;
    color: #f7f7f8 !important;
    border-color: #44444b !important;
}

body.dark-theme .cart__sidebar .sidebar-close-btn,
body.dark-theme .cart__sidebar .cart__item__remove {
    color: #f4f4f5 !important;
}

body.dark-theme .cart__sidebar .checkout-btn {
    background: #f5f5f6 !important;
    color: #0b0b0d !important;
    border-color: #f5f5f6 !important;
}

body.dark-theme .body-overlay.show {
    background: rgba(0,0,0,.68) !important;
    backdrop-filter: blur(3px);
}

@media (max-width: 991px) {
    body.dark-theme .product-page-layout .product-filter--sidebar {
        box-shadow: 18px 0 45px rgba(0,0,0,.52) !important;
    }
}

/* =========================================================
   STAG CART SIDEBAR — DARK MODE VISIBILITY FIX
   Keeps cart icons/count/empty state readable on dark surfaces.
   ========================================================= */
body.dark-theme .cart__sidebar .cart__header .title svg,
body.dark-theme .cart__sidebar .cart__header .title svg path {
    color: #ffffff !important;
    fill: currentColor !important;
    opacity: 1 !important;
}

/* The general .cartItemsCount dark rule made white text disappear
   inside the white count badge. Keep the badge intentionally dark-text. */
body.dark-theme .cart__sidebar .cart-count-badge,
body.dark-theme .cart__sidebar .cart-count-badge.cartItemsCount,
body.dark-theme .cart__sidebar .cart__header .cart-count-badge.cartItemsCount {
    background: #ffffff !important;
    color: #09090b !important;
    border: 1px solid rgba(255,255,255,.95) !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-shadow: none !important;
}

body.dark-theme .cart__sidebar .cart-count-label {
    color: #ffffff !important;
    opacity: 1 !important;
}

body.dark-theme .cart__sidebar .sidebar-close-btn,
body.dark-theme .cart__sidebar .sidebar-close-btn i {
    color: #ffffff !important;
    opacity: 1 !important;
}

body.dark-theme .cart__sidebar .sidebar-close-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 50%;
    background: rgba(255,255,255,.06);
    transition: background-color .2s ease, border-color .2s ease;
}

body.dark-theme .cart__sidebar .sidebar-close-btn:hover {
    background: rgba(255,255,255,.14) !important;
    border-color: rgba(255,255,255,.45) !important;
}

body.dark-theme .cart__sidebar .empty-message {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 320px;
    padding: 30px 18px;
    text-align: center;
    color: #ffffff !important;
}

body.dark-theme .cart__sidebar .empty-message-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(190px, 58vw);
    min-height: 145px;
    margin: 0 auto 18px;
}

body.dark-theme .cart__sidebar .empty-message-icon img,
body.dark-theme .cart__sidebar .empty-message img {
    display: block !important;
    width: 100% !important;
    max-width: 180px !important;
    height: auto !important;
    opacity: 1 !important;
    filter: grayscale(1) brightness(0) invert(1) !important;
}

body.dark-theme .cart__sidebar .empty-message-text {
    margin: 0;
    color: #ffffff !important;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.45;
    opacity: 1 !important;
}

body.dark-theme .cart__sidebar .empty-message .btn {
    min-width: 180px;
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px !important;
}

@media (max-width: 575px) {
    body.dark-theme .cart__sidebar {
        width: 100vw !important;
        max-width: 100vw !important;
    }

    body.dark-theme .cart__sidebar .cart__header {
        min-height: 78px;
        padding: 15px 16px !important;
    }

    body.dark-theme .cart__sidebar .cart__body {
        padding: 14px !important;
    }

    body.dark-theme .cart__sidebar .empty-message {
        min-height: 280px;
        padding: 24px 12px;
    }

    body.dark-theme .cart__sidebar .empty-message-icon {
        width: min(160px, 52vw);
        min-height: 125px;
    }

    body.dark-theme .cart__sidebar .empty-message-icon img,
    body.dark-theme .cart__sidebar .empty-message img {
        max-width: 150px !important;
    }
}
/* =========================================================
   STAG POLICY PAGES — DARK MODE READABILITY FIX
   Privacy / Terms / Shipping / Return / Refund / Cancellation
   ========================================================= */

body.dark-theme .policy-page-section {
    background: #090a0c !important;
}

body.dark-theme .policy-page-section .policy-card,
body.dark-theme .policy-page-section .custom--card.policy-card {
    background: #121316 !important;
    border-color: #34363b !important;
    box-shadow: 0 18px 50px rgba(0, 0, 0, .28) !important;
}

body.dark-theme .policy-page-section .policy-wrapper {
    background: transparent !important;
    color: #e5e7eb !important;
}

body.dark-theme .policy-page-section .policy-wrapper h1,
body.dark-theme .policy-page-section .policy-wrapper h2,
body.dark-theme .policy-page-section .policy-wrapper h3,
body.dark-theme .policy-page-section .policy-wrapper h4,
body.dark-theme .policy-page-section .policy-wrapper strong {
    color: #ffffff !important;
}

body.dark-theme .policy-page-section .policy-wrapper p,
body.dark-theme .policy-page-section .policy-wrapper li,
body.dark-theme .policy-page-section .policy-updated,
body.dark-theme .policy-page-section .policy-intro,
body.dark-theme .policy-page-section .privacy-intro {
    color: #d5d7dc !important;
}

body.dark-theme .policy-page-section .policy-updated {
    color: #a7abb3 !important;
    opacity: 1 !important;
}

/* Contents panel */
body.dark-theme .policy-page-section .policy-toc {
    background: #1a1c20 !important;
    border-color: #3a3d43 !important;
    color: #f5f5f5 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025) !important;
}

body.dark-theme .policy-page-section .policy-toc > strong {
    color: #ffffff !important;
}

body.dark-theme .policy-page-section .policy-toc__links a {
    color: #d9dce2 !important;
    opacity: 1 !important;
    text-decoration-color: #747983 !important;
    transition: color .18s ease, text-decoration-color .18s ease;
}

body.dark-theme .policy-page-section .policy-toc__links a:hover,
body.dark-theme .policy-page-section .policy-toc__links a:focus-visible {
    color: #ffffff !important;
    text-decoration-color: #ffffff !important;
}

/* Other policy callout boxes */
body.dark-theme .policy-page-section .policy-highlight,
body.dark-theme .policy-page-section .policy-note {
    background: #191b1f !important;
    border-color: #3b3e44 !important;
    color: #d9dce2 !important;
}

body.dark-theme .policy-page-section .policy-highlight {
    border-left-color: #ffffff !important;
}

body.dark-theme .policy-page-section .policy-note {
    border-left-color: #ffffff !important;
}

body.dark-theme .policy-page-section .policy-highlight strong,
body.dark-theme .policy-page-section .policy-note strong {
    color: #ffffff !important;
}

body.dark-theme .policy-page-section .policy-link {
    color: #ffffff !important;
    text-decoration-color: #7e838d !important;
}

body.dark-theme .policy-page-section .policy-link:hover,
body.dark-theme .policy-page-section .policy-link:focus-visible {
    color: #ffffff !important;
    text-decoration-color: #ffffff !important;
}

/* Make anchored sections easier to scan in dark mode */
body.dark-theme .policy-page-section .policy-wrapper h3[id] {
    color: #ffffff !important;
}

body.dark-theme .policy-page-section .policy-wrapper ul li::marker {
    color: #d5d7dc !important;
}

@media (max-width: 767px) {
    body.dark-theme .policy-page-section .policy-card {
        border-radius: 12px !important;
    }

    body.dark-theme .policy-page-section .policy-toc {
        padding: 18px !important;
        border-radius: 10px !important;
    }

    body.dark-theme .policy-page-section .policy-toc__links {
        gap: 10px 14px !important;
    }

    body.dark-theme .policy-page-section .policy-toc__links a {
        font-size: 14px !important;
        line-height: 1.5 !important;
    }
}
