/* html, */
/* body {
    position: relative;
    height: 100%;
    padding: 0;
  } */

body {
    /* background: #f7f7f7; */
    /* font-family: Helvetica Neue, Helvetica, Arial, sans-serif; */
    /* font-size: 14px; */
    /* color: #000; */
    margin: 0;
    padding: 0;
    overflow-x: clip;
}

/* Global responsive width guardrails (prevents any accidental max-width clamping) */
html,
body {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
}
.content-wrapper {
    width: 100%;
    max-width: 100%;
}

/* Mirswa brand palette (template.php overrides from admin settings) */
:root {
    --primary-color: #1f56a8;
    --secondary-color: #FF9900;
    --tertiary-color: #D8202A;
    --quaternary-color: #F06223;
    --highlight-color: #FFFF33;
    --font-color: #000000;
}

/* Hide demo theme color switcher (prevents coloured square icons) */
#colors-switcher {
    display: none !important;
}

/* intlTelInput inside auth modal: fix z-index + avoid covering buttons */
#modal-signup .intl-tel-input .country-list,
#modal-signin .intl-tel-input .country-list,
.iziModal .intl-tel-input .country-list {
    z-index: 20000;
}
/* Prefer opening upward inside modals (keeps list away from Send OTP button) */
#modal-signup .intl-tel-input .country-list,
.iziModal .intl-tel-input .country-list {
    top: auto;
    bottom: 100%;
    margin-bottom: 6px;
}

/* Storefront UX polish: prevent accidental text selection on click/tap/drag.
   Keep selection enabled where users type or copy text intentionally. */
body {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
input,
textarea,
select,
[contenteditable="true"],
.select2-search__field,
.header-location-input,
.mobile-search-inline-input {
    -webkit-user-select: text !important;
    -moz-user-select: text !important;
    -ms-user-select: text !important;
    user-select: text !important;
}

/* Header dropdown z-index / clipping fix */
header.wrapper,
header.wrapper .content-wrapper,
header.wrapper .bg-gradient-reverse-primary,
header.wrapper .container {
    overflow: visible !important;
}
header.wrapper .dropdown-menu{
    z-index: 3000 !important;
}

/* Top header bar — match footer Mirswa blue */
header.wrapper .content-wrapper > header.wrapper .bg-gradient-reverse-primary,
header.wrapper .bg-gradient-reverse-primary {
    background: var(--primary-color) !important;
    background-image: none !important;
    color: #fff;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

header.wrapper .bg-gradient-reverse-primary .header-top-actions,
header.wrapper .bg-gradient-reverse-primary .header-top-actions .navbar-nav,
header.wrapper .bg-gradient-reverse-primary .header-top-actions a,
header.wrapper .bg-gradient-reverse-primary .header-top-actions .nav-link,
header.wrapper .bg-gradient-reverse-primary .header-top-actions .fs-16,
header.wrapper .bg-gradient-reverse-primary .header-top-actions .link-color,
header.wrapper .bg-gradient-reverse-primary .header-top-actions i.uil-user,
header.wrapper .bg-gradient-reverse-primary .header-top-actions i.fa-angle-down {
    color: #fff !important;
}

header.wrapper .bg-gradient-reverse-primary .header-top-actions a:hover,
header.wrapper .bg-gradient-reverse-primary .header-top-actions a:focus {
    color: rgba(255, 255, 255, 0.88) !important;
}

header.wrapper .bg-gradient-reverse-primary .header-location-trigger {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 4px 6px 4px 0;
    max-width: min(320px, 48vw);
}

header.wrapper .bg-gradient-reverse-primary .header-location-trigger:hover,
header.wrapper .bg-gradient-reverse-primary .header-location-trigger:focus-visible {
    background: rgba(255, 255, 255, 0.1) !important;
    box-shadow: none !important;
}

header.wrapper .bg-gradient-reverse-primary .header-location-icon {
    color: #fff !important;
}

header.wrapper .bg-gradient-reverse-primary .header-location-value {
    color: #fff !important;
}

header.wrapper .bg-gradient-reverse-primary .header-location-value.is-placeholder,
header.wrapper .bg-gradient-reverse-primary .header-location-caret {
    color: rgba(255, 255, 255, 0.88) !important;
}

header.wrapper .bg-gradient-reverse-primary .header-search-polish {
    border-color: rgba(255, 255, 255, 0.28);
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.14);
}

header.wrapper .bg-gradient-reverse-primary .header-search-polish:focus-within {
    border-color: rgba(255, 255, 255, 0.55);
    box-shadow: 0 0 0 0.16rem rgba(255, 255, 255, 0.18);
}

header.wrapper .bg-gradient-reverse-primary .header-top-actions .dropdown-menu,
header.wrapper .bg-gradient-reverse-primary .header-top-actions .dropdown-menu a,
header.wrapper .bg-gradient-reverse-primary .header-top-actions .dropdown-menu i {
    color: #111827 !important;
}

/* Header topbar responsive guardrails */
header.wrapper .bg-gradient-reverse-primary {
    padding-top: 6px;
    padding-bottom: 6px;
}

.bg-gradient-reverse-primary .container.d-flex {
    flex-wrap: wrap;
    row-gap: 6px;
}

.bg-gradient-reverse-primary .container.mirswa-header-topbar {
    width: 100%;
    align-items: center;
}

.mirswa-header-topbar__zone {
    display: flex;
    align-items: center;
    min-width: 0;
}

.mirswa-header-topbar__zone--location {
    justify-content: flex-start;
}

.mirswa-header-topbar__zone--search {
    justify-content: center;
}

.mirswa-header-topbar__zone--actions {
    justify-content: flex-end;
}

.header-location-flyout {
    grid-column: 1 / -1;
    width: 100%;
    height: 0;
    overflow: visible;
    position: relative;
    z-index: 1700;
}

.mirswa-header-auth-links {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    white-space: nowrap;
}

.mirswa-header-auth-sep {
    opacity: 0.75;
}

@media (min-width: 992px) {
    .bg-gradient-reverse-primary > .container.mirswa-header-topbar {
        display: grid !important;
        grid-template-columns: minmax(0, 1.1fr) minmax(0, 2.4fr) minmax(0, 1fr);
        column-gap: 14px;
        row-gap: 0;
        align-items: center;
        flex-wrap: nowrap !important;
    }

    .mirswa-header-topbar__zone--location {
        grid-column: 1;
        grid-row: 1;
    }

    .mirswa-header-topbar__zone--search {
        grid-column: 2;
        grid-row: 1;
    }

    .mirswa-header-topbar__zone--actions {
        grid-column: 3;
        grid-row: 1;
    }

    .header-location-flyout {
        grid-column: 1 / -1;
        grid-row: 1;
    }

    .mirswa-header-topbar .header-location-widget,
    .mirswa-header-topbar .header-top-search-slot,
    .mirswa-header-topbar .header-top-actions {
        min-width: 0;
        width: 100%;
    }

    .mirswa-header-topbar .header-location-widget {
        max-width: none;
        justify-self: start;
    }

    .mirswa-header-topbar .header-top-search-slot {
        display: flex !important;
        max-width: none;
        margin: 0;
        padding-left: 0 !important;
        padding-right: 0 !important;
        justify-self: stretch;
    }

    .mirswa-header-topbar .header-top-actions {
        justify-content: flex-end;
        justify-self: end;
    }

    .mirswa-header-topbar .header-search-polish .input-group-text,
    .mirswa-header-topbar .header-search-polish .form-control,
    .mirswa-header-topbar .header-search-polish .btn {
        min-height: 36px;
        height: 36px;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .bg-gradient-reverse-primary > .container.mirswa-header-topbar {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: space-between !important;
        align-items: center !important;
        gap: 10px;
    }

    .header-location-flyout {
        position: absolute;
        width: 0;
        height: 0;
        overflow: visible;
        pointer-events: none;
    }

    .header-location-flyout .header-location-panel,
    .header-location-flyout .header-location-overlay.is-open {
        pointer-events: auto;
    }

    .mirswa-header-topbar__zone--location {
        flex: 1 1 auto;
        min-width: 0;
    }

    .mirswa-header-topbar__zone--actions {
        flex: 0 0 auto;
        margin-left: auto;
    }

    .mirswa-header-topbar .header-location-widget {
        flex: 1 1 auto;
        min-width: 0;
        max-width: 70%;
        margin-right: 0 !important;
    }

    .mirswa-header-topbar .header-top-actions {
        flex: 0 0 auto;
        margin-left: auto;
    }
}

.bg-gradient-reverse-primary .container.d-flex > .d-flex.flex-fill {
    min-width: 0;
}

.bg-gradient-reverse-primary .container.d-flex > .d-flex.flex-fill .navbar-nav {
    flex-wrap: wrap;
    row-gap: 2px;
}

.bg-gradient-reverse-primary .container.d-flex > .d-flex.flex-fill .navbar-nav .nav-item a {
    word-break: break-word;
}

@media (max-width: 991.98px) {
    .bg-gradient-reverse-primary .container.d-flex:not(.mirswa-header-topbar) {
        justify-content: center;
    }

    .bg-gradient-reverse-primary .container.d-flex:not(.mirswa-header-topbar) > .d-flex.flex-fill {
        width: 100%;
    }

    .bg-gradient-reverse-primary .container.d-flex:not(.mirswa-header-topbar) > .d-flex.flex-fill .navbar-nav {
        justify-content: center;
    }
}

header.wrapper .navbar.navbar-expand-lg.center-nav {
    border-bottom: 1px solid #ececec;
}

@media (min-width: 992px) {
    header.wrapper .navbar.navbar-expand-lg.center-nav > .container {
        display: flex !important;
        align-items: center !important;
    }
}

.mobile-searchbar {
    background: #fff;
    border-bottom: 1px solid #ececec;
    padding-top: 0.35rem;
}

/* Footer full-bleed background guard (prevents white gap on some responsive widths) */
footer.text-inverse{
    width: 100%;
    max-width: 100%;
    background-color: var(--primary-color);
    margin-top: 1.5rem !important;
    position: relative;
    z-index: 5;
    clear: both;
}
footer.text-inverse > section.bg-mirswa{
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    box-sizing: border-box;
    background-color: var(--primary-color);
}

/* Stop angled footer wedge from overlapping forms/content above */
footer.text-inverse > section.upper-end:before {
    display: none !important;
}

/* Main content clearance before footer (form-heavy pages) */
.mirswa-auth-page,
.mirswa-account-page,
section.wrapper.bg-light,
.deeplink_wrapper + section,
#checkout_page_container,
#modern_cart_page,
.mirswa-payment-success,
.main-content {
    padding-bottom: 1rem;
}

.mirswa-account-page {
    padding-bottom: 2.5rem;
}

body.mirswa-inline-map-active .mirswa-account-page,
body.mirswa-inline-map-active .mirswa-auth-page {
    padding-bottom: 3.5rem;
}

body.mirswa-auth-forgot-open .mirswa-auth-page,
body.mirswa-auth-page-body.mirswa-auth-forgot-open .mirswa-auth-page,
body.mirswa-auth-social-open .mirswa-auth-page,
body.mirswa-auth-page-body.mirswa-auth-social-open .mirswa-auth-page {
    padding-bottom: 4rem;
}

body.mirswa-auth-social-open footer.text-inverse,
body.mirswa-auth-page-body.mirswa-auth-social-open footer.text-inverse {
    margin-top: 1.5rem !important;
}

/* Keep intl dropdowns from spilling over footer on non-auth pages */
.intl-tel-input .country-list {
    max-height: min(220px, 42vh);
    overflow-y: auto;
    z-index: 1200;
}

/* Footer app links (uses existing backend links; keeps footer color unchanged) */
.footer-app-links-title{
    font-size: 13px;
    font-weight: 700;
}
.footer-app-links-row{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
/* Footer bottom split (60/40) + vertical alignment */
.footer-bottom-bar{
    padding-bottom: 18px;
}
.footer-bottom-left-inner{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
}
.footer-social{
    display: inline-flex;
    align-items: center;
    gap: 10px;
}
.footer-social a{
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(255,255,255,0.10);
    transition: transform .12s ease, background .12s ease;
}
.footer-social a:hover{
    background: rgba(255,255,255,0.16);
    transform: translateY(-1px);
}
.footer-copyright{
    font-size: 13px;
    line-height: 1.35;
}
.footer-bottom-right{
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.footer-bottom-right .footer-app-links-row{
    justify-content: flex-end;
    align-items: center;
}
@media (max-width: 991.98px){
    .footer-bottom-right{
        justify-content: flex-start;
    }
    .footer-bottom-right .footer-app-links-row{
        justify-content: flex-start;
    }
}

/* Store badges like official style */
.footer-store-badge{
    display: inline-flex;
    text-decoration: none;
    border-radius: 10px;
    overflow: hidden;
    transform: translateY(0);
    transition: transform .15s ease, filter .15s ease;
}
.footer-store-badge:hover{
    transform: translateY(-1px);
    filter: brightness(1.04);
}
.footer-store-badge svg{
    width: 155px;
    height: 46px;
    display: block;
}
@media (max-width: 575.98px){
    .footer-logo-footer{
        width: min(220px, 78vw);
        height: auto;
    }
    .footer-app-links-row{
        justify-content: center;
        width: 100%;
    }
    .footer-store-badge svg{
        width: 140px;
        height: 42px;
    }
    .footer-bottom-left-inner{
        justify-content: center;
        text-align: center;
    }
    .footer-bottom-right{
        justify-content: center;
    }
}

/* Professional e-commerce zoom behavior:
   disable mirror/lens zoom overlays and rely on clean click-to-open viewer. */
.zoomContainer,
.zoomWindow,
.zoomLens,
.zoomTint,
.zoomWrapper {
    display: none !important;
}

/* PDP magnifier lens (desktop hover) */
.pdp-magnifier-lens{
    position: absolute;
    width: 170px;
    height: 170px;
    border-radius: 999px;
    border: 2px solid color-mix(in srgb, var(--primary-color) 35%, rgba(15, 23, 42, 0.18));
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.22);
    background-repeat: no-repeat;
    background-color: transparent;
    pointer-events: none;
    opacity: 0;
    transform: scale(.98);
    transition: opacity .12s ease, transform .12s ease;
    z-index: 20;
}
.pdp-magnifier-lens.is-active{
    opacity: 1;
    transform: scale(1);
}
@media (max-width: 991.98px){
    .pdp-magnifier-lens{ display: none !important; }
}

.product_other_images,
.product-view-image-container img {
    cursor: zoom-in;
}

/* Product card hover actions: keep icons compact (premium) */
.item figure .item-link,
.item figure .item-like,
.item figure .item-view,
.item figure .item-compare,
.swiper-slide figure .item-link,
.swiper-slide figure .item-like,
.swiper-slide figure .item-view,
.swiper-slide figure .item-compare {
    width: 1.3rem !important;
    height: 1.3rem !important;
    line-height: 1.3rem !important;
    font-size: 0.65rem !important;
}

.item figure .item-link i,
.item figure .item-like i,
.item figure .item-view i,
.item figure .item-compare i,
.swiper-slide figure .item-link i,
.swiper-slide figure .item-like i,
.swiper-slide figure .item-view i,
.swiper-slide figure .item-compare i{
    font-size: 0.65rem !important;
}

/* Product card actions should be professional:
   - Horizontal on top-right (wishlist, quick-view, compare)
   - Small icons
   - Responsive sizing
   - Exclude Auto Ads section */
.item figure .item-like,
.item figure .item-view,
.item figure .item-compare,
.swiper-slide figure .item-like,
.swiper-slide figure .item-view,
.swiper-slide figure .item-compare {
    top: 0.75rem !important;
    bottom: auto !important;
    left: auto !important;
    opacity: 1 !important;
    margin: 0 !important;
    margin-top: 0 !important;
    z-index: 4 !important;
}
.item figure .item-like,
.swiper-slide figure .item-like {
    right: 0.55rem !important;
}
.item figure .item-view,
.swiper-slide figure .item-view {
    right: 2.15rem !important;
}
.item figure .item-compare,
.swiper-slide figure .item-compare {
    right: 3.75rem !important;
}
.main-content .item figure .item-like,
.main-content .item figure .item-view,
.main-content .item figure .item-compare,
.main-content .swiper-slide figure .item-like,
.main-content .swiper-slide figure .item-view,
.main-content .swiper-slide figure .item-compare {
    top: 0.75rem !important;
    bottom: auto !important;
    left: auto !important;
    opacity: 1 !important; /* don't rely on hover */
    margin: 0 !important;
    margin-top: 0 !important;
    z-index: 4 !important;
}
/* Horizontal positions (right-to-left stacking) */
.main-content .item figure .item-like,
.main-content .swiper-slide figure .item-like {
    right: 0.55rem !important;
}
.main-content .item figure .item-view,
.main-content .swiper-slide figure .item-view {
    right: 2.15rem !important;
}
.main-content .item figure .item-compare,
.main-content .swiper-slide figure .item-compare {
    right: 3.75rem !important;
}
/* Exclude Auto Ads section actions (keep their own UI) */
.auto-product-ads-wrap .item figure .item-like,
.auto-product-ads-wrap .item figure .item-view,
.auto-product-ads-wrap .item figure .item-compare,
.auto-product-ads-wrap .swiper-slide figure .item-like,
.auto-product-ads-wrap .swiper-slide figure .item-view,
.auto-product-ads-wrap .swiper-slide figure .item-compare {
    top: unset !important;
    right: unset !important;
}

/* Sale badge responsive sizing */
.sale_tag {
    width: 44px;
    height: 44px;
    font-size: 11px;
}
/* Discount should be shown only in circle badge, not again below image/card title area. */
.main-content .item .special-price.striped-price,
.main-content .swiper-slide .special-price.striped-price {
    display: none !important;
}
@media (max-width: 991.98px) {
    .sale_tag { width: 40px; height: 40px; font-size: 10px; }
    .main-content .item figure .item-like,
    .main-content .item figure .item-view,
    .main-content .item figure .item-compare,
    .main-content .swiper-slide figure .item-like,
    .main-content .swiper-slide figure .item-view,
    .main-content .swiper-slide figure .item-compare {
        width: 1.2rem !important;
        height: 1.2rem !important;
        line-height: 1.2rem !important;
        font-size: 0.58rem !important;
    }
    .main-content .item figure .item-like { right: 0.42rem !important; top: 0.5rem !important; }
    .main-content .item figure .item-view { right: 1.75rem !important; top: 0.5rem !important; }
    .main-content .item figure .item-compare { right: 3.08rem !important; top: 0.5rem !important; }
    .main-content .swiper-slide figure .item-like { right: 0.42rem !important; top: 0.5rem !important; }
    .main-content .swiper-slide figure .item-view { right: 1.75rem !important; top: 0.5rem !important; }
    .main-content .swiper-slide figure .item-compare { right: 3.08rem !important; top: 0.5rem !important; }
}
@media (max-width: 575.98px) {
    .sale_tag { width: 36px; height: 36px; font-size: 9px; }
    .main-content .item figure .item-like,
    .main-content .item figure .item-view,
    .main-content .item figure .item-compare,
    .main-content .swiper-slide figure .item-like,
    .main-content .swiper-slide figure .item-view,
    .main-content .swiper-slide figure .item-compare {
        width: 1.1rem !important;
        height: 1.1rem !important;
        line-height: 1.1rem !important;
        font-size: 0.55rem !important;
    }
    .main-content .item figure .item-like { right: 0.35rem !important; top: 0.42rem !important; }
    .main-content .item figure .item-view { right: 1.55rem !important; top: 0.42rem !important; }
    .main-content .item figure .item-compare { right: 2.75rem !important; top: 0.42rem !important; }
    .main-content .swiper-slide figure .item-like { right: 0.35rem !important; top: 0.42rem !important; }
    .main-content .swiper-slide figure .item-view { right: 1.55rem !important; top: 0.42rem !important; }
    .main-content .swiper-slide figure .item-compare { right: 2.75rem !important; top: 0.42rem !important; }
}

/* .nav {
    --bs-nav-link-hover-color: var(--primary-color) !important;
} */

/* .nav-tabs.nav-tabs-basic .nav-link.active,
.nav-tabs.nav-tabs-basic .nav-item.show .nav-link {
    border-color: var(--primary-color) !important;
} */


.search_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: translateY(0);
    letter-spacing: -0.01rem;
    position: relative;
    border: 0px;
    background: white;
}

/* Home sticky bottom promo bar — full-width image strip, tap anywhere to open */
.mirswa-home-sticky-banner {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10640;
    background: transparent;
    padding: 0;
    padding-bottom: env(safe-area-inset-bottom, 0px);
    pointer-events: auto;
    line-height: 0;
}
.mirswa-home-sticky-banner__inner {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}
.mirswa-home-sticky-banner__link {
    display: block;
    width: 100%;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}
.mirswa-home-sticky-banner__media {
    width: 100%;
    overflow: hidden;
    background: transparent;
}
.mirswa-home-sticky-banner__media img,
.mirswa-home-sticky-banner__media video {
    width: 100%;
    height: var(--mirswa-sticky-banner-h-desktop, 88px);
    max-height: var(--mirswa-sticky-banner-h-desktop, 88px);
    object-fit: cover;
    object-position: center;
    display: block;
}
.mirswa-home-sticky-banner__close {
    position: absolute;
    top: 6px;
    right: 8px;
    z-index: 3;
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}
.mirswa-home-sticky-banner__close:hover {
    background: rgba(0, 0, 0, 0.72);
}
@media (max-width: 575.98px) {
    .mirswa-home-sticky-banner__media img,
    .mirswa-home-sticky-banner__media video {
        height: var(--mirswa-sticky-banner-h-mobile, 64px);
        max-height: var(--mirswa-sticky-banner-h-mobile, 64px);
    }
    .mirswa-home-sticky-banner__close {
        top: 4px;
        right: 6px;
        width: 26px;
        height: 26px;
        font-size: 16px;
    }
}

/* Auto-rotating horizontal product ads (below hero slider) */
.auto-product-ads-track {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.auto-product-ad-card {
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 12px;
    background: #fff;
    padding: 10px;
    min-height: 102px;
    box-shadow: 0 1px 0 rgba(15, 23, 42, 0.04), 0 8px 18px rgba(15, 23, 42, 0.06);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    will-change: transform;
}
.auto-product-ad-link{
    display: flex;
    align-items: center;
    gap: 10px;
    color: inherit;
    width: 100%;
}
.auto-product-ad-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 2px 0 rgba(15, 23, 42, 0.05), 0 14px 32px rgba(15, 23, 42, 0.14);
    border-color: color-mix(in srgb, var(--primary-color) 30%, rgba(15, 23, 42, 0.10));
}
.auto-product-ad-media {
    width: 92px;
    min-width: 92px;
    height: 84px;
    border-radius: 10px;
    overflow: hidden;
    background: linear-gradient(180deg, #f8fafc, #eef2f7);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.auto-product-ad-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform .22s ease;
}
.auto-product-ad-card:hover .auto-product-ad-media img {
    transform: scale(1.04);
}

.auto-product-ad-actions{
    position: absolute;
    top: auto;
    right: 8px;
    bottom: 8px;
    display: flex;
    flex-direction: row;
    gap: 6px;
    z-index: 3;
    opacity: 0;
    transform: translateY(2px);
    transition: opacity .18s ease, transform .18s ease;
    pointer-events: none; /* enabled on buttons below */
}
.auto-product-ad-card:hover .auto-product-ad-actions{
    opacity: 1;
    transform: translateY(0);
}
.auto-product-ad-action{
    pointer-events: auto;
    width: 30px;
    height: 30px;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    background: rgba(255,255,255,0.96);
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.12);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: transform .15s ease, border-color .15s ease;
}
.auto-product-ad-action i{
    font-size: 13px;
    color: #0f172a;
}
.auto-product-ad-action:hover{
    transform: translateY(-1px);
    border-color: color-mix(in srgb, var(--primary-color) 35%, rgba(15, 23, 42, 0.12));
}

@media (max-width: 767.98px){
    .auto-product-ad-actions{
        opacity: 1;
        transform: none;
    }
}

/* Keep custom action placement scoped ONLY to auto ads cards. */
.auto-product-ads-wrap .auto-product-ad-actions{
    right: 4px;
    bottom: 4px;
    gap: 4px;
    max-width: calc(100% - 8px);
    flex-wrap: nowrap;
}
.auto-product-ads-wrap .auto-product-ad-action{
    width: 21px;
    height: 21px;
    min-width: 21px;
}
.auto-product-ads-wrap .auto-product-ad-action i{
    font-size: 9px;
}
@media (max-width: 767.98px){
    .auto-product-ads-wrap .auto-product-ad-actions{
        right: 3px;
        bottom: 3px;
        gap: 3px;
    }
    .auto-product-ads-wrap .auto-product-ad-action{
        width: 20px;
        height: 20px;
        min-width: 20px;
    }
    .auto-product-ads-wrap .auto-product-ad-action i{
        font-size: 8px;
    }
}
.auto-product-ad-content {
    min-width: 0;
}
.auto-product-ad-title {
    color: #111827;
    font-size: 13.5px;
    font-weight: 800;
    line-height: 1.25;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.auto-product-ad-price-row {
    margin-top: 6px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}
.auto-product-ad-rating {
    margin-top: 4px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--secondary-color);
    font-size: 12px;
    letter-spacing: .3px;
}
.auto-product-ad-stars {
    font-size: 12px;
    letter-spacing: 1px;
}
.auto-product-ad-rating-num {
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
}
.auto-product-ad-price {
    color: #0f172a;
    font-size: 15px;
    font-weight: 700;
}
.auto-product-ad-strike {
    color: var(--tertiary-color);
    font-size: 12px;
    text-decoration: line-through;
}
.auto-product-ad-discount {
    color: var(--primary-color);
    font-size: 11px;
    font-weight: 700;
}
@media (max-width: 991.98px) {
    .auto-product-ads-track {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 767.98px) {
    .auto-product-ads-track {
        grid-template-columns: 1fr;
        gap: 8px;
    }
    .auto-product-ad-card {
        min-height: 94px;
        padding: 7px;
    }
    .auto-product-ad-media {
        width: 84px;
        min-width: 84px;
        height: 78px;
    }
}

.search_btn:not(.btn-link):hover {
    transform: none;
    box-shadow: none;
}

.refer_and_earn_border {
    border: 2px dashed #343f52;
}

.btn-outline-primary:not(:disabled):not(.disabled).active,
.btn-outline-primary:not(:disabled):not(.disabled):active,
.show>.btn-outline-primary.dropdown-toggle {
    color: #fff;
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
}

.btn-check:checked+.btn,
:not(.btn-check)+.btn:active,
.btn:first-child:active,
.btn.active,
.btn.show {
    color: var(--bs-btn-active-color);
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    box-shadow: var(--bs-btn-active-shadow);
}

.btn-primary,
.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
}

.btn-primary:not(:disabled):not(.disabled).active,
.btn-primary:not(:disabled):not(.disabled):active,
.show>.btn-primary.dropdown-toggle {
    color: #fff;
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
}

.btn-primary.focus,
.btn-primary:focus {
    box-shadow: none !important;
}

.swiper-slide {
    text-align: center;
    font-size: 16px;
    background: #fff;
    /* background-color: #f7f7f7; */
}

/* .swiper-slide-category {
    width: 160px !important;
} */

.category-swiper>.swiper-controls>.swiper-navigation {
    display: none;
}

.swiper-slide-category img {
    height: 60px;
    border-radius: 8px;
}

/* Avoid global swiper-wrapper padding (causes end gaps). Scope it to category row only. */
.category-swiper .swiper-wrapper {
    padding: 0 !important;
}

.category-swiper{
    padding: 0 10px;
    width: 100%;
    max-width: 100%;
    overflow: hidden !important; /* prevents any spill/blue line */
    position: relative;
    clip-path: inset(0); /* hard clip transformed wrapper */
}

/* Home category row: remove forced tall height (gap under icons) */
.category-swiper{
    height: auto !important;
    min-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.category-swiper .swiper-wrapper{
    box-sizing: border-box;
}

.category-swiper .swiper-slide,
.category-swiper .brand_image_div{
    box-sizing: border-box;
}


.category-image-container img {
    max-height: 100%;
    border-radius: 8px;
    max-width: 100%;
}

.category-image-container {
    height: 75px !important;
    width: 75px !important;
}

.description_img img {
    max-width: 100% !important;
}

/* Deal countdown timer (boxed style) */
.deal-timer {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    max-width: 100%;
}
.deal-timer-label {
    font-weight: 600;
    font-size: 12px;
    color: var(--tertiary-color);
}
.deal-timer-boxes {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    max-width: 100%;
}
.deal-timer-box {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 8px;
    border: 1px solid rgba(226, 98, 107, 0.35);
    background: rgba(226, 98, 107, 0.08);
    border-radius: 10px;
    line-height: 1;
    max-width: 100%;
}
.deal-timer-num {
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    font-size: 12px;
    color: #1e2228;
}
.deal-timer-unit {
    font-weight: 600;
    font-size: 10px;
    color: #60697b;
}
.deal-timer-sep {
    font-weight: 700;
    color: #60697b;
    margin: 0 1px;
}

/* Deal card badges */
.deal_tag,
.sale_tag {
    top: 10px;
    left: 10px;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    letter-spacing: 0.4px;
}

/* Use single-brand accent for SALE badge */
.sale_tag{
    background: var(--primary-color) !important;
    color: #fff !important;
}
.deal_tag_right {
    left: auto;
    right: 10px;
    top: 10px;
    z-index: 3;
}
.deal-discount-pill {
    margin-top: 6px;
    font-weight: 700;
}

/* Product detail title spacing */
.product-title-pro {
    padding-right: 8px;
    padding-left: 8px;
    margin-bottom: 6px;
    line-height: 1.25;
}

/* Product detail: available offers box */
.promo-offer-box {
    border-radius: 12px;
    border: 1px solid #e9edf5 !important;
    background: #fff;
}
.promo-offer-box ul li {
    line-height: 1.25;
}
.promo-ticket {
    position: relative;
    border: 1px dashed #f4cf65;
    border-radius: 10px;
    background: linear-gradient(180deg, #fff9e6 0%, #fffdf4 100%);
    padding: 12px 14px;
    box-shadow: inset 0 0 0 1px rgba(244, 207, 101, 0.25);
}
.promo-ticket::before,
.promo-ticket::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 12px;
    height: 12px;
    background: #fff;
    border: 1px solid #e8edf5;
    border-radius: 999px;
    transform: translateY(-50%);
}
.promo-ticket::before {
    left: -7px;
}
.promo-ticket::after {
    right: -7px;
}
.promo-ticket-code {
    letter-spacing: 0.5px;
    font-size: 12px;
    padding: 6px 10px;
    border-radius: 999px;
}

/* Ticket layout: button bottom aligned (marketplace-like) */
.promo-ticket-row {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 10px;
}
.promo-ticket-main {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    align-content: flex-start;
    flex: 1 1 auto;
    min-width: 0;
}
.promo-ticket-main > span:nth-child(2) {
    display: block;
    width: 100%;
    font-size: 16px;
}
.promo-ticket-main > span:nth-child(3) {
    font-size: 13px;
}
.promo-ticket-row .apply-product-promo {
    align-self: center;
    margin-top: 0;
    white-space: nowrap;
    min-width: 84px;
    max-width: 100%;
    height: 42px;
    border-width: 2px;
    font-weight: 700;
    flex: 0 0 auto;
}

/* Applied coupon highlight (ticket stays visibly active) */
.promo-ticket:has(.apply-product-promo.is-applied) {
    border-color: var(--primary-color);
    background: linear-gradient(180deg, color-mix(in srgb, var(--primary-color) 8%, #fff) 0%, color-mix(in srgb, var(--primary-color) 3%, #fff) 100%);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--primary-color) 25%, transparent);
}

.apply-product-promo.is-applied {
    background: color-mix(in srgb, var(--tertiary-color) 6%, #fff) !important;
    border-color: var(--tertiary-color) !important;
    color: var(--tertiary-color) !important;
    font-weight: 700;
}
.promo-ticket .text-dark.small.mt-1 {
    margin-top: 10px !important;
    font-size: 13px;
}
.promo-ticket .text-muted.small.mt-1 {
    margin-top: 4px !important;
    font-size: 12px;
    line-height: 1.45;
}

@media (max-width: 767.98px) {
    .promo-ticket {
        padding: 10px 10px;
    }
    .promo-ticket-row {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }
    .promo-ticket-row .apply-product-promo {
        align-self: flex-end;
        min-width: 90px;
        height: 38px;
    }
}

/* Desktop scaling safety: prevent Apply button overflow at 110%-125% zoom */
@media (max-width: 1599.98px) and (min-width: 768px) {
    .promo-ticket-row {
        flex-wrap: wrap;
        align-items: flex-start;
    }
    .promo-ticket-main {
        flex: 1 1 100%;
    }
    .promo-ticket-row .apply-product-promo {
        align-self: flex-start;
        margin-left: auto;
        height: 40px;
    }
    .product-delivery-card .input-group {
        flex-wrap: wrap;
        gap: 8px;
    }
    .product-delivery-card .input-group .form-control {
        flex: 1 1 100%;
        width: 100%;
    }
    .product-delivery-card .input-group .btn {
        flex: 0 0 auto;
    }
}
.product-detail-card {
    background: #fff;
    border: 1px solid #eef1f4;
    border-radius: 12px;
    padding: 14px;
}
.product-page-details .post-title {
    margin-bottom: 4px;
}
.product-page-details p {
    margin-bottom: 8px;
}
.product-page-details .num-block {
    max-width: 240px;
}
.product-page-details .product-page-div {
    margin-top: 6px;
    padding-top: 6px !important;
    flex-wrap: wrap;
    row-gap: 8px;
}
.product-page-details .product-permission-feature {
    justify-content: flex-start !important;
    gap: 18px;
}
.product-page-details .product-permission-feature {
    flex-wrap: wrap;
    overflow: visible !important;
    align-items: flex-start;
}
.product-page-details .product-permission-feature > div {
    flex: 1 1 130px;
    min-width: 130px;
    max-width: 180px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}
.product-page-details .product-permission {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
}
.product-page-details .product-permission img {
    width: 22px;
    height: 22px;
    object-fit: contain;
}
.product-page-details .product-permission-text {
    margin-top: 6px;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
    line-height: 1.3;
    text-align: center;
}
.product-page-details .cod-eligible-strip {
    display: block;
    margin-top: 10px;
    line-height: 1.4;
    white-space: normal;
    word-break: break-word;
}

@media (max-width: 991.98px) {
    .product-page-details .product-permission-feature {
        gap: 12px;
        justify-content: space-between !important;
    }
    .product-page-details .product-permission-feature > div {
        flex: 1 1 calc(33.333% - 12px);
        min-width: 92px;
        max-width: none;
    }
    .product-page-details .product-permission-text {
        font-size: 12px;
        line-height: 1.25;
    }
}

@media (max-width: 575.98px) {
    .product-page-details .product-permission-feature {
        gap: 8px;
        padding-top: 4px !important;
        margin-top: 4px;
    }
    .product-page-details .product-permission-feature > div {
        flex: 1 1 calc(33.333% - 8px);
        min-width: 0;
    }
    .product-page-details .product-permission img {
        width: 20px;
        height: 20px;
    }
    .product-page-details .cod-eligible-strip {
        font-size: 13px !important;
        margin-top: 8px;
    }
}
.product-page-details .promo-offer-box {
    margin-top: 12px !important;
}
.product-layout-wrap {
    margin-bottom: 10px;
    margin-top: 0 !important;
    --pdp-sticky-offset: 146px;
}

/* NOTE: do not override global header positioning here.
   Theme already manages sticky/fixed header. */
.product-gallery-card {
    background: #fff;
    border: 1px solid #e8edf5;
    border-radius: 12px;
    padding: 8px;
}
.product-gallery-wrap {
    position: sticky;
    top: var(--pdp-sticky-offset);
    align-self: flex-start;
}
.product-page-details .post-header.product-detail-card {
    position: static;
    top: auto;
    box-shadow: none;
}
.product-short-desc {
    color: #5f6b7a;
    line-height: 1.4;
}
.product-page-details .product-title-pro {
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.35;
    padding-left: 0;
    padding-right: 0;
}
.product-page-details #price {
    font-size: 26px !important;
    font-weight: 700;
    color: #111827;
}
.product-page-details .striped-price {
    font-size: 14px;
}
.product-delivery-card {
    border: 1px solid #e9edf5;
    border-radius: 10px;
    padding: 10px;
    background: #fbfdff;
}
.product-delivery-card .input-group {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.product-delivery-card .input-group .form-control {
    min-width: 0;
}
.product-cta-row .btn {
    min-height: 44px;
    font-weight: 700;
    border-radius: 8px !important;
}
/* PDP CTA buttons: prevent shrink on hover/tap, keep strong touch height */
.pdp-page #pdp-cta-anchor .product-cta-row #add_cart,
.pdp-page #pdp-cta-anchor .product-cta-row #buy_now {
    min-height: 48px;
    height: 48px;
    max-height: 48px;
    line-height: 1.2;
    transform: none !important;
    transition: box-shadow .14s ease, filter .14s ease !important;
}
.pdp-page #pdp-cta-anchor .product-cta-row #add_cart:hover,
.pdp-page #pdp-cta-anchor .product-cta-row #buy_now:hover,
.pdp-page #pdp-cta-anchor .product-cta-row #add_cart:focus,
.pdp-page #pdp-cta-anchor .product-cta-row #buy_now:focus,
.pdp-page #pdp-cta-anchor .product-cta-row #add_cart:active,
.pdp-page #pdp-cta-anchor .product-cta-row #buy_now:active {
    min-height: 48px !important;
    height: 48px !important;
    max-height: 48px !important;
    transform: none !important;
    filter: none;
}
.product-cta-row #add_cart,
.product-cta-row #buy_now,
.product-cta-row a.btn.btn-yellow {
    min-width: 0;
    padding-left: 16px;
    padding-right: 16px;
}
body:not(.pdp-page) .product-cta-row #add_cart,
body:not(.pdp-page) .product-cta-row a.btn.btn-yellow {
    background: var(--secondary-color) !important;
    border-color: var(--secondary-color) !important;
    color: #fff !important;
}
body:not(.pdp-page) .product-cta-row #buy_now {
    background: var(--quaternary-color) !important;
    border-color: var(--quaternary-color) !important;
    color: #fff !important;
}
/* PDP CTAs — secondary (add) + quaternary (buy) */
.pdp-page .product-cta-row #add_cart,
.pdp-page .product-cta-row a.btn.btn-yellow,
.pdp-page #pdp-cta-anchor #add_cart {
    background: var(--secondary-color) !important;
    border-color: var(--secondary-color) !important;
    color: #fff !important;
}
.pdp-page .product-cta-row #buy_now,
.pdp-page #pdp-cta-anchor #buy_now {
    background: var(--quaternary-color) !important;
    border-color: var(--quaternary-color) !important;
    color: #fff !important;
}
.product-cta-row #compare,
.product-cta-row .add-to-fav-btn,
.product-cta-row a.btn-success {
    min-width: 44px;
    width: 44px !important;
    height: 44px;
    border-radius: 8px !important;
}
.product-cta-row {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 8px !important;
    position: sticky;
    top: var(--pdp-sticky-offset);
    z-index: 8;
    background: #fff;
    padding: 8px 0;
    margin-bottom: 8px;
    border-bottom: 1px solid #eef2f7;
}
.pdp-page #pdp-cta-anchor .product-cta-row {
    position: static !important;
    top: auto !important;
    margin-bottom: 0 !important;
    border-bottom: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    overflow: hidden !important;
}
.product-cta-row .btn {
    flex: 0 0 auto;
}
.product-cta-row #add_cart,
.product-cta-row #buy_now,
.product-cta-row a.btn.btn-yellow {
    flex: 1 1 auto;
}

/* PDP CTA: adapt to window width (avoid horizontal scroll/cutoff) */
@media (max-width: 1599.98px) {
    .product-cta-row {
        flex-wrap: wrap;
        overflow: visible;
        padding-bottom: 10px;
    }
    .product-cta-row #add_cart,
    .product-cta-row #buy_now,
    .product-cta-row a.btn.btn-yellow {
        flex: 1 1 220px;
        min-width: 180px;
    }
    .product-cta-row #compare,
    .product-cta-row .add-to-fav-btn,
    .product-cta-row a.btn-success {
        flex: 0 0 44px;
    }
}

@media (max-width: 575.98px) {
    .product-cta-row {
        gap: 10px !important;
    }
    .product-cta-row #add_cart,
    .product-cta-row #buy_now,
    .product-cta-row a.btn.btn-yellow {
        flex: 1 1 100%;
        min-width: 0;
    }
}

.product-cta-row .pdp-qty-in-cta {
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    align-items: center;
}

.pdp-coupon-bar {
    border: 1px solid #e6eef7;
    background: #f3fbf7;
    border-radius: 10px;
    padding: 10px 12px;
}
.pdp-coupon-bar .pdp-remove-coupon {
    font-weight: 700;
    color: #6b7280;
}
.product-highlights-card {
    border: 1px solid #e9edf5;
    border-radius: 10px;
    padding: 10px 12px;
    background: #fff;
}
.product-spec-card {
    border: 1px solid #e9edf5;
    border-radius: 10px;
    padding: 10px 12px;
    background: #fff;
}
.product-spec-card .product-detail-tab tr td:first-child {
    color: #6b7280;
    width: 42%;
}
.product-spec-card .product-detail-tab tr td {
    padding-top: 8px;
    padding-bottom: 8px;
    border-bottom: 1px solid #f2f5f9;
    vertical-align: top;
}
.product-spec-card .product-detail-tab tr:last-child td {
    border-bottom: 0;
}
.product-tabs-wrap-container .product-detail-tabs {
    border-bottom: 1px solid #e9edf5;
    background: #fff;
    border-radius: 10px 10px 0 0;
    padding: 6px 10px 0;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
}
.product-tabs-wrap-container .product-nav-tab {
    white-space: nowrap;
}
.product-tabs-wrap-container .product-detail-tabs .nav-item {
    display: flex;
}
.product-tabs-wrap-container .product-detail-tabs .product-nav-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
}
.product-tabs-wrap-container .product-tab-panel {
    background: #fff;
    border: 1px solid #e9edf5;
    border-top: 0;
    border-radius: 0 0 10px 10px;
    min-height: 220px;
    overflow: visible;
}

/* PDP: avoid fixed-height scroll traps inside tab content */
.product-tabs-wrap-container .tab-pane {
    overflow: visible;
}

/* PDP description tab: use full panel width */
#product-desc,
#product-desc > .row,
#product-desc .description.description_img {
    width: 100%;
    max-width: 100%;
}
#product-desc > .row {
    margin-left: 0;
    margin-right: 0;
}
#product-desc .description.description_img {
    flex: 0 0 100%;
    padding-left: 0;
    padding-right: 0;
}
#product-desc .description.description_img > * {
    max-width: 100% !important;
}
#product-desc .description.description_img > div,
#product-desc .description.description_img .tw\:space-y-6,
#product-desc .description.description_img .tw\:space-y-6 > div {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both;
}
#product-desc .description.description_img p,
#product-desc .description.description_img li,
#product-desc .description.description_img h1,
#product-desc .description.description_img h2,
#product-desc .description.description_img h3,
#product-desc .description.description_img h4,
#product-desc .description.description_img h5,
#product-desc .description.description_img h6,
#product-desc .description.description_img div,
#product-desc .description.description_img span {
    max-width: 100%;
}
#product-desc .description.description_img [style*="width"] {
    max-width: 100% !important;
}

/* PDP: reduce extra whitespace above gallery on large screens */
.product-layout-wrap {
    padding-top: 0;
}

/* Keep right detail column as sticky scroll region until tabs end */
.product-page-details {
    position: relative;
}

/* Sticky inside PDP — right column sticky; CTA sticky at column bottom */
@media (min-width: 992px) {
    .pdp-page .product-page-details {
        overflow: visible !important;
        z-index: 0;
    }
    .pdp-page #pdp-cta-anchor {
        overflow: visible !important;
    }
}

.product-tabs-wrap-container .product-nav-tab {
    font-weight: 600;
    color: #475467;
}
.product-tabs-wrap-container .product-nav-tab.active {
    color: var(--primary-color) !important;
    border-bottom: 2px solid var(--primary-color) !important;
}

/* PDP tabs: use full available width on desktop */
@media (min-width: 992px) {
    .product-tabs-wrap-container .product-detail-tabs {
        width: 100%;
        overflow-x: hidden;
        white-space: normal;
    }
    .product-tabs-wrap-container .product-detail-tabs .nav-item {
        flex: 1 1 0;
        text-align: center;
    }
    .product-tabs-wrap-container .product-detail-tabs .product-nav-tab {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

/* PDP tabs: responsive behavior for tablet and mobile */
@media (max-width: 991.98px) {
    .product-tabs-wrap-container .product-detail-tabs {
        width: 100%;
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
        padding: 4px 6px 0;
        gap: 4px;
    }
    .product-tabs-wrap-container .product-detail-tabs .nav-item {
        flex: 0 0 auto;
    }
    .product-tabs-wrap-container .product-detail-tabs .product-nav-tab {
        min-height: 40px;
        padding: 8px 12px;
        font-size: 14px;
    }
}
@media (max-width: 575.98px) {
    .product-tabs-wrap-container .product-detail-tabs .product-nav-tab {
        min-height: 38px;
        padding: 7px 10px;
        font-size: 13px;
    }
}
.product-gallery-wrap .product-thumb-img .swiper-slide {
    border: 1px solid #eef2f7;
    border-radius: 8px;
    background: #fff;
    padding: 2px;
}
.product-gallery-wrap .product-thumb-img .swiper-slide-thumb-active {
    border-color: var(--primary-color);
}
.product-gallery-wrap .gallery-top-1 .swiper-slide figure {
    border: 1px solid #eef2f7;
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
    margin: 0;
    height: 450px;
    position: relative;
}

/* PDP zoom button: modern, always clickable (bottom-right) */
.pdp-page .product-gallery-wrap .gallery-top-1 .swiper-slide figure .item-link {
    position: absolute;
    right: 12px;
    bottom: 12px;
    left: auto;
    top: auto;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(15, 23, 42, 0.10);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    z-index: 5;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
    backdrop-filter: blur(6px);
}
.pdp-page .product-gallery-wrap .gallery-top-1 .swiper-slide figure .item-link i {
    font-size: 20px;
    color: #0f172a;
}
.pdp-page .product-gallery-wrap .gallery-top-1 .swiper-slide figure .item-link:hover {
    transform: translateY(-1px);
    border-color: color-mix(in srgb, var(--primary-color) 35%, rgba(15, 23, 42, 0.12));
}
.pdp-page .pdp-breadcrumb-wrap {
    display: none !important;
}

section.wrapper.mirswa-pdp-section.listing-page.bg-light {
    background: #f1f3f6 !important;
    padding-top: 0 !important;
}

.pdp-page section.wrapper.mirswa-pdp-section .mirswa-page-top-gap {
    height: 0;
    min-height: 0;
    border-bottom: none;
    background: #f1f3f6;
}

.pdp-page section.wrapper.mirswa-pdp-section.listing-page.bg-light > .container.mirswa-pdp-page-container {
    padding-top: 0 !important;
    padding-bottom: 0.75rem;
}

.pdp-page .mirswa-pdp-page-container {
    padding-top: 0 !important;
    padding-bottom: 0.75rem;
}

.pdp-page .mirswa-pdp-page-head--details {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 0 0 0.3rem;
    padding: 0 0 0.25rem;
    border-bottom: 1px solid #eef2f7;
}

.pdp-page .mirswa-pdp-page-head--details .mirswa-pdp-breadcrumb,
.pdp-page .mirswa-pdp-page-head--details .mirswa-listing-breadcrumb,
.pdp-page .mirswa-pdp-page-head--details .mirswa-listing-breadcrumb__list {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    overflow: visible !important;
}

.pdp-page .mirswa-pdp-page-head {
    display: block !important;
    visibility: visible !important;
    margin-bottom: 0.45rem;
    padding-top: 0;
    padding-bottom: 0;
    border-top: none;
}

.pdp-page .mirswa-pdp-head {
    padding-top: 0;
    margin-bottom: 0.5rem;
    border-top: none;
}

.pdp-page .mirswa-pdp-breadcrumb,
.pdp-page .mirswa-pdp-page-head .mirswa-listing-breadcrumb {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-top: 0;
    margin-bottom: 0.3rem;
    padding-top: 0.2rem;
}

.pdp-page .mirswa-pdp-head .product-title-pro {
    margin-top: 0.15rem;
}

@media (max-width: 991.98px) {
    .pdp-page .mirswa-pdp-head {
        border-top: none;
        padding-top: 0.15rem;
    }
}

@media (min-width: 992px) {
    .pdp-page #pdp-cta-anchor {
        position: sticky !important;
        bottom: 0 !important;
        top: auto !important;
        z-index: 120 !important;
    }
    /* keep wishlist visible; hide other icons if needed */
    .pdp-page #pdp-cta-anchor #compare,
    .pdp-page #pdp-cta-anchor a.btn-success {
        display: none !important;
    }
    /* Prevent auto-jump feeling while swiping/scrolling on PDP mobile */
    .pdp-page,
    .pdp-page .pdp-right-top,
    .pdp-page .product-tabs-wrap-container .product-detail-tabs {
        scroll-behavior: auto !important;
    }
}

/* PDP fixed-split desktop layout (50/50) */
@media (min-width: 992px) {
    :root {
        /* header offset for sticky gallery / right panel */
        --pdp-fixedsplit-offset: 76px;
        --pdp-cta-bar-safe: 76px;       /* reserve space for CTA bar (avoid bottom clip) */
    }
    /* Remove extra bottom whitespace from Bootstrap spacing */
    .pdp-page .main-content.product-layout-wrap {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }
    .pdp-page .main-content.product-layout-wrap > .row,
    .pdp-page .main-content.product-layout-wrap .row.g-3 {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }
    .pdp-page .product-layout-wrap > .row {
        align-items: stretch;
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        grid-auto-rows: minmax(0, 1fr);
        gap: 8px;
        margin-top: 0.2rem;
    }
    .pdp-page .product-layout-wrap > .row > .product-gallery-wrap,
    .pdp-page .product-layout-wrap > .row > .pdp-right-col {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    /* Left: sticky gallery */
    .pdp-page .product-gallery-wrap {
        position: sticky;
        top: var(--pdp-fixedsplit-offset);
        height: calc(100dvh - var(--pdp-fixedsplit-offset));
        overflow: hidden;
    }
    .pdp-page .product-gallery-wrap .product-gallery-card {
        height: 100%;
    }

    /* Right: fixed-height panel with internal scroll + sticky footer */
    .pdp-page .pdp-right-col {
        display: flex;
        flex-direction: column;
        position: sticky;
        top: var(--pdp-fixedsplit-offset);
        height: calc(100dvh - var(--pdp-fixedsplit-offset));
        min-height: calc(100dvh - var(--pdp-fixedsplit-offset));
        max-height: calc(100dvh - var(--pdp-fixedsplit-offset));
        overflow: visible;
        background: #fff;
    }
    .pdp-page .pdp-right-top {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        overflow-x: hidden;
        padding-top: 0.15rem;
        padding-bottom: 0;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
    }
    /* Hide scrollbar indicator but keep scroll */
    .pdp-page .pdp-right-top {
        scrollbar-width: none; /* Firefox */
        -ms-overflow-style: none; /* IE/Edge legacy */
    }
    .pdp-page .pdp-right-top::-webkit-scrollbar {
        width: 0;
        height: 0;
    }
    .pdp-page #pdp-cta-anchor {
        width: 100%;
        flex: 0 0 auto;
        flex-shrink: 0;
        height: auto;
        min-height: 76px;
        max-height: none;
        box-sizing: border-box;
        background: #fff !important;
        border: 0;
        border-top: 1px solid #e9edf5;
        border-radius: 0;
        box-shadow: 0 -1px 0 #e9edf5;
        padding: 12px 12px 14px;
        margin: 0 !important;
        margin-top: auto !important;
        position: sticky !important;
        bottom: 0 !important;
        top: auto !important;
        z-index: 120 !important;
        overflow: visible !important;
        isolation: isolate;
    }
    .pdp-page #pdp-cta-anchor .product-cta-row {
        width: 100%;
        border: 0 !important;
        box-shadow: none !important;
        padding: 0 !important;
        overflow: hidden !important;
        background: #fff !important;
    }

    /* Desktop CTA bar: make all controls same height and aligned */
    .pdp-page #pdp-cta-anchor .product-cta-row {
        display: flex !important;
        align-items: stretch !important;
        flex-wrap: nowrap !important;
        gap: 10px !important;
    }
    .pdp-page #pdp-cta-anchor .product-cta-row > * {
        height: 44px;
        min-height: 44px;
    }
    .pdp-page #pdp-cta-anchor .product-cta-row .btn {
        height: 44px;
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        line-height: 1;
    }
    /* Qty block */
    .pdp-page #pdp-cta-anchor .product-cta-row .pdp-qty-in-cta,
    .pdp-page #pdp-cta-anchor .product-cta-row .num-block {
        height: 44px;
        display: flex;
        align-items: stretch;
        margin: 0 !important;
    }
    .pdp-page #pdp-cta-anchor .product-cta-row .num-in {
        height: 44px !important;
        width: 120px !important;
        margin-top: 0 !important;
        border: 1px solid #d7dee8;
        border-radius: 10px;
        float: none;
        display: flex;
        align-items: center;
        overflow: hidden;
        background: #fff;
    }
    .pdp-page #pdp-cta-anchor .product-cta-row .num-in span {
        height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        float: none;
    }
    .pdp-page #pdp-cta-anchor .product-cta-row .num-in input {
        height: 44px;
        float: none;
        font-weight: 700;
        color: #475467;
        background: #fff;
    }
    .pdp-page #pdp-cta-anchor .product-cta-row .num-block input,
    .pdp-page #pdp-cta-anchor .product-cta-row .num-block .minus,
    .pdp-page #pdp-cta-anchor .product-cta-row .num-block .plus {
        height: 44px;
        line-height: 44px;
    }
    /* Wishlist icon button */
    .pdp-page #pdp-cta-anchor .product-cta-row .add-to-fav-btn {
        height: 44px !important;
        min-width: 44px;
        width: 44px;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    /* Make primary CTAs fill remaining width */
    .pdp-page #pdp-cta-anchor .product-cta-row #add_cart,
    .pdp-page #pdp-cta-anchor .product-cta-row #buy_now {
        flex: 1 1 0;
        min-width: 160px;
        border-radius: 10px !important;
    }
}

/* Hide horizontal scrollbar indicator on tab strip (keep swipe/scroll) */
.product-tabs-wrap-container .product-detail-tabs {
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge legacy */
}
.product-tabs-wrap-container .product-detail-tabs::-webkit-scrollbar {
    width: 0;
    height: 0;
}

/* Marketplace-like CTA colors on PDP bottom bar — ::before mask set per breakpoint in definitive block */
.pdp-page #pdp-cta-anchor #add_cart {
    background: var(--secondary-color) !important;
    border-color: var(--secondary-color) !important;
    color: #fff !important;
}
.pdp-page #pdp-cta-anchor #buy_now {
    background: var(--quaternary-color) !important;
    border-color: var(--quaternary-color) !important;
    color: #fff !important;
}

/* Responsive PDP action bar (mobile/tablet) */
@media (max-width: 991.98px) {
    /* Single search UI on mobile/tablet: keep input bar, hide header icon trigger */
    .desktop-search,
    a.desktop-search,
    .navbar-other a.desktop-search,
    .navbar-other .nav-link.desktop-search {
        display: none !important;
    }

    .mobile-searchbar {
        display: block !important;
    }

    /* full-width bottom bar like app */
    .pdp-page #pdp-cta-anchor {
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        max-width: 100vw !important;
        box-sizing: border-box !important;
        padding: 10px 12px max(10px, env(safe-area-inset-bottom, 0px));
        background: #fff !important;
        border-top: 1px solid #e9edf5;
        z-index: 1300 !important;
        overflow: hidden !important;
        box-shadow: 0 -4px 12px rgba(17, 24, 39, 0.08) !important;
        isolation: isolate;
    }

    /* reserve space so content doesn't hide behind bar */
    body.pdp-page,
    .pdp-page {
        padding-bottom: calc(var(--pdp-mobile-cta-height, 76px) + env(safe-area-inset-bottom, 0px)) !important;
    }

    .pdp-page .product-tabs-wrap-container,
    .pdp-page .product-tabs-wrap-container .tab-content,
    .pdp-page .product-tabs-wrap-container .tab-pane,
    .pdp-page #product-desc,
    .pdp-page #product-desc .description {
        padding-bottom: calc(var(--pdp-mobile-cta-height, 76px) + 12px + env(safe-area-inset-bottom, 0px)) !important;
    }

    .pdp-page #pdp-cta-anchor .product-cta-row {
        position: static !important;
        top: auto !important;
        z-index: auto !important;
        border-bottom: 0 !important;
        margin-bottom: 0 !important;
        width: 100% !important;
        padding: 0 !important;
        border: 0 !important;
        box-shadow: none !important;
        background: #fff !important;
        display: flex;
        align-items: center;
        gap: 8px !important;
        flex-wrap: nowrap;
    }

    /* qty compact, buttons take remaining width */
    .pdp-page #pdp-cta-anchor .pdp-qty-in-cta {
        flex: 0 0 auto;
    }

    /* Mobile CTA bar: force equal heights and remove large paddings */
    .pdp-page #pdp-cta-anchor .product-cta-row > * {
        height: 44px;
        min-height: 44px;
    }
    .pdp-page #pdp-cta-anchor .product-cta-row .btn {
        height: 44px;
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        line-height: 1;
    }
    .pdp-page #pdp-cta-anchor .product-cta-row .num-block,
    .pdp-page #pdp-cta-anchor .product-cta-row .pdp-qty-in-cta {
        margin: 0 !important;
        padding: 0 !important; /* overrides py-3 from markup */
        display: flex;
        align-items: stretch;
    }
    .pdp-page #pdp-cta-anchor .product-cta-row .num-in {
        height: 44px !important;
        width: 116px !important;
        margin-top: 0 !important;
        border-radius: 10px;
        display: flex;
        align-items: center;
        overflow: hidden;
    }
    .pdp-page #pdp-cta-anchor .product-cta-row .num-in span,
    .pdp-page #pdp-cta-anchor .product-cta-row .num-in input {
        height: 44px !important;
        line-height: 44px !important;
    }
    .pdp-page #pdp-cta-anchor .product-cta-row .num-in input {
        font-weight: 700;
    }

    .pdp-page #pdp-cta-anchor #add_cart,
    .pdp-page #pdp-cta-anchor #buy_now {
        flex: 1 1 0;
        min-width: 0;
        white-space: nowrap;
    }

    /* keep wishlist visible on mobile; hide compare/whatsapp icons */
    .pdp-page #pdp-cta-anchor #compare,
    .pdp-page #pdp-cta-anchor a.btn-success {
        display: none !important;
    }

    /* Lift floating chat/whatsapp widgets above fixed bottom CTA bar */
    .pdp-page .whatsapp-icon {
        bottom: calc(84px + 12px) !important;
    }
    .pdp-page #chat-iframe {
        bottom: calc(84px + 12px) !important;
    }
}

.product-page-details .product-rating-small {
    margin-top: 6px;
    margin-bottom: 8px;
}
.product-page-details .deal-countdown {
    width: auto;
    max-width: 100%;
    display: inline-flex;
}
@media (max-width: 991.98px) {
    .product-page-details .post-header.product-detail-card {
        position: static;
        top: auto;
    }
    .product-gallery-wrap {
        position: static;
        top: auto;
    }
    .product-layout-wrap {
        margin-top: 0 !important;
    }
    .product-gallery-card {
        padding: 8px;
        border-radius: 10px;
    }
    .product-page-details .post-header.product-detail-card {
        padding: 12px;
        border-radius: 10px;
    }
    .product-page-details .product-rating-small {
        margin-top: 4px;
        margin-bottom: 6px;
    }
    .product-page-details .promo-offer-box {
        margin-top: 10px !important;
    }
    .product-page-details .product-delivery-card {
        margin-top: 10px !important;
    }
    .product-page-details .product-highlights-card {
        margin-top: 10px !important;
        padding: 10px;
        gap: 12px !important;
    }
    .product-page-details .product-cta-row {
        margin-top: 10px !important;
        padding-top: 0 !important;
        position: static;
        top: auto;
        z-index: auto;
        background: transparent;
        border-bottom: 0;
    }
    .product-page-details .product-spec-card {
        margin-top: 10px !important;
    }
    .product-cta-row #add_cart,
    .product-cta-row #buy_now,
    .product-cta-row a.btn.btn-yellow {
        min-width: 0;
        width: calc(50% - 4px);
    }
    .product-cta-row {
        column-gap: 8px !important;
    }
    .product-page-details #compare,
    .product-page-details .add-to-fav-btn,
    .product-page-details a.btn-success {
        width: 40px !important;
        min-width: 40px;
        height: 40px;
    }
    .product-tabs-wrap-container {
        margin-top: 8px !important;
    }
    .product-tabs-wrap-container .product-detail-tabs {
        padding: 4px 8px 0;
    }
    .product-tabs-wrap-container .product-tab-panel {
        padding: 10px !important;
    }
}

@media (max-width: 1199.98px) and (min-width: 992px) {
    .product-layout-wrap {
        --pdp-sticky-offset: 126px;
    }
}

/* Marketplace-like desktop behavior: all tab contents scroll in same panel */
@media (min-width: 992px) {
    .product-tabs-wrap-container .product-tab-panel {
        max-height: none;
        overflow-y: visible;
        overscroll-behavior: auto;
    }
}

/* ===== PDP-only behavior (stable) ===== */
/* Hide separate coupon bar; state shown inside offer rows only */
.pdp-page .pdp-coupon-bar {
    display: none !important;
}

/* PDP pinned CTA: sticky bottom bar inside right column */
@media (min-width: 992px) {
    .pdp-page #pdp-cta-anchor {
        position: sticky !important;
        flex: 0 0 auto !important;
        flex-shrink: 0 !important;
        height: auto !important;
        min-height: 76px !important;
        max-height: none !important;
        bottom: 0 !important;
        top: auto !important;
        margin: 0 !important;
        margin-top: auto !important;
        z-index: 120 !important;
        background: #fff !important;
        border-top: 1px solid #e9edf5 !important;
        box-shadow: 0 -1px 0 #e9edf5 !important;
        overflow: visible !important;
        padding: 12px 12px 14px !important;
    }
    .pdp-page #pdp-cta-anchor .product-cta-row {
        position: relative !important;
        background: #fff !important;
        border: 0;
        border-radius: 0;
        padding: 0;
        box-shadow: none;
        display: flex;
        align-items: center;
        flex-wrap: nowrap !important;
        overflow: visible !important;
        gap: 8px !important;
        min-height: 44px !important;
    }

    .pdp-page #pdp-cta-anchor .product-cta-row > * {
        flex: 0 0 auto;
    }

    /* Keep primary CTAs wide, icons fixed */
    .pdp-page #pdp-cta-anchor .product-cta-row #add_cart,
    .pdp-page #pdp-cta-anchor .product-cta-row #buy_now {
        flex: 1 0 150px;
        min-width: 150px;
    }

    .pdp-page #pdp-cta-anchor .product-cta-row .add-to-fav-btn,
    .pdp-page #pdp-cta-anchor .product-cta-row #compare,
    .pdp-page #pdp-cta-anchor .product-cta-row a.btn-success {
        flex: 0 0 44px;
        min-width: 44px;
    }
}

/* Site-wide compact breadcrumb spacing (modern theme) */
.deeplink_wrapper .wrapper.bg-soft-grape .container {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}

.deeplink_wrapper .breadcrumb {
    margin-bottom: 0;
    font-size: 13px;
    line-height: 1.2;
}

.sub_category-image-container {
    /* height: 100px !important; */
    width: 100px !important;
}

.sub_category-image-container img {
    max-height: 100%;
    max-width: 100%;
    border-radius: 8px;
}

.brand_image_div {
    width: 70px !important;
    height: 70px !important;
}

.brand_image_div img {
    object-fit: cover;
    max-width: 100%;
    max-height: 100%;
}

.progress-wrap.active-progress {
    opacity: 1 !important;
}

/* .category-swiper .swiper-controls .swiper-navigation {
    display: none;
} */

section.slider>.pb-md-1>.swiper-controls {
    position: relative !important;
}
section.slider>.pb-0>.swiper-controls {
    position: relative !important;
}

/* .swiper-controls {
    margin-top: 20px;
} */

/* Prevent global swiper padding creating trailing blank space */
.hero-slider-enhanced .swiper-wrapper {
    padding: 0 !important;
}

.slide-img {
    height: auto;
    width: 100%;

}

.slide-img img {
    width: 100%;
    height: auto;
}

.swiper-slide img {
    width: 100%;
    height: auto;
}

/* .slide-img {
    height: 500px;
} */

/* .swiper-slide-style4 {
    width: 310px !important;
    margin-right: 20px !important;
} */

.logo-img img {
    max-width: 100%;
    max-height: 100%;
}

/* .navbar-brand img {
    width: 50%;
} */

.product-grid .price span,
.striped-price {
    color: red;
    font-size: 13px;
    font-weight: 400;
    text-decoration: line-through;
    margin-left: 3px;
    display: inline-block;
}

button.btn.btn-secondary.dropdown-toggle {
    gap: 2px;
    display: flex;
    align-items: baseline;
}

figure img {
    
    width: 100% ;
}

/* .fig_image{
    height: 150px !important;
} */

.gallery-thumbs .swiper-controls {
    display: none;
}

/* num in counting  */
.num-in {
    background: #FFFFFF;
    border: 2px solid rgba(0, 0, 0, 0.1);
    height: 40px;
    width: 110px;
    float: left;
    margin-top: -22px;
}

.num-in span {
    width: 30%;
    display: block;
    height: 40px;
    float: left;
    position: relative;
}

.num-in span:before,
.num-in span:after {
    content: '';
    position: absolute;
    background-color: #667780;
    height: 2px;
    width: 10px;
    top: 50%;
    left: 50%;
    margin-top: -1px;
    margin-left: -5px;
}

.num-in span.plus:after {
    transform: rotate(90deg);
}

.num-in input {
    float: left;
    width: 60%;
    height: 36px;
    border: none;
    text-align: center;
    font-weight: 900;
    color: #b0b0b0;
}

.num-in input:focus {
    color: black;
    outline: none;
}

/* order details progressbar */
.orders-section .card-header > .d-flex,
.orders-section .media-body,
.orders-section .media-body h5,
.orders-section .media-body p,
.orders-section .media-body a {
    min-width: 0;
}
.orders-section .card-header > .d-flex {
    gap: 12px;
    align-items: flex-start;
}
.orders-section .card-header .btn-xs,
.orders-section .media-body .btn-xs {
    max-width: 100%;
    white-space: normal;
}
.orders-section .media-body p,
.orders-section .media-body a,
.orders-section .media-body h5 {
    overflow-wrap: anywhere;
}
.orders-section .logo-fit {
    max-width: 100%;
    height: auto;
}

.orders-section #progressbar #step1:before {
    content: "1";
    color: #fff;
    width: 29px;
    text-align: center;
}

.orders-section #progressbar #step2:before {
    content: "2";
    color: #fff;
    width: 29px;
    text-align: center;
}

.orders-section #progressbar #step3:before {
    content: "3";
    color: #fff;
    width: 29px;
    text-align: center;
}

.orders-section #progressbar #step4:before {
    content: "4";
    color: #fff;
    width: 29px;
    text-align: center;
}

.orders-section #progressbar #step5:before {
    content: "5";
    color: #fff;
    width: 29px;
    text-align: center;
}

.orders-section #progressbar #step6:before {
    content: "6";
    color: #fff;
    width: 29px;
    text-align: center;
}

.orders-section #progressbar #step7:before {
    content: "7";
    color: #fff;
    width: 29px;
    text-align: center;
}

section #progressbar div.active:after {
    background: var(--primary-color);
}

@media (max-width: 1024px) {
    .process-wrapper.line [class*=col-]:not(:last-child):after {
        width: 100%;
        position: absolute;
        content: "";
        height: 1px;
        background: none;
        border-top: 1px solid rgba(164, 174, 198, 0.2);
        top: 1.2rem;
        z-index: 1;
    }

    .orders-section .media.flex-column.flex-sm-row {
        gap: 16px;
    }

}

@media (max-width: 767.98px) {
    .orders-section .card-header > .d-flex {
        flex-wrap: wrap;
    }
    .orders-section .card-header .flex-col.my-auto,
    .orders-section .card-header h6.ml-auto.mr-3 {
        width: 100%;
        margin-right: 0 !important;
    }
    .orders-section .card-header h6.ml-auto.mr-3 {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }
    .orders-section .card-header h6.ml-auto.mr-3 .btn-xs,
    .orders-section .card-header h6.ml-auto.mr-3 .badge {
        margin: 0 !important;
    }
    .orders-section .media.flex-column.flex-sm-row {
        gap: 12px;
    }
    .orders-section .align-self-center.img-fluid {
        align-self: flex-start !important;
    }
    .orders-section .align-self-center.img-fluid img.logo-fit {
        width: 120px;
        height: auto;
    }
}

#step2,
#step3 {
    text-align: center;
}

#step4,
#step5 {
    text-align: right;
}

#step6 {
    text-align: end;
}

#step7 {
    text-align: end;
}

#progressbar div.cancel {
    color: red !important;
}

.orders-section #progressbar div.cancel:after {
    width: 0;
}


.blog_category .select2-container {
    width: 100% !important;
    /* padding-left: 109px; */
}

.blog-img {
    /* width: 300px; */
    height: 230px;
}

.product-list-image {
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
}

.product-bg {
    background-color: rgb(255, 255, 255);
    border-radius: 10px;
}

.item-compare {
    margin-top: 0 !important;
}

.swiper-img {
    border: 1px solid #c2c2c2;
    border-radius: 1.4mm;
    width: 88% !important;
    height: 60px !important;
    display: flex;
    align-items: center;
}

.swiper-img img {
    width: 100% !important;
}

.swiper-image img {
    max-width: 100% !important;
    max-height: 80px !important;
}

/* width */
.product-thumb-img::-webkit-scrollbar {
    width: 7px;
}

/* Track */
.product-thumb-img::-webkit-scrollbar-track {
    border-radius: 7px;
}

/* Handle */
.product-thumb-img::-webkit-scrollbar-thumb {
    background: rgb(178, 174, 174);
    border: 1px solid rgb(255, 255, 255);
    border-radius: 5px;
}

.swiper-slide-container>.swiper-controls {
    display: none;
}

.offer-img img {
    max-width: 100%;
    max-height: 100%;
    width: -webkit-fill-available;
}

.offer-img {
    width:100%;
    height: auto;
}

/* .offer-image {
    height: 330px;
    width: 100%;
} */

.faq_image {
    height: 350px;
    /* width: 430px; */
}

.faq_image img {
    max-width: 100%;
    max-height: 100%;
}

.blog-card-img {
    width: 100% !important;
    height: 300px;
    display: flex;
    align-content: center;
    justify-content: center;
    overflow: hidden;
}

/* .blog-card-img img {
    max-width: 100% !important;
    max-height: 100%;
} */

.fav-row .row {
    margin: 0;
}


.accordion-card {
    position: relative;
    display: flex;
    flex-direction: column;
}

.cart-img {
    width: 110px !important;
    height: 100px !important;
}

.cart-img img {
    max-width: 100% !important;
    max-height: 100% !important;
}

.checkout-img {
    width: 40% !important;
    height: 90px !important;
}

.checkout-img img {
    max-width: 100% !important;
    max-height: 100% !important;
}

/* Cart page responsive hardening */
.cart-table-wrapper .cart-product-desc-list td {
    vertical-align: middle;
}
.cart-table-wrapper .cart-product-desc-list .post-title {
    min-width: 0;
    overflow-wrap: anywhere;
}
.cart-table-wrapper .product-quantity .num-in {
    min-width: 110px;
}
.cart-table-wrapper .move-to-cart {
    max-width: 100%;
    white-space: normal;
}

@media (max-width: 991.98px) {
    .cart-table-wrapper .cart-product-desc-list td.option {
        display: flex !important;
        align-items: flex-start !important;
        gap: 12px;
    }
    .cart-table-wrapper .cart-product-desc-list td.option > .w-100 {
        min-width: 0;
        margin-left: 0 !important;
    }
    .cart-img {
        width: 84px !important;
        height: 84px !important;
        flex: 0 0 84px;
    }
    .cart-table-wrapper .product-line-price {
        white-space: nowrap;
    }
}

@media (max-width: 991.98px) {
    /* Mobile + tablet cart: clean card rows (no PRICE/TAX/QTY label grid) */
    #modern_cart_page .cart-table-wrapper {
        overflow-x: visible;
    }
    #modern_cart_page .cart-table-wrapper table.table-cart-product {
        display: block;
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }
    #modern_cart_page .cart-table-wrapper table.table-cart-product thead {
        display: none;
    }
    #modern_cart_page .cart-table-wrapper table.table-cart-product tbody {
        display: block;
    }
    #modern_cart_page .cart-table-wrapper .cart-product-desc-list {
        display: grid;
        grid-template-columns: 1fr auto;
        grid-template-areas:
            "product product"
            "qty subtotal"
            "actions actions";
        gap: 6px 10px;
        margin-bottom: 8px;
        padding: 10px 12px;
        border: 1px solid #e8edf5;
        border-radius: 10px;
        background: #fff;
        box-shadow: 0 2px 8px rgba(17, 24, 39, 0.04);
    }
    #modern_cart_page .cart-table-wrapper .cart-product-desc-list td {
        display: block;
        width: 100% !important;
        padding: 0 !important;
        border: 0 !important;
    }
    #modern_cart_page .cart-table-wrapper .cart-product-desc-list td.option {
        grid-area: product;
        margin-bottom: 0;
    }
    #modern_cart_page .cart-table-wrapper .cart-product-desc-list td:nth-child(2),
    #modern_cart_page .cart-table-wrapper .cart-product-desc-list td:nth-child(3),
    #modern_cart_page .cart-table-wrapper .cart-product-desc-list td:nth-child(2)::before,
    #modern_cart_page .cart-table-wrapper .cart-product-desc-list td:nth-child(3)::before,
    #modern_cart_page .cart-table-wrapper .cart-product-desc-list td:nth-child(4)::before,
    #modern_cart_page .cart-table-wrapper .cart-product-desc-list td:nth-child(5)::before {
        display: none !important;
    }
    #modern_cart_page .cart-table-wrapper .cart-product-desc-list td:nth-child(4) {
        grid-area: qty;
        align-self: center;
    }
    #modern_cart_page .cart-table-wrapper .cart-product-desc-list td:nth-child(5) {
        grid-area: subtotal;
        text-align: right;
        align-self: center;
        font-size: 13px;
        font-weight: 700;
    }
    #modern_cart_page .cart-table-wrapper .cart-product-desc-list td:last-child {
        grid-area: actions;
        display: flex !important;
        justify-content: flex-end;
        gap: 10px;
        margin-top: 2px;
        padding-top: 6px !important;
        border-top: 1px solid #eef2f7 !important;
        white-space: nowrap;
    }
    #modern_cart_page .cart-page-title {
        font-size: 0.95rem;
    }
    #modern_cart_page .table-order td {
        font-size: 13px;
        padding-top: 6px;
        padding-bottom: 6px;
    }
    .cart-table-wrapper {
        overflow-x: visible;
    }
    .cart-table-wrapper table.table-responsive,
    .cart-table-wrapper table.table-responsive-sm,
    .cart-table-wrapper table.table-cart-product {
        display: block;
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }
    .cart-table-wrapper .cart-product-desc-list .post-title a {
        white-space: normal;
        word-break: break-word;
        overflow-wrap: anywhere;
        font-size: 13px !important;
    }
    .cart-table-wrapper .cart-product-desc-list td:last-child {
        white-space: nowrap;
    }
    .cart-table-wrapper .product-quantity .num-in {
        min-width: 88px;
        min-height: 32px;
        height: 32px;
    }
    .cart-table-wrapper .move-to-cart {
        width: 100%;
    }
    .cart-table-wrapper .remove-product,
    .cart-table-wrapper .save-for-later i {
        font-size: 18px !important;
    }

    /* Offcanvas mini-cart drawer */
    #offcanvas-cart .offcanvas-header {
        padding: 10px 12px;
    }
    #offcanvas-cart .offcanvas-header h3 {
        font-size: 1rem !important;
        font-weight: 700;
    }
    #offcanvas-cart .shopping-cart-item {
        margin-bottom: 8px !important;
        padding-bottom: 8px;
        border-bottom: 1px solid #eef2f7;
        align-items: flex-start !important;
    }
    #offcanvas-cart .shopping-cart-item:last-child {
        border-bottom: 0;
    }
    #offcanvas-cart .cart-img,
    #offcanvas-cart .shopping-cart-item figure.cart-img {
        width: 52px !important;
        height: 52px !important;
        flex: 0 0 52px;
        margin: 0 !important;
    }
    #offcanvas-cart .post-title.fs-16,
    #offcanvas-cart .post-title.title_wrap {
        font-size: 12px !important;
        line-height: 1.3 !important;
        white-space: normal !important;
        overflow-wrap: anywhere;
        word-break: break-word;
        margin-bottom: 2px !important;
    }
    #offcanvas-cart .shopping-cart-item > .d-flex.flex-row.gap-3 {
        flex: 1 1 auto;
        min-width: 0;
        gap: 8px !important;
    }
    #offcanvas-cart .price {
        margin: 0 !important;
    }
    #offcanvas-cart .price .amount {
        font-size: 12px;
        font-weight: 600;
    }
    #offcanvas-cart .product-pricing {
        padding-top: 4px !important;
        padding-bottom: 0 !important;
        align-items: center !important;
        gap: 8px;
    }
    #offcanvas-cart .header_qty {
        height: 30px !important;
        min-height: 30px !important;
        width: 44px !important;
        font-size: 12px !important;
        padding: 0 4px !important;
    }
    #offcanvas-cart .product-line-price {
        font-size: 12px !important;
        font-weight: 700;
        white-space: nowrap;
    }
    #offcanvas-cart .product-sm-removal {
        flex: 0 0 auto;
    }
    #offcanvas-cart .product-sm-removal .btn {
        width: 28px;
        height: 28px;
        padding: 0 !important;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
    #offcanvas-cart .product-sm-removal .btn i {
        font-size: 14px;
    }
    #offcanvas-cart .offcanvas-footer .btn {
        font-size: 0.82rem;
        padding: 0.45rem 0.75rem;
    }

    /* Checkout density on phone */
    #checkout_form .ship-details-wrapper,
    #checkout_form .checkout-order-wrapper,
    #modern_cart_page .cart-left-card,
    #modern_cart_page .cart-summary-card {
        padding: 10px !important;
    }
    #checkout_form .shipping-order-items .order-item-line {
        font-size: 0.72rem !important;
    }
    #checkout_form .checkout-order-items-total {
        font-size: 0.8rem !important;
    }
}

/* Web order detail: multi-consignment delivery OTP banner */
.mirswa-web-delivery-otp-banner {
    background: rgba(37, 99, 235, 0.08);
    border: 1px solid rgba(37, 99, 235, 0.18);
    border-radius: 12px;
    padding: 14px 16px;
}
.mirswa-web-delivery-otp-row + .mirswa-web-delivery-otp-row {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dashed rgba(37, 99, 235, 0.18);
}
.mirswa-web-delivery-otp-code {
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    color: #111827;
}
.mirswa-parcel-group {
    box-shadow: 0 8px 24px rgba(17, 24, 39, 0.04);
}
.mirswa-parcel-otp-box {
    background: rgba(37, 99, 235, 0.08);
    border: 1px solid rgba(37, 99, 235, 0.18);
    border-radius: 12px;
    padding: 12px 14px;
}
.mirswa-parcel-partner {
    background: #f8fafc;
    border-radius: 10px;
    padding: 10px 12px;
}
.mirswa-parcel-count-badge {
    background: rgba(37, 99, 235, 0.10);
    color: #2563eb;
    font-weight: 700;
}
.mirswa-live-tracking-eta {
    background: rgba(37, 99, 235, 0.06);
    border-color: rgba(37, 99, 235, 0.18) !important;
}
.mirswa-live-tracking-eta .mirswa-live-eta-countdown {
    background: #2563eb;
    color: #fff;
    font-weight: 800;
    font-size: 0.85rem;
}
.mirswa-live-tracking-map-wrap {
    position: relative;
    min-height: 220px;
    background: #eef2f7;
}
.mirswa-live-tracking-map {
    width: 100%;
    height: min(42vh, 320px);
    min-height: 220px;
}
.mirswa-live-tracking-map-status {
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 10px;
    padding: 8px 10px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
}
.mirswa-live-tracking-map-wrap.is-empty .mirswa-live-tracking-map {
    display: none;
}
.mirswa-live-tracking-map-wrap.is-empty {
    min-height: 0;
    padding: 12px;
}

/* Favorites page responsive hardening */
.fav-row .product-content,
.fav-row .list-product-title,
.fav-row .list-product-desc {
    min-width: 0;
}
.fav-row .list-product-title,
.fav-row .list-product-desc {
    overflow-wrap: anywhere;
}
.fav-row .button .add_to_cart {
    max-width: 100%;
    white-space: normal;
}

@media (max-width: 767.98px) {
    .fav-row .my-3 > .d-flex {
        flex-wrap: wrap;
        gap: 12px;
    }
    .fav-row .my-3 .col-md-4,
    .fav-row .my-3 .col-7,
    .fav-row .my-3 .col-md-8 {
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
    }
    .fav-row .my-3 .col-7.col-md-8 {
        padding-left: 0;
        padding-right: 0;
    }
    .fav-row .button .add_to_cart {
        width: 100%;
        justify-content: center;
    }
}

.iziModal.isAttached,
.iziModal.isFullscreen {
    border-radius: 12px !important;
}

.compare-img {
    /* width: 100px !important; */
    height: 270px !important;
}

.compare-img img {
    max-width: 100% !important;
    max-height: 100% !important;
}

.reviews .review-box {
    background-color: #e8e8e8;
    display: flex;
    align-items: center;
}

.review-img {
    width: 100% !important;
    height: 90px !important;
}

.review-img img {
    max-width: 100% !important;
    max-height: 100% !important;
}

/* .btn-outline-primary:hover {
    color: white !important;
} */

.refer-img-box {
    height: 250px;
    /* width: 400px; */
}

.refer-img-box img {
    max-width: 100% !important;
    max-height: 100% !important;
}

.footer-logo-footer {
    width: 240px;
    height: 80px;
}

.footer-logo-footer img {
    max-width: 100%;
    max-height: 100%;
}

.list-unstyled li a:hover {
    color: white !important;
}

.link_cursor {
    cursor: pointer;
}

.promo-code-img {
    height: 100px;
    width: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.promo-code-img img {
    max-height: 100%;
    max-width: 100%;
}

.copy-promo-code {
    border: 1px dashed;
    background: #ebebeb;
    max-width: 100%;
    display: flex;
    align-items: center;
    border-radius: 8px;
    cursor: pointer;
    justify-content: space-between;
}

/* ---------------------------------------------------------------------------------------------- 
      Product-listing 
  */

/* Mobile / tablet: listing grid — keep cards off screen edges + clearer gap between columns */
@media (max-width: 991.98px) {
    section.wrapper.listing-page.bg-light > .container,
    section.wrapper.listing-page.bg-light > .mirswa-listing-page-container {
        padding-top: 0.5rem !important;
        padding-left: max(1rem, env(safe-area-inset-left, 0px)) !important;
        padding-right: max(1rem, env(safe-area-inset-right, 0px)) !important;
    }
    section.wrapper.listing-page .grid.projects-masonry.shop > .row {
        --bs-gutter-x: calc(0.9rem + 0.6vw);
        --bs-gutter-y: 0.85rem;
    }
}

.product-listing .title {
    font-size: 16px;
}

.sidebar-filter {
    display: none;
}

/* filter sidebar scroll */
.filter_attributes {
    max-height: 300px;
    overflow-y: scroll;
}

.filter_attributes::-webkit-scrollbar {
    width: 7px;
}

.filter_attributes::-webkit-scrollbar-track {
    border-radius: 7px;
}

.filter_attributes::-webkit-scrollbar-thumb {
    background: rgb(66, 66, 66);
    border: 1px solid rgb(255, 255, 255);
    border-radius: 5px;
}

/* brand filter sidebar scroll (legacy non-listing sidebars only) */
.mirswa-listing-filters .brand_filter,
.mirswa-listing-filters-offcanvas .brand_filter {
    max-height: none;
    overflow: visible;
}

.brand_filter:not(.mirswa-filter-options) {
    max-height: 160px;
    overflow-y: scroll;
}

.title_wrap {
    text-wrap: nowrap !important;
    text-overflow: ellipsis !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    display: block;
}

.brand_filter::-webkit-scrollbar {
    width: 7px;
}

.brand_filter::-webkit-scrollbar-track {
    border-radius: 7px;
}

.brand_filter::-webkit-scrollbar-thumb {
    background: rgb(66, 66, 66);
    border: 1px solid rgb(255, 255, 255);
    border-radius: 5px;
}

/* HIDE RADIO */
.brand_div [type=radio] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.brand_div {
    height: 35px !important;
    width: 35px !important;
}

/* IMAGE STYLES */
.brand_div [type=radio]+img {
    cursor: pointer;
    max-height: 35px;
    max-width: 35px;
    object-fit: contain;
}

/* CHECKED STYLES */
.brand_div [type=radio]:checked+img {
    outline: 2px solid var(--primary-color);
}

.selected-brand {
    outline: 2px solid var(--primary-color);
}

.selected-category {
    background-color: var(--primary-color);
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPScxLjUnIGZpbGw9JyNmZmYnLz48L3N2Zz4=);
}

/* category filter scroll sidebar (legacy non-listing sidebars only) */
.mirswa-listing-filters .category_filter,
.mirswa-listing-filters-offcanvas .category_filter {
    max-height: none;
    overflow: visible;
}

.category_filter:not(.mirswa-filter-options) {
    max-height: 210px;
    overflow-y: scroll;
}

.category_filter::-webkit-scrollbar {
    width: 7px;
}

.category_filter::-webkit-scrollbar-track {
    border-radius: 7px;
}

.category_filter::-webkit-scrollbar-thumb {
    background: rgb(66, 66, 66);
    border: 1px solid rgb(255, 255, 255);
    border-radius: 5px;
}

/* select2 */

#offcanvas-search .select2-results {
    z-index: 999999;
    position: fixed;
    background: white;
    width: inherit;
    /* overflow: scroll;
    height: 50%; */
}

.select2-results__options {
    max-height: 300px;
    overflow: auto;
}

.select2-result-repository {
    padding-top: 4px;
    padding-bottom: 3px;
}

.select2-result-repository__avatar {
    float: left;
    width: 60px;
    height: 60px;
    margin-right: 10px;
    text-align: center !important;
}

.select2-result-repository__icon {
    float: left;
    width: 60px;
    height: 25px;
    margin-right: 10px;
    text-align: center !important;
}

.select2-result-repository__avatar img {
    max-width: 100%;
    max-height: 100%;
    border-radius: 2px;
}

.select2-result-repository__meta {
    margin-left: 70px;
}

.select2-result-repository__meta_icon {
    margin-left: 0px;
}

.select2-result-repository__title {
    word-wrap: break-word;
    line-height: 1.1;
    margin-bottom: 4px;
}

.select2-result-repository__forks,
.select2-result-repository__stargazers {
    margin-right: 1em;
}

.select2-result-repository__forks,
.select2-result-repository__stargazers,
.select2-result-repository__watchers {
    display: inline-block;
    color: #aaa;
    font-size: 11px;
}

.select2-result-repository__description {
    font-size: 13px;
    color: #777;
    margin-top: 4px;
}

.select2-results__option--highlighted {
    opacity: 1 !important;
}

.select2-results__option--highlighted .select2-result-repository__title {
    color: rgb(31, 30, 30);
    color: black;
    font-weight: bold;
}

.select2-results__option--highlighted .select2-result-repository__forks,
.select2-results__option--highlighted .select2-result-repository__stargazers,
.select2-results__option--highlighted .select2-result-repository__description,
.select2-results__option--highlighted .select2-result-repository__watchers {
    color: rgb(31, 30, 30);
}

/* .select2-container--adwitt .select2-results>.select2-results__options {
    max-height: 300px;
    overflow: auto;
} */

.select2-selection__rendered {
    word-wrap: break-word !important;
    text-overflow: hidden !important;
    overflow: hidden;
    white-space: normal !important;
}

.select2-selection__placeholder {
    color: #bcbbbb;
}

@keyframes searchPlaceholderFade {
    from { opacity: 0.35; }
    to { opacity: 1; }
}

.search-placeholder-fade::placeholder,
.search-placeholder-fade {
    animation: searchPlaceholderFade .45s ease;
}

.edit_city .select2-container {
    width: 100% !important;
}

/* .select2-container .select2-selection--single { */
/* margin-top: 8px; */
/* padding: 8px;
    height: 100% !important; */
/* } */

.mobile-search .select2-container {
    border: 2px solid rgba(185, 185, 185, .2);
}

.mobile-search-inline-input {
    width: 100%;
    height: 40px;
    border: 1px solid #dbe2ea;
    border-radius: 10px;
    padding: 0 12px;
    font-size: 15px;
    color: #1f2937;
    background: #fff;
    box-shadow: none;
}
.mobile-search-inline-input:focus {
    border-color: color-mix(in srgb, var(--primary-color) 45%, #dbe2ea);
    outline: none;
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary-color) 12%, transparent);
}

.select2-results__options {
    overflow-y: auto;
}

.select2-dropdown {
    z-index: 9999;
    border: 0px solid var(--border-color);
    border-radius: 0px;
}

.select2-search--dropdown .select2-search__field {
    border-radius: 6px;
    padding: 2px;
}

.select2-results__option {
    opacity: 0.8;
    transition: 150ms;
}

.product-page-details .btn-group>.active {
    background-color: #343f52 !important;
    /* background-color: var(--primary-color) !important;  */
}

/* PDP attribute selectors: safe wrapping for zoomed desktop + small screens */
.product-page-details h6[id],
.product-page-details .btn-group.btn-group-toggle[id] {
    min-width: 0;
}
.product-page-details .btn-group.btn-group-toggle + h6,
.product-page-details h6.m-0.mt-2 {
    overflow-wrap: anywhere;
}
.product-page-details .btn-group.btn-group-toggle {
    width: 100%;
    align-items: flex-start;
    row-gap: 8px !important;
}
.product-page-details .btn-group.btn-group-toggle > ul {
    margin: 0;
    flex: 0 0 auto;
}
.product-page-details .btn-group.btn-group-toggle label.btn {
    max-width: 100%;
}
.product-page-details .btn-group.btn-group-toggle .btn-aqua,
.product-page-details .btn-group.btn-group-toggle .btn-default {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-width: 44px;
    max-width: min(100%, 180px);
    padding: 8px 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.product-page-details .btn-group.btn-group-toggle .fullCircle {
    width: 42px;
    height: 42px;
    min-width: 42px;
    padding: 0 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.product-page-details .btn-group.btn-group-toggle .swatche-image {
    max-width: 56px;
    height: 56px;
    width: 56px;
    object-fit: cover;
    display: block;
    border-radius: 10px;
}
.product-page-details .btn-group.btn-group-toggle .swatche-image + input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.product-page-details .btn-group.btn-group-toggle label.btn:has(.swatche-image) {
    padding: 4px;
}

@media (max-width: 1599.98px) and (min-width: 768px) {
    .product-page-details .btn-group.btn-group-toggle .btn-aqua,
    .product-page-details .btn-group.btn-group-toggle .btn-default {
        padding: 7px 10px;
        font-size: 13px;
    }
}

@media (max-width: 575.98px) {
    .product-page-details .btn-group.btn-group-toggle {
        gap: 6px !important;
    }
    .product-page-details .btn-group.btn-group-toggle .btn-aqua,
    .product-page-details .btn-group.btn-group-toggle .btn-default {
        padding: 6px 9px;
        font-size: 12px;
    }
    .product-page-details .btn-group.btn-group-toggle .swatche-image {
        max-width: 48px;
        height: 48px;
        width: 48px;
    }
    .product-page-details .btn-group.btn-group-toggle .fullCircle {
        width: 38px;
        height: 38px;
        min-width: 38px;
    }
}


/* accordion in filter */
.accordion-wrapper .card-header button:before {
    color: black !important;
}

.accordion-wrapper .card-header button:hover::before {
    color: var(--primary-color) !important;
}

.accordion-wrapper .card-header button:hover {
    color: var(--primary-color) !important;
}



@media (min-width: 1024px) {
    .swiper-auto .swiper-slide {
        width: 850px;
    }

    .swiper-auto.swiper-auto-xs .swiper-slide {
        width: 600px;
    }

    .logo-img {
        /* width: 187px !important; */
        height: 50px !important;
    }

    .mobile-searchbar {
        display: none;
    }

    .mobile_quick_view {
        display: none;
    }
}


@media (max-width: 991.98px) {

    .map.rounded-top iframe,
    .image-wrapper.rounded-top {
        border-top-left-radius: 0.4rem !important;
        border-top-right-radius: 0.4rem !important;
        width: 350px !important;
    }

    /* .image-wrapper.rounded-4-top {
      border-top-left-radius: 0.8rem !important;
      border-top-right-radius: 0.8rem !important;
    } */
}


@media (min-width: 768px) and (max-width: 1023.98px) {
    .swiper-auto .swiper-slide {
        width: 600px;
    }

    .swiper-auto.swiper-auto-xs .swiper-slide {
        width: 400px;
    }

    .logo-img {
        /* width: 187px !important; */
        height: 40px !important;
    }

    .mobile-searchbar {
        display: none;
    }

    .mobile_quick_view {
        display: none;
    }
}

@media (max-width: 767px) {
    .swiper-auto.swiper-auto-xs .swiper-slide {
        width: 300px;
    }

    .desktop-search {
        display: none;
    }

    .desktop_quick_view {
        display: none;
    }

    .slide-img {
        width:100%;
        height: auto;
    
        /* max-width: 1290px; */
    }

    .mySwiper .swiper-wrapper .swiper-mobile-slide {
        width: 190px !important;
    }
}


@media screen and (max-width: 450px) {
    .sidebar-filter-sm {
        display: none;
    }

    .desktop-search {
        display: none;
    }

    .desktop_quick_view {
        display: none;
    }
}

@media screen and (max-width:500px) {
    #chat-iframe {
        width: calc(100vw - 16px) !important;
        right: 8px !important;
        left: 8px !important;
        bottom: 72px !important;
        height: min(70vh, 560px) !important;
        border-radius: 16px !important;
    }
    #chat-close-button{
        right: 12px;
        bottom: calc(min(70vh, 560px) + 84px);
    }
}

.sale_tag {
    top: 1rem;
    left: 1rem;
}

/* Extra small devices (phones, 600px and down) */

@media only screen and (max-width: 600px) {
    .swiper-container.swiper-thumbs-container {
        display: none;
    }

    .fig_image {
        height: 150px !important;
    }

    .mt-3 {
        margin-top: 0px !important;
    }

    .mb-13 {
        margin-bottom: 0rem !important;
    }

    /* .isotope{
        height: 0px !important;
    } */

    .default-style .post-header h4 {
        font-size: 14px !important;
        margin-bottom: 0px !important;
    }

    .style_3 .product-content h4 {
        font-size: 14px !important;
    }

    .style_4 .product-content h4 {
        font-size: 14px !important;
    }

    .mySwiper .swiper-wrapper .swiper-mobile-slide {
        width: 190px !important;
    }

    .product_listing_list h4 {
        font-size: 0.75rem;
    }

    .product_listing_list .product-rating-small {
        margin-bottom: 0px !important;
    }

    .sale_tag {
        top: 0.1rem !important;
        left: 0.1rem !important;
    }

    .product_listing_list>.mt-n2 {
        display: none;
    }

    /* .swiper-slide-style4 {
        width: 150px !important;
    } */

    .default_heading h3 {
        font-size: 18px;
    }

    .default_heading h6 {
        font-size: 16px !important;
    }

    .seller-image-container {
        /* width: 150px !important; */
        height: 200px !important;
    }

    .seller-image-container .fig_seller_image {
        width: 150px !important;
        /* height: 150px !important; */
    }

    .sidebar-filter-sm {
        display: none;
    }

    .listing-page .filter-nav {
        display: none;
    }

    .logo-img {
        /* width: 187px !important; */
        height: 75px !important;
    }

    /* .swiper-slide-category {
        width: 100px !important;
        margin-right: 10px !important;
    } */

    .swiper-slide-category img {
        height: 75px;
        border-radius: 8px;
    }
}

@media only screen and (min-width: 800px) {
    .product-preview-image-section-sm {
        display: none;
    }

}

@media (max-width:799px) {
    .swiper-thumbs-container {
        display: none !important;
    }
}


/* Small devices (portrait tablets and large phones, 600px and up) */

@media only screen and (max-width: 650px) {

    /* .swiper-container.swiper-thumbs-container {
        display: none;
    } */
    .filter-nav {
        display: none;
    }

    .sidebar-filter-sm {
        display: none;
    }
}

/* Medium devices (landscape tablets, 768px and up) */

@media only screen and (max-width: 768px) {
    .filter-nav {
        display: none;
    }

    .sidebar-filter-sm {
        display: none;
    }

    /* .swiper-slide-category img {
        height: 110px;
    } */
}

/* Extra small devices (phones, 990px and down) */

@media only screen and (max-width: 991px) {
    .product-page-preview-image-section-md {
        display: none;
    }

    .sidebar-filter-sm {
        display: none;
    }

    /* .swiper-slide-category img {
        height: 110px;
    } */
    .logo-img {
        /* width: 187px !important; */
        height: 75px !important;
    }

}

@media only screen and (min-width: 992px) {

    .filter-sidebar-mobile {
        display: none !important;
    }

    .slide-img {
        height: auto;
        width:100%;
    }

    .swiper-slide-category img {
        height: 110px;
        border-radius: 8px;
    }

    /* .swiper-slide-category {
        width: 150px !important;
        margin-right: 10px !important;
    } */
}

#pills-tab>.nav-item a:hover {
    color: var(--primary-color) !important;
}

.buy-now-btn {
    position: fixed;
    bottom: 18px;
    left: 18px;
    z-index: 9999;
}

/* color-switcher */

.setting-icon {
    font-size: 1.7rem !important;
    margin-top: 6px;
}

#colors-switcher {
    background: none repeat scroll 0 0 #fff;
    -webkit-box-shadow: 0 0 3px rgba(60, 72, 88, 0.15);
    box-shadow: 0 0 3px rgba(60, 72, 88, 0.15);
    left: -189px;
    position: fixed;
    top: 24%;
    width: 189px;
    z-index: 9999;
    padding: 10px 5px
}

#colors-switcher .color-bottom {
    background: none repeat scroll 0 0 #fff
}

#colors-switcher .color-bottom a.settings {
    background: none repeat scroll 0 0 #fff;
    height: 41px;
    position: absolute;
    right: -40px;
    top: 28px;
    width: 40px;
    padding: 3px;
    border-radius: 0 30px 30px 0
}

#colors-switcher ul.color-style {
    list-style: none outside none;
    overflow: hidden;
    padding: 0;
    border-radius: 0px;
}

.list-item-inline {
    display: inline-block;
}

#colors-switcher ul.color-style li.list-inline-item:not(:last-child) {
    margin-right: 0px;
    margin-bottom: 0
}

#colors-switcher ul.color-style li a {
    cursor: pointer;
    display: block;
    height: 35px;
    width: 35px;
    border-radius: 50%;
    margin: 3px
}

#colors-switcher ul.color-style .blue {
    background-color: #1e4071;
}

#colors-switcher ul.color-style .aqua {
    background-color: #54a8c7;
}

#colors-switcher ul.color-style .fuchsia {
    background-color: #e668b3;
}

#colors-switcher ul.color-style .grape {
    background-color: #605dba;
}

#colors-switcher ul.color-style .green {
    background-color: #45c4a0;
}


#colors-switcher ul.color-style .leaf {
    background-color: #7cb798;
}

#colors-switcher ul.color-style .navy {
    background-color: #343f52;
}

#colors-switcher ul.color-style .orange {
    background-color: #f78b77;
}

#colors-switcher ul.color-style .pink {
    background-color: #d16b86;
}

#colors-switcher ul.color-style .purple {
    background-color: #747ed1;
}

#colors-switcher ul.color-style .red {
    background-color: var(--tertiary-color);
}

#colors-switcher ul.color-style .sky {
    background-color: #5eb9f0;
}

#colors-switcher ul.color-style .violet {
    background-color: #a07cc5;
}

.product-preview-image-section-sm .swiper-controls .swiper-navigation .swiper-button {
    display: none;
}

.swiper-style4 .swiper-controls .swiper-navigation .swiper-button {
    display: none;
}

.swiper-navigation .swiper-button {
    display: none;
}

.whatsapp-icon {
    position: fixed;
    left: 20px;
    bottom: 65px;
    z-index: 9999;
    width: 45px;
    height: 45px;
    /* box-shadow: rgba(99, 99, 99, 0.2) 0px 0px 3px 0px; */
}

.whatsapp-icon .btn {
    padding: 0 !important;
}

.whatsapp-icon .btn img {
    max-width: 100%;
    max-height: 100%;
}

/* chat css */

.chat-hide-show {
    display: none !important;
}

.chat-min {
    /* height: 73vh !important; */
    height: 100% !important;
    max-height: 850px;
}

.image-box-100 {
    display: flex;
    justify-content: center;
    align-items: baseline;
    width: 60px;
    height: 60px;
}

.image-box-100 img {
    max-width: 100%;
    max-height: 100%;
}

.chat-min>.select2-container {
    width: 100% !important;
}

.chat-max {
    height: 88vh !important;
}

.chat-theme-dark {
    background-color: #1A1D21 !important;
    border-top: 2px solid #17a2b8 !important;
}

.chat-theme-light {
    background-color: #F8F8FA !important;
    border-top: 2px solid #383F45 !important;
}

.chat-theme-light .chat-left .person-group-chat {
    background: #8e8e8e;
    padding: 1px 5px;
    border-radius: 3px;
    position: absolute;
    color: #ececec;
    top: -22px;
    left: 0;
    font-size: 12px;
}

.chat-theme-light .chat-right .person-group-chat {
    background: #8e8e8e;
    padding: 1px 5px;
    border-radius: 3px;
    position: absolute;
    color: #ececec;
    top: -22px;
    right: 0;
    font-size: 12px;
}

.chat-avtar-search {
    border-radius: 50%;
    border: none;
    width: 50px;
    height: 50px;
    background: #99e2ff;
    text-align: center;
    line-height: 52px;
    font-size: 26px;
    font-weight: 800;
    color: #777777;
    margin: 0px 16px 0px 0px;
}

.chat-avtar-main {
    border-radius: 50%;
    border: none;
    width: 45px;
    height: 45px;
    background: #e1ebff;
    text-align: center;
    line-height: 52px;
    font-size: 26px;
    font-weight: 800;
    color: #777777;
}

.chat-box .chat-content .chat-item>.chat-avtar {
    float: left;
    /*    border-radius: 50%;
    border: none;
    width: 50px;
    height: 50px;
    background: #e1ebff;
    text-align: center;
    line-height: 52px;
    font-size: 26px;
    font-weight: 800;
    color: #777777;*/
    -webkit-user-drag: none !important;
}

.chat-box .chat-content .chat-item.chat-right .chat-avtar {
    float: right;
    /*    border-radius: 50%;
    border: none;
    width: 50px;
    height: 50px;
    background: #ffe1e1;
    text-align: center;
    line-height: 52px;
    font-size: 26px;
    font-weight: 800;
    color: #777777;*/
    -webkit-user-drag: none;
}

.chat-theme-light .delete-msg {
    position: absolute;
    color: white;
    top: 0;
    right: 3px;
}

.chat-theme-dark .delete-msg {
    position: absolute;
    color: white;
    top: 0;
    right: 3px;
}

.chat-theme-light .download-msg {
    position: absolute;
    color: black;
    top: 0;
    left: 3px;
}

.chat-theme-dark .download-msg {
    position: absolute;
    color: black;
    top: 0;
    left: 3px;
}

.chat_media_img {
    grid-area: img;
}

.chat_media_file {
    grid-area: file;
    color: #b13c3c;
}

.chat_media_size {
    grid-area: size;
}


.chat-theme-light .chat-files {
    text-align: center;
    display: grid;
    grid-template-areas:
        'img file file file size size';
    grid-gap: 10px;
    background-color: #cccccc;
    border-radius: 3px;
    padding: 10px;
    color: black;
    margin: 1px;
}

.chat-theme-dark .chat-files {
    text-align: center;
    display: grid;
    grid-template-areas:
        'img file file file size size';
    grid-gap: 10px;
    background-color: #cccccc;
    border-radius: 3px;
    padding: 10px;
    color: black;
    margin: 1px;
}

.chat-files-search {
    text-align: center;
    display: grid;
    grid-template-areas:
        'img file file file size fa-download';
    grid-gap: 10px;
    background-color: #cccccc;
    border-radius: 3px;
    padding: 10px;
    color: black;
    margin: 1px;
}

.chat-theme-light .chat-image-view {
    position: relative;
    background-color: #cccccc;
    border-radius: 3px;
    padding: 5px;
    color: black;
    margin: 1px;
}


.chat-theme-light .msg_text_media {
    display: grid;
}

.chat-theme-dark .chat-image-view {
    position: relative;
    background-color: #cccccc;
    border-radius: 3px;
    padding: 5px;
    color: black;
    margin: 1px;
}

.chat-theme-dark .msg_text_media {
    display: grid;
}

.chat-theme-light .download-btn-styling {
    background: #27ab45;
    color: black;
    padding: 7px;
    border-radius: 3px;
    display: none;
    margin: 8px 5px 0px 0px;
}

.chat-theme-dark .download-btn-styling {
    background: #27ab45;
    color: black;
    padding: 7px;
    border-radius: 3px;
    display: none;
    margin: 8px 5px 0px 0px;
}

.chat-image-view:hover .download-btn-styling {
    display: block;
}

.chat-files:hover .download-btn-styling {
    display: block;
}


.chat-theme-light .go-to-bottom-btn {
    cursor: pointer;
    padding: 6px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    color: white !important;
    border: none;
    position: absolute;
    top: -48%;
    right: 0px;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    box-shadow: 0px 4px 7px 4px #00000036;
    display: none;
    z-index: 2;
}

.chat-theme-dark .go-to-bottom-btn {
    cursor: pointer;
    padding: 6px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    color: white !important;
    border: none;
    position: absolute;
    top: -48%;
    right: 0px;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    box-shadow: 0px 4px 7px 4px #00000036;
    display: none;
    z-index: 2;
}

.chat-theme-dark .chat-preview-btn {
    position: absolute;
    top: 30%;
    right: 60px;
    color: #868686 !important;
}

.direct-chat-msg.right>.direct-chat-text::after {
    content: '';
    position: absolute;
    right: -10px;
    top: 28%;
    width: 0;
    height: 0;
    border: 10px solid transparent;
    border-left-color: #007bff;
    border-right: 0;
    margin-top: 5px;
    border-bottom-right-radius: 0px;
}

.direct-chat-msg.left>.direct-chat-text::after {
    content: '';
    position: absolute;
    left: -10px;
    top: 20%;
    width: 0;
    height: 0;
    border: 10px solid transparent;
    border-right-color: #d2d6de;
    border-left: 0;
    margin-top: 6px;
    border-bottom-left-radius: 0px;
}

.chat-theme-light .chat-preview-btn {
    position: absolute;
    top: 30%;
    right: 60px;
    color: #414141 !important;
}

.chat-theme-dark .chat-preview-btn:hover {
    color: #5a5a5a !important;
}

.chat-theme-light .chat-preview-btn:hover {
    color: #303030 !important;
}

.chat-theme-dark .chat-time {
    color: #d8d8d8 !important;
}

.chat-theme-light .new-msg-rcv {
    font-weight: 1000 !important;
    color: #383F45 !important;
}

.chat-theme-dark .new-msg-rcv {
    font-weight: 1000 !important;
    color: #FFFFFF !important;
}

.chat-theme-light .chat-bg {
    background-image: url(../images/bg-chat.jpg) !important;
}

.chat-theme-light .text-successg {
    color: #39E500 !important;
}

.chat-theme-dark .chat-bg {
    background-color: #303335 !important;
}

.chat-theme-dark .text-success {
    color: #39E500 !important;
}

.chat-theme-dark .chat-search-box {
    background-color: #1a1d21 !important;
    border: 1px solid #a6a7ab !important;
    border-radius: .25rem !important;
    margin-right: 8px !important;
    height: 30px !important;
    width: -webkit-fill-available;
}

.chat-theme-dark .chat-search-box:hover {
    background-color: #363b42 !important;
    border: 1px solid #c9cacc !important;
}

.chat-theme-dark .chat-search-box:focus {
    background-color: #363b42 !important;
    border: 1px solid #c9cacc !important;
    color: #c9cacc !important;
}

.chat-theme-light .chat-search-box {
    border-radius: .25rem !important;
    margin-right: 8px !important;
    height: 30px !important;
    width: -webkit-fill-available;
}

.chat-theme-light .chat-search-box:hover {
    background-color: #f2f2f7;
    border-color: #d9dae4;
}

.chat-theme-dark .chat-search-btn {
    background-color: #1a1d21 !important;
    border-color: #a6a7ab !important;
}

.chat-scroll {
    overflow: scroll !important;
    outline: none !important;
}

/* width */
.chat-scroll::-webkit-scrollbar {
    width: 7px;
}

/* Track */
.chat-scroll::-webkit-scrollbar-track {
    border-radius: 7px;
}

/* Handle */
.chat-scroll::-webkit-scrollbar-thumb {
    background: rgb(66, 66, 66);
    border: 1px solid rgb(255, 255, 255);
    border-radius: 5px;
}

.chat-theme-dark .active {
    font-weight: 700 !important;
    background: #3abaf4;
    padding: 3px 15px;
    color: #FFFDF9 !important;
}

.chat-theme-dark .active:hover {
    background: #3abaf4 !important;
    color: #FFFDF9 !important;
}

.chat-theme-light .active {
    font-weight: 700 !important;
    background: #3abaf4;
    padding: 3px 15px;
    color: #FFFDF9 !important;
}

.chat-theme-light .active:hover {
    background: #3abaf4 !important;
    color: #FFFDF9 !important;
}

.chat-theme-dark .chat-person {
    font-weight: 700;
    color: #ababab;
    padding: 3px 15px;
}

.chat-theme-dark code {
    background: #e8e8e8;
    padding: 6px 8px;
    border-radius: 4px;
}

.chat-theme-light code {
    background: #e8e8e8;
    padding: 6px 8px;
    border-radius: 4px;
}

.chat-theme-dark .chat-person:hover {
    background: rgb(0, 0, 0);
    cursor: pointer;
}

.chat-theme-light .chat-person {
    font-weight: 500;
    color: #4f5961;
    padding: 3px 15px;
}

.chat-theme-light .chat-person:hover {
    background: #FFFFFF;
    cursor: pointer;
}

.chat-theme-dark .text-color {
    color: #ababab !important;

}

.chat-theme-light .text-color {
    color: #383F45 !important;
}

.chat-theme-dark .text-color h4 {
    color: #ababab !important;
}

.chat-theme-light .text-color h4 {
    color: #383F45 !important;
}

.chat-theme-dark .theme-inputs {
    background-color: #1a1d21 !important;
    border: 1px solid #a6a7ab !important;
    border-radius: 6px !important;
    color: #c9cacc !important;
    height: auto !important;
    white-space: pre-wrap !important;
}

.chat-theme-light .theme-inputs {
    border: 1px solid #383F45 !important;
    border-radius: 6px !important;
    height: auto !important;
    white-space: pre-wrap !important;
}

.chat-card-header {
    line-height: 9px !important;
    min-height: 0px !important;
    padding: 5px 8px !important;
    border-bottom: 0px !important;
}

.chat-card-header h4 {
    font-size: 17px !important;
    font-weight: 500;
}

.chat-list-unstyled-border li {
    border-bottom: 0px !important;
    padding-bottom: 0px !important;
    margin-bottom: 0px !important;
}

.chat-card-body {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
    flex: 0 !important;
}

.chat-img-undrag {
    user-select: none;
    -moz-user-select: none;
    -webkit-user-drag: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}


.chat_divider {
    padding: 8px 10px;
    text-align: center;
    font-size: medium;
    color: brown;
    margin: 0 0 20px 0px;
    display: flex;
    align-items: center;
    text-align: center;
}

.chat_divider::before,
.chat_divider::after {
    content: '';
    flex: 1;
    border-bottom: 1px solid #cf9a5e;
}

.chat_divider::before {
    margin-right: .25em;
}

.chat_divider::after {
    margin-left: .25em;
}


.chat_loader {
    padding: 8px 10px;
    text-align: center;
    font-size: medium;
    color: brown;
    margin: 0 0 20px 0px;
    display: flex;
    align-items: center;
    text-align: center;
    display: none;
}

.chat_loader::before,
.chat_loader::after {
    content: '';
    flex: 1;
    border-bottom: 1px solid #cf9a5e;
}

.chat_loader::before {
    margin-right: .25em;
}

.chat_loader::after {
    margin-left: .25em;
}


#chat-input-textarea-result {
    background-color: rgba(117, 117, 117, 0.36);
    position: absolute;
    bottom: 51px;
    border: 1.5px dashed rgb(119, 122, 125) !important;
    border-radius: 6px !important;
    height: auto;
}

.badge-chat {
    vertical-align: middle;
    border-radius: 5px;
    float: right;
    background-color: #fc544b;
    color: white;
    /* display: inline-block; if you get any error from this class then first uncmnt this and check */
    padding: .30em 1em;
    font-size: 75%;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    margin-top: 2px;
}

#chat-button.opened,
#chat-iframe.opened {
    transition: all 0.35s ease-in-out;
    box-shadow: 0px 19px 10px 2px #00000014
}

#chat-iframe {
    border-radius: 26px;
}

.chat-iframe {
    display: none;
    position: fixed;
    bottom: 80px;
    right: 20px;
    width: min(450px, calc(100vw - 24px));
    height: min(600px, calc(100vh - 120px));
    border: none;
    z-index: 999;
    background: #fff;
}
.chat-iframe.is-open {
    display: block !important;
}

/* Premium UI for floating chat iframe only */
.floating-chat-embed{
    background: #f6f7fb;
}
.floating-chat-embed .deeplink_wrapper{
    padding: 10px 10px 14px;
}
.floating-chat-embed .container{
    padding-left: 6px;
    padding-right: 6px;
}
.floating-chat-embed .floating-chat-title{
    font-size: 18px;
    font-weight: 800;
    margin: 0;
    color: #0f172a;
}
.floating-chat-embed .floating-chat-topbar{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 6px 2px 10px;
}
.floating-chat-embed .floating-chat-close{
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 12px;
    background: rgba(15,23,42,.06);
    color: #0f172a;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background .12s ease, transform .12s ease;
}
.floating-chat-embed .floating-chat-close:hover{
    background: rgba(15,23,42,.10);
    transform: translateY(-1px);
}
.floating-chat-embed #floating_chat_view{
    margin: 0 !important;
}
.floating-chat-embed .chat-section,
.floating-chat-embed .main-content{
    height: 100%;
}
.floating-chat-embed #floating_chat_view{
    height: calc(100vh - 64px);
}
.floating-chat-embed .row.h-100{
    height: 100%;
}

/* Messenger-like layout: full-height panels */
.floating-chat-embed #floating_chat_view > .row{
    height: 100%;
    margin: 0;
}
/* Sidebar: do not stretch to full row height — avoids a huge empty scrollable “white box” */
.floating-chat-embed .floating-chat-users{
    height: auto;
    max-height: 100%;
    align-self: flex-start;
    min-height: 0;
}
.floating-chat-embed .floating-chat-users .card.chat-theme-light{
    height: auto !important;
    max-height: min(100%, calc(100vh - 120px));
    overflow-x: hidden;
    overflow-y: auto;
}
.floating-chat-embed .floating-chat-users .card.chat-theme-light.chat-scroll{
    overflow-x: hidden;
    overflow-y: auto;
}
.floating-chat-embed #chat_area{
    height: 100%;
}
.floating-chat-embed #chat_area .card.chat-box{
    height: 100%;
    display: flex;
    flex-direction: column;
}
.floating-chat-embed #chat-box-content{
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto !important;
    background: #f5f6f7;
}

/* Messenger-like header */
.floating-chat-embed #mychatbox2 .chat-card-header{
    padding: 10px 12px !important;
    border-bottom: 1px solid rgba(15,23,42,.08) !important;
    background: #fff !important;
}
.floating-chat-embed #mychatbox2 .floating-chat-back-btn{
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(15,23,42,.06);
}
.floating-chat-embed #chat-avtar-main{
    width: 36px !important;
    height: 36px !important;
    border-radius: 999px !important;
    background: #e7f0ff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}
.floating-chat-embed #chat_title{
    font-size: 14px;
    font-weight: 800;
    color: #111827;
}
.floating-chat-embed #chat_online_status{
    font-size: 12px;
    color: #6b7280;
}

/* Messenger-like conversation list */
.floating-chat-embed .chat-card-body{
    padding: 8px 8px 10px !important;
}
.floating-chat-embed .chat-person{
    border-radius: 12px;
    padding: 10px 10px;
    font-weight: 700;
}
.floating-chat-embed .chat-person.new-msg-rcv{
    background: rgba(0, 132, 255, 0.10);
}

/* Messenger-like message bubbles (Stisla chat markup) */
.floating-chat-embed .chat-box .chat-content{
    padding: 12px !important;
}
.floating-chat-embed .chat-box .chat-content .chat-item{
    margin-bottom: 10px !important;
}
.floating-chat-embed .chat-box .chat-content .chat-item .chat-details{
    max-width: 78%;
}
.floating-chat-embed .chat-box .chat-content .chat-item .chat-details .chat-text{
    border-radius: 18px !important;
    padding: 10px 12px !important;
    line-height: 1.35;
    background: #fff !important;
    border: 1px solid rgba(15,23,42,.06);
    box-shadow: 0 1px 0 rgba(15,23,42,.03);
}
.floating-chat-embed .chat-box .chat-content .chat-item.chat-right .chat-details .chat-text{
    background: #0084ff !important;
    color: #fff !important;
    border-color: #0084ff !important;
}
.floating-chat-embed .chat-box .chat-content .chat-item .chat-time{
    font-size: 11px;
    color: #9aa3af !important;
    margin-top: 4px;
}

/* Messenger-like input bar */
.floating-chat-embed #mychatbox2 .chat-form{
    padding: 10px 10px !important;
    background: #fff !important;
    border-top: 1px solid rgba(15,23,42,.08) !important;
}
.floating-chat-embed #chat-form2 .mb-n5,
.floating-chat-embed #chat-form2 .mb-n1{
    margin-bottom: 0 !important;
}
.floating-chat-embed #chat-form2 .form-group{
    margin: 0 !important;
}
.floating-chat-embed #chat-form2 .chat-support-inline-note{
    position: static !important;
    margin: 0 0 8px 0 !important;
    border-radius: 10px;
    font-size: 12px;
    line-height: 1.35;
}
.floating-chat-embed #chat-form2 .chat-support-inline-note .quick-connect-support{
    margin-top: 6px !important;
    margin-left: 0 !important;
}
.floating-chat-embed .chat-box .chat-content{
    padding-bottom: 14px !important;
}
.floating-chat-embed #chat-form2 .input-group{
    display: flex;
    align-items: flex-end;
    gap: 8px;
}
.floating-chat-embed #chat-input-textarea{
    border-radius: 18px !important;
    border: 1px solid rgba(15,23,42,.12) !important;
    background: #f5f6f7 !important;
    padding: 10px 12px !important;
    min-height: 42px !important;
    max-height: 120px;
    overflow: auto;
}
.floating-chat-embed .btn-send-msg{
    background: #0084ff !important;
    border-color: #0084ff !important;
    color: #fff !important;
}
.floating-chat-embed .btn-file{
    background: rgba(15,23,42,.06) !important;
    border-color: rgba(15,23,42,.08) !important;
    color: #111827 !important;
}
.floating-chat-embed .card.chat-theme-light{
    border: 0;
    border-radius: 18px;
    box-shadow: 0 14px 40px rgba(15, 23, 42, 0.10);
    overflow: hidden;
    background: #fff;
}
.floating-chat-embed .chat-card-header{
    background: #fff;
    border-bottom: 1px solid rgba(15,23,42,.08);
    padding: 12px 14px;
}
.floating-chat-embed .chat-card-header h4{
    margin: 0;
    font-size: 14px;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: .2px;
}
.floating-chat-embed .search_user + .select2,
.floating-chat-embed .search_user{
    width: 100% !important;
}
/* If JS plugins (jQuery/Select2) are blocked, hide raw multi-select to avoid
   showing an empty boxed control at the top of chat. */
.floating-chat-embed #chat_user {
    display: none !important;
}
.floating-chat-embed .search_user + .select2 {
    display: block !important;
}
.floating-chat-embed .select2-container--default .select2-selection--multiple{
    border: 1px solid rgba(15,23,42,.12) !important;
    border-radius: 14px !important;
    min-height: 44px !important;
    padding: 6px 10px !important;
    box-shadow: 0 1px 0 rgba(15,23,42,.04);
}
.floating-chat-embed .select2-container--default.select2-container--focus .select2-selection--multiple{
    border-color: color-mix(in srgb, var(--primary-color) 55%, rgba(15,23,42,.18)) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary-color) 18%, transparent);
}
.floating-chat-embed .chat-card-body{
    padding: 10px 10px 6px;
}
.floating-chat-embed .chat-list-unstyled-border .media{
    margin: 0;
    padding: 0;
}
.floating-chat-embed .chat-person{
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 14px;
    color: #111827;
    font-weight: 700;
    cursor: pointer;
    transition: background .12s ease, transform .12s ease;
}
.floating-chat-embed .chat-person:hover{
    background: rgba(15,23,42,.05);
    transform: translateY(-1px);
}
.floating-chat-embed .chat-person .badge-chat{
    margin-left: auto;
    background: var(--primary-color);
    color: #fff;
    border-radius: 999px;
    padding: 3px 8px;
    font-size: 12px;
    font-weight: 800;
}
.floating-chat-embed .chat-box.chat-theme-light{
    border-radius: 18px;
    overflow: hidden;
}
.floating-chat-embed .chat-content{
    background: #f6f7fb;
}
.floating-chat-embed #chat-box-content{
    padding: 12px;
}
.floating-chat-embed .chat-form{
    background: #fff;
    border-top: 1px solid rgba(15,23,42,.08);
}
.floating-chat-embed .chat-form.p-1{
    padding: 10px 12px !important;
}
.floating-chat-embed .chat-form .form-group{
    margin: 0 !important;
}
.floating-chat-embed .chat-form .input-group{
    gap: 8px;
    align-items: flex-end;
}
.floating-chat-embed #chat-input-textarea{
    resize: none;
}
.floating-chat-embed .chat-form .btn{
    height: 40px;
    min-width: 40px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.floating-chat-embed .go-to-bottom-btn{
    width: 40px;
    height: 40px;
    border-radius: 12px;
}
.floating-chat-embed #chat-input-textarea{
    border-radius: 14px;
    border: 1px solid rgba(15,23,42,.12);
    padding: 10px 12px;
    min-height: 44px;
}
.floating-chat-embed #chat-input-textarea:focus{
    border-color: color-mix(in srgb, var(--primary-color) 55%, rgba(15,23,42,.18));
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary-color) 18%, transparent);
}
.floating-chat-embed .btn-send-msg{
    border-radius: 12px;
}
.floating-chat-embed .btn-file{
    border-radius: 12px;
}

/* In iframe sizes, make columns behave like a single panel */
.floating-chat-embed .row.h-100{
    --bs-gutter-x: 12px;
}
.floating-chat-embed .floating-chat-users{
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
}
.floating-chat-embed #chat_area{
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
}

.fixed-icon {
    position: fixed;
    right: 15px;
    bottom: 15px;
    z-index: 1020 !important;
}

.progress-wrap {
    position: initial !important;
}

#chat-button {
    transition: all 0.35s ease-in-out;
    /* position: fixed;
    bottom: 32px;
    right: 83px; */
    padding: 8px 14px;
    background: linear-gradient(135deg, #2563eb 0%, #0b4aa2 100%);
    color: #fff;
    font-size: 20px;
    border-radius: 50%;
    border: 1px solid rgba(11, 74, 162, 0.35);
    box-shadow: 0 8px 18px rgba(11, 74, 162, 0.28);
    z-index: 1020 !important;
    cursor: pointer;
    /* height: 2.5rem;
    width: 2.5rem; */
    display: flex;
    justify-content: center;
}
#chat-button:hover{
    filter: brightness(1.02);
}

#chat-close-button{
    display: none !important;
    position: fixed;
    right: 24px;
    bottom: calc(min(600px, 100vh - 120px) + 90px);
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 999px;
    background: rgba(15,23,42,.9);
    color: #fff;
    z-index: 1001;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 20px rgba(15,23,42,.22);
}
#chat-close-button.is-open{
    display: none !important;
}


.avtar_img {
    height: 45px !important;
}


#floating_chat_view {
    margin: 22px;
}

.seller-profile-card {
    border-radius: 50%;
    width: 150px;
    /* background-color: antiquewhite; */
    height: 150px;

}

.seller-profile-card img {
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: cover !important;
    border-radius: 50%;
}

#pickup_from_store:active {
    border: var(--primary-color) !important;
    /* color: var(--primary-color) !important; */
}

.product-styl>.swiper-style4>.swiper-controls {
    display: none;
}

.btn-xs,
.btn-group-xs>.btn {
    --bs-btn-padding-y: 0.25rem;
    --bs-btn-padding-x: 0.8rem;
    --bs-btn-font-size: 0.6rem;
    --bs-btn-border-radius: 0.4rem;
}

.avatar {
    font-size: 12px !important;
    height: 42px !important;
    width: 42px !important;
}

.default-style {
    position: relative !important;
    top: 0px !important;
    left: 0% !important;
}

/* Home Deals: card style similar to featured swiper product cards */
.deals-feature-card {
    background: #fff;
    border-radius: 12px;
    padding: 8px 8px 10px;
    border: 1px solid rgba(17, 24, 39, 0.06);
    box-shadow: 0 6px 16px rgba(17, 24, 39, 0.10);
    transition: transform .2s ease, box-shadow .2s ease;
}
.deals-feature-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(17, 24, 39, 0.14);
}
.deals-feature-card figure {
    margin-bottom: 4px;
}

/* Professional Deals card polish (home) */
.deals-feature-card {
    border: 1px solid #e9edf5;
    border-radius: 14px;
    padding: 10px 10px 12px;
    box-shadow: 0 8px 20px rgba(16, 24, 40, 0.08);
}
.deals-feature-card .title_wrap {
    min-height: 34px;
    font-size: 16px;
    line-height: 1.25;
    font-weight: 600;
    margin-top: 4px !important;
    margin-bottom: 4px !important;
}

.project.item.default-style .post-title,
.deals-feature-card .post-title,
.project.item.default-style .title_wrap {
    margin-bottom: 4px !important;
}

.project.item.default-style .post-title a,
.deals-feature-card .post-title a,
.brand_image_div h6 {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (max-width: 575.98px) {
    .category-swiper .swiper-slide,
    .category-swiper .brand_image_div {
        width: 78px !important;
    }
    .category-swiper .brand_image_div h6 {
        font-size: 10px !important;
    }
    .project.item.default-style .post-title a,
    .deals-feature-card .post-title a {
        font-size: 13px;
    }
}

/* Mobile category strip: hard lock single-line labels */
@media (max-width: 991.98px) {
    .category-swiper .brand_image_div h6,
    .category-swiper .brand_image_div h6.fs-14 {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        line-height: 1.15 !important;
        min-height: 13px !important;
        max-height: 13px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
    }
}
.deals-feature-card .deal-discount-pill {
    margin-top: 4px;
    font-size: 11px;
    font-weight: 700;
}
.deals-feature-card .price {
    margin-top: 2px !important;
    margin-bottom: 0 !important;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 700;
    color: #1f2937;
}
.deals-feature-card .price sup {
    font-size: 15px;
    font-weight: 500;
    margin-left: 6px;
}
.deals-feature-card .deal-countdown {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    width: 100%;
    box-sizing: border-box;
    padding: 4px 6px;
    margin-top: 6px !important;
    border: 1px solid #ffd5da;
    border-radius: 10px;
    background: #fff5f6;
    font-size: 11px;
    font-weight: 600;
    color: #d6455b !important;
}
.deals-feature-card .deal-countdown .deal-timer {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
}
.deals-feature-card .deal-countdown .deal-timer-boxes {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
}
.deals-feature-card .deal-countdown .deal-timer-box {
    justify-content: center;
    white-space: nowrap;
}
.deals-feature-card .deal-countdown .deal-timer-sep {
    display: none;
}
.deals-feature-card .item-cart.add_to_cart,
.deals-feature-card .mirswa-card-add-btn.add_to_cart {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 52px;
    min-height: 32px;
    padding: 6px 14px;
    border: 1px solid var(--tertiary-color);
    border-radius: 6px;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    background: var(--tertiary-color);
    transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.deals-feature-card .item-cart.add_to_cart:hover,
.deals-feature-card .mirswa-card-add-btn.add_to_cart:hover {
    background: var(--quaternary-color);
    color: #fff;
    border-color: var(--quaternary-color);
}
.deals-section .deals-grid-row {
    display: grid;
    /* Mobile-first: 1 column; overridden at 768px+ and 992px+ */
    grid-template-columns: 1fr;
    gap: 12px;
    margin-left: 0;
    margin-right: 0;
}
.deals-section .deals-grid-row > .project.item.deals-feature-card {
    width: 100%;
    max-width: 100%;
    margin-bottom: 0 !important;
    height: 100%;
}

/* Tighter gap before the main “Early Offers” / product rail below */
section.deals-section.mt-2 {
    margin-bottom: 0.2rem;
}
section.deals-section.mt-2 > .container {
    padding-bottom: 0.45rem !important;
}
.deals-section .featured-section-title.my-4 {
    margin-top: 0.65rem !important;
    margin-bottom: 0.75rem !important;
}

/* Store-wide deal countdown — pink box (listing, search, PDP). Homepage Deals rail uses .deals-feature-card rules above. */
.deal-countdown--boxed {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 6px 8px;
    margin-top: 6px !important;
    border: 1px solid #ffd5da;
    border-radius: 10px;
    background: #fff5f6;
    font-size: 11px;
    font-weight: 600;
    color: #d6455b !important;
    line-height: 1.35;
    white-space: normal;
}
.deal-countdown--boxed .deal-timer {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}
.deal-countdown--boxed .deal-timer.deal-timer--days-only {
    flex-direction: column;
    align-items: flex-start;
    white-space: normal;
    width: 100%;
}
.deal-countdown--boxed .deal-timer-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: #d6455b;
    line-height: 1.2;
}
.deal-countdown--boxed .deal-timer-days-line {
    display: block;
    font-size: 13px;
    font-weight: 800;
    color: #d6455b;
    line-height: 1.2;
}
.deal-countdown--boxed .deal-timer-days-num {
    font-size: 1.1em;
    font-weight: 800;
}
.deal-countdown--boxed .deal-timer-days-word {
    font-weight: 700;
    text-transform: lowercase;
}
.deal-countdown--boxed .deal-timer-boxes {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
}
.deal-countdown--boxed .deal-timer-box {
    justify-content: center;
    white-space: nowrap;
}
.deal-countdown--boxed .deal-timer-sep {
    display: none;
}
/* Homepage Deals — >48h: one line “Deal ends in X days”. ≤48h: label line 1, timer boxes line 2. */
.deals-feature-card .deal-countdown .deal-timer.deal-timer--days-only {
    flex-direction: row;
    align-items: baseline;
    flex-wrap: nowrap;
    white-space: nowrap;
    gap: 0.35em;
    width: auto;
    max-width: 100%;
}
.deals-feature-card .deal-countdown .deal-timer.deal-timer--days-only .deal-timer-label,
.deals-feature-card .deal-countdown .deal-timer.deal-timer--days-only .deal-timer-days-line {
    display: inline;
    width: auto;
}
.deals-feature-card .deal-countdown .deal-timer-days-line {
    font-size: 13px;
    font-weight: 800;
}
.deals-feature-card .deal-countdown .deal-timer:not(.deal-timer--days-only) {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    width: 100%;
    white-space: normal;
}
.deals-feature-card .deal-countdown .deal-timer:not(.deal-timer--days-only) .deal-timer-label {
    display: block;
    width: 100%;
}

/* Subtle card shine effect on hover (desktop-first) */
.project.item.default-style,
.deals-feature-card {
    position: relative;
    overflow: hidden;
}
.project.item.default-style::after,
.deals-feature-card::after {
    content: "";
    position: absolute;
    top: -25%;
    left: -60%;
    width: 38%;
    height: 150%;
    background: linear-gradient(
        100deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.18) 45%,
        rgba(255, 255, 255, 0.4) 50%,
        rgba(255, 255, 255, 0.18) 55%,
        rgba(255, 255, 255, 0) 100%
    );
    transform: translateX(0) skewX(-18deg);
    opacity: 0;
    pointer-events: none;
}
@media (hover: hover) and (pointer: fine) {
    .project.item.default-style:hover::after,
    .project.item.default-style:focus-within::after,
    .deals-feature-card:hover::after,
    .deals-feature-card:focus-within::after {
        opacity: 1;
        animation: card-shine-sweep 700ms ease-out 1;
    }
}
@keyframes card-shine-sweep {
    0% {
        left: -60%;
    }
    100% {
        left: 135%;
    }
}
@media (prefers-reduced-motion: reduce) {
    .project.item.default-style::after,
    .deals-feature-card::after {
        animation: none !important;
        opacity: 0 !important;
    }
}

/* Professional hover interactions (desktop-first) */
.project.item.default-style,
.deals-feature-card {
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
    border-color: #e9edf5;
}
.project.item.default-style figure,
.deals-feature-card figure {
    overflow: hidden;
}
.project.item.default-style .fig_image,
.deals-feature-card .fig_image {
    transition: transform 0.28s ease;
    transform-origin: center center;
}
.project.item.default-style .post-title a,
.deals-feature-card .post-title a {
    transition: color 0.2s ease;
}
.project.item.default-style .price,
.deals-feature-card .price {
    transition: color 0.2s ease;
}
@media (hover: hover) and (pointer: fine) {
    .project.item.default-style:hover,
    .project.item.default-style:focus-within,
    .deals-feature-card:hover,
    .deals-feature-card:focus-within {
        transform: translateY(-3px);
        box-shadow: 0 14px 28px rgba(16, 24, 40, 0.14);
        border-color: rgba(11, 87, 208, 0.22);
    }

    .project.item.default-style:hover .fig_image,
    .project.item.default-style:focus-within .fig_image,
    .deals-feature-card:hover .fig_image,
    .deals-feature-card:focus-within .fig_image {
        transform: scale(1.03);
    }

    .project.item.default-style:hover .post-title a,
    .project.item.default-style:focus-within .post-title a,
    .deals-feature-card:hover .post-title a,
    .deals-feature-card:focus-within .post-title a {
        color: #174ea6 !important;
    }

    .project.item.default-style:hover .price,
    .project.item.default-style:focus-within .price,
    .deals-feature-card:hover .price,
    .deals-feature-card:focus-within .price {
        color: #0f172a !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    .project.item.default-style,
    .deals-feature-card,
    .project.item.default-style .fig_image,
    .deals-feature-card .fig_image {
        transition: none !important;
        transform: none !important;
    }
}

.deals-section .deals-feature-card {
    padding: 8px;
    height: 100%;
}
.deals-section .deals-card-body {
    display: grid;
    grid-template-columns: minmax(140px, 40%) minmax(0, 60%);
    align-items: stretch;
    gap: 10px;
    min-height: 160px;
    height: 100%;
}
.deals-section .deals-media {
    margin: 0 !important;
    position: relative;
    height: 100%;
}
.deals-section .deals-media-wrap {
    width: 100%;
    height: 100%;
}
.deals-section .deals-media-wrap > a {
    display: block;
    height: 100%;
}
.deals-section .deals-media .fig_image {
    width: 100%;
    height: 100% !important;
    min-height: 0;
    border-radius: 8px;
    object-fit: cover !important;
    background: #fff;
}
.deals-section .deals-content {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}
.deals-section .deals-content .title_wrap {
    font-size: 13px !important;
    min-height: 0;
    margin-top: 0 !important;
}
.deals-section .deals-content .title_wrap a{
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.25;
}
.deals-section .deals-content .price {
    font-size: 16px !important;
    line-height: 1.1;
}
.deals-section .deals-content .price sup{
    font-size: 13px;
    font-weight: 700;
}
.deals-section .deals-content .deal-rating{
    margin-top: 4px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--secondary-color);
    font-size: 12px;
    letter-spacing: .3px;
}
.deals-section .deals-content .deal-rating .deal-rating-num{
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
}
.deals-section .deals-content .deal-countdown {
    margin-top: 4px !important;
    padding: 4px 6px;
    overflow: hidden;
}
.deals-section .deals-content .deal-countdown .deal-timer {
    width: 100%;
    gap: 4px;
}
.deals-section .deals-content .deal-countdown .deal-timer:not(.deal-timer--days-only) {
    flex-direction: column;
    align-items: flex-start;
    white-space: normal;
}
.deals-section .deals-content .deal-countdown .deal-timer:not(.deal-timer--days-only) .deal-timer-label {
    display: block;
    width: 100%;
}
.deals-section .deals-content .deal-countdown .deal-timer.deal-timer--days-only {
    width: auto;
    flex-direction: row;
    flex-wrap: nowrap;
    white-space: nowrap;
}
.deals-section .deals-content .deal-countdown .deal-timer-label {
    font-size: 11px;
    font-weight: 700;
}
.deals-section .deals-content .deal-countdown .deal-timer-boxes {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4px;
}
.deals-section .deals-content .deal-countdown .deal-timer-box {
    min-width: 0;
    padding: 4px 3px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 2px;
    border-radius: 8px;
}
.deals-section .deals-content .deal-countdown .deal-timer-num {
    font-size: 12px;
    line-height: 1;
}
.deals-section .deals-content .deal-countdown .deal-timer-unit {
    font-size: 9px;
    line-height: 1;
    white-space: nowrap;
}
.deals-section .deals-content .item-cart.add_to_cart {
    margin-top: auto;
    min-height: 34px;
}
.deals-section .deals-content .item-cart.add_to_cart{
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: fit-content;
    padding: 8px 12px;
    font-size: 12px;
    border-radius: 999px;
}

/* Quick view: prevent image area shrink */
#quick-view .gallery-top,
#quick-view .mobile-image-swiper{
    height: 320px;
}
#quick-view .gallery-top .swiper-wrapper,
#quick-view .gallery-top .swiper-slide,
#quick-view .mobile-image-swiper .swiper-wrapper,
#quick-view .mobile-image-swiper .swiper-slide{
    height: 100%;
}
#quick-view .gallery-top img,
#quick-view .mobile-image-swiper img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}

#quick-view .product-view-image-container{
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}
#quick-view .product-view-image-container img{
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}

/* Override global shrink rule for quick-view main images */
#quick-view .swiper-image img{
    max-height: none !important;
    max-width: 100% !important;
    height: 100% !important;
    width: 100% !important;
    object-fit: contain !important;
}

/* Quick view: show one image area per breakpoint (prevents shrink/blank) */
@media (min-width: 576px){
    #quick-view .product-preview-image-section-sm{ display: none !important; }
    #quick-view .product-preview-image-section-md{ display: block !important; }
}
@media (max-width: 575.98px){
    #quick-view .product-preview-image-section-md{ display: none !important; }
    #quick-view .product-preview-image-section-sm{ display: block !important; }
}
.deals-section .deals-media .deal_tag,
.deals-section .deals-media .sale_tag {
    top: 6px;
    left: 6px;
    width: 32px;
    height: 32px;
    font-size: 9px;
    z-index: 2;
}

@media (max-width: 767.98px) {
    .deals-section .deals-grid-row {
        grid-template-columns: 1fr;
        gap: 8px;
    }
    .deals-section .deals-feature-card {
        padding: 7px;
    }
    .deals-section .deals-card-body {
        grid-template-columns: minmax(110px, 40%) minmax(0, 60%);
        min-height: 126px;
        height: 100%;
    }
    .deals-section .deals-media .fig_image {
        height: 100% !important;
    }
    .deals-section .deals-content .title_wrap {
        min-height: 28px;
        font-size: 12px !important;
    }
    .deals-section .deals-content .price {
        font-size: 21px;
    }
    .deals-section .deals-content .deal-countdown .deal-timer-label {
        font-size: 10px;
    }
    .deals-section .deals-content .deal-countdown .deal-timer-box {
        padding: 3px 2px;
        gap: 1px;
    }
    .deals-section .deals-content .deal-countdown .deal-timer-num {
        font-size: 11px;
    }
    .deals-section .deals-content .deal-countdown .deal-timer-unit {
        font-size: 8px;
    }
    .deals-feature-card {
        padding: 6px 6px 8px;
        border-radius: 10px;
    }
    .deals-feature-card figure {
        margin-bottom: 2px;
    }
    .deals-feature-card .fig_image {
        height: 110px !important;
        object-fit: contain !important;
    }
    .deals-feature-card .title_wrap {
        min-height: 28px;
        font-size: 12px;
        line-height: 1.25;
    }
    .deals-feature-card .price {
        font-size: 20px;
    }
    .deals-feature-card .price sup {
        font-size: 12px;
    }
    .deals-feature-card .item-cart.add_to_cart {
        min-height: 30px;
        font-size: 11px;
    }
    .deals-feature-card .deal_tag,
    .deals-feature-card .sale_tag {
        width: 34px;
        height: 34px;
        font-size: 9px;
        top: 6px;
        left: 6px;
    }
    .deal-timer-box {
        padding: 3px 5px;
    }
    .deal-timer-num {
        font-size: 11px;
    }
    .deal-timer-unit {
        font-size: 9px;
    }
}

@media (max-width: 420px) {
    .deals-section .deals-grid-row {
        gap: 6px;
    }
    .deals-section .deals-card-body {
        grid-template-columns: minmax(102px, 40%) minmax(0, 60%);
        height: 100%;
    }
    .deals-section .deals-media .fig_image {
        height: 100% !important;
    }
    .deals-feature-card .title_wrap {
        font-size: 12px;
        min-height: 30px;
    }
    .deals-section .deals-content .price {
        font-size: 19px;
    }
    .deals-section .deals-content .deal-countdown {
        padding: 3px 4px;
    }
    .deals-section .deals-content .deal-countdown .deal-timer-boxes {
        gap: 3px;
    }
    .deals-feature-card .deal-countdown {
        padding: 4px 6px;
        font-size: 10px;
    }
}

/* Deals grid: 4 xl (≥1200px), 3 lg (992–1199px), 2 tablet (768–991px), 1 phone (<768px) */
@media (min-width: 992px) and (max-width: 1199.98px) {
    .deals-section .deals-grid-row {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (min-width: 1200px) {
    .deals-section .deals-grid-row {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}
@media (max-width: 991.98px) and (min-width: 768px) {
    .deals-section .deals-grid-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* PDP CTA anti-overflow guardrail (desktop zoom-safe) */
@media (min-width: 992px) {
    .pdp-page #pdp-cta-anchor {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }
    .pdp-page #pdp-cta-anchor .product-cta-row {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 8px !important;
    }
    .pdp-page #pdp-cta-anchor .product-cta-row > * {
        min-width: 0 !important;
    }
    .pdp-page #pdp-cta-anchor .product-cta-row .num-in,
    .pdp-page #pdp-cta-anchor .product-cta-row .pdp-qty-in-cta {
        flex: 0 0 104px !important;
        width: 104px !important;
        max-width: 104px !important;
        min-width: 96px !important;
    }
    .pdp-page #pdp-cta-anchor .product-cta-row #add_cart,
    .pdp-page #pdp-cta-anchor .product-cta-row #buy_now {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        width: auto !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        white-space: nowrap !important;
    }
}

.fav_button_dif {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: translateY(0);
    letter-spacing: -0.01rem;
    position: relative;
    --bs-btn-padding-y: 0.4rem;
    --bs-btn-padding-x: 1rem;
    --bs-btn-font-size: 0.7rem;
    --bs-btn-border-radius: 0.4rem;
    /* --bs-btn-padding-x: 1.2rem;
    --bs-btn-padding-y: 0.5rem;
    --bs-btn-font-size: 0.8rem;
    --bs-btn-border-radius: 0.4rem; */

    --bs-btn-color: var(--tertiary-color);
    --bs-btn-border-color: var(--tertiary-color);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--tertiary-color);
    --bs-btn-hover-border-color: var(--tertiary-color);
    --bs-btn-focus-shadow-rgb: 216, 32, 42;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--tertiary-color);
    --bs-btn-active-border-color: var(--tertiary-color);
    --bs-btn-active-shadow: 0rem 0.25rem 0.75rem rgba(30, 34, 40, 0.15);
    --bs-btn-disabled-color: var(--tertiary-color);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: var(--tertiary-color);
    --bs-gradient: none;

    --bs-btn-font-family: ;
    --bs-btn-font-weight: 700;
    --bs-btn-line-height: 1.7;
    /* --bs-btn-color: #60697b; */
    --bs-btn-bg: transparent;
    --bs-btn-border-width: 2px;
    /* --bs-btn-border-color: transparent; */
    /* --bs-btn-hover-border-color: transparent; */
    --bs-btn-box-shadow: unset;
    --bs-btn-disabled-opacity: 0.65;
    --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
    /* display: inline-block; */
    padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
    /* font-family: var(--bs-btn-font-family); */
    font-size: var(--bs-btn-font-size);
    font-weight: var(--bs-btn-font-weight);
    line-height: var(--bs-btn-line-height);
    color: var(--bs-btn-color);
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    /* cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; */
    border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
    border-radius: var(--bs-btn-border-radius);
    background-color: var(--bs-btn-bg);
    box-shadow: var(--bs-btn-box-shadow);
    transition: all 0.2s ease-in-out;
}

.fav_button_dif:hover {
    color: var(--bs-btn-hover-color);
    background-color: var(--bs-btn-hover-bg);
    border-color: var(--bs-btn-hover-border-color);
}

.product-page-div>.fa-heart:hover {
    color: white !important;
}

.empty-compare {
    height: 300px;
    width: 300px;
}

.empty-compare img {
    max-width: 100%;
    max-height: 100%;
}

.no-promo-code-img {
    height: 250px;
    width: 270px;
}

.no-promo-code-img img {
    max-width: 100%;
    max-height: 100%;
}

.select2-container {
    width: 100% !important;
}

.mobile-search .select2-container {
    border-radius: 10px !important;
}

.mobile-search .select2-selection {
    min-height: 28px !important;
    border-radius: 10px !important;
}

/* Cart count badge: legacy offset for non-header contexts */
#cart-count {
    position: relative;
    left: -8px;
}

.profile_image .avatar {
    height: 110px !important;
    width: 110px !important;
    object-fit: cover;
}

.theme-krajee-svg.rating-xs .krajee-icon,
.theme-krajee-svg.rating-xs .krajee-icon-clear {
    width: 0.8rem !important;
    height: 0.8rem !important;
}

.theme-krajee-svg .filled-stars .krajee-icon-star {
    background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBoZWlnaHQ9IjMycHgiIHdpZHRoPSIzMnB4IiB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHZpZXdCb3g9IjAgMCA0OC45NCA0Ny45NCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgZmlsbD0iI2FhYSIgc3Ryb2tlPSIjZmZmZiI+Cgo8ZyBpZD0iU1ZHUmVwb19iZ0NhcnJpZXIiIHN0cm9rZS13aWR0aD0iMCIvPgoKPGcgaWQ9IlNWR1JlcG9fdHJhY2VyQ2FycmllciIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2U9IiNDQ0NDQ0MiIHN0cm9rZS13aWR0aD0iMC4zODM1MTk5OTk5OTk5OTk5NyIvPgoKPGcgaWQ9IlNWR1JlcG9faWNvbkNhcnJpZXIiPiA8cGF0aCBzdHlsZT0iZmlsbDogI0ZGQ0IwMDsiIGQ9Ik0yNi4yODUsMi40ODZsNS40MDcsMTAuOTU2YzAuMzc2LDAuNzYyLDEuMTAzLDEuMjksMS45NDQsMS40MTJsMTIuMDkxLDEuNzU3IGMyLjExOCwwLjMwOCwyLjk2MywyLjkxLDEuNDMxLDQuNDAzbC04Ljc0OSw4LjUyOGMtMC42MDgsMC41OTMtMC44ODYsMS40NDgtMC43NDIsMi4yODVsMi4wNjUsMTIuMDQyIGMwLjM2MiwyLjEwOS0xLjg1MiwzLjcxNy0zLjc0NiwyLjcyMmwtMTAuODE0LTUuNjg1Yy0wLjc1Mi0wLjM5NS0xLjY1MS0wLjM5NS0yLjQwMywwbC0xMC44MTQsNS42ODUgYy0xLjg5NCwwLjk5Ni00LjEwOC0wLjYxMy0zLjc0Ni0yLjcyMmwyLjA2NS0xMi4wNDJjMC4xNDQtMC44MzctMC4xMzQtMS42OTItMC43NDItMi4yODVsLTguNzQ5LTguNTI4IGMtMS41MzItMS40OTQtMC42ODctNC4wOTYsMS40MzEtNC40MDNsMTIuMDkxLTEuNzU3YzAuODQxLTAuMTIyLDEuNTY4LTAuNjUsMS45NDQtMS40MTJsNS40MDctMTAuOTU2IEMyMi42MDIsMC41NjcsMjUuMzM4LDAuNTY3LDI2LjI4NSwyLjQ4NnoiLz4gPC9nPgoKPC9zdmc+') !important
}

.theme-krajee-svg .empty-stars .krajee-icon-star {
    background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBoZWlnaHQ9IjMycHgiIHdpZHRoPSIzMnB4IiB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHZpZXdCb3g9IjAgMCA0OC45NCA0Ny45NCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgZmlsbD0iI2FhYSIgc3Ryb2tlPSIjZmZmZiI+Cgo8ZyBpZD0iU1ZHUmVwb19iZ0NhcnJpZXIiIHN0cm9rZS13aWR0aD0iMCIvPgoKPGcgaWQ9IlNWR1JlcG9fdHJhY2VyQ2FycmllciIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2U9IiNDQ0NDQ0MiIHN0cm9rZS13aWR0aD0iMC4zODM1MTk5OTk5OTk5OTk5NyIvPgoKPGcgaWQ9IlNWR1JlcG9faWNvbkNhcnJpZXIiPiA8cGF0aCBzdHlsZT0iLyohIGZpbGw6ICNlYWJlMTI7ICovIiBkPSJNMjYuMjg1LDIuNDg2bDUuNDA3LDEwLjk1NmMwLjM3NiwwLjc2MiwxLjEwMywxLjI5LDEuOTQ0LDEuNDEybDEyLjA5MSwxLjc1NyBjMi4xMTgsMC4zMDgsMi45NjMsMi45MSwxLjQzMSw0LjQwM2wtOC43NDksOC41MjhjLTAuNjA4LDAuNTkzLTAuODg2LDEuNDQ4LTAuNzQyLDIuMjg1bDIuMDY1LDEyLjA0MiBjMC4zNjIsMi4xMDktMS44NTIsMy43MTctMy43NDYsMi43MjJsLTEwLjgxNC01LjY4NWMtMC43NTItMC4zOTUtMS42NTEtMC4zOTUtMi40MDMsMGwtMTAuODE0LDUuNjg1IGMtMS44OTQsMC45OTYtNC4xMDgtMC42MTMtMy43NDYtMi43MjJsMi4wNjUtMTIuMDQyYzAuMTQ0LTAuODM3LTAuMTM0LTEuNjkyLTAuNzQyLTIuMjg1bC04Ljc0OS04LjUyOCBjLTEuNTMyLTEuNDk0LTAuNjg3LTQuMDk2LDEuNDMxLTQuNDAzbDEyLjA5MS0xLjc1N2MwLjg0MS0wLjEyMiwxLjU2OC0wLjY1LDEuOTQ0LTEuNDEybDUuNDA3LTEwLjk1NiBDMjIuNjAyLDAuNTY3LDI1LjMzOCwwLjU2NywyNi4yODUsMi40ODZ6Ii8+IDwvZz4KCjwvc3ZnPg==') !important
}

.bottom-sheet {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #fff;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
    transform: translateY(100%);
    transition: transform 0.3s ease-out;
    z-index: 1050;
}

.bottom-sheet.show {
    transform: translateY(0);
}

.logo-fit {
    object-fit: contain;
}

.image-fit {
    object-fit: cover;
}

/* PDP: ensure main/zoom images never crop edges (magnifier parity) */
.pdp-page .image-fit,
.pdp-page .product_other_images,
.pdp-page .product-view-image-container img,
.pdp-page .gallery-top-1 img {
    object-fit: contain !important;
    background: #fff;
}
.pdp-page .gallery-top-1 figure.rounded {
    background: #fff;
}

.payment-gateway-images {
    height: 30px;
}

.under_maintenance {
    max-width: 450px;
}

.tab_border {
    border: none;
}

.product_other_images {
    width: 100% !important;
    height: 100% !important;
    max-height: 520px;
    object-fit: contain;
    display: block;
}

.product_main_image {
    width: 114px;
    margin-right: 10px;
}

.overflow-height {
    height: 530px;
}

.slide_image {
    width: 280px;
    max-width: 100%;
    margin-right: 30px;
    box-sizing: border-box;
    display: flex;
    height: auto;
}

.slide_image .mirswa-home-section-card__figure {
    flex: 1 1 auto;
    height: 100%;
}

/* NOTE: Product card sizing should follow theme defaults.
   Keeping this block disabled prevents "empty card" regressions. */

.gray_slale_cod {
    filter: grayscale(100%);
}

#search_items {
    list-style: none;
    /* Remove bullets */
    margin: 0;
    padding: 0;
    max-height: 300px;
    /* Fixed height for search results */
    overflow-y: scroll;
    /* Adds scrollbar if content exceeds the height */
}

#search_items::-webkit-scrollbar {
    width: 7px;
}

#search_items::-webkit-scrollbar-track {
    border-radius: 7px;
}

#search_items::-webkit-scrollbar-thumb {
    background: rgb(66, 66, 66);
    border: 1px solid rgb(255, 255, 255);
    border-radius: 5px;
}

.search-products {
    min-width: 64%;
}

.w-62 {
    width: 62% !important;
}

.item {
    padding: 2px;
    /* border-bottom: 1px solid #eee;  */
}

.item .item-title {
    color: #000;
    /* Text color */
    text-decoration: none;
}

/* .item .item-title:hover {
    text-decoration: underline;
} */

.empty {
    color: #999;
    font-style: italic;
}

.select2-selection__rendered {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


/* support ticket chat  */

.direct-chat-text {
    border-radius: .3rem;
    background: #d2d6de;
    border: 1px solid #d2d6de;
    color: #444;
    margin: 5px 0 0 50px;
    padding: 5px 10px;
    position: relative;
}

.direct-chat-text {
    width: fit-content;
}

.right .direct-chat-text {
    float: right;
}

.direct-chat-timestamp {
    margin: 0 10px;
}

.direct-chat-text {
    margin: 5px 0 0 10px;
}

.right .direct-chat-text {
    margin-right: 10px;
}

.direct-chat-messages {
    height: 384px;
}

.direct-chat-primary .right>.direct-chat-text {
    background: #007bff;
    border-color: #007bff;
    color: #fff;
}

.direct-chat-name {
    font-weight: 600;
}

.direct-chat-timestamp {
    color: #697582;
}

.return-reason-card {
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 15px;
    transition: 0.3s;
}

.return-reason-card:hover {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.return-reason-card img {
    width: 50px;
    height: 50px;
    object-fit: contain;
}

.cursor-pointer {
    cursor: pointer;
}

/* Style the entire card when radio is checked */
.return-reason-card:has(input[type="radio"]:checked) {
    border: 2px solid #aaaaaa !important
}


.category-swiper .swiper-slide {
    width: 86px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center;
    justify-content: center;
}


.category-swiper .brand_image_div {
    border: none !important;
    background: transparent !important;
    width: 86px !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center;
    text-decoration: none !important;
    gap: 4px;
}


.category-swiper .brand_image_div img {
    width: 48px !important;
    height: 48px !important;
    object-fit: contain !important;
    margin-bottom: 6px;
    transition: transform 0.3s ease, filter 0.3s ease;
}


.category-swiper .brand_image_div h6 {
    font-size: 11px !important;
    font-weight: 600 !important;   /* Professional semi-bold */
    color: var(--primary-color) !important;
    margin: 0 !important;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
    display: block;
    line-height: 1.2;
    transition: color 0.3s ease;
}


.category-swiper .brand_image_div:hover img {
    transform: translateY(-5px); /* Gentle lift */
}

.category-swiper .brand_image_div:hover h6 {
    color: var(--primary-color) !important;
}

/* PDP desktop hard lock (final): prevent content below CTA */
@media (min-width: 992px) {
    .pdp-page .pdp-right-col {
        display: flex !important;
        flex-direction: column !important;
        position: sticky !important;
        top: var(--pdp-fixedsplit-offset) !important;
        overflow: visible !important;
        height: calc(100dvh - var(--pdp-fixedsplit-offset)) !important;
        min-height: calc(100dvh - var(--pdp-fixedsplit-offset)) !important;
        max-height: calc(100dvh - var(--pdp-fixedsplit-offset)) !important;
        padding-bottom: 0 !important;
    }
    .pdp-page .pdp-right-top {
        flex: 1 1 auto !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        min-height: 0 !important;
        padding-bottom: 0 !important;
        margin: 0 !important;
    }
    .pdp-page #pdp-cta-anchor {
        position: sticky !important;
        flex: 0 0 auto !important;
        flex-shrink: 0 !important;
        height: auto !important;
        min-height: 76px !important;
        max-height: none !important;
        bottom: 0 !important;
        top: auto !important;
        margin: 0 !important;
        margin-top: auto !important;
        width: 100% !important;
        background: #fff !important;
        border: 0 !important;
        border-top: 1px solid #e9edf5 !important;
        border-radius: 0 !important;
        box-shadow: 0 -1px 0 #e9edf5 !important;
        padding: 12px 12px 14px !important;
        box-sizing: border-box !important;
        z-index: 120 !important;
        overflow: visible !important;
        isolation: isolate;
    }
    .pdp-page #pdp-cta-anchor .product-cta-row {
        background: #fff !important;
        margin: 0 !important;
        overflow: visible !important;
    }
    .pdp-page #pdp-cta-anchor .product-cta-row > *,
    .pdp-page #pdp-cta-anchor .product-cta-row .btn,
    .pdp-page #pdp-cta-anchor .product-cta-row .num-in,
    .pdp-page #pdp-cta-anchor .product-cta-row .num-in span,
    .pdp-page #pdp-cta-anchor .product-cta-row .num-in input,
    .pdp-page #pdp-cta-anchor .product-cta-row .add-to-fav-btn {
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
        line-height: 1.2 !important;
    }
}

/* Responsive tuning for PDP right pane/CTA spacing */
@media (max-width: 1199.98px) and (min-width: 992px) {
    .pdp-page .pdp-right-top {
        margin: 0 !important;
        padding-bottom: 12px !important;
    }
}

@media (max-width: 991.98px) {
    .pdp-page .pdp-right-top {
        margin: 0 !important;
        padding-bottom: 0 !important;
    }
}

@media (min-width: 1200px) {
    .pdp-page #pdp-cta-anchor {
        padding: 10px 10px;
    }
    .pdp-page #pdp-cta-anchor .product-cta-row > *,
    .pdp-page #pdp-cta-anchor .product-cta-row .btn,
    .pdp-page #pdp-cta-anchor .product-cta-row .num-in,
    .pdp-page #pdp-cta-anchor .product-cta-row .num-in span,
    .pdp-page #pdp-cta-anchor .product-cta-row .num-in input,
    .pdp-page #pdp-cta-anchor .product-cta-row .add-to-fav-btn {
        height: 44px !important;
        min-height: 44px !important;
        line-height: 44px !important;
    }
}

/* Final responsive guardrail for PDP */
@media (min-width: 992px) {
    .pdp-page .product-layout-wrap > .row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        gap: 8px !important;
        align-items: stretch !important;
        margin-top: 0.2rem !important;
    }
    .pdp-page .product-layout-wrap > .row > .product-gallery-wrap,
    .pdp-page .product-layout-wrap > .row > .pdp-right-col {
        margin: 0 !important;
    }
    .pdp-page .product-gallery-wrap,
    .pdp-page .pdp-right-col {
        height: calc(100dvh - var(--pdp-fixedsplit-offset)) !important;
        min-height: calc(100dvh - var(--pdp-fixedsplit-offset)) !important;
        max-height: calc(100dvh - var(--pdp-fixedsplit-offset)) !important;
    }
    .pdp-page .pdp-right-col {
        overflow: visible !important;
    }
    .pdp-page .pdp-right-top {
        overflow-y: auto !important;
        min-height: 0 !important;
        padding-bottom: 0 !important;
        margin: 0 !important;
    }
    .pdp-page #pdp-cta-anchor {
        position: sticky !important;
        flex: 0 0 auto !important;
        flex-shrink: 0 !important;
        height: auto !important;
        min-height: 76px !important;
        max-height: none !important;
        bottom: 0 !important;
        top: auto !important;
        margin: 0 !important;
        margin-top: auto !important;
        z-index: 120 !important;
        background: #fff !important;
        box-shadow: 0 -1px 0 #e9edf5 !important;
        overflow: visible !important;
        padding: 12px 12px 14px !important;
    }
}

@media (max-width: 991.98px) {
    .pdp-page .product-layout-wrap > .row {
        display: block !important;
        margin-top: 0.25rem !important;
    }
    .pdp-page .product-gallery-wrap,
    .pdp-page .pdp-right-col,
    .pdp-page .pdp-right-top {
        position: static !important;
        top: auto !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
        margin: 0 !important;
    }
    .pdp-page {
        padding-bottom: calc(108px + env(safe-area-inset-bottom, 0px)) !important;
    }
    .pdp-page #pdp-cta-anchor {
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        z-index: 1200 !important;
        background: #fff !important;
        padding-bottom: max(6px, env(safe-area-inset-bottom, 0px)) !important;
    }
}

/* Home — tight gap between category strip and banners */
.mirswa-home-category-strip {
    margin: 0;
    padding: 0.35rem 0 0.1rem;
}

.mirswa-home-category-strip .container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.mirswa-home-category-strip .category-swiper {
    padding-top: 0;
    padding-bottom: 0;
}

section.home-top-banner-wrap,
.home-top-banner-wrap {
    margin-top: 0.2rem !important;
    margin-bottom: 0.45rem !important;
}

.mirswa-home-category-strip + section.slider.hero-slider-enhanced,
.mirswa-home-category-strip + section.home-top-banner-wrap,
.mirswa-home-category-strip + section.auto-product-ads-wrap {
    margin-top: 0.15rem !important;
}

section.slider.hero-slider-enhanced + section.home-top-banner-wrap,
section.slider.hero-slider-enhanced + section.auto-product-ads-wrap {
    margin-top: 0.25rem !important;
}

.auto-product-ads-wrap {
    margin-top: 0.35rem !important;
    margin-bottom: 0.75rem !important;
}

/* Header toolbar: tighter icon spacing + compact cells */
.hero-slider-enhanced {
    margin-top: 0;
    margin-bottom: 2px;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.slider.container.hero-slider-enhanced {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.hero-slider-enhanced .swiper-slide-container {
    background: transparent;
    border: 0;
    border-radius: 12px;
    box-shadow: none;
    padding: 0;
    overflow: hidden !important;
    max-width: 100%;
    box-sizing: border-box;
}
.hero-slider-enhanced .swiper,
.hero-slider-enhanced .swiper-wrapper,
.hero-slider-enhanced .swiper-slide {
    max-width: 100%;
}
.hero-slider-enhanced .swiper-wrapper {
    padding: 0 !important;
}
.hero-slider-enhanced .swiper-slide {
    border-radius: 12px;
    overflow: hidden;
    background: transparent;
    box-shadow: none;
}
.hero-slider-enhanced .slide-img {
    border-radius: 12px;
    overflow: hidden;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    /* Keep a consistent banner shape like marketplaces */
    aspect-ratio: 16 / 6;
    height: var(--hero-slider-height-mobile, 190px);
}
.hero-slider-enhanced .slide-img img {
    display: block;
    width: 100%;
    height: 100%;
    /* show full banner without cropping */
    object-fit: contain;
    object-position: center;
    max-height: 100%;
}

/* Replica-style card look (no tray background, just card) */
.hero-slider-enhanced .slide-img{
    background: #fff; /* required so transparent PNGs look clean */
    box-shadow: 0 2px 10px rgba(0,0,0,.08);
}

/* Pagination placement/spacing like marketplace */
.hero-slider-enhanced .swiper-controls{
    margin-top: 0;
    margin-bottom: 0;
    padding: 0 6px;
    line-height: 1;
    position: relative;
    z-index: 2;
}
.hero-slider-enhanced .slide-swiper-pagination{
    text-align: center;
    margin: 0;
    padding: 0;
    min-height: 10px;
}
.hero-slider-enhanced .swiper-pagination-bullet{
    width: 6px;
    height: 6px;
    margin: 0 3px !important;
    background: rgba(17, 24, 39, 0.35);
}
.hero-slider-enhanced .swiper-pagination-bullet-active{
    width: 18px;
    background: rgba(17, 24, 39, 0.55);
}

@media (min-width: 992px){
    .hero-slider-enhanced{
        margin-bottom: 4px;
    }
    .hero-slider-enhanced .slide-img{
        height: var(--hero-slider-height-desktop, 320px);
    }
    .hero-slider-enhanced .swiper-controls{
        margin-top: 2px;
    }
}
.hero-slider-enhanced .swiper-controls {
    margin-top: 0;
    margin-bottom: 0;
}
.hero-slider-enhanced .swiper-pagination-bullet {
    width: 6px;
    height: 6px;
    background: rgba(15,23,42,.25);
    opacity: 1;
    margin: 0 2px !important;
}
.hero-slider-enhanced .swiper-pagination-bullet-active {
    width: 16px;
    border-radius: 999px;
    background: rgba(15,23,42,.45);
}

/* Keep CTA buttons inside cards on narrow screens */
.main-content .add_to_cart.btn {
    white-space: normal;
    line-height: 1.2;
    text-align: center;
}

/* App download buttons should stack/wrap cleanly on small devices */
@media (max-width: 767.98px) {
    .wrapper.bg-soft-grape .col-md-7 > span {
        display: block;
        width: 100%;
    }
    .wrapper.bg-soft-grape .btn.btn-icon {
        width: 100%;
        justify-content: center;
        margin-bottom: 8px;
    }
}

/* Prevent first-load "full width" flash before Swiper sizes slides */
.hero-slider-enhanced .swiper-slide-container{
    opacity: 0;
    transition: opacity .15s ease;
}
.hero-slider-enhanced .swiper-slide-container.is-ready{
    opacity: 1;
}
.hero-slider-enhanced .swiper-navigation .swiper-button {
    display: none !important;
}
@media (min-width: 992px) {
    .hero-slider-enhanced .swiper-slide-container {
        overflow: hidden !important;
    }
}
@media (max-width: 767.98px) {
    .hero-slider-enhanced .swiper-slide-container {
        border-radius: 8px;
        padding: 0;
    }
    .hero-slider-enhanced .slide-img{
        height: var(--hero-slider-height-mobile, 190px);
    }
}

.header-location-widget {
    position: relative;
    display: flex;
    align-items: center;
}
.header-location-trigger {
    border: 1px solid rgba(15, 23, 42, 0.1);
    background: #fff;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
    border-radius: 999px;
    color: #0f172a;
    max-width: min(280px, 44vw);
    min-height: 36px;
    line-height: 1.2;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
    transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.header-location-trigger:hover {
    background: #f8fafc;
    border-color: color-mix(in srgb, var(--primary-color) 28%, #e2e8f0);
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.07);
}
.header-location-icon {
    font-size: 17px;
    color: var(--primary-color, #1648b8);
    flex-shrink: 0;
    line-height: 1;
}
.header-location-value {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 13px;
    font-weight: 600;
    color: #0f172a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: left;
}
.header-location-value.is-placeholder {
    color: #64748b;
}
.header-location-caret {
    font-size: 15px;
    color: #64748b;
    flex-shrink: 0;
    line-height: 1;
}
.header-location-panel {
    position: fixed;
    top: 0;
    right: calc(-1 * min(420px, 96vw));
    z-index: 1700;
    width: min(420px, 96vw);
    height: 100dvh;
    background: #f3f4f6;
    border-left: 1px solid #e5e7eb;
    border-radius: 0;
    box-shadow: -8px 0 24px rgba(16, 24, 40, 0.16);
    padding: 0;
    transform: none !important;
    transition: right .18s ease-out;
    overflow: hidden;
}
.header-location-panel.is-open {
    right: 0;
    pointer-events: auto;
}

body.mirswa-loc-map-active .header-location-panel.is-open,
body.mirswa-inline-map-active .header-location-panel.is-open {
    overflow: visible !important;
}

body.mirswa-loc-map-active #bottomSheet,
body.mirswa-inline-map-active #bottomSheet {
    display: none !important;
    pointer-events: none !important;
}

.header-location-panel.is-open .mirswa-drawer-map-search-row,
.header-location-panel.is-open .mirswa-uk-address-search-wrap {
    position: relative !important;
    z-index: 40 !important;
    isolation: isolate;
    overflow: visible;
}

.header-location-panel.is-open .mirswa-uk-address-dropdown,
.header-location-panel.is-open .mirswa-map-search-dropdown {
    z-index: 50 !important;
    pointer-events: auto;
}

.header-location-panel.is-open input,
.header-location-panel.is-open button,
.header-location-panel.is-open textarea,
.header-location-panel.is-open select,
.header-location-panel.is-open a {
    pointer-events: auto;
}

/* Sign-in modal must sit above location drawer (z-index 1700) */
.mirswa-auth-modal-dialog,
#modal-signin .modal-dialog,
#modal-signup .modal-dialog {
  max-width: 400px;
  width: calc(100% - 24px);
  max-height: calc(100dvh - 24px);
  margin: 12px auto;
  display: flex;
  flex-direction: column;
}

.mirswa-auth-modal .modal-content {
  border: 0;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.18);
  background: #fff;
  max-height: calc(100dvh - 24px);
  display: flex;
  flex-direction: column;
}

.mirswa-auth-modal .modal-body {
  position: relative;
  padding: 0 !important;
  overflow-y: auto;
  flex: 1 1 auto;
  -webkit-overflow-scrolling: touch;
}

.mirswa-auth-modal-head {
  background: #fff;
  color: #0f172a;
  padding: 1rem 1rem 0.35rem;
  text-align: left;
  border-bottom: 0;
}

.mirswa-auth-modal-title {
  margin: 0 0 0.15rem;
  font-size: 1.125rem !important;
  font-weight: 700;
  line-height: 1.25;
  color: #0f172a !important;
}

.mirswa-auth-modal-sub {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.4;
  color: #64748b;
}

.mirswa-auth-modal-body {
  padding: 0.85rem 1rem 1rem;
  text-align: left;
}

/* Mirswa auth form: label above field, matched heights */
.mirswa-auth-form,
.mirswa-auth-modal {
  --mirswa-auth-control-h: 44px;
  --mirswa-auth-control-fs: 0.875rem;
  --mirswa-auth-control-radius: 4px;
  --mirswa-auth-control-gap: 0.875rem;
}

.mirswa-auth-field {
  margin-bottom: var(--mirswa-auth-control-gap);
}

.mirswa-auth-label {
  display: block;
  margin: 0 0 0.35rem;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.2;
  color: #334155;
}

.mirswa-auth-input,
.mirswa-auth-form .mirswa-auth-input.form-control {
  display: block;
  width: 100%;
  height: var(--mirswa-auth-control-h) !important;
  min-height: var(--mirswa-auth-control-h) !important;
  padding: 0.5rem 0.75rem !important;
  font-size: var(--mirswa-auth-control-fs) !important;
  line-height: 1.25 !important;
  color: #0f172a;
  background: #fff;
  border: 1px solid #d1d5db !important;
  border-radius: var(--mirswa-auth-control-radius) !important;
  box-shadow: none !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.mirswa-auth-input:focus,
.mirswa-auth-form .mirswa-auth-input.form-control:focus {
  border-color: var(--primary-color) !important;
  box-shadow: 0 0 0 1px var(--primary-color) !important;
  outline: 0;
}

.mirswa-auth-input-wrap {
  position: relative;
}

.mirswa-auth-field--password .password-toggle {
  position: absolute;
  top: 50%;
  right: 0.65rem;
  transform: translateY(-50%);
  width: 1.75rem;
  height: 1.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #64748b;
  cursor: pointer;
  z-index: 2;
}

.mirswa-auth-field--password .mirswa-auth-input {
  padding-right: 2.35rem !important;
}

.mirswa-auth-actions {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.25rem;
}

.mirswa-auth-actions--stack {
  flex-direction: column;
  align-items: stretch;
  gap: 0.35rem;
  margin-top: 0.15rem;
}

.mirswa-auth-btn {
  height: var(--mirswa-auth-control-h) !important;
  min-height: var(--mirswa-auth-control-h) !important;
  padding: 0 1rem !important;
  font-size: var(--mirswa-auth-control-fs) !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  border-radius: var(--mirswa-auth-control-radius) !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-shadow: none !important;
}

.mirswa-auth-btn-primary {
  width: 100%;
  background: var(--primary-color) !important;
  border: 1px solid var(--primary-color) !important;
  color: #fff !important;
}

.mirswa-auth-btn-primary:hover,
.mirswa-auth-btn-primary:focus {
  filter: brightness(0.96);
  color: #fff !important;
}

.mirswa-auth-btn-ghost {
  width: 100%;
  min-height: auto !important;
  height: auto !important;
  padding: 0.35rem 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #64748b !important;
  text-decoration: none !important;
  font-size: 0.8125rem !important;
  font-weight: 500 !important;
}

.mirswa-auth-btn-ghost:hover {
  color: #334155 !important;
  text-decoration: none !important;
}

.mirswa-auth-links {
  margin-top: 0.65rem;
}

.mirswa-auth-link,
.mirswa-auth-link-row .mirswa-auth-link {
  color: var(--primary-color) !important;
  font-size: 0.8125rem;
  font-weight: 600;
  text-decoration: none;
}

.mirswa-auth-link:hover {
  text-decoration: underline !important;
}

.mirswa-auth-link-row {
  margin-top: 0.35rem;
  font-size: 0.8125rem;
  color: #64748b;
}

.mirswa-auth-divider {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin: 0.85rem 0 0.65rem;
  color: #94a3b8;
  font-size: 0.75rem;
  text-transform: lowercase;
}

.mirswa-auth-divider::before,
.mirswa-auth-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #e2e8f0;
}

.mirswa-auth-social {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 0.15rem;
}

.mirswa-auth-social-btn {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-size: 1.1rem;
  border: 1px solid #e2e8f0;
  background: #fff;
  color: #334155;
  text-decoration: none !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
  cursor: pointer;
  padding: 0;
  line-height: 1;
}

.mirswa-auth-social-btn__label {
  display: none;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}

.mirswa-auth-social-btn:hover {
  border-color: #cbd5e1;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
}

.mirswa-auth-social-btn--google {
  color: #ea4335;
}

.mirswa-auth-social-btn--google .mirswa-auth-social-btn__label {
  color: #1f2937;
}

.mirswa-auth-social-btn--facebook {
  background: #1877f2;
  border-color: #1877f2;
  color: #fff;
}

.mirswa-auth-social-btn--facebook .mirswa-auth-social-btn__label {
  color: #fff;
}

@media (min-width: 480px) {
  .mirswa-auth-social-btn {
    width: auto;
    min-width: 132px;
    height: 42px;
    border-radius: 8px;
    padding: 0 1rem;
    font-size: 1rem;
  }

  .mirswa-auth-social-btn__label {
    display: inline;
  }
}

.mirswa-auth-error-wrap {
  margin-top: 0.35rem;
  min-height: 0;
}


#modal-signin .mirswa-auth-modal-close,
#modal-signup .mirswa-auth-modal-close {
  color: #64748b !important;
  text-shadow: none !important;
}

#modal-signin .mirswa-auth-modal-close span,
#modal-signup .mirswa-auth-modal-close span {
  color: #64748b !important;
}

.mirswa-auth-tabs {
  margin-bottom: 0.4rem !important;
}

.mirswa-auth-modal-body .pb-4,
#modal-signin .pb-4,
#modal-signup .pb-4 {
  padding-bottom: 0.3rem !important;
}

#modal-signin .mt-6,
#modal-signup .mt-6 {
  margin-top: 0.45rem !important;
}

#modal-signin #recaptcha-container,
#modal-signin #recaptcha-container-2,
#modal-signup #recaptcha-container {
  margin: 0.15rem auto 0.25rem;
  transform: scale(0.94);
  transform-origin: center top;
}

#modal-signup #is-user-exist-error,
#modal-signup #error-msg,
#modal-signup #email-exist-error {
  padding: 0.15rem 0 !important;
  margin: 0;
}

.mirswa-auth-modal-close {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 6;
  opacity: 0.85 !important;
  font-size: 1.35rem;
  line-height: 1;
  padding: 0.2rem 0.45rem;
  color: #64748b !important;
  text-shadow: none !important;
  background: transparent;
  border: 0;
}

.mirswa-auth-modal-close span {
  color: #64748b !important;
}

.mirswa-auth-modal-close--dark,
.mirswa-auth-modal .mirswa-auth-modal-close--dark {
  color: #fff !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}

.mirswa-auth-modal-close--dark span,
.mirswa-auth-modal .mirswa-auth-modal-close--dark span {
  color: #fff !important;
}

.mirswa-auth-tabs {
  border: 0;
  gap: 4px;
  padding: 4px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--primary-color) 8%, #f8fafc);
}

.mirswa-auth-tabs .nav-link {
  border: 0 !important;
  border-radius: 8px !important;
  color: #475569;
  font-size: 0.78rem;
  font-weight: 600;
  padding: 0.4rem 0.5rem;
  background: transparent;
}

.mirswa-auth-tabs .nav-link.active,
.mirswa-auth-tabs .nav-link.active:hover,
.mirswa-auth-tabs .nav-link.active:focus {
  background: var(--primary-color) !important;
  color: #fff !important;
  box-shadow: 0 6px 16px color-mix(in srgb, var(--primary-color) 35%, transparent);
}

.mirswa-auth-tabs .nav-link i {
  margin-right: 0.25rem;
}

#modal-signin .modal-body .lead,
#modal-signup .modal-body .lead {
  font-size: 0.8rem !important;
  line-height: 1.4;
  margin-bottom: 0.65rem !important;
}

#modal-signin h2,
#modal-signup h2 {
  font-size: 1.05rem !important;
  margin-bottom: 0.35rem !important;
}

/* Compact, matched field + button sizing for signup / legacy auth popups */
.mirswa-auth-modal,
#mirswaUkMapModal {
  --mirswa-auth-control-h: 44px;
  --mirswa-auth-control-fs: 0.875rem;
  --mirswa-auth-control-radius: 4px;
  --mirswa-auth-control-gap: 0.875rem;
}

.mirswa-auth-modal .form-floating,
#mirswaUkMapModal .form-floating {
  margin-bottom: var(--mirswa-auth-control-gap) !important;
  min-height: auto !important;
}

#modal-signin .form-floating.mb-4,
#modal-signup .form-floating.mb-4,
.mirswa-auth-modal .form-floating.mb-4,
.mirswa-auth-modal .form-floating.mb-3 {
  margin-bottom: var(--mirswa-auth-control-gap) !important;
}

.mirswa-auth-modal .form-floating > .form-control,
.mirswa-auth-modal .form-floating > .form-select,
#modal-signin .form-floating .form-control,
#modal-signup .form-floating .form-control,
#modal-signin .input-group .form-control,
#modal-signup .input-group .form-control,
#modal-signup .sign-up-verify-number .form-control,
.mirswa-auth-modal .form-control:not(textarea),
.mirswa-auth-modal .form-input.form-control,
.mirswa-auth-modal .form-control-sm,
#mirswaUkMapModal .form-control:not(textarea),
#mirswaUkMapModal .form-control-sm {
  height: var(--mirswa-auth-control-h) !important;
  min-height: var(--mirswa-auth-control-h) !important;
  padding: 0.45rem 0.7rem !important;
  font-size: var(--mirswa-auth-control-fs) !important;
  line-height: 1.2 !important;
  border-radius: var(--mirswa-auth-control-radius) !important;
  border: 1px solid color-mix(in srgb, var(--primary-color) 14%, #cbd5e1) !important;
  box-shadow: none !important;
}

.mirswa-auth-modal .form-floating > .form-control,
.mirswa-auth-modal .form-floating > .form-select,
#modal-signin .form-floating .form-control,
#modal-signup .form-floating .form-control {
  padding-top: 1rem !important;
  padding-bottom: 0.15rem !important;
}

.mirswa-auth-modal .form-floating > label,
#modal-signin .form-floating label,
#modal-signup .form-floating label {
  font-size: 0.72rem !important;
  padding: 0.55rem 0.7rem !important;
  color: #64748b;
}

.mirswa-auth-modal .form-floating > .form-control:focus ~ label,
.mirswa-auth-modal .form-floating > .form-control:not(:placeholder-shown) ~ label,
.mirswa-auth-modal .form-floating > .form-select ~ label,
#modal-signin .form-floating > .form-control:focus ~ label,
#modal-signin .form-floating > .form-control:not(:placeholder-shown) ~ label,
#modal-signup .form-floating > .form-control:focus ~ label,
#modal-signup .form-floating > .form-control:not(:placeholder-shown) ~ label {
  transform: scale(0.82) translateY(-0.45rem) translateX(0.06rem);
}

.mirswa-auth-modal .form-control:focus,
#modal-signin .form-control:focus,
#modal-signup .form-control:focus,
#mirswaUkMapModal .form-control:focus {
  border-color: var(--primary-color) !important;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary-color) 14%, transparent) !important;
}

.mirswa-auth-modal .password-field {
  position: relative;
}

.mirswa-auth-modal .password-field .password-toggle {
  top: 50%;
  right: 0.55rem;
  transform: translateY(-50%);
  width: 1.75rem;
  height: 1.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.95rem;
}

.mirswa-auth-modal .password-field .form-control {
  padding-right: 2.2rem !important;
}

.mirswa-auth-modal footer,
#modal-signin footer,
#modal-signup footer,
#social_register_div footer {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  justify-content: center;
  align-items: center;
  margin-top: 0.35rem;
}

.mirswa-auth-modal footer .btn,
#modal-signin footer .btn,
#modal-signup footer .btn,
#social_register_div footer .btn,
.mirswa-auth-modal .mirswa-auth-modal-body footer .btn,
#mirswaUkMapModal .modal-footer .btn {
  height: var(--mirswa-auth-control-h) !important;
  min-height: var(--mirswa-auth-control-h) !important;
  min-width: 96px;
  padding: 0 0.85rem !important;
  font-size: var(--mirswa-auth-control-fs) !important;
  font-weight: 600;
  line-height: 1 !important;
  border-radius: var(--mirswa-auth-control-radius) !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-shadow: none !important;
}

#modal-signin footer .btn-primary,
#modal-signup footer .btn-primary,
#modal-signin footer .submit_btn.btn-primary,
#modal-signup footer .submit_btn.btn-primary,
#social_register_div footer .btn-primary,
#mirswaUkMapModal .modal-footer .btn-primary {
  background: var(--primary-color) !important;
  border-color: var(--primary-color) !important;
  box-shadow: 0 2px 8px color-mix(in srgb, var(--primary-color) 22%, transparent) !important;
}

#modal-signin footer .btn-soft-dark,
#modal-signup footer .btn-soft-dark,
#social_register_div footer .btn-soft-dark,
#mirswaUkMapModal .modal-footer .btn-secondary {
  background: color-mix(in srgb, var(--primary-color) 8%, #f1f5f9) !important;
  color: #334155 !important;
  border: 1px solid color-mix(in srgb, var(--primary-color) 12%, #e2e8f0) !important;
}

.mirswa-auth-modal .sign-up-verify-number .form-control,
.mirswa-auth-modal .sign-up-verify-number .col-12.pb-4 {
  margin-bottom: var(--mirswa-auth-control-gap) !important;
  padding-bottom: 0 !important;
}

.mirswa-auth-modal .sign-up-verify-number .col-12.d-flex.justify-content-center.pb-4,
.mirswa-auth-modal .col-12.d-flex.justify-content-center.pb-4.form-floating {
  padding-bottom: 0 !important;
  margin-bottom: var(--mirswa-auth-control-gap) !important;
}

#mirswaUkMapModal .modal-header {
  padding: 0.65rem 0.85rem;
}

#mirswaUkMapModal .modal-title {
  font-size: 0.95rem;
}

#mirswaUkMapModal .modal-footer {
  padding: 0.55rem 0.85rem;
  gap: 0.45rem;
}

#social_register_div .mirswa-uk-address-search,
#social_register_div .mirswa-uk-manual-line1,
#social_register_div .mirswa-uk-manual-city,
#social_register_div .mirswa-uk-manual-postcode,
#social_register_div .mirswa-uk-address-map-btn {
  height: var(--mirswa-auth-control-h) !important;
  min-height: var(--mirswa-auth-control-h) !important;
  font-size: var(--mirswa-auth-control-fs) !important;
  border-radius: var(--mirswa-auth-control-radius) !important;
  padding-top: 0.45rem !important;
  padding-bottom: 0.45rem !important;
}

#social_register_div .mirswa-uk-address-map-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.mirswa-auth-modal p.mb-1,
.mirswa-auth-modal p.mb-0 {
  margin-bottom: 0.35rem !important;
  font-size: 0.78rem;
}

.mirswa-auth-modal a.fs-15 {
  font-size: 0.78rem !important;
}

#modal-signin a.text-blue,
#modal-signup a.text-blue,
#modal-signin a.text-primary,
#modal-signup a.text-primary,
#modal-signin #forgot_password_link,
#modal-signup #forgot_password_link {
  color: var(--primary-color) !important;
  font-weight: 600;
}

#modal-signin .divider-icon,
#modal-signup .divider-icon {
  margin: 0.35rem 0 !important;
  color: #94a3b8;
  font-size: 0.76rem;
}

#modal-signup .social-login {
  margin-top: 0.25rem !important;
}

#modal-signin .divider-icon:before,
#modal-signin .divider-icon:after,
#modal-signup .divider-icon:before,
#modal-signup .divider-icon:after {
  border-color: color-mix(in srgb, var(--primary-color) 18%, #e2e8f0);
}

#modal-signin .btn-google,
#modal-signup .btn-google {
  box-shadow: 0 3px 10px rgba(220, 38, 38, 0.18);
}

#modal-signin .btn-facebook,
#modal-signup .btn-facebook {
  background: #1877f2;
  color: #fff;
  box-shadow: 0 3px 10px rgba(24, 119, 242, 0.18);
}

#modal-signin .btn-facebook:hover,
#modal-signup .btn-facebook:hover {
  background: #166fe5;
  color: #fff;
}

.mirswa-auth-modal .social-login .btn-circle.btn-sm,
#modal-signin .social-login .btn-circle,
#modal-signup .social-login .btn-circle {
  width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  font-size: 0.95rem !important;
  border-radius: 50% !important;
}

#modal-signup .intl-tel-input .form-control,
#modal-signin .intl-tel-input .form-control {
  border-radius: var(--mirswa-auth-control-radius) !important;
  height: var(--mirswa-auth-control-h) !important;
  min-height: var(--mirswa-auth-control-h) !important;
}

@media (max-width: 575.98px) {
  .mirswa-auth-modal-dialog,
  #modal-signin .modal-dialog,
  #modal-signup .modal-dialog {
    max-width: calc(100vw - 16px);
    margin: 8px auto;
  }

  .mirswa-auth-modal-head {
    padding: 0.85rem 0.95rem 0.65rem;
  }

  .mirswa-auth-modal-body {
    padding: 0.5rem 0.9rem 0.6rem;
  }

  #modal-signin footer,
  #modal-signup footer,
  #social_register_div footer {
    flex-direction: row;
  }

  #modal-signin footer .btn,
  #modal-signup footer .btn,
  #social_register_div footer .btn {
    flex: 1 1 0;
    min-width: 0;
    max-width: none;
  }
}

#modal-signin .close,
#modal-signup .close,
#mirswaUkMapModal .close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 5;
  opacity: 0.75;
  font-size: 1.35rem;
  padding: 0.25rem 0.5rem;
}

#modal-signin .close.mirswa-auth-modal-close,
#modal-signup .close.mirswa-auth-modal-close {
  opacity: 0.85 !important;
  color: #64748b !important;
}

#modal-signin .close.mirswa-auth-modal-close span,
#modal-signup .close.mirswa-auth-modal-close span {
  color: #64748b !important;
}

#modal-signin .modal-body,
#modal-signup .modal-body {
  position: relative;
  padding-top: 0;
}

.mirswa-order-top-head {
  padding-bottom: 12px;
  margin-bottom: 12px;
  border-bottom: 1px solid #e2e8f0;
}

/* Fully cancelled customer orders — red strikethrough pricing */
.mirswa-order-cancelled-banner {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 10px;
  background: #fdecea;
  border: 1px solid #f5c2c7;
  color: #b42318;
  font-size: 14px;
  line-height: 1.45;
}
.mirswa-order-cancelled-banner i {
  font-size: 20px;
  line-height: 1.2;
  flex-shrink: 0;
  margin-top: 1px;
}
.mirswa-order-cancelled-strike,
.mirswa-order-price-cancelled .mirswa-order-cancelled-strike {
  text-decoration: line-through !important;
  color: #dc3545 !important;
}
.mirswa-order-price-cancelled th {
  color: #dc3545 !important;
}
.mirswa-orders-table tr.mirswa-order-row-cancelled {
  border-color: #f5c2c7 !important;
  background: #fffafa !important;
}
.mirswa-orders-table tr.mirswa-order-row-cancelled .mirswa-order-cancelled-strike {
  text-decoration: line-through;
  color: #dc3545 !important;
  font-weight: 600;
}

.mirswa-parcel-group {
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  margin-bottom: 16px !important;
}

.mirswa-parcel-group .mirswa-parcel-title {
  font-size: 0.95rem;
}

.mirswa-parcel-partner,
.mirswa-parcel-payable,
.mirswa-parcel-payment {
  padding: 8px 10px;
  background: #f8fafc;
  border-radius: 8px;
  border: 1px solid #eef2f7;
}

.mirswa-upcoming-item__body {
  gap: 2px;
}

.mirswa-account-page .mirswa-account-main__title,
.mirswa-account-page .mirswa-account-card .card-header h2 {
  font-size: 1.05rem;
}

@media (max-width: 767.98px) {
  .mirswa-account-page .mirswa-account-main__title,
  .mirswa-account-page .mirswa-account-card .card-header h2 {
    font-size: 0.95rem;
  }
}
body.mirswa-loc-signin-open .modal-backdrop.show,
body.modal-open:has(#modal-signin.show) .modal-backdrop.show,
body.modal-open:has(#modal-signup.show) .modal-backdrop.show {
    z-index: 1785 !important;
}
body.mirswa-loc-signin-open #modal-signin.show,
body.mirswa-loc-signin-open #modal-signup.show,
body.modal-open #modal-signin.show,
body.modal-open #modal-signup.show {
    z-index: 1795 !important;
    display: block !important;
}
body.mirswa-loc-signin-open .header-location-panel,
body.mirswa-loc-signin-open #header_location_overlay {
    display: none !important;
    pointer-events: none !important;
}

/* Auth modals must fully cover + block location drawer */
body.mirswa-auth-modal-open .header-location-panel,
body.mirswa-auth-modal-open #header_location_overlay,
body.mirswa-auth-modal-open #mirswa_mandatory_pin_blocker {
    display: none !important;
    pointer-events: none !important;
    visibility: hidden !important;
}

body.mirswa-auth-modal-open .modal-backdrop.show {
    z-index: 1885 !important;
}

body.mirswa-auth-modal-open #modal-signin.show,
body.mirswa-auth-modal-open #modal-signup.show {
    z-index: 1895 !important;
    display: block !important;
    pointer-events: auto !important;
}

body.mirswa-auth-modal-open #modal-signin .modal-dialog,
body.mirswa-auth-modal-open #modal-signup .modal-dialog,
body.mirswa-auth-modal-open #modal-signin .modal-content,
body.mirswa-auth-modal-open #modal-signup .modal-content,
body.mirswa-auth-modal-open #modal-signin input,
body.mirswa-auth-modal-open #modal-signup input,
body.mirswa-auth-modal-open #modal-signin button,
body.mirswa-auth-modal-open #modal-signup button,
body.mirswa-auth-modal-open #modal-signin a,
body.mirswa-auth-modal-open #modal-signup a {
    pointer-events: auto !important;
}

.mirswa-loc-undeliverable-banner {
    margin-top: 8px;
    padding: 10px 12px;
    border-radius: 8px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #b91c1c;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.4;
}

.header-location-hint.text-danger {
    font-weight: 600;
    font-size: 0.78rem;
    margin-top: 6px;
}

/* Checkout modals must sit above pin gate (1680) and location overlay (1650) */
body.mirswa-checkout-modal-open #mirswa_mandatory_pin_blocker,
body.modal-open:has(#address-modal.show) #mirswa_mandatory_pin_blocker,
body.modal-open:has(#add-address-modal.show) #mirswa_mandatory_pin_blocker,
body.modal-open:has(#promo-code-modal.show) #mirswa_mandatory_pin_blocker {
    display: none !important;
    pointer-events: none !important;
}

body.mirswa-checkout-modal-open #header_location_overlay,
body.modal-open:has(#address-modal.show) #header_location_overlay,
body.modal-open:has(#add-address-modal.show) #header_location_overlay,
body.modal-open:has(#promo-code-modal.show) #header_location_overlay {
    opacity: 0 !important;
    pointer-events: none !important;
}

body.modal-open #address-modal.show,
body.modal-open #add-address-modal.show,
body.modal-open #promo-code-modal.show {
    z-index: 1960 !important;
    display: block !important;
    pointer-events: auto !important;
}

body.modal-open:has(#address-modal.show) .modal-backdrop.show,
body.modal-open:has(#add-address-modal.show) .modal-backdrop.show,
body.modal-open:has(#promo-code-modal.show) .modal-backdrop.show {
    z-index: 1950 !important;
}

body.modal-open #address-modal.show .modal-dialog,
body.modal-open #address-modal.show .modal-content,
body.modal-open #add-address-modal.show .modal-dialog,
body.modal-open #add-address-modal.show .modal-content,
body.modal-open #promo-code-modal.show .modal-dialog,
body.modal-open #promo-code-modal.show .modal-content,
body.modal-open #address-modal.show input,
body.modal-open #address-modal.show button,
body.modal-open #address-modal.show a,
body.modal-open #add-address-modal.show input,
body.modal-open #add-address-modal.show button,
body.modal-open #add-address-modal.show a {
    pointer-events: auto !important;
}

html.mirswa-store-pin-gate-active,
body.mirswa-store-pin-gate-active {
    overflow: hidden;
}

/* Pin gate: dim page behind drawer, keep drawer sharp and clickable */
#mirswa_mandatory_pin_blocker {
    position: fixed;
    inset: 0;
    z-index: 1680;
    background: rgba(15, 23, 42, 0.45);
    pointer-events: auto;
}

/* Let the open location drawer receive map drag/touch above the pin gate dimmer */
body.mirswa-store-pin-gate-active:has(.header-location-panel.is-open) #mirswa_mandatory_pin_blocker,
body.mirswa-store-pin-gate-active.mirswa-pin-gate-drawer-open #mirswa_mandatory_pin_blocker,
html.mirswa-store-pin-gate-active.mirswa-pin-gate-drawer-open #mirswa_mandatory_pin_blocker,
body.mirswa-loc-map-active #mirswa_mandatory_pin_blocker,
body.mirswa-inline-map-active #mirswa_mandatory_pin_blocker,
html.mirswa-inline-map-active #mirswa_mandatory_pin_blocker,
#mirswa_mandatory_pin_blocker.is-pass-through {
    pointer-events: none !important;
    touch-action: none !important;
}

body.mirswa-inline-map-active .header-location-overlay,
body.mirswa-loc-map-active .header-location-overlay,
.header-location-overlay.mirswa-map-ghost-pass-through {
    pointer-events: none !important;
    touch-action: none !important;
}

#mirswa_mandatory_pin_blocker.is-map-disabled {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    touch-action: none !important;
    opacity: 0 !important;
}

body.mirswa-loc-map-active .header-location-panel.is-open,
body.mirswa-inline-map-active .header-location-panel.is-open.mirswa-pin-gate-drawer {
    z-index: 1900 !important;
}

body.mirswa-inline-map-active #mirswa-checkout-add-panel {
    position: relative;
    z-index: 1850;
    overflow: visible !important;
}

/* Checkout inline map only — must sit above sticky order summary */
body.mirswa-inline-map-active #mirswa_co_map_view.is-map-visible,
body.mirswa-inline-map-active #mirswa-checkout-add-panel .mirswa-co-addr-step[data-step="location"] {
    overflow: visible !important;
}

body.mirswa-inline-map-active #mirswa_co_map_view {
    position: relative;
    z-index: 1850;
}

/* Manage-address map stays in normal page flow (do not use checkout elevation) */
body.mirswa-inline-map-active #mirswa_account_map_view:not(.d-none) {
    position: relative;
    z-index: 2;
    isolation: isolate;
}

body.mirswa-inline-map-active #mirswa_co_map_view.is-map-visible .gm-style iframe,
body.mirswa-inline-map-active #mirswa_co_map_view.is-map-visible .gm-style canvas {
    pointer-events: auto !important;
    touch-action: auto !important;
    z-index: 1 !important;
}

body.mirswa-inline-map-active #mirswa_co_map_view.is-map-visible .mirswa-uk-address-search-wrap {
    position: relative !important;
    z-index: 40 !important;
    isolation: isolate !important;
    overflow: visible !important;
}

body.mirswa-inline-map-active #mirswa_account_map_view:not(.d-none),
body.mirswa-inline-map-active #mirswa_account_map_view:not(.d-none) .mirswa-account-map-wrap,
body.mirswa-inline-map-active #header_location_map_view:not(.d-none),
body.mirswa-inline-map-active #header_location_map_view:not(.d-none) .mirswa-uk-inline-map-wrap {
    overflow: visible !important;
}

body.mirswa-inline-map-active #mirswa_account_map_view:not(.d-none) .gm-style iframe,
body.mirswa-inline-map-active #mirswa_account_map_view:not(.d-none) .gm-style canvas,
body.mirswa-inline-map-active #mirswa_account_map_view:not(.d-none) .gm-style .mirswa-gm-interactive,
body.mirswa-inline-map-active #header_location_map_view:not(.d-none) .gm-style iframe,
body.mirswa-inline-map-active #header_location_map_view:not(.d-none) .gm-style canvas,
body.mirswa-inline-map-active #header_location_map_view:not(.d-none) .gm-style .mirswa-gm-interactive {
    pointer-events: auto !important;
    touch-action: auto !important;
}

body.mirswa-inline-map-active #mirswa_account_map_view:not(.d-none) .gm-style .mirswa-gm-pass-through,
body.mirswa-inline-map-active #header_location_map_view:not(.d-none) .gm-style .mirswa-gm-pass-through {
    pointer-events: none !important;
    touch-action: none !important;
}

body.mirswa-loc-map-active .header-location-panel.is-open .mirswa-loc-screen--map,
body.mirswa-inline-map-active .mirswa-loc-screen--map:not(.d-none),
body.mirswa-loc-map-active .header-location-panel.is-open .mirswa-uk-inline-map-wrap,
body.mirswa-loc-map-active .header-location-panel.is-open .mirswa-uk-inline-map-canvas,
body.mirswa-inline-map-active .mirswa-uk-inline-map-wrap,
body.mirswa-inline-map-active .mirswa-co-map-wrap,
body.mirswa-inline-map-active .mirswa-account-map-wrap,
body.mirswa-inline-map-active .mirswa-uk-inline-map-canvas,
body.mirswa-inline-map-active .mirswa-co-map-canvas,
body.mirswa-inline-map-active .mirswa-account-map-canvas {
    pointer-events: auto !important;
    touch-action: auto !important;
}

body.mirswa-loc-map-active .header-location-panel.is-open .gm-style iframe,
body.mirswa-loc-map-active .header-location-panel.is-open .gm-style canvas,
body.mirswa-inline-map-active .gm-style iframe,
body.mirswa-inline-map-active .gm-style canvas,
body.mirswa-inline-map-active .gm-style .mirswa-gm-interactive,
.header-location-panel.is-open.mirswa-pin-gate-drawer .gm-style iframe,
.header-location-panel.is-open.mirswa-pin-gate-drawer .gm-style canvas,
.header-location-panel.is-open.mirswa-pin-gate-drawer .gm-style .mirswa-gm-interactive {
    pointer-events: auto !important;
    touch-action: auto !important;
    position: relative !important;
    z-index: 2 !important;
    -webkit-user-select: none !important;
    user-select: none !important;
}

body.mirswa-loc-map-active .header-location-panel.is-open .mirswa-uk-inline-map-wrap .gm-style .mirswa-gm-pass-through,
body.mirswa-inline-map-active .header-location-panel .mirswa-uk-inline-map-wrap .gm-style .mirswa-gm-pass-through,
body.mirswa-inline-map-active .mirswa-loc-screen--map .mirswa-uk-inline-map-wrap .gm-style .mirswa-gm-pass-through,
.header-location-panel.is-open.mirswa-pin-gate-drawer .mirswa-uk-inline-map-wrap .gm-style .mirswa-gm-pass-through {
    pointer-events: none !important;
    touch-action: none !important;
}

/* Checkout new-address inline map */
body.mirswa-inline-map-active #mirswa_co_map_view.is-map-visible .gm-style iframe,
body.mirswa-inline-map-active #mirswa_co_map_view.is-map-visible .gm-style canvas,
body.mirswa-inline-map-active #mirswa_co_map_view.is-map-visible .gm-style .mirswa-gm-interactive {
    pointer-events: auto !important;
    touch-action: auto !important;
}

body.mirswa-inline-map-active #mirswa_co_map_view.is-map-visible .gm-style .mirswa-gm-pass-through {
    pointer-events: none !important;
    touch-action: none !important;
}

body.mirswa-inline-map-active #mirswa_co_map_view.is-map-visible .mirswa-map-simple-interactive {
    position: relative !important;
    z-index: 1 !important;
}

body.mirswa-inline-map-active #mirswa_co_map_view.is-map-visible .mirswa-co-map-wrap,
body.mirswa-inline-map-active #mirswa_co_map_view.is-map-visible .mirswa-co-map-canvas {
    cursor: grab !important;
}

body.mirswa-inline-map-active .mirswa-map-interactive-surface:not(.mirswa-map-simple-interactive),
body.mirswa-loc-map-active .header-location-panel.is-open .mirswa-uk-inline-map-wrap:not(.mirswa-map-simple-interactive) {
    position: relative !important;
    z-index: 5 !important;
    isolation: isolate;
}

body.mirswa-inline-map-active #mirswa_co_map_view.is-map-visible .mirswa-map-simple-interactive,
body.mirswa-inline-map-active #mirswa_co_map_view.is-map-visible .mirswa-co-map-wrap,
body.mirswa-loc-map-active .header-location-panel.is-open .mirswa-uk-inline-map-wrap.mirswa-map-simple-interactive,
body.mirswa-inline-map-active .mirswa-uk-inline-map-wrap.mirswa-map-simple-interactive,
body.mirswa-inline-map-active .mirswa-account-map-wrap.mirswa-map-simple-interactive {
    position: relative !important;
    z-index: 1 !important;
    isolation: auto !important;
    cursor: grab !important;
}

body.mirswa-loc-map-active .header-location-panel.is-open .mirswa-uk-inline-map-wrap.mirswa-map-simple-interactive .gm-style iframe,
body.mirswa-loc-map-active .header-location-panel.is-open .mirswa-uk-inline-map-wrap.mirswa-map-simple-interactive .gm-style canvas,
body.mirswa-inline-map-active .mirswa-map-simple-interactive .gm-style iframe,
body.mirswa-inline-map-active .mirswa-map-simple-interactive .gm-style canvas {
    pointer-events: auto !important;
    touch-action: auto !important;
}

body.mirswa-loc-map-active .header-location-panel.is-open .mirswa-uk-inline-map-canvas,
body.mirswa-inline-map-active .mirswa-uk-inline-map-wrap,
body.mirswa-inline-map-active .mirswa-uk-inline-map-canvas,
body.mirswa-inline-map-active .mirswa-co-map-wrap,
body.mirswa-inline-map-active .mirswa-account-map-wrap,
body.mirswa-inline-map-active .mirswa-co-map-canvas,
body.mirswa-inline-map-active .mirswa-account-map-canvas {
    touch-action: auto !important;
}

body.mirswa-loc-map-active .header-location-panel.is-open .mirswa-uk-map-pin,
body.mirswa-inline-map-active .mirswa-uk-map-pin {
    display: flex !important;
    pointer-events: none !important;
    z-index: 6;
}
.header-location-panel.mirswa-pin-gate-drawer,
.header-location-panel.is-open.mirswa-pin-gate-drawer {
    z-index: 1720;
    pointer-events: auto;
    filter: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.header-location-panel.is-open.mirswa-pin-gate-drawer .mirswa-uk-inline-map-wrap,
.header-location-panel.is-open.mirswa-pin-gate-drawer .mirswa-uk-inline-map-canvas,
.header-location-panel.is-open.mirswa-pin-gate-drawer .gm-style iframe,
.header-location-panel.is-open.mirswa-pin-gate-drawer .gm-style canvas,
.header-location-panel.is-open.mirswa-pin-gate-drawer .gm-style .mirswa-gm-interactive {
    pointer-events: auto !important;
    touch-action: auto !important;
}

.header-location-panel.is-open.mirswa-pin-gate-drawer .gm-style .mirswa-gm-pass-through {
    pointer-events: none !important;
    touch-action: none !important;
}

body.mirswa-loc-map-active .header-location-overlay,
body.mirswa-inline-map-active .header-location-overlay {
    pointer-events: none !important;
}

.header-location-panel.is-open.mirswa-pin-gate-drawer .mirswa-uk-address-dropdown,
.header-location-panel.is-open.mirswa-pin-gate-drawer .mirswa-map-search-dropdown {
    z-index: 50 !important;
    pointer-events: auto;
}
.header-location-widget {
    position: relative;
    z-index: 1730;
}

/* Mobile: use bottom-sheet instead of right drawer */
@media (max-width: 767.98px) {
    .header-location-panel {
        top: auto;
        right: 0;
        left: 0;
        bottom: calc(-1 * min(88dvh, 720px));
        width: 100%;
        height: min(88dvh, 720px);
        border-left: 0;
        border-top: 1px solid #e5e7eb;
        border-radius: 14px 14px 0 0;
        box-shadow: 0 -12px 28px rgba(16, 24, 40, 0.18);
        transform: none !important;
        transition: bottom .2s ease-out;
        padding-bottom: 0;
    }
    .header-location-panel.is-open {
        bottom: 0;
    }
}
.header-location-overlay {
    position: fixed;
    inset: 0;
    z-index: 1650;
    background: rgba(0, 0, 0, 0.45);
    opacity: 0;
    transition: opacity .18s ease-out;
    pointer-events: none;
}
.header-location-overlay.is-open {
    opacity: 1;
    pointer-events: auto;
}
.header-location-drawer-head {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    margin-bottom: 0;
    padding: 12px 14px;
    background: #fff;
    border-bottom: 1px solid #eef2f7;
    flex-shrink: 0;
}
.header-location-title {
    font-size: 1rem;
    font-weight: 700;
    color: #111827;
    flex: 1 1 auto;
}
.header-location-close {
    border: 0;
    background: transparent;
    font-size: 24px;
    color: #374151;
    line-height: 1;
}
.header-location-form {
    display: flex;
    gap: 8px;
    margin-bottom: 10px;
}
.header-location-input {
    flex: 1 1 auto;
    height: 42px;
    border: 1px solid #d0d5dd;
    border-radius: 10px;
    padding: 0 12px;
    font-size: 14px;
}
.header-location-input:focus {
    outline: none;
    border-color: var(--primary-color);
}
.header-location-save-btn {
    border: 0;
    border-radius: 10px;
    height: 42px;
    padding: 0 12px;
    font-size: 12px;
    font-weight: 700;
    background: var(--primary-color);
    color: #fff;
}
.header-location-current {
    width: 100%;
    border: 1px solid color-mix(in srgb, var(--primary-color) 25%, #ffffff);
    border-radius: 10px;
    background: color-mix(in srgb, var(--primary-color) 10%, #ffffff);
    color: var(--primary-color);
    font-size: 14px;
    font-weight: 700;
    padding: 10px 12px;
    text-align: left;
}
.header-location-hint {
    margin-top: 8px;
    font-size: 12px;
    color: #667085;
}
.header-location-nearby-wrap {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px dashed #e5e7eb;
}
.header-location-nearby-title {
    font-size: 12px;
    font-weight: 700;
    color: #475467;
    margin-bottom: 8px;
}
.header-location-nearby-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.header-location-nearby-chip {
    border: 1px solid color-mix(in srgb, var(--primary-color) 35%, #d0d5dd);
    background: #fff;
    color: #111827;
    border-radius: 999px;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
}
.header-location-nearby-chip:hover {
    background: color-mix(in srgb, var(--primary-color) 8%, #fff);
}
.header-location-saved-wrap {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid #eef2f7;
}
.header-location-saved-title {
    font-size: 15px;
    font-weight: 700;
    color: #111827;
    margin-bottom: 8px;
}
.header-saved-address-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-height: 42vh;
    overflow: auto;
}
.header-saved-address-item {
    width: 100%;
    border: 1px solid #e5e7eb;
    background: #fff;
    border-radius: 10px;
    padding: 10px 11px;
    text-align: left;
    cursor: pointer;
}
.header-saved-address-item:hover {
    border-color: #bfd4f5;
    background: #f8fbff;
}
.header-saved-address-name {
    font-size: 13px;
    font-weight: 700;
    color: #111827;
    display: flex;
    align-items: center;
    gap: 6px;
}
.header-saved-default-badge {
    font-size: 10px;
    font-weight: 700;
    color: var(--primary-color);
    background: color-mix(in srgb, var(--primary-color) 12%, #ffffff);
    border-radius: 999px;
    padding: 2px 6px;
}
.header-saved-address-text {
    margin-top: 4px;
    font-size: 12px;
    color: #6b7280;
    line-height: 1.35;
}
.header-saved-address-actions {
    margin-top: 8px;
    display: flex;
    align-items: center;
    gap: 12px;
    justify-content: flex-start;
}
.header-saved-address-edit,
.header-saved-address-delete {
    border: 0;
    background: transparent;
    padding: 0;
    font-size: 12px;
    font-weight: 700;
    color: #0b57d0;
    text-decoration: none;
}
.header-saved-address-delete {
    color: #c62828;
}
.header-location-add-new-wrap {
    margin-top: 10px;
    text-align: right;
}
.header-location-add-new {
    font-size: 14px;
    font-weight: 700;
    color: #0b57d0;
    text-decoration: none;
}
.header-inline-edit-wrap {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dashed #d9e1ee;
}
.header-inline-edit-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}
.header-inline-edit-form .form-control {
    height: 40px;
    border-radius: 8px;
    font-size: 13px;
}
.header-inline-edit-form .form-label {
    font-size: 12px;
    font-weight: 600;
    color: #344054;
}
.header-inline-edit-type {
    display: flex;
    gap: 12px;
    font-size: 13px;
    color: #374151;
    margin-top: 6px;
}
.header-inline-edit-type label {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.header-inline-edit-type .form-check-input[type="radio"]{
    display: inline-block !important;
    appearance: auto;
    -webkit-appearance: radio;
    margin-top: 0.15rem;
}

/* Quick view modal polish: 2-line title, compact buttons, consistent price */
#quick-view .product-title{
    font-size: 18px;
    font-weight: 800;
    line-height: 1.25;
    margin: 10px 0 8px !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
#quick-view .price{
    font-size: 18px;
    font-weight: 800;
    color: #0f172a;
}
#quick-view .striped-price{
    font-size: 13px;
    font-weight: 700;
}
#quick-view .quickview-actions{
    flex-wrap: wrap;
    gap: 10px !important;
}
#quick-view #modal-add-to-cart-button,
#quick-view #modal-buy-now-button{
    width: auto !important;
    flex: 0 0 auto;
    padding: 10px 14px !important;
    font-size: 13px !important;
}
#quick-view #compare,
#quick-view #add_to_favorite_btn{
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
}
.header-inline-edit-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}
.header-location-guest-note {
    font-size: 13px;
    color: #6b7280;
}
/* Language switch not needed for this store UI */
.language-select {
    display: none !important;
}

@media (max-width: 767.98px) {
    /* Keep pincode selector visible on mobile top-left */
    .header-location-widget {
        display: inline-flex !important;
        align-items: center;
        min-width: 0;
        max-width: 58vw;
    }
    .bg-gradient-reverse-primary .container.d-flex {
        justify-content: space-between !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        column-gap: 8px;
    }
    .bg-gradient-reverse-primary .container.d-flex > .d-flex.flex-fill {
        width: auto;
        flex: 0 0 auto;
        min-width: 0;
    }
    .header-location-trigger {
        gap: 4px;
        padding: 2px 4px 2px 0;
        min-height: 32px;
        max-width: 58vw;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
    }
    header.wrapper .bg-gradient-reverse-primary .header-location-icon,
    header.wrapper .bg-gradient-reverse-primary .header-location-value,
    header.wrapper .bg-gradient-reverse-primary .header-location-caret {
        color: #fff !important;
    }
    .header-location-value {
        font-size: 12px;
    }
    .header-location-caret {
        font-size: 14px;
    }
}

.navbar-other .navbar-nav.flex-row > .nav-item + .nav-item {
    margin-left: 0.2rem !important;
}
@media (max-width: 575.98px) {
    .navbar-other .navbar-nav.flex-row {
        flex-wrap: wrap;
        justify-content: flex-end;
        row-gap: 4px;
    }
}

/* =========================
   Floating chat polish pass
   (cleaner layout, spacing, typography, mobile)
   ========================= */
.floating-chat-embed {
    color: #0f172a !important;
}
.floating-chat-embed .container.mt-2 {
    margin-top: 0 !important;
}
.floating-chat-embed .floating-chat-topbar {
    padding: 8px 2px 12px !important;
    align-items: center !important;
}
.floating-chat-embed .floating-chat-title {
    letter-spacing: 0.2px !important;
}
.floating-chat-embed .floating-chat-close {
    width: 36px !important;
    height: 36px !important;
    border-radius: 10px !important;
    border: 1px solid rgba(15, 23, 42, 0.12) !important;
    background: #ffffff !important;
    color: #0f172a !important;
}
.floating-chat-embed .floating-chat-close:hover {
    background: #f8fafc !important;
    border-color: rgba(15, 23, 42, 0.2) !important;
}
.floating-chat-embed #floating_chat_view {
    border-radius: 16px !important;
}
.floating-chat-embed .floating-chat-users .chat-card-body {
    max-height: calc(100vh - 255px) !important;
    overflow: auto !important;
}
.floating-chat-embed .chat-person {
    min-height: 44px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1f2937 !important;
    margin: 4px 8px !important;
    padding: 10px 12px !important;
}
.floating-chat-embed .chat-person.active {
    background: #eaf3ff !important;
    color: #0b63ce !important;
}
.floating-chat-embed .chat-person .badge-chat {
    min-width: 20px !important;
    height: 20px !important;
    line-height: 20px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    margin-left: 8px !important;
}
.floating-chat-embed #chat-avtar-main figure.avatar {
    margin: 0 !important;
}
.floating-chat-embed #chat-avtar-main .avatar-md {
    width: 38px !important;
    height: 38px !important;
}
.floating-chat-embed #chat_title {
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
}
.floating-chat-embed #chat_online_status {
    font-size: 12px !important;
}
.floating-chat-embed #chat-box-content {
    scrollbar-width: thin;
}
.floating-chat-embed .chat-box .chat-content .chat-item {
    margin-bottom: 10px !important;
}
.floating-chat-embed .chat-box .chat-content .chat-item .chat-details .chat-text {
    font-size: 14px !important;
    line-height: 1.45 !important;
    word-break: break-word !important;
}
.floating-chat-embed .chat-box .chat-content .chat-item.chat-right .chat-details {
    margin-left: auto !important;
}
.floating-chat-embed .chat-box .chat-content .chat-item.chat-right .chat-details .chat-text {
    box-shadow: 0 1px 0 rgba(0, 132, 255, 0.2) !important;
}
.floating-chat-embed .chat-form .form-group {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
}
.floating-chat-embed #chat-input-textarea {
    border-radius: 16px !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    resize: none !important;
}
.floating-chat-embed #chat-input-textarea::placeholder {
    color: #94a3b8 !important;
}
.floating-chat-embed .chat-form .btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.15s ease !important;
}
.floating-chat-embed .btn-send-msg:hover {
    transform: translateY(-1px) !important;
}
.floating-chat-embed .btn-file:hover {
    background: rgba(15, 23, 42, 0.1) !important;
}
.floating-chat-embed .go-to-bottom-btn {
    width: 36px !important;
    height: 36px !important;
    border-radius: 999px !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.2) !important;
}

@media (max-width: 991.98px) {
    .floating-chat-embed .deeplink_wrapper {
        padding: 8px 8px 10px !important;
    }
    .floating-chat-embed #floating_chat_view {
        height: calc(100vh - 58px) !important;
    }
    .floating-chat-embed .card.chat-theme-light {
        border-radius: 14px !important;
    }
    .floating-chat-embed #chat_area .card.chat-box {
        border-radius: 14px !important;
    }
    .floating-chat-embed .chat-box .chat-content {
        padding: 10px !important;
    }
    .floating-chat-embed .chat-box .chat-content .chat-item .chat-details {
        max-width: 86% !important;
    }
}

@media (max-width: 575.98px) {
    .floating-chat-embed .floating-chat-title {
        font-size: 16px !important;
    }
    .floating-chat-embed .floating-chat-close {
        width: 34px !important;
        height: 34px !important;
    }
    .floating-chat-embed #chat-input-textarea {
        min-height: 40px !important;
        padding: 9px 12px !important;
    }
    .floating-chat-embed .btn-send-msg,
    .floating-chat-embed .btn-file {
        width: 36px !important;
        height: 36px !important;
    }
}
@media (min-width: 1200px) {
    .navbar-other .navbar-nav.flex-row > .nav-item + .nav-item {
        margin-left: 0.35rem !important;
    }
}

/* ============================================================
   Single-brand accent enforcement (keep footer background as-is)
   ============================================================ */
.text-primary,
.link-color,
a.text-primary,
.text-blue,
.btn-link.text-primary {
    color: var(--primary-color) !important;
}

.bg-primary,
.badge.bg-primary,
.btn-primary,
.header-location-save-btn {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    color: #fff !important;
}

.btn-yellow,
#add_cart,
.add_to_cart.btn-yellow,
.product-cta-row #add_cart,
.product-cta-row a.btn.btn-yellow {
    background-color: var(--secondary-color) !important;
    border-color: var(--secondary-color) !important;
    color: #fff !important;
}

.btn-danger,
.buy_now,
#buy_now,
.product-cta-row #buy_now {
    background-color: var(--quaternary-color) !important;
    border-color: var(--quaternary-color) !important;
    color: #fff !important;
}

.btn-outline-primary,
.btn-outline-blue,
.btn-outline-red,
.address-link-primary {
    color: var(--primary-color) !important;
    border-color: color-mix(in srgb, var(--primary-color) 55%, #ffffff) !important;
    background: transparent !important;
}
.btn-outline-primary:hover,
.btn-outline-blue:hover,
.btn-outline-red:hover,
.address-link-primary:hover {
    color: #fff !important;
    background: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
}

.nav-link.active,
.product-tabs-wrap-container .product-nav-tab.active,
.header-saved-default-badge,
.category-swiper .brand_image_div h6,
.category-swiper .brand_image_div:hover h6 {
    color: var(--primary-color) !important;
}

/* Main menu links use brand primary color (no background changes). */
header.wrapper.bg-light > nav.navbar .navbar-nav .nav-link {
    color: var(--primary-color) !important;
}
header.wrapper.bg-light > nav.navbar .navbar-nav .nav-link:hover,
header.wrapper.bg-light > nav.navbar .navbar-nav .nav-link:focus,
header.wrapper.bg-light > nav.navbar .navbar-nav .nav-link.active {
    color: var(--primary-color) !important;
}

/* Desktop header: show inline nav from lg up (menu was hidden when offcanvas moved to body). */
@media (min-width: 992px) {
    header.wrapper.bg-light > nav.navbar .container.flex-lg-row.flex-nowrap.align-items-center {
        flex-wrap: nowrap !important;
        align-items: center !important;
        min-height: 56px;
    }
    header.wrapper.bg-light > nav.navbar .navbar-brand.logo-img {
        width: auto !important;
        max-width: 200px;
        flex: 0 0 auto !important;
        min-width: 0 !important;
        display: flex !important;
        align-items: center !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    header.wrapper.bg-light > nav.navbar .navbar-brand.logo-img img.brand-logo-link {
        max-width: 100%;
        max-height: 42px;
        height: auto !important;
        display: block;
    }
    header.wrapper.bg-light > nav.navbar #offcanvas-nav-main.navbar-collapse {
        display: flex !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
        position: static !important;
        visibility: visible !important;
        transform: none !important;
        width: auto !important;
        height: auto !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        align-items: center !important;
    }
    header.wrapper.bg-light > nav.navbar #offcanvas-nav-main .offcanvas-header {
        display: none !important;
    }
    header.wrapper.bg-light > nav.navbar #offcanvas-nav-main .offcanvas-body {
        display: flex !important;
        flex-direction: row !important;
        justify-content: center !important;
        align-items: center !important;
        padding: 0 !important;
        overflow: visible !important;
        width: 100%;
        margin-left: 0 !important;
    }
    header.wrapper.bg-light > nav.navbar #offcanvas-nav-main .navbar-nav {
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: center !important;
        align-items: center !important;
        row-gap: 0;
    }
    header.wrapper.bg-light > nav.navbar #offcanvas-nav-main .navbar-nav .nav-item {
        display: flex;
        align-items: center;
    }
    header.wrapper.bg-light > nav.navbar #offcanvas-nav-main .navbar-nav .nav-link {
        display: inline-flex !important;
        align-items: center !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
    }
    header.wrapper.bg-light > nav.navbar #offcanvas-nav-main .navbar-nav .nav-link::after {
        display: none !important;
        content: none !important;
    }
    header.wrapper.bg-light > nav.navbar .navbar-other {
        width: auto !important;
        flex: 0 0 auto !important;
        min-width: 0 !important;
        margin-left: auto !important;
        display: flex !important;
        align-items: center !important;
    }
    header.wrapper.bg-light > nav.navbar .navbar-other .navbar-nav.flex-row {
        align-items: center !important;
        flex-wrap: nowrap !important;
    }
}

/* Single-row header only on truly wide screens; 992–1600px uses mirswa-responsive-display.css wrap rules. */
@media (min-width: 1601px) {
    header.wrapper.bg-light > nav.navbar .container.flex-lg-row.flex-nowrap.align-items-center {
        flex-wrap: nowrap !important;
        gap: 10px;
    }
}

.product-tabs-wrap-container .product-nav-tab.active {
    border-bottom-color: var(--primary-color) !important;
}

.swiper-pagination-bullet-active,
.hero-slider-enhanced .swiper-pagination-bullet-active {
    background: var(--primary-color) !important;
}

.navbar-other .navbar-nav.flex-row > .nav-item > a.header-toolbar-icon {
    position: relative;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    min-width: 2.35rem;
    min-height: 2.35rem;
    padding: 0 !important;
    flex-shrink: 0;
    box-sizing: border-box;
}

.navbar-other .navbar-nav.flex-row > .nav-item > a.header-toolbar-icon > i {
    font-size: 1.2rem;
    line-height: 1;
    transition: color 0.15s ease;
    transform: none !important;
}

.navbar-other .navbar-nav.flex-row > .nav-item > a.header-toolbar-icon:hover > i,
.navbar-other .navbar-nav.flex-row > .nav-item > a.header-toolbar-icon:focus > i,
.navbar-other li.dropdown.show > a.header-toolbar-icon > i {
    transform: none !important;
}

.navbar-other #customer_notification_badge {
    position: absolute;
    top: 0.2rem;
    right: 0.2rem;
    left: auto;
    margin: 0;
    transform: translate(42%, -42%);
}

/* Undo global #cart-count nudge inside header only (was shifting layout on hover). */
.navbar-other a.header-toolbar-icon #cart-count,
.navbar-other a.header-toolbar-icon #compare_count {
    position: absolute !important;
    left: auto !important;
    bottom: auto !important;
    margin-left: 0 !important;
    top: 0.15rem;
    right: 0.1rem;
    transform: translate(42%, -42%);
}

/* Notification panel: stay inside viewport (avoid flying off the right on hover/open). */
.navbar-other {
    overflow: visible;
}
.navbar-other #customer_notification_dropdown.header-notification-dropdown {
    box-sizing: border-box;
    min-width: min(280px, calc(100vw - 16px));
    max-width: min(360px, calc(100vw - 16px));
    width: min(360px, calc(100vw - 16px));
}
@media (max-width: 420px) {
    .navbar-other #customer_notification_dropdown.header-notification-dropdown {
        min-width: calc(100vw - 12px);
        max-width: calc(100vw - 12px);
        width: calc(100vw - 12px);
    }
}
@media (max-width: 767.98px) {
    .mirswa-header-notif-dropdown {
        position: static;
    }
    .navbar-other #customer_notification_dropdown.header-notification-dropdown:not(.show) {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
    .navbar-other #customer_notification_dropdown.header-notification-dropdown.show {
        position: fixed !important;
        left: 8px !important;
        right: 8px !important;
        bottom: auto !important;
        transform: none !important;
        margin: 0 !important;
        min-width: 0 !important;
        max-width: none !important;
        width: auto !important;
        max-height: min(70vh, 420px);
        display: flex !important;
        flex-direction: column;
        z-index: 5000 !important;
        border-radius: 12px !important;
        overflow: hidden;
        visibility: visible !important;
        pointer-events: auto !important;
    }
    .navbar-other #customer_notification_dropdown.show #customer_notification_list {
        max-height: calc(min(70vh, 420px) - 88px) !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
    }
    body.mirswa-notif-panel-open {
        overflow: hidden;
        touch-action: none;
    }
    body.mirswa-notif-panel-open::before {
        content: "";
        position: fixed;
        inset: 0;
        background: rgba(15, 23, 42, 0.42);
        z-index: 4998;
    }
    body.mirswa-notif-panel-open header.wrapper {
        z-index: 5001;
    }
}

/* Always-visible desktop search bar under header nav */
.header-search-inline-wrap {
    padding: 0 0 10px;
}
.header-search-inline-form .input-group {
    max-width: 920px;
    margin: 0 auto;
}
.header-search-inline-form .input-group-text {
    background: #fff;
    border-right: 0;
}
.header-search-inline-form .form-control {
    border-left: 0;
    box-shadow: none;
}
.header-search-inline-form .form-control:focus {
    box-shadow: none;
}

/* My account: sidebar width + sticky nav (clean column, no horizontal bleed). */
.my-account-section .my-account-tab.nav-pills {
    width: 100%;
    max-width: 100%;
}
.my-account-section .card,
.my-account-section .card-body,
.my-account-section .card-header,
.my-account-section form,
.my-account-section .form-group,
.my-account-section .form-control,
.my-account-section .btn {
    min-width: 0;
}
.my-account-section .form-control,
.my-account-section .table,
.my-account-section [data-toggle="table"],
.my-account-section [data-bs-toggle="table"] {
    max-width: 100%;
}
.my-account-section .btn-sm,
.my-account-section .btn-xs {
    white-space: normal;
}
@media (min-width: 992px) {
    .my-account-section .row.g-4 {
        isolation: isolate;
    }
    .my-account-section .row > .col-lg-3 .my-account-tab {
        position: sticky;
        top: 5.75rem;
        align-self: flex-start;
    }
}
@media (max-width: 991.98px) {
    .my-account-section .orders-section .card-header > .d-flex,
    .my-account-section .orders-section .card-body .media,
    .my-account-section .d-flex.align-items-center.gap-2 {
        gap: 12px;
    }
    .my-account-section .orders-section .media-body h5,
    .my-account-section .orders-section .media-body p,
    .my-account-section .orders-section .media-body .small,
    .my-account-section .orders-section .media-body a {
        overflow-wrap: anywhere;
    }
    .my-account-section #address_list_table,
    .my-account-section .bootstrap-table {
        font-size: 14px;
    }
}
@media (max-width: 767.98px) {
    .my-account-section .card.p-7 {
        padding: 1rem !important;
    }
    .my-account-section .profile_image + .d-flex.justify-content-center.mb-3 .btn,
    .my-account-section .submit_btn,
    .my-account-section #save-address-submit-btn,
    .my-account-section #edit-address-submit-btn {
        width: 100%;
    }
    .my-account-section .d-flex.align-items-center.gap-2 {
        flex-wrap: wrap;
        align-items: stretch !important;
    }
    .my-account-section .d-flex.align-items-center.gap-2 .badge,
    .my-account-section .d-flex.align-items-center.gap-2 .btn,
    .my-account-section .d-flex.align-items-center.gap-2 .form-control {
        width: 100%;
    }
    .my-account-section .orders-section .card-header > .d-flex,
    .my-account-section .orders-section .card-header .flex-col.my-auto.d-flex.gap-2,
    .my-account-section .orders-section .media-body > .d-flex.gap-2 {
        flex-wrap: wrap;
    }
    .my-account-section .orders-section .card-header .flex-col.my-auto.d-flex.gap-2 > .btn {
        width: 100%;
    }
    .my-account-section .orders-section .logo-fit {
        width: 120px !important;
        height: auto !important;
    }
    .my-account-section .form-check.form-check-inline {
        display: inline-flex;
        align-items: center;
        margin-right: 12px;
        margin-bottom: 8px;
    }
    .my-account-section .bootstrap-table .fixed-table-toolbar,
    .my-account-section .bootstrap-table .fixed-table-pagination {
        overflow-x: auto;
    }
    .my-account-section .modal-body.ps-10 {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
}

/* =========================
   Mirswa mobile store density (customer pages)
   Tighter padding + smaller type like major grocery apps
   ========================= */
@media (max-width: 767.98px) {
    .container.mb-15,
    .my-account-section .container.mb-15,
    .header.settings-tab .container.pb-15,
    .header.settings-tab .container.pb-3 {
        margin-bottom: 0.75rem !important;
    }

    .my-8,
    .my-account-section .my-8,
    .my-account-section .my-3 {
        margin-top: 0.65rem !important;
        margin-bottom: 0.65rem !important;
    }

    .settings-tab .p-10,
    .orders-section .p-10,
    .my-account-section .p-10,
    .shadow-xl.p-10 {
        padding: 0.5rem !important;
    }

    .settings-tab .p-7,
    .my-account-section .p-7,
    .settings-tab .p-2,
    .my-account-section .p-2 {
        padding: 0.5rem !important;
    }

    .my-account-section .h1,
    .settings-tab .h1 {
        font-size: 1.35rem !important;
    }
    .my-account-section .h2,
    .settings-tab .h2 {
        font-size: 1.15rem !important;
    }
    .my-account-section .h4,
    .settings-tab .h4,
    .orders-section .h4 {
        font-size: 1rem !important;
        line-height: 1.35 !important;
    }
    .my-account-section .h5,
    .settings-tab .h5,
    .orders-section .h5 {
        font-size: 0.92rem !important;
        line-height: 1.35 !important;
    }
    .my-account-section .h6,
    .settings-tab .h6,
    .orders-section .h6 {
        font-size: 0.86rem !important;
        line-height: 1.35 !important;
    }

    .orders-section .media-body h5.bold,
    .orders-section .media-body .mirswa-order-line-price {
        font-size: 0.875rem !important;
        line-height: 1.3 !important;
    }
    .orders-section .mirswa-order-meta-line {
        font-size: 12px !important;
        line-height: 1.35 !important;
        margin-bottom: 0.2rem !important;
    }
    .orders-section .mirswa-order-meta-line strong {
        font-size: 13px !important;
        font-weight: 600 !important;
    }
    .orders-section .mirswa-order-top-actions .btn-xs {
        font-size: 11px !important;
        padding: 0.22rem 0.5rem !important;
        line-height: 1.3 !important;
    }
    .orders-section .mirswa-invoice-hint {
        font-size: 10px !important;
        font-weight: 400 !important;
        padding: 0.25rem 0.45rem !important;
        white-space: normal;
        line-height: 1.3 !important;
    }
    .orders-section .mirswa-order-product-title {
        font-size: 13px !important;
        font-weight: 600 !important;
        line-height: 1.35 !important;
        margin-bottom: 0.25rem !important;
    }
    .orders-section .mirswa-order-line-price {
        font-size: 14px !important;
        line-height: 1.25 !important;
    }
    .orders-section .mirswa-order-section-title {
        font-size: 13px !important;
        font-weight: 600 !important;
    }
    .orders-section .table-order th.h5,
    .orders-section .table-order td.h5 {
        font-size: 13px !important;
    }
    .mirswa-parcel-title {
        font-size: 13px !important;
        font-weight: 600 !important;
    }
    .mirswa-parcel-group .small {
        font-size: 11px !important;
        line-height: 1.35 !important;
    }
    .orders-section .media-body p,
    .orders-section .media-body .text-muted,
    .orders-section .media-body .small,
    .orders-section .card-header p.text-muted {
        font-size: 12px !important;
        line-height: 1.4 !important;
    }

    .settings-tab hr.mt-5.mb-5,
    .my-account-section hr.mt-5.mb-5,
    .orders-section hr.mt-5.mb-5 {
        margin-top: 0.75rem !important;
        margin-bottom: 0.75rem !important;
    }

    .orders-section .process-wrapper .container.py-8,
    .orders-section .process-wrapper .container.py-3,
    .orders-section .mirswa-order-status-track > .container {
        padding-top: 0.45rem !important;
        padding-bottom: 0.45rem !important;
    }
    .orders-section .mirswa-order-status-track {
        margin-top: 0.5rem !important;
        border-radius: 0.35rem !important;
    }
    .orders-section .mirswa-order-status-track .process-wrapper {
        flex-wrap: nowrap !important;
        gap: 0 !important;
        margin: 0 !important;
        padding-bottom: 0.1rem !important;
    }
    .orders-section .mirswa-order-status-track .process-wrapper > [class*="col-"] {
        flex: 0 0 68px !important;
        max-width: 68px !important;
        min-width: 68px !important;
        padding: 0 2px !important;
        text-align: center !important;
    }
    .orders-section .mirswa-status-step-label,
    .orders-section .mirswa-order-status-track .process-wrapper .h5 {
        font-size: 9px !important;
        font-weight: 700 !important;
        margin-bottom: 0 !important;
        line-height: 1.2 !important;
        letter-spacing: 0.01em;
    }
    .orders-section .process-wrapper p.mb-0,
    .orders-section .mirswa-order-status-track .process-wrapper p.mb-0 {
        font-size: 8px !important;
        line-height: 1.15 !important;
        margin-bottom: 0 !important;
        color: #6c757d !important;
    }
    .orders-section .process-wrapper .h5 {
        font-size: 9px !important;
        margin-bottom: 0.1rem !important;
    }
    .orders-section .process-wrapper .icon.btn-circle {
        width: 1.25rem !important;
        height: 1.25rem !important;
        margin-bottom: 0.2rem !important;
        padding: 0 !important;
    }
    .orders-section .process-wrapper .number {
        font-size: 0.55rem !important;
    }

    .orders-section .logo-fit {
        width: 72px !important;
        max-width: 72px !important;
        height: auto !important;
    }

    .mirswa-mobile-breadcrumb .breadcrumb {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .mirswa-mobile-breadcrumb .breadcrumb::-webkit-scrollbar {
        display: none;
    }

    .mirswa-parcel-group {
        padding: 0.65rem !important;
        margin-bottom: 0.75rem !important;
    }
    .mirswa-parcel-group .fs-6 {
        font-size: 0.92rem !important;
    }
    .mirswa-web-delivery-otp-code {
        font-size: 1.05rem !important;
        letter-spacing: 0.12em !important;
    }

    .settings-tab .shadow-xl,
    .my-account-section .shadow-xl {
        box-shadow: 0 4px 14px rgba(17, 24, 39, 0.06) !important;
    }

    .wrapper.bg-soft-grape .container.py-3,
    .wrapper.bg-soft-grape .container.py-md-5,
    .wrapper.bg-soft-grape .container.py-2,
    .wrapper.bg-soft-grape .container.py-md-4 {
        padding-top: 0.4rem !important;
        padding-bottom: 0.4rem !important;
    }
    .breadcrumb,
    .breadcrumb-item,
    .breadcrumb-item a {
        font-size: 11px !important;
        line-height: 1.3 !important;
    }

    .orders-section .col-md-6,
    .orders-section .row > .col-md-6 {
        font-size: 12px !important;
        line-height: 1.45 !important;
    }

    #modern_cart_page .cart-left-card,
    #modern_cart_page .cart-summary-card,
    #checkout_form .ship-details-wrapper,
    #checkout_form .checkout-order-wrapper {
        padding: 0.65rem !important;
    }

    .product-page-section .product-title,
    .product-page-section h1,
    .product-page-section .h3 {
        font-size: 1.05rem !important;
        line-height: 1.35 !important;
    }
    .product-page-section .amount,
    .product-page-section .price {
        font-size: 1rem !important;
    }

    .table-order td,
    .table-order th {
        font-size: 0.82rem !important;
        padding-top: 0.4rem !important;
        padding-bottom: 0.4rem !important;
    }

    /* Orders list — compact cards + icon actions on mobile */
    .mirswa-orders-page .mirswa-orders-thead {
        display: table-header-group;
    }
    .mirswa-orders-page .mirswa-orders-table-wrap {
        overflow: visible;
    }
    .mirswa-orders-page .mirswa-orders-thead {
        display: none;
    }
    .mirswa-orders-page .mirswa-orders-table {
        border: 0;
    }
    .mirswa-orders-page .mirswa-orders-table tbody {
        display: block;
    }
    .mirswa-orders-page .mirswa-orders-table tr.mirswa-order-data-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 10px 12px;
        margin-bottom: 10px;
        border: 1px solid #e9edf5 !important;
        border-radius: 10px;
        background: #fff;
        box-shadow: 0 2px 8px rgba(16, 24, 40, 0.05);
    }
    .mirswa-orders-page .mirswa-orders-table tr.mirswa-order-data-row td {
        border: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        vertical-align: middle;
    }
    .mirswa-orders-page .mirswa-order-cell-main {
        flex: 1 1 auto;
        min-width: 0;
    }
    .mirswa-orders-page .mirswa-order-actions-cell {
        flex: 0 0 auto;
    }
    .mirswa-orders-page .mirswa-order-id {
        font-size: 14px;
        font-weight: 600;
        color: #111827;
    }
    .mirswa-orders-page .mirswa-order-mobile-total {
        font-size: 13px;
        font-weight: 700;
        color: #0f172a;
        white-space: nowrap;
    }
    .mirswa-orders-page .mirswa-order-mobile-date {
        font-size: 11px;
        color: #64748b;
        margin-top: 2px;
        line-height: 1.3;
    }
    .mirswa-orders-page .mirswa-order-mobile-top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
    }
    .mirswa-orders-page .mirswa-order-actions {
        display: flex;
        align-items: center;
        gap: 6px;
    }
    .mirswa-orders-page .mirswa-order-actions .btn {
        width: 34px;
        height: 34px;
        min-width: 34px;
        padding: 0 !important;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 8px !important;
        line-height: 1;
    }
    .mirswa-orders-page .mirswa-order-actions .mirswa-order-btn-label {
        display: none !important;
    }
    .mirswa-orders-page .mirswa-order-actions .btn i {
        font-size: 16px;
        margin: 0;
        line-height: 1;
    }
    .mirswa-orders-page .mirswa-order-details-btn .mirswa-order-btn-label,
    .mirswa-orders-page .mirswa-order-details-btn {
        display: inline-flex !important;
        width: auto !important;
        min-width: 0 !important;
        padding: 0.22rem 0.45rem !important;
        font-size: 11px !important;
    }
    .mirswa-orders-page tr.mirswa-order-details-row:not([hidden]) {
        display: block;
        margin: -4px 0 10px;
        border: 1px solid #e9edf5;
        border-radius: 0 0 10px 10px;
        background: #f8fafc;
    }
    .mirswa-orders-page tr.mirswa-order-details-row:not([hidden]) td {
        display: block;
        padding: 10px 12px !important;
        border: 0 !important;
    }

    /* My account dashboard shortcut strip */
    .my-account-section .overflow-auto .card.h-15 {
        min-height: 0 !important;
    }
    .my-account-section .overflow-auto .card-header.fs-12 {
        font-size: 10px !important;
        padding: 0.35rem 0.25rem !important;
        line-height: 1.2;
    }
    .my-account-section .overflow-auto .card-body.p-2 {
        padding: 0.35rem !important;
    }
    .my-account-section .dashboard-icon.fs-22 {
        font-size: 1.2rem !important;
    }
    .my-account-section .card-header .h4,
    .my-account-section .card-header h1.h4 {
        font-size: 1rem !important;
    }
    .my-account-section .mb-15 {
        margin-bottom: 0.75rem !important;
    }
    .my-account-section .my-8 {
        margin-top: 0.5rem !important;
        margin-bottom: 0.5rem !important;
    }
}

@media (min-width: 768px) {
    .mirswa-orders-page .mirswa-order-actions {
        display: inline-flex;
        flex-wrap: nowrap;
        gap: 5px;
        justify-content: flex-end;
        align-items: center;
    }
    .mirswa-orders-page .mirswa-order-actions .btn {
        width: auto;
        height: auto;
        min-width: 0;
        padding: 0.22rem 0.5rem !important;
        display: inline-flex;
        align-items: center;
        gap: 4px;
        font-size: 11px;
        line-height: 1.25;
        border-radius: 6px !important;
    }
    .mirswa-orders-page .mirswa-order-actions .btn i {
        font-size: 13px;
        margin: 0;
    }
    .mirswa-orders-page tr.mirswa-order-details-row[hidden] {
        display: none !important;
    }
    .mirswa-orders-page tr.mirswa-order-details-row:not([hidden]) {
        display: table-row;
    }
    .mirswa-orders-page tr.mirswa-order-details-row:not([hidden]) td.mirswa-order-details-panel {
        padding: 12px 14px !important;
        background: #f8fafc !important;
        border-top: 0;
    }
    .mirswa-orders-page .mirswa-order-details-btn.active {
        background: #eef2ff;
        border-color: #6366f1;
        color: #4338ca;
    }
    .mirswa-orders-page .mirswa-orders-table td.mirswa-order-actions-cell {
        white-space: nowrap;
        min-width: 180px;
    }
}

@media (max-width: 991.98px) {
    /* Product names: prevent edge clipping on cards/listings (tablet + phone) */
    .post-header,
    .post-header .post-title,
    .post-header .title_wrap,
    .product-content,
    .list-product-title {
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
    }
    .title_wrap,
    .post-title.title_wrap,
    .list-product-title.title_wrap {
        white-space: normal !important;
        text-wrap: wrap !important;
        overflow: visible !important;
        width: 100%;
        padding-left: 1px;
        padding-right: 1px;
    }
    .title_wrap a,
    .post-title.title_wrap a,
    .list-product-title.title_wrap a,
    .project.item.default-style .post-title a,
    .deals-feature-card .post-title a,
    .deals-section .deals-content .title_wrap a {
        display: -webkit-box !important;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        white-space: normal !important;
        overflow: hidden;
        text-overflow: ellipsis;
        word-break: break-word;
        overflow-wrap: anywhere;
        line-height: 1.3 !important;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
        padding: 0 1px;
    }
    #offcanvas-cart .post-title.title_wrap,
    #offcanvas-cart .w-100 .post-title {
        width: 100% !important;
        max-width: 100% !important;
    }
    .product_listing_list .list-product-title.title_wrap a {
        font-size: 13px !important;
        -webkit-line-clamp: 2;
    }

    /* My account pages — tighter mobile shell */
    .my-account-section > .container.mb-15,
    .my-account-section > .container.mb-3 {
        padding-left: 0.65rem;
        padding-right: 0.65rem;
    }
    .my-account-section .card-header .h4,
    .my-account-section .card-header h1.h4 {
        font-size: 1rem !important;
    }
    .my-account-section hr.mt-0.mb-5 {
        margin-top: 0.5rem !important;
        margin-bottom: 0.75rem !important;
    }
    .my-account-section .bootstrap-table,
    .my-account-section .fixed-table-container {
        font-size: 13px;
    }
    .my-account-section .wallet .fs-16,
    .my-account-section .fs-16.fw-semibold {
        font-size: 14px !important;
    }
}

/* =========================
   Floating chat: Messenger final overrides
   (must be at file end so it wins)
   ========================= */
.floating-chat-embed{
    background: #f0f2f5 !important;
}
.floating-chat-embed .deeplink_wrapper{
    padding: 10px 10px 12px !important;
}
.floating-chat-embed .floating-chat-topbar{
    padding: 4px 2px 10px !important;
}
.floating-chat-embed .floating-chat-title{
    font-size: 18px !important;
    font-weight: 800 !important;
}
.floating-chat-embed #floating_chat_view{
    height: calc(100vh - 64px) !important;
}
.floating-chat-embed #floating_chat_view > .row{
    height: 100% !important;
}
.floating-chat-embed .card.chat-theme-light{
    border: 0 !important;
    border-radius: 16px !important;
    box-shadow: 0 14px 40px rgba(16,24,40,.10) !important;
    background: #fff !important;
    overflow: hidden !important;
}
.floating-chat-embed #chat_area .card.chat-box{
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}
.floating-chat-embed #chat-box-content{
    flex: 1 1 auto !important;
    min-height: 0 !important;
    background: #f0f2f5 !important;
    overflow: auto !important;
}
.floating-chat-embed #mychatbox2 .chat-card-header{
    background: #fff !important;
    border-bottom: 1px solid rgba(15,23,42,.10) !important;
    padding: 10px 12px !important;
}
.floating-chat-embed .chat-box .chat-content{
    padding: 12px !important;
}
.floating-chat-embed .chat-box .chat-content .chat-item .chat-details{
    max-width: 78% !important;
}
.floating-chat-embed .chat-box .chat-content .chat-item .chat-details .chat-text{
    border-radius: 18px !important;
    padding: 10px 12px !important;
    background: #fff !important;
    border: 0 !important;
    box-shadow: 0 1px 0 rgba(16,24,40,.06) !important;
}
.floating-chat-embed .chat-box .chat-content .chat-item.chat-right .chat-details .chat-text{
    background: #0084ff !important;
    color: #fff !important;
}
.floating-chat-embed .chat-box .chat-content .chat-item .chat-time{
    color: #65676b !important;
    font-size: 11px !important;
}
.floating-chat-embed #mychatbox2 .chat-form{
    background: #fff !important;
    border-top: 1px solid rgba(15,23,42,.10) !important;
    padding: 10px 10px !important;
}
.floating-chat-embed #chat-form2 .input-group{
    display: flex !important;
    align-items: flex-end !important;
    gap: 8px !important;
}
.floating-chat-embed #chat-input-textarea{
    border-radius: 999px !important;
    background: #f0f2f5 !important;
    border: 1px solid rgba(15,23,42,.10) !important;
    min-height: 42px !important;
    padding: 10px 14px !important;
}
.floating-chat-embed .btn-send-msg{
    width: 40px !important;
    height: 40px !important;
    border-radius: 999px !important;
    background: #0084ff !important;
    border-color: #0084ff !important;
}

/* Professional support-assist UI in modern chat */
.floating-chat-embed #chat-form2{
    display: block;
}
.floating-chat-embed #chat-form2 .chat-quick-replies{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin: 0 0 8px 0 !important;
}
.floating-chat-embed #chat-form2 .chat-quick-replies .chat-chip{
    appearance: none;
    -webkit-appearance: none;
    border-radius: 999px !important;
    font-size: 12px;
    line-height: 1.1;
    padding: 6px 10px;
    margin: 0 !important;
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: normal;
    text-align: left;
    max-width: 100%;
    border: 1px solid rgba(15, 23, 42, .18) !important;
    background: #fff !important;
    color: #0f172a !important;
    box-shadow: none !important;
    cursor: pointer;
}
.floating-chat-embed #chat-form2 .chat-quick-replies .chat-chip:hover{
    border-color: rgba(0, 132, 255, .45) !important;
    background: rgba(0, 132, 255, .06) !important;
    color: #0b4aa2 !important;
}
.floating-chat-embed #chat-form2 .chat-quick-replies .chat-chip:focus,
.floating-chat-embed #chat-form2 .chat-quick-replies .chat-chip:focus-visible{
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(0, 132, 255, .18) !important;
}
.floating-chat-embed #chat-form2 .chat-quick-replies .btn{
    border-radius: 999px !important;
    font-size: 12px;
    line-height: 1.1;
    padding: 6px 10px;
    margin: 0 !important;
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    /* allow long text to wrap on small widths */
    white-space: normal;
    text-align: left;
    max-width: 100%;
    border-width: 1px !important;
    border-style: solid !important;
    border-color: rgba(15, 23, 42, .18) !important;
    background: #fff !important;
    color: #0f172a !important;
    box-shadow: none !important;
}
.floating-chat-embed #chat-form2 .chat-quick-replies .btn:hover{
    border-color: rgba(0, 132, 255, .45) !important;
    background: rgba(0, 132, 255, .06) !important;
    color: #0b4aa2 !important;
}
.floating-chat-embed #chat-form2 .chat-quick-replies .btn:focus,
.floating-chat-embed #chat-form2 .chat-quick-replies .btn:focus-visible{
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(0, 132, 255, .18) !important;
}
.floating-chat-embed #chat-form2 .chat-quick-replies .btn:active{
    transform: translateY(0) !important;
}
.floating-chat-embed #chat-form2 .chat-support-inline-note{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 8px !important;
    border: 1px solid rgba(2, 132, 199, 0.24);
    background: rgba(2, 132, 199, 0.08);
    color: #0f172a;
    border-radius: 10px;
}
.floating-chat-embed #chat-form2 .chat-support-inline-note .quick-connect-support{
    white-space: nowrap;
    border-radius: 999px !important;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 600;
}
.floating-chat-embed #chat-form2 .row{
    margin-left: 0;
    margin-right: 0;
}
.floating-chat-embed #chat-form2 .input-group{
    display: flex;
    align-items: center !important;
    gap: 8px;
    flex-wrap: nowrap;
}
.floating-chat-embed #chat-form2 .input-group > .theme-inputs{
    flex: 1 1 auto;
    min-width: 0;
}
.floating-chat-embed #chat-form2 .btn-send-msg,
.floating-chat-embed #chat-form2 .btn-file,
.floating-chat-embed #chat-form2 .go-to-bottom-btn{
    flex: 0 0 auto;
}
@media (max-width: 576px){
    .floating-chat-embed #chat-form2 .chat-support-inline-note{
        flex-direction: column;
        align-items: flex-start;
    }
    .floating-chat-embed #chat-form2 .chat-support-inline-note .quick-connect-support{
        margin-left: 0 !important;
    }
}

/* Floating chat layout refinement:
   - open anchored from bottom without panel overlap
   - desktop split 30/70 (users/chat)
   - mobile keeps single-column behavior */
.chat-iframe {
    bottom: 14px !important;
    right: 14px !important;
    height: min(640px, calc(100vh - 28px)) !important;
}

.floating-chat-embed #floating_chat_view {
    height: calc(100vh - 86px) !important;
}

.floating-chat-embed #floating_chat_view > .row {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    --bs-gutter-x: 0 !important;
}

.floating-chat-embed .floating-chat-users .card.chat-theme-light {
    height: auto !important;
    max-height: min(100%, calc(100vh - 120px)) !important;
}

.floating-chat-embed #chat_area .card.chat-box {
    height: 100% !important;
}

.floating-chat-embed #chat-box-content {
    overflow-y: auto !important;
}

@media (min-width: 992px) {
    .floating-chat-embed .floating-chat-users {
        flex: 0 0 30% !important;
        max-width: 30% !important;
        width: 30% !important;
    }
    .floating-chat-embed #chat_area,
    .floating-chat-embed #chat_area_wait {
        flex: 0 0 70% !important;
        max-width: 70% !important;
        width: 70% !important;
    }
}

@media (max-width: 991.98px) {
    .floating-chat-embed #floating_chat_view > .row {
        flex-wrap: wrap !important;
        gap: 0 !important;
    }
    .floating-chat-embed .floating-chat-users,
    .floating-chat-embed #chat_area,
    .floating-chat-embed #chat_area_wait {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }
}
.floating-chat-embed .btn-file{
    width: 40px !important;
    height: 40px !important;
    border-radius: 999px !important;
    background: rgba(15,23,42,.06) !important;
    border-color: rgba(15,23,42,.08) !important;
}

/* Final guardrails: keep floating chat composer/layout stable. */
.floating-chat-embed #mychatbox2 .chat-form{
    position: relative !important;
    padding: 8px 10px !important;
}
.floating-chat-embed #chat-form2{
    /* Layout fix: textarea + action buttons must never overlap */
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-end !important;
    gap: 8px !important;
}
.floating-chat-embed #chat-form2 #chat-inline-messages{
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 0 !important;
}
.floating-chat-embed #chat-box-content #chat-inline-messages{
    width: 100% !important;
    margin: 6px 0 8px 0 !important;
    clear: both;
}
.floating-chat-embed #chat-box-content #chat-inline-messages .chat-quick-replies,
.floating-chat-embed #chat-box-content #chat-inline-messages .chat-support-inline-note{
    width: 100% !important;
}

/* Professional bot menu card */
.floating-chat-embed #chat-box-content #chat-inline-messages .bot-menu-card{
    max-width: 360px;
    background: #ffffff !important;
    border: 1px solid rgba(11, 94, 215, .22) !important;
    border-radius: 14px !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-shadow: 0 10px 26px rgba(15, 23, 42, .12) !important;
}
.floating-chat-embed #chat-box-content #chat-inline-messages .bot-menu-title{
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #0b4aa2 !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    background: linear-gradient(180deg, rgba(11,94,215,.12), rgba(11,94,215,.03)) !important;
    border-bottom: 1px solid rgba(11,94,215,.16) !important;
}
.floating-chat-embed #chat-box-content #chat-inline-messages .bot-menu-list{
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
}
.floating-chat-embed #chat-box-content #chat-inline-messages .bot-menu-item{
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 100% !important;
    display: block !important;
    text-align: left !important;
    padding: 12px 14px !important;
    margin: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    border-bottom: 1px solid rgba(15,23,42,.08) !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #0b4aa2 !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    position: relative !important;
    line-height: 1.2 !important;
    cursor: pointer !important;
}
.floating-chat-embed #chat-box-content #chat-inline-messages .bot-menu-item:hover{
    background: rgba(11,94,215,.06) !important;
}
.floating-chat-embed #chat-box-content #chat-inline-messages .bot-menu-item:focus,
.floating-chat-embed #chat-box-content #chat-inline-messages .bot-menu-item:focus-visible{
    outline: none !important;
    box-shadow: inset 0 0 0 2px rgba(11,94,215,.18) !important;
}
.floating-chat-embed #chat-box-content #chat-inline-messages .bot-menu-item::after{
    content: "\203A";
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(11,94,215,.75);
    font-size: 18px;
    font-weight: 700;
}
.floating-chat-embed #chat-box-content #chat-inline-messages .bot-menu-list .bot-menu-item:last-child{
    border-bottom: 0;
}
.floating-chat-embed #chat-box-content #chat-inline-messages .bot-menu-actions{
    display: flex;
    justify-content: flex-end;
    margin-top: 0;
    padding: 10px;
    border-top: 1px solid rgba(15,23,42,.08);
    background: #f8fbff;
}
.floating-chat-embed #chat-box-content #chat-inline-messages .bot-menu-pill{
    appearance: none !important;
    -webkit-appearance: none !important;
    border: none !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: var(--primary-color) !important;
    color: #fff !important;
    padding: 8px 14px !important;
    border-radius: 999px !important;
    font-weight: 700 !important;
    font-size: 13px !important;
}
.floating-chat-embed #chat-box-content #chat-inline-messages .bot-menu-pill:hover{
    filter: brightness(0.98);
}

/* Same menu styling when inline slot is rendered near input form */
.floating-chat-embed #chat-form2 #chat-inline-messages .bot-menu-card{
    max-width: 360px;
    background: #ffffff !important;
    border: 1px solid rgba(11, 94, 215, .22) !important;
    border-radius: 14px !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-shadow: 0 10px 26px rgba(15, 23, 42, .12) !important;
}
.floating-chat-embed #chat-form2 #chat-inline-messages .bot-menu-title{
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #0b4aa2 !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    background: linear-gradient(180deg, rgba(11,94,215,.12), rgba(11,94,215,.03)) !important;
    border-bottom: 1px solid rgba(11,94,215,.16) !important;
}
.floating-chat-embed #chat-form2 #chat-inline-messages .bot-menu-list{
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
}
.floating-chat-embed #chat-form2 #chat-inline-messages .bot-menu-item{
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 100% !important;
    display: block !important;
    text-align: left !important;
    padding: 12px 14px !important;
    margin: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    border-bottom: 1px solid rgba(15,23,42,.08) !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #0b4aa2 !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    position: relative !important;
    line-height: 1.2 !important;
    cursor: pointer !important;
}
.floating-chat-embed #chat-form2 #chat-inline-messages .bot-menu-item:hover{
    background: rgba(11,94,215,.06) !important;
}
.floating-chat-embed #chat-form2 #chat-inline-messages .bot-menu-item::after{
    content: "\203A";
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(11,94,215,.75);
    font-size: 18px;
    font-weight: 700;
}
.floating-chat-embed #chat-form2 #chat-inline-messages .bot-menu-list .bot-menu-item:last-child{
    border-bottom: 0;
}
.floating-chat-embed #chat-form2 #chat-inline-messages .bot-menu-actions{
    display: flex;
    justify-content: flex-end;
    margin-top: 0;
    padding: 10px;
    border-top: 1px solid rgba(15,23,42,.08);
    background: #f8fbff;
}
.floating-chat-embed #chat-form2 #chat-inline-messages .bot-menu-pill{
    appearance: none !important;
    -webkit-appearance: none !important;
    border: none !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: var(--primary-color) !important;
    color: #fff !important;
    padding: 8px 14px !important;
    border-radius: 999px !important;
    font-weight: 700 !important;
    font-size: 13px !important;
}
/* Fallback selectors for chat layouts that do not include `.floating-chat-embed` wrapper. */
#chat-inline-messages .bot-menu-card{
    max-width: 360px;
    background: #ffffff !important;
    border: 1px solid rgba(11, 94, 215, .22) !important;
    border-radius: 14px !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-shadow: 0 10px 26px rgba(15, 23, 42, .12) !important;
}
#chat-inline-messages .bot-menu-title{
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #0b4aa2 !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    background: linear-gradient(180deg, rgba(11,94,215,.12), rgba(11,94,215,.03)) !important;
    border-bottom: 1px solid rgba(11,94,215,.16) !important;
}
#chat-inline-messages .bot-menu-list{
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
}
#chat-inline-messages .bot-menu-item{
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 100% !important;
    display: block !important;
    text-align: left !important;
    padding: 12px 14px !important;
    margin: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    border-bottom: 1px solid rgba(15,23,42,.08) !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #0b4aa2 !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    position: relative !important;
    line-height: 1.2 !important;
    cursor: pointer !important;
}
#chat-inline-messages .bot-menu-item::after{
    content: "\203A";
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(11,94,215,.75);
    font-size: 18px;
    font-weight: 700;
}
#chat-inline-messages .bot-menu-list .bot-menu-item:last-child{ border-bottom: 0; }
#chat-inline-messages .bot-menu-actions{
    display: flex;
    justify-content: flex-end;
    margin-top: 0;
    padding: 10px;
    border-top: 1px solid rgba(15,23,42,.08);
    background: #f8fbff;
}
#chat-inline-messages .bot-menu-pill{
    appearance: none !important;
    -webkit-appearance: none !important;
    border: none !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: var(--primary-color) !important;
    color: #fff !important;
    padding: 8px 14px !important;
    border-radius: 999px !important;
    font-weight: 700 !important;
    font-size: 13px !important;
}

/* Support chat menu (new unique classes to avoid legacy collisions) */
#chat-inline-messages .msw-bot-menu-card{
    max-width: 360px !important;
    background: #ffffff !important;
    border: 1px solid rgba(11, 94, 215, .22) !important;
    border-radius: 14px !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-shadow: 0 10px 26px rgba(15, 23, 42, .12) !important;
}
#chat-inline-messages .msw-bot-menu-title{
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #0b4aa2 !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    background: linear-gradient(180deg, rgba(11,94,215,.12), rgba(11,94,215,.03)) !important;
    border-bottom: 1px solid rgba(11,94,215,.16) !important;
}
#chat-inline-messages .msw-bot-menu-list{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
}
#chat-inline-messages .msw-bot-menu-item{
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 100% !important;
    display: block !important;
    text-align: left !important;
    padding: 12px 14px !important;
    margin: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    border-bottom: 1px solid rgba(15,23,42,.08) !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #0b4aa2 !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    position: relative !important;
    line-height: 1.2 !important;
    cursor: pointer !important;
}
#chat-inline-messages .msw-bot-menu-item:hover{
    background: rgba(11,94,215,.06) !important;
}
#chat-inline-messages .msw-bot-menu-item::after{
    content: "\203A" !important;
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: rgba(11,94,215,.75) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
}
#chat-inline-messages .msw-bot-menu-list .msw-bot-menu-item:last-child{
    border-bottom: 0 !important;
}
#chat-inline-messages .msw-bot-menu-actions{
    display: flex !important;
    justify-content: flex-end !important;
    margin-top: 0 !important;
    padding: 10px !important;
    border-top: 1px solid rgba(15,23,42,.08) !important;
    background: #f8fbff !important;
}
#chat-inline-messages .msw-bot-menu-pill{
    appearance: none !important;
    -webkit-appearance: none !important;
    border: none !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: var(--primary-color) !important;
    color: #fff !important;
    padding: 8px 14px !important;
    border-radius: 999px !important;
    font-weight: 700 !important;
    font-size: 13px !important;
}
.floating-chat-embed #chat-form2 .chat-quick-replies,
.floating-chat-embed #chat-form2 .chat-support-inline-note{
    flex: 0 0 100% !important;
}
.floating-chat-embed #chat-form2 > .row{
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
}
.floating-chat-embed #chat-form2 > .row > .input-group{
    width: 100% !important;
}
.floating-chat-embed #chat-form2 > div:not(.row):not(.chat-quick-replies):not(.chat-support-inline-note){
    flex: 0 0 auto !important;
}
.floating-chat-embed #chat-form2 .input-group-append{
    display: flex !important;
    align-items: flex-end !important;
    margin: 0 !important;
}
.floating-chat-embed #chat-form2 .input-group-append.mb-n1{
    margin-bottom: 0 !important;
}
.floating-chat-embed #chat-form2 > div:last-child{
    align-self: flex-end !important;
}
.floating-chat-embed #chat-form2 #chat-input-textarea{
    min-height: 40px !important;
    max-height: 120px !important;
    overflow-y: auto !important;
    resize: none !important;
}
.floating-chat-embed #chat-form2 .form-group{
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    margin: 0 !important;
}
.floating-chat-embed #chat-form2 .input-group{
    flex: 1 1 auto !important;
    min-width: 0 !important;
}
.floating-chat-embed #chat-form2 .input-group > .theme-inputs{
    width: 100% !important;
    min-width: 0 !important;
}
.floating-chat-embed #chat-form2 .btn-send-msg,
.floating-chat-embed #chat-form2 .btn-file,
.floating-chat-embed #chat-form2 .go-to-bottom-btn{
    position: static !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    transform: none !important;
    margin: 0 !important;
}
.floating-chat-embed #chat-box-content{
    padding-bottom: 8px !important;
}
.floating-chat-embed .chat-box .chat-content .chat-item .chat-details .chat-time{
    display: block !important;
    width: 100% !important;
    clear: both;
}

/* Final safety: support note/action must not collapse into composer icons. */
.floating-chat-embed #chat-form2 #chat-inline-messages .chat-support-inline-note{
    display: block !important;
    width: 100% !important;
    margin: 0 0 8px 0 !important;
}
.floating-chat-embed #chat-box-content #chat-inline-messages .chat-support-inline-note{
    display: block !important;
    width: 100% !important;
    margin: 0 0 8px 0 !important;
}
.floating-chat-embed #chat-form2 #chat-inline-messages .chat-support-inline-note .quick-connect-support{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 8px 0 0 0 !important;
    max-width: 100% !important;
    flex-shrink: 0 !important;
    white-space: normal !important;
}
.floating-chat-embed #chat-box-content #chat-inline-messages .chat-support-inline-note .quick-connect-support{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 8px 0 0 0 !important;
    max-width: 100% !important;
    flex-shrink: 0 !important;
    white-space: normal !important;
}
@media (max-width: 576px){
    .floating-chat-embed #chat-form2 #chat-inline-messages .chat-support-inline-note .quick-connect-support{
        width: 100% !important;
    }
    .floating-chat-embed #chat-box-content #chat-inline-messages .chat-support-inline-note .quick-connect-support{
        width: 100% !important;
    }
}

/* PDP CTA hard guardrail for very small phones */
@media (max-width: 575.98px) {
    .pdp-page #pdp-cta-anchor {
        padding: 8px 8px !important;
    }
    .pdp-page #pdp-cta-anchor .product-cta-row {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        overflow-x: hidden !important;
        overflow-y: hidden !important;
        gap: 6px !important;
        padding: 0 !important;
        border-bottom: 0 !important;
        white-space: normal !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    .pdp-page #pdp-cta-anchor .product-cta-row > * {
        min-width: 0 !important;
    }
    .pdp-page #pdp-cta-anchor .product-cta-row .pdp-qty-in-cta,
    .pdp-page #pdp-cta-anchor .product-cta-row .num-block {
        flex: 0 0 108px !important;
        width: 108px !important;
        height: 42px !important;
        min-height: 42px !important;
    }
    .pdp-page #pdp-cta-anchor .product-cta-row .num-in,
    .pdp-page #pdp-cta-anchor .product-cta-row .num-in input,
    .pdp-page #pdp-cta-anchor .product-cta-row .num-in .minus,
    .pdp-page #pdp-cta-anchor .product-cta-row .num-in .plus {
        height: 42px !important;
        line-height: 42px !important;
    }
    .pdp-page #pdp-cta-anchor .product-cta-row #add_cart,
    .pdp-page #pdp-cta-anchor .product-cta-row #buy_now {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        width: auto !important;
        white-space: nowrap !important;
        line-height: 1.1 !important;
        height: 42px !important;
        min-height: 42px !important;
        padding: 8px 10px !important;
    }
    .pdp-page #pdp-cta-anchor .product-cta-row .pdp-qty-in-cta,
    .pdp-page #pdp-cta-anchor .product-cta-row #compare,
    .pdp-page #pdp-cta-anchor .product-cta-row .add-to-fav-btn,
    .pdp-page #pdp-cta-anchor .product-cta-row a.btn-success {
        flex: 0 0 42px !important;
        width: 42px !important;
        height: 42px !important;
        min-height: 42px !important;
    }
}

/* Final mobile CTA normalization (below tablet) */
@media (max-width: 991.98px) {
    .pdp-page #pdp-cta-anchor .product-cta-row {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        flex-wrap: nowrap !important;
    }

    .pdp-page #pdp-cta-anchor .product-cta-row .pdp-qty-in-cta,
    .pdp-page #pdp-cta-anchor .product-cta-row .num-block {
        flex: 0 0 108px !important;
        width: 108px !important;
        height: 42px !important;
        min-height: 42px !important;
        margin: 0 !important;
    }

    .pdp-page #pdp-cta-anchor #add_cart,
    .pdp-page #pdp-cta-anchor #buy_now {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        height: 42px !important;
        min-height: 42px !important;
        border-radius: 999px !important;
        margin: 0 !important;
        padding: 0 12px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    .pdp-page #pdp-cta-anchor #add_cart i,
    .pdp-page #pdp-cta-anchor #buy_now i {
        font-size: 14px !important;
        margin-right: 6px !important;
        line-height: 1 !important;
    }

    /* PDP deliverability controls: prevent overflow on mobile/tablet widths */
    .product-delivery-card .input-group {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        width: 100% !important;
    }
    .product-delivery-card .input-group .form-control {
        flex: 1 1 100% !important;
        width: 100% !important;
        min-width: 0 !important;
    }
    .product-delivery-card .input-group #validate_zipcode,
    .product-delivery-card .input-group #validate_city,
    .product-delivery-card .input-group .use-current-location-zipcode,
    .product-delivery-card .input-group .use-current-location-city {
        flex: 1 1 calc(50% - 4px) !important;
        width: calc(50% - 4px) !important;
        min-width: 0 !important;
        white-space: nowrap !important;
    }

    /* Header row stabilization: keep brand + actions in single line */
    header.wrapper.bg-light > nav.navbar .container.flex-lg-row.flex-nowrap.align-items-center {
        flex-wrap: nowrap !important;
        gap: 8px !important;
    }
    header.wrapper.bg-light > nav.navbar .navbar-brand.logo-img {
        width: auto !important;
        min-width: 0 !important;
        flex: 1 1 auto !important;
    }
    header.wrapper.bg-light > nav.navbar .navbar-brand.logo-img img.brand-logo-link {
        max-width: 160px !important;
        height: auto !important;
    }
    .navbar-other {
        width: auto !important;
        flex: 0 0 auto !important;
        min-width: 0 !important;
    }
    .navbar-other .navbar-nav.flex-row {
        flex-wrap: nowrap !important;
        row-gap: 0 !important;
    }
    .navbar-other .navbar-nav.flex-row > .nav-item {
        flex: 0 0 auto !important;
    }
    .navbar-other .navbar-nav.flex-row > .nav-item > a.header-toolbar-icon {
        width: 2.1rem;
        height: 2.1rem;
        min-width: 2.1rem;
        min-height: 2.1rem;
    }
    /* Keep icon count compact on smaller headers */
    .navbar-other .navbar-nav.flex-row > .nav-item > a.desktop-search {
        display: none !important;
    }
}

@media (max-width: 767.98px) {
    .hero-slider-enhanced {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    .hero-slider-enhanced .swiper-controls {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        min-height: 8px;
    }

    /* Product cards on mobile: keep desktop quick-action block visible
       because many card templates render "Add to Cart" inside it. */
    .desktop_quick_view {
        display: block !important;
    }
    .mobile_quick_view {
        display: none !important;
    }
}

/* Mobile/tablet product-card polish: stable action layout + visible add-to-cart */
@media (max-width: 991.98px) {
    .item figure,
    .swiper-slide figure {
        border-radius: 10px;
        overflow: hidden;
    }

    /* Make wishlist / quick-view / compare always visible on touch devices.
       Default theme shows them only on :hover, which does not work reliably on mobile. */
    .main-content .item figure .item-like,
    .main-content .item figure .item-view,
    .main-content .item figure .item-compare,
    .main-content .swiper-slide figure .item-like,
    .main-content .swiper-slide figure .item-view,
    .main-content .swiper-slide figure .item-compare {
        opacity: 1 !important;
        width: 1.2rem !important;
        height: 1.2rem !important;
        line-height: 1.2rem !important;
        font-size: 0.58rem !important;
    }

    .main-content .item figure .item-like,
    .main-content .swiper-slide figure .item-like { right: 0.42rem !important; top: 0.5rem !important; }
    .main-content .item figure .item-view,
    .main-content .swiper-slide figure .item-view { right: 1.75rem !important; top: 0.5rem !important; }
    .main-content .item figure .item-compare,
    .main-content .swiper-slide figure .item-compare { right: 3.08rem !important; top: 0.5rem !important; }

    .item figure .item-cart,
    .swiper-slide figure .item-cart,
    .item figure .mirswa-card-add-btn,
    .swiper-slide figure .mirswa-card-add-btn {
        opacity: 1 !important;
        position: absolute !important;
        right: 8px !important;
        bottom: 8px !important;
        left: auto !important;
        top: auto !important;
        width: auto !important;
        min-width: 52px;
        padding: 6px 14px !important;
        min-height: 32px !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        text-transform: uppercase;
        letter-spacing: 0.02em;
        border-radius: 6px !important;
        background: var(--tertiary-color) !important;
        color: #fff !important;
        border: 1px solid var(--tertiary-color) !important;
        backdrop-filter: none !important;
    }

    .item figure .item-cart i,
    .swiper-slide figure .item-cart i,
    .item figure .mirswa-card-add-btn i,
    .swiper-slide figure .mirswa-card-add-btn i {
        display: none !important;
    }

    /* Ensure action buttons stay clickable above image/content overlays. */
    .main-content .item figure .item-like,
    .main-content .item figure .item-view,
    .main-content .item figure .item-compare,
    .main-content .item figure .item-cart,
    .main-content .swiper-slide figure .item-like,
    .main-content .swiper-slide figure .item-view,
    .main-content .swiper-slide figure .item-compare,
    .main-content .swiper-slide figure .item-cart {
        z-index: 3 !important;
    }
}

/* Final hard guardrail: keep compare/eye/heart on single top-right row (non-ads). */
.main-content :not(.auto-product-ads-wrap) .item figure .item-like,
.main-content :not(.auto-product-ads-wrap) .item figure .item-view,
.main-content :not(.auto-product-ads-wrap) .item figure .item-compare,
.main-content :not(.auto-product-ads-wrap) .swiper-slide figure .item-like,
.main-content :not(.auto-product-ads-wrap) .swiper-slide figure .item-view,
.main-content :not(.auto-product-ads-wrap) .swiper-slide figure .item-compare {
    position: absolute !important;
    top: 0.55rem !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    margin: 0 !important;
}

/* Final guardrail: keep sale badge fully visible on product cards */
.main-content .item figure .sale_tag,
.main-content .swiper-slide figure .sale_tag {
    top: 0.4rem !important;
    left: 0.4rem !important;
    right: auto !important;
    margin: 0 !important;
    z-index: 6 !important;
    min-width: 46px !important;
    width: 46px !important;
    height: 46px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1.05 !important;
    padding: 3px !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    overflow: hidden !important;
}
.main-content .item figure .sale_tag > span,
.main-content .swiper-slide figure .sale_tag > span {
    display: block !important;
    line-height: 1.05 !important;
}
@media (max-width: 575.98px) {
    .main-content .item figure .sale_tag,
    .main-content .swiper-slide figure .sale_tag {
        min-width: 42px !important;
        width: 42px !important;
        height: 42px !important;
        font-size: 9px !important;
    }
}

/* Support bot chat UX polish: visible card/chip styles and order detail layout */
.floating-chat-embed #chat-inline-messages .chat-quick-replies{
    display:flex;
    flex-direction:column;
    gap:10px;
}
.floating-chat-embed #chat-inline-messages .chat-chip{
    width:100%;
    border:1px solid #bcd0ff;
    background:#ffffff;
    color:#0b57d0;
    border-radius:12px;
    padding:10px 12px;
    text-align:left;
    font-size:13px;
    font-weight:600;
    line-height:1.35;
}
.floating-chat-embed #chat-inline-messages .chat-chip:hover{
    background:#f2f7ff;
    border-color:#8cb0ff;
}
.floating-chat-embed #chat-inline-messages .chat-chip.chat-order-card{
    color:#1f2937;
    border-color:#dbe7ff;
    background:#f8fbff;
}
.floating-chat-embed #chat-inline-messages .chat-chip.chat-order-card .chat-order-line{
    margin:1px 0;
}
.floating-chat-embed #chat-inline-messages .chat-chip.chat-order-card .chat-order-products{
    margin-top:2px;
}
.floating-chat-embed #chat-inline-messages .chat-chip.chat-order-card .chat-order-product-line{
    color:#374151;
    font-size:12px;
    margin:0;
}
.floating-chat-embed .chat-box .chat-content .chat-item .chat-details .chat-text .chat-order-update-lines{
    line-height:1.45;
}
.floating-chat-embed .chat-box .chat-content .chat-item .chat-details .chat-text .chat-order-update-lines > div{
    margin-bottom:2px;
}

/* Timestamp: keep it subtle and always below message bubble */
.floating-chat-embed .chat-box .chat-content .chat-item .chat-details .chat-time{
    font-size:11px !important;
    color:#7b8794 !important;
    margin-top:4px !important;
    line-height:1.1 !important;
}

/* Sale badge text layout: keep OFF on second line site-wide */
.main-content .item figure .sale_tag > span,
.main-content .swiper-slide figure .sale_tag > span {
    white-space: pre-line !important;
    display: inline-block !important;
    text-align: center !important;
}

/* Absolute final override: keep discount badge readable and two-line site-wide */
.main-content .sale_tag{
    top: .45rem !important;
    left: .45rem !important;
    right: auto !important;
    transform: none !important;
    margin: 0 !important;
    width: 54px !important;
    min-width: 54px !important;
    height: 54px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 5px !important;
    z-index: 7 !important;
    overflow: hidden !important;
}
.main-content .sale_tag > span{
    display: block !important;
    width: 100% !important;
    max-width: 40px !important;
    margin: 0 auto !important;
    white-space: normal !important;
    word-break: keep-all !important;
    line-height: 1.08 !important;
    text-align: center !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
}
@media (max-width: 575.98px){
    .main-content .sale_tag{
        width: 48px !important;
        min-width: 48px !important;
        height: 48px !important;
        padding: 4px !important;
    }
    .main-content .sale_tag > span{
        max-width: 36px !important;
        font-size: 11px !important;
        line-height: 1.06 !important;
    }
}

/* Final hard override for support chat buttons (prevent plain black browser button style) */
#chat-inline-messages button.quick-chat-msg{
    appearance: none !important;
    -webkit-appearance: none !important;
    border: 1px solid #bcd0ff !important;
    background: #fff !important;
    color: #0b57d0 !important;
    border-radius: 12px !important;
    padding: 9px 12px !important;
    margin: 0 !important;
    box-shadow: none !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    text-align: left !important;
    white-space: normal !important;
}
#chat-inline-messages button.quick-chat-msg:hover{
    background: #f2f7ff !important;
    border-color: #8cb0ff !important;
}

/* Ensure support menu rows render as clean card items (not browser default buttons) */
#chat-inline-messages .msw-bot-menu-card{
    border: 1px solid #d7e3ff !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #fff !important;
}
#chat-inline-messages .msw-bot-menu-item.quick-chat-msg{
    width: 100% !important;
    display: block !important;
    border: 0 !important;
    border-bottom: 1px solid #edf2ff !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #0b57d0 !important;
    padding: 12px 14px !important;
    margin: 0 !important;
    text-align: left !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    box-shadow: none !important;
}
#chat-inline-messages .msw-bot-menu-item.quick-chat-msg:last-child{
    border-bottom: 0 !important;
}
#chat-inline-messages .msw-bot-menu-item.quick-chat-msg:hover{
    background: #f2f7ff !important;
}

/* Order-id list should be clean chips, not outlined raw buttons */
#chat-inline-messages .chat-quick-replies .chat-chip{
    border: 1px solid #d7e3ff !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #1f2937 !important;
}

/* Queue timeline/wait line: larger, clearer font */
.floating-chat-embed #chat-inline-messages .chat-support-inline-note,
.floating-chat-embed #chat-inline-messages .chat-support-inline-note .chat-support-inline-note-text{
    font-size: 14px !important;
    line-height: 1.45 !important;
    font-weight: 600 !important;
}

/* Final sale badge text centering fix */
.main-content .sale_tag{
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    background: var(--tertiary-color) !important;
    border-color: var(--tertiary-color) !important;
    color: #fff !important;
}
.main-content .sale_tag > span{
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    margin: 0 auto !important;
    color: #fff !important;
}

/* Ensure legacy bg utility classes cannot force black sale badges */
.main-content .sale_tag.bg-pink,
.main-content .sale_tag.bg-danger,
.main-content .sale_tag.avatar{
    background: var(--tertiary-color) !important;
    border-color: var(--tertiary-color) !important;
    color: #fff !important;
}

/* Global fallback for section/group listing pages that don't inherit .main-content scope */
.sale_tag,
.sale_tag.bg-pink,
.sale_tag.bg-danger,
.sale_tag.avatar{
    background: var(--tertiary-color) !important;
    border-color: var(--tertiary-color) !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}
.sale_tag > span{
    color: #fff !important;
    text-align: center !important;
}

/* Professional brand palette — use CSS variables only (see :root + template.php) */

/* CTA hierarchy */
.btn-primary,
.btn-primary:focus,
.btn-primary:hover,
.floating-chat-embed .btn-send-msg,
.floating-chat-embed .btn-send-msg:hover{
    background: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
}

.btn-warning,
.floating-chat-embed .btn-file,
.floating-chat-embed .btn-file:hover{
    background: var(--secondary-color) !important;
    border-color: var(--secondary-color) !important;
    color: #1f2937 !important;
}

/* Emphasized pricing/discount surfaces */
.sale_tag,
.sale_tag.bg-pink,
.sale_tag.bg-danger,
.sale_tag.avatar{
    background: var(--tertiary-color) !important;
    border-color: var(--tertiary-color) !important;
}

/* Promo highlights */
.badge.bg-warning,
.badge.badge-warning{
    background: var(--highlight-color) !important;
    color: #1f2937 !important;
}

/* Chat cards with warm accent */
.floating-chat-embed #chat-box-content #chat-inline-messages .bot-menu-card{
    border-color: color-mix(in srgb, var(--primary-color) 60%, var(--secondary-color) 40%) !important;
}
.floating-chat-embed #chat-box-content #chat-inline-messages .bot-menu-title{
    color: var(--primary-color) !important;
    background: linear-gradient(
        180deg,
        color-mix(in srgb, var(--secondary-color) 35%, #ffffff),
        color-mix(in srgb, var(--primary-color) 6%, #ffffff)
    ) !important;
    border-bottom: 1px solid color-mix(in srgb, var(--primary-color) 35%, var(--secondary-color) 30%) !important;
}

.floating-chat-embed #chat-box-content #chat-inline-messages .bot-menu-pill{
    background: var(--primary-color) !important;
}

.floating-chat-embed #chat-box-content #chat-inline-messages .chat-chip.quick-connect-support{
    background: var(--quaternary-color) !important;
    border-color: var(--quaternary-color) !important;
    color: #fff !important;
}

/* Final PDP CTA lock: sticky desktop + fixed mobile */
@media (min-width: 992px) {
    .pdp-page .pdp-right-col {
        display: flex !important;
        flex-direction: column !important;
        overflow: visible !important;
    }
    .pdp-page .pdp-right-top {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        padding-bottom: 8px !important;
        margin: 0 !important;
    }
    .pdp-page #pdp-cta-anchor {
        position: sticky !important;
        flex: 0 0 68px !important;
        flex-shrink: 0 !important;
        height: 68px !important;
        min-height: 68px !important;
        max-height: 68px !important;
        bottom: 0 !important;
        top: auto !important;
        margin: 0 !important;
        margin-top: auto !important;
        padding: 10px 12px !important;
        box-sizing: border-box !important;
        z-index: 120 !important;
        background: #fff !important;
        border-top: 1px solid #e9edf5 !important;
        box-shadow: 0 -40px 0 0 #fff !important;
        overflow: hidden !important;
        isolation: isolate;
    }
    .pdp-page #pdp-cta-anchor .product-cta-row {
        position: static !important;
        top: auto !important;
        display: flex !important;
        align-items: center !important;
        overflow: hidden !important;
        flex-wrap: nowrap !important;
        background: #fff !important;
        min-height: 48px !important;
    }
    .pdp-page #pdp-cta-anchor .product-cta-row .btn,
    .pdp-page #pdp-cta-anchor .product-cta-row > * {
        height: 48px !important;
        min-height: 48px !important;
        max-height: 48px !important;
        line-height: 1.2 !important;
    }
}

@media (max-width: 991.98px) {
    body.pdp-page {
        padding-bottom: calc(108px + env(safe-area-inset-bottom, 0px)) !important;
    }
    .pdp-page #pdp-cta-anchor {
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        top: auto !important;
        width: 100% !important;
        z-index: 1300 !important;
        background: #fff !important;
        border-top: 1px solid #e9edf5 !important;
        box-shadow: 0 -20px 0 20px #fff, 0 -6px 18px rgba(17, 24, 39, 0.1) !important;
        padding: 8px 10px max(8px, env(safe-area-inset-bottom, 0px)) !important;
        overflow: hidden !important;
        isolation: isolate;
    }
    .pdp-page #pdp-cta-anchor .product-cta-row {
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        white-space: nowrap !important;
        margin: 0 !important;
    }
}

/* PDP jsSocials: hide YouTube / Pinterest share tiles if present (red tile on PDP) */
#share .jssocials-share-youtube,
#share .jssocials-share-pinterest {
    display: none !important;
}

/* -------------------------------------------------------------------------- */
/* Global: remove SandBox “underline grows on hover” (a.hover::before) and      */
/* soften nav-tab hover borders — was showing a strong blue line on PDP tabs, */
/* share row hovers, and anywhere `hover` / nav-tabs-basic is used.           */
/* -------------------------------------------------------------------------- */
a.hover::before,
a.hover:hover::before {
    content: none !important;
    display: none !important;
    transform: none !important;
}

.nav-tabs.nav-tabs-basic .nav-link:hover,
.nav-tabs.nav-tabs-basic .nav-link:focus {
    border-bottom-color: rgba(164, 174, 198, 0.35) !important;
}

.nav-tabs.nav-tabs-basic .nav-link.active:hover,
.nav-tabs.nav-tabs-basic .nav-link.active:focus {
    border-bottom-color: var(--primary-color, #1f56a8) !important;
}

/* Home / landing icon grid — full-width responsive columns, rounded-square tiles */
.landing-icon-grid {
    display: grid;
    width: 100%;
    gap: 12px 10px;
    grid-template-columns: repeat(var(--icon-grid-cols, 4), minmax(0, 1fr));
}
.landing-icon-grid__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 0;
    text-align: center;
}
.landing-icon-grid__thumb {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(17, 24, 39, 0.08);
}
.landing-icon-grid__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.landing-icon-grid__label {
    margin-top: 8px;
    font-size: 0.8125rem;
    line-height: 1.25;
    font-weight: 600;
    color: #1f2937;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
@media (max-width: 767.98px) {
    .landing-icon-grid {
        --icon-grid-cols: min(var(--icon-grid-cols, 4), 5) !important;
    }
}

@media (max-width: 575.98px) {
    .landing-icon-grid {
        gap: 10px 8px;
        --icon-grid-cols: min(var(--icon-grid-cols, 4), 4) !important;
    }
    .landing-icon-grid__thumb {
        border-radius: 14px;
    }
    .landing-icon-grid__label {
        font-size: 0.75rem;
    }
}

/* ============================================================
   PDP CTA — definitive layout (wins over all prior PDP CTA rules)
   Desktop: sticky panel + sticky CTA bottom bar
   Mobile: fixed bottom bar
   ============================================================ */
@media (min-width: 992px) {
    .pdp-page .product-page-details {
        overflow: visible !important;
    }
    .pdp-page .pdp-right-col {
        display: flex !important;
        flex-direction: column !important;
        position: sticky !important;
        top: var(--pdp-fixedsplit-offset) !important;
        height: calc(100dvh - var(--pdp-fixedsplit-offset)) !important;
        min-height: calc(100dvh - var(--pdp-fixedsplit-offset)) !important;
        max-height: calc(100dvh - var(--pdp-fixedsplit-offset)) !important;
        overflow: visible !important;
        background: #fff !important;
        align-self: flex-start !important;
    }
    .pdp-page .pdp-right-top {
        flex: 1 1 0% !important;
        min-height: 0 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        padding-bottom: 0 !important;
        margin: 0 !important;
        overscroll-behavior: contain !important;
    }
    /* Stop tab/description overflow painting below the CTA bar */
    .pdp-page .pdp-right-top .product-tabs-wrap-container,
    .pdp-page .pdp-right-top .product-tabs-wrap-container .tab-content,
    .pdp-page .pdp-right-top .product-tabs-wrap-container .tab-pane,
    .pdp-page .pdp-right-top .product-tabs-wrap-container .product-tab-panel,
    .pdp-page .pdp-right-top #product-desc,
    .pdp-page .pdp-right-top #product-desc .description,
    .pdp-page .pdp-right-top #product-desc .description.description_img {
        overflow-x: hidden !important;
        padding-bottom: 24px !important;
    }
    .pdp-page .pdp-right-top .product-tabs-wrap-container .tab-pane {
        overflow: hidden !important;
    }
    /* Sticky CTA — parent col uses overflow:visible so bar is not clipped */
    .pdp-page #pdp-cta-anchor {
        position: sticky !important;
        bottom: 0 !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        flex: 0 0 auto !important;
        flex-shrink: 0 !important;
        height: auto !important;
        min-height: 76px !important;
        max-height: none !important;
        width: 100% !important;
        margin: 0 !important;
        margin-top: auto !important;
        padding: 12px 12px 14px !important;
        box-sizing: border-box !important;
        background: #fff !important;
        border: 0 !important;
        border-top: 1px solid #e9edf5 !important;
        border-radius: 0 !important;
        box-shadow: 0 -1px 0 #e9edf5 !important;
        overflow: visible !important;
        z-index: 120 !important;
        isolation: isolate;
    }
    /* Desktop: white mask above CTA — hides scrolling description/offers text */
    .pdp-page #pdp-cta-anchor::before {
        display: block !important;
        content: "" !important;
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 100% !important;
        height: 40px !important;
        background: #fff !important;
        pointer-events: none !important;
        z-index: 0 !important;
    }
    .pdp-page #pdp-cta-anchor .product-cta-row {
        position: relative !important;
        z-index: 1 !important;
        top: auto !important;
        display: flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
        margin: 0 !important;
        padding: 0 !important;
        min-height: 44px !important;
        background: #fff !important;
        overflow: visible !important;
        border: 0 !important;
        box-shadow: none !important;
    }
    .pdp-page #pdp-cta-anchor .product-cta-row .btn,
    .pdp-page #pdp-cta-anchor .product-cta-row > * {
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
        line-height: 1.2 !important;
        overflow: visible !important;
    }
    .pdp-page #pdp-cta-anchor .product-cta-row .btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
}

@media (max-width: 991.98px) {
    :root {
        --pdp-mobile-cta-height: 76px;
    }
    .pdp-page #pdp-cta-anchor {
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        top: auto !important;
        width: 100% !important;
        max-width: 100vw !important;
        min-height: 64px !important;
        padding: 8px 10px calc(8px + env(safe-area-inset-bottom, 0px)) !important;
        box-sizing: border-box !important;
        background: #fff !important;
        border-top: 1px solid #e9edf5 !important;
        box-shadow: 0 -4px 12px rgba(17, 24, 39, 0.08) !important;
        overflow: visible !important;
        z-index: 1300 !important;
        isolation: isolate;
        visibility: visible !important;
        opacity: 1 !important;
        transform: none !important;
        pointer-events: auto !important;
    }
    /* Solid white mask above bar — blocks description text scrolling behind */
    .pdp-page #pdp-cta-anchor::before {
        display: block !important;
        content: "" !important;
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 100% !important;
        height: 48px !important;
        background: #fff !important;
        pointer-events: none !important;
        z-index: 0 !important;
    }
    .pdp-page #pdp-cta-anchor::after {
        content: "" !important;
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        top: 100% !important;
        height: env(safe-area-inset-bottom, 0px) !important;
        background: #fff !important;
        pointer-events: none !important;
    }
    .pdp-page #pdp-cta-anchor .product-cta-row {
        position: relative !important;
        z-index: 1 !important;
        background: #fff !important;
        overflow: hidden !important;
        align-items: center !important;
    }
    body.pdp-page {
        padding-bottom: calc(var(--pdp-mobile-cta-height, 76px) + env(safe-area-inset-bottom, 0px)) !important;
    }
    .pdp-page .product-tabs-wrap-container,
    .pdp-page .product-tabs-wrap-container .tab-content,
    .pdp-page .product-tabs-wrap-container .tab-pane,
    .pdp-page .product-tabs-wrap-container .product-tab-panel,
    .pdp-page #product-desc,
    .pdp-page #product-desc .description,
    .pdp-page #product-desc .description.description_img {
        padding-bottom: calc(var(--pdp-mobile-cta-height, 76px) + 12px + env(safe-area-inset-bottom, 0px)) !important;
    }
    .pdp-page .product-tabs-wrap-container .tab-pane {
        overflow-x: hidden !important;
    }
}

.page_404 {
    padding: 40px 0;
    background: #fff;
    font-family: 'Arvo', serif;
}

.page_404 img {
    width: 100%;
}

.page_404 .four_zero_four_bg {
    height: 400px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.page_404 .four_zero_four_bg h1 {
    font-size: 80px;
}

.page_404 .contant_box_404 {
    margin-top: -50px;
}

/* ── Store mobile nav drawer (mirswa-store-nav v2): match www.mirswa.com professional drawer ── */
@media (max-width: 991.98px) {
    #offcanvas-nav-main.offcanvas,
    #offcanvas-nav-main.mirswa-store-offcanvas-nav.offcanvas {
        --bs-offcanvas-zindex: 1860;
        z-index: 1860 !important;
        top: 0 !important;
        left: 0 !important;
        right: auto !important;
        bottom: 0 !important;
        height: 100% !important;
        width: min(300px, 88vw) !important;
        max-width: min(300px, 88vw) !important;
        background: #fff !important;
        border-right: 1px solid #e5eaf0;
        box-shadow: 4px 0 24px rgba(15, 23, 42, 0.14);
        overflow-x: hidden;
    }

    #offcanvas-nav-main .offcanvas-header,
    #offcanvas-nav-main .offcanvas-body {
        background: #fff !important;
    }

    #offcanvas-nav-main .mirswa-store-offcanvas-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        padding: 0.85rem 1.1rem !important;
        border-bottom: 1px solid #e5eaf0;
    }

    #offcanvas-nav-main .mirswa-store-offcanvas-head__brand {
        display: flex;
        align-items: center;
        gap: 0.6rem;
        min-width: 0;
    }

    #offcanvas-nav-main .mirswa-store-offcanvas-head__logo {
        display: block;
        height: 2rem;
        width: auto;
        max-width: 120px;
        object-fit: contain;
    }

    #offcanvas-nav-main .mirswa-store-offcanvas-head__title {
        margin: 0;
        font-size: 1rem;
        font-weight: 700;
        line-height: 1.2;
        color: var(--primary-color);
        white-space: nowrap;
    }

    #offcanvas-nav-main .mirswa-store-offcanvas-head .btn-close {
        flex: 0 0 auto;
        margin: 0 !important;
        filter: none;
        opacity: 0.65;
    }

    #offcanvas-nav-main .offcanvas-body {
        padding: 0.5rem 0 !important;
        margin: 0 !important;
        overflow-x: hidden;
    }

    #offcanvas-nav-main .navbar-nav {
        width: 100%;
        align-items: stretch;
        margin: 0;
        padding: 0;
    }

    #offcanvas-nav-main .navbar-nav .nav-item {
        width: 100%;
        margin: 0;
    }

    /* Beat theme.min.css mobile collapse rules (white links, tight padding) */
    .navbar-expand-lg .navbar-collapse#offcanvas-nav-main .nav-link,
    .navbar-expand-lg .navbar-collapse#offcanvas-nav-main .show > .nav-link,
    .navbar-expand-lg .navbar-collapse#offcanvas-nav-main .nav-link.active,
    .navbar-expand-lg .navbar-collapse#offcanvas-nav-main .nav-link:hover,
    .navbar-expand-lg .navbar-collapse#offcanvas-nav-main .nav-link:focus,
    header.wrapper.bg-light > nav.navbar #offcanvas-nav-main .navbar-nav .nav-link,
    header.wrapper.bg-light > nav.navbar #offcanvas-nav-main .navbar-nav .nav-link:hover,
    header.wrapper.bg-light > nav.navbar #offcanvas-nav-main .navbar-nav .nav-link:focus,
    header.wrapper.bg-light > nav.navbar #offcanvas-nav-main .navbar-nav .nav-link.active {
        color: #0f172a !important;
        background: transparent !important;
        border-radius: 0 !important;
        text-decoration: none !important;
    }

    #offcanvas-nav-main .navbar-nav .nav-link {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        width: 100%;
        box-sizing: border-box;
        padding: 0.85rem 1.1rem !important;
        margin: 0 !important;
        font-size: 0.9375rem;
        font-weight: 600;
        line-height: 1.35;
        color: #0f172a !important;
        border-bottom: 1px solid #f1f5f9;
        border-left: 3px solid transparent;
        transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
    }

    #offcanvas-nav-main .navbar-nav .nav-link::after {
        content: "\e931";
        font-family: "Unicons";
        font-size: 0.85rem;
        line-height: 1;
        color: #94a3b8;
        flex: 0 0 auto;
        margin-left: auto;
    }

    #offcanvas-nav-main .navbar-nav .nav-link:hover,
    #offcanvas-nav-main .navbar-nav .nav-link:focus-visible {
        color: var(--primary-color) !important;
        background: #f8fafc !important;
    }

    #offcanvas-nav-main .navbar-nav .nav-link:hover::after,
    #offcanvas-nav-main .navbar-nav .nav-link:focus-visible::after {
        color: var(--primary-color);
    }

    #offcanvas-nav-main .navbar-nav .nav-link.active {
        color: var(--primary-color) !important;
        background: #f0f6ff !important;
        border-left-color: var(--primary-color);
        padding-left: calc(1.1rem - 3px) !important;
    }

    #offcanvas-nav-main .navbar-nav .nav-link.active::after {
        color: var(--primary-color);
    }

    body.mirswa-store-nav-open .offcanvas-backdrop,
    body:has(#offcanvas-nav-main.show) .offcanvas-backdrop,
    body:has(#offcanvas-nav-main.showing) .offcanvas-backdrop {
        z-index: 1850 !important;
        background-color: rgba(15, 23, 42, 0.5) !important;
    }

    body.mirswa-store-nav-open .header-location-widget,
    body.mirswa-store-nav-open .bg-gradient-reverse-primary,
    body.mirswa-store-nav-open header.wrapper .content-wrapper > header.wrapper,
    body:has(#offcanvas-nav-main.show) .header-location-widget,
    body:has(#offcanvas-nav-main.show) .bg-gradient-reverse-primary {
        z-index: 1 !important;
    }

    body.mirswa-store-nav-open .offcanvas-nav-btn,
    body:has(#offcanvas-nav-main.show) .offcanvas-nav-btn,
    body:has(#offcanvas-nav-main.showing) .offcanvas-nav-btn {
        visibility: hidden;
        pointer-events: none;
    }
}

/* ============================================================
   Mirswa: z-index layers, offcanvas cart, checkout polish
   ============================================================ */
#offcanvas-cart.offcanvas.show,
#offcanvas-cart.offcanvas.showing {
    z-index: 1900 !important;
}

body.offcanvas-open:has(#offcanvas-cart.show) .offcanvas-backdrop.show,
body:has(#offcanvas-cart.show) .offcanvas-backdrop.show,
body:has(#offcanvas-cart.showing) .offcanvas-backdrop.show {
    z-index: 1890 !important;
}

/* Auth modals must stack above the mini-cart offcanvas (z-index 1860–1900). */
body.modal-open #modal-signin.show,
body.modal-open #modal-signup.show,
body.mirswa-auth-modal-open #modal-signin.show,
body.mirswa-auth-modal-open #modal-signup.show,
body.mirswa-loc-signin-open #modal-signin.show,
body.mirswa-loc-signin-open #modal-signup.show {
    z-index: 2000 !important;
}

body.modal-open:has(#modal-signin.show) .modal-backdrop.show,
body.modal-open:has(#modal-signup.show) .modal-backdrop.show,
body.mirswa-auth-modal-open:has(#modal-signin.show) .modal-backdrop.show,
body.mirswa-auth-modal-open:has(#modal-signup.show) .modal-backdrop.show,
body.mirswa-loc-signin-open .modal-backdrop.show {
    z-index: 1990 !important;
}

body.offcanvas-open:has(#offcanvas-cart.show) #mirswa_account_map_view,
body:has(#offcanvas-cart.show) #mirswa_account_map_view,
body.offcanvas-open:has(#offcanvas-cart.show) #mirswa_co_map_view,
body:has(#offcanvas-cart.show) #mirswa_co_map_view {
    z-index: 1 !important;
}

@media (max-width: 767.98px) {
    #offcanvas-cart.offcanvas-end {
        top: 0 !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        z-index: 1860 !important;
        display: flex !important;
        flex-direction: column !important;
    }
    #offcanvas-cart ~ .offcanvas-backdrop.show,
    body.offcanvas-open:has(#offcanvas-cart.show) .offcanvas-backdrop.show,
    body:has(#offcanvas-cart.showing) .offcanvas-backdrop.show {
        z-index: 1855 !important;
    }
    body:has(#offcanvas-cart.show) .header-location-widget,
    body:has(#offcanvas-cart.show) .bg-gradient-reverse-primary,
    body:has(#offcanvas-cart.showing) .header-location-widget,
    body:has(#offcanvas-cart.showing) .bg-gradient-reverse-primary {
        z-index: 1 !important;
    }
    body:has(#offcanvas-cart.show) .header-location-panel,
    body:has(#offcanvas-cart.showing) .header-location-panel {
        z-index: auto !important;
    }
    .modal-backdrop.show {
        z-index: 1080 !important;
    }
    .modal.show {
        z-index: 1085 !important;
    }
    body.modal-open #address-modal.show,
    body.modal-open #add-address-modal.show,
    body.modal-open #promo-code-modal.show {
        z-index: 1960 !important;
    }
    body.modal-open:has(#address-modal.show) .modal-backdrop.show,
    body.modal-open:has(#add-address-modal.show) .modal-backdrop.show,
    body.modal-open:has(#promo-code-modal.show) .modal-backdrop.show {
        z-index: 1950 !important;
    }
    body.mirswa-loc-signin-open .modal-backdrop.show,
    body.modal-open:has(#modal-signin.show) .modal-backdrop.show,
    body.modal-open:has(#modal-signup.show) .modal-backdrop.show {
        z-index: 1990 !important;
    }
    body.mirswa-loc-signin-open #modal-signin.show,
    body.mirswa-loc-signin-open #modal-signup.show,
    body.modal-open #modal-signin.show,
    body.modal-open #modal-signup.show {
        z-index: 2000 !important;
    }
    body.offcanvas-open .fixed-icon,
    body.offcanvas-open #chat-button,
    body.modal-open .fixed-icon,
    body.modal-open #chat-button {
        z-index: 1010 !important;
        opacity: 0.25;
        pointer-events: none;
    }
}

#offcanvas-cart .offcanvas-header {
    padding: 10px 12px;
    border-bottom: 1px solid #eef2f7;
    position: sticky;
    top: 0;
    z-index: 2;
    background: #f8f9fa;
}
#offcanvas-cart .offcanvas-body {
    padding: 8px 12px 12px !important;
    flex: 1 1 auto;
    overflow-y: auto;
    min-height: 0;
}
.mirswa-offcanvas-cart-item {
    padding: 8px 0;
    border-bottom: 1px solid #eef2f7;
}
.mirswa-offcanvas-cart-item:last-child {
    border-bottom: 0;
}
.mirswa-offcanvas-cart-top {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) 32px;
    gap: 8px;
    align-items: start;
}
.mirswa-offcanvas-cart-top .cart-img {
    width: 52px !important;
    height: 52px !important;
}
.mirswa-offcanvas-cart-title {
    font-size: 12px;
    line-height: 1.3;
    font-weight: 600;
    color: #111827;
    overflow-wrap: anywhere;
    word-break: break-word;
}
.mirswa-offcanvas-cart-variant {
    font-size: 10px;
    color: #6b7280;
    line-height: 1.25;
}
.mirswa-offcanvas-cart-unit {
    font-size: 11px;
    color: #374151;
    font-weight: 600;
    margin-top: 2px !important;
}
.mirswa-offcanvas-cart-remove {
    width: 32px;
    height: 32px;
    padding: 0 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px !important;
}
.mirswa-offcanvas-cart-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 6px;
    padding-left: 60px;
}
.mirswa-offcanvas-cart-qty {
    width: 56px !important;
    height: 30px !important;
    min-height: 30px !important;
    padding: 0 4px !important;
    font-size: 12px !important;
    text-align: center;
}
.mirswa-offcanvas-cart-line-total {
    font-size: 12px;
    font-weight: 700;
    color: #111827;
    white-space: nowrap;
}
.mirswa-offcanvas-cart-footer {
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid #eef2f7;
    background: #fff;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    box-shadow: 0 -4px 12px rgba(17, 24, 39, 0.06);
}
.mirswa-offcanvas-cart-footer .btn {
    font-size: 0.84rem;
    min-height: 40px;
    margin: 0 !important;
    width: 100% !important;
}

#checkout_form #time_slots .mirswa-time-slot-option.form-check {
    display: grid !important;
    grid-template-columns: 16px minmax(0, 1fr) !important;
    column-gap: 8px !important;
    align-items: start !important;
    padding: 0.5rem 0.65rem !important;
    padding-left: 0.65rem !important;
    margin-bottom: 0.35rem !important;
    min-height: 0 !important;
}
#checkout_form #time_slots .mirswa-time-slot-option .form-check-input {
    float: none !important;
    margin: 2px 0 0 0 !important;
    position: static !important;
    width: 14px !important;
    height: 14px !important;
    flex: none !important;
}
#checkout_form #time_slots .mirswa-time-slot-option .form-check-label,
#checkout_form #time_slots .mirswa-time-slot-option .mirswa-time-slot-label {
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.35 !important;
    font-size: 0.78rem !important;
}

#checkout_form .shipping-order-items .order-item-row {
    display: flex !important;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
}
#checkout_form .shipping-order-items .order-item-name {
    font-size: 0.72rem !important;
}
#checkout_form .shipping-order-items .order-item-price {
    font-size: 0.72rem !important;
}

@media (max-width: 767.98px) {
    #modern_cart_page .cart-table-wrapper .cart-product-desc-list td.option .w-100 {
        margin-left: 0.5rem !important;
    }
    #modern_cart_page .cart-table-wrapper .cart-product-desc-list td.option {
        display: flex !important;
        align-items: flex-start;
        gap: 8px;
    }
    #modern_cart_page .cart-table-wrapper .cart-product-desc-list td.item-quantity {
        display: flex !important;
        align-items: center;
        grid-area: qty;
        min-height: 36px;
        overflow: visible;
    }
    #modern_cart_page .cart-table-wrapper .cart-product-desc-list td.item-quantity .num-block {
        width: auto;
        overflow: visible;
    }
    #modern_cart_page .cart-table-wrapper .cart-product-desc-list td:nth-child(4) .num-in,
    #modern_cart_page .cart-table-wrapper .product-quantity .num-in {
        float: none !important;
        display: inline-flex !important;
        align-items: center !important;
        width: auto !important;
        min-width: 110px;
        max-width: 120px !important;
        height: 36px !important;
        margin-top: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }
    #modern_cart_page .cart-table-wrapper .num-in span.minus,
    #modern_cart_page .cart-table-wrapper .num-in span.plus {
        float: none !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        flex: 0 0 32px;
        width: 32px !important;
        height: 100% !important;
        cursor: pointer;
        pointer-events: auto;
        position: relative;
        z-index: 2;
        touch-action: manipulation;
    }
    #modern_cart_page .cart-table-wrapper .num-in input.in-num {
        float: none !important;
        flex: 1 1 auto;
        width: auto !important;
        min-width: 36px;
        height: 100% !important;
    }
}

/* Mirswa login / register pages */
body.mirswa-auth-page-body {
    --primary-color: #1f56a8;
    --secondary-color: #FF9900;
    --tertiary-color: #D8202A;
    --quaternary-color: #F06223;
    --highlight-color: #FFFF33;
    --font-color: #000000;
    --mirswa-auth-muted: #4b5563;
    --mirswa-auth-border: #d1d5db;
    --mirswa-auth-text: var(--font-color);
    --mirswa-auth-surface: #ffffff;
    --mirswa-auth-page-bg: color-mix(in srgb, var(--primary-color) 5%, #f8fafc);
    --mirswa-auth-aside-end: color-mix(in srgb, var(--primary-color) 78%, var(--secondary-color) 22%);
    --mirswa-auth-btn-hover: color-mix(in srgb, var(--primary-color) 88%, #000000);
    color: var(--font-color);
    background: var(--mirswa-auth-page-bg);
}

body.mirswa-auth-page-body .mirswa-auth-page {
    min-height: auto;
    padding-bottom: 0.75rem;
    margin-bottom: 0;
    position: relative;
    z-index: 2;
}

body.mirswa-auth-page-body .mirswa-auth-page > .container,
body.mirswa-auth-page-body .mirswa-auth-page-container {
    max-width: 960px;
    padding-bottom: 0.25rem;
    padding-top: 1.25rem !important;
}

body.mirswa-auth-page-body footer.text-inverse {
    margin-top: 1rem !important;
}

body.mirswa-auth-page-body.mirswa-auth-forgot-open footer.text-inverse {
    margin-top: 1.5rem !important;
}

body.mirswa-auth-page-body #forgot_password_div:not(.hide) {
    padding-bottom: 0.5rem;
}

body.mirswa-auth-page-body .mirswa-uk-phone-input {
    display: flex;
    align-items: stretch;
    width: 100%;
    border-bottom: 1px solid var(--mirswa-auth-border);
}

body.mirswa-auth-page-body .mirswa-uk-phone-input__prefix {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    padding: 8px 10px 8px 0;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--primary-color);
    white-space: nowrap;
}

body.mirswa-auth-page-body .mirswa-uk-phone-input__field,
body.mirswa-auth-page-body .mirswa-uk-phone-input .mirswa-auth-input {
    flex: 1 1 auto;
    min-width: 0;
    border: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
    padding-left: 0 !important;
}

body.mirswa-auth-page-body .mirswa-uk-phone-input:focus-within {
    border-bottom-color: var(--primary-color);
}

body.mirswa-auth-page-body .mirswa-auth-recaptcha-wrap {
    margin: 1rem 0 1.25rem;
    min-height: 78px;
}

body.mirswa-auth-page-body #forgot_password_div .mirswa-auth-tabs .nav-link.active {
    color: var(--primary-color) !important;
    border-bottom-color: var(--primary-color) !important;
}

body.mirswa-auth-page-body #forgot_password_div .mirswa-auth-tabs .nav-link.active i {
    color: var(--secondary-color);
}

body.mirswa-auth-page-body #forgot_password_div .text-primary,
body.mirswa-auth-page-body #forgot_password_div a.text-primary {
    color: var(--primary-color) !important;
}

body.mirswa-auth-page-body #forgot_password_div .mirswa-auth-error-wrap,
body.mirswa-auth-page-body #forgot_password_div #forgot_pass_error_box,
body.mirswa-auth-page-body #forgot_password_div #set_password_error_box {
    margin-top: 0.75rem;
    font-size: 0.875rem;
    color: var(--tertiary-color);
}

.mirswa-auth-shell {
    display: flex;
    flex-wrap: wrap;
    max-width: 900px;
    margin: 0 auto;
    background: var(--mirswa-auth-surface);
    box-shadow: 0 4px 24px color-mix(in srgb, var(--primary-color) 12%, rgba(0, 0, 0, 0.08));
    border-radius: 8px;
    overflow: visible;
    min-height: auto;
    border: 1px solid var(--mirswa-auth-border);
}

.mirswa-auth-shell__aside {
    flex: 0 0 42%;
    max-width: 42%;
    background: linear-gradient(165deg, var(--primary-color) 0%, var(--mirswa-auth-aside-end) 100%);
    color: #fff;
    padding: 40px 32px 24px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.mirswa-auth-shell__title {
    font-size: 1.75rem;
    font-weight: 600;
    line-height: 1.25;
    margin: 0 0 12px;
    color: #fff;
}

.mirswa-auth-shell__sub {
    font-size: 0.95rem;
    line-height: 1.55;
    margin: 0;
    color: rgba(255, 255, 255, 0.92);
    max-width: 280px;
}

.mirswa-auth-shell__art {
    margin-top: auto;
    padding-top: 24px;
    opacity: 0.9;
}

.mirswa-auth-shell__art svg {
    width: 100%;
    max-width: 220px;
    height: auto;
}

.mirswa-auth-shell__aside--ad {
    padding-bottom: 0;
    overflow: hidden;
}

.mirswa-auth-shell__aside-ad {
    flex: 1 1 auto;
    margin: 20px -32px 0;
    min-height: 200px;
    overflow: hidden;
}

.mirswa-auth-shell__aside-ad-link,
.mirswa-auth-shell__aside-ad-img,
.mirswa-auth-shell__aside-ad img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 200px;
    object-fit: cover;
}

.mirswa-auth-shell__aside-ad-link {
    line-height: 0;
}

.mirswa-auth-shell__main {
    flex: 1 1 58%;
    max-width: 58%;
    padding: 36px 40px 36px;
    display: flex;
    flex-direction: column;
    text-align: left;
}

.mirswa-auth-shell--register .mirswa-auth-shell__main {
    padding-bottom: 24px;
}

.mirswa-auth-form-panel {
    flex: 1 1 auto;
    width: 100%;
}

.mirswa-auth-form-panel__title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--mirswa-auth-text);
    margin: 0 0 4px;
}

.mirswa-auth-form-panel__sub {
    font-size: 0.875rem;
    color: var(--mirswa-auth-muted);
    margin: 0 0 20px;
}

.mirswa-auth-shell__alt-btn {
    display: block;
    width: 100%;
    margin-top: 24px;
    padding: 14px 16px;
    text-align: center;
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--primary-color);
    background: var(--mirswa-auth-surface);
    border: 1px solid var(--mirswa-auth-border);
    border-radius: 6px;
    transition: background 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
    position: relative;
    z-index: 3;
    cursor: pointer;
}

.mirswa-auth-shell__alt-btn:hover {
    background: color-mix(in srgb, var(--primary-color) 7%, #ffffff);
    box-shadow: 0 2px 8px color-mix(in srgb, var(--primary-color) 10%, rgba(0, 0, 0, 0.08));
    color: var(--primary-color);
    border-color: color-mix(in srgb, var(--primary-color) 25%, var(--mirswa-auth-border));
}

.mirswa-auth-page-foot {
    margin-top: 12px;
    margin-bottom: 0.25rem;
    font-size: 0.8125rem;
    position: relative;
    z-index: 2;
}

.mirswa-auth-page-foot a {
    color: var(--mirswa-auth-muted);
    text-decoration: none;
}

.mirswa-auth-page-foot a:hover {
    color: var(--primary-color);
    text-decoration: underline;
}

/* Form fields — underline style */
body.mirswa-auth-page-body .mirswa-auth-form-panel .mirswa-auth-label {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--mirswa-auth-muted);
    margin-bottom: 4px;
    text-transform: none;
    letter-spacing: 0;
}

body.mirswa-auth-page-body .mirswa-auth-form-panel .mirswa-auth-input,
body.mirswa-auth-page-body .mirswa-auth-form-panel .mirswa-auth-form .mirswa-auth-input.form-control,
body.mirswa-auth-page-body .mirswa-auth-form-panel .form-control,
body.mirswa-auth-page-body .mirswa-auth-form-panel .form-input.form-control {
    height: 44px !important;
    min-height: 44px !important;
    border: none !important;
    border-bottom: 1px solid var(--mirswa-auth-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 8px 0 !important;
    font-size: 0.9375rem !important;
    background: transparent !important;
}

body.mirswa-auth-page-body .mirswa-auth-form-panel .mirswa-auth-input:focus,
body.mirswa-auth-page-body .mirswa-auth-form-panel .form-control:focus {
    border-bottom-color: var(--primary-color) !important;
    box-shadow: none !important;
}

/* UK phone row: single underline on wrapper only (avoid double line with inner input) */
body.mirswa-auth-page-body .mirswa-auth-form-panel .mirswa-uk-phone-input {
    border-bottom: 1px solid var(--mirswa-auth-border);
}

body.mirswa-auth-page-body .mirswa-auth-form-panel .mirswa-uk-phone-input:focus-within {
    border-bottom-color: var(--primary-color);
}

body.mirswa-auth-page-body .mirswa-auth-form-panel .mirswa-uk-phone-input .mirswa-auth-input,
body.mirswa-auth-page-body .mirswa-auth-form-panel .mirswa-uk-phone-input .mirswa-uk-phone-input__field {
    border: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
}

body.mirswa-auth-page-body .mirswa-auth-form-panel .mirswa-uk-phone-input .mirswa-auth-input:focus,
body.mirswa-auth-page-body .mirswa-auth-form-panel .mirswa-uk-phone-input .mirswa-uk-phone-input__field:focus {
    border: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
}

body.mirswa-auth-page-body .mirswa-auth-form-panel .mirswa-auth-field {
    margin-bottom: 1.25rem;
}

body.mirswa-auth-page-body .mirswa-auth-form-panel .mirswa-auth-field--password .mirswa-auth-input {
    padding-right: 36px !important;
}

body.mirswa-auth-page-body .mirswa-auth-form-panel .mirswa-auth-field--password .password-toggle {
    right: 0;
}

/* Primary CTA — Mirswa brand */
body.mirswa-auth-page-body .mirswa-auth-btn-primary,
body.mirswa-auth-page-body .mirswa-auth-form-footer .mirswa-auth-btn-primary {
    width: 100%;
    height: 48px !important;
    min-height: 48px !important;
    background: var(--primary-color) !important;
    border: 1px solid var(--primary-color) !important;
    border-radius: 6px !important;
    color: #fff !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    box-shadow: 0 2px 8px color-mix(in srgb, var(--primary-color) 28%, rgba(0, 0, 0, 0.12));
}

body.mirswa-auth-page-body .mirswa-auth-btn-primary:hover,
body.mirswa-auth-page-body .mirswa-auth-btn-primary:focus {
    background: var(--mirswa-auth-btn-hover) !important;
    border-color: var(--mirswa-auth-btn-hover) !important;
    color: #fff !important;
}

body.mirswa-auth-page-body .mirswa-auth-actions--stack {
    margin-top: 8px;
}

body.mirswa-auth-page-body .mirswa-auth-links {
    margin-top: 16px;
    text-align: left;
}

body.mirswa-auth-page-body .mirswa-auth-link {
    color: var(--primary-color);
    font-size: 0.875rem;
    font-weight: 500;
    text-decoration: none;
}

body.mirswa-auth-page-body .mirswa-auth-link:hover {
    text-decoration: underline;
}

body.mirswa-auth-page-body .mirswa-auth-divider {
    margin: 20px 0 16px;
    font-size: 0.75rem;
    color: var(--mirswa-auth-muted);
}

body.mirswa-auth-page-body .mirswa-auth-social {
    justify-content: center;
    align-items: center;
    gap: 12px;
    padding-bottom: 4px;
    margin-bottom: 4px;
    flex-wrap: wrap;
}

body.mirswa-auth-page-body .mirswa-auth-social-btn {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid var(--mirswa-auth-border);
    padding: 0;
}

body.mirswa-auth-page-body .mirswa-auth-social-btn__label {
    display: none;
}

@media (min-width: 480px) {
    body.mirswa-auth-page-body .mirswa-auth-social-btn {
        width: auto;
        min-width: 148px;
        height: 44px;
        border-radius: 8px;
        padding: 0 1.125rem;
        font-size: 0.9375rem;
    }

    body.mirswa-auth-page-body .mirswa-auth-social-btn__label {
        display: inline;
    }
}

/* Phone / email tabs */
body.mirswa-auth-page-body .mirswa-auth-tabs {
    border-bottom: 1px solid var(--mirswa-auth-border);
    margin-bottom: 1.5rem !important;
    gap: 0;
}

body.mirswa-auth-page-body .mirswa-auth-tabs .nav-link {
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--mirswa-auth-muted) !important;
    font-size: 0.875rem;
    font-weight: 600;
    padding: 10px 16px !important;
    border-bottom: 2px solid transparent !important;
    margin-bottom: -1px;
}

body.mirswa-auth-page-body .mirswa-auth-tabs .nav-link.active {
    color: var(--primary-color) !important;
    border-bottom-color: var(--primary-color) !important;
    background: transparent !important;
}

body.mirswa-auth-page-body .mirswa-auth-tabs .nav-link i {
    margin-right: 6px;
}

/* Register / forgot footers */
body.mirswa-auth-page-body .mirswa-auth-form-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
    padding-top: 4px;
}

body.mirswa-auth-page-body .mirswa-auth-form-footer .mirswa-auth-btn-primary {
    flex: 1 1 100%;
}

body.mirswa-auth-page-body .mirswa-auth-form-footer .mirswa-auth-btn-secondary,
body.mirswa-auth-page-body .mirswa-auth-form-footer .btn-soft-dark {
    flex: 0 0 auto;
    background: transparent !important;
    border: none !important;
    color: var(--primary-color) !important;
    font-weight: 500;
    padding: 8px 0 !important;
    box-shadow: none !important;
}

body.mirswa-auth-page-body .mirswa-auth-form-panel footer:not(.mirswa-auth-form-footer) {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 16px;
}

body.mirswa-auth-page-body .mirswa-auth-form-panel footer:not(.mirswa-auth-form-footer) .btn-primary,
body.mirswa-auth-page-body .mirswa-auth-form-panel footer:not(.mirswa-auth-form-footer) .submit_btn {
    width: 100%;
    height: 48px !important;
    background: var(--primary-color) !important;
    border: 1px solid var(--primary-color) !important;
    border-radius: 6px !important;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.875rem !important;
}

body.mirswa-auth-page-body .mirswa-auth-form-panel .mirswa-auth-back-home {
    display: none !important;
}

body.mirswa-auth-page-body .sign-up-verify-number .col-12.d-flex.justify-content-center {
    justify-content: flex-start !important;
    padding-bottom: 0.5rem !important;
}

body.mirswa-auth-page-body .sign-up-verify-number .col-12.pb-4,
body.mirswa-auth-page-body .form-floating.mb-4,
body.mirswa-auth-page-body .form-floating.mb-3 {
    margin-bottom: 1rem !important;
    padding-bottom: 0 !important;
}

body.mirswa-auth-page-body .form-floating > label {
    color: var(--mirswa-auth-muted);
    font-size: 0.75rem;
}

body.mirswa-auth-page-body .intl-tel-input {
    width: 100%;
}

body.mirswa-auth-page-body .intl-tel-input .selected-flag {
    pointer-events: none;
    cursor: default;
}

body.mirswa-auth-page-body .intl-tel-input .country-list {
    display: none !important;
}

body.mirswa-auth-page-body .intl-tel-input .form-control {
    width: 100% !important;
}

body.mirswa-auth-page-body #recaptcha-container,
body.mirswa-auth-page-body #recaptcha-container-2 {
    margin: 12px 0;
    transform-origin: left top;
}

body.mirswa-auth-page-body #social_register_div:not(.d-none) {
    padding-bottom: 1.25rem;
    margin-bottom: 0.5rem;
}

body.mirswa-auth-page-body #social_register_div .mirswa-uk-inline-map-wrap {
    min-height: 220px;
    margin-bottom: 0.75rem;
}

body.mirswa-auth-page-body .divider-icon {
    display: none;
}

@media (max-width: 991.98px) {
    .mirswa-auth-shell {
        max-width: 100%;
    }

    .mirswa-auth-shell__aside,
    .mirswa-auth-shell__main {
        flex: 0 0 50%;
        max-width: 50%;
    }
}

@media (max-width: 767.98px) {
    body.mirswa-auth-page-body .mirswa-auth-page {
        min-height: auto;
    }

    body.mirswa-auth-page-body .mirswa-auth-page > .container {
        padding-left: 16px;
        padding-right: 16px;
    }

    .mirswa-auth-shell {
        min-height: auto;
        border-radius: 8px;
    }

    .mirswa-auth-shell__aside {
        flex: 0 0 100%;
        max-width: 100%;
        min-height: auto;
        padding: 24px 20px 18px;
    }

    .mirswa-auth-shell__art {
        display: none;
    }

    .mirswa-auth-shell__aside--ad .mirswa-auth-shell__aside-ad {
        margin: 16px -20px 0;
        min-height: 160px;
    }

    .mirswa-auth-shell__aside--ad .mirswa-auth-shell__aside-ad img,
    .mirswa-auth-shell__aside--ad .mirswa-auth-shell__aside-ad-link,
    .mirswa-auth-shell__aside--ad .mirswa-auth-shell__aside-ad-img {
        min-height: 160px;
    }

    .mirswa-auth-shell__main {
        flex: 0 0 100%;
        max-width: 100%;
        padding: 24px 20px 28px;
    }

    .mirswa-auth-shell__title {
        font-size: 1.375rem;
    }

    .mirswa-auth-shell__sub {
        max-width: none;
    }

    body.mirswa-auth-page-body .mirswa-auth-tabs {
        overflow-x: auto;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
    }

    body.mirswa-auth-page-body .mirswa-auth-tabs .nav-link {
        white-space: nowrap;
        flex: 0 0 auto;
    }

    body.mirswa-auth-page-body .mirswa-auth-social {
        flex-wrap: wrap;
    }
}

@media (max-width: 575.98px) {
    body.mirswa-auth-page-body .mirswa-auth-page > .container {
        padding-top: 1rem !important;
        padding-bottom: 1.25rem !important;
    }

    .mirswa-auth-shell {
        box-shadow: 0 2px 12px color-mix(in srgb, var(--primary-color) 10%, rgba(0, 0, 0, 0.06));
    }

    .mirswa-auth-shell__aside,
    .mirswa-auth-shell__main {
        padding-left: 16px;
        padding-right: 16px;
    }

    .mirswa-auth-shell__title {
        font-size: 1.25rem;
    }

    .mirswa-auth-form-panel__title {
        font-size: 1.125rem;
    }

    body.mirswa-auth-page-body .mirswa-auth-btn-primary,
    body.mirswa-auth-page-body .mirswa-auth-form-footer .mirswa-auth-btn-primary,
    body.mirswa-auth-page-body .mirswa-auth-form-panel footer:not(.mirswa-auth-form-footer) .btn-primary,
    body.mirswa-auth-page-body .mirswa-auth-form-panel footer:not(.mirswa-auth-form-footer) .submit_btn {
        min-height: 48px !important;
    }

    body.mirswa-auth-page-body #recaptcha-container,
    body.mirswa-auth-page-body #recaptcha-container-2 {
        transform: scale(0.88);
        transform-origin: left top;
        max-width: 100%;
        overflow: hidden;
    }

    body.mirswa-auth-page-body .intl-tel-input .selected-flag {
        padding-left: 8px;
        padding-right: 8px;
    }

    body.mirswa-auth-page-body #social_register_div .mirswa-uk-inline-map-wrap {
        min-height: 180px;
    }

    body.mirswa-auth-page-body footer.text-inverse {
        margin-top: 1rem !important;
    }

    body.mirswa-auth-page-body .mirswa-auth-page {
        padding-bottom: 1rem;
    }
}

.mirswa-promo-offers-panel {
    display: none;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #fff;
    padding: 12px;
    max-height: 360px;
    overflow-y: auto;
}

.mirswa-promo-offers-panel.show {
    display: block;
}

.mirswa-promo-offers-wrap .copy-promo-code {
    cursor: pointer;
}

/* Categories / Brands directory pages */
:root {
    --mirswa-header-content-gap: 0.5rem;
}

.mirswa-page-top-gap {
    display: block;
    width: 100%;
    height: 0.7rem;
    background: #f1f3f6;
}

.mirswa-page-top-gap--white {
    background: #fff;
}

@media (min-width: 768px) {
    .mirswa-page-top-gap {
        height: 0.9rem;
    }
}

.mirswa-browse-directory-wrap + .mirswa-browse-directory,
.mirswa-page-top-gap + .mirswa-browse-directory,
.mirswa-browse-directory {
    padding-top: 0.25rem;
}

.mirswa-browse-directory__hero {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1.25rem;
    margin-bottom: 1rem;
    padding: 0.75rem 1rem;
    border: 1px solid #e8edf3;
    border-radius: 12px;
    background: #fff;
}

.mirswa-browse-directory__title {
    margin-bottom: 0.2rem;
}

.mirswa-browse-directory__subtitle {
    margin: 0;
    color: #64748b;
    font-size: 0.88rem;
    line-height: 1.4;
}

.mirswa-browse-directory__search-wrap {
    flex: 1 1 260px;
    max-width: 360px;
}

.mirswa-browse-directory__search {
    min-height: 44px;
    border-radius: 999px;
    border: 1px solid #dbe3ee;
    padding-left: 1rem;
    padding-right: 1rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.mirswa-browse-directory__search:focus {
    border-color: var(--primary-color, #1f56a8);
    box-shadow: 0 0 0 3px rgba(31, 86, 168, 0.12);
}

.mirswa-browse-directory__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

@media (min-width: 576px) {
    .mirswa-browse-directory__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1rem;
    }
}

@media (min-width: 768px) {
    .mirswa-browse-directory__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 1.1rem;
    }
}

@media (min-width: 1200px) {
    .mirswa-browse-directory__grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
}

.mirswa-browse-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 0.65rem;
    min-height: 100%;
    padding: 1rem 0.75rem 0.9rem;
    border: 1px solid #e8edf3;
    border-radius: 14px;
    background: #fff;
    text-decoration: none !important;
    color: inherit;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.mirswa-browse-card:hover,
.mirswa-browse-card:focus-visible {
    transform: translateY(-3px);
    border-color: rgba(31, 86, 168, 0.28);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

.mirswa-browse-card__media {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 88px;
    height: 88px;
    border-radius: 18px;
    overflow: hidden;
}

.mirswa-browse-card__media img {
    width: 72px;
    height: 72px;
    object-fit: contain;
    display: block;
}

.mirswa-browse-card__label {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    width: 100%;
    min-height: 2.5em;
    text-align: center;
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.25;
    color: #0f172a;
}

.mirswa-browse-card:hover .mirswa-browse-card__label,
.mirswa-browse-card:focus-visible .mirswa-browse-card__label {
    color: var(--primary-color, #1f56a8);
}

.mirswa-browse-directory__empty-icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 1rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #eef4fb;
    color: var(--primary-color, #1f56a8);
    font-size: 2rem;
}

.mirswa-browse-directory__pagination {
    margin-top: 2rem;
    display: flex;
    justify-content: center;
    overflow-x: auto;
}

.mirswa-browse-directory__pagination .pagination {
    margin-bottom: 0;
    flex-wrap: wrap;
    gap: 0.25rem;
    justify-content: center;
}

.mirswa-browse-directory__filter-empty {
    margin: 0 0 1rem;
    padding: 0.75rem 1rem;
    border-radius: 10px;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    color: #9a3412;
    font-size: 0.9rem;
    text-align: center;
}

/* ---- Responsive: tablet & mobile ---- */
@media (max-width: 767.98px) {
    .mirswa-browse-directory {
        padding-top: 0.15rem;
    }

    .mirswa-browse-directory__hero {
        flex-direction: column;
        align-items: stretch;
        gap: 0.65rem;
        padding: 0.75rem 0.85rem;
        margin-bottom: 0.85rem;
        border-radius: 10px;
    }

    .mirswa-browse-directory__search-wrap {
        max-width: none;
        width: 100%;
        flex-basis: auto;
    }

    .mirswa-browse-directory__subtitle {
        font-size: 0.88rem;
        line-height: 1.45;
    }
}

@media (max-width: 575.98px) {
    .mirswa-browse-directory {
        padding-top: 0.15rem;
    }

    .mirswa-browse-directory__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.6rem;
    }

    .mirswa-browse-card {
        padding: 0.7rem 0.45rem 0.75rem;
        border-radius: 12px;
        min-height: 118px;
        -webkit-tap-highlight-color: transparent;
    }

    .mirswa-browse-card__media {
        width: 64px;
        height: 64px;
        border-radius: 14px;
        flex-shrink: 0;
    }

    .mirswa-browse-card__media img {
        width: 52px;
        height: 52px;
    }

    .mirswa-browse-card__label {
        font-size: 0.78rem;
        min-height: 2.35em;
        line-height: 1.2;
        word-break: break-word;
    }

    .mirswa-browse-directory__pagination {
        margin-top: 1.5rem;
        padding-bottom: 0.5rem;
        -webkit-overflow-scrolling: touch;
    }

    .mirswa-browse-directory__pagination .pagination {
        gap: 0.15rem;
    }

    .mirswa-browse-directory__pagination .page-item .page-link {
        min-width: 2.25rem;
        padding: 0.45rem 0.55rem;
        font-size: 0.82rem;
        text-align: center;
    }

    .mirswa-browse-directory__empty {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }
}

@media (max-width: 359.98px) {
    .mirswa-browse-directory__grid {
        gap: 0.5rem;
    }

    .mirswa-browse-card {
        padding: 0.6rem 0.35rem 0.65rem;
    }

    .mirswa-browse-card__media {
        width: 56px;
        height: 56px;
    }

    .mirswa-browse-card__media img {
        width: 46px;
        height: 46px;
    }

    .mirswa-browse-card__label {
        font-size: 0.72rem;
    }
}

@media (min-width: 576px) and (max-width: 991.98px) {
    .mirswa-browse-directory__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .mirswa-browse-card__media {
        width: 80px;
        height: 80px;
    }

    .mirswa-browse-card__media img {
        width: 66px;
        height: 66px;
    }
}

@media (hover: none) and (pointer: coarse) {
    .mirswa-browse-card:hover {
        transform: none;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    }

    .mirswa-browse-card:active {
        transform: scale(0.98);
        border-color: rgba(31, 86, 168, 0.35);
        background: #f8fbff;
    }
}

/* Site-wide main page headings */
.mirswa-page-heading,
.listing-toolbar-row__heading,
.mirswa-browse-directory__title {
    font-size: clamp(1.25rem, 3vw, 1.75rem);
    font-weight: 700;
    line-height: 1.25;
    color: #0f172a;
    margin: 0;
}

/* Product listing — toolbar + subcategory grid (mobile) */
.listing-toolbar-row__sub {
    margin-top: 0.25rem;
    font-size: 0.88rem;
    color: #64748b;
}

.mirswa-listing-page-container {
    padding-top: 0.35rem !important;
    padding-bottom: 2rem !important;
}

.mirswa-listing-head {
    margin-bottom: 0.75rem;
    padding-top: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.mirswa-listing-breadcrumb {
    margin-top: 0;
    margin-bottom: 0.55rem;
    padding-top: 0.1rem;
}

.mirswa-listing-breadcrumb__list {
    flex-wrap: wrap;
    background: transparent;
    padding: 0;
    font-size: 0.78rem;
    line-height: 1.35;
}

.mirswa-listing-breadcrumb__list .breadcrumb-item {
    color: #878787;
}

.mirswa-listing-breadcrumb__list .breadcrumb-item + .breadcrumb-item::before {
    color: #bdbdbd;
    content: "›";
    padding: 0 0.35rem;
}

.mirswa-listing-breadcrumb__link {
    color: #878787;
    text-decoration: none;
}

.mirswa-listing-breadcrumb__link:hover {
    color: var(--primary-color, #1f56a8);
}

.mirswa-listing-breadcrumb__list .breadcrumb-item.active {
    color: #565656;
    font-weight: 500;
}

.mirswa-listing-range {
    margin-top: 0.3rem;
    font-size: 0.84rem;
    color: #878787;
    font-weight: 400;
}

.mirswa-listing-range--inline {
    display: inline;
    margin-top: 0;
    margin-left: 0.35rem;
    font-size: 0.82rem;
    font-weight: 400;
    color: #878787;
}

.mirswa-listing-title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem 1rem;
    margin-bottom: 0.35rem;
}

.mirswa-listing-view-tools {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin-left: auto;
}

.mirswa-listing-per-page {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.8125rem;
    color: #565656;
}

.mirswa-listing-per-page__label {
    color: #878787;
    font-weight: 500;
}

.mirswa-listing-per-page__toggle {
    color: #212121;
    text-decoration: none;
    font-weight: 600;
    padding: 0.15rem 0.35rem;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    background: #fff;
}

/* Product listing — Flipkart-style pagination */
.mirswa-listing-pagination {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem 1.5rem;
    margin-top: 1.5rem;
    padding: 1rem 0 0.35rem;
    border-top: 1px solid #f0f0f0;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.mirswa-listing-pagination::-webkit-scrollbar {
    display: none;
}

.mirswa-listing-pagination__status {
    margin: 0;
    flex: 0 0 auto;
    font-size: 0.875rem;
    font-weight: 400;
    color: #878787;
    white-space: nowrap;
}

.mirswa-listing-pagination__controls {
    margin-left: auto;
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    justify-content: flex-end;
}

.mirswa-listing-pagination .mirswa-listing-pagination__list,
.mirswa-listing-pagination .pagination {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.85rem;
    margin: 0;
    padding: 0;
    list-style: none;
    border: 0;
}

.mirswa-listing-pagination .page-item {
    margin: 0;
    flex: 0 0 auto;
}

.mirswa-listing-pagination .page-item .page-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    margin: 0 !important;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #212121;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    box-shadow: none;
    transition: color 0.15s ease, background-color 0.15s ease;
}

.mirswa-listing-pagination .page-item .page-link:hover,
.mirswa-listing-pagination .page-item .page-link:focus {
    color: var(--primary-color, #2874f0);
    background: transparent;
    outline: none;
    box-shadow: none;
}

.mirswa-listing-pagination .page-item.active .page-link {
    background: var(--primary-color, #2874f0);
    color: #fff;
    font-weight: 600;
    min-width: 1.75rem;
    width: 1.75rem;
    height: 1.75rem;
    pointer-events: none;
}

.mirswa-listing-pagination .page-item.disabled .page-link,
.mirswa-listing-pagination .page-item .page-link.disabled {
    color: #c2c2c2;
    background: transparent;
    pointer-events: none;
}

.mirswa-listing-pagination__prev .page-link,
.mirswa-listing-pagination__next .page-link {
    min-width: auto;
    width: auto;
    height: auto;
    padding: 0 0.15rem;
    border-radius: 0;
    color: var(--primary-color, #2874f0);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.mirswa-listing-pagination__prev .page-link:hover,
.mirswa-listing-pagination__next .page-link:hover,
.mirswa-listing-pagination__prev .page-link:focus,
.mirswa-listing-pagination__next .page-link:focus {
    color: var(--primary-color, #2874f0);
    background: transparent;
    text-decoration: underline;
}

.mirswa-listing-pagination__nav-label,
.mirswa-listing-pagination__nav-text {
    display: none;
}

@media (max-width: 575.98px) {
    .mirswa-listing-pagination {
        flex-direction: column;
        align-items: flex-start;
        margin-top: 1.15rem;
        padding-top: 0.95rem;
    }

    .mirswa-listing-pagination__controls {
        width: 100%;
        justify-content: flex-start;
    }

    .mirswa-listing-pagination .mirswa-listing-pagination__list,
    .mirswa-listing-pagination .pagination {
        justify-content: flex-start;
        gap: 0.65rem;
    }
}

.mirswa-listing-view-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.15rem;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    overflow: hidden;
}

.mirswa-listing-view-toggle__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 30px;
    color: #565656;
    text-decoration: none;
    background: #fff;
    font-size: 1.05rem;
}

.mirswa-listing-view-toggle__btn:hover {
    color: var(--primary-color, #2874f0);
    background: #f5f8ff;
}

.mirswa-listing-view-toggle__btn.active {
    color: var(--primary-color, #2874f0);
    background: #eef3ff;
}

.mirswa-listing-main .mirswa-product-grid-view,
.mirswa-listing-main .mirswa-product-list-view {
    margin-top: 0.35rem;
}

.mirswa-subcategory-section {
    margin: 0.5rem 0 1.25rem;
}

.mirswa-listing-section-heading {
    font-size: 1rem;
    font-weight: 600;
    color: #212121;
}

.mirswa-subcategory-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
}

@media (min-width: 576px) {
    .mirswa-subcategory-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.85rem;
    }
}

@media (min-width: 992px) {
    .mirswa-subcategory-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 1rem;
    }
}

.mirswa-browse-card--subcat {
    min-height: 112px;
}

@media (max-width: 767.98px) {
    section.wrapper.listing-page.bg-light > .container,
    section.wrapper.listing-page.bg-light > .mirswa-listing-page-container {
        padding-top: 0.5rem !important;
        padding-left: max(0.75rem, env(safe-area-inset-left, 0px));
        padding-right: max(0.75rem, env(safe-area-inset-right, 0px));
    }

    .listing-toolbar-row {
        flex-direction: column;
        align-items: stretch !important;
        gap: 0.75rem;
        margin-bottom: 0.75rem !important;
    }

    .listing-toolbar-row__title {
        order: 1;
        width: 100%;
        padding-right: 0;
    }

    .listing-toolbar-row__actions {
        order: 2;
        width: 100%;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 0.5rem;
    }

    .listing-toolbar-row .filter-sidebar-mobile {
        order: 0;
        align-self: flex-start;
        padding: 0;
        margin: 0;
    }

    .listing-toolbar-row .form-select-wrapper,
    .listing-toolbar-row .dropdown {
        flex: 1 1 auto;
        min-width: 0;
    }

    .listing-toolbar-row .form-select {
        min-height: 42px;
        font-size: 0.9rem;
    }

    .deeplink_wrapper .wrapper.bg-soft-grape .container {
        padding-top: 6px !important;
        padding-bottom: 6px !important;
    }

    .deeplink_wrapper .breadcrumb {
        font-size: 12px;
        flex-wrap: wrap;
    }
}

/* Product listing — Flipkart-style filters + sort bar */
section.wrapper.listing-page.bg-light {
    background: #f1f3f6 !important;
}

@media (min-width: 992px) {
    section.wrapper.listing-page .mirswa-listing-layout.row {
        display: grid !important;
        grid-template-columns: minmax(240px, 25%) minmax(0, 1fr);
        gap: 0;
        align-items: start;
        --bs-gutter-x: 0;
        margin-left: 0;
        margin-right: 0;
    }

    section.wrapper.listing-page .mirswa-listing-layout:not(:has(.mirswa-listing-sidebar)) {
        grid-template-columns: minmax(0, 1fr);
    }

    section.wrapper.listing-page .mirswa-listing-layout {
        --mirswa-listing-panel-gap: 0.75rem;
        --mirswa-listing-column-gap: 2.5rem;
    }

    .mirswa-listing-layout .mirswa-listing-sidebar {
        grid-column: 1;
        grid-row: 1;
        flex: none !important;
        width: auto !important;
        max-width: none !important;
    }

    .mirswa-listing-layout .mirswa-listing-main {
        grid-column: 2;
        grid-row: 1;
        flex: none !important;
        width: auto !important;
        max-width: none !important;
    }

    .mirswa-listing-layout .mirswa-listing-main:only-child {
        grid-column: 1 / -1;
    }

    .mirswa-listing-sidebar {
        position: sticky;
        top: 0.5rem;
        align-self: flex-start;
        background: #fff;
        border-right: 2px solid #cbd5e1;
        padding-top: var(--mirswa-listing-panel-gap);
        padding-bottom: 0.5rem;
        padding-right: calc(var(--mirswa-listing-column-gap) * 0.55);
        margin-right: 0.35rem;
        border-radius: 2px 0 0 2px;
    }

    .mirswa-listing-main {
        background: #fff;
        padding: var(--mirswa-listing-panel-gap) 1rem 0.75rem 1rem;
        min-height: 0;
        border-radius: 0 2px 2px 0;
        border-left: 1px solid #dbe3ee;
        box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.95);
    }

    .mirswa-listing-filters {
        padding: 0.35rem 0.35rem 1rem 0.85rem;
    }

    .listing-toolbar-row__actions .mirswa-listing-sort-select-wrap {
        display: none;
    }

    .mirswa-listing-sort-bar {
        display: flex !important;
    }

    .mirswa-listing-sidebar .sidebar-filter-sm {
        display: block !important;
    }
}

.mirswa-listing-filters__title {
    font-size: 1.125rem;
    font-weight: 700;
    color: #212121;
    margin: 0;
    letter-spacing: 0;
}

.mirswa-listing-filters__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.15rem 0 0.85rem;
    margin-bottom: 0;
    border-bottom: 1px solid #e0e0e0;
}

.mirswa-listing-filters__clear {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--primary-color, #2874f0);
    text-decoration: none;
    white-space: nowrap;
}

.mirswa-listing-filters__clear:hover,
.mirswa-listing-filters__clear:focus {
    color: var(--primary-color, #2874f0);
    text-decoration: underline;
}

.mirswa-listing-filters__body {
    max-height: calc(100vh - 12rem);
    overflow-x: hidden;
    overflow-y: auto;
    max-width: 100%;
    padding-right: 0.15rem;
}

.mirswa-listing-filters__foot {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding-top: 0.85rem;
    margin-top: 0.85rem;
    border-top: 1px solid #e0e0e0;
}

.mirswa-filter-block,
.mirswa-filter-block--attribute {
    padding: 1rem 0 0.85rem;
    border-bottom: 1px solid #e0e0e0;
}

.mirswa-filter-block:last-child,
.mirswa-filter-attributes .mirswa-filter-block--attribute:last-child {
    border-bottom: none;
}

.mirswa-filter-block__title {
    font-size: 0.5625rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #212121;
    margin: 0 0 0.85rem;
}

.mirswa-filter-options {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    max-width: 100%;
    overflow-x: hidden;
}

.mirswa-filter-option.form-check,
.mirswa-listing-filters-offcanvas .mirswa-filter-option.form-check {
    display: flex !important;
    align-items: flex-start;
    gap: 0.65rem;
    margin: 0 !important;
    padding: 0 !important;
    padding-left: 0 !important;
    min-height: 1.65rem;
    width: 100%;
    position: relative;
    clear: both;
}

.mirswa-listing-filters .mirswa-filter-check.form-check-input,
.mirswa-listing-filters-offcanvas .mirswa-filter-check.form-check-input {
    width: 15px;
    height: 15px;
    min-width: 15px;
    margin: 0.15rem 0 0 0 !important;
    margin-left: 0 !important;
    float: none !important;
    border: 1px solid #c2c2c2;
    border-radius: 2px;
    box-shadow: none !important;
    cursor: pointer;
    flex-shrink: 0;
    position: static !important;
    appearance: none;
    -webkit-appearance: none;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 10px 8px;
}

.mirswa-listing-filters .mirswa-filter-check.form-check-input[type="radio"],
.mirswa-listing-filters-offcanvas .mirswa-filter-check.form-check-input[type="radio"] {
    border-radius: 2px;
}

.mirswa-listing-filters .mirswa-filter-check.form-check-input:checked,
.mirswa-listing-filters-offcanvas .mirswa-filter-check.form-check-input:checked {
    background-color: var(--primary-color, #2874f0);
    border-color: var(--primary-color, #2874f0);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' d='M1 5l3 3 7-7'/%3E%3C/svg%3E");
}

.mirswa-listing-filters .mirswa-filter-check.form-check-input:focus,
.mirswa-listing-filters-offcanvas .mirswa-filter-check.form-check-input:focus {
    border-color: var(--primary-color, #2874f0);
}

.mirswa-listing-filters .selected-category,
.mirswa-listing-filters .selected-brand {
    background: none !important;
    outline: none !important;
}

.mirswa-filter-option__label {
    font-size: 0.6875rem;
    font-weight: 400;
    color: #212121;
    line-height: 1.4;
    cursor: pointer;
    padding: 0;
    margin: 0;
    flex: 1 1 auto;
    min-width: 0;
    word-break: break-word;
    overflow-wrap: anywhere;
    display: block;
}

.mirswa-listing-filters .filter_attributes,
.mirswa-listing-filters .brand_filter,
.mirswa-listing-filters .category_filter,
.mirswa-listing-filters-offcanvas .brand_filter,
.mirswa-listing-filters-offcanvas .category_filter {
    max-height: none !important;
    overflow: visible !important;
}

.mirswa-listing-filters .brand_filter.mirswa-filter-options,
.mirswa-listing-filters-offcanvas .brand_filter.mirswa-filter-options {
    max-height: 300px !important;
    overflow-y: auto !important;
    overflow-x: hidden;
    padding-right: 0.35rem;
}

.mirswa-listing-filters .category_filter.mirswa-filter-options,
.mirswa-listing-filters-offcanvas .category_filter.mirswa-filter-options {
    max-height: 360px !important;
    overflow-y: auto !important;
    overflow-x: hidden;
    padding-right: 0.35rem;
}

.mirswa-listing-filters .filter_attributes.mirswa-filter-options {
    max-height: 280px !important;
    overflow-y: auto !important;
    overflow-x: hidden;
    padding-right: 0.35rem;
}

.mirswa-listing-filters .category_filter.mirswa-filter-options::-webkit-scrollbar,
.mirswa-listing-filters .brand_filter.mirswa-filter-options::-webkit-scrollbar,
.mirswa-listing-filters .filter_attributes.mirswa-filter-options::-webkit-scrollbar,
.mirswa-listing-filters-offcanvas .category_filter.mirswa-filter-options::-webkit-scrollbar,
.mirswa-listing-filters-offcanvas .brand_filter.mirswa-filter-options::-webkit-scrollbar {
    width: 5px;
}

.mirswa-listing-filters .category_filter.mirswa-filter-options::-webkit-scrollbar-thumb,
.mirswa-listing-filters .brand_filter.mirswa-filter-options::-webkit-scrollbar-thumb,
.mirswa-listing-filters .filter_attributes.mirswa-filter-options::-webkit-scrollbar-thumb,
.mirswa-listing-filters-offcanvas .category_filter.mirswa-filter-options::-webkit-scrollbar-thumb,
.mirswa-listing-filters-offcanvas .brand_filter.mirswa-filter-options::-webkit-scrollbar-thumb {
    background: #bdbdbd;
    border-radius: 999px;
}

.mirswa-listing-filters .form-check .form-check-input,
.mirswa-listing-filters-offcanvas .form-check .form-check-input {
    float: none !important;
    margin-left: 0 !important;
}

.mirswa-listing-filters .form-check .form-check-label,
.mirswa-listing-filters-offcanvas .form-check .form-check-label {
    float: none !important;
    padding-left: 0 !important;
}

.mirswa-listing-filters .mirswa-filter-attributes .mirswa-filter-block--attribute {
    padding-top: 1rem;
}

.mirswa-listing-filters .mirswa-filter-block {
    border-bottom: 1px solid #f0f0f0;
    padding: 0.85rem 0 0.75rem;
}

.mirswa-listing-filters .mirswa-filter-block:last-child {
    border-bottom: 0;
}

.mirswa-listing-filters .mirswa-filter-block__title {
    font-size: 0.625rem;
    font-weight: 600;
    color: #212121;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    margin-bottom: 0.65rem;
}

.mirswa-filter-search-wrap {
    margin-bottom: 0.65rem;
}

.mirswa-filter-search-wrap .mirswa-filter-search {
    border-radius: 2px;
    border-color: #e0e0e0;
    font-size: 0.625rem;
    padding: 0.35rem 0.55rem;
}

.mirswa-listing-filters .price-filter-control .range-slider,
.mirswa-listing-filters-offcanvas .price-filter-control .range-slider {
    position: relative;
    height: 2.75rem;
    margin: 0.35rem 0 0.75rem;
    --mirswa-price-fill-left: 0%;
    --mirswa-price-fill-width: 100%;
}

.mirswa-listing-filters .price-filter-control .range-slider::before,
.mirswa-listing-filters-offcanvas .price-filter-control .range-slider::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 4px;
    background: #e0e0e0;
    border-radius: 2px;
    z-index: 0;
}

.mirswa-listing-filters .price-filter-control .range-slider::after,
.mirswa-listing-filters-offcanvas .price-filter-control .range-slider::after {
    content: "";
    position: absolute;
    left: var(--mirswa-price-fill-left, 0%);
    width: var(--mirswa-price-fill-width, 100%);
    top: 50%;
    transform: translateY(-50%);
    height: 4px;
    background: var(--primary-color, #2874f0);
    border-radius: 2px;
    z-index: 1;
    pointer-events: none;
}

.mirswa-listing-filters .price-filter-control .range-slider input[type=range],
.mirswa-listing-filters-offcanvas .price-filter-control .range-slider input[type=range] {
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
    height: 1.25rem;
    background: transparent;
    pointer-events: none;
    -webkit-appearance: none;
    appearance: none;
    z-index: 2;
}

.mirswa-listing-filters .price-filter-control .range-slider input[type=range]:last-of-type,
.mirswa-listing-filters-offcanvas .price-filter-control .range-slider input[type=range]:last-of-type {
    z-index: 3;
}

.mirswa-listing-filters .price-filter-control .range-slider input[type=range]::-webkit-slider-runnable-track,
.mirswa-listing-filters-offcanvas .price-filter-control .range-slider input[type=range]::-webkit-slider-runnable-track {
    height: 4px;
    background: transparent;
    border: 0;
}

.mirswa-listing-filters .price-filter-control .range-slider input[type=range]::-webkit-slider-thumb,
.mirswa-listing-filters-offcanvas .price-filter-control .range-slider input[type=range]::-webkit-slider-thumb {
    pointer-events: all;
    -webkit-appearance: none;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid var(--primary-color, #2874f0);
    margin-top: -6px;
    cursor: pointer;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);
}

.mirswa-listing-filters .price-filter-control .range-slider input[type=range]::-moz-range-track,
.mirswa-listing-filters-offcanvas .price-filter-control .range-slider input[type=range]::-moz-range-track {
    height: 4px;
    background: transparent;
    border: 0;
}

.mirswa-listing-filters .price-filter-control .range-slider input[type=range]::-moz-range-thumb,
.mirswa-listing-filters-offcanvas .price-filter-control .range-slider input[type=range]::-moz-range-thumb {
    pointer-events: all;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid var(--primary-color, #2874f0);
    cursor: pointer;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);
}

.mirswa-listing-filters .price-filter-control input[type=number],
.mirswa-listing-filters-offcanvas .price-filter-control input[type=number] {
    font-size: 0.625rem;
    padding: 0.25rem 0.35rem;
    border-radius: 2px;
    max-width: 100%;
}

.mirswa-listing-filters .price-filter-control .form-label-sm,
.mirswa-listing-filters-offcanvas .price-filter-control .form-label-sm {
    font-size: 0.5625rem;
}

.mirswa-price-range-note {
    font-size: 0.5625rem;
}

.mirswa-listing-filters-offcanvas .mirswa-filter-block {
    border-bottom: 1px solid #f0f0f0;
    padding: 0.85rem 0 0.75rem;
}

.mirswa-listing-filters .input-container,
.mirswa-listing-filters .toggle.checkbox,
.mirswa-listing-filters .toggle-inner,
.mirswa-listing-filters .text-label,
.mirswa-listing-filters .mirswa-filter-accordion {
    display: none !important;
}

.mirswa-listing-sort-bar {
    display: none;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.15rem 0.5rem;
    padding: 0.35rem 0 0;
    margin-bottom: 0;
    border-bottom: 1px solid #e0e0e0;
    background: transparent;
}

.mirswa-listing-head .mirswa-listing-sort-bar {
    padding-top: 0.1rem;
    padding-bottom: 0;
    margin-bottom: 0.75rem;
}

.mirswa-listing-sort-bar__label {
    font-size: 0.875rem;
    color: #878787;
    font-weight: 500;
    margin-right: 0.35rem;
    white-space: nowrap;
}

.mirswa-listing-sort-tabs {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0;
}

.mirswa-listing-sort-tab {
    position: relative;
    display: inline-flex;
    align-items: center;
    font-size: 0.875rem;
    color: #212121;
    text-decoration: none;
    padding: 0.55rem 0.85rem 0.7rem;
    border-radius: 0;
    white-space: nowrap;
    line-height: 1.2;
}

.mirswa-listing-sort-tab:hover {
    color: var(--primary-color, #2874f0);
}

.mirswa-listing-sort-tab.is-active {
    color: var(--primary-color, #2874f0);
    font-weight: 500;
}

.mirswa-listing-sort-tab.is-active::after {
    content: "";
    position: absolute;
    left: 0.75rem;
    right: 0.75rem;
    bottom: 0;
    height: 2px;
    background: var(--primary-color, #2874f0);
}

.mirswa-listing-filters-offcanvas {
    background: #fff;
    width: min(92vw, 360px);
}

.mirswa-listing-filters-offcanvas__head {
    border-bottom: 1px solid #e0e0e0;
    padding: 1rem 1.1rem;
}

.mirswa-listing-filters-offcanvas__body {
    padding: 0.5rem 1.1rem 1.25rem;
    overflow-x: hidden;
    max-width: 100%;
}

.mirswa-listing-filters,
.mirswa-listing-filters-offcanvas {
    overflow-x: hidden;
    max-width: 100%;
    box-sizing: border-box;
}

.mirswa-listing-filters__foot--mobile {
    position: sticky;
    bottom: 0;
    background: #fff;
    padding-bottom: 0.25rem;
    z-index: 2;
}

.listing-toolbar-row .filter-sidebar-mobile,
.mirswa-listing-filter-btn {
    display: none;
    align-items: center;
    gap: 0.35rem;
    font-weight: 600;
    white-space: nowrap;
}

@media (max-width: 991.98px) {
    section.wrapper.listing-page .mirswa-listing-layout.row {
        display: flex !important;
        flex-direction: column;
    }

    .mirswa-listing-main {
        background: #fff;
        padding: 0.625rem 0.65rem 1rem;
        border-radius: 8px;
        max-width: 100%;
        width: 100%;
        flex: 0 0 100%;
    }

    .mirswa-listing-head {
        margin-bottom: 0.65rem;
        padding-top: 0.25rem;
    }

    .mirswa-listing-title-row {
        flex-direction: column;
        align-items: stretch;
    }

    .mirswa-listing-range--inline {
        display: block;
        margin-left: 0;
        margin-top: 0.25rem;
    }

    .listing-toolbar-row__actions {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.65rem;
        width: 100%;
        margin-bottom: 0.5rem;
    }

    .listing-toolbar-row__actions .mirswa-listing-sort-select-wrap {
        flex: 1 1 150px;
        min-width: 0;
    }

    .listing-toolbar-row__actions .form-select {
        min-height: 42px;
        font-size: 0.9rem;
    }

    .mirswa-listing-mobile-tools {
        display: inline-flex;
        align-items: center;
        gap: 0.45rem;
        flex: 0 0 auto;
    }

    .listing-toolbar-row .filter-sidebar-mobile,
    .mirswa-listing-filter-btn {
        display: inline-flex !important;
    }

    .mirswa-listing-range {
        font-size: 0.78rem;
    }

    .mirswa-product-grid-view {
        margin-top: 0.25rem;
    }

    .mirswa-product-list-view {
        border-left: none;
        border-right: none;
        border-radius: 6px;
    }

    .mirswa-listing-sort-bar {
        display: none !important;
    }

    section.wrapper.listing-page.bg-light > .container,
    section.wrapper.listing-page.bg-light > .mirswa-listing-page-container {
        padding-top: 0.5rem !important;
        padding-left: max(0.75rem, env(safe-area-inset-left, 0px));
        padding-right: max(0.75rem, env(safe-area-inset-right, 0px));
    }
}

/* Product listing — Flipkart-style list view */
.mirswa-product-list-view {
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 8px;
    overflow: hidden;
}

.mirswa-product-list-row {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr) 220px;
    gap: 1rem 1.25rem;
    align-items: center;
    padding: 0.9rem 1.15rem;
    border-bottom: 1px solid #ececec;
    background: #fff;
}

.mirswa-product-list-row__media-wrap {
    grid-column: 1;
    min-width: 0;
}

.mirswa-product-list-row:last-child {
    border-bottom: none;
}

.mirswa-product-list-row__figure {
    position: relative;
    margin: 0;
    padding: 0.5rem;
    min-height: 0;
    height: 132px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid #f0f0f0;
    border-radius: 6px;
}

.mirswa-product-list-row__image-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.mirswa-product-list-row__image {
    width: auto;
    max-width: 100%;
    max-height: 118px;
    object-fit: contain;
    display: block;
}

.mirswa-product-list-row__wishlist {
    position: absolute;
    top: 0.55rem;
    right: 0.55rem;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 1px solid #e8edf3;
    background: #fff;
    color: #64748b;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.08);
    z-index: 2;
}

.mirswa-product-list-row__wishlist.is-active,
.mirswa-product-list-row__wishlist:hover {
    color: var(--tertiary-color);
    border-color: #fecaca;
}

.mirswa-product-list-row__figure .sale_tag,
.mirswa-product-list-row__figure .mirswa-product-badge {
    z-index: 1;
}

.mirswa-product-list-row__info {
    grid-column: 2;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    padding-top: 0;
}

.mirswa-product-list-row__title {
    margin: 0 0 0.35rem;
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.35;
}

.mirswa-product-list-row__title a {
    color: #212121;
    text-decoration: none;
}

.mirswa-product-list-row__title a:hover {
    color: var(--primary-color, #1f56a8);
}

.mirswa-product-list-row__rating {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.65rem;
    margin-bottom: 0.35rem;
}

.mirswa-product-list-row__rating--empty .mirswa-product-list-row__rating-count {
    color: #9aa3af;
}

.mirswa-product-list-row__rating-badge--muted {
    background: #eef2f7;
    color: #64748b;
}

.mirswa-product-list-row__rating-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.15rem 0.45rem;
    border-radius: 4px;
    background: #388e3c;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.2;
}

.mirswa-product-list-row__rating-badge i {
    font-size: 0.72rem;
}

.mirswa-product-list-row__rating-count {
    font-size: 0.82rem;
    color: #878787;
}

.mirswa-product-list-row__subdesc {
    margin: 0;
    color: #878787;
    font-size: 0.82rem;
    line-height: 1.4;
    font-weight: 500;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
}

.mirswa-product-list-row__desc {
    display: none;
}

.mirswa-product-list-row__buy {
    grid-column: 3;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.65rem;
    padding-top: 0.15rem;
}

.mirswa-product-list-row__price-current {
    font-size: 1.35rem;
    font-weight: 700;
    color: #212121;
    line-height: 1.2;
}

.mirswa-product-list-row__price-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.65rem;
    margin-top: 0.25rem;
}

.mirswa-product-list-row__price-mrp {
    color: #878787;
    font-size: 0.88rem;
}

.mirswa-product-list-row__price-off {
    color: #388e3c;
    font-size: 0.88rem;
    font-weight: 600;
}

.mirswa-product-list-row__save {
    margin: 0.15rem 0 0;
    font-size: 0.82rem;
    color: #388e3c;
}

.mirswa-product-list-row__cart-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    width: 100%;
    min-height: 42px;
    margin-top: 0.35rem;
    border-radius: 6px;
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: none;
    box-shadow: none;
}

.mirswa-product-list-row__buy .deal-countdown {
    margin: 0;
}

@media (max-width: 991.98px) {
    .mirswa-product-list-row {
        grid-template-columns: 140px minmax(0, 1fr);
        gap: 1rem;
        padding: 1rem;
    }

    .mirswa-product-list-row__buy {
        grid-column: 1 / -1;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        padding-top: 0;
        border-top: 1px dashed #ececec;
        margin-top: 0.15rem;
        padding-top: 0.85rem;
    }

    .mirswa-product-list-row__price-block {
        flex: 1 1 auto;
        min-width: 0;
    }

    .mirswa-product-list-row__cart-btn {
        flex: 0 0 auto;
        width: auto;
        min-width: 160px;
        margin-top: 0;
        margin-left: auto;
    }
}

@media (max-width: 575.98px) {
    .mirswa-product-list-row {
        grid-template-columns: 110px minmax(0, 1fr);
        gap: 0.75rem;
        padding: 0.85rem 0.75rem;
    }

    .mirswa-product-list-row__figure {
        height: 110px;
        min-height: 0;
        padding: 0.45rem;
    }

    .mirswa-product-list-row__image {
        max-height: 96px;
    }

    .mirswa-product-list-row__title {
        font-size: 0.92rem;
    }

    .mirswa-product-list-row__desc {
        -webkit-line-clamp: 2;
        font-size: 0.82rem;
    }

    .mirswa-product-list-row__price-current {
        font-size: 1.15rem;
    }

    .mirswa-product-list-row__buy {
        flex-direction: column;
        align-items: stretch;
    }

    .mirswa-product-list-row__cart-btn {
        width: 100%;
        margin-left: 0;
    }
}

/* Product listing — Flipkart-style grid cards */
.mirswa-product-grid-view {
    background: #fff;
}

.mirswa-product-grid-card {
    height: 100%;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid transparent;
    border-radius: 4px;
    padding: 0.75rem 0.85rem 0.9rem;
    transition: box-shadow 0.18s ease;
}

.mirswa-product-grid-card:hover {
    box-shadow: 0 2px 12px rgba(15, 23, 42, 0.08);
}

.mirswa-product-grid-card__media {
    position: relative;
    min-height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.65rem;
}

.mirswa-product-grid-card__image-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.mirswa-product-grid-card__image {
    width: auto;
    max-width: 100%;
    max-height: 170px;
    object-fit: contain;
    display: block;
}

.mirswa-product-grid-card__wishlist {
    position: absolute;
    top: 0;
    right: 0;
    width: 32px;
    height: 32px;
    border: none;
    background: transparent;
    color: #c2c2c2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    z-index: 2;
}

.mirswa-product-grid-card__wishlist.is-active,
.mirswa-product-grid-card__wishlist:hover {
    color: var(--tertiary-color);
}

.mirswa-product-grid-card__body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
    gap: 0.35rem;
}

.mirswa-product-grid-card__title {
    margin: 0;
    font-size: 0.92rem;
    font-weight: 500;
    line-height: 1.35;
}

.mirswa-product-grid-card__title a {
    color: #212121;
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.mirswa-product-grid-card__title a:hover {
    color: var(--primary-color, #1f56a8);
}

.mirswa-product-grid-card__spec {
    margin: 0;
    font-size: 0.78rem;
    color: #878787;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.mirswa-product-grid-card__rating {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
}

.mirswa-product-grid-card__rating-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.15rem;
    padding: 0.12rem 0.4rem;
    border-radius: 4px;
    background: #388e3c;
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.2;
}

.mirswa-product-grid-card__rating-badge i {
    font-size: 0.68rem;
}

.mirswa-product-grid-card__rating-count {
    font-size: 0.78rem;
    color: #878787;
}

.mirswa-product-grid-card__price-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.35rem 0.5rem;
    margin-top: 0.15rem;
}

.mirswa-product-grid-card__price {
    font-size: 1rem;
    font-weight: 700;
    color: #212121;
}

.mirswa-product-grid-card__mrp {
    font-size: 0.82rem;
    color: #878787;
}

.mirswa-product-grid-card__off {
    font-size: 0.82rem;
    font-weight: 600;
    color: #388e3c;
}

.mirswa-product-grid-card__cart-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 52px;
    min-height: 32px;
    margin-top: 0;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.mirswa-product-grid-card__body .deal-countdown {
    margin: 0;
}

@media (max-width: 575.98px) {
    .mirswa-product-grid-card {
        padding: 0.55rem 0.5rem 0.7rem;
    }

    .mirswa-product-grid-card__media {
        min-height: 130px;
    }

    .mirswa-product-grid-card__image {
        max-height: 120px;
    }

    .mirswa-product-grid-card__title {
        font-size: 0.84rem;
    }

    .mirswa-product-grid-card__price {
        font-size: 0.92rem;
    }

    .mirswa-product-grid-card__cart-btn {
        min-height: 34px;
        font-size: 0.78rem;
    }
}

/* Card add-to-cart -> red qty stepper (Blinkit / Flipkart style) */
.mirswa-card-qty-wrap {
    width: 100%;
}

.mirswa-card-qty-wrap.mirswa-card-qty--grid,
.mirswa-card-qty-wrap.mirswa-card-qty--list {
    margin-top: auto;
}

.mirswa-card-qty {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 36px;
    border-radius: 8px;
    background: var(--tertiary-color);
    border: 1px solid var(--tertiary-color);
    overflow: hidden;
    user-select: none;
    box-shadow: 0 1px 4px color-mix(in srgb, var(--tertiary-color) 22%, transparent);
}

.mirswa-card-qty__btn {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 1.1rem;
    line-height: 1;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
}

.mirswa-card-qty__btn:hover,
.mirswa-card-qty__btn:focus {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
}

.mirswa-card-qty__value {
    flex: 1 1 auto;
    text-align: center;
    color: #fff;
    font-size: 0.92rem;
    font-weight: 700;
    min-width: 1.4rem;
    line-height: 1;
}

.mirswa-card-qty.is-busy {
    opacity: 0.72;
    pointer-events: none;
}

.mirswa-card-qty-wrap.mirswa-card-qty--overlay {
    width: auto;
    min-width: 92px;
    max-width: 118px;
}

.item figure,
.swiper-slide figure {
    position: relative;
}

.mirswa-card-qty-wrap.mirswa-card-qty--overlay {
    position: absolute;
    right: 8px;
    bottom: 8px;
    z-index: 3;
}

.mirswa-card-qty-wrap.mirswa-card-qty--overlay .mirswa-card-qty {
    min-height: 32px;
    border-radius: 8px;
}

.mirswa-card-qty-wrap.mirswa-card-qty--overlay .mirswa-card-qty__btn {
    flex-basis: 30px;
    width: 30px;
    height: 30px;
    font-size: 1rem;
}

.mirswa-product-grid-card__cart-btn.add_to_cart,
.mirswa-product-list-row__cart-btn.add_to_cart,
.main-content .add_to_cart.btn-outline-primary,
.main-content .add_to_cart.item-cart {
    background: var(--tertiary-color) !important;
    color: #fff !important;
    border: 1px solid var(--tertiary-color) !important;
    box-shadow: none;
}

.mirswa-product-grid-card__cart-btn.add_to_cart:hover,
.mirswa-product-list-row__cart-btn.add_to_cart:hover,
.main-content .add_to_cart.btn-outline-primary:hover,
.main-content .add_to_cart.item-cart:hover {
    background: var(--quaternary-color) !important;
    color: #fff !important;
    border-color: var(--quaternary-color) !important;
}

@media (max-width: 575.98px) {
    .mirswa-card-qty {
        min-height: 34px;
    }

    .mirswa-card-qty__btn {
        flex-basis: 32px;
        width: 32px;
        height: 32px;
    }
}

/* Product card quick actions (wishlist, quick view, compare) */
.mirswa-product-card-actions {
    position: absolute;
    top: 0.45rem;
    right: 0.45rem;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
}

.mirswa-product-card-actions .item-like,
.mirswa-product-card-actions .item-view,
.mirswa-product-card-actions .item-compare,
.mirswa-product-grid-card__media .mirswa-product-card-actions .item-like,
.mirswa-product-grid-card__media .mirswa-product-card-actions .item-view,
.mirswa-product-grid-card__media .mirswa-product-card-actions .item-compare,
.mirswa-home-section-card__media .mirswa-product-card-actions .item-like,
.mirswa-home-section-card__media .mirswa-product-card-actions .item-view,
.mirswa-home-section-card__media .mirswa-product-card-actions .item-compare,
.deals-feature-card figure .mirswa-product-card-actions .item-like,
.deals-feature-card figure .mirswa-product-card-actions .item-view,
.deals-feature-card figure .mirswa-product-card-actions .item-compare,
.mirswa-product-list-row__figure .mirswa-product-card-actions .item-like,
.mirswa-product-list-row__figure .mirswa-product-card-actions .item-view,
.mirswa-product-list-row__figure .mirswa-product-card-actions .item-compare {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 1.55rem !important;
    height: 1.55rem !important;
    min-width: 1.55rem !important;
    min-height: 1.55rem !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid #e8e8e8;
    color: #5f6368;
    font-size: 0.72rem !important;
    line-height: 1 !important;
    opacity: 1 !important;
    transform: none !important;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.08);
}

.mirswa-product-card-actions .item-like i,
.mirswa-product-card-actions .item-view i,
.mirswa-product-card-actions .item-compare i {
    font-size: 0.72rem !important;
    line-height: 1 !important;
}

.mirswa-product-card-actions .item-like.is-active,
.mirswa-product-card-actions .item-like.text-danger,
.mirswa-product-card-actions .item-like .text-danger {
    color: var(--tertiary-color) !important;
}

.mirswa-product-card-actions .item-like:hover,
.mirswa-product-card-actions .item-view:hover,
.mirswa-product-card-actions .item-compare:hover {
    color: var(--primary-color);
    border-color: #d0d0d0;
}

.mirswa-product-list-row__figure .mirswa-product-card-actions {
    top: 0.35rem;
    right: 0.35rem;
}

@media (max-width: 575.98px) {
    .mirswa-product-card-actions {
        top: 0.35rem;
        right: 0.35rem;
        gap: 0.2rem;
    }

    .mirswa-product-card-actions .item-like,
    .mirswa-product-card-actions .item-view,
    .mirswa-product-card-actions .item-compare {
        width: 1.45rem !important;
        height: 1.45rem !important;
        min-width: 1.45rem !important;
        min-height: 1.45rem !important;
    }
}

.mirswa-product-card-actions.desktop_quick_view {
    display: inline-flex !important;
}

@media screen and (max-width: 991px) {
    .mirswa-product-card-actions.desktop_quick_view {
        display: inline-flex !important;
    }
}

.mirswa-home-section-card__figure {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    margin: 0;
    background: #fff;
    border: 1px solid #eef2f7;
    border-radius: 10px;
    overflow: hidden;
    box-sizing: border-box;
}

.mirswa-home-section-card__media {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 150px;
    padding: 0.75rem;
    box-sizing: border-box;
}

.mirswa-home-section-card__image-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.mirswa-home-section-card__image,
.mirswa-home-section-card__media .fig_image {
    width: auto;
    max-width: 100%;
    max-height: 150px;
    object-fit: contain;
    margin: 0 auto;
}

.mirswa-home-section-card__body {
    width: 100%;
    max-width: 100%;
    padding: 0.55rem 0.75rem 0.85rem;
    box-sizing: border-box;
    text-align: center;
}

.mirswa-home-section-card__body .product-content {
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    text-align: center;
    background: transparent;
}

.mirswa-home-section-card__stars {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.12rem;
    width: 100%;
    max-width: 100%;
    min-height: 1rem;
    margin: 0 auto 0.35rem;
    overflow: hidden;
}

.mirswa-home-section-card__star {
    font-size: 0.82rem;
    line-height: 1;
    color: #cbd5e1;
}

.mirswa-home-section-card__star.is-filled {
    color: var(--secondary-color);
}

.swiper-slide.product-bg.slide_image .mirswa-home-section-card__figure {
    flex: 1 1 auto;
    height: 100%;
}

.project.item.default-style .mirswa-home-section-card__figure {
    height: 100%;
}

.style-3-product-right-lg .product-image-container.mirswa-home-section-card__media {
    overflow: visible;
}

.mirswa-card-add-slot {
    position: absolute;
    right: 8px;
    bottom: 8px;
    z-index: 4;
}

.mirswa-home-section-card__media .mirswa-card-add-slot,
.mirswa-product-grid-card__media .mirswa-card-add-slot {
    position: absolute;
    right: 8px;
    bottom: 8px;
    z-index: 4;
}

.mirswa-card-add-slot > .mirswa-card-add-btn,
.mirswa-card-add-slot > .add_to_cart.mirswa-card-add-btn,
.mirswa-card-add-slot > .add_to_cart.item-cart {
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: auto !important;
    height: auto !important;
    min-height: 32px !important;
    opacity: 1 !important;
    display: inline-flex !important;
    margin: 0 !important;
    transform: none !important;
    background: var(--tertiary-color) !important;
    color: #fff !important;
    border: 1px solid var(--tertiary-color) !important;
}

.mirswa-card-add-slot .mirswa-card-qty-wrap {
    position: static;
    width: auto;
    min-width: 92px;
    max-width: 118px;
}

.mirswa-card-add-btn.add_to_cart,
.main-content .add_to_cart.mirswa-card-add-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 52px;
    min-height: 32px;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    white-space: nowrap;
    background: var(--tertiary-color) !important;
    color: #fff !important;
    border: 1px solid var(--tertiary-color) !important;
    box-shadow: none;
}

.mirswa-card-add-btn.add_to_cart:hover,
.main-content .add_to_cart.mirswa-card-add-btn:hover {
    background: var(--quaternary-color) !important;
    color: #fff !important;
    border-color: var(--quaternary-color) !important;
}

.mirswa-card-add-btn.add_to_cart i,
.main-content .add_to_cart.mirswa-card-add-btn i {
    display: none !important;
}

.main-content .item figure .mirswa-card-add-btn.item-cart,
.main-content .swiper-slide figure .mirswa-card-add-btn.item-cart,
.main-content figure .post-header .mirswa-card-add-btn,
.deals-feature-card figure .mirswa-card-add-btn {
    position: absolute;
    right: 8px;
    bottom: 8px;
    z-index: 3;
}

.deals-feature-card figure,
.deals-feature-card .deals-media {
    position: relative;
}

.mirswa-product-grid-card__cart-btn.mirswa-card-add-btn {
    width: auto;
    margin-top: 0;
    min-height: 32px;
}

.mirswa-product-list-row__cart-btn.mirswa-card-add-btn {
    align-self: flex-start;
    margin-top: 0.35rem;
}

.mirswa-card-qty-wrap.mirswa-card-qty--list {
    display: inline-flex;
    width: auto;
    min-width: 110px;
    margin-top: 0.35rem;
}

.mirswa-product-list-row__buy .mirswa-card-qty-wrap.mirswa-card-qty--list {
    position: static !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    top: auto !important;
    display: inline-flex !important;
    width: 100%;
    min-width: 110px;
    max-width: 100%;
    margin-top: 0.35rem;
    z-index: 1;
}

.mirswa-card-qty-wrap.mirswa-card-qty--list .mirswa-card-qty {
    min-height: 34px;
}

/* Override theme hover bar — always show compact ADD on image corner */
.item figure .mirswa-card-add-btn.item-cart,
.swiper-slide figure .mirswa-card-add-btn.item-cart,
.item figure .add_to_cart.mirswa-card-add-btn,
.swiper-slide figure .add_to_cart.mirswa-card-add-btn {
    opacity: 1 !important;
    position: absolute !important;
    right: 8px !important;
    bottom: 8px !important;
    left: auto !important;
    top: auto !important;
    width: auto !important;
    height: auto !important;
    min-width: 52px;
    padding: 6px 14px !important;
    margin: 0 !important;
    text-align: center;
    background: var(--tertiary-color) !important;
    color: #fff !important;
    border: 1px solid var(--tertiary-color) !important;
    box-shadow: none;
    z-index: 3 !important;
}

.item figure .mirswa-card-add-btn.item-cart:hover,
.swiper-slide figure .mirswa-card-add-btn.item-cart:hover,
.item:hover figure .mirswa-card-add-btn.item-cart,
.swiper-slide:hover figure .mirswa-card-add-btn.item-cart {
    opacity: 1 !important;
    bottom: 8px !important;
    background: var(--quaternary-color) !important;
    color: #fff !important;
    border-color: var(--quaternary-color) !important;
}

/* PDP related products (outside .main-content) */
.mirswa-pdp-related .mirswa-pdp-related-swiper,
.mirswa-pdp-related .mirswa-pdp-related-swiper .swiper-wrapper,
.mirswa-pdp-related-slide {
    overflow: visible !important;
}

.mirswa-pdp-related .mirswa-home-section-card__figure {
    overflow: visible;
}

.mirswa-pdp-related .mirswa-home-section-card__media {
    overflow: visible;
}

.mirswa-pdp-related .mirswa-card-add-slot {
    pointer-events: auto;
}

.mirswa-pdp-related .mirswa-card-add-btn.add_to_cart,
.mirswa-pdp-related .add_to_cart.item-cart {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Contact Us page — 2/3 form + 1/3 info */
.mirswa-contact-page {
    background: #f1f3f6 !important;
}

.mirswa-contact-page-container {
    padding-top: 0.5rem;
    padding-bottom: 2rem;
}

.mirswa-contact-layout {
    align-items: stretch;
}

.mirswa-contact-card,
.mirswa-contact-info-card {
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 8px;
    height: 100%;
}

.mirswa-contact-card {
    padding: 1.25rem 1.35rem 1.5rem;
}

.mirswa-contact-card__head {
    padding-bottom: 1rem;
    margin-bottom: 1.15rem;
    border-bottom: 1px solid #e0e0e0;
}

.mirswa-contact-card__title {
    font-size: 1.65rem;
    font-weight: 700;
    color: #212121;
    margin: 0 0 0.45rem;
}

.mirswa-contact-card__lead {
    color: #64748b;
    font-size: 0.95rem;
    line-height: 1.5;
}

.mirswa-contact-form .form-floating {
    margin-bottom: 0;
}

.mirswa-contact-form .row.g-3 {
    --bs-gutter-y: 1rem;
}

.mirswa-contact-form .form-floating > .form-control,
.mirswa-contact-form .mirswa-contact-form__message {
    border-color: #dbe3ee;
    border-radius: 8px;
}

.mirswa-contact-form__message-label {
    font-size: 0.875rem;
    color: #475569;
    margin-bottom: 0.35rem;
}

.mirswa-contact-form__message {
    min-height: 140px;
    resize: vertical;
}

.mirswa-contact-form__submit {
    min-width: 160px;
    border-radius: 999px;
    padding-left: 1.35rem;
    padding-right: 1.35rem;
}

.mirswa-contact-form.was-validated .form-control:invalid,
.mirswa-contact-form.was-validated .mirswa-contact-form__message:invalid {
    border-color: var(--tertiary-color);
}

.mirswa-contact-form.was-validated .invalid-feedback {
    display: block;
    margin-top: 0.35rem;
    font-size: 0.82rem;
    color: var(--tertiary-color);
}

/* Site-wide dialogs + validation toasts */
.mirswa-toast-popup.swal2-popup {
    padding: 0.85rem 1rem;
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
}

.mirswa-toast-title.swal2-title {
    margin: 0;
    padding: 0;
    font-size: 0.92rem;
    font-weight: 600;
    line-height: 1.45;
    color: #1f2937;
    text-align: left;
}

.mirswa-alert-popup.swal2-popup {
    width: min(92vw, 420px);
    padding: 1.25rem 1.25rem 1rem;
    border-radius: 12px;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.16);
}

.mirswa-alert-title.swal2-title {
    font-size: 1.15rem;
    font-weight: 700;
    color: #111827;
}

.mirswa-alert-body.swal2-html-container {
    margin: 0.65rem 0 0;
    font-size: 0.92rem;
    line-height: 1.5;
    color: #475569;
    text-align: left;
}

.mirswa-validation-list {
    margin: 0;
    padding-left: 1.1rem;
    text-align: left;
}

.mirswa-validation-list li {
    margin-bottom: 0.35rem;
}

.mirswa-validation-list li:last-child {
    margin-bottom: 0;
}

.mirswa-confirm-popup .swal2-actions {
    gap: 0.55rem;
    margin-top: 1rem;
}

.mirswa-alert-btn {
    min-width: 112px;
    border-radius: 999px !important;
    padding: 0.45rem 1rem !important;
    font-weight: 600;
}

.mirswa-confirm-popup .mirswa-alert-btn.btn-outline-secondary {
    border-color: #cbd5e1;
    color: #475569;
}

.mirswa-contact-form__hp {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.mirswa-contact-info-card {
    padding: 1.15rem 1.2rem;
}

.mirswa-contact-info-block {
    display: flex;
    gap: 0.85rem;
    padding: 0.95rem 0;
    border-bottom: 1px solid #f0f0f0;
}

.mirswa-contact-info-block:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.mirswa-contact-info-block:first-child {
    padding-top: 0;
}

.mirswa-contact-info-block__icon {
    flex: 0 0 auto;
    width: 2rem;
    color: var(--primary-color, #1f56a8);
    font-size: 1.45rem;
    line-height: 1.2;
}

.mirswa-contact-info-block__title {
    font-size: 0.95rem;
    font-weight: 700;
    color: #212121;
    margin: 0 0 0.35rem;
}

.mirswa-contact-info-block__text {
    color: #475569;
    font-size: 0.9rem;
    line-height: 1.45;
}

.mirswa-contact-info-block__link {
    color: var(--primary-color, #1f56a8);
    text-decoration: none;
}

.mirswa-contact-info-block__link:hover {
    text-decoration: underline;
}

@media (min-width: 992px) {
    .mirswa-contact-sidebar {
        border-left: 1px solid #e0e0e0;
        padding-left: 1rem;
    }

    .mirswa-contact-info-card {
        border: none;
        border-radius: 0;
        padding-left: 0.35rem;
    }
}

@media (max-width: 991.98px) {
    .mirswa-contact-sidebar {
        margin-top: 0.25rem;
    }
}

/* Payment result pages (success / cancel / wallet) */
body.mirswa-payment-result-page {
    background: #f1f3f6;
}

body.mirswa-payment-result-page footer.text-inverse {
    margin-top: 0 !important;
}

.mirswa-payment-success {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 100%;
    overflow: visible !important;
    padding: 0 0 2.5rem;
    background: #f1f3f6;
    box-sizing: border-box;
}

.mirswa-payment-success__container {
    max-width: 1140px;
}

.mirswa-payment-success .container {
    max-width: 1140px;
}

.mirswa-payment-success__hero {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

.mirswa-payment-success__hero--animated {
    padding-top: 0.25rem;
}

.mirswa-payment-success__icon-wrap {
    position: relative;
    width: 88px;
    height: 88px;
    margin: 0 auto 1rem;
}

.mirswa-payment-success__icon-ring {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 3px solid rgba(22, 163, 74, 0.35);
    animation: mirswa-ps-success-ring 1.1s ease-out 0.15s both;
}

.mirswa-payment-success__icon-core {
    position: absolute;
    inset: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient(145deg, #22c55e 0%, #16a34a 100%);
    box-shadow: 0 10px 24px rgba(22, 163, 74, 0.28);
    animation: mirswa-ps-success-pop 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

.mirswa-payment-success__icon-check {
    font-size: 2rem;
    line-height: 1;
    color: #fff;
    animation: mirswa-ps-success-check 0.35s ease-out 0.28s both;
}

.mirswa-payment-success__headline {
    font-size: 1.15rem;
    font-weight: 700;
    color: #15803d;
    animation: mirswa-ps-success-rise 0.45s ease-out 0.35s both;
}

.mirswa-payment-success__subline {
    animation: mirswa-ps-success-rise 0.45s ease-out 0.48s both;
}

@keyframes mirswa-ps-success-pop {
    0% {
        transform: scale(0);
        opacity: 0;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes mirswa-ps-success-ring {
    0% {
        transform: scale(0.75);
        opacity: 0.85;
    }
    100% {
        transform: scale(1.35);
        opacity: 0;
    }
}

@keyframes mirswa-ps-success-check {
    0% {
        transform: scale(0.4);
        opacity: 0;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes mirswa-ps-success-rise {
    0% {
        opacity: 0;
        transform: translateY(10px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .mirswa-payment-success__icon-ring,
    .mirswa-payment-success__icon-core,
    .mirswa-payment-success__icon-check,
    .mirswa-payment-success__headline,
    .mirswa-payment-success__subline {
        animation: none !important;
    }
}

.mirswa-payment-success__icon {
    display: block;
    font-size: clamp(3rem, 8vw, 4.5rem);
    line-height: 1;
    margin-bottom: 0.75rem;
}

.mirswa-payment-success__panel {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    overflow: hidden;
}

.mirswa-payment-success__panel-head {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #e8edf5;
    background: #fafcff;
}

.mirswa-payment-success__panel-body {
    padding: 1rem 1.25rem 1.25rem;
    flex: 1 1 auto;
}

.mirswa-payment-success__panel .table-responsive {
    overflow-x: auto;
    overflow-y: visible;
}

.mirswa-payment-success__panel .mirswa-payment-summary {
    max-width: 100%;
}

.mirswa-payment-success__tracking .mirswa-live-tracking-map-wrap {
    min-height: 260px;
}

.mirswa-payment-success__tracking .mirswa-live-tracking-map {
    height: min(38vh, 340px);
    min-height: 260px;
}

.mirswa-payment-success__eta-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    border-radius: 12px;
    background: rgba(37, 99, 235, 0.08);
    border: 1px solid rgba(37, 99, 235, 0.16);
}

.mirswa-payment-success__eta-label {
    font-size: 0.9rem;
    font-weight: 600;
    color: #334155;
}

.mirswa-payment-success__eta-countdown,
.mirswa-payment-success__tracking .mirswa-live-eta-countdown {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 5.5rem;
    padding: 0.45rem 0.85rem;
    border-radius: 999px;
    background: #2563eb;
    color: #fff;
    font-weight: 800;
    font-size: 0.95rem;
    letter-spacing: 0.02em;
}

.mirswa-payment-success__delivery-note {
    min-height: 0;
    display: block;
}

.mirswa-payment-success__panel-body .mirswa-payment-success__delivery-note:not(.mt-3) {
    min-height: 260px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.mirswa-payment-success__actions {
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
}

.mirswa-web-banner-strip-wrap,
.mirswa-payment-success-banner-wrap,
.mirswa-auth-banner-wrap {
    width: 100%;
    max-width: 100%;
    margin: 0;
    --mirswa-web-banner-height: 200px;
    --mirswa-payment-banner-height: 200px;
    --mirswa-auth-banner-height: 200px;
}

.mirswa-payment-success-banner-wrap {
    margin: 0 0 1.25rem;
}

.mirswa-auth-banner-wrap {
    margin: 0;
}

.mirswa-auth-page > .mirswa-auth-banner-wrap:first-child {
    margin-bottom: 1rem;
}

.mirswa-auth-page > .mirswa-auth-banner-wrap:last-child:not(:first-child) {
    margin-top: 1rem;
}

.mirswa-web-banner-strip,
.mirswa-web-banner-strip__slide,
.mirswa-payment-success-banner,
.mirswa-payment-success-banner__slide,
.mirswa-auth-banner,
.mirswa-auth-banner__slide {
    width: 100%;
    height: var(--mirswa-web-banner-height, var(--mirswa-payment-banner-height, var(--mirswa-auth-banner-height, 200px)));
    overflow: hidden;
    background: #e8edf5;
}

.mirswa-payment-success-banner,
.mirswa-payment-success-banner__slide {
    height: var(--mirswa-payment-banner-height, 200px);
}

.mirswa-auth-banner,
.mirswa-auth-banner__slide {
    height: var(--mirswa-auth-banner-height, 200px);
}

.mirswa-web-banner-strip-swiper,
.mirswa-payment-success-banner-swiper,
.mirswa-auth-banner-swiper {
    width: 100%;
    height: var(--mirswa-web-banner-height, var(--mirswa-payment-banner-height, var(--mirswa-auth-banner-height, 200px)));
}

.mirswa-payment-success-banner-swiper {
    height: var(--mirswa-payment-banner-height, 200px);
}

.mirswa-auth-banner-swiper {
    height: var(--mirswa-auth-banner-height, 200px);
}

.mirswa-web-banner-strip__link,
.mirswa-web-banner-strip__slide > a,
.mirswa-web-banner-strip--single > a,
.mirswa-payment-success-banner__link,
.mirswa-payment-success-banner__slide > a,
.mirswa-payment-success-banner--single > a,
.mirswa-auth-banner__link,
.mirswa-auth-banner__slide > a,
.mirswa-auth-banner--single > a {
    display: block;
    width: 100%;
    height: 100%;
}

.mirswa-web-banner-strip__image,
.mirswa-payment-success-banner__image,
.mirswa-auth-banner__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.mirswa-web-banner-strip-pagination,
.mirswa-payment-success-banner-pagination,
.mirswa-auth-banner-pagination {
    bottom: 8px !important;
}

.mirswa-payment-buy-again {
    padding: 1.5rem 0 0.75rem;
    background: #f1f3f6;
}

.mirswa-payment-buy-again__container {
    max-width: 1140px;
}

.mirswa-payment-buy-again__head {
    margin-bottom: 1rem;
}

.mirswa-payment-buy-again__title {
    font-size: 1.35rem;
    font-weight: 700;
    margin-bottom: 0.25rem;
}

.mirswa-payment-buy-again__lead {
    color: #64748b;
    font-size: 0.95rem;
}

.mirswa-payment-buy-again__grid {
    display: grid;
    width: 100%;
    gap: 0.75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mirswa-payment-buy-again__cell {
    min-width: 0;
    width: 100%;
}

.mirswa-buy-again-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #fff;
    border: 1px solid #eef2f7;
    border-radius: 10px;
    overflow: hidden;
}

.mirswa-buy-again-card__media {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 118px;
    padding: 0.55rem;
    background: #fff;
}

.mirswa-buy-again-card__image-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.mirswa-buy-again-card__image {
    width: auto;
    max-width: 100%;
    max-height: 108px;
    object-fit: contain;
    display: block;
}

.mirswa-buy-again-card__body {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.55rem 0.65rem 0.75rem;
    border-top: 1px solid #f1f5f9;
}

.mirswa-buy-again-card__title {
    margin: 0;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.3;
}

.mirswa-buy-again-card__title a {
    color: #212121;
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.mirswa-buy-again-card__price-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.35rem;
}

.mirswa-buy-again-card__price {
    font-size: 0.86rem;
    font-weight: 700;
    color: #212121;
}

.mirswa-buy-again-card__mrp {
    font-size: 0.78rem;
    color: #878787;
}

.mirswa-buy-again-card__media .mirswa-card-add-slot {
    right: 6px;
    bottom: 6px;
}

.mirswa-buy-again-card__cart-btn {
    min-width: 48px !important;
    min-height: 28px !important;
    padding: 0.3rem 0.5rem !important;
    font-size: 0.7rem !important;
}

.mirswa-buy-again-card__media .mirswa-product-card-actions {
    top: 0.35rem;
    right: 0.35rem;
}

.mirswa-buy-again-card .deal-countdown {
    font-size: 0.72rem;
}

@media (min-width: 768px) {
    .mirswa-payment-buy-again__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .mirswa-payment-buy-again__grid--count-4,
    .mirswa-payment-buy-again__grid--count-5 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (min-width: 992px) {
    .mirswa-payment-buy-again__grid--count-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .mirswa-payment-buy-again__grid--count-5 {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

@media (min-width: 1200px) {
    .mirswa-payment-buy-again__grid--count-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.mirswa-payment-success__card {
    position: relative;
    overflow: visible !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
}

.mirswa-payment-success__card .fs-100 {
    display: block;
    line-height: 1;
    margin-bottom: 0.75rem;
}

.mirswa-payment-success__card .table-responsive {
    overflow-x: auto;
    overflow-y: visible;
}

.mirswa-payment-success__card .mirswa-payment-summary,
.mirswa-payment-success__card .mt-3.p-3.rounded.text-start {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 991.98px) {
    .mirswa-payment-success__split .mirswa-payment-success__map-col {
        order: 2;
    }

    .mirswa-payment-success__split .mirswa-payment-success__order-col {
        order: 1;
    }
}

@media (max-width: 575.98px) {
    .mirswa-payment-success {
        padding-bottom: 2rem;
    }

    .mirswa-payment-success__container {
        padding-top: 1rem !important;
        padding-bottom: 1.5rem !important;
    }

    .mirswa-payment-success__panel-head,
    .mirswa-payment-success__panel-body {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .mirswa-payment-success__card {
        padding: 1.25rem !important;
    }

    .mirswa-payment-buy-again {
        padding-top: 1.5rem;
    }
}

/* PDP layout polish — full CTA bar + aligned page head spacing */
@media (min-width: 992px) {
    .pdp-page #pdp-cta-anchor {
        flex: 0 0 auto !important;
        height: auto !important;
        min-height: 76px !important;
        max-height: none !important;
        padding: 12px 12px 14px !important;
        overflow: visible !important;
    }

    .pdp-page #pdp-cta-anchor .product-cta-row {
        min-height: 44px !important;
        overflow: visible !important;
    }

    .pdp-page #pdp-cta-anchor .product-cta-row > *,
    .pdp-page #pdp-cta-anchor .product-cta-row .btn,
    .pdp-page #pdp-cta-anchor .product-cta-row .num-in,
    .pdp-page #pdp-cta-anchor .product-cta-row .num-in span,
    .pdp-page #pdp-cta-anchor .product-cta-row .num-in input,
    .pdp-page #pdp-cta-anchor .product-cta-row .add-to-fav-btn {
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
    }
}

/* Site-wide brand color enforcement — buttons, badges, accents */
.btn-primary,
.btn-primary:focus,
.btn-primary:hover,
.btn-primary:active,
.btn-check:checked + .btn-primary,
.header-location-save-btn,
.floating-chat-embed .btn-send-msg,
.floating-chat-embed .btn-send-msg:hover {
    background: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    color: #fff !important;
}

.btn-warning,
.btn-yellow,
#add_cart,
.add_to_cart.btn-yellow,
.product-cta-row #add_cart,
.product-cta-row a.btn.btn-yellow,
.pdp-page #add_cart,
.pdp-page #pdp-cta-anchor #add_cart,
.floating-chat-embed .btn-file,
.floating-chat-embed .btn-file:hover {
    background: var(--secondary-color) !important;
    border-color: var(--secondary-color) !important;
    color: #fff !important;
}

.btn-danger,
.buy_now,
#buy_now,
.product-cta-row #buy_now,
.pdp-page #buy_now,
.pdp-page #pdp-cta-anchor #buy_now {
    background: var(--quaternary-color) !important;
    border-color: var(--quaternary-color) !important;
    color: #fff !important;
}

.btn-outline-primary,
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
    color: var(--primary-color) !important;
    border-color: color-mix(in srgb, var(--primary-color) 55%, #ffffff) !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
    background: var(--primary-color) !important;
    color: #fff !important;
}

.btn-outline-danger,
.btn-outline-danger:hover {
    color: var(--tertiary-color) !important;
    border-color: var(--tertiary-color) !important;
}

.btn-outline-danger:hover {
    background: var(--tertiary-color) !important;
    color: #fff !important;
}

.badge.bg-warning,
.badge.badge-warning {
    background: var(--highlight-color) !important;
    color: var(--font-color, #000) !important;
}

.sale_tag,
.sale_tag.bg-pink,
.sale_tag.bg-danger,
.sale_tag.avatar {
    background: var(--tertiary-color) !important;
    border-color: var(--tertiary-color) !important;
    color: #fff !important;
}

.mirswa-card-add-btn.add_to_cart,
.main-content .add_to_cart.mirswa-card-add-btn,
.main-content .add_to_cart.item-cart,
.mirswa-product-grid-card__cart-btn.add_to_cart,
.mirswa-product-list-row__cart-btn.add_to_cart,
.mirswa-favorites-row__cart-btn.add_to_cart,
.deals-feature-card .mirswa-card-add-btn.add_to_cart,
.deals-feature-card .item-cart.add_to_cart,
.mirswa-card-add-slot > .mirswa-card-add-btn,
.mirswa-card-add-slot > .add_to_cart.mirswa-card-add-btn,
.mirswa-card-add-slot > .add_to_cart.item-cart,
.item figure .mirswa-card-add-btn.item-cart,
.swiper-slide figure .mirswa-card-add-btn.item-cart,
.item figure .add_to_cart.mirswa-card-add-btn,
.swiper-slide figure .add_to_cart.mirswa-card-add-btn,
.mirswa-pdp-related .mirswa-card-add-btn.add_to_cart,
.mirswa-pdp-related .add_to_cart.item-cart {
    background: var(--tertiary-color) !important;
    border-color: var(--tertiary-color) !important;
    color: #fff !important;
}

.mirswa-card-add-btn.add_to_cart:hover,
.main-content .add_to_cart.mirswa-card-add-btn:hover,
.main-content .add_to_cart.item-cart:hover,
.mirswa-product-grid-card__cart-btn.add_to_cart:hover,
.mirswa-product-list-row__cart-btn.add_to_cart:hover,
.mirswa-favorites-row__cart-btn.add_to_cart:hover,
.deals-feature-card .mirswa-card-add-btn.add_to_cart:hover,
.deals-feature-card .item-cart.add_to_cart:hover,
.mirswa-card-add-slot > .mirswa-card-add-btn:hover,
.item figure .mirswa-card-add-btn.item-cart:hover,
.swiper-slide figure .mirswa-card-add-btn.item-cart:hover,
.item:hover figure .mirswa-card-add-btn.item-cart,
.swiper-slide:hover figure .mirswa-card-add-btn.item-cart {
    background: var(--quaternary-color) !important;
    border-color: var(--quaternary-color) !important;
    color: #fff !important;
}

.text-danger,
.striped-price,
.text-red,
.discount-percent {
    color: var(--tertiary-color) !important;
}

.text-primary,
.text-blue {
    color: var(--primary-color) !important;
}

/* PDP — final layout overrides (breadcrumb, sticky CTA) */
.pdp-page section.wrapper.mirswa-pdp-section {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

@media (min-width: 992px) {
    .pdp-page section.wrapper.mirswa-pdp-section.listing-page.bg-light > .container.mirswa-pdp-page-container,
    .pdp-page .mirswa-pdp-page-container {
        padding-top: 0 !important;
    }

    .pdp-page .pdp-right-top {
        padding-top: 0.15rem !important;
    }

    .pdp-page .product-layout-wrap > .row {
        margin-top: 0.2rem !important;
    }
}

.pdp-page .mirswa-pdp-breadcrumb {
    margin-top: 0 !important;
    padding-top: 0.2rem !important;
}

@media (max-width: 767.98px) {
    .pdp-page .mirswa-pdp-breadcrumb {
        padding-top: 0.15rem !important;
    }

    .pdp-page .product-layout-wrap > .row {
        margin-top: 0.15rem !important;
    }
}

.pdp-page .mirswa-pdp-head {
    overflow: visible !important;
}

.pdp-page .product-page-details .product-title-pro {
    margin-bottom: 0.2rem;
}

.pdp-page .product-short-desc {
    margin-bottom: 0.35rem !important;
}

.pdp-page .product-page-details hr.my-2 {
    margin-top: 0.35rem !important;
    margin-bottom: 0.35rem !important;
}

.pdp-page .product-delivery-card {
    padding: 8px;
}

@media (min-width: 992px) {
    .pdp-page #pdp-cta-anchor {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        flex: 0 0 auto !important;
        height: auto !important;
        min-height: 76px !important;
        max-height: none !important;
        overflow: visible !important;
        padding: 12px 12px 14px !important;
    }

    .pdp-page #pdp-cta-anchor .product-cta-row {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        overflow: visible !important;
        min-height: 44px !important;
    }

    .pdp-page #pdp-cta-anchor .product-cta-row #add_cart,
    .pdp-page #pdp-cta-anchor .product-cta-row #buy_now {
        display: inline-flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
}

@media (max-width: 991.98px) {
    .pdp-page #pdp-cta-anchor {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        z-index: 1300 !important;
        overflow: visible !important;
    }

    .pdp-page #pdp-cta-anchor .product-cta-row {
        overflow: visible !important;
    }
}

/* My List / favorites page */
.mirswa-favorites-list {
    border: 1px solid #ececec;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
}

.mirswa-favorites-row {
    display: grid;
    grid-template-columns: 140px minmax(0, 1fr) 200px;
    gap: 1rem 1.15rem;
    align-items: center;
    padding: 0.95rem 1.1rem;
    border-bottom: 1px solid #ececec;
    background: #fff;
}

.mirswa-favorites-row:last-child {
    border-bottom: 0;
}

.mirswa-favorites-row__figure {
    position: relative;
    margin: 0;
    padding: 0.45rem;
    height: 128px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid #f0f0f0;
    border-radius: 6px;
}

.mirswa-favorites-row__image-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.mirswa-favorites-row__image {
    width: auto;
    max-width: 100%;
    max-height: 112px;
    object-fit: contain;
    display: block;
}

.mirswa-favorites-row__info {
    min-width: 0;
}

.mirswa-favorites-row__title {
    margin: 0 0 0.35rem;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.35;
}

.mirswa-favorites-row__title a {
    color: #212121;
    text-decoration: none;
}

.mirswa-favorites-row__title a:hover {
    color: var(--primary-color);
}

.mirswa-favorites-row__rating {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.65rem;
    margin-bottom: 0.3rem;
}

.mirswa-favorites-row__rating-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.12rem 0.45rem;
    border-radius: 4px;
    background: #388e3c;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.2;
}

.mirswa-favorites-row__rating-badge--muted {
    background: #eef2f7;
    color: #64748b;
}

.mirswa-favorites-row__rating-count {
    font-size: 0.8rem;
    color: #878787;
}

.mirswa-favorites-row__rating--empty .mirswa-favorites-row__rating-count {
    color: #9aa3af;
}

.mirswa-favorites-row__subdesc {
    margin: 0;
    color: #878787;
    font-size: 0.82rem;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.mirswa-favorites-row__buy {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.55rem;
    position: relative;
}

.mirswa-favorites-row__remove {
    align-self: flex-end;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--tertiary-color);
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
}

.mirswa-favorites-row__remove:hover {
    color: var(--quaternary-color);
}

.mirswa-favorites-row__remove i {
    font-size: 1rem;
}

.mirswa-favorites-row__price-current {
    font-size: 1.05rem;
    font-weight: 700;
    color: #212121;
}

.mirswa-favorites-row__price-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.5rem;
    margin-top: 0.15rem;
}

.mirswa-favorites-row__price-mrp {
    color: #878787;
    font-size: 0.84rem;
}

.mirswa-favorites-row__price-off {
    color: #388e3c;
    font-size: 0.82rem;
    font-weight: 600;
}

.mirswa-favorites-row__cart-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 40px;
    border-radius: 6px;
    font-size: 0.88rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    box-shadow: none;
}

@media (max-width: 991.98px) {
    .mirswa-favorites-row {
        grid-template-columns: 120px minmax(0, 1fr);
    }

    .mirswa-favorites-row__buy {
        grid-column: 1 / -1;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        border-top: 1px dashed #ececec;
        padding-top: 0.75rem;
        margin-top: 0.1rem;
    }

    .mirswa-favorites-row__remove {
        order: 3;
        margin-left: auto;
    }

    .mirswa-favorites-row__price-block {
        flex: 1 1 auto;
        min-width: 0;
    }

    .mirswa-favorites-row__cart-btn {
        flex: 0 0 auto;
        width: auto;
        min-width: 140px;
    }
}

@media (max-width: 575.98px) {
    .mirswa-favorites-row {
        grid-template-columns: 96px minmax(0, 1fr);
        gap: 0.75rem;
        padding: 0.85rem 0.75rem;
    }

    .mirswa-favorites-row__figure {
        height: 104px;
    }

    .mirswa-favorites-row__image {
        max-height: 92px;
    }

    .mirswa-favorites-row__title {
        font-size: 0.92rem;
    }

    .mirswa-favorites-row__cart-btn {
        min-width: 120px;
    }
}

/* ==========================================
   POLISHED BUTTON & SOCIAL MAP INTERACTION
   ========================================== */

/* Social Map Pointer Events & Canvas Rules */
body.mirswa-inline-map-active #mirswa_social_map_view:not(.d-none) .gm-style .mirswa-gm-pass-through,
#mirswa_social_map_view:not(.d-none) .gm-style .mirswa-gm-pass-through {
    pointer-events: none !important;
    touch-action: none !important;
}

#mirswa_social_map_view:not(.d-none) .mirswa-social-map-wrap,
#mirswa_social_map_view:not(.d-none) .mirswa-social-map-canvas,
#signup_social_map_canvas,
#signup_social_map_canvas .gm-style iframe,
#signup_social_map_canvas .gm-style canvas,
#signup_social_map_canvas .gm-style .mirswa-gm-interactive {
    pointer-events: auto !important;
    touch-action: auto !important;
    cursor: grab !important;
}

.mirswa-social-map-wrap {
    position: relative !important;
    z-index: 1 !important;
    min-height: 220px;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08), 0 4px 12px rgba(0, 0, 0, 0.05);
}

/* Professional Polished Buttons */
#signup_social_map_use {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.5rem;
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.2px;
    color: #ffffff;
    background: linear-gradient(135deg, #0d6efd 0%, #0b5ed7 100%);
    border: none;
    border-radius: 50px;
    box-shadow: 0 4px 14px rgba(13, 110, 253, 0.28);
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    cursor: pointer;
}

#signup_social_map_use:hover:not(:disabled) {
    background: linear-gradient(135deg, #0b5ed7 0%, #0a58ca 100%);
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(13, 110, 253, 0.38);
}

#signup_social_map_use:disabled {
    opacity: 0.55;
    background: #a0a0a0;
    box-shadow: none;
    cursor: not-allowed;
    transform: none;
}

.mirswa-social-reg-footer {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 1.25rem;
}

#social-register-back-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.7rem 1.4rem;
    font-size: 0.9rem;
    font-weight: 600;
    color: #495057;
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 50px;
    transition: all 0.2s ease;
    cursor: pointer;
    text-decoration: none;
}

#social-register-back-btn:hover {
    background-color: #e9ecef;
    color: #212529;
    border-color: #ced4da;
}

#social-register-submit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 auto;
    padding: 0.75rem 1.5rem;
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.3px;
    color: #ffffff;
    background: linear-gradient(135deg, #0d6efd 0%, #0b5ed7 100%);
    border: none;
    border-radius: 50px;
    box-shadow: 0 4px 14px rgba(13, 110, 253, 0.28);
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    cursor: pointer;
    text-transform: uppercase;
}

#social-register-submit-btn:hover:not(:disabled) {
    background: linear-gradient(135deg, #0b5ed7 0%, #0a58ca 100%);
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(13, 110, 253, 0.38);
}