/* ReadNBook Creator ? storefront polish layer (loads after modern-store.css) */
:root {
    --rn-ink: #1a1714;
    --rn-muted: #6b635a;
    --rn-brand: #e0a100;
    --rn-brand-dark: #b88200;
    --rn-brand-soft: #fff6df;
    --rn-surface: #fffdf9;
    --rn-soft: #f4f0ea;
    --rn-border: #e5dfd4;
    --rn-success: #1f6b45;
    --rn-danger: #b42318;
    --rn-radius: 14px;
    --rn-shadow: 0 14px 40px rgba(26, 23, 20, .08);
    --rn-font: "Manrope", "Segoe UI", sans-serif;
    --rn-display: "Fraunces", Georgia, "Times New Roman", serif;
}

html { scroll-behavior: smooth; }

body.common-home,
body {
    color: var(--rn-ink);
    background: var(--rn-surface);
    font-family: var(--rn-font);
    font-size: 15px;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4,
#content .module h3.modtitle,
#content .module h4.modtitle,
.so-category-slider .page-title-categoryslider,
.rn-hero-fallback__title {
    font-family: var(--rn-display);
    letter-spacing: -.02em;
}

a { color: var(--rn-ink); }
a:hover, a:focus { color: var(--rn-brand-dark); text-decoration: none; }

.container {
    max-width: 1240px;
    width: auto;
}

/* ---------- Header ---------- */
header.typeheader-2 {
    background: #fff;
    border-bottom: 0;
}
header.typeheader-2 .header-top {
    background: #1a1714 !important;
    border-bottom: 0 !important;
    color: rgba(255,253,249,.78) !important;
    padding: 8px 0;
}
header.typeheader-2 .header-top a,
header.typeheader-2 .header-top .welcome-msg,
header.typeheader-2 .header-top .telephone {
    color: inherit;
}
.rn-top-welcome {
    color: #fff !important;
    font-weight: 600;
    font-size: 13px;
}
.rn-top-welcome b { color: var(--rn-brand); font-weight: 700; }
.rn-top-contact {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px 22px;
    justify-content: flex-end;
    font-size: 12.5px;
}
.rn-top-contact i { color: var(--rn-brand); margin-right: 5px; }
.rn-top-contact strong {
    color: var(--rn-brand) !important;
    font-weight: 700;
    letter-spacing: .02em;
}

header.typeheader-2 .header-middle {
    padding: 18px 0;
    background: #fff;
}
header.typeheader-2 .header-middle .row {
    display: flex;
    align-items: center;
}
header.typeheader-2 .navbar-logo,
header.typeheader-2 .middle2,
header.typeheader-2 .middle3 {
    float: none;
}
header.typeheader-2 .navbar-logo .logo img {
    max-height: 56px;
    width: auto;
    border-radius: 10px;
    box-shadow: 0 4px 14px rgba(26,23,20,.08);
}
header.typeheader-2 .middle3 {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 18px;
    min-width: 260px;
}
header.typeheader-2 .login-w {
    margin: 0;
    padding: 0 !important;
    list-style: none;
    text-align: left;
    line-height: 1.25;
    min-width: 118px;
}
header.typeheader-2 .login-w li:first-child {
    color: var(--rn-muted);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
}
header.typeheader-2 .login-w .logout a {
    font-weight: 700;
    font-size: 14px;
}

/* Search */
#sosearchpro .search.input-group {
    display: flex;
    align-items: stretch;
    height: 52px;
    border: 1.5px solid var(--rn-border);
    border-radius: 999px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 6px 18px rgba(26,23,20,.04);
}
#sosearchpro .select_category {
    min-width: 150px;
    max-width: 170px;
    border-right: 1px solid var(--rn-border);
    background: #faf7f2;
}
#sosearchpro .select_category select,
#sosearchpro .autosearch-input {
    height: 52px !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    font-family: var(--rn-font);
}
#sosearchpro .autosearch-input {
    flex: 1 1 auto;
    padding-left: 18px;
    font-size: 14px;
}
#sosearchpro .button-search {
    min-width: 118px;
    height: 52px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--rn-brand) !important;
    color: #1a1714 !important;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    box-shadow: none !important;
}
#sosearchpro .button-search:hover {
    background: var(--rn-brand-dark) !important;
    color: #fff !important;
}

.shopping_cart .items_cart {
    background: var(--rn-ink) !important;
}
.shopping_cart .icon-c {
    background: var(--rn-brand-soft) !important;
    border-color: rgba(224,161,0,.35) !important;
}
.shopping_cart .shopcart:hover {
    background: var(--rn-brand-soft);
    border-color: rgba(224,161,0,.45);
}

/* Bottom nav */
header.typeheader-2 .header-bottom {
    position: sticky;
    top: 0;
    z-index: 900;
    background: #fff;
    border-top: 1px solid var(--rn-border);
    border-bottom: 1px solid var(--rn-border);
    box-shadow: 0 8px 20px rgba(26,23,20,.05);
}
header.typeheader-2 .header-bottom .container > .row {
    display: flex;
    align-items: stretch;
}
header.typeheader-2 .container-megamenu.vertical .navbar-header,
header.typeheader-2 .container-megamenu.vertical #menuHeading .megamenuToogle-pattern .container {
    background: var(--rn-brand) !important;
    color: #1a1714 !important;
    border-radius: 10px 10px 0 0;
    min-height: 48px;
    display: flex;
    align-items: center;
    font-weight: 800;
}
header.typeheader-2 .megamenu-style-dev .horizontal ul.megamenu > li {
    display: flex;
    align-items: center;
}
header.typeheader-2 .megamenu-style-dev .horizontal ul.megamenu > li > a {
    font-family: var(--rn-font);
    font-weight: 700;
    font-size: 12px;
    letter-spacing: .02em;
    text-transform: uppercase;
    color: var(--rn-ink) !important;
    padding-top: 8px;
    padding-bottom: 8px;
}
header.typeheader-2 .megamenu-style-dev .horizontal ul.megamenu > li > a:hover,
header.typeheader-2 .megamenu-style-dev .horizontal ul.megamenu > li.active > a,
header.typeheader-2 .megamenu-style-dev .horizontal ul.megamenu > li.home > a {
    color: var(--rn-brand-dark) !important;
}

/* ---------- Hero ---------- */
.main-container #content {
    background: linear-gradient(180deg, #fffdf9 0%, #f7f3ec 220px, #fffdf9 520px);
}
.rn-hero-grid {
    margin-top: 22px;
    margin-bottom: 8px;
}
.rn-hero-grid > [class*="col-"] {
    margin-bottom: 16px;
}
.module.sohomepage-slider.rn-home-slider,
.rn-home-slider {
    position: relative;
    overflow: hidden;
    border-radius: 18px !important;
    border: 1px solid var(--rn-border) !important;
    background: #1a1714 !important;
    box-shadow: var(--rn-shadow);
}
.module.sohomepage-slider.rn-home-slider .loadeding {
    display: none !important;
}
.rn-home-slider .yt-content-slider {
    margin: 0;
}
.rn-home-slider .yt-content-slide a {
    display: block;
    line-height: 0;
}
.rn-home-slider img {
    width: 100%;
    height: auto;
    max-height: 420px;
    min-height: 0 !important;
    object-fit: cover;
    background: #1a1714;
}
.rn-hero-fallback {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 14px;
    min-height: 340px;
    padding: 36px 40px;
    color: #fffdf9;
    background:
        radial-gradient(circle at 18% 20%, rgba(224,161,0,.22), transparent 42%),
        linear-gradient(145deg, #2a241c 0%, #1a1714 55%, #3a2f22 100%);
}
.rn-hero-fallback__eyebrow {
    display: inline-flex;
    align-self: flex-start;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(224,161,0,.18);
    color: var(--rn-brand);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.rn-hero-fallback__title {
    margin: 0;
    max-width: 14ch;
    font-size: clamp(28px, 4vw, 44px);
    line-height: 1.1;
    font-weight: 700;
    color: #fff;
}
.rn-hero-fallback__text {
    margin: 0;
    max-width: 38ch;
    color: rgba(255,253,249,.78);
    font-size: 15px;
}
.rn-hero-fallback__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 6px;
}
.rn-hero-fallback__actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 18px;
    border-radius: 999px;
    font-weight: 800;
}
.rn-hero-fallback__actions .rn-btn-primary {
    background: var(--rn-brand) !important;
    color: #1a1714 !important;
}
.rn-hero-fallback__actions .rn-btn-ghost {
    border: 1px solid rgba(255,253,249,.28) !important;
    color: #fff !important;
    background: transparent !important;
}
.rn-hero-fallback__actions a:hover { opacity: .92; color: inherit; }

.rn-side-banners .row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -6px;
    margin-right: -6px;
    height: 100%;
}
.rn-side-banners [class*="col-"] {
    padding-left: 6px;
    padding-right: 6px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.rn-side-banners a {
    position: relative;
    flex: 1 1 0;
    display: block;
    margin-bottom: 0 !important;
    overflow: hidden;
    border-radius: 14px;
    border: 1px solid var(--rn-border);
    background: #fff;
    box-shadow: 0 8px 22px rgba(26,23,20,.06);
    min-height: 150px;
}
.rn-side-banners img {
    width: 100%;
    height: 100%;
    min-height: 150px;
    object-fit: cover;
    transition: transform .28s ease;
}
.rn-side-banners a:hover img { transform: scale(1.04); }

.rn-promo-banner {
    margin: 10px 0 28px;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid var(--rn-border);
    box-shadow: 0 10px 28px rgba(26,23,20,.06);
}
.rn-promo-banner img {
    width: 100%;
    display: block;
}

/* Section titles */
#content .module h3.modtitle,
#content .module h4.modtitle,
.so-category-slider .page-title-categoryslider {
    margin: 28px 0 16px;
    padding: 0 0 12px;
    font-size: 28px;
    font-weight: 700;
    color: var(--rn-ink);
    text-transform: none;
    border: 0;
}
#content .module h3.modtitle:after,
#content .module h4.modtitle:after,
.so-category-slider .page-title-categoryslider:after {
    width: 56px;
    height: 3px;
    background: var(--rn-brand);
}
.so-category-slider .page-title-categoryslider a {
    color: inherit !important;
}

.rn-category-strip,
.so-category-slider.cate-slider1,
.rn-product-section {
    margin: 8px 0 28px;
}
.rn-category-strip {
    padding: 20px;
    border-radius: 18px;
    border: 1px solid var(--rn-border);
    background: #fff;
    box-shadow: 0 8px 24px rgba(26,23,20,.04);
}
.rn-product-section,
.so-category-slider.cate-slider1 {
    padding: 8px 4px 18px;
    border-radius: 18px;
}

/* Book covers */
.product-layout .product-item-container {
    border-radius: 14px !important;
    border-color: var(--rn-border) !important;
    background: #fff;
    box-shadow: 0 6px 18px rgba(26,23,20,.04);
}
.product-layout .product-item-container:hover {
    box-shadow: var(--rn-shadow);
    border-color: #d9d0c3 !important;
}
.product-layout .left-block {
    background: linear-gradient(180deg, #f7f3ec, #efe8dc) !important;
    padding: 14px 14px 8px;
}
.product-layout .product-image-container {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 2 / 3;
    max-height: 260px;
    margin: 0 auto;
}
.product-layout .product-image-container img,
.rn-book-cover {
    width: auto !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: 240px !important;
    object-fit: contain !important;
    border-radius: 4px;
    box-shadow: 0 10px 24px rgba(26,23,20,.16);
}
.product-layout .caption h4,
.product-layout .caption h4 a {
    font-family: var(--rn-font);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
}
.product-layout .price-new span[itemprop="price"] {
    font-size: 17px;
    font-weight: 800;
}
.product-layout .addToCart {
    width: 100%;
    margin-top: auto;
    border: 0 !important;
    border-radius: 10px !important;
    background: var(--rn-ink) !important;
    color: #fff !important;
    font-weight: 700;
}
.product-layout .addToCart:hover {
    background: var(--rn-brand-dark) !important;
    color: #fff !important;
}
.label-sale {
    background: var(--rn-danger) !important;
}
.label-new {
    background: var(--rn-success) !important;
}

/* Footer */
footer.typefooter-2,
footer {
    margin-top: 48px;
    background: #1a1714;
    color: rgba(255,253,249,.78);
}
footer a { color: rgba(255,253,249,.86); }
footer a:hover { color: var(--rn-brand); }
.rn-footer-band {
    padding: 18px 0 8px;
    border-top: 1px solid rgba(255,253,249,.08);
    text-align: center;
}
.rn-footer-band__tag {
    display: inline-block;
    margin: 0 0 12px;
    padding: 10px 18px;
    border-radius: 999px;
    background: rgba(224,161,0,.14);
    color: var(--rn-brand);
    font-weight: 700;
    font-size: 14px;
}
.rn-footer-band__copy {
    max-width: 720px;
    margin: 0 auto 8px;
    color: rgba(255,253,249,.65);
    font-size: 14px;
    line-height: 1.6;
}
.footer-bottom,
.copyright-w {
    background: #120f0d !important;
}
.footer-bottom .copyright,
.footer-bottom .copyright a span {
    color: rgba(255,253,249,.7) !important;
}
#bottomlinks li a { color: rgba(255,253,249,.8) !important; }

/* WhatsApp */
.float {
    position: fixed;
    width: 56px;
    height: 56px;
    bottom: 28px;
    left: 24px;
    background: #25d366;
    color: #fff !important;
    border-radius: 50%;
    text-align: center;
    font-size: 28px;
    box-shadow: 0 10px 28px rgba(37,211,102,.35);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
}
.float .my-float { margin: 0; }

/* Buttons / forms global brand */
.btn-primary,
input.btn-primary {
    background: var(--rn-brand) !important;
    border-color: var(--rn-brand) !important;
    color: #1a1714 !important;
}
.btn-primary:hover {
    background: var(--rn-brand-dark) !important;
    border-color: var(--rn-brand-dark) !important;
    color: #fff !important;
}

@media (max-width: 991px) {
    header.typeheader-2 .header-middle .row,
    header.typeheader-2 .header-bottom .container > .row {
        display: block;
    }
    .rn-top-contact { justify-content: flex-start; margin-top: 6px; }
    .rn-hero-fallback { min-height: 280px; padding: 28px; }
    .rn-side-banners a { min-height: 130px; }
}

/* Release QA fixes: listing media, compact mobile actions and overflow safety. */
.rn-mobile-account {
    display: none;
}

.rn-mobile-quick-actions {
    display: none;
}

.rn-listing-banner {
    width: 100%;
    height: 220px;
    overflow: hidden;
    border-radius: 12px;
    background: #f4f0e8;
}

.rn-listing-banner img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rn-listing-banner--fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: #9b7000;
    font-size: 22px;
    font-weight: 700;
}

@media (min-width: 992px) {
    .rn-home-slider img {
        object-fit: contain !important;
        background: #191511 !important;
    }
}

@media (max-width: 991px) {
    header.typeheader-2 .header-middle .container {
        position: relative !important;
    }

    .rn-mobile-quick-actions {
        position: absolute;
        top: 10px;
        right: 15px;
        z-index: 20;
        display: flex;
        gap: 8px;
    }

    .rn-mobile-quick-actions a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: #f5b400;
        color: #222 !important;
        font-size: 17px;
    }

    header.typeheader-2 .middle3 {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 8px !important;
    }

    .rn-mobile-account {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: #f5b400;
        color: #222 !important;
        font-size: 17px;
    }
}

@media (max-width: 767px) {
    .rn-listing-banner {
        height: 130px;
        border-radius: 9px;
    }

    .rn-listing-banner--fallback {
        font-size: 17px;
    }

    .rn-listing-page,
    .rn-product-grid,
    .products-list.rn-product-grid,
    .rn-product-grid > .product-layout,
    .rn-product-grid .product-item-container,
    .rn-product-detail,
    .rn-product-detail #content,
    .rn-product-detail .product-view,
    .rn-product-detail .content-product-left,
    .rn-product-detail .content-product-right {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .rn-product-grid,
    .products-list.rn-product-grid,
    .rn-product-detail > .row,
    .rn-product-detail .product-view.row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .rn-product-grid > .product-layout {
        float: none !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .rn-product-grid .caption,
    .rn-product-grid .caption a,
    .rn-product-detail h1,
    .rn-product-detail .breadcrumb {
        max-width: 100% !important;
        overflow-wrap: anywhere;
    }

    .rn-product-detail .breadcrumb {
        white-space: normal !important;
    }
}

/* Final alignment guard: category trigger and account navigation. */
@media (min-width: 992px) {
    header.typeheader-2 .container-megamenu.vertical #menuHeading,
    header.typeheader-2 .container-megamenu.vertical #menuHeading .megamenuToogle-wrapper,
    header.typeheader-2 .container-megamenu.vertical #menuHeading .megamenuToogle-pattern {
        height: 48px !important;
        min-height: 48px !important;
    }
    header.typeheader-2 .container-megamenu.vertical #menuHeading .megamenuToogle-pattern .container {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        height: 48px !important;
        min-height: 48px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        line-height: 1 !important;
    }
    header.typeheader-2 .container-megamenu.vertical #menuHeading .megamenuToogle-pattern .container > div {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        flex: 0 0 18px !important;
        gap: 3px !important;
        height: 18px !important;
        margin: 0 !important;
    }
    header.typeheader-2 .container-megamenu.vertical #menuHeading .megamenuToogle-pattern .container > a {
        display: flex !important;
        align-items: center !important;
        align-self: stretch !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 1.2 !important;
    }

    .rn-account-layout {
        display: flex;
        align-items: flex-start;
    }
    .rn-account-layout > #content {
        order: 2;
        float: none;
    }
    .rn-account-layout > #column-right {
        order: 1;
        float: none;
    }
}

/* Category carousel safety net: keep a usable tile grid until Owl initializes. */
.rn-category-strip .cat-wrap:not(.owl2-loaded) {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.rn-category-strip .cat-wrap:not(.owl2-loaded) > .content-box {
    min-width: 0;
    margin: 0 !important;
}
.rn-category-strip .image-cat img.image-fallback {
    box-sizing: border-box;
    padding: 18px !important;
    object-fit: contain !important;
    background: #f3efe8 !important;
}
.rn-category-strip .cat-title a {
    overflow-wrap: anywhere;
}
@media (max-width: 1649px) {
    .rn-category-strip .cat-wrap:not(.owl2-loaded) {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}
@media (max-width: 1199px) {
    .rn-category-strip .cat-wrap:not(.owl2-loaded) {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}
@media (max-width: 767px) {
    .rn-category-strip .cat-wrap:not(.owl2-loaded) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }
}
@media (max-width: 479px) {
    .rn-category-strip .cat-wrap:not(.owl2-loaded) {
        grid-template-columns: minmax(0, 1fr);
    }
}

.rn-account-layout #column-right .list-group {
    overflow: hidden;
    border: 1px solid var(--rn-border);
    border-radius: 12px;
    background: #fff;
}
.rn-account-layout #column-right .list-item {
    margin: 0;
    padding: 0;
}
.rn-account-layout #column-right .list-item > li {
    margin: 0;
    padding: 0;
    border-bottom: 1px solid var(--rn-border);
}
.rn-account-layout #column-right .list-item > li:last-child {
    border-bottom: 0;
}
.rn-account-layout #column-right .list-item > li > a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 10px 14px;
    color: var(--rn-ink);
    font-weight: 600;
}
.rn-account-layout #column-right .list-item > li > a.active {
    border-left: 4px solid var(--rn-brand);
    padding-left: 10px;
    background: var(--rn-brand-soft);
    color: var(--rn-ink) !important;
    font-weight: 800;
}

@media (max-width: 767px) {
    .rn-account-page {
        padding-left: 15px;
        padding-right: 15px;
    }
    .rn-account-layout > #content,
    .rn-account-content,
    .rn-account-content .col-sm-6 {
        width: 100% !important;
        float: none !important;
    }
    .rn-account-content .lead {
        font-size: 14px;
        line-height: 1.5;
    }
    .rn-account-content fieldset {
        min-width: 0;
    }
    .rn-account-content .buttons .pull-right {
        float: none !important;
    }
    .rn-account-content .buttons .btn {
        width: 100%;
        min-height: 44px;
    }
}

/* Keep the mobile category drawer above its body-level backdrop. */
@media (max-width: 991px) {
    html.rn-cats-open header#header.typeheader-2 {
        z-index: 10075 !important;
        pointer-events: none !important;
    }
    html.rn-cats-open header#header.typeheader-2 .vertical-wrapper.so-vertical-active {
        pointer-events: auto !important;
    }
    .vertical-wrapper .close-menu {
        touch-action: manipulation;
    }
    .vertical-wrapper ul.megamenu > li.item-vertical:before {
        display: none !important;
    }
    .vertical-wrapper ul.megamenu > li.item-vertical > .close-menu {
        display: block !important;
        position: absolute !important;
        top: 50% !important;
        right: 10px !important;
        z-index: 8 !important;
        width: 28px !important;
        height: 28px !important;
        margin: -14px 0 0 !important;
        padding: 0 !important;
        border: 1px solid #e5dfd4 !important;
        border-radius: 50% !important;
        background: #fff !important;
        cursor: pointer !important;
    }
    .vertical-wrapper ul.megamenu > li.item-vertical > .close-menu:before {
        content: "\f107" !important;
        display: block !important;
        font-family: FontAwesome !important;
        color: #6b645c !important;
        font-size: 14px !important;
        font-weight: 400 !important;
        line-height: 26px !important;
        text-align: center !important;
    }
    .vertical-wrapper ul.megamenu > li.item-vertical.active > .close-menu:before {
        content: "\f106" !important;
        color: #1a1714 !important;
    }
}
@media (max-width: 767px) {
    header.typeheader-2 .header-top { text-align: left; }
    #sosearchpro .search.input-group {
        height: auto;
        border-radius: 16px;
        flex-wrap: wrap;
    }
    #sosearchpro .select_category { display: none !important; }
    #sosearchpro .autosearch-input {
        height: 48px !important;
        min-height: 48px;
    }
    #sosearchpro .button-search {
        width: 100%;
        height: 46px !important;
        border-radius: 0 0 14px 14px !important;
    }
    .rn-hero-fallback__title { max-width: none; }
    .product-layout .product-image-container { max-height: 220px; }
}

/* Product detail polish */
.rn-product-detail .product-box-desc,
.product-view .product-box-desc,
.product-box-desc {
    border-left: 4px solid var(--rn-brand) !important;
    background: var(--rn-soft) !important;
    border-color: var(--rn-border) !important;
}
.rn-product-gallery {
    min-height: 0 !important;
    padding: 18px !important;
}
.rn-product-detail .title-product h1 {
    font-family: var(--rn-display);
    font-weight: 700;
}

/* Header account/cart overlap fix */
header.typeheader-2 .middle3 .login-w {
    max-width: 130px;
}
header.typeheader-2 .middle3 .shopping_cart {
    flex: 0 0 auto;
}
header.typeheader-2 .header-middle .middle2 {
    flex: 1 1 auto;
    min-width: 0;
}

/* Search button flush alignment */
#sosearchpro.so-search .search,
#sosearchpro .search {
    border-radius: 999px !important;
}
#sosearchpro .button-search span,
#sosearchpro .button-search i {
    vertical-align: middle;
}

/* WhatsApp: keep clear of sidebar */
.float {
    left: auto !important;
    right: 22px !important;
    bottom: 22px !important;
}

/* =========================================================
   Global spacing rhythm
   ========================================================= */
:root {
    --rn-space-1: 6px;
    --rn-space-2: 10px;
    --rn-space-3: 14px;
    --rn-space-4: 18px;
    --rn-space-5: 24px;
    --rn-space-6: 32px;
    --rn-space-7: 40px;
}

.main-container {
    padding-top: var(--rn-space-4);
    padding-bottom: var(--rn-space-6);
}
.main-container.container.rn-page,
.rn-page {
    padding-top: var(--rn-space-3);
}
.rn-breadcrumb.breadcrumb,
.breadcrumb.rn-breadcrumb,
ul.breadcrumb {
    margin: 0 0 var(--rn-space-4) !important;
    padding: 0 !important;
    background: transparent !important;
    font-size: 13px;
    color: var(--rn-muted);
}
.rn-breadcrumb > li + li:before,
.breadcrumb > li + li:before {
    color: #b7aea2;
    padding: 0 8px;
}
.rn-page-header {
    margin: 0 0 var(--rn-space-5);
}
.rn-page-title,
.rn-page h1.rn-page-title,
#content h2.title {
    margin: 0 0 6px;
    font-family: var(--rn-display);
    font-size: clamp(26px, 3vw, 34px);
    font-weight: 700;
    line-height: 1.15;
    color: var(--rn-ink);
    letter-spacing: -.02em;
}
.rn-page-subtitle,
.cart-help-text {
    margin: 0;
    max-width: 54ch;
    color: var(--rn-muted);
    font-size: 14px;
    line-height: 1.5;
}

#content .module h3.modtitle,
#content .module h4.modtitle,
.so-category-slider .page-title-categoryslider {
    margin: var(--rn-space-5) 0 var(--rn-space-3) !important;
}
.rn-hero-grid { margin-top: var(--rn-space-4) !important; margin-bottom: var(--rn-space-3) !important; }
.rn-promo-banner { margin: var(--rn-space-3) 0 var(--rn-space-5) !important; }
.rn-category-strip,
.so-category-slider.cate-slider1,
.rn-product-section {
    margin: var(--rn-space-3) 0 var(--rn-space-5) !important;
}
.product-layout .product-item-container .right-block {
    padding: 12px 14px 14px !important;
    gap: 8px;
}
.product-layout .caption {
    min-height: 40px !important;
    margin-bottom: 2px;
}
.product-layout .caption h4 {
    margin: 0 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.product-layout .price {
    min-height: 0 !important;
    margin: 0 0 4px !important;
}
.product-layout .addToCart {
    margin-top: 8px !important;
    min-height: 40px;
}
.product-layout .left-block {
    padding: 12px 12px 6px !important;
}
.product-layout .product-image-container {
    max-height: 230px !important;
}
.label-product.label-sale,
.label-product.label-new {
    min-width: 42px;
    text-align: center;
    line-height: 1.1;
}

/* =========================================================
   Cart page
   ========================================================= */
.rn-cart-page {
    max-width: 1240px;
}
.rn-cart-layout {
    display: flex;
    flex-wrap: wrap;
    margin-left: -10px;
    margin-right: -10px;
}
.rn-cart-layout > [class*="col-"] {
    padding-left: 10px;
    padding-right: 10px;
}
.rn-cart-items {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.rn-cart-item {
    display: flex;
    gap: 16px;
    padding: 14px;
    background: #fff;
    border: 1px solid var(--rn-border);
    border-radius: 16px;
    box-shadow: 0 6px 18px rgba(26,23,20,.04);
}
.rn-cart-item__cover {
    flex: 0 0 88px;
    width: 88px;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: linear-gradient(180deg, #f7f3ec, #efe8dc);
    overflow: hidden;
}
.rn-cart-item__cover img,
.rn-cart-item__cover .rn-book-cover {
    max-width: 100% !important;
    max-height: 112px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    box-shadow: 0 8px 18px rgba(26,23,20,.14);
}
.rn-cart-item__body {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.rn-cart-item__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}
.rn-cart-item__title {
    margin: 0;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.3;
    font-family: var(--rn-font);
}
.rn-cart-item__title a { color: var(--rn-ink); }
.rn-cart-item__remove {
    border: 0;
    background: transparent;
    color: var(--rn-muted);
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    padding: 0;
}
.rn-cart-item__remove:hover { color: var(--rn-danger); }
.rn-cart-item__meta {
    color: var(--rn-muted);
    font-size: 13px;
}
.rn-cart-item__controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: auto;
}
.rn-qty {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.rn-qty__label {
    margin: 0;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--rn-muted);
}
.rn-qty__input {
    width: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
    min-height: 40px !important;
    text-align: center;
    border-radius: 10px !important;
}
.rn-qty__update {
    min-height: 40px;
    padding: 0 12px !important;
    border-radius: 10px !important;
    background: var(--rn-soft) !important;
    border: 1px solid var(--rn-border) !important;
    color: var(--rn-ink) !important;
    font-weight: 700;
    box-shadow: none !important;
}
.rn-qty__update:hover {
    background: var(--rn-brand-soft) !important;
    border-color: rgba(224,161,0,.45) !important;
}
.rn-cart-item__line-total {
    font-size: 18px;
    font-weight: 800;
    color: var(--rn-ink);
}
.rn-cart-summary {
    position: sticky;
    top: 88px;
    padding: 18px;
    border-radius: 18px;
    border: 1px solid var(--rn-border);
    background: #fff;
    box-shadow: 0 10px 28px rgba(26,23,20,.06);
}
.rn-cart-summary__title {
    margin: 0 0 14px;
    font-family: var(--rn-display);
    font-size: 22px;
    font-weight: 700;
}
.rn-cart-summary__row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
    font-size: 14px;
}
.rn-cart-summary__row--muted {
    color: var(--rn-muted);
    padding-bottom: 12px;
    border-bottom: 1px dashed var(--rn-border);
}
.rn-cart-summary__total {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin: 14px 0 16px;
    font-size: 15px;
}
.rn-cart-summary__total strong {
    font-size: 24px;
    font-weight: 800;
}
.rn-cart-summary__checkout {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    margin-bottom: 10px;
    border-radius: 12px !important;
    font-weight: 800;
}
.rn-cart-summary__continue {
    display: block;
    text-align: center;
    margin-bottom: 14px;
    font-weight: 700;
    color: var(--rn-muted);
}
.rn-cart-summary__continue:hover { color: var(--rn-brand-dark); }
.rn-cart-summary__trust {
    list-style: none;
    margin: 0;
    padding: 12px 0 0;
    border-top: 1px solid var(--rn-border);
}
.rn-cart-summary__trust li {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 8px;
    color: var(--rn-muted);
    font-size: 13px;
}
.rn-cart-summary__trust i { color: var(--rn-brand-dark); width: 16px; text-align: center; }
.rn-empty-state {
    text-align: center;
    padding: 48px 20px 56px;
    border: 1px dashed var(--rn-border);
    border-radius: 18px;
    background: #fff;
}
.rn-empty-state__icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 14px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--rn-brand-soft);
    color: var(--rn-brand-dark);
    font-size: 26px;
}
.rn-empty-state .rn-page-title { margin-bottom: 8px; }
.rn-empty-state .rn-page-subtitle { margin: 0 auto 18px; }
.rn-empty-state .btn { min-width: 180px; min-height: 46px; }

/* =========================================================
   Product detail
   ========================================================= */
.rn-product-detail {
    margin: 0 0 var(--rn-space-5) !important;
    padding: 16px !important;
    border-radius: 18px !important;
    background: #fff;
    border: 1px solid var(--rn-border);
    box-shadow: 0 8px 24px rgba(26,23,20,.05);
}
.rn-product-detail .left-content-product {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -8px;
}
.rn-product-detail .content-product-left,
.rn-product-detail .content-product-right {
    padding-left: 8px;
    padding-right: 8px;
}
.rn-product-gallery {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 0 !important;
    height: auto !important;
    padding: 18px !important;
    border-radius: 14px !important;
    background: linear-gradient(180deg, #f7f3ec, #efe8dc) !important;
    border: 1px solid var(--rn-border) !important;
}
.rn-product-gallery img,
.rn-product-gallery .product-image-zoom {
    max-height: 360px !important;
    width: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
    box-shadow: 0 14px 34px rgba(26,23,20,.16);
    border-radius: 4px;
}
.rn-product-detail .title-product {
    margin: 0 0 10px;
}
.rn-product-detail .title-product h1 {
    margin: 0;
    font-family: var(--rn-display);
    font-size: clamp(24px, 2.8vw, 34px);
    line-height: 1.18;
    font-weight: 700;
}
.rn-product-summary {
    margin-bottom: 12px;
}
.rn-product-summary .product_page_price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px 12px;
    margin: 0 0 8px !important;
}
.rn-price-old {
    color: var(--rn-muted) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}
.rn-price-now {
    font-size: 28px !important;
    font-weight: 800 !important;
    color: var(--rn-ink) !important;
}
.rn-save-badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(180,35,24,.1);
    color: var(--rn-danger);
    font-size: 12px;
    font-weight: 800;
}
.rn-stock {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(31,107,69,.1);
    color: var(--rn-success);
    font-size: 13px;
    font-weight: 700;
}
.rn-stock span:first-child { color: var(--rn-muted); font-weight: 600; }
.rn-meta-box,
.rn-product-detail .product-box-desc {
    margin: 0 0 14px !important;
    padding: 12px 14px !important;
    border-radius: 12px !important;
    border: 1px solid var(--rn-border) !important;
    border-left: 4px solid var(--rn-brand) !important;
    background: var(--rn-soft) !important;
}
.rn-meta-box .inner-box-desc > div,
.rn-product-detail .inner-box-desc > div {
    display: flex;
    gap: 10px;
    margin: 6px 0 !important;
    color: var(--rn-ink);
    font-size: 14px;
}
.rn-meta-box .inner-box-desc span,
.rn-product-detail .inner-box-desc span {
    min-width: 96px;
    color: var(--rn-muted) !important;
    font-weight: 700 !important;
}
.rn-product-purchase .box-info-product {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px;
    margin: 0 0 12px !important;
}
.rn-qty-control,
.rn-product-purchase .quantity-control {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    padding: 6px;
    border: 1px solid var(--rn-border);
    border-radius: 12px;
    background: #fff;
}
.rn-qty-control label {
    margin: 0 4px 0 6px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--rn-muted);
}
.rn-qty-control #Quantity,
.rn-product-purchase #Quantity {
    width: 64px !important;
    min-height: 40px !important;
    text-align: center;
    border: 0 !important;
    box-shadow: none !important;
}
.rn-qty-control .input-group-addon {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--rn-border) !important;
    border-radius: 8px !important;
    background: var(--rn-soft) !important;
    cursor: pointer;
    font-weight: 800;
}
.rn-detail-add,
.rn-product-purchase .rn-detail-add {
    min-width: 180px;
    min-height: 48px !important;
    padding: 0 22px !important;
    border-radius: 12px !important;
    background: var(--rn-brand) !important;
    border-color: var(--rn-brand) !important;
    color: #1a1714 !important;
    font-weight: 800 !important;
    box-shadow: 0 8px 18px rgba(224,161,0,.25) !important;
}
.rn-detail-add:hover {
    background: var(--rn-brand-dark) !important;
    color: #fff !important;
}
.rn-trust-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin-top: 4px;
}
.rn-trust-row span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 10px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid var(--rn-border);
    color: var(--rn-muted);
    font-size: 12px;
    font-weight: 600;
}
.rn-trust-row i { color: var(--rn-brand-dark); }
.rn-product-tabs,
.producttab.rn-product-tabs {
    margin: 0 0 var(--rn-space-5);
    padding: 16px;
    border: 1px solid var(--rn-border);
    border-radius: 16px;
    background: #fff;
}
.rn-product-tabs .nav-tabs {
    border-bottom: 1px solid var(--rn-border) !important;
    margin-bottom: 12px;
}
.rn-product-tabs .nav-tabs > li > a {
    border-radius: 10px 10px 0 0 !important;
    font-weight: 700;
    color: var(--rn-muted);
}
.rn-product-tabs .nav-tabs > li.active > a {
    color: var(--rn-ink) !important;
    border-color: var(--rn-border) var(--rn-border) #fff !important;
}
.content-aside .module {
    margin-bottom: 14px;
    padding: 12px;
    border: 1px solid var(--rn-border);
    border-radius: 14px;
    background: #fff;
}
.content-aside .module .modtitle {
    margin: 0 0 10px !important;
    padding-bottom: 8px !important;
    font-size: 16px !important;
}

/* Listing pages */
.rn-listing-page .title-category,
h3.title-category {
    margin: 0 0 12px !important;
    padding: 14px 16px !important;
    border-radius: 14px !important;
    background: #fff !important;
    border: 1px solid var(--rn-border) !important;
    box-shadow: none !important;
    font-family: var(--rn-display);
    font-size: 24px !important;
}
.rn-listing-toolbar {
    margin-bottom: 12px !important;
    padding: 8px 10px !important;
}
.rn-product-grid {
    margin-left: -8px !important;
    margin-right: -8px !important;
}
.rn-product-grid > [class*="col-"] {
    padding-left: 8px !important;
    padding-right: 8px !important;
    margin-bottom: 16px;
}
.products-list .product-layout {
    margin-bottom: 16px;
}

footer { margin-top: var(--rn-space-7) !important; }
.rn-footer-band { padding: 16px 0 10px !important; }

@media (max-width: 991px) {
    .rn-cart-summary { position: static; margin-top: 16px; }
    .rn-product-gallery img { max-height: 300px !important; }
    .rn-product-detail { padding: 12px !important; }
}
@media (max-width: 767px) {
    .rn-cart-item { flex-direction: column; }
    .rn-cart-item__cover { width: 100%; height: 160px; flex-basis: auto; }
    .rn-cart-item__top { flex-direction: column; }
    .rn-cart-item__controls { align-items: stretch; }
    .rn-qty { width: 100%; justify-content: space-between; }
    .rn-product-purchase .box-info-product { flex-direction: column; align-items: stretch; }
    .rn-detail-add { width: 100%; }
    .rn-trust-row span { width: 100%; }
}

/* =========================================================
   Header overlap / navbar / search fixes
   ========================================================= */
header.typeheader-2 .header-middle {
    padding: 16px 0 !important;
}
header.typeheader-2 .header-middle .row {
    display: flex !important;
    align-items: center;
    gap: 12px;
}
header.typeheader-2 .navbar-logo {
    flex: 0 0 auto;
    width: auto !important;
    max-width: 220px;
}
header.typeheader-2 .middle2 {
    flex: 1 1 auto;
    min-width: 0;
    width: auto !important;
    float: none !important;
    padding: 0 !important;
}
header.typeheader-2 .middle3 {
    flex: 0 0 auto;
    width: auto !important;
    max-width: 280px;
    display: flex !important;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
    float: none !important;
    margin: 0 !important;
}

/* Kill theme sprite icons that collide with text */
.typeheader-2 .login-w:before,
.typeheader-2 .shopping_cart .btn-shopping-cart .top_cart .shopcart-inner:before {
    display: none !important;
    content: none !important;
}
.typeheader-2 .login-w {
    padding-left: 0 !important;
    margin-right: 0 !important;
    float: none !important;
    position: static !important;
    min-width: 110px;
}
.typeheader-2 .login-w li {
    line-height: 1.25 !important;
}
.typeheader-2 .shopping_cart {
    float: none !important;
    top: 0 !important;
}
.typeheader-2 .shopping_cart .btn-shopping-cart .top_cart .shopcart-inner {
    padding: 0 !important;
    float: none !important;
    color: var(--rn-ink) !important;
}
.typeheader-2 .shopping_cart .btn-shopping-cart .top_cart .icon-c {
    display: inline-flex !important;
}
.typeheader-2 .shopping_cart .btn-shopping-cart .top_cart .shopcart {
    display: flex;
    align-items: center;
    gap: 10px;
}
.typeheader-2 .shopping_cart .btn-shopping-cart .top_cart .shopcart-inner .total-shopping-cart .items_cart {
    position: static !important;
    display: inline-flex !important;
    margin-right: 4px;
    border: 0 !important;
}

/* Navbar: tighter, no giant gaps */
header.typeheader-2 .header-bottom {
    background: #fff !important;
}
header.typeheader-2 .header-bottom .container > .row {
    display: flex;
    align-items: center;
    gap: 8px;
}
.typeheader-2 .container-megamenu.horizontal ul.megamenu > li {
    margin-right: 4px !important;
}
.typeheader-2 .container-megamenu.horizontal ul.megamenu > li > a,
header.typeheader-2 .megamenu-style-dev .horizontal ul.megamenu > li > a {
    padding: 8px 6px !important;
    font-size: 12px !important;
    letter-spacing: .02em;
    white-space: nowrap;
}
header.typeheader-2 .megamenu-style-dev .horizontal ul.megamenu > li {
    display: list-item;
    float: left;
}
header.typeheader-2 .container-megamenu.vertical {
    flex: 0 0 200px;
    max-width: 200px;
}
header.typeheader-2 .container-megamenu.horizontal {
    flex: 1 1 auto;
    min-width: 0;
}

/* Search author select readable */
#sosearchpro .select_category {
    min-width: 128px !important;
    max-width: 150px !important;
    overflow: hidden;
}
#sosearchpro .select_category select {
    width: 100% !important;
    max-width: 100%;
    padding: 0 8px !important;
    font-size: 13px !important;
    text-overflow: ellipsis;
}
#sosearchpro .autosearch-input {
    min-width: 0 !important;
}

/* =========================================================
   Auth / login (checkout gate)
   ========================================================= */
.rn-auth-hero,
.account-flow-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin: 8px 0 20px;
    padding: 18px 20px;
    border: 1px solid var(--rn-border);
    border-radius: 16px;
    background: linear-gradient(135deg, #fff8e8, #fff);
}
.rn-auth-hero h1,
.account-flow-hero h1 {
    margin: 4px 0 8px;
    font-family: var(--rn-display);
    font-size: clamp(22px, 3vw, 30px);
    line-height: 1.2;
    font-weight: 700;
}
.rn-auth-hero p,
.account-flow-hero p {
    margin: 0;
    max-width: 58ch;
    color: var(--rn-muted);
    font-size: 14px;
}
.rn-auth-hero .eyebrow,
.account-flow-hero .eyebrow {
    display: inline-block;
    color: var(--rn-brand-dark);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.rn-auth-hero__link {
    flex: 0 0 auto;
    white-space: nowrap;
}
.rn-auth-grid .row {
    display: flex;
    flex-wrap: wrap;
}
.rn-auth-grid .customer-login {
    display: flex;
    float: none;
}
.rn-auth-card,
.page-login .well {
    width: 100%;
    margin: 0 0 16px !important;
    padding: 20px !important;
    border: 1px solid var(--rn-border) !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(26,23,20,.05);
    min-height: 100%;
}
.rn-auth-card h2,
.page-login .well h2 {
    margin: 0 0 6px;
    font-family: var(--rn-display);
    font-size: 24px;
    font-weight: 700;
}
.rn-auth-card__lead {
    margin: 0 0 16px;
    color: var(--rn-muted);
    font-size: 13px;
}
.rn-auth-card .form-group {
    margin-bottom: 12px;
}
.rn-auth-card__actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: wrap;
    gap: 12px !important;
    margin-top: 12px !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
}
.rn-auth-card__actions--split {
    justify-content: space-between !important;
}
.rn-auth-card__actions--stack {
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
}
.rn-auth-card__actions--stack .forgot {
    order: -1;
    margin-bottom: 4px !important;
}
.rn-auth-card__actions--stack .btn,
.rn-auth-card__actions--stack input.btn-primary {
    width: 100%;
}
.rn-auth-card__actions .forgot {
    display: inline-block;
    float: none !important;
    margin: 0 !important;
    line-height: 1.4;
    white-space: nowrap;
}
.rn-auth-card__actions .btn,
.rn-auth-card__actions input.btn-primary,
.page-login .btn-primary {
    float: none !important;
    min-width: 140px;
    margin: 0 !important;
}
.page-login .bottom-form { display: none !important; }
.page-login .account-border {
    border: 0 !important;
    padding: 0 !important;
}

/* =========================================================
   Checkout polish
   ========================================================= */
.checkout-header {
    align-items: flex-start !important;
    gap: 12px !important;
    margin: 8px 0 18px !important;
    padding: 16px 18px !important;
}
.checkout-header .title {
    font-family: var(--rn-display);
    font-size: 28px !important;
}
.checkout-header p {
    max-width: 52ch;
    font-size: 14px;
}
.so-onepagecheckout {
    display: flex !important;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0;
}
.so-onepagecheckout > [class*="col-"] {
    float: none !important;
}
.so-onepagecheckout .panel {
    margin-bottom: 14px !important;
}
.so-onepagecheckout .panel-body {
    padding: 16px !important;
}
.so-onepagecheckout .form-group {
    margin-bottom: 12px !important;
}
.so-onepagecheckout .control-label {
    display: block;
    margin-bottom: 5px;
    line-height: 1.3;
}
.so-onepagecheckout .form-control {
    max-width: 100% !important;
}
.so-onepagecheckout label,
.so-onepagecheckout .radio label {
    white-space: normal;
    overflow-wrap: anywhere;
}
.checkout-error-label {
    display: block;
    width: 100%;
    white-space: normal;
}

@media (max-width: 991px) {
    header.typeheader-2 .header-middle .row {
        flex-wrap: wrap;
    }
    header.typeheader-2 .middle2,
    header.typeheader-2 .middle3 {
        width: 100% !important;
        max-width: none;
    }
    header.typeheader-2 .middle3 {
        justify-content: space-between;
    }
    .rn-auth-hero,
    .account-flow-hero {
        flex-direction: column;
    }
    .rn-auth-grid .row { display: block; }
}

/* Absolute theme search button causes overlap ? force flex layout */
.typeheader-2 #sosearchpro .search,
.typeheader-2 #sosearchpro.so-search .search {
    position: relative !important;
    padding-right: 0 !important;
    height: 52px !important;
    overflow: hidden !important;
}
.typeheader-2 #sosearchpro .search button,
.typeheader-2 #sosearchpro .search .button-search {
    position: static !important;
    top: auto !important;
    right: auto !important;
    height: 52px !important;
    width: auto !important;
    min-width: 110px !important;
    border-radius: 0 !important;
    float: none !important;
}
.typeheader-2 #sosearchpro .search .select_category {
    position: relative !important;
    float: none !important;
    height: 52px !important;
    line-height: 52px !important;
    padding-right: 0 !important;
}
.typeheader-2 #sosearchpro .search .select_category.icon-select:after,
.typeheader-2 #sosearchpro .search .select_category.icon-select:before {
    display: none !important;
    content: none !important;
}
.typeheader-2 #sosearchpro .search input.autosearch-input {
    position: static !important;
    float: none !important;
    width: auto !important;
    height: 52px !important;
    padding-left: 14px !important;
    padding-right: 12px !important;
}

/* Account sprite icons ? kill hard */
header.typeheader-2 .login-w:before,
.typeheader-2 .login-w:before,
header .login-w:before {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    background: none !important;
    content: "" !important;
}
header.typeheader-2 .login-w,
.typeheader-2 .login-w {
    padding-left: 0 !important;
    margin-right: 0 !important;
    background: none !important;
}
.typeheader-2 .shopping_cart .btn-shopping-cart .top_cart .shopcart-inner:before {
    display: none !important;
    background: none !important;
    width: 0 !important;
    height: 0 !important;
}
.typeheader-2 .shopping_cart .btn-shopping-cart .top_cart .shopcart-inner {
    padding-left: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.typeheader-2 .shopping_cart .btn-shopping-cart .top_cart .icon-c {
    display: inline-flex !important;
    width: 42px;
    height: 42px;
}

/* Listing + PDP polish */
.rn-listing-shell .rn-search-results-head,
.rn-listing-page .rn-search-results-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin: 8px 0 18px;
    padding: 16px 18px;
    border: 1px solid var(--rn-border);
    border-radius: 16px;
    background: linear-gradient(180deg, #fff, #faf7f2);
}
.rn-listing-page .title-category {
    margin: 0 0 6px !important;
    font-family: var(--rn-display);
    font-size: 28px !important;
    font-weight: 700;
}
.rn-results-summary {
    margin: 0;
    color: var(--rn-muted);
    font-size: 14px;
}
.rn-continue-shopping {
    white-space: nowrap;
    font-weight: 700;
    color: var(--rn-ink);
    border-bottom: 2px solid var(--rn-brand);
    padding-bottom: 2px;
}
.rn-listing-page .product-item-container {
    border: 1px solid var(--rn-border) !important;
    border-radius: 16px !important;
    background: #fff;
    box-shadow: 0 6px 18px rgba(26,23,20,.04);
    overflow: hidden;
    padding: 12px !important;
    min-height: 100%;
}
.rn-listing-page .product-image-container {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 210px;
    max-height: 230px;
    background: linear-gradient(180deg, #f7f3ec, #efe8dc);
    border-radius: 12px;
    margin-bottom: 12px;
    position: relative;
    overflow: hidden;
}
.rn-listing-page .product-image-container .img-2 {
    display: none !important;
}
.rn-listing-page .rn-book-cover {
    max-height: 200px !important;
    width: auto !important;
    margin: 0 auto;
    box-shadow: 0 10px 22px rgba(26,23,20,.16);
}
.rn-listing-page .right-block .description p {
    font-weight: 700;
    font-size: 14px;
    color: var(--rn-ink);
    min-height: 40px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.rn-listing-page .addToCart {
    width: 100%;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--rn-brand) !important;
    color: #1a1714 !important;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
    padding: 10px 14px !important;
}
.rn-product-detail .product-view,
.rn-product-detail .content-product-left,
.rn-product-detail .content-product-right {
    background: #fff;
}
.rn-product-detail .title-product h1 {
    font-family: var(--rn-display);
    font-size: 32px;
    line-height: 1.2;
}
.rn-breadcrumb {
    margin: 10px 0 16px !important;
    padding: 0 !important;
    background: transparent !important;
}
@media (max-width: 767px) {
    .rn-listing-shell .rn-search-results-head,
    .rn-listing-page .rn-search-results-head {
        flex-direction: column;
    }
}

/* =========================================================
   Contrast + badges + mobile + listing/PDP tighten
   ========================================================= */

/* White-on-white: hamburger on white header-bottom */
@media (max-width: 991px) {
    .megamenu-style-dev .navbar-default .horizontal .navbar-toggle,
    .megamenu-style-dev .navbar-default .vertical .navbar-header .navbar-toggle,
    .navbar-default .navbar-toggle {
        color: var(--rn-ink) !important;
        border-color: var(--rn-border) !important;
        background: #fff !important;
    }
    .megamenu-style-dev .navbar-default .horizontal .navbar-toggle .icon-bar,
    .megamenu-style-dev .navbar-default .vertical .navbar-header .navbar-toggle .icon-bar,
    .navbar-default .navbar-toggle .icon-bar {
        background: var(--rn-ink) !important;
    }
    #remove-megamenu {
        color: #fff !important;
    }
}

/* Cart labels readable on white middle */
.typeheader-2 .shopping_cart .btn-shopping-cart .top_cart .shopcart-inner,
.typeheader-2 .shopping_cart .shopcart-inner {
    color: var(--rn-ink) !important;
}
.typeheader-2 .shopping_cart .text-shopping-cart {
    color: var(--rn-ink) !important;
}
.typeheader-2 .shopping_cart .total-shopping-cart {
    color: var(--rn-muted) !important;
}

/* Dark badges need light text */
.label-product.label-sale,
.label-product.label-new,
.label-sale,
.label-new {
    color: #fff !important;
    font-weight: 800 !important;
    letter-spacing: .02em;
    border: 0 !important;
    box-shadow: 0 4px 10px rgba(26,23,20,.18);
}
.label-product.label-sale,
.label-sale {
    background: var(--rn-danger) !important;
}
.label-product.label-new,
.label-new {
    background: var(--rn-success) !important;
}

/* Badge stack polish */
.box-label.rn-badges,
.product-layout .left-block .box-label.rn-badges {
    position: absolute;
    z-index: 3;
    top: 10px;
    left: 10px;
    right: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    pointer-events: none;
    margin: 0;
    padding: 0;
    background: transparent;
}
.box-label.rn-badges .label-product {
    position: static !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 24px;
    padding: 4px 8px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    line-height: 1 !important;
}
.box-label.rn-badges .label-sale { margin-left: auto; }
.product-layout .left-block { position: relative; }

/* Title clamp ? full title, 2 lines */
.rn-title-clamp,
.product-layout .caption h4.rn-title-clamp,
.product-layout .caption h4 {
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.6em;
    max-height: 2.8em;
    margin: 0 0 6px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    color: var(--rn-ink) !important;
}
.rn-title-clamp a,
.product-layout .caption h4 a {
    color: inherit !important;
    display: inline;
}
.rn-listing-page .description.item-desc { display: none !important; }

/* Category sidebar accordion contrast */
.box-category > ul > li a.accordion-toggle,
.box-category a.accordion-toggle {
    background: var(--rn-brand-soft) !important;
    color: var(--rn-ink) !important;
    border-radius: 6px;
}

/* Product cards: hide hover duplicate image globally */
.product-layout .product-image-container .img-2 {
    display: none !important;
}
.product-layout .product-item-container {
    border: 1px solid var(--rn-border);
    border-radius: 16px;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 6px 16px rgba(26,23,20,.04);
}
.rn-product-section .product-item-container {
    min-height: 100%;
}
.rn-product-section .addToCart,
.rn-listing-page .addToCart {
    width: 100%;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--rn-brand) !important;
    color: #1a1714 !important;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .03em;
}

/* Listing toolbar / empty */
.rn-listing-toolbar {
    margin-bottom: 12px !important;
    padding: 8px 0 !important;
    border: 0 !important;
    background: transparent !important;
}
.rn-empty-products {
    grid-column: 1 / -1;
    text-align: center;
    padding: 40px 20px;
    border: 1px dashed var(--rn-border);
    border-radius: 16px;
    background: #fff;
}
.rn-empty-products i { font-size: 28px; color: var(--rn-brand-dark); margin-bottom: 10px; }
.rn-empty-products h3 { margin: 0 0 8px; font-family: var(--rn-display); }
.rn-empty-products p { color: var(--rn-muted); margin: 0 0 16px; }

/* PDP tighten */
.rn-product-detail .title-product h1 {
    font-size: clamp(22px, 4vw, 32px) !important;
    word-break: break-word;
}
.rn-product-purchase .box-info-product {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px;
}
.rn-detail-add,
.rn-product-detail #button_cart {
    min-height: 48px !important;
    border-radius: 999px !important;
    background: var(--rn-brand) !important;
    border-color: var(--rn-brand) !important;
    color: #1a1714 !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    letter-spacing: .04em;
    padding: 12px 22px !important;
}
.rn-trust-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
    margin-top: 14px;
    color: var(--rn-muted);
    font-size: 13px;
    font-weight: 600;
}
.rn-trust-row i { color: var(--rn-brand-dark); margin-right: 6px; }
.rn-product-tabs {
    margin-top: 18px;
    padding: 16px;
    border: 1px solid var(--rn-border);
    border-radius: 16px;
    background: #fff;
}
.rn-product-tabs .nav-tabs > li > a {
    color: var(--rn-ink) !important;
    font-weight: 700;
}
.rn-product-tabs .tab-content {
    color: var(--rn-ink);
    line-height: 1.65;
}

/* Slider: keep readable on mobile; content typos are image assets */
.rn-home-slider {
    border-radius: 16px;
    overflow: hidden;
    background: #efe8dc;
}
.rn-home-slider img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

@media (max-width: 991px) {
    header.typeheader-2 .header-middle .row {
        flex-wrap: wrap;
        gap: 12px;
    }
    header.typeheader-2 .navbar-logo,
    header.typeheader-2 .middle2,
    header.typeheader-2 .middle3 {
        width: 100% !important;
        max-width: none !important;
        float: none !important;
    }
    header.typeheader-2 .middle3 {
        justify-content: space-between;
    }
    .rn-listing-shell .rn-search-results-head,
    .rn-listing-page .rn-search-results-head {
        flex-direction: column;
        align-items: flex-start;
    }
    .rn-product-detail {
        padding: 12px !important;
    }
    .rn-product-gallery img {
        max-height: 280px !important;
    }
    .rn-product-purchase .box-info-product {
        flex-direction: column;
        align-items: stretch;
    }
    .rn-detail-add,
    .rn-product-detail #button_cart {
        width: 100%;
    }
    .rn-trust-row {
        flex-direction: column;
        gap: 8px;
    }
}

@media (max-width: 767px) {
    .rn-home-slider img {
        max-height: 210px;
        min-height: 140px;
        object-fit: cover;
    }
    .rn-side-banners { display: none; }
    .rn-listing-page .title-category {
        font-size: 22px !important;
    }
    .rn-product-detail .title-product h1 {
        font-size: 22px !important;
    }
    .product-layout .caption h4,
    .rn-title-clamp {
        font-size: 13px !important;
        min-height: 2.5em;
    }
    /* Megamenu open panel: ink on light (not white-on-grey) */
    .megamenu-wrapper,
    .vertical-wrapper {
        background: #faf7f2 !important;
        color: #1a1714 !important;
    }
    .megamenu-wrapper a,
    .vertical-wrapper a {
        color: #1a1714 !important;
    }
}

/* =========================================================
   Mobile header rescue
   ========================================================= */
@media (max-width: 767px) {
    html, body {
        overflow-x: hidden;
        max-width: 100%;
    }
    .wrapper,
    .main-container,
    .container {
        max-width: 100% !important;
        width: 100% !important;
    }

    header.typeheader-2 .header-top {
        padding: 6px 0 !important;
        min-height: 0 !important;
    }
    header.typeheader-2 .header-top .header-top-left,
    header.typeheader-2 .header-top .telephone,
    .rn-top-welcome {
        display: none !important;
    }
    header.typeheader-2 .header-top .header-top-right,
    .rn-top-contact {
        float: none !important;
        width: 100%;
        justify-content: center;
        flex-wrap: wrap;
        gap: 8px;
        font-size: 11px;
    }

    header.typeheader-2 .header-middle {
        padding: 10px 0 !important;
    }
    header.typeheader-2 .header-middle .row {
        display: grid !important;
        grid-template-columns: 1fr auto;
        grid-template-areas:
            "logo cart"
            "search search";
        gap: 10px;
        align-items: center;
    }
    header.typeheader-2 .navbar-logo {
        grid-area: logo;
        width: auto !important;
    }
    header.typeheader-2 .navbar-logo .logo img {
        max-height: 44px !important;
    }
    header.typeheader-2 .middle2 {
        grid-area: search;
        width: 100% !important;
        max-width: none !important;
        padding: 0 !important;
    }
    header.typeheader-2 .middle3 {
        grid-area: cart;
        width: auto !important;
        min-width: 0 !important;
        justify-content: flex-end;
        gap: 8px;
    }
    header.typeheader-2 .middle3 .login-w {
        display: none !important;
    }
    .search-header-w .icon-search {
        display: none !important;
    }

    #sosearchpro,
    #sosearchpro.so-search {
        width: 100% !important;
        position: relative !important;
        overflow: visible !important;
        z-index: 10040 !important;
    }
    #sosearchpro .search.input-group {
        width: 100% !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        height: 46px !important;
        border-radius: 999px !important;
        overflow: hidden !important; /* clip only the pill row, not the dropdown */
        background: #fff !important;
        border: 1.5px solid var(--rn-border) !important;
    }
    #sosearchpro .select_category { display: none !important; }
    #sosearchpro .autosearch-input,
    #sosearchpro .search input.autosearch-input {
        flex: 1 1 auto !important;
        width: 1% !important;
        min-width: 0 !important;
        height: 46px !important;
        padding: 0 14px !important;
        font-size: 14px !important;
        color: var(--rn-ink) !important;
        background: #fff !important;
        float: none !important;
    }
    #sosearchpro .autosearch-input::placeholder {
        color: var(--rn-muted) !important;
        opacity: 1 !important;
    }
    #sosearchpro .input-group-btn {
        width: auto !important;
        display: flex !important;
    }
    #sosearchpro .button-search,
    #sosearchpro .search button {
        position: static !important;
        width: auto !important;
        min-width: 88px !important;
        height: 46px !important;
        border-radius: 0 !important;
        padding: 0 14px !important;
    }
    #sosearchpro .button-search span { display: none !important; }
    #sosearchpro .button-search i { display: inline-block !important; font-size: 16px; }

    .typeheader-2 .shopping_cart .shopcart-inner .text-shopping-cart,
    .typeheader-2 .shopping_cart .shopcart-inner .items_cart2,
    .typeheader-2 .shopping_cart .shopcart-inner .items_carts {
        display: none !important;
    }
    .typeheader-2 .shopping_cart .btn-shopping-cart .top_cart .icon-c {
        display: inline-flex !important;
    }

    header.typeheader-2 .header-bottom .container > .row {
        display: flex !important;
        align-items: center;
        gap: 8px;
    }
    .megamenu-style-dev .navbar-default .horizontal .navbar-toggle {
        margin: 0 !important;
        float: none !important;
    }

    /* WhatsApp clear of content */
    .float {
        right: 14px !important;
        bottom: 14px !important;
        width: 48px !important;
        height: 48px !important;
        z-index: 40;
    }

    .rn-hero-grid > [class*="col-"] {
        width: 100% !important;
        float: none !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

@media (max-width: 767px) {
    /* One menu control only */
    header.typeheader-2 .header-bottom .vertical .navbar-header,
    .megamenu-style-dev .navbar-default .vertical .navbar-header .navbar-toggle {
        display: none !important;
    }
    .container-megamenu.vertical .vertical-wrapper {
        display: none !important;
    }
    header.typeheader-2 .header-bottom .horizontal .navbar-toggle {
        display: inline-block !important;
    }
    .rn-listing-toolbar .view-mode { display: none !important; }
    .rn-continue-shopping {
        display: inline-flex;
        margin-top: 8px;
        padding: 8px 12px;
        border: 1px solid var(--rn-border);
        border-radius: 999px;
        border-bottom-width: 1px;
        background: #fff;
    }
    #column-left { display: none !important; }
    #content.col-md-9,
    #content.col-sm-8 {
        width: 100% !important;
        float: none !important;
    }
}
@media (max-width: 767px) {
  .rn-continue-shopping {
    color: var(--rn-ink) !important;
    background: var(--rn-brand) !important;
    border-color: var(--rn-brand) !important;
    font-weight: 800 !important;
  }
  .rn-search-results-head .rn-continue-shopping::after { content: none; }
  .list-view, .rn-listing-toolbar .btn { display: none !important; }
}
/* PDP trust + qty contrast */
.rn-trust-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 10px 18px !important;
    margin-top: 14px !important;
    padding: 0 !important;
    position: static !important;
    width: 100% !important;
}
.rn-trust-row > span {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    border-radius: 999px;
    background: #f7f3ec;
    border: 1px solid var(--rn-border);
    color: var(--rn-ink) !important;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}
.rn-qty-control input,
.rn-product-detail #Quantity {
    color: var(--rn-ink) !important;
    background: #fff !important;
    border: 1px solid var(--rn-border) !important;
    min-width: 64px;
    text-align: center;
    font-weight: 700;
}

/* =========================================================
   Screenshot round: PDP / mobile / megamenu / categories
   ========================================================= */
.rn-price-old,
.rn-price-now,
.product_page_price .rn-price-old,
.product_page_price .rn-price-now,
.product-layout .price .rn-price-old,
.product-layout .price .rn-price-now {
    display: inline-flex !important;
    align-items: baseline;
    gap: 4px;
    white-space: nowrap;
}
.rn-price-old span,
.rn-price-now span,
.product-layout .price span[itemprop="priceCurrency"],
.product-layout .price span[itemprop="price"] {
    display: inline !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.rn-product-summary .product_page_price {
    align-items: center !important;
    gap: 10px 14px !important;
}
.rn-qty-control {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 10px !important;
    border: 1px solid var(--rn-border) !important;
    border-radius: 12px !important;
    background: #fff !important;
    position: relative !important;
}
.rn-qty-control label {
    margin: 0 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: var(--rn-muted) !important;
    text-transform: uppercase;
}
.rn-qty-control #Quantity,
.rn-product-purchase #Quantity {
    width: 64px !important;
    height: 36px !important;
    margin: 0 !important;
    border: 1px solid var(--rn-border) !important;
    border-radius: 8px !important;
    color: var(--rn-ink) !important;
    background: #fff !important;
    font-weight: 800 !important;
    text-align: center !important;
    box-shadow: none !important;
}
.rn-qty-control .input-group-addon {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 36px !important;
    min-width: 36px !important;
    padding: 0 !important;
    background: var(--rn-ink) !important;
    color: #fff !important;
    border: 0 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    cursor: pointer;
    line-height: 1 !important;
}
.rn-qty-control .product_quantity_down {
    border-radius: 10px 0 0 10px !important;
}
.rn-qty-control .product_quantity_up {
    border-radius: 0 10px 10px 0 !important;
}
.rn-trust-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-top: 14px !important;
    width: 100% !important;
    clear: both !important;
}
.rn-trust-row > span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 8px 12px !important;
    border-radius: 999px !important;
    background: #f7f3ec !important;
    border: 1px solid var(--rn-border) !important;
    color: var(--rn-ink) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    white-space: nowrap;
}

/* All Categories label vs chevron */
.container-megamenu.vertical .vertical ul.megamenu > li.vertical-style > .title,
.container-megamenu.vertical .title-vertical,
.typeheader-2 .container-megamenu.vertical .vertical-wrapper > .title-vertical {
    padding-right: 36px !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.container-megamenu.vertical .title-vertical:after,
.container-megamenu.vertical .title-vertical:before,
.typeheader-2 .container-megamenu.vertical .title-vertical .fa {
    right: 12px !important;
    margin-left: 8px;
}

/* Megamenu submenu: superseded ? see PRIORITY ink-on-light block at file end */
.megamenu-wrapper,
.vertical-wrapper,
.container-megamenu.vertical .vertical-wrapper {
    /* background overridden at end */
}

/* Ghost category tabs on Sale/Latest only ? do NOT hide .page-top or
   .rn-product-section > .modcontent: bottom genre rows (Sufism, Seerat, etc.)
   put title + products inside .modcontent > .page-top / .categoryslider-content. */
.so-category-slider.cate-slider1 .item-sub-cat,
.rn-product-section.cate-slider1 .item-sub-cat {
    display: none !important;
}
.rn-category-strip .cat-title a,
.so-categories .cat-title a {
    color: var(--rn-ink) !important;
    font-weight: 800 !important;
}
.rn-category-strip .content-box {
    background: #fff;
    border: 1px solid var(--rn-border);
    border-radius: 14px;
    overflow: hidden;
}

/* Hero empty gap: side banners fill height */
.rn-hero-grid {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}
.rn-hero-grid > [class*="col-"] {
    display: flex;
}
.rn-home-slider,
.rn-side-banners {
    width: 100%;
}
.rn-side-banners {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 10px;
    min-height: 100%;
}
.rn-side-banners a {
    min-height: 0 !important;
    height: 100%;
    display: block;
    overflow: hidden;
    border-radius: 12px;
}
.rn-side-banners img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 767px) {
    header.typeheader-2 .header-middle .row {
        display: grid !important;
        grid-template-columns: auto 1fr auto;
        grid-template-areas:
            "logo logo cart"
            "search search search";
        gap: 10px;
        align-items: center;
    }
    header.typeheader-2 .navbar-logo { grid-area: logo; }
    header.typeheader-2 .middle2 { grid-area: search; width: 100% !important; }
    header.typeheader-2 .middle3 { grid-area: cart; }
    header.typeheader-2 .navbar-logo .logo img { max-height: 40px !important; }
    #sosearchpro .search.input-group {
        border: 1.5px solid #c9c0b2 !important;
        background: #fff !important;
        box-shadow: 0 2px 8px rgba(26,23,20,.06) !important;
    }
    .rn-side-banners { display: none !important; }
    .rn-hero-grid > [class*="col-left"] { width: 100% !important; }
}

/* Checkout payment radios ? stop overlapping first letter */
.rn-payment-options .radio,
.checkout-payment-methods .radio,
.so-onepagecheckout .rn-payment-options .radio {
    margin: 0 0 10px !important;
    padding: 0 !important;
    position: relative !important;
}
.rn-payment-options .radio + .radio { margin-top: 0 !important; }
.rn-payment-options .radio label,
.checkout-payment-methods .radio label,
.so-onepagecheckout .checkout-payment-methods .radio label {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    padding-left: 14px !important;
    min-height: 48px;
    border: 1px solid var(--rn-border) !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: var(--rn-ink) !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    cursor: pointer;
    position: relative !important;
    white-space: normal !important;
}
.rn-payment-options .radio label:hover,
.checkout-payment-methods .radio label:hover {
    border-color: rgba(224,161,0,.55) !important;
    background: #fffaf0 !important;
}
.rn-payment-options .radio input[type="radio"],
.checkout-payment-methods .radio input[type="radio"],
.so-onepagecheckout .rn-payment-options input[type="radio"] {
    position: static !important;
    float: none !important;
    top: auto !important;
    left: auto !important;
    margin: 0 !important;
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;
    accent-color: #c48a00;
}
.rn-payment-options .radio label span,
.checkout-payment-methods .radio label span {
    display: inline-block !important;
    flex: 1 1 auto;
    min-width: 0;
    padding-left: 0 !important;
    margin: 0 !important;
    color: var(--rn-ink) !important;
    font-weight: 700 !important;
}
.rn-payment-options .radio label:has(input:checked),
.checkout-payment-methods .radio label:has(input:checked) {
    border-color: var(--rn-brand) !important;
    background: #fff8e8 !important;
    box-shadow: 0 0 0 1px rgba(224,161,0,.35);
}

/* =========================================================
   Screenshot-driven fixes
   ========================================================= */

/* PDP prices: clear strike + spacing */
.rn-product-detail .product_page_price,
.rn-product-summary .product_page_price {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px 14px !important;
}
.rn-product-detail .rn-price-old,
.rn-product-summary .rn-price-old,
.rn-product-detail strike.rn-price-old,
.product_page_price strike {
    text-decoration: line-through !important;
    color: #8a8278 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    opacity: 1 !important;
}
.rn-product-detail .rn-price-now,
.rn-product-summary .rn-price-now {
    font-size: 28px !important;
    font-weight: 800 !important;
    color: var(--rn-ink) !important;
    text-decoration: none !important;
}
.rn-product-detail .rn-price-old span,
.rn-product-detail .rn-price-now span {
    margin: 0 .15em;
}

/* Qty row */
.rn-qty-control {
    display: inline-flex !important;
    align-items: stretch !important;
    border: 1px solid var(--rn-border) !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #fff !important;
}
.rn-qty-control label {
    display: none !important;
}
.rn-qty-control #Quantity,
.rn-product-detail #Quantity {
    width: 64px !important;
    min-width: 64px !important;
    height: 44px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--rn-ink) !important;
    background: #fff !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    text-align: center !important;
    -moz-appearance: textfield;
}
.rn-qty-control #Quantity::-webkit-outer-spin-button,
.rn-qty-control #Quantity::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* All Categories chevron room */
.typeheader-2 .container-megamenu.vertical #menuHeading .megamenuToogle-pattern .container {
    padding-right: 44px !important;
    padding-left: 14px !important;
    box-sizing: border-box !important;
}
.typeheader-2 .container-megamenu.vertical #menuHeading .megamenuToogle-pattern .container:after {
    right: 12px !important;
}

/* Megamenu panels: light chrome + ink text (supersedes old dark kill) */
.navbar-offcanvas,
.megamenu-style-dev .navbar-offcanvas,
ul.megamenu li .sub-menu .content,
ul.megamenu .sub-menu,
.vertical-wrapper ul.megamenu .sub-menu .content,
.vertical-wrapper .subcategory,
.megamenu-pattern .sub-menu .content,
.megamenu .feature-category,
.megamenu .row-list,
.megamenu .subcategory ul,
.megamenu .subcategory li {
    background: #fff !important;
    background-color: #fff !important;
}
ul.megamenu .sub-menu .content *,
.vertical-wrapper .sub-menu *,
.navbar-offcanvas .sub-menu *,
.megamenu .subcategory a,
.megamenu .subcategory span,
.megamenu .row-list a {
    color: #1a1714 !important;
}
.megamenu .subcategory a:hover { color: #c48900 !important; }

/* Category strip owl ghost / white arrows */
.rn-category-strip .owl-controls .owl-buttons div,
.so-categories .owl-controls .owl-buttons div,
.rn-category-strip .owl-nav button,
.so-categories .owl-nav button {
    background: #fff !important;
    color: var(--rn-ink) !important;
    border: 1px solid var(--rn-border) !important;
    opacity: 1 !important;
    text-shadow: none !important;
}
.rn-category-strip .owl-buttons > div:before,
.so-categories .owl-buttons > div:before {
    color: var(--rn-ink) !important;
}
.so-categories .modtitle,
.rn-category-strip .modtitle {
    color: var(--rn-ink) !important;
}

/* Side banners flat grid (no nested bootstrap cols) */
.rn-side-banners > .row,
.rn-side-banners [class*="col-"] {
    display: contents !important;
    width: auto !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.rn-hero-grid {
    align-items: stretch !important;
}
.rn-hero-grid > .col-left,
.rn-hero-grid > .col-right,
.rn-hero-grid > [class*="col-"] {
    float: none !important;
}
.rn-home-slider {
    height: 100%;
    min-height: 320px;
}
.rn-home-slider .yt-content-slider,
.rn-home-slider .yt-content-slide,
.rn-home-slider img {
    height: 100%;
    min-height: 320px;
    object-fit: cover;
}

/* Error page readable on mobile */
.rn-empty-state,
body .rn-page .rn-empty-state {
    max-width: 520px;
    margin: 40px auto !important;
    padding: 28px 18px !important;
    background: #fff !important;
    color: var(--rn-ink) !important;
    border: 1px solid var(--rn-border) !important;
    border-radius: 16px !important;
}
.rn-empty-state h1,
.rn-empty-state p {
    color: var(--rn-ink) !important;
}

@media (max-width: 767px) {
    header.typeheader-2 .header-middle {
        position: relative !important;
        z-index: 5;
        overflow: visible !important;
    }
    header.typeheader-2 .navbar-logo,
    header.typeheader-2 .middle2,
    header.typeheader-2 .middle3 {
        position: static !important;
        float: none !important;
    }
    #sosearchpro,
    #sosearchpro .search,
    #sosearchpro .search.input-group {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        width: 100% !important;
        z-index: 1 !important;
    }
    .rn-home-slider,
    .rn-home-slider img {
        min-height: 180px !important;
        max-height: 220px;
    }
}

/* =========================================================
   PRIORITY: product hover keep cover + clickable link
   ========================================================= */
.product-layout .product-image-container.second_img,
.products-list .product-layout .product-item-container .left-block .product-image-container.second_img,
.rn-product-section .product-image-container.second_img {
    position: relative !important;
    overflow: hidden !important;
}
.product-layout .product-image-container .img-1,
.products-list .product-layout .product-item-container .left-block .product-image-container.second_img .img-1,
.product-layout .product-item-container:hover .left-block .product-image-container.second_img .img-1,
.products-list .product-layout .product-item-container:hover .left-block .product-image-container.second_img .img-1,
.lib-two-img-over .img-1 {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: relative !important;
    z-index: 1 !important;
    transform: none !important;
    transition: transform .25s ease !important;
}
.product-layout .product-item-container:hover .left-block .product-image-container .img-1 {
    transform: scale(1.04) !important;
}
.product-layout .product-image-container .img-2,
.products-list .product-layout .product-item-container .left-block .product-image-container.second_img .img-2,
.product-layout .product-item-container:hover .left-block .product-image-container.second_img .img-2,
.products-list .product-layout .product-item-container:hover .left-block .product-image-container.second_img .img-2,
.lib-two-img-over .img-2 {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}
.product-layout .left-block .box-label,
.product-layout .box-label.rn-badges,
.product-layout .label-product {
    pointer-events: none !important;
    z-index: 3 !important;
}
.product-layout .product-image-container a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 2;
    pointer-events: auto !important;
}

/* =========================================================
   PRIORITY: PDP qty visible + aligned (desktop/tablet/mobile)
   ========================================================= */
.rn-product-detail .box-info-product,
.rn-product-detail .rn-purchase-row,
.rn-product-purchase .box-info-product {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 12px !important;
    float: none !important;
    width: 100% !important;
    clear: both !important;
}
.rn-product-detail .box-info-product .option.quantity,
.rn-product-detail .box-info-product .cart {
    float: none !important;
    margin: 0 !important;
}
.rn-qty-control.quantity-control,
.rn-product-detail .quantity-control.rn-qty-control {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 0 !important;
    float: none !important;
    position: relative !important;
    margin: 0 !important;
    padding: 4px !important;
    min-height: 48px !important;
    background: #fff !important;
    border: 1.5px solid var(--rn-border) !important;
    border-radius: 12px !important;
    overflow: visible !important;
}
.rn-qty-control label {
    display: inline-block !important;
    float: none !important;
    margin: 0 8px 0 6px !important;
    padding: 0 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    color: var(--rn-muted) !important;
    line-height: 1 !important;
    white-space: nowrap;
}
.rn-qty-control #Quantity,
.rn-product-detail #Quantity,
.left-content-product .content-product-right .box-info-product .quantity .quantity-control input.form-control {
    display: inline-block !important;
    float: none !important;
    position: static !important;
    width: 56px !important;
    min-width: 56px !important;
    max-width: 72px !important;
    height: 40px !important;
    min-height: 40px !important;
    line-height: 40px !important;
    margin: 0 4px !important;
    padding: 0 6px !important;
    border: 1px solid var(--rn-border) !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #1a1714 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    text-align: center !important;
    box-shadow: none !important;
    z-index: 2 !important;
    opacity: 1 !important;
    visibility: visible !important;
    -moz-appearance: textfield;
    appearance: textfield;
}
.rn-qty-control #Quantity::-webkit-outer-spin-button,
.rn-qty-control #Quantity::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}
.rn-qty-control .input-group-addon,
.rn-qty-control .product_quantity_up,
.rn-qty-control .product_quantity_down,
.left-content-product .content-product-right .box-info-product .quantity .quantity-control span,
.left-content-product .content-product-right .box-info-product .quantity .quantity-control span.product_quantity_up,
.left-content-product .content-product-right .box-info-product .quantity .quantity-control span.product_quantity_down {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
    position: static !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    margin: 0 2px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #1a1714 !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    cursor: pointer !important;
}
.rn-product-detail .rn-detail-add,
.rn-product-detail #button_cart {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 180px !important;
    min-height: 48px !important;
    margin: 0 !important;
    float: none !important;
}
@media (min-width: 768px) {
    .rn-product-detail .rn-purchase-row,
    .rn-product-detail .box-info-product {
        flex-wrap: nowrap !important;
    }
}
@media (max-width: 767px) {
    .rn-product-detail .rn-purchase-row,
    .rn-product-detail .box-info-product {
        flex-direction: column !important;
        align-items: stretch !important;
    }
    .rn-qty-control.quantity-control {
        width: 100% !important;
        justify-content: center !important;
    }
    .rn-product-detail .rn-detail-add,
    .rn-product-detail #button_cart {
        width: 100% !important;
    }
}

/* =========================================================
   PRIORITY: mobile search autocomplete + listing visibility
   Menu is appended to #sosearchpro (not body). Do NOT force
   display:block - jQuery UI must hide/show the panel.
   Do NOT touch desktop home spacing / cateslider rules below.
   ========================================================= */
#sosearchpro,
#sosearchpro.so-search,
.search-header-w,
header.typeheader-2 .middle2,
header.typeheader-2 .header-middle,
header.typeheader-2 .header-middle .container {
    overflow: visible !important;
}
#sosearchpro {
    position: relative !important;
}
/*
  Ghost white strip in black header-top was the empty jQuery UI
  autocomplete <ul> (body/search-appended) forced visible by a prior
  display:block !important + white padding/radius from modern-store.
  Keep closed/empty panels fully suppressed.
*/
.ui-autocomplete.ui-menu:empty,
ul.ui-autocomplete:empty,
body > ul.ui-autocomplete:empty,
#sosearchpro > ul.ui-autocomplete:empty {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    box-shadow: none !important;
    background: transparent !important;
    pointer-events: none !important;
}
/* Style only when open (jQuery toggles display; menu has result <li>s) */
#sosearchpro .ui-autocomplete.rn-search-menu:not(:empty),
#sosearchpro ul.ui-autocomplete.rn-search-menu:not(:empty) {
    position: absolute !important;
    left: 0 !important;
    right: auto !important;
    top: calc(100% + 6px) !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: min(640px, calc(100vh - 160px)) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    margin: 0 !important;
    padding: 8px 0 !important;
    border: 1px solid var(--rn-border) !important;
    border-radius: 14px !important;
    background: #fff !important;
    color: #1a1714 !important;
    box-shadow: 0 16px 40px rgba(26,23,20,.18) !important;
    z-index: 10060 !important;
}
.ui-autocomplete .rn-search-result,
.ui-autocomplete .rn-search-empty,
.ui-autocomplete .rn-search-panel-head,
.ui-autocomplete li {
    color: #1a1714 !important;
    background: #fff !important;
}
.ui-autocomplete .ui-menu-item-wrapper {
    display: block !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: inherit !important;
}
/* Desktop/default row: [thumb] [info] [price | Add] */
.ui-autocomplete .rn-search-card,
.rn-search-menu .rn-search-card {
    display: grid !important;
    grid-template-columns: 60px minmax(0, 1fr) auto !important;
    grid-template-areas: "thumb info action" !important;
    align-items: center !important;
    gap: 12px 14px !important;
    float: none !important;
}
.ui-autocomplete .rn-search-thumb {
    grid-area: thumb !important;
    width: 60px !important;
    height: 80px !important;
    float: none !important;
}
.ui-autocomplete .rn-search-info {
    grid-area: info !important;
    min-width: 0 !important;
    float: none !important;
}
.ui-autocomplete .rn-search-action {
    grid-area: action !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 12px !important;
    float: none !important;
    position: relative !important;
}
.ui-autocomplete .rn-search-price {
    position: static !important;
    float: none !important;
    margin: 0 !important;
    white-space: nowrap !important;
}
.ui-autocomplete .rn-search-title,
.ui-autocomplete .rn-search-meta,
.ui-autocomplete .rn-search-tags,
.ui-autocomplete .rn-search-price {
    color: #1a1714 !important;
}
.ui-autocomplete .rn-search-meta,
.ui-autocomplete .rn-search-tags,
.ui-autocomplete .rn-search-tag {
    color: #6b645c !important;
}
.ui-autocomplete .ui-state-active,
.ui-autocomplete .ui-state-focus {
    background: #faf7f2 !important;
    border: 0 !important;
    margin: 0 !important;
}

@media (max-width: 767px) {
    header.typeheader-2 .header-middle .row {
        overflow: visible !important;
    }
    #sosearchpro,
    header.typeheader-2 .middle2 {
        position: relative !important;
        z-index: 10040 !important;
    }
    /* Defeat earlier mobile z-index:1 on search shell so dropdown paints above banner */
    #sosearchpro.so-search,
    #sosearchpro.sosearchpro-wrapper {
        z-index: 10040 !important;
    }
    /* Open panel only ? never style empty/closed menu (topbar white-box) */
    #sosearchpro .ui-autocomplete.rn-search-menu:not(:empty),
    #sosearchpro ul.ui-autocomplete.rn-search-menu:not(:empty) {
        position: absolute !important;
        top: calc(100% + 6px) !important;
        left: 0 !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: calc(100vw - 16px) !important;
        max-height: min(70vh, calc(100vh - 120px)) !important;
        z-index: 10060 !important;
    }
    /* Listing: show product grid on mobile */
    .rn-listing-shell #content,
    .rn-listing-page,
    .rn-product-grid,
    .products-list.rn-product-grid {
        display: block !important;
        width: 100% !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    .rn-product-grid .product-layout {
        display: block !important;
        width: 100% !important;
        float: none !important;
        margin-bottom: 14px !important;
    }
    .rn-search-results-head {
        display: flex !important;
        visibility: visible !important;
    }
}

/* =========================================================
   Product reviews (PDP + listing stars)
   ========================================================= */
.rn-review-stars {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    color: var(--rn-brand);
    line-height: 1;
}
.rn-review-stars .fa { font-size: 13px; }
.rn-review-stars--lg .fa { font-size: 18px; }
.rn-review-stars--compact {
    margin: 4px 0 6px;
    color: var(--rn-brand);
}
.rn-review-stars--compact .fa { font-size: 12px; }
.rn-review-stars__count {
    margin-left: 6px;
    color: var(--rn-muted);
    font-size: 12px;
    font-weight: 600;
}

.rn-reviews {
    margin: 28px 0 8px;
    padding: 22px 20px 20px;
    background: linear-gradient(180deg, #fffdf9 0%, #f7f2ea 100%);
    border: 1px solid var(--rn-border);
    border-radius: var(--rn-radius);
    box-shadow: var(--rn-shadow);
}
.rn-reviews__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--rn-border);
}
.rn-reviews__title {
    margin: 0 0 4px;
    font-family: var(--rn-display);
    font-size: 1.55rem;
    color: var(--rn-ink);
    letter-spacing: -.02em;
}
.rn-reviews__subtitle {
    margin: 0;
    color: var(--rn-muted);
    font-size: 14px;
}
.rn-reviews__alert {
    margin: 0 0 14px;
    padding: 10px 12px;
    border-radius: 10px;
    font-size: 14px;
}
.rn-reviews__alert--ok {
    background: #e8f5ee;
    color: var(--rn-success);
    border: 1px solid #c6e4d3;
}
.rn-reviews__alert--err {
    background: #fdecea;
    color: var(--rn-danger);
    border: 1px solid #f3c6c2;
}
.rn-reviews__list {
    display: grid;
    gap: 12px;
    margin-bottom: 20px;
}
.rn-reviews__empty {
    padding: 18px 14px;
    text-align: center;
    color: var(--rn-muted);
    background: rgba(255, 255, 255, .65);
    border: 1px dashed var(--rn-border);
    border-radius: 12px;
}
.rn-reviews__empty p { margin: 0; }
.rn-review-card {
    padding: 14px 16px;
    background: #fff;
    border: 1px solid var(--rn-border);
    border-radius: 12px;
}
.rn-review-card__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 6px 12px;
    margin-bottom: 6px;
}
.rn-review-card__author {
    color: var(--rn-ink);
    font-size: 14px;
}
.rn-review-card__date {
    color: var(--rn-muted);
    font-size: 12.5px;
}
.rn-review-card__text {
    margin: 8px 0 0;
    color: var(--rn-ink);
    font-size: 14.5px;
    line-height: 1.55;
    white-space: pre-wrap;
    word-break: break-word;
}
.rn-reviews__compose {
    padding-top: 16px;
    border-top: 1px solid var(--rn-border);
}
.rn-reviews__compose-title {
    margin: 0 0 12px;
    font-family: var(--rn-display);
    font-size: 1.2rem;
    color: var(--rn-ink);
}
.rn-reviews__login-prompt {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 16px;
    margin: 0;
    color: var(--rn-muted);
    font-size: 14px;
}
.rn-reviews__login-btn {
    display: inline-block;
    padding: 10px 18px;
    border-radius: 10px;
    background: var(--rn-brand);
    color: #1a1714 !important;
    font-weight: 700;
    border: 0;
}
.rn-reviews__login-btn:hover,
.rn-reviews__login-btn:focus {
    background: var(--rn-brand-dark);
    color: #fff !important;
}
.rn-reviews__already {
    margin: 0;
    padding: 12px 14px;
    background: var(--rn-brand-soft);
    border-radius: 10px;
    color: var(--rn-ink);
    font-size: 14px;
}
.rn-review-form__row { margin-bottom: 14px; }
.rn-review-form__label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
    font-size: 13.5px;
    color: var(--rn-ink);
}
.rn-review-form__rating,
.rn-review-form__text {
    border-radius: 10px !important;
    border-color: var(--rn-border) !important;
    box-shadow: none !important;
}
.rn-review-form__text { resize: vertical; min-height: 110px; }
.rn-review-form__hint {
    display: block;
    margin-top: 6px;
    color: var(--rn-muted);
    font-size: 12px;
}
.rn-review-form__submit {
    padding: 11px 22px;
    border-radius: 10px;
    background: var(--rn-ink) !important;
    border-color: var(--rn-ink) !important;
    color: #fff !important;
    font-weight: 700;
}
.rn-review-form__submit:hover,
.rn-review-form__submit:focus {
    background: var(--rn-brand-dark) !important;
    border-color: var(--rn-brand-dark) !important;
    color: #fff !important;
}

@media (max-width: 767px) {
    .rn-reviews {
        padding: 16px 14px;
        margin: 20px 0 4px;
    }
    .rn-reviews__header {
        flex-direction: column;
        align-items: flex-start;
    }
    .rn-reviews__title { font-size: 1.3rem; }
    .rn-reviews__login-prompt { flex-direction: column; align-items: stretch; }
    .rn-reviews__login-btn { text-align: center; }
    .rn-review-form__submit { width: 100%; }
}

/* Qty label vertical align */
.rn-qty-control label {
    display: inline-flex !important;
    align-items: center !important;
    align-self: center !important;
    margin: 0 8px 0 6px !important;
    line-height: 1 !important;
    height: 36px !important;
}
.rn-qty-control {
    align-items: center !important;
}

/* =========================================================
   Auth page: equal columns, top-aligned, no floating look
   ========================================================= */
.rn-auth-shell {
    max-width: 1100px;
}
.rn-auth-hero,
.account-flow-hero {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 16px !important;
    width: 100% !important;
    margin: 0 0 18px !important;
    padding: 18px 20px !important;
    border: 1px solid var(--rn-border) !important;
    border-radius: 16px !important;
    background: linear-gradient(180deg, #fff, #faf7f2) !important;
    box-sizing: border-box;
}
.rn-auth-page,
.page-login.rn-auth-page {
    width: 100%;
}
.rn-auth-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 18px !important;
    align-items: stretch !important;
    border: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}
.rn-auth-grid .row { display: contents !important; }
.rn-auth-col,
.rn-auth-grid .customer-login {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}
.rn-auth-col > form {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    height: 100%;
    margin: 0 !important;
}
.rn-auth-card,
.page-login .well.rn-auth-card {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-height: 100% !important;
    margin: 0 !important;
    padding: 22px !important;
    border: 1px solid var(--rn-border) !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(26,23,20,.05) !important;
}
.rn-auth-card--login {
    position: sticky;
    top: 12px;
}
.rn-auth-card__actions {
    margin-top: auto !important;
    padding-top: 12px;
}
.rn-auth-card__switch {
    margin: 14px 0 0 !important;
    text-align: center;
    font-size: 13px;
    font-weight: 600;
}
.rn-auth-card__switch a {
    color: var(--rn-ink);
    border-bottom: 2px solid var(--rn-brand);
}
@media (max-width: 991px) {
    .rn-auth-grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }
    .rn-auth-card--login {
        position: static;
    }
}

/* =========================================================
   Home: categories visible + tighter nav + card gaps
   ========================================================= */
.so-category-slider.cate-slider1 .item-sub-cat,
.rn-product-section.cate-slider1 .item-sub-cat {
    display: none !important; /* sale/latest ghost tabs only ? never hide genre .page-top/.modcontent */
}
/* Ensure bottom genre product rows stay visible (title + slider) */
.rn-product-section.cateslider2,
.rn-product-section.cateslider2 > .modcontent,
.rn-product-section.cateslider2 .page-top,
.rn-product-section.cateslider2 .categoryslider-content {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}
.rn-product-section.cateslider2 .page-title-categoryslider,
.rn-product-section.cateslider2 .page-title-categoryslider a {
    display: block !important;
    color: var(--rn-ink) !important;
    font-family: var(--rn-display);
    font-weight: 800;
    text-transform: uppercase;
    visibility: visible !important;
}
.rn-category-strip,
.rn-category-strip .modcontent,
.so-categories.rn-category-strip .modcontent {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: var(--rn-ink) !important;
}
.rn-category-strip {
    margin: 12px 0 24px !important;
    padding: 16px 14px 18px !important;
}
.rn-category-strip .modtitle,
.rn-category-strip .modtitle span {
    color: var(--rn-ink) !important;
    font-family: var(--rn-display);
    font-weight: 700;
}
.rn-category-strip .content-box {
    margin: 0 6px !important;
    background: #fff !important;
    border: 1px solid var(--rn-border) !important;
    border-radius: 14px !important;
    overflow: hidden;
    text-align: center;
}
.rn-category-strip .cat-title,
.rn-category-strip .cat-title a,
.so-categories .cat-title a {
    display: block !important;
    color: #1a1714 !important;
    font-weight: 800 !important;
    font-size: 13px !important;
    padding: 8px 8px 12px !important;
    text-transform: uppercase;
    letter-spacing: .02em;
}
/* Category tiles: fixed media box + cover so images fill evenly (not tiny strips) */
.rn-category-strip .image-cat {
    padding: 10px 10px 0;
}
.rn-category-strip .image-cat a {
    display: block !important;
    position: relative;
    height: 140px;
    overflow: hidden;
    border-radius: 10px;
    background: #f3efe8;
}
.rn-category-strip .image-cat img {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    max-width: none !important;
    object-fit: cover;
    object-position: center center;
    display: block;
    margin: 0;
    border-radius: 0;
}
@media (max-width: 767px) {
    .rn-category-strip .image-cat a {
        height: 120px;
    }
}
.rn-category-strip .owl-item,
.rn-category-strip .yt-content-slide {
    padding: 0 !important;
}
.rn-category-strip .owl-wrapper-outer {
    margin: 0 !important;
}

/* Nav: no space-between stretch */
header.typeheader-2 .header-bottom .container > .row {
    justify-content: flex-start !important;
}
header.typeheader-2 .container-megamenu.horizontal,
.typeheader-2 .container-megamenu.horizontal {
    flex: 0 1 auto !important;
    width: auto !important;
    max-width: none !important;
}
header.typeheader-2 .megamenu-style-dev .horizontal ul.megamenu,
.typeheader-2 .container-megamenu.horizontal ul.megamenu {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    float: none !important;
    width: auto !important;
    gap: 0 !important;
}
header.typeheader-2 .megamenu-style-dev .horizontal ul.megamenu > li,
.typeheader-2 .container-megamenu.horizontal ul.megamenu > li {
    float: none !important;
    margin: 0 2px 0 0 !important;
    padding: 0 !important;
}
header.typeheader-2 .megamenu-style-dev .horizontal ul.megamenu > li > a,
.typeheader-2 .container-megamenu.horizontal ul.megamenu > li > a {
    padding: 8px 6px !important;
    font-size: 12px !important;
    letter-spacing: .01em !important;
}

/* =========================================================
   PRIORITY: All Categories vertical menu ? ink on light
   (Previous dark-text-on-dark rules fought theme #f5f5f5 panel)
   ========================================================= */
.container-megamenu.vertical .vertical-wrapper,
.typeheader-2 .container-megamenu.vertical .vertical-wrapper,
.container-megamenu.vertical .vertical-wrapper .megamenu-pattern,
.container-megamenu.vertical .vertical-wrapper ul.megamenu,
.typeheader-2 .container-megamenu.vertical .vertical-wrapper ul.megamenu {
    background: #faf7f2 !important;
    background-color: #faf7f2 !important;
    color: #1a1714 !important;
    border: 1px solid #e8e0d4 !important;
    box-shadow: 0 12px 28px rgba(26,23,20,.12) !important;
}

.container-megamenu.vertical .vertical-wrapper ul.megamenu > li,
.container-megamenu.vertical .vertical-wrapper ul.megamenu > li > a,
.container-megamenu.vertical .vertical-wrapper ul.megamenu > li > a strong,
.container-megamenu.vertical .vertical-wrapper ul.megamenu > li > a span,
.typeheader-2 .container-megamenu.vertical .vertical-wrapper ul.megamenu > li > a,
.typeheader-2 .container-megamenu.vertical .vertical-wrapper ul.megamenu > li > a strong,
.vertical-wrapper ul.megamenu > li > a,
.vertical-wrapper .megamenu > li > a {
    color: #1a1714 !important;
}

.container-megamenu.vertical .vertical-wrapper ul.megamenu > li:hover,
.container-megamenu.vertical .vertical-wrapper ul.megamenu > li.active {
    background: #fff !important;
}

.container-megamenu.vertical .vertical-wrapper ul.megamenu > li:hover > a,
.container-megamenu.vertical .vertical-wrapper ul.megamenu > li.active > a,
.container-megamenu.vertical .vertical-wrapper ul.megamenu > li > a:hover,
.container-megamenu.vertical .vertical-wrapper ul.megamenu > li > a:hover strong {
    color: #c48900 !important;
}

.container-megamenu.vertical .vertical-wrapper ul.megamenu > li.with-sub-menu > a .fa-angle-right:before,
.container-megamenu.vertical .vertical-wrapper ul.megamenu > li.with-sub-menu > a::before {
    color: #6b645c !important;
}

.container-megamenu.vertical .vertical-wrapper ul.megamenu .loadmore,
.container-megamenu.vertical .vertical-wrapper ul.megamenu .loadmore .more-view,
.container-megamenu.vertical .vertical-wrapper ul.megamenu .loadmore i {
    color: #1a1714 !important;
}

/* Expanded / flyout submenu panels */
.container-megamenu.vertical .vertical-wrapper ul.megamenu > li > .sub-menu,
.container-megamenu.vertical .vertical-wrapper ul.megamenu > li > .sub-menu .content,
.container-megamenu.vertical .vertical-wrapper ul.megamenu .sub-menu .content,
.container-megamenu.vertical .vertical-wrapper .subcategory,
.container-megamenu.vertical .vertical-wrapper ul.megamenu .item-vertical.css-menu .content,
.container-megamenu.vertical .vertical-wrapper ul.megamenu .item-vertical.css-menu .content .menu ul,
ul.megamenu li .sub-menu .content,
.vertical-wrapper ul.megamenu .sub-menu .content {
    background: #fff !important;
    background-color: #fff !important;
    color: #1a1714 !important;
    border: 1px solid #e8e0d4 !important;
    box-shadow: 0 10px 24px rgba(26,23,20,.1) !important;
}

.container-megamenu.vertical .vertical-wrapper ul.megamenu .sub-menu .content a,
.container-megamenu.vertical .vertical-wrapper ul.megamenu .sub-menu .content a.main-menu,
.container-megamenu.vertical .vertical-wrapper ul.megamenu .sub-menu .content .static-menu .menu > ul li a,
.container-megamenu.vertical .vertical-wrapper ul.megamenu .sub-menu .content ul.subcategory .menu ul li a,
.container-megamenu.vertical .vertical-wrapper ul.megamenu .item-vertical.css-menu .content .menu ul li > a,
.container-megamenu.vertical .vertical-wrapper ul.megamenu .sub-menu .content *,
.vertical-wrapper .sub-menu a,
.vertical-wrapper .sub-menu span,
.vertical-wrapper .subcategory a,
.vertical-wrapper .content .title,
ul.megamenu li .sub-menu a,
ul.megamenu .sub-menu .content a,
ul.megamenu .sub-menu .content *,
.megamenu .subcategory a,
.megamenu .subcategory span,
.megamenu .row-list a {
    color: #1a1714 !important;
}

.container-megamenu.vertical .vertical-wrapper ul.megamenu .sub-menu .content a:hover,
.container-megamenu.vertical .vertical-wrapper ul.megamenu .item-vertical.css-menu .content .menu ul li:hover > a,
.vertical-wrapper .sub-menu a:hover,
ul.megamenu li .sub-menu a:hover,
.megamenu .subcategory a:hover {
    color: #c48900 !important;
}

/* Account / listing left category accordion */
.box-category,
.box-category > ul,
.box-category ul li,
#column-left .box-category {
    background: #faf7f2 !important;
    color: #1a1714 !important;
}
.box-category a,
.box-category > ul > li > a,
.box-category > ul > li a.accordion-toggle,
.box-category a.accordion-toggle,
.box-category .accordion-body a,
#column-left .box-category a {
    color: #1a1714 !important;
}
.box-category a:hover,
.box-category > ul > li > a:hover {
    color: #c48900 !important;
}

/* Desktop horizontal megamenu flyouts stay readable too */
@media (min-width: 992px) {
    .container-megamenu.horizontal ul.megamenu > li .sub-menu .content,
    .megamenu-style-dev .horizontal ul.megamenu > li .sub-menu .content {
        background: #fff !important;
        color: #1a1714 !important;
    }
    .container-megamenu.horizontal ul.megamenu > li .sub-menu .content a,
    .megamenu-style-dev .horizontal ul.megamenu > li .sub-menu a {
        color: #1a1714 !important;
    }
    .container-megamenu.horizontal ul.megamenu > li .sub-menu .content a:hover {
        color: #c48900 !important;
    }
}

/* Mobile offcanvas: keep light panel + ink (not white-on-grey) */
@media (max-width: 991px) {
    .megamenu-wrapper,
    .vertical-wrapper,
    .navbar-offcanvas,
    .megamenu-style-dev .navbar-offcanvas {
        background: #faf7f2 !important;
        color: #1a1714 !important;
    }
    .megamenu-wrapper a,
    .vertical-wrapper a,
    .navbar-offcanvas a {
        color: #1a1714 !important;
    }
}

/* =========================================================
   Polish pass: tighter nav, category contrast, hero height
   ========================================================= */
header.typeheader-2 .megamenu-style-dev .horizontal ul.megamenu > li > a,
.typeheader-2 .container-megamenu.horizontal ul.megamenu > li > a,
header.typeheader-2 .container-megamenu.horizontal ul.megamenu > li > a {
    padding: 8px 6px !important;
    line-height: 1.2 !important;
    font-size: 12px !important;
}
header.typeheader-2 .header-bottom {
    min-height: 0 !important;
}
header.typeheader-2 .header-bottom .container > .row {
    min-height: 44px !important;
}

.rn-category-strip {
    background: #faf7f2 !important;
    border: 1px solid #e0d7ca !important;
    box-shadow: 0 6px 18px rgba(26,23,20,.05) !important;
    margin: 8px 0 12px !important;
    padding: 14px 12px 12px !important;
}
.rn-category-strip > .form-group {
    display: none !important;
    margin: 0 !important;
    height: 0 !important;
}
.rn-category-strip .modtitle,
.rn-category-strip .modtitle span,
.rn-category-strip .cat-title,
.rn-category-strip .cat-title a {
    color: #1a1714 !important;
}
.rn-category-strip .content-box {
    background: #fff !important;
    border-color: #e0d7ca !important;
}
.rn-promo-banner {
    margin: 8px 0 10px !important;
}
.so-category-slider.cate-slider1.rn-product-section,
.rn-product-section.so-category-slider {
    margin-top: 6px !important;
}
.so-category-slider.cate-slider1 .modtitle,
.rn-product-section > .modtitle,
#content .rn-product-section h4.modtitle {
    margin-top: 8px !important;
    margin-bottom: 12px !important;
}

@media (min-width: 992px) {
    .rn-hero-grid.row {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
    }
    .rn-hero-grid > .col-left,
    .rn-hero-grid > .col-right {
        float: none !important;
        display: flex !important;
        flex-direction: column !important;
        align-self: stretch !important;
    }
    .rn-hero-grid > .col-left {
        width: 66.66666667% !important;
    }
    .rn-hero-grid > .col-right {
        width: 33.33333333% !important;
    }
    .rn-home-slider,
    .module.sohomepage-slider.rn-home-slider,
    .rn-side-banners {
        flex: 1 1 auto !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 360px !important;
        margin-bottom: 0 !important;
    }
    .rn-home-slider .yt-content-slider,
    .rn-home-slider .owl-wrapper-outer,
    .rn-home-slider .owl-wrapper,
    .rn-home-slider .owl-item,
    .rn-home-slider .yt-content-slide,
    .rn-home-slider .yt-content-slide a {
        height: 100% !important;
        min-height: 360px !important;
    }
    .rn-home-slider img {
        width: 100% !important;
        height: 100% !important;
        min-height: 360px !important;
        max-height: none !important;
        object-fit: cover !important;
    }
    .rn-side-banners {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        grid-template-rows: 1fr 1fr !important;
        gap: 10px !important;
        align-content: stretch !important;
    }
    .rn-side-banners a {
        min-height: 0 !important;
        height: 100% !important;
        margin: 0 !important;
    }
    .rn-side-banners img {
        min-height: 0 !important;
        height: 100% !important;
        object-fit: cover !important;
    }
}

/* =========================================================
   Home spacing + title overlap fix
   Theme leftovers (modtitle top:36px, 80% slider for missing
   sidebar image, floated genre titles) created a tall empty
   band between Sale ? Latest and stacked/overlapping names.
   Keep category-strip media box at ~140px + object-fit:cover.
   ========================================================= */

/* Ghost tabs under Sale/Latest must not reserve height */
.so-category-slider.cate-slider1 > .modcontent.rn-ghost-modcontent,
.rn-product-section.cate-slider1 > .modcontent.rn-ghost-modcontent,
.so-category-slider.cate-slider1 > .modcontent[aria-hidden="true"],
.rn-product-section.cate-slider1 > .modcontent[aria-hidden="true"] {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    visibility: hidden !important;
}

/* Kill theme "top: 36px" title offset that leaves empty flow + overlaps */
.so-category-slider.container-slider .modtitle,
.so-category-slider.cate-slider1 .modtitle,
.rn-product-section > .modtitle,
#content .rn-product-section h3.modtitle,
#content .rn-product-section h4.modtitle,
.layout-2.common-home #content .rn-product-section h3.modtitle,
.layout-2.common-home #content .rn-product-section h4.modtitle {
    position: relative !important;
    top: 0 !important;
    float: none !important;
    clear: both !important;
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 10px 0 14px !important;
    padding: 0 0 12px !important;
    border-bottom: 0 !important;
    z-index: 2;
    overflow: visible !important;
    line-height: 1.25 !important;
}

/* Intentional gold accent under section titles (not a clipped stub) */
.so-category-slider.container-slider .modtitle:after,
.so-category-slider.cate-slider1 .modtitle:after,
.rn-product-section > .modtitle:after,
#content .rn-product-section h3.modtitle:after,
#content .rn-product-section h4.modtitle:after,
.rn-product-section.cateslider2 .page-title-categoryslider:after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    width: 56px !important;
    height: 3px !important;
    border-radius: 999px !important;
    background: var(--rn-brand) !important;
    z-index: 3 !important;
    pointer-events: none;
}

/* No missing sidebar: theme reserved 20% for .item-cat-image */
.rn-product-section .category-slider-inner,
.rn-product-section .slider.category-slider-inner,
.so-category-slider.cate-slider1 .category-slider-inner,
.so-category-slider.container-slider.rn-product-section .category-slider-inner {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.rn-product-section .item-cat-image,
.so-category-slider.cate-slider1 .item-cat-image {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Owl stage must hug content ? no leftover tall empty band */
.rn-product-section .owl2-stage-outer,
.rn-product-section .owl-stage-outer,
.rn-product-section .owl2-stage,
.rn-product-section .owl-stage,
.rn-category-strip .owl2-stage-outer,
.rn-category-strip .owl-stage-outer,
.rn-category-strip .owl2-stage,
.rn-category-strip .owl-stage {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
}
.rn-product-section .categoryslider-content,
.so-category-slider.cate-slider1 .categoryslider-content {
    margin: 0 !important;
    padding: 0 !important;
    clear: both !important;
    overflow: visible !important;
}

/* Tight, even gaps between home blocks (~24?32px) */
.rn-category-strip,
.so-category-slider.cate-slider1.rn-product-section,
.rn-product-section.so-category-slider,
.rn-product-section.cateslider2 {
    margin: 12px 0 28px !important;
    padding-top: 0 !important;
    padding-bottom: 8px !important;
    clear: both !important;
    overflow: visible !important;
}
.rn-promo-banner {
    margin: 8px 0 16px !important;
}

/* Genre rows (cateslider2): titles stack cleanly, no float overlap */
.rn-product-section.cateslider2 {
    position: relative !important;
    z-index: 1;
}
.rn-product-section.cateslider2 + .rn-product-section.cateslider2 {
    margin-top: 28px !important;
}
.rn-product-section.cateslider2 .page-top {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    position: relative !important;
    margin: 0 0 12px !important;
    padding: 0 0 10px !important;
    border: 0 !important;
    border-bottom: 0 !important;
    background: transparent !important;
    z-index: 2;
}
.rn-product-section.cateslider2 .page-title-categoryslider,
.rn-product-section.cateslider2 .page-title-categoryslider a {
    float: none !important;
    position: relative !important;
    bottom: auto !important;
    top: auto !important;
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: var(--rn-ink) !important;
    font-family: var(--rn-display);
    font-size: 22px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    text-transform: none !important;
    border-radius: 0 !important;
    z-index: 2;
}
.rn-product-section.cateslider2 .page-title-categoryslider {
    padding-bottom: 10px !important;
}

/* Category strip titles stay under tiles (no absolute bleed) */
.rn-category-strip .content-box {
    position: relative !important;
    overflow: hidden !important;
}
.rn-category-strip .cat-title,
.rn-category-strip .cat-title a {
    position: static !important;
    float: none !important;
    clear: both !important;
    line-height: 1.3 !important;
    white-space: normal !important;
}

/* =========================================================
   PROFESSIONAL MOBILE HEADER (?991px)
   Stacked: logo|cart ? search ? All Categories bar
   Must stay AFTER desktop home-spacing rules above.
   Does NOT touch modtitle/slider/cateslider2/category-strip.
   ========================================================= */
@media (max-width: 991px) {
    /* --- Layer order --- */
    header#header.typeheader-2 {
        position: relative !important;
        z-index: 100 !important;
        overflow: visible !important;
    }
    header.typeheader-2 .header-top {
        position: relative !important;
        z-index: 1 !important;
        padding: 6px 10px !important;
        min-height: 0 !important;
        background: #fff !important;
        border-bottom: 1px solid var(--rn-border, #e0d7ca) !important;
    }
    header.typeheader-2 .header-top .rn-top-welcome {
        display: block !important;
        font-size: 11px !important;
        line-height: 1.3 !important;
        margin: 0 0 4px !important;
        white-space: normal !important;
    }
    header.typeheader-2 .header-top .rn-top-contact {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 6px 10px !important;
        font-size: 11px !important;
        float: none !important;
        width: 100% !important;
        justify-content: flex-start !important;
    }
    header.typeheader-2 .header-top .account {
        display: none !important;
    }

    /* --- Row 1 + 2: logo | cart, then search --- */
    header.typeheader-2 .header-middle {
        position: relative !important;
        z-index: 20 !important;
        padding: 12px 0 !important;
        background: #fff !important;
        overflow: visible !important;
        min-height: 0 !important;
    }
    header.typeheader-2 .header-middle .container {
        overflow: visible !important;
    }
    header.typeheader-2 .header-middle .row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas:
            "logo cart"
            "search search" !important;
        gap: 12px !important;
        align-items: center !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        overflow: visible !important;
    }
    header.typeheader-2 .navbar-logo,
    header.typeheader-2 .middle2,
    header.typeheader-2 .middle3,
    header.typeheader-2 .header-middle [class*="col-"] {
        position: static !important;
        float: none !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        bottom: auto !important;
        transform: none !important;
        margin: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        clear: none !important;
    }
    header.typeheader-2 .navbar-logo {
        grid-area: logo !important;
        width: auto !important;
        max-width: 100% !important;
        flex: none !important;
        z-index: 2 !important;
    }
    header.typeheader-2 .navbar-logo .logo {
        display: inline-block !important;
        line-height: 0 !important;
    }
    header.typeheader-2 .navbar-logo .logo img {
        display: block !important;
        max-height: 42px !important;
        width: auto !important;
        max-width: 160px !important;
    }
    header.typeheader-2 .middle3 {
        grid-area: cart !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        display: flex !important;
        justify-content: flex-end !important;
        align-items: center !important;
        flex: none !important;
        z-index: 2 !important;
    }
    header.typeheader-2 .middle3 .login-w {
        display: none !important;
    }
    header.typeheader-2 .middle2 {
        grid-area: search !important;
        width: 100% !important;
        max-width: none !important;
        flex: none !important;
        z-index: 1 !important;
    }
    header.typeheader-2 .middle2 .search-header-w,
    header.typeheader-2 .middle2 #sosearchpro,
    header.typeheader-2 .middle2 #sosearchpro.so-search {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        width: 100% !important;
        margin: 0 !important;
        float: none !important;
        z-index: 1 !important;
        overflow: visible !important;
    }
    header.typeheader-2 .middle2 .icon-search {
        display: none !important;
    }
    header.typeheader-2 #sosearchpro .search,
    header.typeheader-2 #sosearchpro .search.input-group,
    .typeheader-2 #sosearchpro .search {
        position: relative !important;
        display: flex !important;
        align-items: stretch !important;
        width: 100% !important;
        height: 46px !important;
        margin: 0 !important;
        overflow: hidden !important;
        border-radius: 999px !important;
        background: #fff !important;
        border: 1.5px solid var(--rn-border, #e0d7ca) !important;
        box-shadow: 0 2px 8px rgba(26, 23, 20, .06) !important;
    }
    header.typeheader-2 #sosearchpro .select_category {
        display: none !important;
    }
    header.typeheader-2 #sosearchpro .autosearch-input,
    header.typeheader-2 #sosearchpro .search input.autosearch-input {
        position: static !important;
        float: none !important;
        flex: 1 1 auto !important;
        width: 1% !important;
        min-width: 0 !important;
        height: 46px !important;
        padding: 0 14px !important;
        font-size: 14px !important;
        background: #fff !important;
        color: var(--rn-ink, #1a1714) !important;
    }
    header.typeheader-2 #sosearchpro .input-group-btn {
        width: auto !important;
        display: flex !important;
        float: none !important;
    }
    header.typeheader-2 #sosearchpro .button-search,
    header.typeheader-2 #sosearchpro .search button {
        position: static !important;
        top: auto !important;
        right: auto !important;
        float: none !important;
        width: auto !important;
        min-width: 52px !important;
        height: 46px !important;
        border-radius: 0 !important;
        padding: 0 16px !important;
    }

    /* Cart icon only ? no dropdown overlay on tablet/phone */
    .typeheader-2 .shopping_cart,
    header.typeheader-2 .shopping_cart {
        float: none !important;
        position: relative !important;
        top: 0 !important;
        margin: 0 !important;
    }
    .typeheader-2 .shopping_cart .btn-shopping-cart .top_cart .shopcart {
        display: inline-flex !important;
        align-items: center !important;
        gap: 0 !important;
    }
    .typeheader-2 .shopping_cart .shopcart-inner .text-shopping-cart,
    .typeheader-2 .shopping_cart .shopcart-inner .items_cart2,
    .typeheader-2 .shopping_cart .shopcart-inner .items_carts {
        display: none !important;
    }
    .typeheader-2 .shopping_cart .btn-shopping-cart .top_cart .icon-c {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 42px !important;
        height: 42px !important;
        border-radius: 50% !important;
        background: #f5f1ea !important;
        color: var(--rn-ink, #1a1714) !important;
        font-size: 18px !important;
    }
    .typeheader-2 .shopping_cart .btn-shopping-cart .top_cart .shopcart-inner {
        position: absolute !important;
        top: -2px !important;
        right: -2px !important;
        padding: 0 !important;
        float: none !important;
        width: auto !important;
        pointer-events: none !important;
    }
    .typeheader-2 .shopping_cart .btn-shopping-cart .top_cart .shopcart-inner .total-shopping-cart .items_cart,
    .typeheader-2 .shopping_cart .items_cart {
        position: static !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 20px !important;
        height: 20px !important;
        padding: 0 5px !important;
        border-radius: 999px !important;
        background: #1a1714 !important;
        color: #fff !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        border: 2px solid #fff !important;
    }
    .typeheader-2 .shopping_cart .dropdown-menu,
    .typeheader-2 .shopping_cart .shoppingcart-box {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    /* --- Row 3: All Categories control --- */
    header.typeheader-2 .header-bottom {
        position: relative !important;
        z-index: 15 !important;
        background: #fff !important;
        border-top: 1px solid var(--rn-border, #e0d7ca) !important;
        min-height: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }
    header.typeheader-2 .header-bottom .container > .row {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        gap: 0 !important;
        min-height: 48px !important;
        margin: 0 !important;
    }
    header.typeheader-2 .header-bottom .bottom1.menu-vertical,
    header.typeheader-2 .header-bottom .menu-vertical {
        float: none !important;
        width: 100% !important;
        max-width: none !important;
        flex: 1 1 auto !important;
        padding: 0 !important;
        margin: 0 !important;
        position: relative !important;
    }
    /* Hide desktop absolute "All Categories" heading ? it overlaps search */
    header.typeheader-2 .container-megamenu.vertical #menuHeading,
    .typeheader-2 .container-megamenu.vertical #menuHeading {
        display: none !important;
    }
    /* Show mobile All Categories button (was force-hidden earlier) */
    header.typeheader-2 .header-bottom .vertical .navbar-header,
    .megamenu-style-dev .navbar-default .vertical .navbar-header,
    .megamenu-style-dev .navbar-default .vertical .navbar-header .navbar-toggle,
    header.typeheader-2 .rn-mobile-cats,
    .rn-mobile-cats {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    header.typeheader-2 .header-bottom .vertical .navbar-header {
        float: none !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    .rn-mobile-cats,
    header.typeheader-2 .rn-mobile-cats.navbar-toggle,
    .megamenu-style-dev .navbar-default .vertical .navbar-header .navbar-toggle.rn-mobile-cats {
        float: none !important;
        width: 100% !important;
        max-width: none !important;
        height: 48px !important;
        min-height: 48px !important;
        margin: 0 !important;
        padding: 0 14px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: var(--rn-brand, #e0a100) !important;
        color: #1a1714 !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 12px !important;
        box-shadow: none !important;
        cursor: pointer !important;
    }
    .rn-mobile-cats__bars {
        display: inline-flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        gap: 4px !important;
        width: 22px !important;
        flex: 0 0 auto !important;
    }
    .rn-mobile-cats__bars .icon-bar,
    .rn-mobile-cats .icon-bar {
        display: block !important;
        width: 22px !important;
        height: 2px !important;
        margin: 0 !important;
        background: #1a1714 !important;
        border-radius: 1px !important;
    }
    .rn-mobile-cats__label {
        display: inline-block !important;
        visibility: visible !important;
        opacity: 1 !important;
        font-family: var(--rn-font, inherit) !important;
        font-size: 15px !important;
        font-weight: 800 !important;
        letter-spacing: .02em !important;
        text-transform: none !important;
        color: #1a1714 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }
    /* Horizontal hamburger alone is redundant on mobile ? hide it */
    header.typeheader-2 .header-bottom .main-menu-w,
    header.typeheader-2 .container-megamenu.horizontal .navbar-header,
    .megamenu-style-dev .navbar-default .horizontal .navbar-toggle {
        display: none !important;
    }
    header.typeheader-2 .container-megamenu.horizontal .megamenu-wrapper {
        display: none !important;
    }

    /* Backdrop: tap outside drawer to close */
    .rn-cats-backdrop {
        display: block !important;
        position: fixed !important;
        inset: 0 !important;
        z-index: 10070 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: rgba(26, 23, 20, .42) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transition: opacity .28s ease, visibility 0s linear .28s !important;
        -webkit-tap-highlight-color: transparent;
    }
    .rn-cats-backdrop.is-open {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transition: opacity .28s ease, visibility 0s linear 0s !important;
    }

    /* Body scroll lock ONLY while drawer open (cleared on close) */
    html.rn-cats-open,
    body.rn-cats-open {
        overflow: hidden !important;
        overscroll-behavior: none !important;
    }

    /* Vertical category drawer: slide-in panel */
    .container-megamenu.vertical .vertical-wrapper,
    .so-vertical-menu .vertical-wrapper,
    header.typeheader-2 .container-megamenu.vertical .vertical-wrapper {
        display: flex !important;
        flex-direction: column !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        bottom: 0 !important;
        width: min(320px, 88vw) !important;
        max-width: 320px !important;
        max-height: 100vh !important;
        max-height: 100dvh !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #faf7f2 !important;
        color: #1a1714 !important;
        z-index: 10080 !important;
        overflow: hidden !important;
        visibility: hidden !important;
        opacity: 1 !important;
        pointer-events: none !important;
        transform: translate3d(-105%, 0, 0) !important;
        transition: transform .28s ease, visibility 0s linear .28s !important;
        border: 0 !important;
        border-right: 1px solid #e8e0d4 !important;
        box-shadow: 8px 0 28px rgba(26, 23, 20, .18) !important;
    }
    .container-megamenu.vertical .vertical-wrapper.so-vertical-active,
    .so-vertical-menu .vertical-wrapper.so-vertical-active,
    header.typeheader-2 .container-megamenu.vertical .vertical-wrapper.so-vertical-active {
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translate3d(0, 0, 0) !important;
        transition: transform .28s ease, visibility 0s linear 0s !important;
    }

    /* Drawer header + obvious close */
    .vertical-wrapper .rn-cats-drawer-head {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex: 0 0 auto !important;
        gap: 8px !important;
        min-height: 52px !important;
        padding: 8px 10px 8px 16px !important;
        background: #fff !important;
        border-bottom: 1px solid #e8e0d4 !important;
    }
    .vertical-wrapper .rn-cats-drawer-title {
        font-family: var(--rn-font, inherit) !important;
        font-size: 15px !important;
        font-weight: 800 !important;
        color: #1a1714 !important;
        letter-spacing: .01em !important;
        line-height: 1.2 !important;
    }
    .vertical-wrapper #remove-verticalmenu,
    .vertical-wrapper .rn-cats-close,
    .megamenu-style-dev .navbar-default .vertical #remove-verticalmenu {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 auto !important;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 50% !important;
        background: transparent !important;
        color: #1a1714 !important;
        font-size: 20px !important;
        line-height: 1 !important;
        text-align: center !important;
        cursor: pointer !important;
        -webkit-tap-highlight-color: transparent;
    }
    .vertical-wrapper #remove-verticalmenu:hover,
    .vertical-wrapper #remove-verticalmenu:focus,
    .vertical-wrapper .rn-cats-close:hover,
    .vertical-wrapper .rn-cats-close:focus {
        background: var(--rn-brand-soft, #fff6df) !important;
        color: #1a1714 !important;
        outline: none !important;
    }
    .vertical-wrapper #remove-verticalmenu .fa,
    .vertical-wrapper .rn-cats-close .fa {
        color: inherit !important;
        font-size: 18px !important;
        line-height: 1 !important;
    }

    /* Scrollable list area only */
    .vertical-wrapper .megamenu-pattern,
    .vertical-wrapper .container-mega {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: column !important;
    }
    .vertical-wrapper ul.megamenu,
    .container-megamenu.vertical .vertical-wrapper ul.megamenu {
        display: block !important;
        flex: 1 1 auto !important;
        max-height: none !important;
        height: auto !important;
        margin: 0 !important;
        padding: 6px 0 28px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior: contain !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }
    .vertical-wrapper ul.megamenu > li.item-vertical,
    .container-megamenu.vertical .vertical-wrapper ul.megamenu > li.item-vertical {
        display: block !important;
        visibility: visible !important;
        position: relative !important;
        height: auto !important;
        min-height: 46px !important;
        max-height: none !important;
        overflow: visible !important;
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
        border-top: 0 !important;
        border-bottom: 1px solid rgba(26, 23, 20, .06) !important;
        background: transparent !important;
    }

    /* Row layout: [icon] [title] [expand] */
    .vertical-wrapper ul.megamenu > li.item-vertical > a,
    .vertical-wrapper ul.megamenu > li.item-vertical > a.rn-cat-link,
    .container-megamenu.vertical .vertical-wrapper ul.megamenu > li.item-vertical > a {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        min-height: 46px !important;
        height: auto !important;
        padding: 12px 48px 12px 14px !important;
        margin: 0 !important;
        color: #1a1714 !important;
        background: transparent !important;
        line-height: 1.25 !important;
        text-decoration: none !important;
    }
    .vertical-wrapper ul.megamenu > li.item-vertical > a:hover,
    .vertical-wrapper ul.megamenu > li.item-vertical > a:focus {
        background: #fff !important;
        color: #c48900 !important;
    }
    .vertical-wrapper ul.megamenu > li.item-vertical > a img,
    .vertical-wrapper ul.megamenu > li.item-vertical > a .rn-cat-icon,
    .container-megamenu.vertical .vertical-wrapper ul.megamenu > li > a img {
        display: block !important;
        flex: 0 0 22px !important;
        width: 22px !important;
        height: 22px !important;
        max-width: 22px !important;
        margin: 0 !important;
        float: none !important;
        object-fit: contain !important;
    }
    .vertical-wrapper ul.megamenu > li.item-vertical > a span,
    .vertical-wrapper ul.megamenu > li.item-vertical > a .rn-cat-title,
    .vertical-wrapper ul.megamenu > li.item-vertical > a strong {
        display: block !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        color: inherit !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        line-height: 1.25 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        float: none !important;
    }

    /* Soften crude grey + strip → subtle circular chevron */
    .vertical-wrapper ul.megamenu > li.hover:before,
    .vertical-wrapper ul.megamenu > li.click:before,
    .megamenu-style-dev .navbar-default .vertical .vertical-wrapper ul.megamenu > li.hover:before,
    .megamenu-style-dev.responsive ul.megamenu > li.hover:before,
    .responsive ul.megamenu > li.hover:before {
        content: "\f107" !important;
        font-family: FontAwesome !important;
        position: absolute !important;
        top: 50% !important;
        right: 10px !important;
        left: auto !important;
        z-index: 5 !important;
        width: 28px !important;
        height: 28px !important;
        margin-top: -14px !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 50% !important;
        border: 1px solid #e5dfd4 !important;
        background: #fff !important;
        color: #6b645c !important;
        font-size: 14px !important;
        font-weight: 400 !important;
        line-height: 28px !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }
    .vertical-wrapper ul.megamenu > li.active:before,
    .vertical-wrapper ul.megamenu > li.hover.active:before {
        content: "\f106" !important;
        border-color: var(--rn-brand, #e0a100) !important;
        color: #1a1714 !important;
        background: var(--rn-brand-soft, #fff6df) !important;
    }
    .vertical-wrapper ul.megamenu > li.active .close-menu,
    .megamenu-style-dev .navbar-default .vertical .vertical-wrapper ul.megamenu > li.active .close-menu {
        display: block !important;
        position: absolute !important;
        top: 50% !important;
        right: 10px !important;
        z-index: 6 !important;
        width: 28px !important;
        height: 28px !important;
        margin: -14px 0 0 !important;
        padding: 0 !important;
        border-radius: 50% !important;
        border: 1px solid var(--rn-brand, #e0a100) !important;
        background: var(--rn-brand-soft, #fff6df) !important;
        text-align: center !important;
        cursor: pointer !important;
    }
    .vertical-wrapper ul.megamenu > li.active .close-menu:before {
        content: "\f106" !important;
        font-family: FontAwesome !important;
        color: #1a1714 !important;
        font-size: 14px !important;
        line-height: 26px !important;
    }

    /* Nested sub-menu inside mobile drawer */
    .vertical-wrapper ul.megamenu > li > .sub-menu {
        position: static !important;
        width: 100% !important;
        left: auto !important;
        top: auto !important;
        box-shadow: none !important;
        border: 0 !important;
    }
    .vertical-wrapper ul.megamenu > li > .sub-menu .content {
        padding: 4px 12px 10px 40px !important;
        box-shadow: none !important;
        border: 0 !important;
        background: #fff !important;
    }
}

/* Desktop: never leave mobile scroll lock / backdrop behind */
@media (min-width: 992px) {
    html.rn-cats-open,
    body.rn-cats-open {
        overflow: visible !important;
        position: static !important;
        top: auto !important;
        width: auto !important;
    }
    .rn-cats-backdrop {
        display: none !important;
    }
    .vertical-wrapper .rn-cats-drawer-head {
        display: none !important;
    }
}


@media (max-width: 767px) {
    /* Phone: slightly tighter logo, keep same stack */
    header.typeheader-2 .navbar-logo .logo img {
        max-height: 38px !important;
        max-width: 140px !important;
    }
    header.typeheader-2 .header-middle {
        padding: 10px 0 !important;
    }
    header.typeheader-2 .header-middle .row {
        gap: 10px !important;
    }
}

/* =========================================================
   Mobile search autocomplete stacking (AFTER professional header)
   - Preserves logo|cart|search|All Categories layout
   - NEVER display:block on .ui-autocomplete
   - Empty menus stay display:none via :empty rules above
   ========================================================= */
@media (max-width: 991px) {
    header.typeheader-2 .header-middle {
        z-index: 40 !important;
        overflow: visible !important;
    }
    header.typeheader-2 .middle2 #sosearchpro,
    header.typeheader-2 .middle2 #sosearchpro.so-search {
        z-index: 50 !important;
        overflow: visible !important;
    }
    header.typeheader-2 .middle2 #sosearchpro .ui-autocomplete.rn-search-menu:not(:empty),
    header.typeheader-2 .middle2 #sosearchpro ul.ui-autocomplete.rn-search-menu:not(:empty) {
        position: absolute !important;
        top: calc(100% + 6px) !important;
        left: 0 !important;
        width: 100% !important;
        max-width: calc(100vw - 16px) !important;
        max-height: min(70vh, calc(100vh - 120px)) !important;
        z-index: 10060 !important;
    }

    /* Result row: thumb|info on row 1, price|Add on row 2 ? never overlay thumb */
    .ui-autocomplete .rn-search-card,
    .rn-search-menu .rn-search-card,
    #sosearchpro .rn-search-menu .rn-search-card {
        display: grid !important;
        grid-template-columns: 60px minmax(0, 1fr) !important;
        grid-template-areas: "thumb info" "action action" !important;
        align-items: start !important;
        gap: 10px 12px !important;
        padding: 12px !important;
    }
    .ui-autocomplete .rn-search-thumb,
    .rn-search-menu .rn-search-thumb {
        grid-area: thumb !important;
        width: 60px !important;
        height: 80px !important;
        max-width: 60px !important;
        float: none !important;
        position: relative !important;
    }
    .ui-autocomplete .rn-search-info,
    .rn-search-menu .rn-search-info {
        grid-area: info !important;
        min-width: 0 !important;
        float: none !important;
    }
    .ui-autocomplete .rn-search-title {
        display: -webkit-box !important;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden !important;
        max-height: 2.7em;
    }
    .ui-autocomplete .rn-search-action,
    .rn-search-menu .rn-search-action {
        grid-area: action !important;
        grid-column: 1 / -1 !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 2px 0 0 !important;
        padding: 10px 0 0 !important;
        border-top: 1px solid #eef1f5;
        float: none !important;
        position: relative !important;
        text-align: left !important;
    }
    .ui-autocomplete .rn-search-price,
    .rn-search-menu .rn-search-price {
        position: static !important;
        float: none !important;
        margin: 0 !important;
        white-space: nowrap !important;
        line-height: 1.2 !important;
    }
    .ui-autocomplete .rn-search-add,
    .rn-search-menu .rn-search-add {
        flex: 0 0 auto !important;
        float: none !important;
        position: relative !important;
        margin: 0 !important;
        min-height: 36px !important;
    }
    .ui-autocomplete .rn-search-result,
    .ui-autocomplete li.rn-search-result {
        margin: 0 0 10px !important;
        padding: 0 8px !important;
        overflow: visible !important;
    }
}

/* Final home-page dimensions: prevent source images from stretching the hero. */
@media (min-width: 992px) {
    .rn-hero-grid.row {
        height: 420px !important;
        min-height: 420px !important;
        max-height: 420px !important;
    }
    .rn-home-slider,
    .module.sohomepage-slider.rn-home-slider,
    .rn-home-slider .yt-content-slider,
    .rn-home-slider .owl2-stage-outer,
    .rn-home-slider .owl2-stage,
    .rn-home-slider .owl2-item,
    .rn-home-slider .yt-content-slide,
    .rn-home-slider .yt-content-slide a,
    .rn-home-slider img,
    .rn-side-banners {
        height: 420px !important;
        min-height: 420px !important;
        max-height: 420px !important;
    }
    .rn-side-banners a,
    .rn-side-banners img {
        height: 100% !important;
        min-height: 0 !important;
        max-height: 100% !important;
    }
}

/* Final responsive containment overrides (kept last intentionally). */
@media (max-width: 767px) {
    header.typeheader-2 .header-middle .row::before,
    header.typeheader-2 .header-middle .row::after {
        display: none !important;
        content: none !important;
    }

    header.typeheader-2 .header-middle .row {
        position: relative !important;
    }

    header.typeheader-2 .middle3 {
        display: none !important;
    }

    .rn-listing-page,
    .rn-product-grid,
    .products-list.rn-product-grid,
    .rn-product-grid > .product-layout,
    .rn-product-grid .product-item-container,
    .rn-product-detail,
    .rn-product-detail #content,
    .rn-product-detail .product-view,
    .rn-product-detail .content-product-left,
    .rn-product-detail .content-product-right {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .rn-product-grid,
    .products-list.rn-product-grid,
    .rn-product-detail > .row,
    .rn-product-detail .product-view.row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .rn-product-grid > .product-layout {
        float: none !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .rn-product-grid .caption,
    .rn-product-grid .caption a,
    .rn-product-detail h1,
    .rn-product-detail .breadcrumb {
        max-width: 100% !important;
        overflow-wrap: anywhere;
    }
}

/* Homepage product/category polish: keep sliders compact and cards aligned. */
.common-home #content .rn-category-strip,
.common-home #content .rn-product-section {
    width: 100% !important;
    max-width: 100% !important;
    clear: both !important;
    box-sizing: border-box !important;
}

.common-home #content .rn-category-strip {
    margin: 14px 0 24px !important;
    padding: 16px !important;
    border: 1px solid #e8e0d4 !important;
    border-radius: 12px !important;
    background: #fffaf2 !important;
}

.common-home #content .rn-category-strip .modtitle,
.common-home #content .rn-category-strip .rn-home-section-title,
.common-home #content .rn-product-section .modtitle,
.common-home #content .rn-product-section .page-title-categoryslider {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    float: none !important;
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 0 14px !important;
    padding: 0 0 11px !important;
    color: #1a1714 !important;
    font-family: var(--rn-display);
    font-size: 22px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    text-align: left !important;
    text-transform: none !important;
    border: 0 !important;
    border-bottom: 0 !important;
}

.layout-2.common-home #content .module.rn-category-strip h3.modtitle,
.common-home #content .rn-category-strip h3.modtitle,
.common-home #content .rn-category-strip .rn-home-section-title {
    display: block !important;
    border: 0 !important;
    border-bottom: 0 !important;
    background: transparent !important;
    text-decoration: none !important;
}

.common-home #content .rn-category-strip .modtitle:before,
.common-home #content .rn-category-strip .modtitle:after,
.common-home #content .rn-category-strip .rn-home-section-title:before,
.common-home #content .rn-category-strip .modtitle span:before,
.common-home #content .rn-category-strip .modtitle span:after,
.common-home #content .rn-product-section .modtitle:before,
.common-home #content .rn-product-section .modtitle span:before,
.common-home #content .rn-product-section .modtitle span:after {
    display: none !important;
    content: none !important;
}

.common-home #content .rn-category-strip .modtitle span {
    display: inline !important;
    color: inherit !important;
    border: 0 !important;
    text-decoration: none !important;
}

.common-home #content .rn-category-strip h3.modtitle:after,
.common-home #content .rn-category-strip .rn-home-section-title:after,
.common-home #content .rn-product-section h4.modtitle:after,
.common-home #content .rn-product-section .page-title-categoryslider:after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    bottom: 0 !important;
    width: 56px !important;
    height: 3px !important;
    border-radius: 999px !important;
    background: var(--rn-brand) !important;
}

.common-home #content .rn-category-strip .cat-wrap:not(.owl2-loaded):not(.owl-loaded) {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px !important;
}

.common-home #content .rn-category-strip .content-box {
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    border: 1px solid #e8e0d4 !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: none !important;
}

.common-home #content .rn-category-strip .image-cat {
    padding: 10px 10px 0 !important;
}

.common-home #content .rn-category-strip .image-cat a {
    height: 118px !important;
    border-radius: 8px !important;
    background: #f3efe8 !important;
}

.common-home #content .rn-category-strip .image-cat img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
}

.common-home #content .rn-category-strip .image-cat img.image-fallback {
    object-fit: contain !important;
}

.common-home #content .rn-category-strip .cat-title,
.common-home #content .rn-category-strip .cat-title a {
    min-height: 42px !important;
    padding: 8px 7px 10px !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    color: #1a1714 !important;
}

.common-home #content .rn-product-section {
    margin: 18px 0 30px !important;
    padding: 0 !important;
    overflow: visible !important;
}

.common-home #content .rn-product-section .categoryslider-content,
.common-home #content .rn-product-section .category-slider-inner,
.common-home #content .rn-product-section .products-list,
.common-home #content .rn-product-section .vpo-wrap,
.common-home #content .rn-product-section .vp,
.common-home #content .rn-product-section .vpi-wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    left: auto !important;
    right: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.common-home #content .rn-product-section .vpo-wrap .vp,
.common-home #content .rn-product-section .vpo-wrap .vpi-wrap {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.common-home #content .rn-product-section .category-slider-inner:not(.owl2-loaded):not(.owl-loaded),
.common-home #content .rn-product-section .products-list:not(.owl2-loaded):not(.owl-loaded),
.common-home #content .rn-product-section .vpo-wrap .vp:not(.owl2-loaded):not(.owl-loaded),
.common-home #content .rn-product-section .vpo-wrap .vpi-wrap:not(.owl2-loaded):not(.owl-loaded) {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px !important;
}

.common-home #content .rn-product-section .item,
.common-home #content .rn-product-section .owl2-item,
.common-home #content .rn-product-section .owl-item {
    min-height: 100% !important;
}

.common-home #content .rn-product-section .vpo-wrap .vp .item,
.common-home #content .rn-product-section .vpo-wrap .vpi-wrap .item {
    width: auto !important;
    margin: 0 !important;
    float: none !important;
}

.common-home #content .rn-product-section .product-layout,
.common-home #content .rn-product-section .item-inner {
    height: 100% !important;
    padding: 0 !important;
}

.common-home #content .rn-product-section .product-item-container {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 354px !important;
    margin: 0 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
}

.common-home #content .rn-product-section .left-block {
    flex: 0 0 auto !important;
    width: 100% !important;
    padding: 12px 12px 0 !important;
    background: #fbf8f2 !important;
}

.common-home #content .rn-product-section .product-image-container,
.common-home #content .rn-product-section .product-image-container.second_img {
    height: 205px !important;
    max-height: 205px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 8px !important;
    background: #f6f1e8 !important;
    overflow: hidden !important;
}

.common-home #content .rn-product-section .product-image-container a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
}

.common-home #content .rn-product-section .product-image-container img,
.common-home #content .rn-product-section .product-image-container .img-1 {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center bottom !important;
}

.common-home #content .rn-product-section .right-block {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    align-items: stretch !important;
    min-height: 0 !important;
    padding: 11px 12px 12px !important;
    text-align: left !important;
}

.common-home #content .rn-product-section .caption {
    flex: 1 1 auto !important;
    min-height: 42px !important;
    margin: 0 !important;
}

.common-home #content .rn-product-section .caption h4,
.common-home #content .rn-product-section .caption h4.rn-title-clamp {
    min-height: 38px !important;
    max-height: 38px !important;
    margin: 0 0 8px !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    text-align: left !important;
}

.common-home #content .rn-product-section .price {
    min-height: 24px !important;
    margin: 0 0 10px !important;
    line-height: 1.25 !important;
    text-align: left !important;
}

.common-home #content .rn-product-section .addToCart {
    margin-top: auto !important;
    min-height: 38px !important;
    padding: 9px 10px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
}

@media (max-width: 1199px) {
    .common-home #content .rn-category-strip .cat-wrap:not(.owl2-loaded):not(.owl-loaded) {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .common-home #content .rn-product-section .category-slider-inner:not(.owl2-loaded):not(.owl-loaded),
    .common-home #content .rn-product-section .products-list:not(.owl2-loaded):not(.owl-loaded),
    .common-home #content .rn-product-section .vpo-wrap .vp:not(.owl2-loaded):not(.owl-loaded),
    .common-home #content .rn-product-section .vpo-wrap .vpi-wrap:not(.owl2-loaded):not(.owl-loaded) {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .common-home #content .rn-category-strip {
        margin: 10px 0 18px !important;
        padding: 12px !important;
    }

    .common-home #content .rn-category-strip .modtitle,
    .common-home #content .rn-product-section .modtitle,
    .common-home #content .rn-product-section .page-title-categoryslider {
        font-size: 18px !important;
        margin-bottom: 12px !important;
    }

    .common-home #content .rn-category-strip .cat-wrap:not(.owl2-loaded):not(.owl-loaded) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px !important;
    }

    .common-home #content .rn-product-section .category-slider-inner:not(.owl2-loaded):not(.owl-loaded),
    .common-home #content .rn-product-section .products-list:not(.owl2-loaded):not(.owl-loaded),
    .common-home #content .rn-product-section .vpo-wrap .vp:not(.owl2-loaded):not(.owl-loaded),
    .common-home #content .rn-product-section .vpo-wrap .vpi-wrap:not(.owl2-loaded):not(.owl-loaded) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px !important;
    }

    .common-home #content .rn-category-strip .image-cat a {
        height: 105px !important;
    }

    .common-home #content .rn-category-strip .cat-title,
    .common-home #content .rn-category-strip .cat-title a {
        min-height: 36px !important;
        font-size: 11px !important;
    }

    .common-home #content .rn-product-section {
        margin: 14px 0 22px !important;
    }

    .common-home #content .rn-product-section .product-item-container {
        min-height: 326px !important;
    }

    .common-home #content .rn-product-section .product-image-container,
    .common-home #content .rn-product-section .product-image-container.second_img {
        height: 180px !important;
        max-height: 180px !important;
    }
}

@media (max-width: 479px) {
    .common-home #content .rn-product-section .category-slider-inner:not(.owl2-loaded):not(.owl-loaded),
    .common-home #content .rn-product-section .products-list:not(.owl2-loaded):not(.owl-loaded),
    .common-home #content .rn-product-section .vpo-wrap .vp:not(.owl2-loaded):not(.owl-loaded),
    .common-home #content .rn-product-section .vpo-wrap .vpi-wrap:not(.owl2-loaded):not(.owl-loaded) {
        grid-template-columns: minmax(0, 1fr);
    }
}
