/*
 * CLEAN RESET.
 *
 * The Saniyar renderer intentionally uses the original style.css and
 * responsive.css without visual overrides here.
 */

/* NAFISPOD_SANIYAR_PRODUCT_CAROUSEL_V1 */
.saniyar-product-carousel .saniyar-product-circle-action {
    width: 35px;
    height: 35px;
    line-height: 35px;
    text-align: center;
    border-radius: 50%;
    background: #f4f4f4;
    transition: 200ms;
    padding: 0;
}

.saniyar-product-carousel .saniyar-product-circle-action:hover {
    background-color: #ddd;
}

.saniyar-product-carousel .saniyar-product-circle-action i {
    font-size: 16px;
}

.saniyar-product-carousel .product-header-btn > *:not(:last-child) {
    margin-left: 5px;
}

.saniyar-product-carousel .product-title {
    align-items: center;
}

.saniyar-product-carousel .product-action {
    min-height: 72px;
}

.saniyar-product-carousel .product-action .price {
    min-width: 0;
}

.saniyar-product-logo-rotator {
    display: grid;
}

.saniyar-product-logo-rotator .saniyar-product-logo-frame {
    grid-area: 1 / 1;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 220ms ease, visibility 220ms ease;
}

.saniyar-product-logo-rotator .saniyar-product-logo-frame.is-active {
    opacity: 1;
    visibility: visible;
}

.saniyar-product-card-description {
    display: block;
    width: 100%;
    max-width: 100%;
    min-height: 1.6em;
    line-height: 1.6;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 12px;
}

.saniyar-product-view-button {
    font-size: 12px !important;
}

.saniyar-quick-view .modal-content {
    background: var(--bs-body-bg, #fff);
}

.saniyar-quick-view .saniyar-quick-view-gallery {
    max-width: 680px;
    margin-inline: auto;
}

.saniyar-quick-view .product-gallery .swiper-slide {
    min-height: 320px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.saniyar-quick-view .product-gallery .swiper-zoom-container {
    width: 100%;
    min-height: 320px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.saniyar-quick-view .product-gallery img {
    max-height: 390px;
    object-fit: contain;
}

.saniyar-quick-view .product-gallery-thumb {
    margin-top: 12px;
}

.saniyar-quick-view .product-gallery-thumb .swiper-slide {
    min-height: 82px;
    border: 1px solid #eee;
    border-radius: 10px;
    padding: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.saniyar-quick-view .product-gallery-thumb .swiper-slide-thumb-active {
    border-color: var(--color-site);
}

.saniyar-quick-view .product-gallery-thumb img {
    width: 100%;
    height: 68px;
    object-fit: contain;
}

.saniyar-quick-view .saniyar-quick-view-description {
    border-bottom: 1px solid #eee;
    padding-bottom: 16px;
}

.saniyar-quick-view [data-saniyar-variant-table] th,
.saniyar-quick-view [data-saniyar-variant-table] td {
    vertical-align: middle;
}

@media (max-width: 575.98px) {
    .saniyar-product-carousel .product-action {
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 8px;
    }

    .saniyar-product-carousel .saniyar-product-view-link {
        width: 100%;
        flex: 0 0 100%;
    }

    .saniyar-product-carousel .saniyar-product-view-button {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
    }

    .saniyar-quick-view .product-gallery .swiper-slide,
    .saniyar-quick-view .product-gallery .swiper-zoom-container {
        min-height: 230px;
    }

    .saniyar-quick-view .product-gallery img {
        max-height: 280px;
    }

    .saniyar-quick-view .product-gallery-thumb .swiper-slide {
        min-height: 64px;
        padding: 5px;
    }

    .saniyar-quick-view .product-gallery-thumb img {
        height: 54px;
    }
}

/* NAFISPOD_SANIYAR_PRODUCT_CAROUSEL_VISUAL_REPAIR_V1_0_1 */

/* Product-card logo stack must remain centered regardless of native theme
   rules that target .product-image img. */
.saniyar-product-carousel .product-image.saniyar-product-logo-rotator {
    display: grid !important;
    place-items: center !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 220px;
    overflow: hidden;
    text-align: center;
}

.saniyar-product-carousel
.product-image.saniyar-product-logo-rotator
.saniyar-product-logo-frame {
    grid-area: 1 / 1;
    justify-self: center;
    align-self: center;
    width: auto !important;
    max-width: 100% !important;
    max-height: 210px;
    margin-inline: auto !important;
    object-fit: contain;
    object-position: center;
    pointer-events: none;
}

.saniyar-product-carousel
.product-image.saniyar-product-logo-rotator
.saniyar-product-logo-frame:not(.is-active) {
    opacity: 0 !important;
    visibility: hidden !important;
}

.saniyar-product-carousel
.product-image.saniyar-product-logo-rotator
.saniyar-product-logo-frame.is-active {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Description belongs below the Product title and stays exactly one line. */
.saniyar-product-carousel .saniyar-product-card-description {
    margin-top: 2px;
    min-height: 1.6em;
    text-align: start;
}

/* Quick View gallery: native Saniyar structure, corrected controls. */
.saniyar-quick-view .saniyar-quick-view-gallery {
    position: relative;
}

.saniyar-quick-view
.product-gallery
.swiper-button-next,
.saniyar-quick-view
.product-gallery
.swiper-button-prev {
    top: 50% !important;
    bottom: auto !important;
    width: 42px !important;
    height: 42px !important;
    margin-top: 0 !important;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.10);
    transform: translateY(-50%) !important;
    z-index: 12;
}

.saniyar-quick-view
.product-gallery
.swiper-button-next {
    right: 14px !important;
    left: auto !important;
}

.saniyar-quick-view
.product-gallery
.swiper-button-prev {
    left: 14px !important;
    right: auto !important;
}

.saniyar-quick-view
.product-gallery
.swiper-button-next::after,
.saniyar-quick-view
.product-gallery
.swiper-button-prev::after {
    font-size: 18px !important;
}

.saniyar-quick-view .product-gallery-thumb {
    width: 100%;
    padding-inline: 8px;
}

.saniyar-quick-view .product-gallery-thumb .swiper-wrapper {
    align-items: center;
}

/* A subtle visual cue that the main image is a carousel with more content. */
.saniyar-quick-view .has-multiple-images {
    border-radius: 14px;
    box-shadow:
        0 0 0 1px rgba(37, 99, 235, 0.10),
        0 10px 28px rgba(37, 99, 235, 0.08);
}

.saniyar-quick-view .saniyar-quick-view-gallery-hint {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 15;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    max-width: calc(100% - 24px);
    padding: 7px 11px;
    border: 1px solid rgba(37, 99, 235, 0.15);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 5px 18px rgba(37, 99, 235, 0.10);
    font-size: 11px;
    line-height: 1.4;
    color: var(--saniyar-heading-color, #757c91);
    pointer-events: none;
    animation: saniyar-gallery-hint-pulse 2.2s ease-in-out infinite;
}

.saniyar-quick-view .saniyar-quick-view-gallery-hint i {
    color: var(--color-site);
    font-size: 16px;
}

@keyframes saniyar-gallery-hint-pulse {
    0%,
    100% {
        box-shadow: 0 5px 18px rgba(37, 99, 235, 0.10);
    }

    50% {
        box-shadow: 0 5px 22px rgba(37, 99, 235, 0.24);
    }
}

@media (max-width: 575.98px) {
    .saniyar-product-carousel
    .product-image.saniyar-product-logo-rotator {
        min-height: 190px;
    }

    .saniyar-product-carousel
    .product-image.saniyar-product-logo-rotator
    .saniyar-product-logo-frame {
        max-height: 180px;
    }

    .saniyar-quick-view .saniyar-quick-view-gallery-hint {
        top: 8px;
        right: 8px;
        padding: 6px 9px;
        font-size: 10px;
    }
}

/* NAFISPOD_SANIYAR_PRODUCT_CAROUSEL_INTERACTION_REPAIR_V1_0_2 */

.saniyar-quick-view .saniyar-quick-view-scroll-cue-wrap {
    display: flex;
    justify-content: center;
    margin: 5px 0 18px;
}

.saniyar-quick-view .saniyar-quick-view-scroll-cue {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1px;
    min-width: 150px;
    padding: 7px 16px 4px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--saniyar-heading-color, #757c91);
    font-size: 11px;
    line-height: 1.4;
    cursor: pointer;
    transition: color 180ms ease, transform 180ms ease;
}

.saniyar-quick-view .saniyar-quick-view-scroll-cue:hover,
.saniyar-quick-view .saniyar-quick-view-scroll-cue:focus-visible {
    color: var(--color-site);
    transform: translateY(2px);
    outline: none;
}

.saniyar-quick-view .saniyar-quick-view-scroll-cue i {
    color: var(--color-site);
    font-size: 18px;
    animation: saniyar-quick-view-scroll-cue 1.35s ease-in-out infinite;
}

.saniyar-quick-view [data-quick-view-details] {
    scroll-margin-top: 16px;
}

@keyframes saniyar-quick-view-scroll-cue {
    0%,
    100% {
        transform: translateY(0);
        opacity: 0.72;
    }

    50% {
        transform: translateY(5px);
        opacity: 1;
    }
}

/* NAFISPOD_SANIYAR_PRODUCT_VIEW_BUTTON_ALIGN_V1 */
.saniyar-product-carousel .saniyar-product-view-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px;
    font-weight: 700 !important;
    line-height: 1 !important;
}

.saniyar-product-carousel .saniyar-product-view-button > i,
.saniyar-product-carousel .saniyar-product-view-button > span {
    line-height: 1 !important;
}

/* NAFISPOD_SANIYAR_PRODUCT_CAROUSEL_SPACING_V1
 *
 * Native Saniyar reserves 100px under every product slider for navigation.
 * Nafispod Product cards are shorter, so that reserve becomes a visibly
 * oversized gap before the following Section. Keep a compact navigation
 * lane only for this renderer; do not change other Saniyar site sliders.
 */
.saniyar-product-carousel .product-slider-swiper {
    padding-bottom: 44px !important;
}

.saniyar-product-carousel .swiper-button-next,
.saniyar-product-carousel .swiper-button-prev {
    top: auto !important;
    bottom: 4px !important;
}


/* NAFISPOD_STOREFRONT_CATEGORY_HUB_V1 */
.saniyar-category-hub .saniyar-category-domain-card {
    min-height: 135px;
    color: inherit;
    transition: transform 220ms ease, box-shadow 220ms ease;
}

.saniyar-category-hub .saniyar-category-domain-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
}

.saniyar-category-hub .saniyar-category-domain-icon {
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    background: var(--main-color-one-shadow);
}

.saniyar-category-hub .saniyar-category-domain-icon i {
    color: var(--main-color-one);
    font-size: 25px;
}
/* NAFISPOD_SANIYAR_HERO_MOBILE_CENTER_V1 */
@media (max-width: 767.98px) {
    #homeSlider .swiper-slide img {
        object-position: center center;
    }
}


/*
 * NAFISPOD_SANIYAR_FAST_AUTH_TOAST_V1
 *
 * Reuse the canonical shared #liveToast. Saniyar deliberately does
 * not load Phoenix custom.css, so it owns only this positioning layer.
 */
.app-ui-toast-container {
    position: fixed !important;
    top: 1rem;
    right: auto;
    left: 50%;
    z-index: 1090;
    width: min(350px, calc(100vw - 2rem));
    max-width: calc(100vw - 2rem);
    transform: translateX(-50%);
    pointer-events: none;
}

.app-ui-toast-container > .toast {
    width: 100%;
    max-width: 100%;
    pointer-events: auto;
}

@media (max-width: 575.98px) {
    .app-ui-toast-container {
        top: 0.75rem;
        width: calc(100vw - 1.5rem);
        max-width: calc(100vw - 1.5rem);
    }
}
/*
 * NAFISPOD_SANIYAR_HERO_RUNTIME_FIX_V2
 *
 * Runtime-confirmed final Hero presentation contract.
 * This file is loaded after style.css and responsive.css.
 */
#homeSlider .swiper-slide img {
    object-fit: fill !important;
    object-position: center center;
}

/*
 * The Hero Side is the only product-image surface inside .main-slider.
 * Do not depend on a JS runtime class to center it.
 */
/* NAFISPOD_SANIYAR_HERO_SIDE_CENTER_ALL_VIEWPORTS_V1 */
.main-slider .product-image {
    width: 100%;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center;
}

.main-slider .product-image > a {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.main-slider .product-image img {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
/* NAFISPOD_SANIYAR_CATEGORY_TREE_V1_START */
.saniyar-category-tree {
    --saniyar-category-tree-logo-size: 44px;
    --saniyar-category-tree-toggle-size: 30px;
    --saniyar-category-tree-indent: 28px;
    width: 100%;
}

.saniyar-category-tree__roots {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.saniyar-category-tree__node {
    min-width: 0;
}

.saniyar-category-tree__row {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 64px;
    padding: 8px 10px;
    border: 1px solid var(--bs-border-color, rgba(0, 0, 0, .12));
    border-radius: 12px;
    background: var(--bs-body-bg, #fff);
    box-shadow: 0 3px 14px rgba(15, 23, 42, .045);
    transition:
        border-color .18s ease,
        box-shadow .18s ease;
}

.saniyar-category-tree__row:hover {
    border-color: var(--bs-primary, #0d6efd);
    box-shadow: 0 5px 18px rgba(15, 23, 42, .08);
}

.saniyar-category-tree__toggle,
.saniyar-category-tree__toggle-spacer {
    flex: 0 0 var(--saniyar-category-tree-toggle-size);
    width: var(--saniyar-category-tree-toggle-size);
    height: var(--saniyar-category-tree-toggle-size);
}

.saniyar-category-tree__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border: 1px solid var(--bs-border-color, rgba(0, 0, 0, .10));
    border-radius: 8px;
    background: transparent;
    color: var(--bs-secondary-color, #6c757d);
    cursor: pointer;
    transition:
        background-color .18s ease,
        color .18s ease;
}

.saniyar-category-tree__toggle:hover,
.saniyar-category-tree__toggle:focus-visible {
    border-color: var(--bs-primary, #0d6efd);
    background: color-mix(in srgb, var(--bs-primary, #0d6efd) 9%, transparent);
    color: var(--bs-primary, #0d6efd);
    outline: none;
}

.saniyar-category-tree__toggle-icon {
    font-size: 11px;
    line-height: 1;
    opacity: .78;
    transition:
        transform .18s ease,
        opacity .18s ease;
}

.saniyar-category-tree__node.is-expanded
> .saniyar-category-tree__row
> .saniyar-category-tree__toggle
> .saniyar-category-tree__toggle-icon {
    transform: rotate(-90deg);
}

.saniyar-category-tree__link {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1 1 auto;
    min-width: 0;
    color: inherit;
    text-decoration: none;
}

.saniyar-category-tree__link:hover {
    color: var(--bs-primary, #0d6efd);
}

.saniyar-category-tree__logo {
    flex: 0 0 var(--saniyar-category-tree-logo-size);
    width: var(--saniyar-category-tree-logo-size);
    height: var(--saniyar-category-tree-logo-size);
    border-radius: 50%;
    object-fit: cover;
    background: var(--bs-tertiary-bg, rgba(0, 0, 0, .045));
}

.saniyar-category-tree__logo--fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}

.saniyar-category-tree__content {
    display: block;
    min-width: 0;
    flex: 1 1 auto;
}

.saniyar-category-tree__title {
    display: block;
    overflow: hidden;
    font-size: 14px;
    line-height: 1.8;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.saniyar-category-tree__link-icon {
    flex: 0 0 auto;
    font-size: 20px;
    opacity: .55;
}

.saniyar-category-tree__children {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-block-start: 8px;
    margin-inline-start: var(--saniyar-category-tree-indent);
    padding-inline-start: 18px;
    border-inline-start: 1px dashed var(--bs-border-color, rgba(0, 0, 0, .16));
}

.saniyar-category-tree__children[hidden] {
    display: none !important;
}

.saniyar-category-tree__children
> .saniyar-category-tree__node
> .saniyar-category-tree__row {
    min-height: 58px;
    box-shadow: none;
}

.saniyar-category-tree__empty {
    padding: 22px;
    border: 1px dashed var(--bs-border-color, rgba(0, 0, 0, .16));
    border-radius: 12px;
    background: var(--bs-body-bg, #fff);
    color: var(--bs-secondary-color, #6c757d);
    text-align: center;
}

@media (max-width: 575.98px) {
    .saniyar-category-tree {
        --saniyar-category-tree-logo-size: 38px;
        --saniyar-category-tree-toggle-size: 28px;
        --saniyar-category-tree-indent: 14px;
    }

    .saniyar-category-tree__row {
        min-height: 56px;
        gap: 7px;
        padding: 7px 8px;
        border-radius: 10px;
    }

    .saniyar-category-tree__children {
        gap: 6px;
        margin-block-start: 6px;
        padding-inline-start: 10px;
    }

    .saniyar-category-tree__title {
        font-size: 13px;
    }

    .saniyar-category-tree__link-icon {
        display: none;
    }
}
/* NAFISPOD_SANIYAR_CATEGORY_TREE_V1_END */

/* NAFISPOD_SANIYAR_LISTING_HEADER_CARDS_V1_START */
.saniyar-page-header {
    padding: 20px 0 0;
}

.saniyar-page-header__surface {
    padding: 14px 16px;
    border: 1px solid var(--bs-border-color, rgba(0, 0, 0, .12));
    border-radius: 12px;
    background: var(--bs-body-bg, #fff);
    box-shadow: 0 3px 14px rgba(15, 23, 42, .045);
}

.saniyar-page-header__title-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 9px;
}

.saniyar-page-header__mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: color-mix(
        in srgb,
        var(--bs-primary, #0d6efd) 10%,
        transparent
    );
    color: var(--bs-primary, #0d6efd);
    font-size: 14px;
}

.saniyar-page-header__title {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.8;
}

.saniyar-breadcrumb {
    min-width: 0;
}

.saniyar-breadcrumb__list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.saniyar-breadcrumb__item {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
    font-size: 11px;
    line-height: 1.8;
}

.saniyar-breadcrumb__link {
    color: var(--bs-secondary-color, #6c757d);
    text-decoration: none;
}

.saniyar-breadcrumb__link:hover,
.saniyar-breadcrumb__link:focus-visible {
    color: var(--bs-primary, #0d6efd);
}

.saniyar-breadcrumb__current {
    color: var(--bs-body-color, #212529);
    font-weight: 600;
}

.saniyar-breadcrumb__separator {
    color: var(--bs-secondary-color, #6c757d);
    font-size: 9px;
    opacity: .7;
}

.saniyar-listing-page {
    min-height: 70vh;
    background: var(--bs-body-bg, #fff) !important;
}

.saniyar-category-domain-card {
    background: var(--bs-body-bg, #fff) !important;
    color: var(--bs-body-color, #212529);
}

.saniyar-listing-grid-wrap {
    padding: 20px 0 28px;
}

.saniyar-listing-description {
    padding: 14px 16px;
    border-inline-start: 3px solid var(--bs-primary, #0d6efd);
    border-radius: 8px;
    background: var(--bs-tertiary-bg, rgba(0, 0, 0, .035));
    color: var(--bs-secondary-color, #6c757d);
    font-size: 12px;
    line-height: 2;
}

.saniyar-list-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    border: 1px solid var(--bs-border-color, rgba(0, 0, 0, .12));
    border-radius: 12px;
    background: var(--bs-body-bg, #fff);
    box-shadow: 0 3px 14px rgba(15, 23, 42, .045);
    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        transform .18s ease;
}

.saniyar-list-card:hover {
    border-color: color-mix(
        in srgb,
        var(--bs-primary, #0d6efd) 38%,
        var(--bs-border-color, rgba(0, 0, 0, .12))
    );
    box-shadow: 0 7px 22px rgba(15, 23, 42, .08);
    transform: translateY(-2px);
}

.saniyar-list-card__media {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--bs-tertiary-bg, rgba(0, 0, 0, .035));
}

.saniyar-list-card__image,
.saniyar-list-card__image-fallback {
    width: 100%;
    height: 100%;
}

.saniyar-list-card__image {
    display: block;
    object-fit: contain;
}

.saniyar-list-card__image-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--bs-secondary-color, #6c757d);
    font-size: 30px;
}

.saniyar-list-card__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 13px;
}

.saniyar-list-card__eyebrow {
    min-height: 22px;
    margin-bottom: 4px;
    overflow: hidden;
    color: var(--bs-secondary-color, #6c757d);
    font-size: 11px;
    line-height: 1.8;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.saniyar-list-card__eyebrow-link {
    color: inherit;
    text-decoration: none;
}

.saniyar-list-card__eyebrow-link:hover,
.saniyar-list-card__eyebrow-link:focus-visible {
    color: var(--bs-primary, #0d6efd);
}

.saniyar-list-card__title {
    min-height: 50px;
    margin: 0 0 8px;
    overflow: hidden;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.8;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.saniyar-list-card__title a {
    color: inherit;
    text-decoration: none;
}

.saniyar-list-card__title a:hover,
.saniyar-list-card__title a:focus-visible {
    color: var(--bs-primary, #0d6efd);
}

.saniyar-list-card__meta {
    min-height: 25px;
    margin-bottom: 12px;
    color: var(--bs-secondary-color, #6c757d);
    font-size: 12px;
    line-height: 1.8;
}

.saniyar-list-card__cta {
    width: 100%;
    margin-top: auto;
    font-size: 12px;
}

.saniyar-listing-empty {
    padding: 28px 18px;
    border: 1px dashed var(--bs-border-color, rgba(0, 0, 0, .16));
    border-radius: 12px;
    background: var(--bs-body-bg, #fff);
    color: var(--bs-secondary-color, #6c757d);
    text-align: center;
}

@media (max-width: 575.98px) {
    .saniyar-page-header {
        padding-top: 12px;
    }

    .saniyar-page-header__surface {
        padding: 11px 12px;
        border-radius: 10px;
    }

    .saniyar-page-header__title {
        font-size: 14px;
    }

    .saniyar-breadcrumb__item {
        font-size: 10px;
    }

    .saniyar-listing-grid-wrap {
        padding-top: 14px;
    }

    .saniyar-list-card__media {
        aspect-ratio: 16 / 9;
    }
}
/* NAFISPOD_SANIYAR_LISTING_HEADER_CARDS_V1_END */

/* NAFISPOD_SANIYAR_LISTING_HOME_CARD_CONTRACT_V1_START */
/* Superseded layout adapter; canonical Home-card renderer contract retained. */
/* NAFISPOD_SANIYAR_LISTING_HOME_CARD_CONTRACT_V1_END */

/* NAFISPOD_SANIYAR_LISTING_GRID_CONTINUITY_V1_START */
/*
 * Listing keeps the canonical Home card renderer, but not its Swiper/chunk
 * transport. JavaScript moves only real card nodes into one continuous grid.
 *
 * Breakpoints intentionally mirror the original Saniyar Home product row:
 *   <576   : 1
 *   >=576  : 2
 *   >=768  : 2
 *   >=1024 : 3
 *   >=1200 : 4
 *   >=1400 : 5
 */
.saniyar-listing-home-contract {
    display: block !important;
    width: 100%;
}

.saniyar-listing-home-contract__items {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
    width: 100%;
}

.saniyar-listing-home-contract__item {
    min-width: 0;
    height: 100%;
}

.saniyar-listing-home-contract__item > .product-box,
.saniyar-listing-home-contract__item > .blog-item,
.saniyar-listing-home-contract__item [data-saniyar-product-card-item],
.saniyar-listing-home-contract__item [data-saniyar-content-card] {
    width: 100%;
    height: 100%;
    margin: 0 !important;
}

.saniyar-listing-home-contract__modals {
    display: block;
}

@media (min-width: 576px) {
    .saniyar-listing-home-contract__items {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .saniyar-listing-home-contract__items {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 1200px) {
    .saniyar-listing-home-contract__items {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (min-width: 1400px) {
    .saniyar-listing-home-contract__items {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}
/* NAFISPOD_SANIYAR_LISTING_GRID_CONTINUITY_V1_END */

/* NAFISPOD_SANIYAR_LISTING_PAGINATION_V1_START */
.saniyar-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
    padding-top: 4px;
}

.saniyar-pagination__summary {
    color: var(--bs-secondary-color, #6c757d);
    font-size: 12px;
    line-height: 1.8;
}

.saniyar-pagination__summary strong {
    color: var(--bs-body-color, #212529);
    font-weight: 600;
}

.saniyar-pagination__pages {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
    direction: ltr;
}

.saniyar-pagination__page,
.saniyar-pagination__control,
.saniyar-pagination__ellipsis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    padding-inline: 8px;
    border: 1px solid var(--bs-border-color, rgba(0, 0, 0, .12));
    border-radius: 8px;
    background: var(--bs-body-bg, #fff);
    color: var(--bs-body-color, #212529);
    font-size: 12px;
    line-height: 1;
    text-decoration: none;
}

.saniyar-pagination__page:hover,
.saniyar-pagination__page:focus-visible,
.saniyar-pagination__control:hover,
.saniyar-pagination__control:focus-visible {
    border-color: var(--bs-primary, #0d6efd);
    color: var(--bs-primary, #0d6efd);
    outline: none;
}

.saniyar-pagination__page.is-active {
    border-color: var(--bs-primary, #0d6efd);
    background: var(--bs-primary, #0d6efd);
    color: #fff;
    pointer-events: none;
}

.saniyar-pagination__control {
    font-size: 12px;
}

.saniyar-pagination__control.is-disabled {
    opacity: .4;
    pointer-events: none;
}

.saniyar-pagination__ellipsis {
    min-width: 22px;
    border-color: transparent;
    background: transparent;
    color: var(--bs-secondary-color, #6c757d);
}

@media (max-width: 575.98px) {
    .saniyar-pagination {
        flex-direction: column;
        gap: 8px;
        margin-top: 18px;
    }

    .saniyar-pagination__page,
    .saniyar-pagination__control {
        min-width: 32px;
        height: 32px;
        padding-inline: 6px;
    }
}
/* NAFISPOD_SANIYAR_LISTING_PAGINATION_V1_END */

/* NAFISPOD_SANIYAR_CONTACT_RICH_CONTENT_V1_START */
.saniyar-contact-page__section,
.saniyar-rich-metadata__section {
    margin: 24px 0;
    padding: 22px;
    border: 1px solid var(--bs-border-color, rgba(0, 0, 0, .12));
    border-radius: 18px;
    background: var(--bs-body-bg, #fff);
    box-shadow: 0 8px 28px rgba(15, 23, 42, .055);
}

.saniyar-contact-page__section-heading,
.saniyar-rich-metadata__heading {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
}

.saniyar-contact-page__section-heading h2,
.saniyar-rich-metadata__heading h2 {
    margin: 0;
    font-size: 19px;
    font-weight: 800;
    line-height: 1.8;
}

.saniyar-contact-page__section-heading p {
    margin: 2px 0 0;
    color: var(--bs-secondary-color, #6c757d);
    font-size: 12px;
    line-height: 1.8;
}

.saniyar-contact-page__section-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border-radius: 13px;
    background: color-mix(in srgb, var(--main-color-one) 12%, transparent);
    color: var(--main-color-one);
    font-size: 20px;
}

.saniyar-contact-page__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.saniyar-contact-card {
    position: relative;
    display: flex;
    align-items: center;
    gap: 13px;
    min-height: 112px;
    padding: 16px;
    overflow: hidden;
    border: 1px solid var(--bs-border-color, rgba(0, 0, 0, .10));
    border-radius: 16px;
    background: var(--bs-tertiary-bg, rgba(0, 0, 0, .025));
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.saniyar-contact-card:hover {
    border-color: color-mix(in srgb, var(--main-color-one) 35%, transparent);
    box-shadow: 0 9px 24px rgba(15, 23, 42, .08);
    transform: translateY(-2px);
}

.saniyar-contact-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--main-color-one) 11%, transparent);
    color: var(--main-color-one);
    font-size: 22px;
}

.saniyar-contact-card--social .saniyar-contact-card__icon {
    font-size: 24px;
}

.saniyar-contact-card__content {
    min-width: 0;
}

.saniyar-contact-card__content h3 {
    margin: 0 0 5px;
    color: var(--bs-secondary-color, #6c757d);
    font-size: 12px;
    font-weight: 600;
}

.saniyar-contact-card__value {
    display: block;
    overflow-wrap: anywhere;
    color: var(--bs-body-color, #212529);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.9;
    text-decoration: none;
}

a.saniyar-contact-card__value:hover,
a.saniyar-contact-card__value:focus-visible {
    color: var(--main-color-one);
}

.saniyar-rich-metadata {
    margin-block: 24px;
}

.saniyar-rich-metadata__gallery {
    padding: 4px 4px 36px;
}

.saniyar-rich-metadata__gallery .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
}

.saniyar-rich-metadata__image-button {
    display: flex;
    width: 100%;
    min-height: 360px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--bs-border-color, rgba(0, 0, 0, .10));
    border-radius: 15px;
    background: var(--bs-tertiary-bg, rgba(0, 0, 0, .025));
    color: inherit;
}

.saniyar-rich-metadata__image-button img {
    width: 100%;
    height: 320px;
    object-fit: contain;
}

.saniyar-rich-metadata__image-button span {
    font-size: 12px;
    font-weight: 700;
    line-height: 1.8;
}

.saniyar-rich-metadata__media-card,
.saniyar-rich-metadata__audio-card,
.saniyar-rich-metadata__download {
    border: 1px solid var(--bs-border-color, rgba(0, 0, 0, .10));
    border-radius: 14px;
    background: var(--bs-tertiary-bg, rgba(0, 0, 0, .025));
}

.saniyar-rich-metadata__media-card {
    height: 100%;
    padding: 12px;
}

.saniyar-rich-metadata__media-card video {
    display: block;
    width: 100%;
    max-height: 440px;
    border-radius: 10px;
    background: #000;
}

.saniyar-rich-metadata__media-card p {
    margin: 10px 2px 0;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.8;
}

.saniyar-rich-metadata__audio-list,
.saniyar-rich-metadata__downloads {
    display: grid;
    gap: 12px;
}

.saniyar-rich-metadata__audio-card {
    padding: 14px;
}

.saniyar-rich-metadata__audio-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}

.saniyar-rich-metadata__audio-card audio {
    width: 100%;
}

.saniyar-rich-metadata__download {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 13px;
}

.saniyar-rich-metadata__download-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 11px;
    background: color-mix(in srgb, var(--main-color-one) 10%, transparent);
    color: var(--main-color-one);
    font-size: 20px;
}

.saniyar-rich-metadata__download-info {
    min-width: 0;
}

.saniyar-rich-metadata__download-info strong {
    display: block;
    margin-bottom: 3px;
    font-size: 13px;
}

.saniyar-rich-metadata__download-info > div {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 10px;
    color: var(--bs-secondary-color, #6c757d);
    font-size: 11px;
}

.saniyar-rich-metadata__modal .modal-body {
    text-align: center;
}

.saniyar-rich-metadata__modal [data-saniyar-rich-image-target] {
    max-width: 100%;
    max-height: 75vh;
    object-fit: contain;
}

.saniyar-contact-page__map {
    width: 100%;
    min-height: 420px;
    overflow: hidden;
    border: 1px solid var(--bs-border-color, rgba(0, 0, 0, .10));
    border-radius: 16px;
    background: var(--bs-tertiary-bg, rgba(0, 0, 0, .035));
}

@media (max-width: 1199.98px) {
    .saniyar-contact-page__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .saniyar-contact-page__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .saniyar-contact-page__map {
        min-height: 360px;
    }
}

@media (max-width: 575.98px) {
    .saniyar-contact-page__section,
    .saniyar-rich-metadata__section {
        margin: 16px 0;
        padding: 15px;
        border-radius: 14px;
    }

    .saniyar-contact-page__grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .saniyar-contact-card {
        min-height: 92px;
        padding: 13px;
    }

    .saniyar-rich-metadata__image-button {
        min-height: 250px;
    }

    .saniyar-rich-metadata__image-button img {
        height: 215px;
    }

    .saniyar-rich-metadata__download {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .saniyar-rich-metadata__download .btn {
        grid-column: 1 / -1;
        width: 100%;
    }

    .saniyar-contact-page__map {
        min-height: 300px;
    }
}
/* NAFISPOD_SANIYAR_RICH_METADATA_SINGLE_IMAGE_MODAL_V1 START
 * A single managed ContentPage image (notably `logo`) is a modest card,
 * never a full-width Swiper slide. Multi-image collections retain Swiper.
 */
.saniyar-rich-metadata__gallery--single {
    display: flex;
    justify-content: center;
    padding: 4px 0 12px;
    overflow: visible;
    min-width: 0;
}

.saniyar-rich-metadata__image-list {
    display: flex;
    justify-content: center;
    width: 100%;
    min-width: 0;
}

.saniyar-rich-metadata__image-item {
    width: min(100%, 360px);
    min-width: 0;
}

.saniyar-rich-metadata__gallery--single .saniyar-rich-metadata__image-button {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    min-height: 0;
    height: auto;
    overflow: hidden;
}

.saniyar-rich-metadata__gallery--single .saniyar-rich-metadata__image-button img {
    display: block;
    max-width: 100%;
    width: 100%;
    height: auto;
    max-height: 240px;
    object-fit: contain;
}

.saniyar-rich-metadata__section[data-metadata-field-code="logo"]
.saniyar-rich-metadata__gallery--single .saniyar-rich-metadata__image-item {
    width: min(100%, 280px);
}

.saniyar-rich-metadata__section[data-metadata-field-code="logo"]
.saniyar-rich-metadata__gallery--single .saniyar-rich-metadata__image-button img {
    max-height: 190px;
}

.saniyar-rich-metadata__modal [data-saniyar-rich-image-target] {
    display: inline-block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 75vh;
    object-fit: contain;
}

@media (max-width: 575.98px) {
    .saniyar-rich-metadata__gallery--single {
        padding-bottom: 4px;
    }

    .saniyar-rich-metadata__gallery--single .saniyar-rich-metadata__image-button {
        min-height: 0;
    }

    .saniyar-rich-metadata__gallery--single .saniyar-rich-metadata__image-button img {
        display: block;
        width: 100%;
        height: auto;
        max-height: 205px;
    }

    .saniyar-rich-metadata__section[data-metadata-field-code="logo"]
    .saniyar-rich-metadata__gallery--single .saniyar-rich-metadata__image-button img {
        max-height: 160px;
    }
}
/* NAFISPOD_SANIYAR_RICH_METADATA_SINGLE_IMAGE_MODAL_V1 END */

/* NAFISPOD_SANIYAR_CONTACT_RICH_CONTENT_V1_END */

/* NAFISPOD_SANIYAR_CONTACT_ROUTING_V1_START */
.saniyar-contact-route {
    display: grid;
    gap: 10px;
    margin-bottom: 14px;
}

.saniyar-contact-route__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.saniyar-contact-route__actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
}

.saniyar-contact-route__privacy,
.saniyar-contact-route__status {
    margin: 0;
    font-size: 11px;
    line-height: 1.9;
}

.saniyar-contact-route__privacy {
    color: var(--bs-secondary-color, #6c757d);
}

.saniyar-contact-route__summary {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid var(--bs-border-color, rgba(0, 0, 0, .10));
    border-radius: 12px;
    background: var(--bs-tertiary-bg, rgba(0, 0, 0, .025));
}

.saniyar-contact-route__summary > span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--bs-body-color, #212529);
    font-size: 12px;
}

.saniyar-contact-route__summary i {
    color: var(--main-color-one);
    font-size: 15px;
}

.saniyar-contact-page__map .maplibregl-canvas {
    outline: none;
}

@media (max-width: 575.98px) {
    .saniyar-contact-route__actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .saniyar-contact-route__actions .btn {
        width: 100%;
    }

    .saniyar-contact-route__summary {
        align-items: stretch;
        flex-direction: column;
    }
}
/* NAFISPOD_SANIYAR_CONTACT_ROUTING_V1_END */

/* NAFISPOD_SANIYAR_PRODUCT_CATEGORY_SORT_V1_START */
.saniyar-page-header__title-row--with-sort {
    flex-wrap: wrap;
    row-gap: 10px;
}

.saniyar-page-header__sort {
    display: flex;
    align-items: center;
    gap: 9px;
    /*
     * Keep controls in the natural RTL flow immediately after the title.
     * Do not push this first control to the physical left: later controls
     * will continue after it in the same header action sequence.
     */
    margin-inline-start: 12px;
    padding-inline-start: 0;
}

.saniyar-page-header__sort-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    color: var(--bs-secondary-color, #6c757d);
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}

.saniyar-page-header__sort-label i {
    color: var(--bs-primary, #0d6efd);
    font-size: 14px;
}

.saniyar-page-header__sort-select {
    width: auto;
    min-width: 228px;
    height: 38px;
    padding-block: 5px;
    border-color: var(--bs-border-color, rgba(0, 0, 0, .12));
    border-radius: 10px;
    background-color: var(--bs-body-bg, #fff);
    color: var(--bs-body-color, #212529);
    font-size: 12px;
    line-height: 1.6;
    box-shadow: none;
    cursor: pointer;
}

.saniyar-page-header__sort-select:hover {
    border-color: color-mix(
        in srgb,
        var(--bs-primary, #0d6efd) 45%,
        var(--bs-border-color, rgba(0, 0, 0, .12))
    );
}

.saniyar-page-header__sort-select:focus {
    border-color: var(--bs-primary, #0d6efd);
    box-shadow: 0 0 0 .16rem color-mix(
        in srgb,
        var(--bs-primary, #0d6efd) 14%,
        transparent
    );
}

@media (max-width: 767.98px) {
    .saniyar-page-header__title-row--with-sort {
        align-items: flex-start;
    }

    .saniyar-page-header__sort {
        flex: 1 1 100%;
        margin-inline-start: 0;
        padding-inline-start: 38px;
    }

    .saniyar-page-header__sort-select {
        flex: 1 1 auto;
        width: 100%;
        min-width: 0;
        max-width: 300px;
    }
}

@media (max-width: 575.98px) {
    .saniyar-page-header__sort {
        padding-inline-start: 0;
    }

    .saniyar-page-header__sort-label span {
        display: none;
    }

    .saniyar-page-header__sort-select {
        max-width: none;
    }
}
/* NAFISPOD_SANIYAR_PRODUCT_CATEGORY_SORT_V1_END */

/* NAFISPOD_SANIYAR_PRODUCT_CATEGORY_FILTERS_V1_START */
.saniyar-page-header__title-row--with-controls {
    flex-wrap: nowrap;
    min-width: 0;
}

.saniyar-page-header__title-row--with-controls
.saniyar-page-header__title {
    flex: 0 0 auto;
}

.saniyar-page-header__controls {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    gap: 9px;
    min-width: 0;
    margin-inline-start: 12px;
    padding: 2px 1px 5px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
    scrollbar-color:
        var(--bs-border-color, rgba(0, 0, 0, .18))
        transparent;
}

.saniyar-page-header__controls::-webkit-scrollbar {
    height: 5px;
}

.saniyar-page-header__controls::-webkit-scrollbar-track {
    background: transparent;
}

.saniyar-page-header__controls::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: var(
        --bs-border-color,
        rgba(0, 0, 0, .18)
    );
}

.saniyar-page-header__controls
.saniyar-page-header__sort {
    flex: 0 0 auto;
    margin-inline-start: 0;
    padding-inline-start: 0;
}

.saniyar-page-header__filter {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 7px;
}

.saniyar-page-header__filter-label {
    margin: 0;
    color: var(--bs-secondary-color, #6c757d);
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}

.saniyar-page-header__filter-select {
    width: auto;
    min-width: 126px;
    max-width: 190px;
    height: 38px;
    padding-block: 5px;
    border-color: var(
        --bs-border-color,
        rgba(0, 0, 0, .12)
    );
    border-radius: 10px;
    background-color: var(--bs-body-bg, #fff);
    color: var(--bs-body-color, #212529);
    font-size: 12px;
    line-height: 1.6;
    box-shadow: none;
    cursor: pointer;
}

.saniyar-page-header__filter-select:hover {
    border-color: color-mix(
        in srgb,
        var(--bs-primary, #0d6efd) 45%,
        var(--bs-border-color, rgba(0, 0, 0, .12))
    );
}

.saniyar-page-header__filter-select:focus {
    border-color: var(--bs-primary, #0d6efd);
    box-shadow: 0 0 0 .16rem color-mix(
        in srgb,
        var(--bs-primary, #0d6efd) 14%,
        transparent
    );
}

.saniyar-page-header__filter-reset {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 36px;
    padding-inline: 11px;
    border: 1px solid var(
        --bs-border-color,
        rgba(0, 0, 0, .12)
    );
    border-radius: 10px;
    background: color-mix(
        in srgb,
        var(--bs-body-bg, #fff) 94%,
        var(--bs-secondary-bg, #f3f4f6)
    );
    color: var(--bs-secondary-color, #6c757d);
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
}

.saniyar-page-header__filter-reset:hover,
.saniyar-page-header__filter-reset:focus-visible {
    border-color: color-mix(
        in srgb,
        var(--bs-primary, #0d6efd) 35%,
        var(--bs-border-color, rgba(0, 0, 0, .12))
    );
    color: var(--bs-primary, #0d6efd);
}

@media (max-width: 767.98px) {
    .saniyar-page-header__controls {
        margin-inline-start: 8px;
    }

    .saniyar-page-header__filter-label {
        display: none;
    }

    .saniyar-page-header__filter-select {
        min-width: 120px;
        max-width: 165px;
    }
}

@media (max-width: 575.98px) {
    .saniyar-page-header__title-row--with-controls
    .saniyar-page-header__mark {
        display: none;
    }

    .saniyar-page-header__controls {
        margin-inline-start: 7px;
    }

    .saniyar-page-header__sort-label {
        display: none;
    }

    .saniyar-page-header__sort-select {
        min-width: 190px;
        max-width: 220px;
    }

    .saniyar-page-header__filter-reset span {
        display: none;
    }
}
/* NAFISPOD_SANIYAR_PRODUCT_CATEGORY_FILTERS_V1_END */

/* NAFISPOD_SANIYAR_PRODUCT_CATEGORY_FILTER_PRESENTATION_V1_START */
.saniyar-page-header__filters-label {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 6px;
    min-height: 30px;
    margin-inline-start: 3px;
    padding-inline-start: 12px;
    border-inline-start: 1px solid var(
        --bs-border-color,
        rgba(0, 0, 0, .12)
    );
    color: var(--bs-body-color, #212529);
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.saniyar-page-header__filters-label i {
    color: var(--bs-primary, #0d6efd);
    font-size: 13px;
}

.saniyar-page-header__filter--color {
    gap: 6px;
}

.saniyar-page-header__filter-color-swatch {
    display: inline-block;
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    border: 1px solid var(
        --bs-border-color,
        rgba(0, 0, 0, .22)
    );
    border-radius: 5px;
    background:
        linear-gradient(
            135deg,
            transparent 0 44%,
            color-mix(
                in srgb,
                var(--bs-secondary-color, #6c757d) 28%,
                transparent
            ) 45% 55%,
            transparent 56% 100%
        );
    box-shadow:
        inset 0 0 0 1px
        color-mix(
            in srgb,
            var(--bs-body-bg, #fff) 70%,
            transparent
        );
}

.saniyar-page-header__filter-color-swatch.is-active {
    background: var(--saniyar-filter-color);
}

@media (max-width: 767.98px) {
    .saniyar-page-header__filters-label {
        padding-inline-start: 9px;
    }
}
/* NAFISPOD_SANIYAR_PRODUCT_CATEGORY_FILTER_PRESENTATION_V1_END */

/* NAFISPOD_PRE_RELEASE_FIX_02_SANIYAR_CONTENT_CARD_V1
 * One shared article/blog card is rendered by Home Swiper and Listing Grid.
 * Constrain logos and stretch content cards in BOTH contexts. This layer is
 * loaded after native Saniyar style.css and preserves dark/light surfaces.
 */
.saniyar-content-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    min-width: 0;
    overflow: hidden;
}

.saniyar-content-card__media-link {
    display: block;
    flex: 0 0 auto;
}

.saniyar-content-card__media {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 184px;
    padding: 10px;
    overflow: hidden;
}

/* More specific than the theme's .blog-item .image img 210px/cover rule. */
.saniyar-content-card .saniyar-content-card__media img.saniyar-content-card__image {
    display: block;
    width: auto;
    height: auto;
    max-width: min(100%, 164px);
    max-height: 164px;
    object-fit: contain;
}

.saniyar-content-card > .title {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
}

.saniyar-content-card__meta {
    min-height: 46px;
    gap: 6px;
    flex-wrap: wrap;
}

.saniyar-content-card__meta .title-item {
    min-width: 0;
    max-width: 100%;
}

.saniyar-content-card h4.saniyar-content-card__heading {
    min-height: 3.4em;
    margin: 10px 0 0;
    line-height: 1.7;
    -webkit-line-clamp: 2;
}

/* Swiper slides need flexible content just like the existing listing grid. */
.blog-slider[data-saniyar-content-slider] .swiper-wrapper {
    align-items: stretch;
}

.blog-slider[data-saniyar-content-slider] .swiper-wrapper > .swiper-slide {
    display: flex;
    height: auto;
}

.blog-slider[data-saniyar-content-slider] .swiper-wrapper > .swiper-slide > .saniyar-content-card {
    flex: 1 1 auto;
}

/* NAFISPOD_PRE_RELEASE_FIX_04_CONTENT_THREE_ROWS_V1
 * Home Swiper and Listings share the same canonical card HTML. Exactly three
 * stable single-line rows: title / Jalali date / body-derived excerpt.
 * Preserve FIX-02 media containment and FIX-03 hero-side isolation.
 */
.saniyar-content-card > .title.saniyar-content-card__body {
    display: grid;
    grid-template-rows: repeat(3, minmax(0, 1.85em));
    align-content: start;
    gap: 5px;
    min-width: 0;
}

.saniyar-content-card h4.saniyar-content-card__heading,
.saniyar-content-card__date,
.saniyar-content-card__excerpt {
    display: block;
    width: 100%;
    min-width: 0;
    min-height: 0;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.85;
}

.saniyar-content-card h4.saniyar-content-card__heading {
    -webkit-line-clamp: unset;
}

.saniyar-content-card h4.saniyar-content-card__heading > a {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.saniyar-content-card__date {
    display: flex;
    align-items: center;
    gap: 5px;
}

.saniyar-content-card__date time {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.saniyar-content-card__date > i {
    flex: 0 0 auto;
}

/* NAFISPOD_PRE_RELEASE_FIX_04_CATEGORY_LINK_COMPAT_V1
 * Keep the canonical primary-category link in the date row, with no extra
 * text line, truncation regression, or separate card renderer.
 */
.saniyar-content-card__date .saniyar-content-card__category-link {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    margin-inline-start: auto;
    color: var(--bs-secondary-color, #6c757d);
    text-decoration: none;
    line-height: 1;
}

.saniyar-content-card__date a.saniyar-content-card__category-link:hover,
.saniyar-content-card__date a.saniyar-content-card__category-link:focus-visible {
    color: var(--main-color-one);
}

/* NAFISPOD_MOBILE_HEADER_CART_POLISH_V1
 * Mobile-only header density and consistent inward count badges.
 * The desktop header remains governed by the original Saniyar styles.
 */
@media (max-width: 991.98px) {
    #saniyar-page-top .saniyar-header-brand-column {
        flex: 0 0 auto;
        width: auto;
    }

    #saniyar-page-top .saniyar-header-brand-logo {
        width: auto !important;
        height: 44px !important;
        max-width: 100%;
        align-items: center !important;
    }

    #saniyar-page-top .saniyar-header-brand-logo img {
        max-width: 44px !important;
        max-height: 44px !important;
    }

    #saniyar-page-top .saniyar-header-mobile-actions {
        flex: 1 1 0;
        min-width: 0;
    }

    #saniyar-page-top .saniyar-header-mobile-actions > .d-flex {
        flex-wrap: nowrap;
        gap: 4px;
    }

    #saniyar-page-top .saniyar-header-mobile-actions .dropdown[data-saniyar-authenticated-account] {
        margin: 0 !important;
        flex: 0 0 40px;
    }

    #saniyar-page-top .saniyar-header-mobile-actions .dropdown[data-saniyar-authenticated-account] > button,
    #saniyar-page-top .saniyar-header-mobile-actions .header-register,
    #saniyar-page-top .saniyar-header-mobile-actions .saniyar-theme-toggle-mobile,
    #saniyar-page-top .saniyar-header-mobile-actions .saniyar-header-favorites-action,
    #saniyar-page-top .saniyar-header-mobile-actions .btn-action-cart {
        width: 40px;
        min-width: 40px;
        height: 40px;
        padding: 0 !important;
        margin: 0 !important;
        flex: 0 0 40px;
        display: inline-flex;
        justify-content: center;
        align-items: center;
    }

    #saniyar-page-top .saniyar-header-mobile-actions figure.avatar {
        width: 36px !important;
        height: 36px !important;
    }

    #saniyar-page-top .saniyar-header-mobile-actions .btn-action-cart > .bi {
        font-size: 22px !important;
    }

    /* Both badges are top-left within their OWN 40px button, not between buttons. */
    #saniyar-page-top .saniyar-header-mobile-actions .saniyar-header-favorites-counter,
    #saniyar-page-top .saniyar-header-mobile-actions .btn-action-cart .header-cart-counter {
        top: 0;
        right: auto;
        left: 0;
        inset-inline-end: 0;
        inset-inline-start: auto;
        transform: none;
        min-width: 19px;
        width: auto;
        height: 19px;
        line-height: 19px;
        padding: 0 3px;
        margin: 0;
        font-size: 10px;
        text-align: center;
    }
}

@media (max-width: 991.98px) {
    /* Shared pinned footer outside the scrolling cart, navigation or Search body. */
    #offcanvasCart .saniyar-cart-mobile-close,
    #responsiveMenu .saniyar-mobile-menu-close,
    #saniyarLiveSearchMobile .saniyar-search-mobile-close {
        flex: 0 0 auto;
        background: var(--bs-body-bg);
        padding-bottom: calc(0.75rem + env(safe-area-inset-bottom, 0px)) !important;
    }
}

/* NAFISPOD_PRODUCT_CARD_QUICK_VIEW_INLINE_TOOLTIP_V1
 * Quick-view stays first on the RTL action row on BOTH mobile and desktop.
 * Render the actual Bootstrap tooltip skin inline; never position above the eye.
 * Shared Home/List card renderer means no parallel presentation path.
 */
.saniyar-product-carousel .saniyar-product-quick-view-affordance {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 5px;
    white-space: nowrap;
}

.saniyar-product-carousel .saniyar-product-quick-view-affordance > .saniyar-product-circle-action {
    flex: 0 0 35px;
}

.saniyar-product-carousel .saniyar-product-quick-view-hint {
    position: relative;
    display: inline-block;
    width: auto;
    margin: 0;
    padding: 0;
    opacity: 1;
    transform: none !important;
    pointer-events: none;
    z-index: auto;
}

.saniyar-product-carousel .saniyar-product-quick-view-hint .tooltip-inner {
    max-width: none;
    white-space: nowrap;
}

/* NAFISPOD_PRODUCT_QUICK_VIEW_BALLOON_DARK_V1_1
 * Reuse Bootstrap's tooltip bubble and bg variable. This small arrow points
 * toward the eye on the left of the fixed RTL label; no floating tooltip.
 */
.saniyar-product-carousel .saniyar-product-quick-view-hint::after {
    content: "";
    position: absolute;
    top: 50%;
    inset-inline-end: -5px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-block: 5px solid transparent;
    border-inline-start: 5px solid var(--bs-tooltip-bg);
}
