/* ================================================================
   SECRET ANGEL — Custom Header Styles
   Based on Figma design mockups
   ================================================================ */

/* Google Font for logo */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&display=swap');

/* ----------------------------------------------------------------
   CSS Variables
   ---------------------------------------------------------------- */
:root {
    --sa-black: #1A1A1A;
    --sa-white: #FFFFFF;
    --sa-gray-light: #F5F5F5;
    --sa-gray-border: #E0E0E0;
    --sa-gray-text: #666666;
    --sa-pink: #D4436A;
    --sa-pink-1: #F6C6D2;
    --sa-pink-light: #F2D5DC;
    --sa-callback-color: #D4436A;
    --sa-font-serif: 'Cormorant Garamond', 'Georgia', serif;
    --sa-font-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --sa-header-height-mobile: 56px;
    --sa-transition: 0.25s ease;
}

/* ----------------------------------------------------------------
   Hide default oct_remarket header elements we're replacing
   ---------------------------------------------------------------- */
.sa-header-active #top.top-nav {
    display: none !important;
}

.sa-header-active header>div>.row>.col-2.d-none.d-lg-block.order-1 {
    display: none !important;
}

.sa-mobile-search-overlay {
    display: none;
}

.img-fluid-1 {
    max-width: 100%;
    height: auto;
    margin-right: 5px;
}

/* ----------------------------------------------------------------
   PROMO BAR (uses existing oct-infobar styling, overrides for design)
   ---------------------------------------------------------------- */
.sa-header-active #oct-infobar {
    background: var(--sa-black) !important;
    padding: 8px 0;
    font-size: 13px;
    line-height: 1.4;
}

.sa-header-active #oct-infobar .oct-infobar-text {
    color: var(--sa-white) !important;
    font-size: 13px;
}

.sa-header-active #oct-infobar #oct-infobar-btn {
    background: transparent !important;
    color: var(--sa-white) !important;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 4px;
    padding: 4px 16px;
    font-size: 12px;
    transition: var(--sa-transition);
}

.sa-header-active #oct-infobar #oct-infobar-btn:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    color: var(--sa-white) !important;
    border-color: rgba(255, 255, 255, 0.6);
}

/* ----------------------------------------------------------------
   DESKTOP HEADER — Main Row
   ---------------------------------------------------------------- */
.sa-header-main {
    display: none;
}

.rm-search input::placeholder {
    color: #000;
}

#rm-search-button img {
    filter: invert(1);
}

#rm_livesearch_close {
    background: var(--sa-pink-1);
}

.rm-slideshow-plus-box .rm-slideshow-plus-item {
    position: relative;
}

.rm-slideshow-plus-box .rm-slideshow-plus-item .rm-slideshow-plus-item-img img {
    position: absolute;
    right: 125px;
}

.rm-slideshow-plus {
    min-height: 509px;
}

.rm-day-discounts {
    background-color: #FFE6E2;
}

/* ================================================================
   SLIDESHOW MOBILE LAYOUT
   ================================================================ */
@media (max-width: 991px) {

    /* Slideshow — висота авто */
    .rm-slideshow-plus {
        min-height: unset !important;
        height: auto !important;
    }

    /* Слайд — якір для абсолютних елементів, overflow hidden */
    .rm-slideshow-plus-item {
        position: relative !important;
        overflow: hidden !important;
        min-height: 540px !important;
    }

    /* Зображення — абсолютне, правий бік, виходить за межі */
    .rm-slideshow-plus-item-img {
        position: absolute !important;
        top: 0 !important;
        right: 0px !important;
        bottom: 0 !important;
        left: auto !important;
        width: 100% !important;
        height: 100% !important;
        z-index: 1 !important;
        pointer-events: none !important;
        display: block !important;
    }

    .rm-slideshow-plus-item-img img {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: auto !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center top !important;
        display: block !important;
    }

    /* Контейнер — flex колонка, займає всю висоту слайду */
    .rm-slideshow-plus-item-box {
        position: static !important;
        display: block !important;
        padding: 36px 20px 100px 20px !important;
        min-height: 540px !important;
        text-align: left !important;
        z-index: 2 !important;
    }

    /* Текстовий блок — ліва частина поверх зображення */
    .rm-slideshow-plus-item-text {
        width: 62% !important;
        max-width: 62% !important;
        position: static !important;
        z-index: 2 !important;
        display: block !important;
    }

    /* Заголовок — великий, жирний, uppercase */
    .rm-slideshow-plus-item-title {
        font-size: 32px !important;
        font-weight: 500 !important;
        line-height: 1.35 !important;
        text-transform: uppercase !important;
        color: #1A1A1A !important;
        margin: 0 0 20px 0 !important;
        padding: 0 !important;
        letter-spacing: -0.5px !important;
        z-index: 22;
        position: relative;
    }

    /* Підзаголовок */
    .rm-slideshow-plus-item-text p {
        font-size: 15px !important;
        line-height: 1.5 !important;
        color: #1A1A1A !important;
        margin-bottom: 0 !important;
        font-weight: 400 !important;
        position: relative;
        z-index: 22;
    }

    /* Кнопка — абсолютно внизу слайду (відносно .rm-slideshow-plus-item) */
    .rm-slideshow-plus-item-btn {
        position: absolute !important;
        bottom: 24px !important;
        left: 20px !important;
        right: 20px !important;
        margin-top: 0 !important;
        z-index: 3 !important;
        max-width: 70%;
        margin: 0 auto;
    }

    .rm-slideshow-plus-item-btn .rm-btn {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        height: 48px !important;
        line-height: normal !important;
        padding: 0 !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        letter-spacing: 2px !important;
        text-transform: uppercase !important;
        border-radius: 4px !important;
        border: none !important;
    }

    .rm-slideshow-plus-item-btn .rm-btn-text {
        font-size: 13px !important;
        font-weight: 600 !important;
        letter-spacing: 2px !important;
        text-transform: uppercase !important;
    }

    /* Зсуваємо крапки пагінації слайдера вище кнопки, щоб вони не перекривалися */
    .rm-slideshow-plus .slick-dots {
        bottom: 84px !important;
        z-index: 4 !important;
    }
}

@media (min-width: 992px) {

    .rm-slideshow-plus-item-text {
        max-width: 342px;
        align-self: anchor-center;
        z-index: 2;
    }

    .rm-slideshow-plus-item-title {
        font-size: 48px;
        font-weight: 600;
        line-height: 55px;
        padding-right: 20px;
        margin: 20px 0 20px;
    }

    .rm-slideshow-plus-item-text p {
        margin-bottom: 20px;
    }

    .rm-slideshow-plus-item-box {
        padding: 0px 30px 0px 100px;
    }

    /* Hide default header content on desktop when custom header is active */
    .sa-header-active header>.container-fluid>.row {
        display: none !important;
    }

    .sa-header-main {
        display: block;
        background: var(--sa-white);
        padding: 16px 0;
    }

    .sa-header-main .container {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
    }

    /* Logo */
    .sa-header-logo {
        flex: 0 0 auto;
        min-width: 180px;
    }

    .sa-header-logo a,
    .sa-header-logo span {
        font-family: var(--sa-font-serif);
        font-size: 28px;
        font-weight: 600;
        letter-spacing: 3px;
        color: var(--sa-black);
        text-decoration: none;
        white-space: nowrap;
        text-transform: uppercase;
        line-height: 1.2;
    }

    .sa-header-logo a:hover {
        color: var(--sa-black);
        text-decoration: none;
    }

    .sa-header-logo img {
        max-height: 45px;
        width: auto;
        object-fit: contain;
    }

    /* Search */
    .sa-header-search {
        flex: 1 1 auto;
        max-width: 380px;
        margin: 0 20px;
    }

    .sa-header-search .rm-search {
        height: 45px;
        margin: 0;
        border: 1px solid var(--sa-pink-1);
        border-radius: 6px;
        overflow: visible;
        position: relative;
    }

    .sa-header-search .rm-search input {
        border: none;
        background: transparent;
        padding: 10px 44px 10px 16px;
        font-size: 14px;
        border-radius: 6px;
        height: 40px;
    }

    .sa-header-search .rm-search .btn-search {
        right: 0;
        left: auto;
        width: 42px;
        opacity: 0.5;
        transition: opacity var(--sa-transition);
    }

    .sa-header-search .rm-search .btn-search:hover {
        opacity: 1;
    }

    /* Actions (callback, language, account, cart) */
    .sa-header-actions {
        display: flex;
        align-items: center;
        gap: 8px;
        flex: 0 0 auto;
    }

    .sa-header-action-item {
        display: flex;
        align-items: center;
        gap: 6px;
        padding: 8px 12px;
        font-size: 13px;
        color: var(--sa-black);
        text-decoration: none;
        white-space: nowrap;
        cursor: pointer;
        border-radius: 6px;
        transition: background var(--sa-transition);
        background: none;
        border: none;
        font-family: inherit;
    }

    .sa-header-action-item:hover {
        background: var(--sa-gray-light);
        color: var(--sa-black);
        text-decoration: none;
    }

    .sa-header-action-item svg {
        flex-shrink: 0;
    }

    .sa-header-action-item .sa-action-text {
        font-size: 14px;
        line-height: 1.3;
    }

    /* Callback specific */
    .sa-header-callback svg {
        color: var(--sa-callback-color);
    }

    .sa-header-callback .sa-action-text {
        color: var(--sa-callback-color);
    }

    /* Language switcher in header */
    .sa-header-lang-wrapper {
        position: relative;
    }

    /* Cart in header actions */
    .sa-header-cart-btn {
        position: relative;
    }

    .sa-header-cart-btn .sa-cart-badge {
        position: absolute;
        top: 2px;
        right: 2px;
        min-width: 16px;
        height: 16px;
        line-height: 16px;
        border-radius: 8px;
        background: var(--sa-pink);
        color: var(--sa-white);
        font-size: 10px;
        font-weight: 600;
        text-align: center;
        padding: 0 4px;
    }
}

/* ----------------------------------------------------------------
   DESKTOP HEADER — Navigation Bar (Categories)
   ---------------------------------------------------------------- */
.sa-header-nav {
    display: none;
}

@media (min-width: 992px) {
    .sa-header-nav {
        display: block;
        background: var(--sa-white);
        border-top: 1px solid #ECECEC;
        border-bottom: 1px solid #ECECEC;
    }

    .sa-header-nav-inner {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 0;
        padding: 0;
        flex-wrap: wrap;
    }


    .sa-nav-item {
        display: block;
        padding: 12px 16px;
        font-size: 14px;
        font-weight: 500;
        letter-spacing: 0.5px;
        text-transform: uppercase;
        color: var(--sa-black);
        text-decoration: none;
        white-space: nowrap;
        transition: color var(--sa-transition);
        position: relative;
    }

    .sa-nav-item:hover {
        color: var(--sa-pink);
        text-decoration: none;
    }

    .sa-nav-item::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 16px;
        right: 16px;
        height: 2px;
        background: var(--sa-pink);
        transform: scaleX(0);
        transition: transform var(--sa-transition);
    }

    .sa-nav-item:hover::after {
        transform: scaleX(1);
    }

    /* First item (sale) - highlighted in pink */
    .sa-nav-item--sale {
        color: var(--sa-pink);
        font-weight: 600;
    }

    .rm-dropdown-toggle::after {
        margin-left: 2px;
        width: 8px;
        height: 8px;
        background: #000;
    }

    /* Dropdown for subcategories */
    .sa-nav-dropdown-wrap {
        position: relative;
    }

    .sa-nav-dropdown {
        position: absolute;
        top: 100%;
        left: 0;
        min-width: 220px;
        background: var(--sa-white);
        border: 1px solid #ECECEC;
        border-radius: 0 0 8px 8px;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
        padding: 8px 0;
        opacity: 0;
        visibility: hidden;
        transform: translateY(-4px);
        transition: all var(--sa-transition);
        z-index: 1050;
    }

    .sa-nav-dropdown-wrap:hover .sa-nav-dropdown {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .sa-nav-dropdown a {
        display: block;
        padding: 8px 20px;
        font-size: 13px;
        font-weight: 400;
        text-transform: none;
        letter-spacing: 0;
        color: var(--sa-black);
        text-decoration: none;
        transition: background var(--sa-transition), color var(--sa-transition);
    }

    .sa-nav-dropdown a:hover {
        background: var(--sa-gray-light);
        color: var(--sa-pink);
    }
}

/* ----------------------------------------------------------------
   MOBILE HEADER
   ---------------------------------------------------------------- */
@media (max-width: 991px) {

    /* Hide default mobile elements */
    .sa-header-active header>.container-fluid>.row {
        display: none !important;
    }

    .sa-header-active #logo {
        display: none !important;
    }

    .sa-header-active .rm-header-cart {
        display: none !important;
    }

    .sa-header-active #rm_mobile_menu_button {
        display: none !important;
    }

    /* Custom mobile header */
    .sa-mobile-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        height: var(--sa-header-height-mobile);
        background: var(--sa-white);
        z-index: 1031;
        padding: 0 12px;
        border-bottom: 1px solid #F0F0F0;
    }

    /* Hamburger button */
    .sa-mobile-menu-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        background: none;
        border: none;
        padding: 0;
        cursor: pointer;
        flex-shrink: 0;
    }

    .sa-mobile-menu-btn svg {
        width: 24px;
        height: 24px;
        color: var(--sa-black);
    }

    /* Mobile logo */
    .sa-mobile-logo {
        max-width: 200px;
    }



    /* Mobile actions (search + cart) */
    .sa-mobile-actions {
        display: flex;
        align-items: center;
        gap: 4px;
        flex-shrink: 0;
    }

    .sa-mobile-action-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        background: none;
        border: none;
        padding: 0;
        cursor: pointer;
        position: relative;
    }

    .sa-mobile-action-btn svg {
        width: 22px;
        height: 22px;
        color: var(--sa-black);
    }

    .sa-mobile-cart-badge {
        position: absolute;
        top: 4px;
        right: 2px;
        min-width: 16px;
        height: 16px;
        line-height: 16px;
        border-radius: 8px;
        background: var(--sa-pink);
        color: var(--sa-white);
        font-size: 10px;
        font-weight: 600;
        text-align: center;
        padding: 0 3px;
    }

    /* Body offset for fixed header */
    .sa-header-active body,
    body.sa-header-active {
        padding-top: var(--sa-header-height-mobile) !important;
    }

    /* Mobile search overlay */
    .sa-mobile-search-overlay {
        display: block;
        position: fixed;
        top: var(--sa-header-height-mobile);
        left: 0;
        right: 0;
        background: var(--sa-white);
        padding: 12px 16px;
        z-index: 1030;
        transform: translateY(-100%);
        opacity: 0;
        transition: all 0.3s ease;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    }

    .sa-mobile-search-overlay.active {
        transform: translateY(0);
        opacity: 1;
    }

    .sa-mobile-search-overlay .rm-search {
        margin: 0;
        height: 44px;
        border: 1px solid var(--sa-gray-border);
        border-radius: 8px;
    }

    .sa-mobile-search-overlay .rm-search input {
        border: none;
        padding: 10px 44px 10px 16px;
        font-size: 15px;
        border-radius: 8px;
        height: 42px;
    }

    .sa-mobile-search-overlay .rm-search .btn-search {
        right: 0;
        left: auto;
        width: 44px;
    }

    /* Desktop header hidden on mobile */
    .sa-header-main {
        display: none;
    }

    .sa-header-nav {
        display: none;
    }
}

/* ----------------------------------------------------------------
   Desktop header — sticky behavior
   ---------------------------------------------------------------- */
@media (min-width: 992px) {
    .sa-header-active header {
        position: sticky;
        top: -1px;
        z-index: 1020;
        background: var(--sa-white);
        border-top: none;
        border-bottom: 1px solid #F0F0F0;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
        padding: 0;
    }

    .sa-mobile-header {
        display: none;
    }
}

/* ----------------------------------------------------------------
   Language dropdown styling within header
   ---------------------------------------------------------------- */
.sa-header-lang-wrapper .btn-lang {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    font-size: 13px;
    color: var(--sa-black);
    background: none;
    border: none;
    cursor: pointer;
    border-radius: 6px;
    transition: background var(--sa-transition);
    font-family: inherit;
}

.sa-header-lang-wrapper .btn-lang:hover,
.sa-header-lang-wrapper .rm-dropdown-box.active .btn-lang {
    background: var(--sa-gray-light);
}

.sa-header-lang-wrapper .btn-lang img.lang {
    width: 22px;
    height: 16px;
    border-radius: 2px;
    object-fit: cover;
}

.sa-header-lang-wrapper .btn-lang img.lang[alt^="Русский"],
.sa-header-lang-wrapper .rm-dropdown button.language-select img[alt^="Русский"] {
    visibility: hidden;
}

.sa-header-lang-wrapper .btn-lang b {
    font-weight: 500;
    font-size: 13px;
}

.sa-header-lang-wrapper .rm-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    min-width: 180px;
    background: var(--sa-white);
    border: 1px solid #ECECEC;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
    padding: 6px 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
    transition: all var(--sa-transition);
    z-index: 1060;
}

.sa-header-lang-wrapper .rm-dropdown-box.active .rm-dropdown,
.sa-header-lang-wrapper .rm-dropdown-box:hover .rm-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.sa-header-lang-wrapper .rm-dropdown button.language-select {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 8px 16px;
    background: none;
    border: none;
    font-size: 13px;
    color: var(--sa-black);
    cursor: pointer;
    transition: background var(--sa-transition);
    text-align: left;
}

.sa-header-lang-wrapper .rm-dropdown button.language-select:hover {
    background: var(--sa-gray-light);
}

.sa-header-lang-wrapper .rm-dropdown button.language-select.active-item {
    font-weight: 600;
    color: var(--sa-pink);
}

.sa-header-lang-wrapper .rm-dropdown button.language-select img {
    width: 20px;
    height: 14px;
    border-radius: 2px;
    object-fit: cover;
}

/* ----------------------------------------------------------------
   Account dropdown styling
   ---------------------------------------------------------------- */
.sa-header-account {
    position: relative;
}

.sa-header-account-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    min-width: 200px;
    background: var(--sa-white);
    border: 1px solid #ECECEC;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
    padding: 6px 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
    transition: all var(--sa-transition);
    z-index: 1060;
}

.sa-header-account:hover .sa-header-account-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.sa-header-account-dropdown a {
    display: block;
    padding: 10px 16px;
    font-size: 13px;
    color: var(--sa-black);
    text-decoration: none;
    transition: background var(--sa-transition);
}

.sa-header-account-dropdown a:hover {
    background: var(--sa-gray-light);
    color: var(--sa-pink);
}

/* ----------------------------------------------------------------
   Transition & Animation helpers
   ---------------------------------------------------------------- */
.sa-fade-in {
    animation: saFadeIn 0.3s ease;
}

@keyframes saFadeIn {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ----------------------------------------------------------------
   Print styles — hide header navigation
   ---------------------------------------------------------------- */
@media print {

    .sa-header-main,
    .sa-header-nav,
    .sa-mobile-header {
        display: none !important;
    }
}

/* ================================================================
   SA BENEFITS / ADVANTAGES MODULE
   ================================================================ */

.rm-advantages {
    padding: 40px 0;
}

/* Grid: 4 cards per row on desktop, 2 on tablet, 1 on mobile */
.sa-benefits-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

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

@media (max-width: 575px) {
    .sa-benefits-grid {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }
}

/* ---- Card ---- */
.sa-benefit-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    padding: 20px 20px 20px;
    background: #FAE8E8;
    border-radius: 4px;
    text-decoration: none !important;
    overflow: hidden;
    height: 212px;
    transition: background 0.25s ease, transform 0.25s ease;
    cursor: pointer;
}

.sa-benefit-card:hover {
    background: #F5D5D5;
    transform: translateY(-2px);
    text-decoration: none !important;
}

/* ---- Arrow button (top-right) ---- */
.sa-benefit-arrow {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
    background: #fff;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--sa-pink, #D94B7A);
    flex-shrink: 0;
    transition: background 0.2s ease, color 0.2s ease;
}

.sa-benefit-card:hover .sa-benefit-arrow {
    background: var(--sa-pink, #D94B7A);
    color: #fff;
}

/* ---- Icon area ---- */
.sa-benefit-card .rm-advantages-item-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    width: 100%;
    margin: 0;
}

.sa-benefit-card .rm-advantages-item-icon i {
    font-size: 52px;
    color: var(--sa-pink, #D94B7A);
}

.sa-benefit-card .rm-advantages-item-custom-icon {
    max-height: 90px;
    max-width: 130px;
    width: auto;
    height: auto;
    object-fit: contain;
}

/* ---- Text area ---- */
.sa-benefit-texts {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 2px;
    width: 100%;
}

.sa-benefit-card .rm-advantages-item-title {
    display: block;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: #1A1A1A;
    line-height: 1.35;
    margin: 0;
    text-decoration: none;
}

.sa-benefit-card .rm-advantages-item-text {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    color: #1A1A1A;
    line-height: 1.35;
    margin: 0;
}

/* Override old module defaults that may conflict */
.sa-benefit-card span:hover {
    text-decoration: none !important;
}

.sa-benefit-card:hover .rm-advantages-item-title,
.sa-benefit-card:hover .rm-advantages-item-text {
    text-decoration: none !important;
}

/* ================================================================
   SA PRODUCT CARDS (GLOBAL REDESIGN)
   ================================================================ */

/* Card container */
.rm-module-item {
    border: none !important;
    background: #fff;
    padding: 15px;
    text-align: center;
    box-shadow: none !important;
    transition: transform 0.25s ease;
    height: 100%;
}

.rm-module-item:hover {
    box-shadow: none !important;
}

/* Hide action buttons to match design */
.rm-module-item .rm-module-buttons,
.rm-module-item .rm-cart-btn {
    display: none !important;
}

/* Image */
.rm-module-item .rm-module-img {
    display: flex;
    justify-content: center;
    margin-bottom: 12px;
    padding: 0;
}

.rm-module-item .rm-module-img img {
    margin: 0 auto;
}

/* Rating */
.rm-module-item .rm-module-rating {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 8px;
}

.rm-module-item .rm-module-rating-stars {
    display: flex !important;
    align-items: center !important;
    justify-content: center;
    gap: 2px;
}

/* Зірки через Unicode — гарантовано працює в усіх браузерах */
.rm-module-item .rm-module-rating-star {
    display: inline-block !important;
    width: 18px !important;
    height: 18px !important;
    background: none !important;
    -webkit-mask: none !important;
    mask: none !important;
    font-size: 0 !important;
    position: relative !important;
}

.rm-module-item .rm-module-rating-star::before {
    content: '\2605' !important;
    /* ★ Unicode star */
    font-size: 18px !important;
    line-height: 1 !important;
    color: #FCDCE1 !important;
    /* empty star — light pink */
    display: block !important;
    font-style: normal !important;
    font-family: Arial, sans-serif !important;
}

.rm-module-item .rm-module-rating-star-is::before {
    color: #E08090 !important;
    /* filled star — deeper pink */
}

/* Title */
.rm-module-item .rm-module-title {
    margin-bottom: 8px;
}

.rm-module-item .rm-module-title a {
    text-transform: uppercase;
    font-weight: 700;
    color: #1A1A1A;
    font-size: 14px;
    line-height: 1.4;
    text-decoration: none;
    letter-spacing: 0.5px;
}

.rm-module-item .rm-module-title a:hover {
    color: #1A1A1A;
}

/* Price Box */
.rm-module-item .rm-module-price-box {
    display: flex;
    justify-content: center !important;
    align-items: baseline !important;
    flex-direction: row !important;
    gap: 12px;
    margin-top: auto;
}

.rm-module-item .rm-module-price-top,
.rm-module-item .rm-module-price-bottom {
    margin: 0 !important;
    justify-content: center !important;
    flex-direction: row !important;
    align-items: baseline !important;
}

.rm-module-item .rm-module-price-old {
    font-size: 16px;
    color: #888;
    text-decoration: line-through;
    font-weight: 500;
}

.rm-module-item .rm-module-price {
    font-size: 26px;
    color: #FF3B7C;
    /* Bright pink from screenshot */
    font-weight: 700;
}

/* Hide reviews count */
.rm-module-item .rm-module-reviews {
    display: none !important;
}

/* Hide other elements not in design */
.rm-module-item .rm-module-stock,
.rm-module-item .rm-category-product-model,
.rm-module-item .rm-module-attr,
.rm-module-item .rm-module-description,
.rm-module-item .rm-module-stickers,
.rm-module-item .rm-module-quantity {
    display: none !important;
}

/* ================================================================
   SA PAGINATION & SHOW MORE (GLOBAL REDESIGN)
   ================================================================ */

/* Show More Button */
.oct-load-more {
    margin-bottom: 30px;
}

.oct-load-more-button.rm-btn.dark {
    background: transparent !important;
    border: none !important;
    color: #000 !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    padding: 10px 20px;
    box-shadow: none !important;
}

.oct-load-more-button .rm-btn-text {
    color: #000 !important;
}

.oct-load-more-button:hover,
.oct-load-more-button:hover .rm-btn-text {
    background: transparent !important;
    color: #000 !important;
}

.oct-load-more-button .rm-btn-icon img {
    display: none !important;
    /* Hide original img */
}

.oct-load-more-button .rm-btn-icon::before {
    content: '';
    display: inline-block;
    width: 28px;
    height: 28px;
    background-color: #F5C5D1;
    /* Pink icon color */
    -webkit-mask: url("../img/sprite.svg#include--show-more-icon") no-repeat center / contain;
    mask: url("../img/sprite.svg#include--show-more-icon") no-repeat center / contain;
    vertical-align: middle;
    margin-right: 10px;
}

/* Pagination */
.pagination {
    margin: 30px 0 50px 0 !important;
    padding: 0 !important;
    gap: 12px;
}

.pagination li {
    margin: 0 !important;
}

.pagination li a,
.pagination li span {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    padding: 0 !important;
    background-color: #fff !important;
    border: 1px solid #EAEAEA !important;
    border-radius: 4px !important;
    color: #000 !important;
    font-weight: 500;
    font-size: 16px;
    line-height: 1;
}

.pagination li.active span {
    background-color: #F5C5D1 !important;
    /* Pink active state */
    border-color: #F5C5D1 !important;
    color: #000 !important;
}

.pagination li:hover a {
    background-color: #FAF0F2 !important;
    border-color: #F5C5D1 !important;
    color: #000 !important;
}

/* Category Expand Button */
#oct-rm-category-more {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    height: auto !important;
    display: inline-block !important;
}

#oct-rm-category-more .rm-btn-text {
    color: #000 !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    border-bottom: 1px solid #000 !important;
    padding-bottom: 2px !important;
    text-transform: none !important;
}

#oct-rm-category-more:hover .rm-btn-text {
    border-bottom-color: transparent !important;
    color: #000 !important;
}

/* ================================================================
   SA BREADCRUMBS & SUBCATEGORIES
   ================================================================ */

/* Breadcrumbs */
.rm-breadcrumb {
    background: transparent !important;
    padding: 20px 0 10px 0 !important;
    margin: 0 !important;
    justify-content: flex-start !important;
    border: none !important;
}

.rm-breadcrumb-item {
    font-size: 14px;
    color: #1A1A1A;
    text-transform: none;
    font-weight: 400;
}

.rm-breadcrumb-item:first-child {
    width: auto;
    height: auto;
}

.rm-breadcrumb-item:first-child>* {
    width: auto;
    height: auto;
}

.rm-breadcrumb-item a {
    color: #1A1A1A;
    text-decoration: none;
}

.rm-breadcrumb-item a:hover {
    color: #FF3B7C;
}

.rm-breadcrumb-item+.rm-breadcrumb-item::before {
    content: "/" !important;
    color: #1A1A1A !important;
}

/* Page Title (heading_title) */
.rm-page-title h1 {
    font-size: 32px;
    font-weight: 400;
    text-transform: uppercase;
    color: #000;
    /* margin-bottom: 30px; */
    margin-top: 20px;
}

/* Subcategories Grid */
.rm-subcategory {
    margin-bottom: 20px;
}

.rm-category-wall-item {
    margin-bottom: 20px;
    background: none !important;
}

.rm-category-wall-item a {
    text-decoration: none !important;
}

.rm-category-wall-item-image {
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid #F5C5D1;
    /* Thicker pink border */
    margin-bottom: 12px;
    width: 100%;
    height: 133px;
    /* Fixed height requested */
    overflow: hidden;
    transition: border-color 0.25s ease;
}

.rm-category-wall-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.rm-category-wall-item:hover .rm-category-wall-item-image {
    border-color: rgb(212, 67, 106);
}

.rm-category-wall-item-title {
    color: #000;
    font-size: 14px;
    font-weight: 500;
}

/* ================================================================
   SA DAY DISCOUNTS BLOCK
   ================================================================ */

.rm-day-discounts {
    background-color: #FFF0EF !important;
    padding: 30px 20px 48px 20px !important;
    border-radius: 8px;
}

.rm-day-discounts-header {
    font-size: 24px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    color: #000000 !important;
    margin-bottom: 20px !important;
    letter-spacing: 0.5px;
}

.rm-day-discounts-timer {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 30px !important;
}

.rm-day-discounts-timer-text {
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    color: #000000 !important;
    margin-right: 15px !important;
}

.rm-day-discounts-timer-inner {
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    gap: 10px;
}

.rm-day-discounts-timer-delimiter {
    display: none !important;
}

.rm-day-discounts-timer-number {
    width: 40px !important;
    height: 40px !important;
    line-height: 38px !important;
    background: #FFFFFF !important;
    border: 1px solid #F5C5D1 !important;
    color: rgb(212, 67, 106) !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    text-align: center !important;
    display: inline-block !important;
}

.rm-day-discounts-item {
    background: transparent !important;
}

.rm-day-discounts-item-img {
    background: transparent !important;
}

.rm-day-discounts-item-img img {
    border-radius: 4px;
}

.rm-day-discounts-item-sticker {
    display: none !important;
}

.rm-day-discounts-item-info {
    text-align: center !important;
}

.rm-day-discounts-item-info .rm-module-rating {
    justify-content: center !important;
    margin: 15px 0 10px 0 !important;
}

.rm-day-discounts-item-info .rm-module-reviews {
    display: none !important;
}

.rm-day-discounts-item-info .rm-module-rating-star-is {
    background-color: rgb(212, 67, 106) !important;
}

.rm-day-discounts-item-title {
    font-size: 14px !important;
    line-height: 20px !important;
    text-transform: uppercase !important;
    text-align: center !important;
    margin: 10px 0 !important;
    height: auto !important;
}

.rm-day-discounts-item-title a {
    color: #000000 !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}

.rm-day-discounts-item-title a:hover {
    color: rgb(212, 67, 106) !important;
}

.rm-day-discounts-item .rm-module-price-box {
    margin-top: 15px !important;
}

.rm-day-discounts-item .rm-module-price-old {
    display: none !important;
}

.rm-day-discounts-item .rm-module-price-bottom {
    justify-content: center !important;
    display: block !important;
}

.rm-day-discounts-item .rm-module-price {
    font-size: 24px !important;
    font-weight: 600 !important;
    color: rgb(212, 67, 106) !important;
    display: block !important;
    text-align: center !important;
}

.rm-day-discounts-item .rm-cart-btn {
    display: none !important;
}

/* Slick Slider Overrides for Product Modules */
.slick-slider .rm-module-col {
    flex: none !important;
    max-width: none !important;
}

/* Homepage Product Module Headers Styling */
.rm-module-header {
    text-align: center !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
    color: #000000 !important;
    margin-bottom: 30px !important;
    margin-top: 30px !important;
}

.rm-module-header span {
    border-bottom: none !important;
    padding-bottom: 0 !important;
    display: inline-block !important;
}

.rm-module-header a {
    color: #000000 !important;
    text-decoration: none !important;
}

.rm-module-header a:hover {
    color: rgb(212, 67, 106) !important;
}

/* Custom Navigation Arrows for Homepage Product Sliders (< — >) */
.rm-module .slick-slider {
    padding-bottom: 50px !important;
}

.rm-module .slick-arrow {
    position: absolute !important;
    bottom: 10px !important;
    top: auto !important;
    background: transparent !important;
    border: none !important;
    width: 24px !important;
    height: 24px !important;
    padding: 0 !important;
    line-height: 24px !important;
    font-size: 0 !important;
    cursor: pointer;
    transition: opacity 0.25s ease;
}

.rm-module .slick-arrow:hover {
    opacity: 0.7;
}

.rm-module .slick-prev {
    left: calc(50% - 40px) !important;
}

.rm-module .slick-prev::before {
    content: '' !important;
    display: block;
    width: 12px;
    height: 12px;
    border-left: 2px solid #F6C6D2;
    border-top: 2px solid #F6C6D2;
    transform: rotate(-45deg);
    margin: 6px auto 0 auto;
}

.rm-module .slick-next {
    right: auto !important;
    left: calc(50% + 20px) !important;
}

.rm-module .slick-next::before {
    content: '' !important;
    display: block;
    width: 12px;
    height: 12px;
    border-right: 2px solid #F6C6D2;
    border-top: 2px solid #F6C6D2;
    transform: rotate(45deg);
    margin: 6px auto 0 auto;
}

.rm-module .slick-slider::after {
    content: '';
    position: absolute;
    bottom: 21px;
    left: calc(50% - 10px);
    width: 20px;
    height: 2px;
    background-color: #F6C6D2;
    z-index: 3;
}

.rm-module-item .rm-module-price {
    font-size: 20px !important;
    font-weight: 300 !important;
}

/* Global Website Background */
body {
    background-color: #FFFFFF !important;
}

/* Uniform White Background for all Product Cards and Images */
.rm-module-item,
.product-layout,
.product-grid,
.ocs-article-item,
.rm-category-wall-item-image {
    background-color: #FFFFFF !important;
}

.rm-module-item {
    padding: 0 !important;
}

.rm-module-item .rm-module-title a {
    font-weight: 300 !important;
    font-size: 14px !important;
    text-decoration: none !important;
    letter-spacing: normal !important;
}

/* Inline and Centered Old / Special Prices (Top-aligned) */
.rm-module-item .rm-module-price-box,
.rm-module-price-box {
    display: flex !important;
    flex-wrap: wrap !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: flex-start !important;
    /* Top-aligned old price */
    gap: 8px !important;
    margin-top: 10px !important;
    width: 100% !important;
}

.rm-module-item .rm-module-price-top,
.rm-module-price-top {
    display: inline-flex !important;
    align-items: flex-start !important;
    margin: 0 !important;
    padding: 0 !important;
    order: 1 !important;
    width: auto !important;
}

.rm-module-item .rm-module-price-bottom,
.rm-module-price-bottom {
    display: inline-flex !important;
    align-items: flex-start !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    order: 2 !important;
    justify-content: center !important;
}

.rm-module-item .rm-module-price-old,
.rm-module-price-old {
    font-size: 14px !important;
    color: #999999 !important;
    text-decoration: line-through !important;
    line-height: 1.2 !important;
    vertical-align: top !important;
    padding-right: 0 !important;
    margin-top: 2px !important;
    /* Push down slightly to line up nicely with the top of the price text */
}

.rm-module-item .rm-module-price,
.rm-module-price {
    font-size: 20px !important;
    font-weight: 300 !important;
    color: rgb(212, 67, 106) !important;
    display: inline-block !important;
    line-height: 1.0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Also make sure the old price is order: 1 and special price is order: 2 to place them old-then-new or new-then-old, let's look at the user screenshot. In the screenshot, old price is on the left (5000 грн) and new price is on the right (4200 грн). */
.rm-module-price-box .rm-module-price-top {
    order: 1 !important;
}

.rm-module-price-box .rm-module-price-bottom {
    order: 2 !important;
    flex-direction: row !important;
    justify-content: center !important;
}

/* Make sure the cart button does not stretch next to the price or break centering */
.rm-module-price-bottom .rm-btn {
    display: none !important;
}

}

/* ================================================================
   BANNER PLUS — FIGMA LAYOUT
   Картинка абсолютна, займає правий бік без обмежень по розміру
   ================================================================ */

/* Прибираємо артефакт від box-shadow і padding на > div */
.rm-banner-plus-item > div {
    box-shadow: none !important;
    padding: 0 !important;
}

/* Базовий контейнер банера */
.rm-banner-plus-item {
    overflow: hidden !important;
}

.rm-banner-plus-wrap {
    position: relative !important;
    overflow: hidden !important;
}

/* Текстовий блок — зліва, поверх картинки */
.rm-banner-plus-item-info {
    position: relative !important;
    z-index: 2 !important;
}

/* Картинка — абсолютна, на ВСЮ ширину, як фон */
.rm-banner-plus-item-img {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 1 !important;
    display: block !important;
    padding: 0 !important;
    /* Для <a> з background-image */
    background-size: cover !important;
    background-position: top center !important;
    background-repeat: no-repeat !important;
}

/* Якщо всередині є <img> тег */
.rm-banner-plus-item-img img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: top center !important;
    display: block !important;
    max-width: none !important;
    max-height: none !important;
}

/* Desktop (1200px+) */
@media (min-width: 1200px) {
    .rm-banner-plus .row.no-gutters {
        margin-left: -10px !important;
        margin-right: -10px !important;
        flex-wrap: nowrap !important;
    }

    .rm-banner-plus-item {
        padding-left: 10px !important;
        padding-right: 10px !important;
        height: 680px !important;
        min-height: 680px !important;
    }

    .rm-banner-plus-wrap {
        height: 100% !important;
        border-radius: 4px !important;
        box-shadow: none !important;
    }

    .rm-banner-plus-item-info {
        width: 42% !important;
        max-width: 42% !important;
        padding: 60px 0 60px 60px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        height: 100% !important;
    }

    .rm-banner-plus-item-title {
        font-size: 44px !important;
        font-weight: 700 !important;
        line-height: 1.1 !important;
        text-transform: uppercase !important;
        margin-bottom: 20px !important;
        letter-spacing: -0.5px !important;
        color: #1A1A1A !important;
    }

    .rm-banner-plus-item-text {
        font-size: 15px !important;
        line-height: 1.5 !important;
        margin-bottom: 32px !important;
        color: #1A1A1A !important;
    }

    .rm-banner-plus-item-img {
        left: 0 !important;
    }
}

/* Tablet (992px – 1199px) */
@media (min-width: 992px) and (max-width: 1199px) {
    .rm-banner-plus .row.no-gutters {
        margin-left: -10px !important;
        margin-right: -10px !important;
        flex-wrap: nowrap !important;
    }

    .rm-banner-plus-item {
        padding-left: 10px !important;
        padding-right: 10px !important;
        height: 580px !important;
        min-height: 580px !important;
    }

    .rm-banner-plus-wrap {
        height: 100% !important;
        border-radius: 4px !important;
        box-shadow: none !important;
    }

    .rm-banner-plus-item-info {
        width: 44% !important;
        max-width: 44% !important;
        padding: 50px 0 50px 40px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        height: 100% !important;
    }

    .rm-banner-plus-item-title {
        font-size: 32px !important;
        font-weight: 700 !important;
        line-height: 1.15 !important;
        text-transform: uppercase !important;
        margin-bottom: 16px !important;
        color: #1A1A1A !important;
    }

    .rm-banner-plus-item-text {
        font-size: 14px !important;
        line-height: 1.5 !important;
        margin-bottom: 28px !important;
        color: #1A1A1A !important;
    }

    .rm-banner-plus-item-img {
        left: 0 !important;
    }
}

/* Mobile (до 991px) */
@media (max-width: 991px) {
    .rm-banner-plus .row.no-gutters {
        display: block !important;
        margin: 0 !important;
    }

    .rm-banner-plus-item {
        height: 480px !important;
        min-height: 480px !important;
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        padding: 0 !important;
    }

    .rm-banner-plus-item:not(:last-child) {
        margin-bottom: 20px !important;
    }

    .rm-banner-plus-wrap {
        height: 100% !important;
        border-radius: 4px !important;
        box-shadow: none !important;
    }

    .rm-banner-plus-item-info {
        width: 55% !important;
        max-width: 55% !important;
        padding: 36px 0 36px 24px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        height: 100% !important;
    }

    .rm-banner-plus-item-title {
        font-size: 26px !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        text-transform: uppercase !important;
        margin-bottom: 14px !important;
        color: #1A1A1A !important;
    }

    .rm-banner-plus-item-text {
        font-size: 13px !important;
        line-height: 1.45 !important;
        margin-bottom: 20px !important;
        color: #1A1A1A !important;
    }

    .rm-banner-plus-item-img {
        left: 0 !important;
    }
}

/* Кнопка — одразу після опису, не внизу */
.rm-banner-plus-item-btn {
    margin-top: 0 !important;
}

.rm-banner-plus-item-btn .rm-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 32px !important;
    height: 55px !important;
    line-height: 55px !important;
    white-space: nowrap !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    border-radius: 3px !important;
    border: none !important;
    background-color: #FCDCE1 !important;
    color: #1A1A1A !important;
    transition: background-color 0.2s ease !important;
}

.rm-banner-plus-item-btn .rm-btn:hover,
.rm-banner-plus-item:hover .rm-banner-plus-item-btn .rm-btn {
    background-color: #F5B8C2 !important;
    color: #1A1A1A !important;
}

/* Правий банер — текст і кнопка по низу */
.rm-banner-plus-item:nth-child(2) .rm-banner-plus-item-info {
    justify-content: flex-end !important;
}

/* ================================================================
   MOBILE PRODUCT CARDS — Новинки і Бестселлери
   ================================================================ */
@media (max-width: 767px) {

    /* Картка — вертикальна колонка, не горизонтальний рядок */
    .rm-module-item {
        flex-direction: column !important;
        padding: 12px !important;
    }

    /* Зображення — на всю ширину зверху */
    .rm-module-item .rm-module-img {
        flex-direction: column !important;
        width: 100% !important;
        margin-bottom: 10px !important;
    }

    /* Кнопки wishlist/compare — приховати на мобільному */
    .rm-module-item .rm-module-buttons {
        display: none !important;
    }

    /* Зірочки — показати, скинути order */
    .rm-module-rating {
        display: flex !important;
        order: 0 !important;
        justify-content: center !important;
        margin-bottom: 6px !important;
    }

    .rm-module-rating-stars {
        display: flex !important;
    }

    .rm-module-rating-star {
        display: inline-block !important;
        width: 16px !important;
        height: 16px !important;
    }

    /* Caption блок — нормальний потік */
    .rm-module-item .rm-module-caption {
        width: 100% !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
    }

    /* Назва товару — без примусових переносів */
    .rm-module-item .rm-module-title a {
        font-size: 12px !important;
        display: block !important;
        line-height: 1.3 !important;
        overflow: hidden !important;
    }

    /* Ціна — не переносити */
    .rm-module-item .rm-module-price-box {
        flex-direction: column !important;
        align-items: center !important;
    }

    .rm-module-item .rm-module-price,
    .rm-module-price {
        font-size: 16px !important;
        white-space: nowrap !important;
    }

    /* Кошик у ціновому блоці — приховати на мобільному */
    .rm-module-item .rm-cart-btn,
    .rm-module-item .rm-cat-button-cart {
        display: none !important;
    }

    /* Зображення товару — обмежити висоту */
    .rm-module-item .rm-module-img img {
        max-height: 160px !important;
        width: auto !important;
        max-width: 100% !important;
        object-fit: contain !important;
        margin: 0 auto !important;
        display: block !important;
    }
}

/* Перекриваємо правило теми що ховає зірки в width-infinity модулях */
/* (Новинки використовують show_type=width-infinity) */
.rm-module-col[data-width='width-infinity'] .rm-module-rating {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

@media (max-width: 767px) {
    .rm-module-col[data-width='width-infinity'] .rm-module-rating {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        order: 0 !important;
    }
}

/* ----------------------------------------------------------------
   MOBILE MENU SIDEBAR CUSTOM HEADER
   ---------------------------------------------------------------- */

/* Close SVG icon default state (hidden) */
.rm-sidebar-title-close .sa-close-svg {
    display: none;
}

/* Brand title default state (hidden) */
.rm-sidebar-brand-title {
    display: none;
}

/* Actions default state (hidden) */
.rm-sidebar-actions {
    display: none;
}

/* Specific styling for the main mobile menu header when mobile menu is active inside */
#rm_sidebar:has([class^="rm_mobile_menu_"]) .rm-sidebar-title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 16px !important;
    height: 64px !important;
    background: #FFFFFF !important;
    border-bottom: 1px solid #F0F0F0 !important;
    position: relative !important;
}

/* Hide default title text in mobile menu */
#rm_sidebar:has([class^="rm_mobile_menu_"]) .rm-sidebar-title-text {
    display: none !important;
}

/* Show brand logo / title in mobile menu */
#rm_sidebar:has([class^="rm_mobile_menu_"]) .rm-sidebar-brand-title {
    display: block !important;
    text-align: center;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
}

#rm_sidebar:has([class^="rm_mobile_menu_"]) .rm-sidebar-brand-title a {
    font-family: var(--sa-font-serif);
    font-size: 24px;
    font-weight: 400;
    letter-spacing: 2px;
    color: var(--sa-black);
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
}

/* Position and style close button in mobile menu */
#rm_sidebar:has([class^="rm_mobile_menu_"]) .rm-sidebar-title-close.modal-close {
    width: 44px !important;
    height: 44px !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    position: relative !important;
    cursor: pointer !important;
    z-index: 2;
    transform: none !important;
}

#rm_sidebar:has([class^="rm_mobile_menu_"]) .rm-sidebar-title-close.modal-close .modal-close-icon {
    display: none !important;
}

#rm_sidebar:has([class^="rm_mobile_menu_"]) .rm-sidebar-title-close.modal-close .sa-close-svg {
    display: block !important;
    color: var(--sa-black);
    width: 24px;
    height: 24px;
    transform: none !important;
}

/* Show and style action buttons (search + cart) in mobile menu */
#rm_sidebar:has([class^="rm_mobile_menu_"]) .rm-sidebar-actions {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-left: auto !important;
    z-index: 2;
}

#rm_sidebar:has([class^="rm_mobile_menu_"]) .rm-sidebar-action-btn {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    color: var(--sa-black);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 36px;
    height: 36px;
}

#rm_sidebar:has([class^="rm_mobile_menu_"]) .rm-sidebar-action-btn svg {
    width: 22px;
    height: 22px;
    color: var(--sa-black);
    stroke-width: 1.5;
}

#rm_sidebar:has([class^="rm_mobile_menu_"]) .rm-sidebar-action-btn .sa-mobile-cart-badge {
    position: absolute;
    top: -2px;
    right: -2px;
    min-width: 16px;
    height: 16px;
    line-height: 16px;
    border-radius: 50%;
    background: var(--sa-pink-1);
    color: var(--sa-black);
    font-size: 10px;
    font-weight: 600;
    text-align: center;
    display: none;
}