/* =========================================================
   Mahasin header skin (pixel match vs /ar)
   Spec @ 1440: topbar 48px / cream 84px / search 230?40 / logo 200?80
   ========================================================= */

:root {
    --mahasin-navy: #042b6e;
    --mahasin-navy-text: #d6f0ff;
    --mahasin-cream: #fcfaf2;
    --mahasin-ink: #231f1e;
    --mahasin-icon: #374151;
    --font-main: 'قمرة', 'Qumra', sans-serif;
    --mahasin-topbar-h: 48px;
    --mahasin-cream-h: 76px;
    --mahasin-header-h: calc(var(--mahasin-topbar-h) + var(--mahasin-cream-h));
}

@media (min-width: 992px) {
    :root {
        --mahasin-cream-h: 84px;
    }
}

body,
html,
.mahasin-header,
.mahasin-slide-menu {
    font-family: var(--font-main), -apple-system, BlinkMacSystemFont, sans-serif;
}

body {
    overflow-x: hidden;
}

/* Internal pages: footer hidden (home only shows footer) */
.app:has(> .footer[hidden])>.main,
.app:has(> .footer.d-none)>.main {
    padding-bottom: 100px;
}

body {
    background-color: var(--mahasin-cream);
}

button,
button:focus,
button:focus-visible,
button:active,
.btn,
.btn:focus,
.btn:focus-visible,
.btn:active,
[type="button"],
[type="submit"],
[type="reset"] {
    outline: 0 !important;
}

/* ---- Top navy strip + cream bar stay fixed on scroll ---- */
.mahasin-header {
    padding-top: var(--mahasin-header-h);
}

.mahasin-topbar.top-navbar,
.mahasin-topbar {
    background-color: #042b6e;
    color: #d6f0ff;
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
}

.mahasin-main-header {
    position: fixed;
    top: var(--mahasin-topbar-h);
    left: 0;
    right: 0;
    width: 100%;
    z-index: 99;
    background-color: var(--mahasin-cream);
}

.mahasin-topbar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 48px;
    height: 48px;
    padding: 6px 16px;
    gap: 16px;
    box-sizing: border-box;
}

/* Ticker column */
.mahasin-topbar-ticker {
    flex: 1 1 auto;
    min-width: 0;
    position: relative;
    overflow: hidden;
    height: 24px;
    font-size: 14px;
    line-height: 24px;
    background: transparent !important;
}

/* Match  vertical ticker (enter +100%, exit -100%) */
.mahasin-topbar .news-ticker-wrapper {
    position: relative;
    width: 100%;
    height: 24px;
    overflow: hidden;
}

.mahasin-topbar .news-ticker-wrapper .news-ticker-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transform: translateY(100%);
    transition: opacity 0.5s ease, transform 0.5s ease;
    pointer-events: none;
}

@media (min-width: 768px) {
    .mahasin-topbar .news-ticker-wrapper .news-ticker-slide {
        justify-content: flex-start;
    }
}

.mahasin-topbar .news-ticker-wrapper .news-ticker-slide.is-active {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.mahasin-topbar .news-ticker-wrapper .news-ticker-slide.is-exit {
    opacity: 0;
    transform: translateY(-100%);
}

.mahasin-topbar .news-ticker-slide a {
    color: #d6f0ff !important;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
}

/* Utils ? hidden md:flex items-center gap-3 */
.mahasin-topbar-utils,
.mahasin-topbar-utils.account-lang-currency.upper-bar {
    display: none;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important;
    color: #d6f0ff;
    font-size: 14px;
    font-weight: 500;
}

@media (min-width: 768px) {

    .mahasin-topbar-utils,
    .mahasin-topbar-utils.account-lang-currency.upper-bar {
        display: flex !important;
    }
}

.mahasin-topbar-btn {
    all: unset;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #d6f0ff !important;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    white-space: nowrap;
    opacity: 0.8;
    transition: opacity 0.2s ease;
    letter-spacing: 0;
}

.mahasin-topbar-btn:hover,
.mahasin-topbar-btn:focus-visible {
    opacity: 1;
    text-decoration: underline;
    outline: none;
}

.mahasin-topbar-pipe {
    opacity: 0.4;
    margin: 0 2px;
    color: inherit;
}

.mahasin-topbar .header-theme-icon-primary,
.mahasin-topbar .icon-language_white,
.mahasin-topbar .icon-account_circle_black_24dp {
    display: none !important;
}


/* ---- Cream main bar ---- */
.mahasin-header .mahasin-search-header.search-header,
.mahasin-search-header.search-header {
    background-color: var(--mahasin-cream) !important;
    padding: 0 !important;
    border-bottom: 0;
    box-shadow: none;
}

.mahasin-header-container {
    width: 100%;
    max-width: 100%;
    padding: 0 16px;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .mahasin-header-container {
        padding: 0 30px;
    }
}

.mahasin-header-bar.search-header-bar {
    height: 76px;
    position: relative;
    overflow: visible;
    gap: 0;
}

.mahasin-header .mahasin-search-header .container,
.mahasin-header .mahasin-header-container,
.mahasin-main-header {
    overflow: visible;
}

.mahasin-header-bar>* {
    height: auto;
}

.mahasin-header-start {
    flex: 0 0 auto;
    min-width: 48px;
    z-index: 2;
}

.mahasin-header-logo {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: auto;
    max-width: 60%;
    height: 100%;
    z-index: 1;
}

.mahasin-logo-link {
    display: flex !important;
    align-items: center;
    justify-content: center;
    height: 100%;
}

/* Logo visibility: mobile by default, desktop from 992px — no Bootstrap d-* */
.mahasin-search-header .mahasin-logo-desktop {
    display: none;
    width: var(--mahasin-logo-w, 200px) !important;
    height: var(--mahasin-logo-h, 80px) !important;
    max-width: var(--mahasin-logo-w, 200px) !important;
    max-height: var(--mahasin-logo-h, 80px) !important;
    object-fit: contain;
    padding: 0 !important;
}

.mahasin-search-header .mahasin-logo-mobile {
    display: block;
    width: var(--mahasin-logo-mw, 180px) !important;
    height: var(--mahasin-logo-mh, 60px) !important;
    max-width: var(--mahasin-logo-mw, 180px) !important;
    max-height: var(--mahasin-logo-mh, 60px) !important;
    object-fit: contain;
    padding: 0 !important;
}

@media (min-width: 992px) {
    .mahasin-search-header .mahasin-logo-desktop {
        display: block;
    }

    .mahasin-search-header .mahasin-logo-mobile {
        display: none;
    }
}

.mahasin-icon-btn {
    all: unset;
    box-sizing: border-box;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: var(--mahasin-icon);
    border-radius: 9999px;
    transition: color 0.15s ease, opacity 0.15s ease;
}

.mahasin-icon-btn svg {
    width: 24px;
    height: 24px;
    display: block;
}

.mahasin-icon-btn:hover,
.mahasin-icon-btn:focus-visible {
    color: var(--mahasin-navy);
    background-color: transparent;
    opacity: 0.85;
    outline: none;
}

.mahasin-burger {
    min-width: 48px;
    width: 48px;
    height: 40px;
    color: var(--mahasin-navy);
}

.mahasin-header-actions.header-cart {
    flex: 0 0 auto;
    width: auto !important;
    margin: 0;
    margin-inline-start: auto;
    z-index: 2;
    gap: 8px;
}

.mahasin-cart-wrap {
    display: flex;
    position: relative;
}

.mahasin-cart-btn {
    position: relative;
    color: var(--mahasin-icon);
}

.mahasin-search-header .cart-badge,
.mahasin-cart-badge {
    display: flex !important;
    align-items: center;
    justify-content: center;
    position: absolute;
    background-color: var(--mahasin-navy) !important;
    color: #fff !important;
    border-radius: 9999px;
    width: 20px;
    height: 20px;
    line-height: 20px;
    font-size: 12px;
    font-weight: 700;
    top: 0;
    right: -4px;
    left: auto;
    padding: 0;
    text-align: center;
    pointer-events: none;
}

/* Hide Soft Theme mobile expand search (Mahasin has no mobile search in header) */
.mahasin-header .sm-search-div,
.mahasin-header .sm-search-icon {
    display: none !important;
}

.mahasin-header-spacer {
    display: none;
}

@media (max-width: 991.98px) {

    .search-header-bar .mahasin-header-search {
        display: none !important;
    }

    .mahasin-header-bar.search-header-bar {
        height: 76px;
        justify-content: flex-start;
        align-items: center;
    }

    .mahasin-header-start {
        display: flex !important;
        order: 0;
        min-width: 48px;
        margin: 0;
        z-index: 3;
    }

    .mahasin-header-logo {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        z-index: 1;
        max-width: calc(100% - 160px);
        pointer-events: none;
    }

    .mahasin-header-logo .mahasin-logo-link {
        pointer-events: auto;
    }

    .mahasin-header-actions.header-cart {
        margin-inline-start: auto;
        z-index: 3;
        gap: 4px;
    }

    .mahasin-header-spacer,
    .mahasin-desktop-nav {
        display: none !important;
    }

    .mahasin-icon-btn {
        width: 36px;
        height: 36px;
        color: var(--mahasin-navy);
    }

    .mahasin-burger {
        color: var(--mahasin-navy);
        width: 48px;
        height: 36px;
    }
}

/* Tablet 768–991: search visible like REF */
@media (min-width: 768px) and (max-width: 991.98px) {
    .mahasin-header-search {
        display: flex !important;
        flex: 0 0 200px;
        width: 200px;
        max-width: 200px;
        min-width: 160px;
        margin-inline-start: auto;
        margin-inline-end: 8px;
        z-index: 3;
    }

    .mahasin-search-pill {
        width: 200px;
        max-width: 100%;
        height: 40px;
        background: #fff;
        border: 0.8px solid #f3f4f6;
        border-radius: 0;
        position: relative;
        display: block;
        box-sizing: border-box;
    }
}

/* Desktop: logo | spacer | nav | search | actions  (RTL paints correctly) */
@media (min-width: 992px) {
    .mahasin-header-bar.search-header-bar {
        height: 84px;
        gap: 0;
        justify-content: flex-start;
        align-items: center;
    }

    .mahasin-header-logo {
        position: static;
        left: auto;
        transform: none;
        flex: 0 0 auto;
        max-width: none;
        height: 100%;
        justify-content: flex-start !important;
    }

    .mahasin-header-start {
        display: none !important;
    }

    .mahasin-header-spacer {
        display: block;
        flex: 1 1 auto;
        min-width: 24px;
        height: 1px;
    }

    .mahasin-header-actions {
        margin: 0;
        margin-inline-start: 0;
        flex: 0 0 auto;
    }

    .mahasin-header-search {
        flex: 0 0 230px;
        width: 230px;
        max-width: 230px;
        min-width: 230px;
        padding: 0;
        margin-inline-end: 16px;
        display: flex !important;
    }

    /* Search box: icon pinned to physical LEFT (like .s-search-input) */
    .mahasin-search-pill {
        position: relative;
        display: block;
        width: 230px;
        height: 40px;
        background: #fff;
        border: 0.8px solid #f3f4f6;
        border-radius: 0;
        padding: 0;
        box-sizing: border-box;
    }

    .mahasin-search-icon {
        position: absolute;
        left: 12px;
        top: 50%;
        transform: translateY(-50%);
        z-index: 1;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 24px;
        height: 24px;
        color: #9ca3af;
        pointer-events: none;
    }

    .mahasin-search-icon svg {
        width: 24px;
        height: 24px;
        display: block;
    }

    .mahasin-search-autocomplete {
        position: relative;
        width: 100%;
        height: 100%;
    }

    .mahasin-search-input.search-input-input,
    .mahasin-search-input {
        border: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
        width: 100% !important;
        height: 40px !important;
        padding: 0 16px 2px 48px !important;
        font-size: 14px !important;
        font-weight: 400 !important;
        line-height: 20px !important;
        color: #4b5563 !important;
        border-radius: 0 !important;
    }

    .mahasin-search-input::placeholder {
        color: #9ca3af;
        opacity: 1;
    }

    .mahasin-desktop-nav {
        flex: 0 0 auto;
        width: auto;
        max-width: none;
        height: 100%;
        min-width: 0;
    }
}

/* Inline desktop nav ? match mahasin 14px / 400 / #231f1e */
.mahasin-desktop-nav {
    min-width: 0;
    height: 100%;
}

.mahasin-desktop-nav__nav {
    height: 100%;
    display: flex;
    align-items: center;
}

.mahasin-desktop-nav__list.main-nav,
.mahasin-desktop-nav .main-nav,
.mahasin-header .main-nav {
    display: flex;
    align-items: center;
    gap: 0;
    padding: 0;
    margin: 0;
    min-height: 0;
    height: 100%;
    list-style: none;
    flex-wrap: nowrap;
}

.mahasin-desktop-nav__item.top-level-link,
.mahasin-desktop-nav .main-nav>.top-level-link,
.mahasin-header .main-nav>.top-level-link {
    position: relative;
    list-style: none;
    flex: 0 0 auto;
}

.mahasin-desktop-nav .main-nav>.top-level-link>a,
.mahasin-header .main-nav>.top-level-link>a,
.mahasin-desktop-nav__item>a {
    color: var(--mahasin-ink) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 20px;
    padding: 0 12px !important;
    opacity: 1;
    transition: color 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
    text-decoration: none !important;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    height: 100%;
}

.mahasin-desktop-nav .main-nav>.top-level-link>a:hover,
.mahasin-header .main-nav>.top-level-link>a:hover,
.mahasin-desktop-nav__item>a:hover,
.mahasin-desktop-nav .main-nav>.top-level-link>a:focus-visible,
.mahasin-desktop-nav__item>a:focus-visible {
    opacity: 0.75;
    color: var(--mahasin-navy) !important;
    outline: none;
}

/* Search autocomplete dropdown ? match  product rows */
.mahasin-search-clear {
    all: unset;
    box-sizing: border-box;
    position: absolute;
    left: 40px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    color: #042b6e;
    cursor: pointer;
    border-radius: 9999px;
}

.mahasin-search-clear:hover,
.mahasin-search-clear:focus-visible {
    background: rgba(4, 43, 110, 0.08);
    outline: none;
}

.mahasin-search-clear.d-none {
    display: none !important;
}

.mahasin-search-pill .autocomplete-items,
.mahasin-search-results.autocomplete-items {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    left: auto;
    width: min(322px, 92vw);
    min-width: 280px;
    z-index: 300;
    background: #fff;
    border: 0px;
    border-radius: 8px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
    max-height: 420px;
    overflow-y: auto;
    overflow-x: hidden;
    text-align: start;
    padding: 0;
    scrollbar-width: thin;
    scrollbar-color: #9ca3af #f3f4f6;
}

.mahasin-search-pill .autocomplete-items::-webkit-scrollbar {
    width: 8px;
}

.mahasin-search-pill .autocomplete-items::-webkit-scrollbar-track {
    background: #f3f4f6;
    border-radius: 8px;
}

.mahasin-search-pill .autocomplete-items::-webkit-scrollbar-thumb {
    background: #9ca3af;
    border-radius: 8px;
}

.mahasin-search-empty {
    padding: 16px;
    font-size: 14px;
    color: #6b7280;
    text-align: center;
}

.mahasin-search-item {
    background: #fff;
    border-bottom: 1px solid #f3f4f6;
}

.mahasin-search-item:last-child {
    border-bottom: 0;
}

.mahasin-search-item:hover,
.mahasin-search-item:focus-within {
    background: #fcfaf2;
}

.mahasin-search-item__link {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    text-decoration: none !important;
    color: inherit;
}

.mahasin-search-item__img {
    flex: 0 0 56px;
    width: 56px;
    height: 56px;
    object-fit: contain;
    background: #fcfaf2;
    border-radius: 6px;
}

.mahasin-search-item__img--empty {
    display: inline-block;
    background: #f3f4f6;
}

.mahasin-search-item__body {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
    text-align: start;
}

.mahasin-search-item__title {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
    color: #231f1e;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.mahasin-search-item__prices {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px;
    direction: rtl;
}

.mahasin-search-item__sale {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    color: #042b6e;
    unicode-bidi: isolate;
    white-space: nowrap;
}

.mahasin-search-item__sale--plain {
    color: #231f1e;
}

.mahasin-search-item__compare {
    font-size: 12px;
    font-weight: 400;
    line-height: 1.3;
    color: #9ca3af;
    text-decoration: line-through;
    unicode-bidi: isolate;
    white-space: nowrap;
}

/* When clear is visible, give input extra left padding */
.mahasin-search-pill:has(.mahasin-search-clear:not(.d-none)) .mahasin-search-input {
    padding-left: 68px !important;
}

.mahasin-header .div-bg-absolute.menu-header-theme-bg-primary {
    display: none !important;
}

/* ---- Sliding menu open/close (RTL from right, 0.3s) ? Mahasin drawer ---- */
#sliding-menu.slide-menu.mahasin-slide-menu,
#sliding-menu.slide-menu {
    background-color: #fff !important;
    filter: none !important;
    width: min(340px, 87vw);
    box-shadow: -8px 0 28px rgba(0, 0, 0, 0.12);
    padding: 0;
    overflow-x: hidden;
}

#sliding-menu .menu-header-theme-bg-primary,
#sliding-menu .menu-header-theme-text-for-primary-bg,
#sliding-menu .theme-text-for-primary-bg,
#sliding-menu .mahasin-slide-ul {
    background-color: #fff !important;
    color: var(--mahasin-ink) !important;
    filter: none !important;
    padding: 20px 20px 100px !important;
    margin: 0 !important;
    list-style: none;
    min-height: 100%;
    box-sizing: border-box;
}

.mahasin-slide-brand {
    list-style: none;
    padding: 8px 0 16px;
    text-align: start;
}

.mahasin-slide-logo-link {
    display: inline-block;
    padding: 0 !important;
}

.mahasin-slide-logo {
    width: 140px;
    height: auto;
    max-height: 54px;
    object-fit: contain;
}

.mahasin-slide-auth {
    list-style: none;
    padding: 0 0 20px;
    margin: auto;
    width: 100%;
    max-width: max-content;
}

.mahasin-slide-login-btn {
    display: block;
    width: 100%;
    border: 0;
    background: var(--mahasin-navy);
    color: #fff !important;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.2;
    padding: 14px 16px;
    border-radius: 1px;
    max-width: max-content;
    cursor: pointer;
    text-align: center;
}

.mahasin-slide-login-btn:hover {
    opacity: 0.92;
}

#sliding-menu .mahasin-slide-link.slide-menu-ul-li {
    border-top: 1px solid #eee !important;
    list-style: none;
}

#sliding-menu .mahasin-slide-link:first-of-type,
#sliding-menu .mahasin-slide-auth+.mahasin-slide-link {
    border-top: 0 !important;
}

#sliding-menu .mahasin-slide-link>a,
#sliding-menu .mahasin-slide-link .menu-link {
    color: #111 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 20px;
    padding: 18px !important;
    display: block;
}

#sliding-menu .slide-menu-ul-li>a,
#sliding-menu .menu-link {
    color: #111 !important;
}

.mahasin-slide-social {
    list-style: none;
    padding: 28px 0 16px;
}

.mahasin-slide-social-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    flex-wrap: wrap;
}

.mahasin-social-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: var(--mahasin-navy) !important;
    color: #fff !important;
    padding: 0 !important;
    text-decoration: none !important;
}

.mahasin-social-btn span,
.mahasin-social-btn [class^="icon-"] {
    color: #fff !important;
    font-size: 18px;
    line-height: 1;
}

.mahasin-slide-locale-wrap {
    list-style: none;
    position: absolute;
    bottom: 20px;
    left: 20px;
    right: 20px;
    width: auto;
    z-index: 2;
    padding: 0;
}

.mahasin-locale-pill {
    all: unset;
    box-sizing: border-box;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    background: #f3f4f6;
    color: #111;
    border-radius: 9999px;
    padding: 12px 16px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

.mahasin-locale-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.mahasin-locale-code {
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.mahasin-locale-sep {
    width: 1px;
    height: 18px;
    background: #d1d5db;
    margin: 0 4px;
}

.mahasin-locale-chevron {
    margin-inline-start: auto;
    display: inline-flex;
    color: #6b7280;
}

#sidenav-overlay {
    background: rgba(0, 0, 0, 0.35);
}

/* Closed drawer must not remain in the accessibility tree / hit-testing */
#sliding-menu[aria-hidden="true"] {
    visibility: hidden;
    pointer-events: none;
}

#sliding-menu[aria-hidden="false"] {
    visibility: visible;
    pointer-events: auto;
}

#sidenav-overlay[hidden] {
    display: none !important;
}

/* Soft Theme scroll sticky unused — cream is always fixed under topbar */
#fixed-header.sticky {
    position: fixed !important;
    top: var(--mahasin-topbar-h) !important;
    z-index: 99;
}

.app-content-padded {
    padding-top: 0 !important;
}

.header-logo,
.header-cart {
    width: 20%;
}

.header-cart {
    flex-grow: unset;
}


.search-header-bar:not(.mahasin-header-bar) {
    height: 100px;
}

.search-header-bar>* {
    height: 100%;
}

.search-input>div {
    width: 100%;
}

.search-input-icon {
    position: absolute;
    font-size: 22px;
    top: 8px;
    left: 4px;
}


.rtl .search-input-icon {
    left: unset;
    right: 4px;
    top: 9px;
}

.search-input-input {
    padding-left: 30px;
    min-height: 40px;
    max-height: 40px;
}

.rtl .search-input-input {
    padding-left: inherit;
    padding-right: 30px;
}


.icon-shopping_cart_black_36dp-1-1,
.sm-search-icon>span {
    font-size: 32px;
}

.icon-shopping_cart_black_36dp-1-1 .path1:before {
    color: unset;
}

.icon-shopping_cart_black_36dp-1-1 .path2:before {
    color: unset;
}

.icon-language_black_24dp .path1:before {
    color: unset;
}

.cart-badge {
    position: absolute;
    right: 20px;
    top: -8px;
    width: 18px;
    height: 18px;
    line-height: 18px;
    font-size: 10px;
    color: #fff;
    text-align: center;
    border-radius: 50%;
    background-color: #AB0000;
}

.ic.menu {
    text-align: left;
    position: relative;
    right: 4px;
}

.rtl .ic.menu {
    text-align: right;
    right: unset;
    left: 4px;
}

.ic.menu,
.sm-search-icon {
    margin-right: 20px;
}

.icon-menu-top {
    margin-right: 10px !important;
}

.rtl .ic.menu,
.sm-search-icon {
    margin-right: unset;
    margin-left: 20px;
}

.rtl .icon-menu-top {
    margin-right: unset !important;
    margin-left: 10px !important;
}

.icon-menu-top>span {
    font-size: 32px;
}

.icon-menu_open_black_24dp-1:before {
    color: unset;
}


.sm-search-div {
    display: none;
    visibility: hidden;
    position: absolute;
    left: 0;
    padding: 0px 15px 20px 15px;
    width: 100%;
    background-color: var(--header-primary-color, var(--primary-color));
    transform: translateY(-100%);
    transition: all .3s ease;
    z-index: 1;
}

.sm-search-div.show {
    visibility: visible;
    transform: translateY(0%);
    -webkit-transform: translate3d(0, 0, 0);
}

.footer .apps-social-icons:nth-child(2) {
    padding-left: 0px;
}

.rtl .footer .apps-social-icons:nth-child(2) {
    padding-right: 0px;
    padding-left: 15px;
}

.footer .google-app-stores {
    margin-left: -4px;
    margin-right: -4px;
}

.footer .icons-wrapper {
    padding: 0px;
}

.footer-about-us-links-div {}


.footer-about-us-div {
    padding-right: 20%;
}

.rtl .footer-about-us-div {
    padding-right: unset;
    padding-left: 20%;
}

.slick-dotted.slick-slider {
    margin-bottom: 0px;
}

.main-slider .slick-dots {
    bottom: 12px;
}

.main-slider .slick-dots li button:before {
    font-size: 14px;
}

/* =========================================================
   Homepage news ticker (REF: s-block--news-slider / continuous marquee)
   ========================================================= */

/* REF: .s-block--news-slider / .news-section / .ticker__item
   cream #fcfaf2 · navy #042b6e · h 40 · margin-top 16px · continuous RTL marquee */
.mahasin-home-news {
    --mahasin-news-color: #042b6e;
    --mahasin-news-bg: #fcfaf2;
    --mahasin-news-speed: 25s;
    display: block;
    width: 100%;
    max-width: 100%;
    height: 40px;
    margin: 16px 0 0;
    padding: 0;
    overflow: hidden;
    background: var(--mahasin-news-bg);
    color: var(--mahasin-news-color);
    box-sizing: border-box;
}

.mahasin-home-news__viewport {
    display: flex;
    align-items: center;
    width: 100%;
    height: 40px;
    overflow: hidden;
}

.mahasin-home-news__track {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    width: max-content;
    height: 40px;
    will-change: transform;
    animation: mahasin-news-marquee-ltr var(--mahasin-news-speed) linear infinite;
}

html[dir="rtl"] .mahasin-home-news__track,
.rtl .mahasin-home-news__track {
    animation-name: mahasin-news-marquee-rtl;
}

.mahasin-home-news__group {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0;
    padding: 0;
    flex: 0 0 auto;
}

/* REF .ticker__item: margin 0 20px · pad 4px 0 · 16px/400 · lh 32 */
.mahasin-home-news__item {
    flex: 0 0 auto;
    margin: 0 20px;
    padding: 4px 0;
    font-size: 16px;
    font-weight: 400;
    line-height: 32px;
    color: var(--mahasin-news-color);
    text-decoration: none;
    white-space: nowrap;
    box-sizing: border-box;
}

/* REF autoplay.pauseOnMouseEnter = false — do not pause on hover */

@keyframes mahasin-news-marquee-ltr {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        transform: translate3d(-50%, 0, 0);
    }
}

@keyframes mahasin-news-marquee-rtl {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        transform: translate3d(50%, 0, 0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .mahasin-home-news__track {
        animation: none !important;
        justify-content: center;
        width: 100%;
    }

    .mahasin-home-news__group[aria-hidden="true"] {
        display: none;
    }

    .mahasin-home-news__group {
        justify-content: center;
        width: 100%;
        flex-wrap: wrap;
    }
}

/* Products section title parity */
.mahasin-products__title,
.home-products-section .section-title {
    margin: 0 0 24px;
    text-align: center;
    font-size: 30px;
    font-weight: 600;
    color: #231f1e;
}

/* Home products Swiper: keep Swiper layout (not native x-scroll) on small screens */
.home-products-section .products-slider {
    overflow: hidden !important;
    white-space: normal !important;
}

.home-products-section .products-slider .swiper-wrapper {
    display: flex !important;
    white-space: normal !important;
}

.home-products-section .products-slider .prod-col {
    display: block !important;
    float: none !important;
    width: auto;
    vertical-align: stretch;
}



.mahasin-products__empty {
    min-height: 80px;
}

.mahasin-featured-product__btn--atc {
    background: #042b6e;
    border-color: #042b6e;
    color: #fff;
    font-weight: 700;
}

/* =========================================================
   Mahasin homepage hero (main-slider override)
   Full-bleed intrinsic banner ? match /ar
   ========================================================= */

.mahasin-hero-section {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    overflow: visible;
}

.mahasin-hero-section .mahasin-hero,
.mahasin-hero-section .container-slider {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.mahasin-hero-section .main-slider {
    width: 100%;
    max-height: none;
    overflow: hidden;
    box-sizing: border-box;
}

.mahasin-hero-section .swiper-wrapper {
    align-items: stretch;
}

.mahasin-hero-section .slider-item,
.mahasin-hero-section .swiper-slide {
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
}

.mahasin-hero-section .mahasin-hero-link {
    display: block;
    position: relative;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border-radius: 0;
    box-shadow: none;
    text-decoration: none;
    color: inherit;
    /* Desktop art ~1440?602 ? reserves space before LCP paint */
    aspect-ratio: 1440 / 602;
    background-color: #042b6e;
}

.mahasin-hero-section .mahasin-hero-img,
.mahasin-hero-section .banner-img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
    border-radius: 0;
    vertical-align: top;
    position: absolute;
    inset: 0;
}

/* Only switch to portrait frame when a mobile source exists */
@media (max-width: 767.98px) {
    .mahasin-hero-section .slider-item.has-mobile-image .mahasin-hero-link {
        aspect-ratio: 798 / 899;
    }
}

.mahasin-hero-section .mahasin-hero-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    padding: 1rem;
    pointer-events: none;
    text-align: center;
}

.mahasin-hero-section .mahasin-hero-overlay .mahasin-hero-cta {
    pointer-events: auto;
}

.mahasin-hero-section .mahasin-hero-title {
    font-size: clamp(1.5rem, 4vw, 3.5rem);
    font-weight: 400;
    line-height: 1.2;
    margin: 0 0 0.5rem;
}

.mahasin-hero-section .mahasin-hero-des {
    font-size: clamp(1rem, 2.5vw, 2rem);
    font-weight: 400;
    line-height: 1.4;
    margin: 0 0 1rem;
}

.mahasin-hero-section .mahasin-hero-cta {
    border-radius: 0;
    padding: 0.65rem 1.5rem;
}

.mahasin-hero-section .mahasin-hero-pagination {
    bottom: 16px !important;
}

.mahasin-hero-section .swiper-pagination-bullet {
    background: #fff;
    opacity: 0.5;
}

.mahasin-hero-section .swiper-pagination-bullet-active {
    opacity: 1;
}

.features-section-img {
    max-height: 90px;
    max-width: 90px;
}

/* ========== Mahasin Store Features (features-section) — match REF bg-sec ==========
   Soft Theme `.features-section { background: primary }` is wrong (teal wash).
   REF overlay: ::after linear-gradient(90deg, #1d1f24 55% → transparent) @ 0.8 opacity
   Desktop: logo + 3×210 cards row. ≤991: icon 45 / card ~114. ≤767: stacked cards, logo RTL-start.
*/
.mahasin-features.features-section {
    position: relative;
    margin: 0;
    padding: 50px 13px !important;
    color: #231f1e !important;
    background-color: #fcfaf2 !important;
    background-image: none;
    background-blend-mode: normal !important;
    overflow: visible;
}

.mahasin-features.features-section.mahasin-features--has-bg {
    background-color: transparent !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-blend-mode: normal !important;
}

/* REF dark wash over the banner photo */
.mahasin-features.features-section.mahasin-features--has-bg::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0;
    pointer-events: none;
    opacity: 0.8;
    background: linear-gradient(90deg, rgb(29, 31, 36) 55%, rgba(0, 0, 0, 0)) !important;
}

.mahasin-features.features-section.mahasin-features--has-bg::before {
    content: none !important;
    display: none !important;
}

/* REF .container gutters: 10 / 20 / 14 */
.mahasin-features__inner.container {
    position: relative;
    z-index: 1;
    width: 100%;
    box-sizing: border-box;
}

.mahasin-features__row.features-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
}

.mahasin-features__logo.feature-logo {
    display: block;
    width: 75px;
    height: 75px;
    max-width: 170px;
    max-height: 75px;
    object-fit: contain;
    flex-shrink: 0;
}

.mahasin-features__cards.features-part {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: center;
    gap: 10px;
    margin: 0;
    padding: 0;
}

.mahasin-features__card.feature,
.mahasin-features .item-box.mahasin-features__card,
.mahasin-features .item-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    box-sizing: border-box;
    width: 210px;
    min-width: 210px;
    max-width: 210px;
    min-height: 129px;
    height: auto;
    margin: 0;
    padding: 16px;
    border: 0 !important;
    border-radius: 16px;
    background-color: #fcfaf2;
    box-shadow: none !important;
    text-align: center;
    text-decoration: none;
    color: #231f1e !important;
    position: relative;
    z-index: 1;
}

.mahasin-features__card:focus-visible {
    outline: 2px solid #042b6e;
    outline-offset: 2px;
}

.mahasin-features__icon-wrap.icon {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
    width: 60px;
    height: 60px;
    margin: 0 auto;
    flex-shrink: 0;
}

.mahasin-features__icon.features-section-img,
.mahasin-features .features-section-img,
.mahasin-features .item-box img {
    display: block;
    width: 60px !important;
    height: 60px !important;
    max-width: 60px !important;
    max-height: 60px !important;
    margin: 0 auto;
    object-fit: contain;
}

.mahasin-features__content.content {
    width: 100%;
}

.mahasin-features__title.features-section-title,
.mahasin-features .features-section-title,
.mahasin-features__card.feature .mahasin-features__title,
.mahasin-features .item-box h3 {
    margin: 0 !important;
    padding: 0;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    color: #231f1e !important;
    text-align: center;
}

.mahasin-features .feature p {
    margin: 0;
    color: #231f1e;
}

/* REF tablet: pad 20 → logo wraps above cards; icons 45; card ~114; keep space-between */
@media (max-width: 991.98px) {
    .mahasin-features.features-section {
        padding: 50px 13px !important;
    }

    .mahasin-features__row.features-container {
        justify-content: space-between;
    }

    .mahasin-features__card.feature,
    .mahasin-features .item-box.mahasin-features__card,
    .mahasin-features .item-box {
        width: 210px;
        min-width: 210px;
        max-width: 210px;
        min-height: 0;
    }

    .mahasin-features__icon-wrap.icon {
        width: 45px;
        height: 45px;
    }

    .mahasin-features__icon.features-section-img,
    .mahasin-features .features-section-img,
    .mahasin-features .item-box img {
        width: 45px !important;
        height: 45px !important;
        max-width: 45px !important;
        max-height: 45px !important;
    }
}

/* REF mobile: pad 14; cards stay 210 stacked; logo RTL-start via space-between */
@media (max-width: 767.98px) {
    .mahasin-features.features-section {
        padding: 50px 13px !important;
    }

    .mahasin-features__cards.features-part {
        width: 100%;
        justify-content: center;
    }

    .mahasin-features__card.feature,
    .mahasin-features .item-box.mahasin-features__card,
    .mahasin-features .item-box {
        width: 210px;
        min-width: 210px;
        max-width: 210px;
    }

    .mahasin-features__title.features-section-title,
    .mahasin-features .features-section-title,
    .mahasin-features .item-box h3 {
        font-size: 18px !important;
    }
}

.slick-next.slick-arrow>span,
.slick-prev.slick-arrow>span,
.swiper-button-next.slick-arrow>span,
.swiper-button-prev.slick-arrow>span {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary-color);
    font-size: 2.3rem;
}

.category-item a,
.category-item img,
.card-item a,
.card-item img {
    display: block;
    text-align: start;
    width: 100%;
}

.category-item img,
.card-item img {
    margin: 0 auto;
    max-width: 100%;
    height: auto;
}

.category-item h3,
.card-item h3 {
    margin-top: 15px;
    font-size: 1.6rem;
    font-weight: 600;
    color: #231f1e;
    white-space: break-spaces;
}

.category-page-slider .category-item h3 {
    font-size: 1.2rem;
}

.categories-slider .category-item,
.cards-slider .card-item {
    width: 100%;
    max-width: 200px;
}

.section-title {
    padding-left: 0px;
    padding-right: 0px;
}

.products-slider .prod-col,
.categories-slider .cat-col,
.cards-slider .card-col {
    display: block;
    width: auto;
}



.products-list .prod-col,
.bundle-offer-products .prod-col {
    width: 20%;
    padding: 15px;
}

.products-list .prod-col-attr {
    width: 25%;
}

/* Propagate Bootstrap row's stretch height so all action buttons align */
.products-list .prod-col,
.bundle-offer-products .prod-col {
    display: flex;
    flex-direction: column;
}

.products-list .prod-col .product-item,
.bundle-offer-products .prod-col .product-item {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.products-list .prod-col .product-item>a,
.bundle-offer-products .prod-col .product-item>a {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.products-list .product-card-footer,
.bundle-offer-products .product-card-footer {
    margin-top: auto;
}

.sort-block-width {
    margin-left: 30px;
}

.rtl .sort-block-width {
    margin-left: 0px;
    margin-right: 30px;
}

.select-dropdown .dropdown-item {
    padding-bottom: 7.5px;
    padding-top: 7.5px;
}

#products-list-filter-form-close {
    width: 44px;
    height: 44px;
    position: absolute;
    right: 0;
    top: 0;
}

.rtl #products-list-filter-form-close {
    right: unset;
    left: 0;
}

.products-pagination {
    margin-bottom: 24px;
    padding: 0 15px;
}

.products-pagination ul {
    padding: 0px;
}

.products-pagination .page-link {
    color: var(--primary-color);
    font-size: 1.2rem;
}

.products-pagination .page-link.active {
    color: #ffffff;
    background-color: var(--primary-color);
}

.rtl .products-pagination .page-item:first-child .page-link {
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
}


.rtl .products-pagination .page-item:last-child .page-link {
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
}

.products-container .products-list {
    margin-bottom: 24px;
}

.cart-header-total {
    margin-right: 10px;
    font-size: 1.6rem;
    color: var(--header-text-color-primary-bg, var(--text-color-primary-bg));
}

.rtl .cart-header-total {
    margin-right: unset;
    margin-left: 10px;
}

.form-control {
    border-radius: 3px;
}


.box-1-1 {
    position: relative;
    width: 100%;
}

.box-1-1:before {
    content: "";
    display: block;
    padding-top: 100%;
    /* initial ratio of 1:1*/
}

.box-1-1 .content {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

/* Other ratios - just apply the desired class to the "box" element */
.box-1-1.ratio2_1:before {
    padding-top: 50%;
}

.box-1-1.ratio1_2:before {
    padding-top: 200%;
}

.box-1-1.ratio4_3:before {
    padding-top: 75%;
}

.box-1-1.ratio16_9:before {
    padding-top: 56.25%;
}

.box-1-1.ratio21_9:before {
    padding-top: 42.85%;
}

.product-item-out-of-stock {
    filter: grayscale(1);
}


.sm-search-div .autocomplete-items,
.lg-search-div .autocomplete-items {
    position: absolute;
    border: 1px solid #d4d4d4;
    border-bottom: none;
    border-top: none;
    z-index: 99;
    /*position the autocomplete items to be the same width as the container:*/
    top: 100%;
    left: 0;
    right: 0;
}

.sm-search-div .autocomplete-items div,
.lg-search-div .autocomplete-items div {
    background-color: #fff;
    border-bottom: 1px solid #d4d4d4;
}

/*when hovering an item:*/
.sm-search-div .autocomplete-items div:hover,
.lg-search-div .autocomplete-items div:hover {
    background-color: #e9e9e9;
}

.sm-search-div .autocomplete-items div a,
.lg-search-div .autocomplete-items div a {
    padding: 10px;
    cursor: pointer;
    color: inherit;
    display: block;
}

.product-crd-spec {
    min-height: 81px;
}

.gallery-section+.gallery-section {
    padding-top: 0px;
}

/* =========================================================
   Mahasin promotional / fixed banner (ggallery num_of_cols=1)
   Spec from /ar .s-block--fixed-banner
   ========================================================= */

.mahasin-promo-banner.gallery-section {
    display: block;
    width: 100%;
    max-width: none;
    margin: 2rem 0 0;
    padding: 0;
    background: transparent;
}

@media (min-width: 640px) {
    .mahasin-promo-banner.gallery-section {
        margin-top: 4rem;
    }
}

.mahasin-promo-banner+.mahasin-promo-banner {
    margin-top: 2em;
}

.mahasin-promo-banner__title {
    padding-left: 16px;
    padding-right: 16px;
    margin-bottom: 1rem;
}

.mahasin-promo-banner__inner {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    .mahasin-promo-banner__inner {
        padding-left: 16px;
        padding-right: 16px;
    }
}

.mahasin-promo-banner__link {
    display: block;
    width: 100%;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    border-radius: 6px;
    box-shadow: none;
}

.mahasin-promo-banner__link.is-custom-height {
    aspect-ratio: auto;
    height: auto;
}

.mahasin-promo-banner__link.is-custom-height .mahasin-promo-banner__img {
    height: auto;
    min-height: 0;
}

.mahasin-promo-banner__img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    object-fit: cover;
    object-position: 50% 50%;
    border-style: none;
    border-radius: 6px;
    vertical-align: top;
    background-color: transparent;
}

.mahasin-promo-banner--injected .mahasin-promo-banner__img {
    border-radius: 6px;
}

/* =========================================================
   Mahasin featured product (products-section layout=featured)
   ========================================================= */

.mahasin-featured-product {
    width: 100%;
    margin: 0;
    padding: 0;
    background: transparent;
}

.mahasin-featured-product__wide {
    width: 100%;
    max-width: 1728px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}

@media (min-width: 1536px) {
    .mahasin-featured-product__wide {
        padding-left: 106px;
        padding-right: 106px;
    }
}

.mahasin-featured-product__preview {
    display: flex;
    flex-direction: column;
    width: 100%;
}

@media (min-width: 768px) {
    .mahasin-featured-product__preview {
        flex-direction: row;
        align-items: stretch;
    }
}

.mahasin-featured-product__media {
    flex: 1 1 50%;
    min-width: 0;
}

.mahasin-featured-product__media-link {
    display: block;
    width: 100%;
    text-decoration: none;
    color: inherit;
}

.mahasin-featured-product__figure {
    position: relative;
    width: 100%;
    margin: 0;
    padding-top: 100%;
}

.mahasin-featured-product__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.mahasin-featured-product__content {
    flex: 1 1 50%;
    min-width: 0;
    padding: 32px 16px 24px;
    box-sizing: border-box;
}

.mahasin-featured-product__title {
    margin: 0 0 12px;
    text-align: center;
    font-size: 30px;
    font-weight: 600;
    line-height: 1.2;
    color: #042b6e;
}

@media (min-width: 768px) {
    .mahasin-featured-product__title {
        font-size: 30px;
    }
}

.mahasin-featured-product__price-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-bottom: 8px;
}

.mahasin-featured-product__prices {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.mahasin-featured-product__compare {
    color: #6b7280;
    text-decoration: line-through;
    font-size: 15px;
    font-weight: 400;
    line-height: 26px;
}

.mahasin-featured-product__sale {
    color: #991b1b;
    font-weight: 700;
    font-size: 20px;
    line-height: 28px;
}

.mahasin-featured-product__sale--plain {
    color: #042b6e;
}

.mahasin-featured-product__badge {
    display: inline-block;
    background: #fee2e2;
    color: #b91c1c;
    padding: 4px 8px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
}

/* REF: rating under prices, full content width, centered */
.mahasin-featured-product__rating {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    margin: 0 0 8px;
    text-align: center;
}

.mahasin-featured-product__stars {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.mahasin-featured-product__star {
    display: block;
    width: 20px;
    height: 20px;
}

.mahasin-featured-product__rating-count {
    color: #6b7280;
    font-size: 15px;
    font-weight: 400;
    line-height: 26px;
}

.mahasin-featured-product__sold {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    margin: 12px auto;
    padding: 10px 20px;
    border: 0.8px solid #042b6e;
    border-radius: 8px;
    color: #042b6e;
    font-size: 19px;
    font-weight: 400;
    line-height: 26px;
    justify-content: center;
    max-width: max-content;
    box-shadow: 2px 2px 0 0 #042b6e;
}

.mahasin-featured-product__sold-icon {
    display: inline-flex;
    align-items: center;
    line-height: 0;
}

.mahasin-featured-product__sold-icon svg,
.mahasin-featured-product__sold .mahasin-sold-blinker {
    width: 20px;
    height: 20px;
    display: block;
}

.mahasin-featured-product__sold-num {
    font-weight: 700;
}

.mahasin-featured-product__desc {
    margin: 16px 0;
}

.mahasin-featured-product__desc-label {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    line-height: 28px;
    color: #5c5f5f;
}

.mahasin-featured-product__desc-text {
    margin: 16px 0 0;
    padding: 0 0 12px;
    font-size: 12px;
    font-weight: 500;
    line-height: 16px;
    color: #000;
}

/* Pack cards — match REF (pill badge, clean image, single price stack) */
.mahasin-featured-product__packs,
.mahasin-pdp__packs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 20px 0 20px;
    padding: 10px 0;
    background: transparent;
    border-radius: 0;
    box-sizing: border-box;
}

/* Pack options (product page + home featured product): 2 per row (2 top, 2 bottom) */
.mahasin-featured-product__packs,
.mahasin-pdp__packs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 22px !important;
}

/* Footer: CR / Saudi Business Center / VAT inside a closed «مزيد من التفاصيل» item (under important links) */
.mahasin-footer__legal {
    margin-top: 12px;
    align-self: stretch;
    width: 100%;
    text-align: start;
}
.mahasin-footer__legal-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    list-style: none;
    font-size: 13px;
    color: inherit;
    opacity: 0.75;
    text-decoration: underline;
    text-underline-offset: 4px;
}
.mahasin-footer__legal-toggle::-webkit-details-marker {
    display: none;
}
.mahasin-footer__legal-toggle::after {
    content: "+";
    text-decoration: none;
    font-size: 15px;
}
.mahasin-footer__legal[open] .mahasin-footer__legal-toggle::after {
    content: "\2212";
}
.mahasin-footer__legal[open] .mahasin-footer__trust {
    margin-top: 12px;
}

/* Product cards: image area takes the site background (no grey box behind cut-out product photos) */
.product-item__media,
body .mahasin-products-page .product-item__media {
    background: transparent !important;
}

/* Pack links: the pack image in the gallery is shown whole (no crop), in the same square frame */
.mahasin-pdp__gallery-main img.mahasin-pdp__pack-gallery-img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1;
    object-fit: contain !important;
}
.mahasin-pdp__thumb img.mahasin-pdp__pack-gallery-img {
    object-fit: contain !important;
}

/* Bold frame starts on «عبوتين»; after the customer taps any pack, the frame follows the selection. Links with ?pack= open with the frame on the requested pack */
html:not(.mahasin-packs-deeplink) .mahasin-featured-product__packs:not(.mahasin-packs--touched) .mahasin-pack-card.is-highlight,
html:not(.mahasin-packs-deeplink) .mahasin-pdp__packs:not(.mahasin-packs--touched) .mahasin-pack-card.is-highlight {
    border-color: var(--mahasin-pack-active-border, #042b6e);
    border-width: 3px;
}
html:not(.mahasin-packs-deeplink) .mahasin-featured-product__packs:not(.mahasin-packs--touched) .mahasin-pack-card.is-active:not(.is-highlight),
html:not(.mahasin-packs-deeplink) .mahasin-featured-product__packs:not(.mahasin-packs--touched) .mahasin-pack-card[aria-selected="true"]:not(.is-highlight),
html:not(.mahasin-packs-deeplink) .mahasin-pdp__packs:not(.mahasin-packs--touched) .mahasin-pack-card.is-active:not(.is-highlight),
html:not(.mahasin-packs-deeplink) .mahasin-pdp__packs:not(.mahasin-packs--touched) .mahasin-pack-card[aria-selected="true"]:not(.is-highlight) {
    border-color: var(--mahasin-pack-border, #042b6e);
    border-width: 1px;
}

.mahasin-pdp__packs {
    width: 100%;
    max-width: none;
    margin: 8px 0 16px;
    padding: 14px 0;
}

.mahasin-pack-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    margin: 0;
    padding: 18px 8px 12px;
    overflow: visible;
    border: 1px solid var(--mahasin-pack-border, #042b6e);
    border-radius: 35px;
    background: #fcfaf2;
    cursor: pointer;
    text-align: center;
    outline: none !important;
    appearance: none;
    -webkit-appearance: none;
    font-family: inherit;
    color: #042b6e;
    min-width: 0;
    box-sizing: border-box;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.mahasin-pack-card.is-active,
.mahasin-pack-card[aria-selected="true"] {
    border-color: var(--mahasin-pack-active-border, #042b6e);
    border-width: 3px;
    box-shadow: none;
}

.mahasin-pack-card:focus-visible {
    outline: none;
    box-shadow: 0 0 0 2px rgba(4, 43, 110, 0.25);
}

/* Pill badge — sits on top edge like REF */
.mahasin-pack-card__badge {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: calc(100% - 12px);
    margin: 0;
    padding: 5px 12px;
    border-radius: 999px;
    background: #a8bdd9;
    color: #042b6e;
    font-size: 12px;
    font-weight: 500;
    white-space: nowrap;
    transform: translate(-50%, -50%);
    box-sizing: border-box;
}

.mahasin-pack-card.is-active .mahasin-pack-card__badge {
    background: #042b6e;
    color: #fff;
}

.mahasin-pack-card__top {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    width: 100%;
    margin: 6px 0 4px;
    min-height: 2.6em;
}

.mahasin-pack-card__top-line {
    display: block;
    width: 100%;
    color: #042b6e;
    font-size: 12px;
    font-weight: 500;
}

.mahasin-pack-card__sub-line {
    display: block;
    width: 100%;
    color: #5c5c5c;
    font-size: 12px;
}

.mahasin-pack-card__heading {
    display: none;
}

.mahasin-pack-card__promo {
    display: block;
    width: 100%;
    color: #e11d48;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.3;
}

.mahasin-pack-card__media,
.mahasin-featured-product__pack-media,
.mahasin-pdp__pack-media {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 110px;
    margin: 4px 0 6px;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.mahasin-pack-card__img,
.mahasin-featured-product__pack-img,
.mahasin-pdp__pack-img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: 190px;
    margin-inline: auto;
    object-fit: contain;
}

.mahasin-pack-card__prices {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    margin-top: 2px;
}

.mahasin-pack-card__price {
    display: inline-flex;
    flex-direction: row-reverse;
    align-items: baseline;
    gap: 2px;
    color: #e11d48;
    font-weight: 800;
    line-height: 1;
}

.mahasin-pack-card__price .mahasin-pack-card__num {
    font-size: 30px;
    letter-spacing: -0.02em;
}

.mahasin-pack-card__compare {
    display: inline-flex;
    flex-direction: row-reverse;
    align-items: baseline;
    gap: 2px;
    color: #5b7bb0;
    font-weight: 600;
    line-height: 1;
    text-decoration: line-through;
    text-decoration-color: #042b6e;
    text-decoration-thickness: 1.5px;
}

.mahasin-pack-card__compare .mahasin-pack-card__num {
    font-size: 14px;
}

.mahasin-pack-card__sar {
    font-size: 0.5em;
    font-weight: 700;
    color: #042b6e;
    position: relative;
    top: -0.15em;
}

.mahasin-pack-card__compare .mahasin-pack-card__sar {
    color: #5b7bb0;
    font-size: 0.65em;
}

.mahasin-pack-card__footer {
    display: block;
    width: 100%;
    margin-top: 8px;
    color: #6b8f71;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.3;
}

/* Legacy hooks */
.mahasin-featured-product__pack-check,
.mahasin-featured-product__pack-title,
.mahasin-featured-product__pack-meta,
.mahasin-pdp__pack-title,
.mahasin-pdp__pack-ship {
    display: none !important;
}

.mahasin-featured-product__pack,
.mahasin-pdp__pack {
    /* shared via .mahasin-pack-card */
}

.mahasin-featured-product__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 20px;
    align-items: stretch;
}

.mahasin-featured-product__actions--before {
    margin-top: 0;
    margin-bottom: 0;
}

.mahasin-featured-product__actions--after {
    grid-template-columns: 1fr;
    margin-top: 8px;
}

.mahasin-featured-product__actions--after .mahasin-featured-product__btn--buy-full {
    width: 100%;
}

/* Flatten rows so qty + ATC share one equal 2-col grid */
.mahasin-featured-product__row {
    display: contents;
    margin-bottom: 0;
}

.mahasin-featured-product__row+.mahasin-featured-product__row {
    margin-top: 0;
}

.mahasin-featured-product__qty,
.mahasin-featured-product__btn {
    width: 100%;
    min-width: 0;
    max-width: none;
    box-sizing: border-box;
}

.mahasin-featured-product__qty {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    height: 48px;
    border: 1px solid #d1d5db;
    border-radius: 0;
    overflow: hidden;
    background: #fcfaf2;
    box-sizing: border-box;
    direction: ltr;
}

.mahasin-featured-product__qty-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 48px;
    margin: 0;
    padding: 0;
    border: 0;
    border-inline-start: 1px solid #d1d5db;
    background: #fcfaf2;
    color: #231f1e;
    font-size: 32px;
    font-weight: 400;
    line-height: 1;
    cursor: pointer;
}

.mahasin-featured-product__qty> :first-child {
    border-inline-start: 0;
}

.mahasin-featured-product__qty-btn:hover,
.mahasin-featured-product__qty-btn:focus-visible {
    background: #f3f0e6;
    outline: none;
}

.mahasin-featured-product__qty-input {
    display: block;
    width: 100%;
    height: 48px;
    margin: 0;
    padding: 0;
    border: 0;
    border-inline-start: 1px solid #d1d5db;
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    line-height: 48px;
    color: #231f1e;
    background: #fcfaf2;
    -moz-appearance: textfield;
    appearance: textfield;
    box-sizing: border-box;
}

.mahasin-featured-product__qty-input::-webkit-outer-spin-button,
.mahasin-featured-product__qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.mahasin-featured-product__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    height: 48px;
    padding: 8px 12px 10px;
    border-radius: 0;
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    border: 1px solid transparent;
    box-sizing: border-box;
}

.mahasin-featured-product__btn--solid {
    background: #042b6e;
    color: #fff;
    border-color: #042b6e;
}

.mahasin-featured-product__btn--solid:hover,
.mahasin-featured-product__btn--solid:focus {
    background: #031f52;
    color: #fff;
    text-decoration: none;
}

.mahasin-featured-product__btn--outline,
.mahasin-featured-product__btn--buy {
    background: transparent;
    color: #042b6e;
    border-color: #042b6e;
}

.mahasin-featured-product__btn--outline:hover,
.mahasin-featured-product__btn--outline:focus,
.mahasin-featured-product__btn--buy:hover,
.mahasin-featured-product__btn--buy:focus {
    background: rgba(4, 43, 110, 0.06);
    color: #042b6e;
    text-decoration: none;
}

.mahasin-featured-product__shipping {
    margin-top: 30px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
}

.mahasin-featured-product__shipping p {
    margin: 0;
    font-weight: 400;
    font-size: 15px;
    line-height: 26px;
    color: #231f1e;
}

@media (max-width: 767.98px) {
    .mahasin-featured-product__packs,
    .mahasin-pdp__packs {
        gap: 6px;
    }

    .mahasin-pack-card {
        padding: 16px 4px 10px;
        border-radius: 12px;
    }

    .mahasin-pack-card__badge {
        font-size: 10px;
        padding: 4px 8px;
    }

    .mahasin-pack-card__top {
        min-height: 2.4em;
        margin-top: 4px;
    }

    .mahasin-pack-card__top-line,
    .mahasin-pack-card__sub-line {
        font-size: 10px;
    }

    .mahasin-pack-card__promo,
    .mahasin-pack-card__footer {
        font-size: 9px;
    }

    .mahasin-pack-card__price .mahasin-pack-card__num {
        font-size: 22px;
    }

    .mahasin-pack-card__compare .mahasin-pack-card__num {
        font-size: 12px;
    }

    .mahasin-pack-card__img,
    .mahasin-featured-product__pack-img,
    .mahasin-pdp__pack-img {
        max-width: 110px;
        max-height: 110px;
    }

    .mahasin-pack-card__media,
    .mahasin-featured-product__pack-media,
    .mahasin-pdp__pack-media {
        min-height: 90px;
    }

    .mahasin-featured-product__qty {
        height: 44px;
    }

    .mahasin-featured-product__qty-btn,
    .mahasin-featured-product__qty-input,
    .mahasin-featured-product__btn {
        height: 44px;
        min-height: 44px;
    }

    .mahasin-featured-product__qty-input {
        line-height: 44px;
    }
}

.ic-menu-back {
    font-size: 22px;
    margin-right: 12px;
    font-weight: bold;
}

.rtl .ic-menu-back {
    margin-right: unset;
    margin-left: 12px;
}

@media (max-width: 768px) {
    .mahasin-header-bar.search-header-bar {
        height: 76px;
    }

    .header-cart:not(.mahasin-header-actions) {
        flex-grow: 1;
        width: 30%;
    }

    .header-logo:not(.mahasin-header-logo) {
        width: 70%;
    }

    .search-header-bar:not(.mahasin-header-bar) {
        height: 64px;
    }


    .footer .apps-social-icons:nth-child(2) {
        padding-left: 15px;
    }

    .rtl .footer .apps-social-icons:nth-child(2) {
        padding-right: 15px;
        padding-left: 15px;
    }

    .footer .icons-wrapper {
        padding-bottom: 10px;
        padding-top: 10px;
    }

    .footer-about-us-div {
        padding-right: 0;
    }

    .rtl .footer-about-us-div {
        padding-right: unset;
        padding-left: 0;
    }

    .category-page-slider .categories-slider {
        height: 225px;
    }

    .categories-slider .category-item,
    .cards-slider .card-item {
        width: 190px;
    }

    .category-page-slider .categories-slider .category-item {
        width: 165px;
    }

    .category-page-slider .categories-slider.s-slider {
        margin-right: -7.5px;
        margin-left: -7.5px;
    }

    .category-page-slider .products-slider .prod-col,
    .categories-slider .cat-col,
    .cards-slider .card-col {
        padding-left: 7.5px;
        padding-right: 7.5px;
    }

    .products-slider .prod-col,
    .categories-slider .cat-col,
    .cards-slider .card-col,
    .testimonials-slider .testimonials-customer-card,
    .partners-slider .partners-item {
        display: inline-block;
        vertical-align: top;
    }

    .partners-slider .partners-item {
        vertical-align: middle;
    }

    .categories-slider,
    .products-slider,
    .cards-slider,
    .testimonials-slider,
    .partners-slider {
        overflow-y: hidden;
        overflow-x: scroll;
        white-space: nowrap;
    }

    .product-crd-spec small {
        white-space: break-spaces;
    }

    .testimonials-slider::-webkit-scrollbar {
        width: 0 !important
    }


    .categories-slider-wrapper,
    .products-slider-wrapper,
    .cards-slider-wrapper,
    .testimonials-slider-wrapper,
    .partners-slider-wrapper {
        overflow-x: hidden;
        margin-right: 0px;
        margin-left: 0px;
    }

    .main-slider,
    .main-slider .slider-item {}

    .main-slider .slick-dots li button:before {
        font-size: 10px;
    }


    .main-slider .slick-dots {
        bottom: 4px;
    }

    .section-title {
        padding-right: 15px;
        padding-left: 15px;
    }

    .products-list .prod-col,
    .bundle-offer-products .prod-col {
        margin: 0 auto;
        width: auto;
    }

    .products-list .prod-col,
    .products-list .prod-col-attr {
        width: 50%;
    }

    .product-item {
        width: 100%;
        max-width: none;
    }

    .products-list .prod-col .product-item {
        width: 100%;
    }

    .sm-search-div {
        display: block;
    }

    .icon-shopping_cart_black_36dp-1-1,
    .sm-search-icon>span {
        font-size: 28px;
    }

    .icon-menu-top {
        width: 32px;
    }

}


.btn:focus,
.btn:active,
.page-link:focus,
.page-link:active {
    outline: none !important;
    box-shadow: none;
}

.gift-popover-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-evenly;
    width: 115px;
    height: 140px;
    max-width: 100%;
}

.popover {
    top: 40px;
}

.popover .arrow {
    top: -0.5rem;
    left: 5px;
}

.popover .arrow::before {
    top: 0;
    border-width: 0 0.5rem 0.5rem;
    border-bottom-color: #fff;
}

.popover .arrow ::after {
    top: 1px;
    border-width: 0 0.5rem 0.5rem;
    border-bottom-color: #fff;
}

.btn-product-card-out-of-stock {
    width: max-content;
}

.preorder-badge {
    display: inline-flex;
    align-items: center;
    padding: 5px 14px;
    border-radius: 20px;
    font-weight: 300;
    line-height: 1.4;
    background-color: var(--primary-color);
    color: var(--text-color-primary-bg, #ffffff);
    white-space: nowrap;
    margin-bottom: 8px;
}

.preorder-badge.preorder-badge--product-card {
    border-radius: 10px;
    margin-bottom: 0;
}

.add-to-wishlist {
    position: absolute;
    right: 0;
    z-index: 1;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin: 10px;
    width: 40px;
    height: 35px;
    cursor: pointer;
    border-radius: 5px;
    background-color: white;
}

.rtl .add-to-wishlist {
    right: unset;
    left: 0;
}

.icon-heart-mask {
    display: inline-block;
    width: 25px;
    height: 20px;
    mask-size: 100%;
    mask-position: center;
    mask-repeat: no-repeat;
    mask-image: var(--heart-outlined-icon);
    background-color: var(--secondary, #A1A0A9);
}

.icon-heart-mask.filled {
    mask-image: var(--heart-filled-icon);
    background-color: var(--primary_color, #D86F6F);
}

/* ========== Mahasin Customer Reviews (testimonials) — REF parity ========== */
.mahasin-reviews {
    margin: 50px 0 0;
    padding: 32px 0;
    background-color: #fcfaf2;
    color: #231f1e;
}

.mahasin-reviews__header {
    margin: 0 0 32px;
    padding: 0;
    text-align: center;
}

.mahasin-reviews__title {
    margin: 0;
    padding: 0;
    font-size: 30px;
    font-weight: 600;
    line-height: 48px;
    color: #000;
    text-align: center;
}

.mahasin-reviews__count {
    display: block;
    margin-top: 0;
    font-size: 17px;
    font-weight: 700;
    line-height: 26px;
    color: #042b6e;
    text-align: center;
}

.mahasin-reviews__slider-wrap {
    position: relative;
}

.mahasin-reviews__swiper {
    margin: 0;
    overflow: hidden !important;
    padding: 0;
    white-space: normal !important;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
    touch-action: pan-y;
}

.mahasin-reviews__swiper:active {
    cursor: grabbing;
}

.mahasin-reviews__swiper .swiper-wrapper {
    align-items: stretch;
    display: flex !important;
    white-space: normal !important;
    touch-action: pan-y;
}

.mahasin-reviews__swiper .mahasin-reviews__card {
    display: block !important;
    float: none !important;
    box-sizing: border-box;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    white-space: normal !important;
    user-select: none;
    -webkit-user-select: none;
}

/* Hide leftover arrows from older deploys */
.mahasin-reviews__nav {
    display: none !important;
}

.mahasin-reviews__card-inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 15px;
    min-height: 0;
    height: 100%;
    padding: 16px;
    background-color: #fcfaf2;
    border-radius: 8px;
}

.mahasin-reviews__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
}

.mahasin-reviews__identity {
    display: flex;
    flex-direction: column;
    gap: 7px;
    min-width: 0;
}

.mahasin-reviews__person {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
}

.mahasin-reviews__avatar {
    display: block;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
    background-color: #e9ecef;
}

.mahasin-reviews__avatar--empty {
    border: 0;
}

.mahasin-reviews__name-wrap {
    text-align: center;
}

.mahasin-reviews__name {
    margin: 0;
    font-size: 12px;
    font-weight: 700;
    line-height: 12px;
    color: #000;
    text-align: center;
}

.mahasin-reviews__date-wrap {
    flex-shrink: 0;
    align-self: flex-start;
}

.mahasin-reviews__date {
    display: block;
    font-size: 15px;
    font-weight: 400;
    line-height: 26px;
    color: #595959;
    text-align: center;
    white-space: nowrap;
}

.mahasin-reviews__stars {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 2px;
    margin: 0 auto;
    width: auto;
}

.mahasin-reviews__star {
    display: block;
    width: 20px;
    height: 16px;
    line-height: 0;
    color: #ff9800;
}

.mahasin-reviews__star svg {
    display: block;
    width: 16px;
    height: 16px;
    fill: currentColor;
}

.mahasin-reviews__star--off {
    color: #d1d5db;
}

.mahasin-reviews__purchased {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 15px;
    font-weight: 400;
    line-height: 26px;
    color: #34c759;
}

.mahasin-reviews__check-icon {
    display: block;
    flex-shrink: 0;
    width: 15px;
    height: 15px;
    color: #34c759;
}

.mahasin-reviews__text {
    margin: 16px 0 0;
    padding: 0;
    font-size: 18px;
    font-weight: 400;
    line-height: 26.1px;
    color: #333;
    text-align: start;
}

.mahasin-reviews__dots {
    position: static;
    margin-top: 16px;
}

.mahasin-reviews__swiper--static .swiper-wrapper {
    display: flex;
    justify-content: center;
}

.mahasin-reviews__swiper--static .swiper-slide {
    width: 100%;
    max-width: 475px;
}

@media (max-width: 991.98px) {
    .mahasin-reviews {
        margin-top: 20px;
        padding: 20px 0;
    }

    .mahasin-reviews__title {
        font-size: 30px;
        line-height: 45px;
    }

    .mahasin-reviews__header {
        margin-bottom: 24px;
    }

    .mahasin-reviews__text {
        font-size: 16px;
        line-height: 1.45;
    }
}

@media (max-width: 767.98px) {
    .mahasin-reviews {
        margin-top: 20px;
        padding: 10px 0;
    }

    .mahasin-reviews__title {
        font-size: 24px;
        line-height: 36px;
    }

    .mahasin-reviews__count {
        font-size: 14px;
        line-height: 26px;
    }

    .mahasin-reviews__header {
        margin-bottom: 20px;
    }

    .mahasin-reviews__card-inner {
        padding: 16px;
        gap: 15px;
    }

    .mahasin-reviews__text {
        font-size: 15px;
        line-height: 21.75px;
    }
}

/* ========== Mahasin Customer Stories (cards-slider-section) ========== */
.mahasin-stories {
    margin: 64px 0 0;
    padding: 0 0 8px;
    background-color: #fcfaf2;
    color: #231f1e;
}

.mahasin-stories__header {
    margin: 0 0 32px;
    padding: 0;
    text-align: center;
}

.mahasin-stories__title {
    margin: 0;
    font-size: 1.875rem;
    font-weight: 600;
    line-height: 1.6;
    color: #000;
    text-align: center;
}

.mahasin-stories__slider-wrap {
    position: relative;
}

.mahasin-stories__swiper {
    margin: 0 -10px;
    overflow: hidden !important;
    overflow-x: hidden !important;
    white-space: normal !important;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
    -webkit-user-drag: none;
    touch-action: pan-y;
}

.mahasin-stories__swiper:active {
    cursor: grabbing;
}

.mahasin-stories__swiper .swiper-wrapper {
    align-items: stretch;
}

.mahasin-stories__slide.card-col,
.mahasin-stories .swiper-slide {
    width: 25%;
    height: auto;
    margin: 0;
    padding: 0 10px;
    box-sizing: border-box;
    white-space: normal;
}

.mahasin-stories__card.card-item,
.mahasin-stories .cards-slider .card-item.mahasin-stories__card,
.mahasin-stories .card-item {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100% !important;
    max-width: none !important;
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background: #fcfaf2;
    border: 0.8px solid #dedede;
    border-radius: 0;
    box-shadow: none !important;
    white-space: normal;
}

.mahasin-stories__media {
    width: 100%;
    aspect-ratio: 650 / 350;
    overflow: hidden;
    background: #f3f1ea;
    border: 1px solid #c5d0e0;
    box-sizing: border-box;
}

.mahasin-stories__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mahasin-stories__body {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    gap: 10px;
    padding: 14px;
    flex: 1 1 auto;
}

.mahasin-stories__story-title {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
    color: #231f1e;
    overflow: hidden;
}

.mahasin-stories__story-title a {
    color: inherit;
    text-decoration: none;
}

.mahasin-stories__desc {
    margin: 0;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.55;
    color: #555;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
}

.mahasin-stories__product {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
}

/* Hide story product strip on PDP (already on the product page) */
.mahasin-pdp .mahasin-stories__product {
    display: none !important;
}

/* PDP only: stories + visitor experiences full-bleed (no container padding) */
.mahasin-pdp #mahasin-stores {
    width: 100vw;
    max-width: 100vw;
    margin-inline: calc(50% - 50vw);
    padding-inline: 0 !important;
    box-sizing: border-box;
}

.mahasin-pdp #mahasin-stores>.container {
    max-width: none !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-inline: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.mahasin-pdp #mahasin-stores .mahasin-stories__swiper,
.mahasin-pdp #mahasin-stores .cards-slider-wrapper {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-inline: 0 !important;
}

/* Soft Theme `.card-item a/img { width:100% }` expands thumbs — pin REF 80×80 */
.mahasin-stories .card-item a.mahasin-stories__thumb-link,
.mahasin-stories__thumb-link {
    display: block !important;
    flex: 0 0 80px;
    flex-shrink: 0;
    width: 80px !important;
    max-width: 80px !important;
    height: 80px;
    margin: 0;
    padding: 0;
    line-height: 0;
    text-align: start !important;
}

.mahasin-stories .card-item img.mahasin-stories__thumb,
.mahasin-stories__thumb {
    display: block !important;
    width: 80px !important;
    height: 80px !important;
    max-width: 80px !important;
    margin: 0 !important;
    object-fit: contain;
    border-radius: 8px;
}

.mahasin-stories .card-item img.mahasin-stories__image,
.mahasin-stories__image {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 100%;
    margin: 0;
    object-fit: cover;
}

.mahasin-stories__product-meta {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    min-width: 0;
    width: auto;
}

.mahasin-stories__product-name {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    color: #231f1e;
    text-decoration: none;
}

.mahasin-stories__atc {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #042b6e;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    cursor: pointer;
    text-align: start;
}

.mahasin-stories__atc:hover,
.mahasin-stories__atc:focus-visible {
    color: #031f4f;
    outline: none;
}

.mahasin-stories__atc-icon {
    display: block;
    flex-shrink: 0;
}

/* REF `.show_story` — full-width navy CTA */
.mahasin-stories__view-btn {
    display: block;
    width: 100%;
    margin: 8px 0 0;
    padding: 10px;
    border: 0;
    border-radius: 0;
    background: #042b6e;
    color: #fff;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.4;
    text-align: center;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

.mahasin-stories__view-btn:hover,
.mahasin-stories__view-btn:focus-visible {
    background: #031f4f;
    color: #fff;
    outline: none;
}

.mahasin-stories__swiper--static .swiper-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

/* ========== Story modal (عرض القصة) ========== */
html.mahasin-story-modal-open {
    overflow: hidden;
    overscroll-behavior: none;
}

.mahasin-story-modal {
    position: fixed;
    inset: 0;
    z-index: 10050;
    display: none;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    height: 100dvh;
    max-height: 100dvh;
    padding: max(16px, env(safe-area-inset-top, 0px)) max(16px, env(safe-area-inset-right, 0px)) max(16px, env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));
    overflow: hidden;
}

.mahasin-story-modal.is-open,
.mahasin-story-modal:not([hidden]) {
    display: flex;
}

.mahasin-story-modal[hidden] {
    display: none !important;
}

.mahasin-story-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    cursor: pointer;
}

.mahasin-story-modal__dialog {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    width: 100%;
    max-width: 855px;
    max-height: calc(100vh - 32px);
    max-height: calc(100dvh - 32px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
    max-height: calc(100svh - 32px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
    overflow: auto;
    margin: 0;
    padding: 24px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.2);
    outline: none;
    -webkit-overflow-scrolling: touch;
}

.mahasin-story-modal__header {
    display: flex;
    justify-content: center;
    margin: 0 0 8px;
}

.mahasin-story-modal__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #231f1e;
    cursor: pointer;
}

.mahasin-story-modal__close:hover,
.mahasin-story-modal__close:focus-visible {
    color: #042b6e;
    outline: none;
}

.mahasin-story-modal__body {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.mahasin-story-modal__story {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: center;
}

.mahasin-story-modal__media {
    min-width: 0;
    overflow: hidden;
    width: 100%;
}

.mahasin-story-modal__image {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

.mahasin-story-modal__copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}

.mahasin-story-modal__title {
    margin: 0;
    font-size: 26px;
    font-weight: 600;
    line-height: 1.5;
    color: #231f1e;
}

.mahasin-story-modal__desc {
    margin: 0;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.55;
    color: #555;
    display: block;
    -webkit-line-clamp: unset;
    line-clamp: unset;
    overflow: visible;
}

.mahasin-story-modal__product {
    display: none
}

.mahasin-story-modal__thumb-link {
    flex: 0 0 80px;
    width: 80px;
    height: 80px;
    line-height: 0;
}

.mahasin-story-modal__thumb {
    display: block;
    width: 80px;
    height: 80px;
    object-fit: contain;
    border-radius: 8px;
}

.mahasin-story-modal__product-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    min-width: 0;
}

.mahasin-story-modal__product-name {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    color: #042b6e;
    text-decoration: none;
}

.mahasin-story-modal__footer {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 16px;
    padding: 16px 0;
    border-bottom: 1px solid #ccc;
}

.mahasin-story-modal__footer-atc,
.mahasin-story-modal__buy {
    flex: 1 1 180px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 8px 16px;
    border-radius: 5px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    box-sizing: border-box;
}

.mahasin-story-modal__footer-atc {
    border: 0.8px solid #042b6e;
    background: #fff;
    color: #042b6e;
}

.mahasin-story-modal__buy {
    border: 0.8px solid #042b6e;
    background: #042b6e;
    color: #fff;
}

.mahasin-story-modal__buy:hover,
.mahasin-story-modal__buy:focus-visible {
    background: #031f4f;
    border-color: #031f4f;
    color: #fff;
    outline: none;
}

.mahasin-story-modal__gallery {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 10px;
    margin-top: 16px;
}

.mahasin-story-modal__gallery[hidden] {
    display: none !important;
}

.mahasin-story-modal__gallery-img {
    display: block;
    width: auto;
    height: auto;
    object-fit: contain;
    margin: auto;
    max-width: 100%;
}

@media (max-width: 767.98px) {
    .mahasin-story-modal {
        align-items: flex-end;
        justify-content: center;
        height: 100dvh;
        max-height: 100dvh;
        padding: max(12px, env(safe-area-inset-top, 0px)) 8px max(8px, env(safe-area-inset-bottom, 0px)) 8px;
        overflow: hidden;
    }

    .mahasin-story-modal__dialog {
        max-width: 100%;
        width: 100%;
        max-height: calc(100vh - 24px);
        max-height: calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 20px);
        max-height: calc(100svh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 20px);
        padding: 16px;
        padding-bottom: max(16px, env(safe-area-inset-bottom, 0px));
        border-radius: 12px 12px 0 0;
    }

    .mahasin-story-modal__story {
        flex-direction: column;
        gap: 14px;
    }

    .mahasin-story-modal__gallery {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991.98px) {
    .mahasin-stories {
        margin-top: 40px;
    }

    .mahasin-stories__title {
        font-size: 1.5rem;
    }

    .mahasin-stories__header {
        margin-bottom: 24px;
    }
}

@media (max-width: 767.98px) {
    .mahasin-stories__title {
        font-size: 1.5rem;
    }

    .mahasin-stories__slide.card-col,
    .mahasin-stories .swiper-slide {
        width: 80%;
        max-width: 360px;
        padding: 0 5px;
    }

    .mahasin-stories__desc {
        font-size: 1rem;
    }

    /* Soft Theme forces .cards-slider { overflow-x: scroll } — keep Swiper drag only */
    .mahasin-stories .cards-slider.mahasin-stories__swiper,
    .mahasin-stories__swiper.cards-slider {
        overflow: hidden !important;
        overflow-x: hidden !important;
        white-space: normal !important;
    }

    .mahasin-stories .cards-slider .card-item.mahasin-stories__card,
    .mahasin-stories .cards-slider .card-item {
        width: 100% !important;
        max-width: none !important;
    }
}

/* ========== Mahasin Video Stories (video section / ambassadors) ========== */
.mahasin-video-stories {
    margin: 64px 0 32px;
    padding: 0;
    background-color: transparent;
    color: #231f1e;
    overflow-x: clip;
}

/* REF .container gutters — title stays inset; swiper breaks out via negative margin */
.mahasin-video-stories__container {
    margin: 0 auto;
}

.mahasin-video-stories__header {
    margin: 0 0 32px;
    text-align: center;
}

.mahasin-video-stories__title {
    margin: 0;
    font-size: 30px;
    font-weight: 600;
    line-height: 48px;
    letter-spacing: -1px;
    color: #000;
    text-align: center;
}

.mahasin-video-stories__slider-wrap {
    width: 100%;
    overflow: visible;
}

.mahasin-video-stories__swiper {
    width: auto;
    max-width: none;
    margin: 0 -10px;
    padding: 0;
    overflow: hidden;
    box-sizing: border-box;
}

.mahasin-video-stories__slide {
    width: 15%;
    height: auto;
    padding: 0 10px;
    box-sizing: border-box;
}

.mahasin-video-stories__slide:last-child {
    padding-inline-end: 0 !important;
}

.mahasin-video-stories__card {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: transparent;
    aspect-ratio: 9 / 16;
}

.mahasin-video-stories__poster {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    object-fit: cover;
}

.mahasin-video-stories__video.story-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    background: #000;
}

.mahasin-video-stories__video.video_hidden,
.mahasin-video-single__video.video_hidden {
    display: none !important;
}

/* Used by PDP ambassadors inline play (home stories use modal) */
.mahasin-video-stories__card.is-playing .mahasin-video-stories__poster {
    visibility: hidden;
}

.mahasin-video-stories__play {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 65px;
    height: 65px;
    margin: auto;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(243, 243, 243, 0.45);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

.mahasin-video-stories__play svg {
    display: block;
    margin: auto;
}

.mahasin-video-stories__actions {
    position: absolute;
    top: 16px;
    inset-inline-start: 16px;
    z-index: 3;
    width: 50px;
    height: 50px;
}

/* REF: white bag icon → Zid ATC (no frosted circle) */
.mahasin-video-stories__product-link,
.mahasin-video-stories__atc {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #fff;
    box-shadow: none;
    text-decoration: none;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

.mahasin-video-stories__product-link:hover,
.mahasin-video-stories__product-link:focus-visible,
.mahasin-video-stories__atc:hover,
.mahasin-video-stories__atc:focus-visible {
    color: #fff;
    background: transparent;
    outline: none;
    opacity: 0.9;
}

.mahasin-video-stories__bag-icon {
    display: block;
    width: 28px;
    height: 28px;
    fill: currentColor;
    filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.45));
}

.mahasin-video-stories__caption {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    display: block;
    padding: 7px;
    background: rgba(0, 0, 0, 0.04);
    -webkit-backdrop-filter: blur(1px);
    backdrop-filter: blur(1px);
    text-align: center;
    color: #fff;
    pointer-events: none;
}

.mahasin-video-stories__badge {
    display: inline-block;
    padding: 2px 8px;
    background: #111;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.4;
}

.mahasin-video-stories__name {
    margin: 0;
    color: #fff;
    font-size: 19px;
    font-weight: 600;
    line-height: 38px;
    overflow: hidden;
    text-shadow: 0 0 4px rgba(0, 0, 0, 0.8);
}

.mahasin-video-stories__swiper--static .swiper-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

/* Story video modal (REF #video-modal / story-modal-active) */
html.mahasin-video-story-modal-open {
    overflow: hidden;
}

.mahasin-video-story-modal {
    position: fixed;
    inset: 0;
    z-index: 10060;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 16px;
}

.mahasin-video-story-modal.is-open,
.mahasin-video-story-modal:not([hidden]) {
    display: flex;
}

.mahasin-video-story-modal[hidden] {
    display: none !important;
}

.mahasin-video-story-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.65);
    cursor: pointer;
}

.mahasin-video-story-modal__dialog {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    width: 100%;
    max-width: 420px;
    max-height: calc(100vh - 32px);
    overflow: auto;
    margin: 0;
    padding: 12px 16px 20px;
    background: #111;
    border-radius: 12px;
    outline: none;
    -webkit-overflow-scrolling: touch;
}

.mahasin-video-story-modal__header {
    display: flex;
    justify-content: flex-end;
    margin: 0 0 8px;
}

.mahasin-video-story-modal__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #fff;
    cursor: pointer;
}

.mahasin-video-story-modal__close:hover,
.mahasin-video-story-modal__close:focus-visible {
    color: #fcfaf2;
    outline: none;
}

.mahasin-video-story-modal__content {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.mahasin-video-story-modal__video {
    display: block;
    width: 100%;
    max-height: min(70vh, 720px);
    background: #000;
    border-radius: 8px;
}

.mahasin-video-story-modal__content .mahasin-video-stories__caption,
.mahasin-video-story-modal__content .video-title {
    position: static;
    left: auto;
    right: auto;
    bottom: auto;
    padding: 4px 0 0;
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    pointer-events: auto;
}

.mahasin-video-story-modal__content .mahasin-video-stories__name {
    color: #fff;
    text-align: center;
}

.mahasin-video-single__wrap {
    position: relative;
}

.mahasin-video-single__poster {
    display: block;
    width: 100%;
    height: auto;
}

.mahasin-video-single__play {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 65px;
    height: 65px;
    margin: auto;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(243, 243, 243, 0.45);
    cursor: pointer;
}

/* REF tablet: title stays 30px / header mb 32; play+name shrink */
@media (max-width: 991.98px) {
    .mahasin-video-stories__container {
        padding: 0 20px;
    }

    .mahasin-video-stories__slide {
        width: 28%;
    }

    .mahasin-video-stories__play {
        width: 40px;
        height: 40px;
    }

    .mahasin-video-stories__name {
        font-size: 17px;
        line-height: 38px;
    }
}

@media (max-width: 767.98px) {
    .mahasin-video-stories {
        margin: 64px 0 32px;
    }

    .mahasin-video-stories__container {
        padding: 0 14px;
    }

    .mahasin-video-stories__header {
        margin-bottom: 32px;
    }

    .mahasin-video-stories__slide {
        width: 40%;
        max-width: none;
        padding: 0 5px;
    }

    /* REF mobile: margin -10px + padding-inline-end 5px */
    .mahasin-video-stories__swiper {
        margin: 0 -10px;
        padding: 0;
        padding-inline-end: 5px;
    }

    .mahasin-video-stories__title {
        font-size: 24px;
        line-height: 28px;
        letter-spacing: -1px;
    }

    .mahasin-video-stories__name {
        font-size: 17px;
        line-height: 38px;
    }

    .mahasin-video-stories__play {
        width: 40px;
        height: 40px;
    }

    .mahasin-video-stories__actions,
    .mahasin-video-stories__product-link,
    .mahasin-video-stories__atc {
        width: 50px;
        height: 50px;
        border-radius: 0;
    }

    .mahasin-video-stories__bag-icon {
        width: 28px;
        height: 28px;
    }

    .mahasin-video-story-modal__dialog {
        max-width: 100%;
        border-radius: 12px;
    }
}

/* ≤450: Swiper shows 1.5 slides — let Swiper control slide width */
@media (max-width: 450px) {
    .mahasin-video-stories__swiper {
        margin: 0;
        padding: 0;
        padding-inline-end: 0;
    }

    .mahasin-video-stories__slide {
        width: auto;
        max-width: none;
        padding: 0;
    }
}

/* ========== Mahasin Footer ? zero JS ========== */
.mahasin-footer-root {
    margin: 0;
    padding: 0;
}

/* px sizes — Soft Theme html font-size is 12px; rem would shrink vs REF */
.mahasin-footer.footer-store-section {
    margin: 50px 0 0;
    padding: 0 20px 20px;
    background: transparent !important;
    color: #1a1a1a;
}

.mahasin-footer__shell {
    background-color: var(--footer-primary-color, #f0f7fa) !important;
    border: 1.6px solid #042b6e;
    border-top: 4px solid #042b6e;
    border-radius: 28px;
    box-shadow: 0 8px 32px rgba(90, 150, 174, 0.1);
    overflow: hidden;
    color: #1a1a1a;
}

.mahasin-footer__container {
    padding-top: 0;
    padding-bottom: 0;
    max-width: 1500px;
}

.mahasin-footer__grid {
    display: grid;
    grid-template-columns: minmax(240px, 1.4fr) repeat(3, minmax(160px, 1fr));
    align-items: start;
    padding: 44px 0 36px;
}

.mahasin-footer__col {
    padding: 0 24px;
    min-width: 0;
}

.mahasin-footer__col+.mahasin-footer__col {
    border-inline-start: 1px solid rgba(4, 43, 110, 0.12);
}

.mahasin-footer__col--brand {
    padding-inline-start: 0;
}

.mahasin-footer__col--contact {
    padding-inline-end: 0;
    text-align: center;
}

.mahasin-footer__logo {
    display: inline-block;
    line-height: 0;
    margin-bottom: 12px;
}

.mahasin-footer__logo img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100px;
    object-fit: contain;
}

.mahasin-footer__brand-title {
    margin: 0 0 12px;
    font-size: 20px;
    font-weight: 700;
    color: #042b6e;
}

.mahasin-footer__desc p {
    margin: 0;
    font-size: 13px;
    font-weight: 400;
    line-height: 22.1px;
    color: #666;
}

.mahasin-footer__trust {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 16px;
}

.mahasin-footer__trust-card {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    border: 0.8px solid #2a5194;
    border-radius: 12px;
    background: transparent;
    color: #1a1a1a;
    text-decoration: none;
    text-align: start;
    font-size: 15px;
}

.mahasin-footer__trust-card:focus-visible {
    outline: 2px solid #042b6e;
    outline-offset: 2px;
}

.mahasin-footer__trust-icon {
    display: block;
    width: 32px;
    height: 32px;
    object-fit: contain;
    flex-shrink: 0;
}

.mahasin-footer__trust-meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.mahasin-footer__trust-label {
    font-size: 15px;
    font-weight: 500;
    color: #1a1a1a;
}

.mahasin-footer__trust-number {
    font-size: 14px;
    font-weight: 700;
    color: #444;
}

.mahasin-footer__heading {
    position: relative;
    margin: 0 0 16px;
    padding: 0 0 10px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    color: #1a1a1a;
    text-align: start;
}

.mahasin-footer__heading::after {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    bottom: 0;
    width: 28px;
    height: 2.5px;
    background: #042b6e;
    border-radius: 2px;
}

.mahasin-footer__heading--center {
    text-align: center;
}

.mahasin-footer__heading--center::after {
    inset-inline-start: 50%;
    transform: translateX(-50%);
}

.rtl .mahasin-footer__heading--center::after {
    transform: translateX(50%);
}

.mahasin-footer__menu {
    margin: 0;
    padding: 0;
    list-style: none;
}

.mahasin-footer__menu li+li {
    margin-top: 2px;
}

.mahasin-footer__menu a {
    display: block;
    padding: 2px 0;
    font-size: 13.5px;
    font-weight: 500;
    line-height: 1.5;
    color: #555;
    text-decoration: none;
    text-align: start;
}

.mahasin-footer__menu a:hover,
.mahasin-footer__menu a:focus-visible {
    color: #042b6e;
}

.mahasin-footer__menu a:focus-visible {
    outline: 2px solid #042b6e;
    outline-offset: 2px;
}

.mahasin-footer__contact-cards {
    display: flex;
    flex-direction: column;
    gap: 9px;
    margin-bottom: 12px;
}

.mahasin-footer__contact-card {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    margin: 0;
    border: 0.8px solid #2a5194;
    background: transparent;
    color: #1a1a1a;
    text-decoration: none;
    text-align: center;
    box-sizing: border-box;
}

.mahasin-footer__contact-card--talk {
    flex-direction: column;
    justify-content: center;
    min-height: 79px;
    padding: 11px 16px;
    border-radius: 14px;
    font-size: 15px;
    font-weight: 400;
    gap: 8px;
}

.mahasin-footer__talk-label {
    display: block;
    font-size: 15px;
    font-weight: 400;
    color: #1a1a1a;
}

.mahasin-footer__talk-channels {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    width: 100%;
}

.mahasin-footer__talk-channel {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 400;
    color: #1a1a1a;
    text-decoration: none;
    line-height: 1.3;
}

.mahasin-footer__talk-channel:hover,
.mahasin-footer__talk-channel:focus-visible {
    color: #042b6e;
}

.mahasin-footer__talk-channel:focus-visible {
    outline: 2px solid #042b6e;
    outline-offset: 2px;
}

.mahasin-footer__talk-channel [class^="icon-"] {
    font-size: 16px;
    line-height: 1;
    color: #042b6e;
}

.mahasin-footer__contact-card--mail {
    min-height: 44px;
    padding: 8px 12px;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 400;
    word-break: break-all;
}

.mahasin-footer__contact-card:focus-visible {
    outline: 2px solid #042b6e;
    outline-offset: 2px;
}

.mahasin-footer__mail-icon {
    flex-shrink: 0;
    color: #042b6e;
}

.mahasin-footer__social {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin: 0;
    padding: 0;
}

.mahasin-footer__social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: #042b6e;
    color: #fff !important;
    text-decoration: none;
}

.mahasin-footer__social a:focus-visible {
    outline: 2px solid #042b6e;
    outline-offset: 2px;
}

.mahasin-footer__social a span,
.mahasin-footer__social a [class^="icon-"] {
    color: #fff !important;
    font-size: 16px;
    line-height: 1;
}

.mahasin-footer .store-section .social-icons span {
    width: auto;
    height: auto;
    background: transparent;
}

.mahasin-footer__bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 0;
}

.mahasin-footer__copy {
    font-size: 15px;
    font-weight: 400;
    color: #1a1a1a;
}

.mahasin-footer__copy a {
    color: inherit;
}

.mahasin-footer__payments {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    margin: 0 !important;
}

.mahasin-footer__pay-item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 3px 6px;
    line-height: 0;
}

.mahasin-footer__pay-item img {
    display: block;
    width: auto;
    height: 18px;
    max-width: 42px;
    object-fit: contain;
}

.mahasin-footer .footer-companies,
.mahasin-footer .footer-copyrights-vat-certificate {
    display: none;
}

/* REF tablet/mobile: keep radius 28, margin 50; brand+contact full; links 2-col */
@media (max-width: 991.98px) {
    .mahasin-footer.footer-store-section {
        margin-top: 50px;
        padding: 0 12px 12px;
    }

    .mahasin-footer__shell {
        border-radius: 28px;
    }

    .mahasin-footer__grid {
        grid-template-columns: 1fr 1fr;
        gap: 16px;
        padding: 24px 0;
    }

    .mahasin-footer__col {
        padding: 0 16px;
    }

    .mahasin-footer__col--brand {
        grid-column: 1 / -1;
        padding-inline: 0;
        border: 0;
        margin-bottom: 8px;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .mahasin-footer__col--brand .mahasin-footer__desc {
        max-width: 520px;
    }

    .mahasin-footer__trust {
        flex-direction: row;
        justify-content: center;
        align-items: stretch;
        gap: 8px;
        width: 100%;
    }

    .mahasin-footer__trust-card {
        flex: 1;
        justify-content: center;
        min-width: 0;
    }

    .mahasin-footer__col+.mahasin-footer__col {
        border-inline-start: 0;
    }

    .mahasin-footer__col--links:nth-of-type(2) {
        border-inline-end: 0;
    }

    .mahasin-footer__col--contact {
        grid-column: 1 / -1;
        padding-inline: 0;
        margin-top: 8px;
    }

    .mahasin-footer__bottom {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
        text-align: start;
        padding: 14px 0;
    }

    .mahasin-footer__payments {
        justify-content: flex-end;
    }
}

@media (max-width: 575.98px) {

    /* Keep 2-col for policies/links like REF @390 — do not collapse to 1fr */
    .mahasin-footer__heading--center::after,
    .rtl .mahasin-footer__heading--center::after {
        transform: translateX(-50%);
    }

    .rtl .mahasin-footer__heading--center::after {
        transform: translateX(50%);
    }

    .mahasin-footer__trust {
        flex-direction: column;
        align-items: stretch;
    }

    .mahasin-footer__trust-card {
        justify-content: start;
    }
}

@media (max-width: 450px) {
    .mahasin-footer__grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .mahasin-footer__trust-card {
        flex: 0 0 auto;
        width: 100%;
    }

    .mahasin-footer__col--links {
        grid-column: 1 / -1;
        padding-inline: 0;
        border: 0 !important;
        text-align: center;
    }

    .mahasin-footer__col--links:nth-of-type(2) {
        border-inline-end: 0 !important;
    }
}

/* ------------------------------------------------------------------
   Product card ? Mahasin skin (Soft Theme architecture preserved)
   Measured from https:///ar product listing cards
   Desktop ~333px: image 1:1, content pad 20px, footer row gap 5px,
   select ~43% / ATC ~55%, both h=44, radius 0, navy #042b6e
   Mobile: option row column-reverse, full-width controls
   ------------------------------------------------------------------ */
/* ------------------------------------------------------------------
   Product card — REF .s-product-card-entry ()
   Desktop 1440 / Mobile 390 measured Aug 2026
   ------------------------------------------------------------------ */
.product-item {
    --mahasin-navy: #042b6e;
    --mahasin-ink: #231f1e;
    --mahasin-sale: #991b1b;
    width: 100%;
    max-width: none;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: transparent;
    border: 0;
    border-radius: 12px;
    box-shadow: none;
    color: var(--mahasin-ink);
    font-family: var(--font-main);
    overflow: visible;
}

.product-item__link {
    color: inherit;
    text-decoration: none;
    flex: 1 1 auto;
    min-width: 0;
}

.product-item__link:hover,
.product-item__link:focus {
    color: inherit;
    text-decoration: none;
}

.product-item__link:focus-visible {
    outline: 2px solid var(--mahasin-navy);
    outline-offset: 2px;
}

.product-item__media {
    background-color: #f3f4f6;
    border-radius: 12px 12px 0 0;
    overflow: hidden;
}

.product-item__media-inner {
    width: 100%;
    height: 100%;
    position: relative;
}

.product-item__img,
.product-item img.product-item__img {
    max-width: 100%;
    max-height: 100%;
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.product-item__body {
    padding: 20px 20px 0;
    text-align: start;
}

.product-item .product-title {
    margin: 0 0 10px;
    min-height: 0;
    color: var(--mahasin-ink);
    font-size: 20px;
    font-weight: 600;
    line-height: 24px;
    letter-spacing: normal;
    text-align: center;
    white-space: normal;
}

.product-item .product-title>span {
    height: auto;
    max-height: 2.5em;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

/* REF .s-product-card-content-sub: centered price+rating group */
.product-item__meta {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 0 0 20px;
    min-height: 20px;
}

.product-item__prices {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0 4px;
    text-align: center;
}

.product-item .product-price {
    color: var(--mahasin-sale);
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
    margin: 0;
}

.product-item .product-price--plain {
    color: var(--mahasin-ink);
    font-size: 15px;
    font-weight: 400;
}

.product-item .product-prev-price {
    color: var(--mahasin-ink);
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    text-decoration: line-through;
    margin: 0 4px 0 0;
}

.product-item__rating {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    color: #9ca3af;
    font-size: 14px;
    line-height: 20px;
}

.product-item__star,
.product-item__rating .icon-star1 {
    color: #fdba74;
    font-size: 14px;
    line-height: 1;
}

.product-item__rating-value {
    color: #9ca3af;
    font-weight: 400;
}

.product-item__note {
    display: block;
    margin-top: 4px;
    color: #8b8b8b;
    font-size: 0.875rem;
}

.product-card-footer__preorder {
    margin: 0 20px 8px;
    text-align: start;
}

.product-item .product-card-footer,
.products-list .product-card-footer,
.bundle-offer-products .product-card-footer {
    margin-top: auto;
    text-align: start;
}

.product-card-option-row {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 5px;
    width: 100%;
}

.product-card-option-row--atc-only .product-card-add-to-cart {
    flex: 1 1 auto;
    width: 100%;
}

.product-card-option-select {
    flex: 1 1 0;
    min-width: 0;
    height: 44px;
    margin: 0;
    padding: 0 12px;
    border: 0.8px solid var(--mahasin-navy);
    border-radius: 0;
    background-color: #ffffff;
    color: #333333;
    font-family: inherit;
    font-size: 14px;
    font-weight: 400;
    line-height: 44px;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23042b6e' d='M1.2 1.2L6 6l4.8-4.8'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: left 12px center;
    background-size: 12px 8px;
    padding-left: 32px;
    cursor: pointer;
}

.rtl .product-card-option-select {
    background-position: left 5px center;
    padding-left: 0px;
    padding-right: 5px;
    outline: none !important;
}

.product-card-option-select--link {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    text-decoration: none;
    color: #333333;
    overflow: hidden;
}

.product-card-option-select--link:hover,
.product-card-option-select--link:focus {
    color: #333333;
    text-decoration: none;
}

.product-card-option-select:focus,
.product-card-option-select--link:focus-visible,
.product-item .product-card-add-to-cart:focus-visible,
.product-item .btn-product-card-out-of-stock:focus-visible {
    outline: 2px solid var(--mahasin-navy);
    outline-offset: 2px;
}

/* Pre-hydrate option select (no more “متوفر بعدة خيارات” link) */
.product-item select.product-card-option-select[data-needs-packs="1"]:disabled,
.product-item button.product-card-add-to-cart[disabled][data-card-atc] {
    opacity: 0.85;
    cursor: wait;
}

.product-item .product-card-add-to-cart,
.product-item .btn-product-card-select-variant,
.product-item .btn-product-card-out-of-stock {
    flex: 1 1 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 0;
    height: 44px;
    margin: 0;
    padding: 0 16px;
    border: 0.8px solid var(--mahasin-navy);
    border-radius: 0;
    background-color: var(--mahasin-navy);
    color: #ffffff;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: none;
}

.product-item .product-card-add-to-cart:hover,
.product-item .product-card-add-to-cart:focus,
.product-item .btn-product-card-select-variant:hover,
.product-item .btn-product-card-select-variant:focus,
.product-item .btn-product-card-out-of-stock:hover,
.product-item .btn-product-card-out-of-stock:focus {
    background-color: #000548;
    border-color: #000548;
    color: #ffffff;
    text-decoration: none;
    box-shadow: none;
}

.product-item .product-card-add-to-cart .add-to-cart-progress {
    display: inline;
    width: 20px;
    height: 20px;
}

.product-card-rating-wrapper,
.product-item .section-product-price {
    display: none;
}

@media (max-width: 767.98px) {
    .product-item .product-title {
        font-size: 20px;
        font-weight: 600;
        line-height: 24px;
    }

    .product-item__body {
        padding: 12px 12px 0;
    }

    .product-card-footer__preorder {
        margin: 0 12px 8px;
    }

    /* REF: column-reverse → select above ATC */
    .product-card-option-row:not(.product-card-option-row--atc-only) {
        flex-direction: column-reverse;
        gap: 5px;
    }

    .product-card-option-row:not(.product-card-option-row--atc-only) .product-card-option-select,
    .product-card-option-row:not(.product-card-option-row--atc-only) .product-card-option-select--link,
    .product-card-option-row:not(.product-card-option-row--atc-only) .product-card-add-to-cart {
        flex: 0 0 auto;
        width: 100%;
    }
}

/* ------------------------------------------------------------------
   FAQ section ? Mahasin pixel skin (measured /ar)
   Desktop: 2-col grid gap 10px; item #f8f9fa, border #e8e8e8, r=10, pad 16
   Summary: flex gap 15px; num 22/700; q 16/600; icon navy #042b6e 20px
   Answer: 14px #6b7280, pad-top 5px; closed display:none via <details>
   Mobile ?768: 1 col; q 14px; answer 12px
   Zero JS ? native details/summary
   ------------------------------------------------------------------ */
.mahasin-faq {
    padding: 24px 0 40px;
    background: transparent;
    font-family: var(--font-main);
    color: #231f1e;
}

.mahasin-faq__header {
    margin-bottom: 16px;
    text-align: center;
}

.mahasin-faq__title {
    margin: 0;
    font-size: 1.875rem;
    font-weight: 600;
    line-height: 1.6;
    color: #000;
    text-align: center;
}

.mahasin-faq__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    width: 100%;
}

.mahasin-faq__item {
    margin: 0;
    padding: 16px;
    background-color: #f8f9fa;
    border: 1px solid #e8e8e8;
    border-radius: 10px;
    transition: background-color 0.2s ease;
}

.mahasin-faq__summary {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 15px;
    cursor: pointer;
    list-style: none;
    color: #000000;
}

.mahasin-faq__summary::-webkit-details-marker {
    display: none;
}

.mahasin-faq__summary::marker {
    content: '';
}

.mahasin-faq__num {
    flex: 0 0 auto;
    font-size: 22px;
    font-weight: 700;
    line-height: 26px;
    color: #000000;
}

.mahasin-faq__q {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    line-height: 28px;
    color: #000000;
}

.mahasin-faq__icon {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    position: relative;
    margin-inline-start: auto;
}

.mahasin-faq__icon::before,
.mahasin-faq__icon::after {
    content: '';
    position: absolute;
    background-color: #042b6e;
    transition: transform 0.15s ease, opacity 0.15s ease;
}

/* plus (+) when closed */
.mahasin-faq__icon::before {
    top: 9px;
    left: 2px;
    width: 16px;
    height: 2px;
}

.mahasin-faq__icon::after {
    top: 2px;
    left: 9px;
    width: 2px;
    height: 16px;
}

/* minus (?) when open */
.mahasin-faq__item[open] .mahasin-faq__icon::after {
    opacity: 0;
    transform: scaleY(0);
}

.mahasin-faq__a {
    padding: 5px 0 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: #6b7280;
}

.mahasin-faq__summary:focus {
    outline: none;
}

.mahasin-faq__summary:focus-visible {
    outline: 2px solid #042b6e;
    outline-offset: 2px;
    border-radius: 4px;
}

.mahasin-faq__empty {
    text-align: center;
    padding: 24px 0;
}

@media (max-width: 768px) {
    .mahasin-faq {
        padding: 16px 0 32px;
    }

    .mahasin-faq__grid {
        grid-template-columns: 1fr;
    }

    .mahasin-faq__q {
        font-size: 14px;
        line-height: 1.4;
    }

    .mahasin-faq__a {
        font-size: 12px;
        line-height: 1.45;
    }

    .mahasin-faq__num {
        font-size: 20px;
    }
}

/* PDP: FAQ sits inside the product container, directly above #mahasin-stores */
.mahasin-pdp .mahasin-pdp__faq {
    padding-top: 32px;
    padding-bottom: 8px;
}


/* ------------------------------------------------------------------
   Product details (PDP) — Mahasin skin
   Ref: https:///ar product page (desktop + mobile)
   Soft Theme form / variants_list / productAddToCart preserved
   ------------------------------------------------------------------ */
.mahasin-pdp {
    font-family: var(--font-main);
    color: #231f1e;
    background: #fcfaf2;
}

#mahasin-stores,
#reviews {
    scroll-margin-top: calc(var(--mahasin-header-h, 132px) + 12px);
}

.mahasin-pdp__hide-soft {
    display: none !important;
}

.mahasin-pdp__native-options #product-variants-options {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.mahasin-pdp__native-options {
    position: relative;
}

.mahasin-pdp h1.mahasin-pdp__title,
.mahasin-pdp__title {
    margin: 12px 0;
    text-align: center;
    font-size: 33px;
    font-weight: 600;
    line-height: 1.1;
    color: #042b6e;
}

.mahasin-pdp__price-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-bottom: 8px;
    width: 100%;
}

.mahasin-pdp__prices {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.mahasin-pdp__sale,
.mahasin-pdp h2.product-formatted-price {
    margin: 0;
    color: #991b1b !important;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
}

.mahasin-pdp__sale--plain {
    color: #042b6e !important;
}

.mahasin-pdp__compare,
.mahasin-pdp .product-formatted-price-old {
    color: #6b7280;
    font-size: 15px;
    font-weight: 400;
    text-decoration: line-through;
}

.mahasin-pdp__badge,
.mahasin-pdp .product-formatted-price-discount {
    display: inline-block;
    padding: 4px 8px;
    border-radius: 4px;
    background: #fee2e2;
    color: #dc2626;
    font-size: 14px;
    font-weight: 700;
}

.mahasin-pdp__rating,
.mahasin-pdp__mobile-rating {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    margin: 0 0 8px;
    text-align: center;
}

.mahasin-pdp__stars {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.mahasin-pdp__star {
    display: block;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.mahasin-pdp__rating-count,
.mahasin-pdp__rating .product-card-rating-count,
.mahasin-pdp__mobile-rating .product-card-rating-count {
    color: #6b7280;
    font-size: 15px;
    font-weight: 400;
    line-height: 26px;
}

/* Hide legacy icon-font stars if JS still injects them briefly */
.mahasin-pdp__rating .product-card-rating,
.mahasin-pdp__mobile-rating .product-card-rating {
    display: none !important;
}

.mahasin-pdp__sold {
    display: flex;
    justify-content: center;
    margin: 12px 0 16px;
    width: 100%;
}

.mahasin-pdp__sold-box {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    gap: 4px;
    padding: 10px 20px;
    border: 0.8px solid #042b6e;
    border-radius: 8px;
    color: #042b6e;
    font-size: 19px;
    font-weight: 400;
    text-align: center;
    box-shadow: 2px 4px 0 0 #042b6e;
}

.mahasin-pdp__sold-icon,
.mahasin-pdp__sold .mahasin-featured-product__sold-icon {
    display: inline-flex;
    align-items: center;
    line-height: 0;
    margin-inline-end: 2px;
}

.mahasin-pdp__sold-svg,
.mahasin-pdp__sold .mahasin-sold-blinker {
    width: 20px;
    height: 20px;
    display: block;
}

.mahasin-pdp__sold-num {
    font-weight: 700;
}

/* REF fire blinker: opacity 1 → 0, 1.8s, cubic-bezier(0.6, 0, 1, 1), infinite */
@keyframes mahasin-sold-blinker {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.mahasin-sold-blinker {
    animation: mahasin-sold-blinker 1.8s cubic-bezier(0.6, 0, 1, 1) infinite;
    will-change: opacity;
}

@media (prefers-reduced-motion: reduce) {
    .mahasin-sold-blinker {
        animation: none;
        opacity: 1;
    }
}

.mahasin-pdp__cashback {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    max-width: none;
    margin: 0 0 16px;
    padding: 12px 14px;
    border-radius: 8px;
    background: #f3f4f6;
    color: #231f1e;
    text-align: start;
    box-sizing: border-box;
}

.mahasin-pdp__cashback-icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #042b6e;
}

.mahasin-pdp__cashback-text {
    margin: 0;
    font-size: 15px;
    line-height: 1.4;
    color: #231f1e;
}

.mahasin-pdp__cashback-value {
    font-weight: 700;
    color: #042b6e;
}

.mahasin-pdp__info {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    text-align: center;
    width: 100%;
    max-width: none;
}

.mahasin-pdp__info-col {
    padding: 8px;
    padding-bottom: 2rem;
    width: 100%;
    max-width: none;
}

.mahasin-pdp__packs {
    /* shared with .mahasin-featured-product__packs via pack-card block above */
}

.mahasin-pdp__pack {
    /* shared via .mahasin-pack-card */
}

.mahasin-pdp__pack-media {
    /* shared via .mahasin-pack-card__media */
}

.mahasin-pdp__pack.is-active .mahasin-pdp__pack-media,
.mahasin-pdp__pack[aria-selected="true"] .mahasin-pdp__pack-media {
    border-color: transparent;
}

.mahasin-pdp__pack:focus-visible {
    outline: none;
}

.mahasin-pdp__pack:focus-visible.mahasin-pack-card {
    box-shadow: 0 0 0 2px rgba(4, 43, 110, 0.35);
}

.mahasin-pdp__pack-img {
    /* shared */
}

.mahasin-pdp__pack-title {
    display: none !important;
}

.mahasin-pdp__pack-ship {
    display: none !important;
}

/* REF: packs → qty+ATC → Buy now */
.mahasin-pdp__buy-stack {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: none;
    margin: 0;
}

.mahasin-pdp__buy-stack .mahasin-pdp__packs {
    order: 1;
    margin-left: 0;
    margin-right: 0;
    max-width: none;
}

.mahasin-pdp__buy-stack .mahasin-pdp__price-label-row {
    order: 2;
    max-width: none;
}

.mahasin-pdp__buy-stack .mahasin-pdp__purchase {
    order: 3;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

.mahasin-pdp__buy-stack .mahasin-pdp__buy-now {
    order: 4;
}

.mahasin-pdp__price-label-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    max-width: none;
    margin: 8px 0 0;
    padding: 20px 0;
    box-sizing: border-box;
}

.mahasin-pdp__price-label {
    color: #042b6e;
    font-weight: 700;
    font-size: 15px;
    margin: 0;
}

.mahasin-pdp__price-label-values {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-direction: row;
}

.mahasin-pdp__purchase {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 20px 0;
    box-sizing: border-box;
    min-height: 40px;
}

.mahasin-pdp__qty-block {
    width: auto;
    max-width: none;
    margin: 0;
    flex: 0 0 auto;
}

.mahasin-pdp__qty-group {
    margin: 0;
}

.mahasin-pdp__qty {
    display: inline-grid;
    grid-template-columns: repeat(3, 48px);
    align-items: stretch;
    width: 144px;
    min-width: 144px;
    height: 48px;
    border: 1px solid #d1d5db;
    border-radius: 0;
    background: #fcfaf2;
    overflow: hidden;
    box-sizing: border-box;
    direction: ltr;
}

.mahasin-pdp__qty-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin: 0;
    padding: 0;
    border: 0;
    border-inline-start: 1px solid #d1d5db;
    background: #fcfaf2;
    color: #231f1e;
    font-size: 31px;
    font-weight: 400;
    cursor: pointer;
    line-height: 1;
}

.mahasin-pdp__qty> :first-child {
    border-inline-start: 0;
}

.mahasin-pdp__qty-btn:hover,
.mahasin-pdp__qty-btn:focus-visible {
    background: #f3f0e6;
    outline: none;
}

.mahasin-pdp__qty-val {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-inline-start: 1px solid #d1d5db;
    text-align: center;
    font-weight: 500;
    font-size: 16px;
    color: #231f1e;
    background: #fcfaf2;
    box-sizing: border-box;
}

/* Keep native <select> for cart API; fully visually/a11y-hidden (overrides product-details.css) */
.mahasin-pdp .mahasin-pdp__qty-select-wrap,
.mahasin-pdp .select-quantity-div .mahasin-pdp__qty-select-wrap {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    border: 0 !important;
    white-space: nowrap !important;
}

.mahasin-pdp .mahasin-pdp__qty-select-wrap select,
.mahasin-pdp select#product-quantity.select-quantity {
    display: block !important;
    width: 1px !important;
    height: 1px !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    opacity: 0 !important;
    border: 0 !important;
    pointer-events: none !important;
}

.mahasin-pdp .select-quantity-div>div.form-group {
    width: auto !important;
    position: relative;
}

.mahasin-pdp .select-quantity-div>div.form-group>div:after,
.mahasin-pdp .select-quantity-div div.form-group>div:after {
    display: none !important;
    content: none !important;
    border: 0 !important;
}

.mahasin-pdp__shipping {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    list-style: none;
    margin: 30px 0 20px;
    padding: 0;
    width: 100%;
    max-width: none;
    text-align: center;
}

.mahasin-pdp__shipping h6,
.mahasin-pdp__shipping li {
    margin: 0;
    padding: 0;
    color: #231f1e;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.5;
    width: 100%;
}

.mahasin-pdp__actions {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0 20px;
    box-sizing: border-box;
}

.mahasin-pdp__actions-row {
    flex-wrap: wrap;
    justify-content: center;
}

.mahasin-pdp__atc,
.mahasin-pdp .btn-add-to-cart {
    flex: 1 1 auto;
    width: 100%;
    border-radius: 0;
    background-color: #042b6e !important;
    border: 0.8px solid #042b6e !important;
    color: #fff !important;
    font-weight: 700;
    min-height: 48px;
    margin-bottom: 0 !important;
    padding: 8px 24px 10px;
    font-size: 14px;
    line-height: 1.2;
    gap: 0;
}

.mahasin-pdp__atc-icon,
.mahasin-pdp__atc .add-to-cart-icon {
    display: none !important;
}

.mahasin-pdp__atc:hover,
.mahasin-pdp .btn-add-to-cart:hover {
    background-color: #000548 !important;
    border-color: #000548 !important;
}

.mahasin-pdp__buy-now,
.mahasin-pdp .btn-buy-now {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    border-radius: 0;
    border: 1px solid #042b6e;
    color: #042b6e;
    min-height: 48px;
    padding: 8px 24px 10px;
    font-weight: 700;
    font-size: 14px;
    line-height: 1.2;
}

.mahasin-pdp__buy-now .buy-now-icon {
    display: none !important;
}

/* Apple Pay / quick checkout widgets under buy now */
.mahasin-pdp__actions>div:has(apple-pay-button),
.mahasin-pdp__actions>div:has([class*="apple-pay"]),
.mahasin-pdp__actions .apple-pay-quick-checkout,
.mahasin-pdp__actions [class*="apple-pay"] {
    width: 100%;
    margin-top: 12px;
}

.mahasin-pdp__gallery-col .product-images-carousel,
.mahasin-pdp__gallery-col .box-1-1 {
    background: #fcfaf2;
}

.mahasin-pdp__gallery-col .carousel-img {
    object-fit: contain;
}

/* —— PDP gallery layout (REF parity) —— */
.mahasin-pdp__gallery-shell {
    width: 100%;
}

.mahasin-pdp__mobile-info {
    text-align: center;
    padding: 8px 8px 16px;
}

.mahasin-pdp__mobile-title {
    margin: 12px 0;
    font-size: 28px;
    font-weight: 400 !important;
    line-height: 1.15;
    color: #042b6e;
}

.mahasin-pdp__mobile-price {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px 12px;
    margin-bottom: 8px;
}

.mahasin-pdp__gallery-layout {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

.mahasin-pdp__gallery-main {
    position: relative;
    width: 100%;
    border-radius: 6px;
    overflow: hidden;
    background: #fcfaf2 !important;
    aspect-ratio: 1 / 1;
}

.mahasin-pdp__gallery-main.box-1-1:before {
    display: none !important;
    padding-top: 0 !important;
    content: none !important;
}

.mahasin-pdp__gallery-main.box-1-1 {
    padding-top: 0 !important;
    height: auto;
}

.mahasin-pdp__gallery-main>.content {
    position: absolute;
    inset: 0;
}

.mahasin-pdp__gallery-main>.content,
.mahasin-pdp__gallery-main .product-images,
.mahasin-pdp__gallery-main #product-images-slick,
.mahasin-pdp__gallery-main .swiper-slide .box-1-1,
.mahasin-pdp__gallery-main .swiper-slide .content {
    background: #fcfaf2;
}

.mahasin-pdp__gallery-main #product-images,
.mahasin-pdp__gallery-main #product-images-slick,
.mahasin-pdp__gallery-main .swiper-wrapper,
.mahasin-pdp__gallery-main .swiper-slide {
    height: 100%;
}

.mahasin-pdp__gallery-main .swiper-slide .box-1-1:before {
    display: none !important;
    content: none !important;
}

.mahasin-pdp__gallery-main .swiper-slide .box-1-1 {
    height: 100%;
    padding-top: 0 !important;
}

.mahasin-pdp__gallery-main .carousel-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.mahasin-pdp__gallery-tags {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 5;
    pointer-events: none;
}

.mahasin-pdp__gallery-sale {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    padding: 4px 10px;
    background: #042b6e;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    border-radius: 0;
}

.mahasin-pdp__gallery-main .product-gallery-prev,
.mahasin-pdp__gallery-main .product-gallery-next,
.mahasin-pdp__gallery-main .product-gallery-pagination {
    display: none !important;
}

.mahasin-pdp__gallery-thumbs {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 10px;
    width: 100%;
    margin: 0 !important;
    padding: 0 2px 4px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

/* Mobile: show ~4.5 thumbs; rest via horizontal scroll */
@media (max-width: 767.98px) {
    .mahasin-pdp__thumb {
        flex: 0 0 calc((100% - 30px) / 4.2);
        width: calc((100% - 30px) / 4.2);
        height: auto;
        aspect-ratio: 1 / 1;
    }
}

.image-link {
    border: 1px solid #e5e7eb !important;
}

.mahasin-pdp__thumb {
    position: relative;
    flex: 0 0 74px;
    width: 74px;
    height: 74px;
    margin: 0;
    border-radius: 6px;
    overflow: hidden;
    background: #fcfaf2;
}

.mahasin-pdp__thumb .thumb-image-a {
    display: block;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

.mahasin-pdp__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 6px;
}

.mahasin-pdp__thumb::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 6px;
    box-shadow: inset 0 0 0 1px #e5e7eb;
    pointer-events: none;
}

.mahasin-pdp__thumb.is-active::after {
    box-shadow: inset 0 0 0 2px #042b6e;
}

.mahasin-pdp .lg-thumbs .col-3 {
    display: none;
}

@media (min-width: 768px) {

    /* Main sizes the column; thumbs overlay/fill that height and scroll (≈4–5 visible). */
    .mahasin-pdp__gallery-layout {
        position: relative;
        display: block;
        flex-direction: unset;
        align-items: unset;
        gap: 0;
        max-width: none;
        width: 100%;
        margin-inline: 0;
    }

    .mahasin-pdp__gallery-main {
        width: auto;
        max-width: 100%;
        /* REF shell ~672×530 with thumbs; main image stays near-square contain */
        aspect-ratio: 528 / 528;
    }

    .mahasin-pdp__gallery-thumbs {
        position: absolute;
        inset-block: 0;
        inset-inline-end: 0;
        flex: none;
        width: 120px;
        max-width: 120px;
        flex-direction: column;
        overflow-x: hidden;
        overflow-y: auto;
        max-height: none;
        height: 100%;
        align-self: unset;
        padding: 0;
        gap: 12px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .mahasin-pdp__thumb {
        flex: 0 0 auto;
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
        border-radius: 8px;
    }

    .mahasin-pdp__thumb img,
    .mahasin-pdp__thumb::after {
        border-radius: 8px;
    }
}

@media (min-width: 992px) {
    .mahasin-pdp__gallery-main {
        margin-inline-end: 136px;
    }

    .mahasin-pdp__gallery-thumbs {
        width: 120px;
        max-width: 120px;
    }
}

.mahasin-pdp__description {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.mahasin-pdp__description-head {
    justify-content: center;
    margin-bottom: 32px;
}

.mahasin-pdp__description .mahasin-pdp__desc-label,
.mahasin-pdp__description .description-title {
    margin: 0 auto;
    padding: 4px 16px;
    border-bottom: 1px solid #042b6e;
    color: #042b6e;
    font-size: 1.25rem;
    font-weight: 700;
    width: fit-content;
}

.mahasin-pdp__description .mahasin-pdp__desc-text,
.mahasin-pdp__description .description-paragrah {
    text-align: center !important;
    color: #374151;
    line-height: 1.8;
}

.mahasin-pdp__sticky {
    /* REF #desktop-fixed-bar — all viewports; visibility toggled via .is-visible */
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    background: #fcfaf2;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
    border-top: 0;
    transform: translateY(100%);
    transition: transform 0.3s ease;
    padding: 0;
}

.mahasin-pdp__sticky.is-visible {
    transform: translateY(0);
}

.mahasin-pdp__sticky-inner {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 115px;
    padding: 18px 15px;
    box-sizing: border-box;
}

.mahasin-pdp__sticky-info {
    display: flex;
    flex-direction: column;
    min-width: 0;
    text-align: right;
}

.mahasin-pdp__sticky-title {
    margin: 0;
    max-width: 280px;
    overflow: hidden;
    color: #1f2937;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.mahasin-pdp__sticky-price {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.mahasin-pdp__sticky-sale {
    color: #b91c1c;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.7;
}

.mahasin-pdp__sticky-compare {
    color: #9ca3af;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    text-decoration: line-through;
}

.mahasin-pdp__sticky-actions {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
    min-width: 200px;
}

.mahasin-pdp__sticky-qty {
    display: none !important;
}

.mahasin-pdp__sticky-atc {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-width: 115px;
    height: 40px;
    margin: 0;
    padding: 8px 24px 10px;
    border-radius: 0;
    border: 0.8px solid #042b6e;
    background: #042b6e;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.mahasin-pdp__sticky-buy {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 40px;
    margin: 0;
    padding: 0 12px;
    border-radius: 0;
    background: transparent !important;
    color: #042b6e !important;
    border: 1px solid;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
    box-shadow: none !important;
}

.mahasin-pdp__sticky-buy-icon {
    display: block;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
}

.mahasin-pdp__sticky-atc:hover,
.mahasin-pdp__sticky-atc:focus {
    background: #000548;
    border-color: #000548;
    color: #fff;
}

.mahasin-pdp__sticky-buy:hover,
.mahasin-pdp__sticky-buy:focus {
    color: #031f4f;
    background: transparent;
    outline: none;
}

@media (max-width: 767.98px) {
    .mahasin-pdp__sticky-inner {
        min-height: 72px;
        padding: 10px 12px;
        gap: 8px;
    }

    .mahasin-pdp__sticky-title {
        max-width: 42vw;
        font-size: 13px;
    }

    .mahasin-pdp__sticky-actions {
        min-width: 0;
        gap: 6px;
    }

    .mahasin-pdp__sticky-atc {
        min-width: 0;
        padding: 8px 14px;
        font-size: 13px;
    }
}

.mahasin-pdp .review-details,
.mahasin-pdp .products-slider-wrapper {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.mahasin-pdp .products-slider-wrapper {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

/* PDP reviews — match reference (التقييم العام + summary % + comment cards) */
.mahasin-pdp__reviews {
    margin: 4px 0 2px;
    padding: 0 10px;
    color: #231f1e;
    max-width: none;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.mahasin-pdp__reviews-inner {
    margin: 0 auto;
}

.mahasin-pdp__reviews-summary {
    display: block;
    margin: 20px 0 8px;
}

.mahasin-pdp__reviews-summary-line {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px 12px;
    margin: 0;
    padding: 0;
    color: #231f1e;
}

.mahasin-pdp__reviews-pct {
    margin: 0;
    padding: 0;
    font-size: 36px;
    font-weight: 700;
    line-height: 40px;
    color: #231f1e;
}

.mahasin-pdp__reviews-count {
    margin: 0;
    font-size: 15px;
    font-weight: 400;
    line-height: 26px;
    color: #231f1e;
}

.mahasin-pdp__reviews-comments-label {
    margin: 8px 0 16px;
    padding: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;
    color: #6b7280;
    text-align: start;
}

.mahasin-pdp__reviews-comments-label span {
    font-weight: 600;
    color: #231f1e;
}

.mahasin-pdp__reviews-title,
.mahasin-pdp__reviews .mahasin-pdp__reviews-title.description-title {
    display: block;
    margin: 0 0 8px;
    padding: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 28px;
    color: #231f1e;
}

.mahasin-pdp__reviews .description-icon,
.mahasin-pdp__reviews .rating-section,
.mahasin-pdp__reviews-breakdown {
    display: none !important;
}

.mahasin-pdp__reviews-form {
    margin: 0 0 0;
}

/* Hide legacy Soft Theme “add review” open button if theme JS injects it */
.mahasin-pdp__reviews .add-review-btn:not(.mahasin-pdp__review-submit):not(.mahasin-pdp__reviews-more),
.mahasin-pdp__reviews-add {
    display: none !important;
}

/* Inline review form — match REF s-comment-form (always visible) */
.mahasin-pdp__review-panel {
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
}

.mahasin-pdp__review-form {
    display: block;
    width: 100%;
    max-width: 100%;
}

.mahasin-pdp__review-comment.form-control,
.mahasin-pdp__review-comment {
    display: block;
    width: 100%;
    min-height: 96px;
    height: auto;
    margin: 0;
    padding: 10px;
    border: 0.8px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
    color: #231f1e;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    resize: vertical;
    box-shadow: none;
}

.mahasin-pdp__review-comment::placeholder {
    color: #9ca3af;
    opacity: 1;
}

.mahasin-pdp__review-comment:focus {
    border-color: #042b6e;
    outline: none;
    box-shadow: none;
}

.mahasin-pdp__review-error {
    margin: 6px 0 0;
    font-size: 13px;
    color: #b91c1c;
}

.mahasin-pdp__review-actions {
    display: flex;
    align-items: center;
    justify-content: end;
    margin: 8px 0 16px;
    justify-content: end;
}

.mahasin-pdp__review-submit.btn-primary,
.mahasin-pdp__review-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 40px;
    height: 40px;
    margin: 0;
    padding: 8px 40px 10px;
    border: 0.8px solid #042b6e;
    border-radius: 0;
    background: #042b6e;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
    text-decoration: none;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.mahasin-pdp__review-submit:hover,
.mahasin-pdp__review-submit:focus {
    background: #000548;
    border-color: #000548;
    color: #fff;
}

.mahasin-pdp__review-submit:disabled {
    opacity: 0.7;
    cursor: wait;
}

.mahasin-pdp__review-msg {
    margin: 0 0 12px;
    font-size: 14px;
    font-weight: 600;
    color: #047857;
}

.mahasin-pdp__review-msg.is-error {
    color: #b91c1c;
}

@media (max-width: 575px) {
    .mahasin-pdp__review-form {
        max-width: none;
    }

    .mahasin-pdp__review-submit {
        width: auto;
        min-width: 112px;
    }
}

.card-review .mahasin-review-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    margin: 0 0 4px;
}

.card-review .mahasin-review-meta-end {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    gap: 8px;
    margin-inline-start: auto;
}

.card-review .mahasin-review-meta-end .card-date.user-review-date {
    margin: 0;
}

.card-review .mahasin-review-purchased {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    font-weight: 400;
    line-height: 20px;
    color: #34c759;
    white-space: nowrap;
}

.card-review .mahasin-review-check {
    display: block;
    flex-shrink: 0;
    width: 14px;
    height: 14px;
    color: #34c759;
}

.card-review .card-rate-comment {
    display: flex;
    align-items: center;
    gap: 2px;
    margin: 0 0 6px;
}

.card-review .card-rate-comment .product-card-rating {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.card-review .card-rate-comment .icon-star1,
.card-review .card-rate-comment .icon-half-star {
    display: inline-block;
    font-size: 14px;
    line-height: 1;
    color: #ff9800;
}

.card-review .card-rate-comment .icon-star1.deactive {
    color: #d1d5db;
}

.card-review .card-rate-comment .icon-star1:before,
.card-review .card-rate-comment .icon-half-star:before {
    color: inherit;
}

.mahasin-pdp__reviews-list .card-review {
    margin: 0 0 12px;
    border: 1px solid #e5e7eb !important;
    border-radius: 8px;
    background: #fff !important;
    box-shadow: none !important;
    overflow: hidden;
}

.mahasin-pdp__reviews-list .card-review .card-body {
    padding: 14px 16px;
}

.mahasin-pdp__reviews-list .mahasin-review-row {
    gap: 10px;
    width: 100%;
}

.mahasin-pdp__reviews-list .card-review .icon-account_circle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    min-width: 40px;
    margin: 0;
    border-radius: 9999px;
    background: #eceff3;
    color: #9ca3af;
    font-size: 0;
    line-height: 1;
    overflow: hidden;
}

.mahasin-pdp__reviews-list .card-review .icon-account_circle .mahasin-review-avatar-icon {
    display: block;
    width: 22px;
    height: 22px;
    color: #9ca3af;
}

.mahasin-pdp__reviews-list .card-review .icon-account_circle span.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.mahasin-pdp__reviews-list .card-review .card-name {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    padding: 0;
}

.mahasin-pdp__reviews-list .mahasin-review-meta {
    margin: 0 0 4px;
}

.mahasin-pdp__reviews-list .card-name-customer {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    line-height: 22px;
    color: #231f1e;
}

.mahasin-pdp__reviews-list .mahasin-review-meta-end {
    gap: 8px;
}

.mahasin-pdp__reviews-list .mahasin-review-purchased {
    font-size: 12px;
    line-height: 20px;
}

.mahasin-pdp__reviews-list .card-date.user-review-date {
    margin: 0;
    flex-shrink: 0;
    font-size: 12px;
    font-weight: 400;
    line-height: 20px;
    color: #9ca3af;
    direction: ltr;
    text-align: end;
    unicode-bidi: isolate;
}

.mahasin-pdp__reviews-list .card-paragraph.user-review-text {
    margin: 0 !important;
    padding: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;
    color: #374151;
    text-align: start;
}

.mahasin-pdp__reviews-list .card-rate-comment {
    margin: 0 0 6px;
}

.mahasin-pdp__reviews-list .review-images-container {
    margin-inline-start: 50px;
}

.mahasin-pdp__reviews-list .review-reply-card {
    margin-inline-start: 50px;
}

.mahasin-pdp__reviews-all {
    margin-top: 8px;
    text-align: start;
}

.mahasin-pdp__reviews-all .all-reviews-btn,
.mahasin-pdp__reviews-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    height: 40px;
    margin: 0;
    padding: 8px 24px 10px;
    border: 0.8px solid #042b6e;
    border-radius: 0;
    background: #042b6e;
    color: #fff !important;
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
    text-decoration: none !important;
}

.mahasin-pdp__reviews-all .all-reviews-btn:hover,
.mahasin-pdp__reviews-more:hover {
    background: #000548;
    border-color: #000548;
    color: #fff !important;
}

@media (max-width: 767.98px) {
    .mahasin-pdp__reviews {
        padding: 40px 0 8px;
    }

    .mahasin-pdp__reviews-pct {
        font-size: 28px;
    }

    .mahasin-pdp__reviews-count {
        font-size: 16px;
    }

    .mahasin-pdp__reviews-list .card-review .icon-account_circle {
        width: 36px;
        height: 36px;
        min-width: 36px;
    }

    .mahasin-pdp__reviews-list .card-review .icon-account_circle .mahasin-review-avatar-icon {
        width: 20px;
        height: 20px;
    }

    .mahasin-pdp__reviews-list .card-name-customer {
        font-size: 13px;
    }

    .mahasin-pdp__reviews-list .card-paragraph.user-review-text {
        font-size: 13px;
        line-height: 20px;
    }

    .mahasin-pdp__reviews-list .card-review .card-body {
        padding: 12px;
    }
}

.mahasin-pdp .payment-widgets,
.mahasin-pdp .loyalty-points-widget {
    margin: 8px auto;
}

@media (min-width: 992px) {
    .mahasin-pdp__info-col {
        padding: 30px 30px 64px;
        align-self: flex-start;
    }

    .mahasin-pdp__gallery-col {
        align-self: flex-start;
    }

    .mahasin-pdp__gallery-shell,
    .mahasin-pdp__gallery-layout {
        width: 100%;
        max-width: none;
    }

    .mahasin-pdp__title {
        font-size: 36px;
    }

    .mahasin-pdp__packs {
        max-width: none;
    }
}

@media (max-width: 767.98px) {
    .mahasin-pdp__info-col {
        padding: 16px;
    }

    .mahasin-pdp__packs {
        gap: 6px;
        max-width: 100%;
    }

    .mahasin-pdp__shipping {
        align-items: flex-start;
        text-align: start;
    }

}


/* ========== Final parity: products cards + injected banner ========== */
.mahasin-promo-banner--injected[hidden] {
    display: none !important;
}

.mahasin-promo-banner--injected:not([hidden]) {
    display: block;
}

/* Home products: inherit shared .product-item card parity (no conflicting overrides) */
.home-products-section .product-item__img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.mahasin-footer__contact-card--mail {
    unicode-bidi: plaintext;
}

/* ========== Remaining parity polish (stories / video / features / cart / a11y) ========== */
/* Reviews base rules live above — keep card box model only here */
.mahasin-reviews__card {
    box-sizing: border-box;
}

.mahasin-faq__title,
.mahasin-stories__title,
.mahasin-video-stories__title {
    font-size: 30px;
    font-weight: 600;
    line-height: 1.6;
}

.mahasin-video-stories__title {
    letter-spacing: -1px;
    line-height: 48px;
}

@media (max-width: 767.98px) {
    .mahasin-faq__title,
    .mahasin-stories__title,
    .mahasin-video-stories__title {
        font-size: 24px;
        line-height: 28px;
    }

    .mahasin-video-stories__name {
        font-size: 17px;
        line-height: 38px;
    }

    .mahasin-video-stories__play {
        width: 40px;
        height: 40px;
    }
}

/* Keep desktop name 19px; do not override tablet/mobile 17px rules above */
@media (min-width: 992px) {
    .mahasin-video-stories__name {
        font-size: 19px;
        line-height: 38px;
        text-shadow: 0 0 4px rgba(0, 0, 0, 0.8);
    }
}

.mahasin-stories__card.card-item,
.mahasin-stories .card-item {
    width: 100% !important;
    max-width: none !important;
}

.mahasin-stories .card-item a.mahasin-stories__thumb-link,
.mahasin-stories__thumb-link {
    width: 80px !important;
    max-width: 80px !important;
}

.mahasin-stories .card-item img.mahasin-stories__thumb,
.mahasin-stories__thumb {
    width: 80px !important;
    height: 80px !important;
    max-width: 80px !important;
}

.mahasin-stories__story-title {
    font-size: 18px;
}

.mahasin-stories__desc {
    font-size: 17px;
}

.mahasin-stories__view-btn {
    background: #042b6e;
    color: #fff;
    font-size: 18px;
}

.mahasin-video-stories__name {
    text-shadow: 0 0 4px rgba(0, 0, 0, 0.8);
}

/* Features polish — desktop defaults only; responsive sizes live in block above */
.mahasin-features.features-section {
    padding: 50px 13px !important;
    color: #231f1e !important;
}

.mahasin-features.features-section.mahasin-features--has-bg::after {
    opacity: 0.8;
    background: linear-gradient(90deg, rgb(29, 31, 36) 55%, rgba(0, 0, 0, 0)) !important;
}

.mahasin-features__card.feature,
.mahasin-features .item-box {
    border-radius: 16px;
    background-color: #fcfaf2;
}

.mahasin-features__card.feature .mahasin-features__title,
.mahasin-features .item-box h3 {
    font-weight: 600 !important;
    color: #231f1e !important;
}

.home-products-section .product-item {
    border-radius: 12px;
    overflow: visible;
    background: transparent;
}

.home-products-section .product-item__media {
    border-radius: 12px 12px 0 0;
}

/* ========== Mahasin cart page — match reference screenshot ========== */
/* ========== Cart page — REF .cart-item / .cart-summary-card (mahasin-store) ========== */
.mahasin-cart-page {
    --mahasin-navy: #042b6e;
    --mahasin-ink: #231f1e;
    --mahasin-muted: #6b7280;
    --mahasin-sale: #991b1b;
    --mahasin-line: #042b6e;
    --mahasin-cream: #fcfaf2;
    --mahasin-card: #f9fafb;
    background-color: var(--mahasin-cream);
    color: var(--mahasin-ink);
    padding: 24px 0 72px;
    min-height: 50vh;
}

.mahasin-cart-page .sr-only,
.mahasin-cart-page-title.sr-only {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.mahasin-cart-breadcrumb {
    display: none !important;
}

.mahasin-cart-container {
    max-width: 1600px;
}

.mahasin-cart-page .header-wrapper {
    display: none !important;
}

.mahasin-cart-page .section-cart-products>.section-title {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* REF: items list has NO outer panel — each product is its own card */
.mahasin-cart-items-panel {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
}

/* REF summary: cream fill + navy border + radius 6 + pad ~28 */
.mahasin-cart-summary-card {
    background: var(--mahasin-cream) !important;
    border: 0.8px solid var(--mahasin-navy) !important;
    border-radius: 6px !important;
    padding: 28px !important;
}

/* Hide Zid progressive-discount kit until it has real content (no skeleton flash) */
.mahasin-cart-page #progressive_discount:not([data-mahasin-ready="1"]),
.mahasin-cart-page #progressive_discount .kit-container:empty {
    display: none !important;
}

.mahasin-cart-page #progressive_discount [class*="skeleton"],
.mahasin-cart-page #progressive_discount [class*="Skeleton"],
.mahasin-cart-page #progressive_discount [class*="placeholder"],
.mahasin-cart-page #progressive_discount [class*="shimmer"],
.mahasin-cart-page #progressive_discount [class*="pulse"] {
    display: none !important;
}

.mahasin-cart-page .mahasin-cart-layout.row {
    gap: 0;
}

@media (min-width: 992px) {
    .mahasin-cart-page .mahasin-cart-layout.row {
        display: flex;
        flex-wrap: nowrap;
        align-items: flex-start;
        margin-left: 0;
        margin-right: 0;
    }

    /* REF: aside = w-96 (375) + rtl:mr-8 (32) */
    .mahasin-cart-page .mahasin-cart-main.col-lg-8 {
        flex: 1 1 auto !important;
        max-width: calc(100% - 407px) !important;
        width: calc(100% - 407px) !important;
        flex-basis: calc(100% - 407px) !important;
        padding: 0 !important;
    }

    .mahasin-cart-page .mahasin-cart-aside.col-lg-4 {
        flex: 0 0 375px !important;
        max-width: 375px !important;
        width: 375px !important;
        flex-basis: 375px !important;
        position: sticky;
        top: calc(var(--mahasin-header-h) + 8px);
        align-self: flex-start;
        padding: 0 !important;
        margin-right: 0;
        margin-left: 32px;
    }

    .rtl .mahasin-cart-page .mahasin-cart-aside.col-lg-4 {
        margin-left: 0;
        margin-right: 32px;
    }
}

/* REF product card: bordered tile per line item */
.mahasin-cart-page .cart-product-row-wrapper:not(.cart-totals-row-wrapper) {
    border: 0.8px solid var(--mahasin-navy) !important;
    border-radius: 6px !important;
    margin: 0 0 20px !important;
    padding: 28px !important;
    overflow: visible;
    position: relative;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.mahasin-cart-page .cart-product-row-wrapper:not(.cart-totals-row-wrapper):hover {
    border-color: #000548 !important;
    box-shadow: 0 2px 10px rgba(4, 43, 110, 0.06);
}

.mahasin-cart-page .cart-product-row-wrapper:last-child {
    margin-bottom: 0 !important;
}

.mahasin-cart-page .cart-product-row {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
    margin: 0;
    gap: 24px;
}

.mahasin-cart-page .cart-product-delete,
.mahasin-cart-page .cart-products-action,
.mahasin-cart-page .cart-product-prices,
.mahasin-cart-page .cart-product-col-details,
.mahasin-cart-page .cart-product-col-img {
    width: auto !important;
    max-width: none;
    padding: 0 !important;
    flex-shrink: 0;
}

/* REF order: image + title/prices | qty + المجموع | delete */
.mahasin-cart-page .cart-product-col-img {
    order: 1;
    width: 96px !important;
}

.mahasin-cart-page .cart-product-col-details {
    order: 2;
    flex: 1 1 auto;
    min-width: 0;
}

.mahasin-cart-page .cart-products-action {
    order: 3;
}

.mahasin-cart-page .cart-product-prices {
    order: 4;
    margin-inline-start: auto;
}

.mahasin-cart-page .cart-product-delete {
    order: 5;
}

.mahasin-cart-page .cart-product-col-img img,
.mahasin-cart-page .cart-product-image {
    width: 94px;
    height: 78px;
    object-fit: cover;
    object-position: center;
    border-radius: 6px;
    display: block;
}

.mahasin-cart-page .cart-product-col-details h1 {
    font-size: 18px !important;
    font-weight: 600;
    line-height: 24px;
    margin: 0 0 6px;
    color: #111827;
}

.mahasin-cart-page .cart-product-col-details h1 a {
    color: inherit;
    text-decoration: none;
}

.mahasin-cart-page .cart-product-col-details h1 a:hover {
    color: var(--mahasin-navy);
}

.mahasin-unit-prices {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px;
    margin-top: 2px;
}

.mahasin-unit-prices svg {
    width: 0.85em;
    height: 0.85em;
    display: inline-block;
    vertical-align: -0.12em;
}

.mahasin-unit-sale,
.mahasin-unit-sale span,
.mahasin-cart-page .mahasin-unit-sale {
    color: var(--mahasin-sale) !important;
    font-size: 15px;
    font-weight: 400;
    text-decoration: none !important;
}

.mahasin-unit-sale svg,
.mahasin-cart-page .mahasin-unit-sale svg {
    color: inherit;
    fill: currentColor;
}

.mahasin-cart-page .cart-product-price-each {
    font-size: 0 !important;
    line-height: 0 !important;
}

.mahasin-cart-page .cart-product-price-each.d-none {
    display: none !important;
}

.mahasin-unit-old,
.mahasin-cart-page .mahasin-unit-old,
.mahasin-cart-page .mahasin-unit-old span {
    color: var(--mahasin-muted) !important;
    font-size: 14px;
    font-weight: 400;
    text-decoration: line-through !important;
}

.mahasin-unit-old svg,
.mahasin-cart-page .mahasin-unit-old svg {
    color: inherit;
    fill: currentColor;
}

.mahasin-unit-currency {
    font-style: normal;
    font-weight: inherit;
    text-decoration: inherit;
}

.mahasin-cart-page .cart-product-prices .totals {
    font-size: 15px !important;
    font-weight: 400;
    color: var(--mahasin-ink) !important;
    white-space: nowrap;
}

.mahasin-line-total-label {
    font-weight: 400;
    color: var(--mahasin-ink);
}

.mahasin-cart-page .cart-product-total-price {
    color: var(--mahasin-ink) !important;
    font-weight: 400;
}

.mahasin-cart-page .cart-product-prices .cart-product-total-before-price.d-none,
.mahasin-cart-page .cart-product-prices .cart-product-price-each.d-none {
    display: none !important;
}

/* Quantity stepper — match PDP .mahasin-pdp__qty */
.mahasin-qty {
    display: inline-grid;
    grid-template-columns: repeat(3, 48px);
    align-items: stretch;
    width: 144px;
    min-width: 144px;
    height: 48px;
    border: 1px solid #d1d5db;
    border-radius: 0;
    background: #fcfaf2;
    overflow: hidden;
    box-sizing: border-box;
    direction: ltr;
}

.mahasin-qty__btn {
    appearance: none;
    -webkit-appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin: 0;
    padding: 0;
    border: 0;
    border-inline-start: 1px solid #d1d5db;
    background: #fcfaf2;
    color: #231f1e;
    font-size: 31px;
    font-weight: 400;
    line-height: 1;
    cursor: pointer;
    flex-shrink: 0;
}

.mahasin-qty> :first-child {
    border-inline-start: 0;
}

.mahasin-qty__btn:hover,
.mahasin-qty__btn:focus-visible {
    background: #f3f0e6;
    outline: none;
    color: #231f1e;
}

.mahasin-qty select,
.mahasin-cart-page .mahasin-qty .form-control,
.mahasin-cart-page .cart-product-quantity-dropdown select {
    display: block;
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-inline-start: 1px solid #d1d5db !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    background: #fcfaf2 !important;
    text-align: center;
    text-align-last: center;
    font-size: 16px;
    font-weight: 500;
    line-height: 48px;
    color: #231f1e;
    -webkit-appearance: none;
    appearance: none;
    background-image: none !important;
    overflow: hidden;
    box-sizing: border-box;
}

.mahasin-cart-page .cart-product-quantity-dropdown .form-group {
    margin: 0;
}

.mahasin-cart-page .cart-product-quantity-dropdown .form-group:after,
.mahasin-cart-page .mahasin-qty .form-group:after {
    display: none !important;
    content: none !important;
}

/* REF delete: plain cancel icon (not red square) */
.mahasin-cart-page .cart-product-delete a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 0;
    background: transparent !important;
    color: var(--mahasin-ink) !important;
    text-decoration: none;
    transition: color 0.15s ease, opacity 0.15s ease;
}

.mahasin-cart-page .cart-product-delete a:hover {
    color: var(--mahasin-sale) !important;
    opacity: 0.9;
}

.mahasin-cart-page .cart-product-delete .icon-delete:before {
    content: '\00d7';
    font-family: Arial, sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 1;
    color: currentColor;
}

.mahasin-cart-page .cart-product-delete a.is-loading {
    opacity: 0.6;
    pointer-events: none;
}

/* Summary */
.mahasin-summary-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--mahasin-ink);
    margin: 0 0 20px;
    line-height: 1.3;
}

.mahasin-cart-page .cart-totals-div,
.mahasin-summary-totals {
    font-size: 14px;
    margin-bottom: 8px;
}

.mahasin-cart-page .cart-totals-row-wrapper,
.mahasin-summary-subrow,
.mahasin-summary-grand .cart-totals-row-wrapper {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border: 0 !important;
    background: transparent !important;
    margin: 0 !important;
    padding: 0 0 20px !important;
    border-radius: 0 !important;
}

.mahasin-summary-label {
    color: var(--mahasin-muted);
    font-weight: 400;
    font-size: 14px;
}

.mahasin-summary-value {
    width: auto !important;
    color: var(--mahasin-ink);
    font-weight: 700;
    font-size: 14px;
    white-space: nowrap;
}

.mahasin-summary-grand {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.mahasin-summary-grand .mahasin-summary-label {
    color: var(--mahasin-muted) !important;
    font-weight: 400 !important;
    font-size: 18px !important;
}

.mahasin-summary-grand .mahasin-summary-value,
.mahasin-summary-grand .is-cart-total {
    font-weight: 700 !important;
    font-size: 18px !important;
    color: var(--mahasin-ink) !important;
}

.mahasin-coupon {
    margin: 0 0 20px;
    padding: 20px 0;
    border: 0;
}

.mahasin-coupon-title {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--mahasin-ink) !important;
    margin: 0 0 8px !important;
}

.mahasin-coupon-row {
    display: flex;
    flex-direction: row;
    gap: 8px;
    align-items: stretch;
}

.mahasin-cart-page .coupon-form input.form-control.send-coupon {
    height: 40px;
    border-radius: 4px;
    border: 0.8px solid #d1d5db;
    flex: 1 1 auto;
    font-size: 13px;
    background: #fff;
    transition: border-color 0.15s ease;
}

.mahasin-cart-page .coupon-form input.form-control.send-coupon:focus {
    border-color: var(--mahasin-navy);
    outline: none;
    box-shadow: none;
}

.mahasin-coupon-apply {
    height: 40px !important;
    min-width: 72px !important;
    margin: 0 !important;
    border-radius: 4px !important;
    background: var(--mahasin-navy) !important;
    border-color: var(--mahasin-navy) !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    padding: 0 14px !important;
    flex: 0 0 auto;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.mahasin-coupon-apply:hover,
.mahasin-coupon-apply:focus {
    background: #000548 !important;
    border-color: #000548 !important;
}

.mahasin-coupon-apply.is-loading .mahasin-coupon-apply-label {
    opacity: 0.35;
}

.mahasin-cart-page .mahasin-cart-checkout {
    background: var(--mahasin-navy) !important;
    border-color: var(--mahasin-navy) !important;
    border-radius: 4px !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    min-height: 48px;
    margin-top: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: none !important;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.mahasin-cart-page .mahasin-cart-checkout:hover,
.mahasin-cart-page .mahasin-cart-checkout:focus {
    background: #000548 !important;
    border-color: #000548 !important;
    color: #fff !important;
    text-decoration: none;
}

.mahasin-cart-continue-wrap,
.mahasin-cart-page .mahasin-cart-continue {
    display: none !important;
}

/* Spinners: never occupy layout until .is-active */
.mahasin-cart-page .mahasin-cart-loader,
.mahasin-cart-page .send-coupon-progress,
.mahasin-cart-page .delete-coupon-progress,
.mahasin-cart-page .delete-gift-progress,
.mahasin-cart-page .mahasin-cart-delete-loader,
.mahasin-cart-page .cart-product-delete .prefix {
    display: none !important;
    width: 14px;
    height: 14px;
    vertical-align: middle;
}

.mahasin-cart-page .mahasin-cart-loader.is-active,
.mahasin-cart-page .send-coupon-progress.is-active,
.mahasin-cart-page .delete-coupon-progress.is-active,
.mahasin-cart-page .mahasin-cart-delete-loader.is-active {
    display: inline-block !important;
}

.mahasin-cart-page .cart-product-delete .prefix:has(.is-active) {
    display: inline !important;
    width: auto;
    height: auto;
}

.mahasin-cart-page .cart-discount-rule-wrapper {
    border: 1px solid rgba(4, 43, 110, 0.15);
    border-radius: 4px;
    background: var(--mahasin-cream);
    margin-top: 12px;
    padding: 10px 12px;
    font-size: 12px;
}

.mahasin-cart-page .cart-gift-card {
    display: none !important;
}

/* Empty */
.mahasin-cart-empty {
    padding: 64px 16px 80px !important;
}

.mahasin-cart-empty-icon {
    color: #d1d5db !important;
    opacity: 0.85;
}

.mahasin-cart-empty-text {
    color: #6b7280;
    font-size: 16px;
    font-weight: 400;
    margin: 8px 0 16px;
}

.mahasin-cart-empty-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 24px 10px;
    border-radius: 9999px;
    border: 1px solid var(--mahasin-navy);
    color: var(--mahasin-navy);
    background: transparent;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    min-height: 40px;
}

.mahasin-cart-empty-cta:hover {
    background: rgba(4, 43, 110, 0.06);
    color: var(--mahasin-navy);
    text-decoration: none;
}

@media (max-width: 991.98px) {
    .mahasin-cart-page {
        padding: 16px 0 48px;
    }

    .mahasin-cart-aside {
        margin-top: 20px;
        position: static !important;
    }

    .mahasin-cart-items-panel {
        padding: 0 !important;
    }

    .mahasin-cart-summary-card {
        padding: 20px !important;
    }

    .mahasin-cart-page .cart-product-row-wrapper:not(.cart-totals-row-wrapper) {
        padding: 16px !important;
        margin-bottom: 16px !important;
    }

    .mahasin-cart-page .cart-product-row {
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 12px 16px;
    }

    .mahasin-cart-page .cart-product-col-img {
        width: 80px !important;
    }

    .mahasin-cart-page .cart-product-col-img img,
    .mahasin-cart-page .cart-product-image {
        width: 80px;
        height: 68px;
    }

    .mahasin-cart-page .cart-product-col-details {
        flex: 1 1 calc(100% - 100px);
        min-width: 140px;
    }

    .mahasin-cart-page .cart-products-action {
        order: 3;
        margin-top: 4px;
    }

    .mahasin-cart-page .cart-product-prices {
        order: 4;
        margin-inline-start: 0;
        margin-top: 4px;
    }

    .mahasin-cart-page .cart-product-delete {
        order: 5;
        margin-inline-start: auto;
        margin-top: 0;
    }

    .mahasin-summary-grand .mahasin-summary-label,
    .mahasin-summary-grand .mahasin-summary-value,
    .mahasin-summary-grand .is-cart-total {
        font-size: 16px !important;
    }
}

@media (max-width: 575.98px) {
    .mahasin-cart-page .cart-product-col-img {
        width: 72px !important;
    }

    .mahasin-cart-page .cart-product-col-img img,
    .mahasin-cart-page .cart-product-image {
        width: 72px;
        height: 60px;
        border-radius: 6px;
    }

    .mahasin-cart-page .cart-product-col-details h1 {
        font-size: 14px !important;
        line-height: 20px;
    }

    .mahasin-unit-sale {
        font-size: 14px;
    }

    .mahasin-unit-old {
        font-size: 13px;
    }

    .mahasin-qty {
        grid-template-columns: repeat(3, 44px);
        width: 132px;
        min-width: 132px;
        height: 44px;
    }

    .mahasin-qty__btn {
        width: 44px;
        height: 44px;
        font-size: 28px;
    }

    .mahasin-qty select,
    .mahasin-cart-page .mahasin-qty .form-control {
        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;
        line-height: 44px;
        font-size: 15px;
    }

    .mahasin-cart-page .mahasin-cart-checkout {
        min-height: 44px;
        font-size: 14px !important;
    }

    /* REF mobile delete = red square with white X */
    .mahasin-cart-page .cart-product-delete a {
        width: 26px;
        height: 26px;
        border-radius: 3px;
        background: #ef4444 !important;
        color: #fff !important;
    }

    .mahasin-cart-page .cart-product-delete a:hover {
        background: #dc2626 !important;
        color: #fff !important;
    }

    .mahasin-cart-page .cart-product-delete .icon-delete:before {
        color: #fff;
        font-size: 18px;
        font-weight: 700;
    }
}


/* ========== Mahasin Products Listing Page (PLP) ========== */
/* ========== PLP / جميع المنتجات — REF product.index parity ========== */
.mahasin-products-page {
    --mahasin-navy: #042b6e;
    --mahasin-ink: #231f1e;
    --mahasin-cream: #fcfaf2;
    background: var(--mahasin-cream);
    color: var(--mahasin-ink);
    padding-bottom: 32px;
    min-height: 40vh;
}

.mahasin-products-page .mahasin-plp-breadcrumb,
.mahasin-products-page .breadcrumb-section {
    display: none !important;
}

/* REF: near full-bleed with ~10px gutters (not Bootstrap 1140) */
.mahasin-products-page .mahasin-plp-container.container {
    max-width: none;
    width: 100%;
    padding-left: 10px !important;
    padding-right: 10px !important;
    padding-top: 24px;
    margin-left: auto;
    margin-right: auto;
}

.mahasin-plp-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px 16px;
    margin-bottom: 24px;
    padding: 0;
}

.mahasin-plp-title {
    font-size: 20px;
    font-weight: 700;
    color: var(--mahasin-ink);
    margin: 0;
    line-height: 28px;
    text-align: start;
}

/* Prevent duplicate count flash when #product-filter-count is shown */
.mahasin-plp-title #product-filter-count {
    display: none !important;
}

.mahasin-plp-actions {
    gap: 10px 14px;
}

/* REF desktop has no filter control — keep Zid filters on mobile only */
.mahasin-products-page #products-list-filter-desktop {
    display: none !important;
}

.mahasin-plp-filter-btn {
    height: 40px;
    padding: 0 14px;
    border: 0.8px solid #e5e7eb;
    border-radius: 6px;
    background: #fff;
    color: var(--mahasin-ink);
    font-size: 14px;
    font-weight: 500;
}

.mahasin-plp-sort-label {
    font-size: 15px;
    font-weight: 400;
    color: var(--mahasin-ink);
    margin: 0;
    margin-inline-end: 12px;
    white-space: nowrap;
}

.mahasin-plp-sort-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 182px;
    height: 40px;
    padding: 0 12px;
    border: 0.8px solid #e5e7eb;
    border-radius: 6px;
    background: #fff;
    color: var(--mahasin-ink);
    font-size: 14px;
    font-weight: 400;
    justify-content: space-between;
}

.mahasin-plp-sort-menu {
    min-width: 220px;
    border-radius: 8px;
    border: 1px solid #e5e7eb;
    padding: 6px 0;
    box-shadow: 0 8px 24px rgba(4, 43, 110, 0.08);
}

.mahasin-plp-sort-menu .dropdown-item {
    font-size: 14px;
    padding: 8px 14px;
    color: var(--mahasin-ink);
}

.mahasin-plp-sort-menu .dropdown-item.active,
.mahasin-plp-sort-menu .dropdown-item:hover {
    background: rgba(4, 43, 110, 0.06);
    color: var(--mahasin-navy);
}

/* REF desktop: 4 columns, gap 24px */
.mahasin-products-page .mahasin-plp-grid,
.mahasin-products-page #products-list.products-list {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    margin: 0 0 32px !important;
    width: 100%;
}

.mahasin-products-page .mahasin-plp-col,
.mahasin-products-page .products-list .prod-col,
.mahasin-products-page .products-list .prod-col-attr {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
}

/* PLP inherits shared .product-item card styles — keep only layout hooks */
.mahasin-products-page .product-item {
    width: 100%;
    max-width: none;
}

.mahasin-products-page .product-item__media {
    background: #f3f4f6 !important;
}

.mahasin-plp-filter-modal-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--mahasin-navy);
    margin: 0 0 16px;
}

.mahasin-plp-filter-apply {
    background: var(--mahasin-navy) !important;
    border-color: var(--mahasin-navy) !important;
    color: #fff !important;
    min-width: 88px;
}

.mahasin-plp-filter-clear {
    border: 1px solid #d1d5db;
    min-width: 72px;
}

.mahasin-products-page .products-pagination .page-link {
    color: var(--mahasin-navy);
}

.mahasin-products-page .products-pagination .page-link.active {
    background: var(--mahasin-navy);
    border-color: var(--mahasin-navy);
    color: #fff;
}

.mahasin-plp-empty {
    text-align: center;
    padding: 48px 16px;
    color: #6b7280;
    grid-column: 1 / -1;
}

@media (max-width: 1199.98px) {

    .mahasin-products-page .mahasin-plp-grid,
    .mahasin-products-page #products-list.products-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 20px;
    }
}

/* REF tablet/mobile: 2 columns, gap 10 */
@media (max-width: 991.98px) {
    .mahasin-products-page .mahasin-plp-container.container {
        padding-top: 16px;
    }

    .mahasin-products-page .mahasin-plp-grid,
    .mahasin-products-page #products-list.products-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .mahasin-plp-title {
        font-size: 20px;
        line-height: 28px;
    }
}

@media (max-width: 575.98px) {
    .mahasin-plp-toolbar {
        align-items: center;
    }

    .mahasin-plp-sort-label {
        display: none !important;
    }

    .mahasin-plp-sort-btn {
        min-width: 140px;
        height: 40px;
    }
}

@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }

    .mahasin-home-news,
    .swiper-wrapper {
        transition: none !important;
    }
}

.container {
    max-width: 100% !important;
}

@media (min-width: 1600px) {
    .container {
        max-width: 1600px !important;
    }
}

.mahasin-pdp__container {
    max-width: 100% !important;
}

/* ---- ATC loading + success toast ---- */
@keyframes mahasin-atc-spin {
    to {
        transform: rotate(360deg);
    }
}

.is-atc-loading {
    position: relative !important;
    pointer-events: none !important;
}

.is-atc-loading .add-to-cart-progress,
.is-atc-loading .mahasin-atc-spinner {
    display: inline-block !important;
}

.mahasin-atc-spinner {
    display: none;
    width: 18px;
    height: 18px;
    margin-inline-end: 8px;
    border: 2px solid rgba(255, 255, 255, 0.45);
    border-top-color: currentColor;
    border-radius: 50%;
    vertical-align: middle;
    animation: mahasin-atc-spin 0.7s linear infinite;
    box-sizing: border-box;
}

.mahasin-stories__atc.is-atc-loading .mahasin-atc-spinner,
.mahasin-story-modal__footer-atc.is-atc-loading .mahasin-atc-spinner,
.mahasin-featured-product__btn--outline.is-atc-loading .mahasin-atc-spinner,
.btn-outline-primary.is-atc-loading .mahasin-atc-spinner {
    border-color: rgba(4, 43, 110, 0.25);
    border-top-color: #042b6e;
}

.mahasin-toast {
    position: fixed;
    left: 50%;
    bottom: 28px;
    z-index: 10050;
    max-width: min(92vw, 360px);
    padding: 12px 18px;
    border-radius: 10px;
    background: #042b6e;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
    box-shadow: 0 10px 30px rgba(4, 43, 110, 0.28);
    transform: translate(-50%, 16px);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease, transform 0.25s ease;
}

.mahasin-toast.is-show {
    opacity: 1;
    transform: translate(-50%, 0);
}

.mahasin-toast--success {
    background: #0f7a45;
}

/* ---------- All-reviews page (products-reviews-page) ---------- */
.mahasin-reviews-page {
    font-family: var(--font-main);
    color: #231f1e;
    background: #fcfaf2;
    padding: 28px 0 80px;
}

.mahasin-reviews-page__container {
    max-width: 920px;
}

.mahasin-reviews-page__crumb {
    margin: 0 0 18px;
}

.mahasin-reviews-page__back {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #042b6e;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
}

.mahasin-reviews-page__back:hover,
.mahasin-reviews-page__back:focus {
    color: #031f4f;
    text-decoration: none;
    opacity: 0.9;
}

.rtl .mahasin-reviews-page__back svg {
    transform: scaleX(-1);
}

.mahasin-reviews-page__product {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0 0 28px;
    padding: 14px 16px;
    border: 1px solid #e5e7eb;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.mahasin-reviews-page__product:hover,
.mahasin-reviews-page__product:focus {
    border-color: #042b6e;
    text-decoration: none;
    color: inherit;
}

.mahasin-reviews-page__product-img {
    width: 72px;
    height: 72px;
    flex-shrink: 0;
    object-fit: contain;
    border-radius: 10px;
    background: #fcfaf2;
}

.mahasin-reviews-page__product-meta {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.mahasin-reviews-page__product-label {
    font-size: 12px;
    font-weight: 500;
    line-height: 1.3;
    color: #6b7280;
}

.mahasin-reviews-page__product-name {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
    color: #231f1e;
}

.mahasin-reviews-page__panel {
    margin: 0;
}

.mahasin-reviews-page__header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 14px 20px;
    margin: 0 0 22px;
    padding-bottom: 18px;
    border-bottom: 1px solid #e5e7eb;
}

.mahasin-reviews-page__heading {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.mahasin-reviews-page__title {
    margin: 0;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
    color: #231f1e;
}

.mahasin-reviews-page__rating {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 8px;
}

.mahasin-reviews-page__rating .product-card-rating {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.mahasin-reviews-page__rating .icon-star1,
.mahasin-reviews-page__rating .icon-half-star {
    font-size: 15px;
    line-height: 1;
    color: #ff9800;
}

.mahasin-reviews-page__rating .icon-star1.deactive {
    color: #d1d5db;
}

.mahasin-reviews-page__rating-avg {
    font-size: 15px;
    font-weight: 700;
    color: #231f1e;
}

.mahasin-reviews-page__rating-count {
    font-size: 14px;
    font-weight: 400;
    color: #6b7280;
}

.mahasin-reviews-page__add.btn-primary,
.mahasin-reviews-page__add {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    margin: 0 !important;
    padding: 8px 20px;
    border: 0.8px solid #042b6e;
    border-radius: 0;
    background: #042b6e;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none;
    white-space: nowrap;
}

.mahasin-reviews-page__add:hover,
.mahasin-reviews-page__add:focus {
    background: #031f4f;
    border-color: #031f4f;
    color: #fff;
    text-decoration: none;
}

.mahasin-reviews-page__empty {
    margin: 0 0 18px;
    padding: 14px 16px;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #fff;
}

.mahasin-reviews-page__empty p {
    margin: 0;
    font-size: 14px;
    color: #6b7280;
}

.mahasin-reviews-page__list {
    margin: 0;
    padding: 0;
}

.mahasin-reviews-page__pagination {
    margin-top: 28px;
}

.mahasin-reviews-page__pagination .products-pagination {
    margin: 0;
}

.mahasin-reviews-page__pagination .page-link {
    border-color: #e5e7eb;
    color: #042b6e;
    font-weight: 600;
}

.mahasin-reviews-page__pagination .page-link.active,
.mahasin-reviews-page__pagination .page-item.active .page-link {
    background: #042b6e;
    border-color: #042b6e;
    color: #fff;
}

@media (max-width: 575.98px) {
    .mahasin-reviews-page {
        padding: 18px 0 72px;
    }

    .mahasin-reviews-page__product {
        padding: 12px;
        gap: 12px;
    }

    .mahasin-reviews-page__product-img {
        width: 60px;
        height: 60px;
    }

    .mahasin-reviews-page__product-name {
        font-size: 16px;
    }

    .mahasin-reviews-page__title {
        font-size: 18px;
    }

    .mahasin-reviews-page__header {
        align-items: stretch;
    }

    .mahasin-reviews-page__add {
        width: 100%;
    }
}

/* PDP: sold badge a little higher + Pink October line directly under it */
.mahasin-pdp__info > .mahasin-pdp__sold {
    margin-top: 0;
    margin-bottom: 12px;
}
.mahasin-pdp__info > .mpo--line {
    margin: 0 0 16px;
}

/* PDP description: collapsible sections written in the product description (<details><summary>) */
.mahasin-pdp__desc-text details {
    border-top: 1px solid rgba(4, 43, 110, 0.15);
    margin: 0;
}
.mahasin-pdp__desc-text details:last-of-type {
    border-bottom: 1px solid rgba(4, 43, 110, 0.15);
}
.mahasin-pdp__desc-text details:first-of-type {
    margin-top: 24px;
}
.mahasin-pdp__desc-text summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 4px;
    cursor: pointer;
    list-style: none;
    font-size: 17px;
    font-weight: 700;
    color: #042B6E;
}
.mahasin-pdp__desc-text summary::-webkit-details-marker {
    display: none;
}
.mahasin-pdp__desc-text summary::after {
    content: "+";
    font-size: 22px;
    font-weight: 400;
    line-height: 1;
}
.mahasin-pdp__desc-text details[open] summary::after {
    content: "\2212";
}
.mahasin-pdp__desc-text details > *:not(summary) {
    margin: 0 0 16px;
}
.mahasin-pdp__desc-text details img {
    max-width: 100%;
    height: auto;
}

/* PDP: short description under the sold badge */
.mahasin-pdp__short-desc {
    margin: 0 0 20px;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.8;
    color: #1c1c1c;
}
.mahasin-pdp__short-desc p {
    margin: 0 0 6px;
}
.mahasin-pdp__short-desc p:empty,
.mahasin-pdp__short-desc br:only-child {
    display: none;
}

/* ===== Consistent spacing (mobile) — additive ===== */
@media (max-width: 767.98px) {
    /* PDP: smaller gap between gallery and «تم شراءه» */
    .mahasin-pdp .col-product-info.mahasin-pdp__info-col {
        padding-top: 20px;
    }
    /* empty low-stock/bundle row should not add space */
    .mahasin-pdp__features:not(:has(> :not(.d-none))) {
        margin-bottom: 0;
    }
    .mahasin-pdp__short-desc {
        margin-bottom: 4px;
    }
    /* Home: one rhythm between sections (24px) */
    body .mpo.mpo--home {
        padding: 12px 0;
    }
    body section.mahasin-promo-banner.gallery-section {
        margin-top: 12px;
    }
    body section.mahasin-reviews {
        margin-top: 24px;
    }
    body section.mahasin-stories.home-cards-section {
        margin-top: 24px;
    }
    body section.mahasin-video-stories {
        margin-top: 24px;
        margin-bottom: 24px;
    }
}

/* FAQ cards in the site background colour */
body .mahasin-faq__item {
    background-color: #fcfaf2;
    border-color: rgba(4, 43, 110, 0.18);
}

/* Store features icons in brand navy (#042B6E) instead of the teal in the uploaded images */
.mahasin-features__icon {
    filter: brightness(0) saturate(100%) invert(11%) sepia(54%) saturate(4234%) hue-rotate(211deg) brightness(93%) contrast(103%);
}

/* Desktop: promo banners (payment logos / Gulf shipping) centred at a comfortable width instead of stretching full width */
@media (min-width: 768px) {
    body section.mahasin-promo-banner.gallery-section .mahasin-promo-banner__inner {
        max-width: 820px;
        margin-left: auto;
        margin-right: auto;
    }
    body section.mahasin-promo-banner.gallery-section {
        margin-top: 32px;
    }
}

/* Product cards: discount badge on the image (same look as the product page badge) */
.product-item__media {
    position: relative;
}
.mahasin-card-sale {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 4px 9px;
    background: #042b6e;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    pointer-events: none;
}

/* Cart: inline coupon error */
.mahasin-coupon-error:not(:empty) {
    margin-top: 8px;
    font-size: 13px;
    color: #c0392b;
}

/* Bundle cards: left tag («الأكثر مبيعاً» / «الأكثر توفيراً») with a sky-blue/white flashing frame */
@property --mh-glow-a {
    syntax: "<angle>";
    initial-value: 0deg;
    inherits: false;
}
.mahasin-card-tag {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 8px;
    border: 2px solid transparent;
    background: linear-gradient(#ffffff, #ffffff) padding-box, conic-gradient(from var(--mh-glow-a), #7cc8f2 0deg, #ffffff 60deg, #7cc8f2 120deg, #2f8fd6 200deg, #ffffff 280deg, #7cc8f2 360deg) border-box;
    color: #042b6e;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    pointer-events: none;
    animation: mhTagSpin 2.5s linear infinite, mhTagPulse 1.6s ease-in-out infinite;
}
.product-item:has(.add-to-wishlist) .mahasin-card-tag {
    top: 52px;
}
@keyframes mhTagSpin {
    to { --mh-glow-a: 360deg; }
}
@keyframes mhTagPulse {
    0%, 100% { box-shadow: 0 0 2px 0 rgba(124, 200, 242, 0.4); }
    50% { box-shadow: 0 0 10px 2px rgba(124, 200, 242, 0.95), 0 0 4px 1px rgba(255, 255, 255, 0.9); }
}
@media (prefers-reduced-motion: reduce) {
    .mahasin-card-tag { animation: none; }
}

