/* =========================================
   SM, MD & LG screen optimized CSS
   ========================================= */
html,
body {
    overflow-x: hidden;
    margin: 0;
    padding: 0;
}

/* For screens below lg (mobile + tablet) */
@media (max-width: 992px) {
    body {
        padding-top: 52px !important;
    }

    .theme-main-content {
        margin-top: 52px;
    }
}

.bg-theme-color-tinted-white {
    background-color: var(--theme-color-tinted-white) !important;
}

/* =========================================
   Modal Animation: Open bottom→top, Close top→bottom
   ========================================= */

/* Backdrop customization */
.modal-backdrop.show {
    opacity: 0.85; /* darker overlay */
    background-color: #000;
    transition: opacity 0.4s ease;
}

/* Base modal state (before showing) */
.modal.fade .modal-dialog {
    transform: translateY(100px); /* start lower */
    opacity: 0;
    transition: transform 0.45s cubic-bezier(0.25, 0.8, 0.25, 1),
    opacity 0.3s ease;
}

/* When modal is shown (open animation) */
.modal.fade.show .modal-dialog {
    transform: translateY(0); /* slide up */
    opacity: 1;
}

/* When modal is closing (add a class via JS if needed) */
.modal.fade.closing .modal-dialog {
    transform: translateY(-80px); /* slide up to close */
    opacity: 0;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.25s ease;
}

/* =========================================
   Header Navigation styles
   ========================================= */
/* ===================================== */
/* LOGO */
/* ===================================== */

a.navbar-brand img {
    height: 48px !important;
}

/* ===================================== */
/* NAVBAR BASE */
/* ===================================== */

nav.theme-nav-bottom {
    background: var(--theme-color-blue-medium);
}

nav.theme-nav-bottom .navbar-nav .nav-item {
    margin: 0 3px;
}

/* Default: below 1320px */
nav.theme-nav-bottom .navbar-nav .nav-item {
    margin: 0 3px;
}

/* 1320px–1439px */
@media (min-width: 1320px) and (max-width: 1439.98px) {
    nav.theme-nav-bottom .navbar-nav .nav-item {
        margin: 0 3px;
    }
}

/* 1440px–1599px */
@media (min-width: 1440px) and (max-width: 1599.98px) {
    nav.theme-nav-bottom .navbar-nav .nav-item {
        margin: 0 5px;
    }
}

/* 1600px–1799px */
@media (min-width: 1600px) and (max-width: 1799.98px) {
    nav.theme-nav-bottom .navbar-nav .nav-item {
        margin: 0 12px;
    }
}

/* 1800px–2159px */
@media (min-width: 1800px) and (max-width: 2159.98px) {
    nav.theme-nav-bottom .navbar-nav .nav-item {
        margin: 0 15px;
    }
}

/* 2160px and larger */
@media (min-width: 2160px) {
    nav.theme-nav-bottom .navbar-nav .nav-item {
        margin: 0 20px;
    }
}

/* ===================================== */
/* NAVBAR LINKS */
/* ===================================== */

#navbarScroll .navbar-nav .nav-item {
    display: flex;
    align-items: center;
}

nav.theme-nav-bottom .nav-link {
    color: #ffffff;
    font-size: 16px;
    line-height: 20px;
    font-family: "Inter Medium", sans-serif;
    transition: color 0.3s ease;
}

nav.theme-nav-bottom .nav-link:hover,
nav.theme-nav-bottom .nav-link.active {
    color: var(--theme-color-golden-default) !important;
}

nav.theme-nav-bottom .nav-link.active {
    font-weight: 600;
}

@media (min-width: 992px) and (max-width: 1399px) {
    nav.navbar-expand-lg .nav-link, nav.theme-nav-bottom .nav-call-us p {
        font-size: 14px;
    }

    nav.navbar-expand-lg .theme-px-20 {
        padding: 0;
    }

    nav.navbar-expand-lg .dropdown-toggle::after {
        margin-left: 3px !important;
    }
}

@media (min-width: 1024px) and (max-width: 1399px) {
    nav.navbar-expand-lg .nav-link, nav.theme-nav-bottom .nav-call-us p {
        font-size: 15px;
    }
}

/* ===================================== */
/* DROPDOWN TOGGLE STATE */
/* ===================================== */

nav.theme-nav-bottom .dropdown-toggle.show {
    color: var(--theme-color-golden-default) !important;
    font-weight: 600;
}

/* ===================================== */
/* DROPDOWN MENU BASE (BOOTSTRAP OVERRIDE) */
/* ===================================== */

nav.theme-nav-bottom .dropdown-menu {
    margin-top: 10px;
    padding: 0.75rem 0;
    border: none;
    border-radius: 12px;

    box-shadow: 0 20px 50px rgba(0, 39, 89, 0.18);

    opacity: 0;
    transform: translateY(10px);
    transition: all 0.25s ease;

    /*--bs-dropdown-link-active-bg: var(--theme-color-golden-default);*/
    --bs-dropdown-link-active-color: var(--theme-color-blue-default);
}

nav.theme-nav-bottom .dropdown-menu.show {
    opacity: 1;
    transform: translateY(0);
}

/* ===================================== */
/* DROPDOWN ITEMS */
/* ===================================== */

nav.theme-nav-bottom .dropdown-item {
    padding: 0.35rem 1.25rem;
    font-size: 15px;
    line-height: 20px;
    transition: background-color 0.2s ease, color 0.2s ease;
    color: var(--theme-color-blue-default);
}

nav.theme-nav-bottom .dropdown-item:hover {
    /*background-color: var(--theme-color-golden-default);*/
    color: var(--theme-color-blue-default);
}

/* ===================================== */
/* CUSTOM DROPDOWN ARROW */
/* ===================================== */

nav.theme-nav-bottom .dropdown-toggle::after {
    border: none;
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-left: 6px;
    vertical-align: middle;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;

    transition: transform 0.3s ease;
}

nav.theme-nav-bottom .dropdown-toggle.show::after {
    transform: rotate(180deg);
}

nav.theme-nav-bottom .dropdown-item:active,
nav.theme-nav-bottom .dropdown-item:focus {
    background-color: transparent !important;
}

/* ===================================== */
/* MEGA MENU LAYOUT */
/* ===================================== */

/* =========================
   MEGA DROPDOWN CONTAINER
   ========================= */

/* hidden by default (Bootstrap controlled) */
.theme-mega-menu-dropdown {
    display: none;

    min-width: 450px;
    padding: 0;
    border-radius: 12px;

    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
    overflow: hidden;

    position: absolute;
    z-index: 9999;
}

/* show only when Bootstrap adds .show */
.theme-mega-menu-dropdown.show {
    display: flex;
}


/* =========================
   LEFT: PARENT MENU
   ========================= */

.theme-mega-parent {
    width: 45%;
    display: flex;
    flex-direction: column;
}

.theme-mega-parent-item {
    padding: 0.35rem 1.25rem;
    font-size: 15px;
    line-height: 20px;
    cursor: pointer;
    text-decoration: none;
    transition: 0.2s;
    color: var(--theme-color-blue-default);
    font-family: "Inter Medium", sans-serif;
}

.theme-mega-parent-item:hover,
.theme-mega-parent-item.active {
    color: var(--theme-color-golden-default);
}


/* =========================
   RIGHT: CHILD MENU
   ========================= */

.theme-mega-child {
    width: 55%;
    padding: 0.25rem 0.5rem;
}

.theme-mega-child-group {
    display: none;
}

.theme-mega-child-group.active {
    display: block;
}

.theme-mega-child .dropdown-item {
    padding: 0.3rem 1rem !important;
    border-radius: 6px;
}

/* ===================================== */
/* HEADER ICONS */
/* ===================================== */

.theme-header-icon {
    height: 24px !important;
}

.theme-header-hamburger {
    height: 18px !important;
}

/* =========================================
   Header Bottom Horizontal Navigation
   ========================================= */
nav.navbar-expand-lg button.theme-btn-warning {
    background: linear-gradient(
            to right,
            var(--theme-color-golden-default) 0%,
            var(--theme-color-golden-lighter) 50%,
            var(--theme-color-golden-default) 100%
    );
}

#navScrollList {
    scroll-behavior: auto;
    cursor: grab;
    user-select: none;
    -webkit-overflow-scrolling: auto;
    touch-action: pan-x; /* Makes touch scrolling instant */
}

#navScrollList.dragging {
    cursor: grabbing;
}

/* =========================================
   Floating Header & Floaters Start
   ========================================= */

#HeaderFloaterContainer {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 99;
    transform: translate3d(0, -100%, 0); /* hidden above viewport */
    transition: transform 0.7s cubic-bezier(.16, 1, .3, 1);
    will-change: transform;
    background: #FFF;
}

#CallusFloaterContainer {
    background: #10265a;
    position: fixed;
    bottom: 0;
    transform: translate3d(0, 280%, 0); /* hidden above viewport */
    transition: transform 0.3s cubic-bezier(.16, 1, .3, 1);
    will-change: transform;
    z-index: 99 !important;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    /* iOS fix */
    -webkit-transform: translate3d(0, 280%, 0);
}

#CallusFloaterContainer #btnCallNow, #CallusFloaterContainer #btnTextUs {
    border: 2px solid #23418a;
    border-radius: 10px;
}

.FooterUnlockVIPHandler,
.FooterPromoHandler {
    position: fixed;
    bottom: 78px;
    left: 0;
    right: 0;
    z-index: 99;
    transform: translate3d(0, 250%, 0); /* hidden above viewport */
    transition: transform 0.7s cubic-bezier(.16, 1, .3, 1);
    will-change: transform;
}

#HeaderFloaterContainer.theme-viewport-block,
#CallusFloaterContainer.theme-viewport-block,
.FooterUnlockVIPHandler.theme-viewport-block,
.FooterPromoHandler.theme-viewport-block {
    transform: translate3d(0, 0, 0); /* slide into view */
}

@media (max-width: 320px) {
    #CallusFloaterContainer {
        padding: 10px 5% 14px 5%;
    }
}

@media (max-width: 440px) {
    #CallusFloaterContainer #btnCallNow,
    #CallusFloaterContainer #btnTextUs {
        width: 165px;
    }
}

@media (max-width: 375px) {
    #CallusFloaterContainer #btnCallNow,
    #CallusFloaterContainer #btnTextUs {
        width: 160px;
    }
}

@media (max-width: 372px) {
    #CallusFloaterContainer #btnCallNow,
    #CallusFloaterContainer #btnTextUs {
        width: 150px;
    }
}

/* =========================================
   Floating Header & Floaters End
   ========================================= */

/* =========================================
   Theme Nav Scroll List Group
   ========================================= */

.theme-nav-scroll-list-group ul.list-group-horizontal {
    overflow-x: auto;
    scroll-behavior: smooth;
    white-space: nowrap;
    cursor: grab;
    --bs-list-group-border-radius: unset !important;
    padding-bottom: 0.3rem;
}

.theme-nav-scroll-list-group ul.list-group:active {
    cursor: grabbing;
}

.theme-nav-scroll-list-group ul.list-group li.list-group-item:first-child {
    border-left: unset;
}

.theme-nav-scroll-list-group ul.list-group li.list-group-item:last-child {
    border-right: unset;
}

.theme-nav-scroll-list-group ul.list-group li.list-group-item {
    flex: 0 0 auto; /* natural width based on content */
    text-align: center;
    white-space: nowrap; /* prevent wrapping */
    background: unset;
    border-width: 0 !important; /* Remove all borders */
    /*border-bottom: 0.417rem solid #D9D9D9; !* Old *!*/
    /*padding: 0.35rem 0.75rem; !* adjust spacing  Old *!*/
    padding: 0.35rem 0.5rem 0 0.5rem; /* adjust spacing  new */
}

.theme-nav-scroll-list-group ul.list-group li.list-group-item.active {
    color: var(--theme-color-blue-medium);
    border-bottom: 3px solid var(--theme-scroll-active-color) !important; /* new */
}

.theme-nav-scroll-list-group ul.list-group li.list-group-item.active.women-item {
    border-color: #CB979C !important;
}

/* =========================================================
   Home Page Banner Sections
========================================================= */

#carouselSliderHome {
    width: 100%;
    overflow: hidden;
}

#carouselSliderHome .carousel-inner {
    position: relative;
    width: 100%;
    overflow: hidden;
}

#carouselSliderHome .carousel-item {
    position: relative;
    width: 100%;
}

#carouselSliderHome .dynamic-slider,
#carouselSliderHome .slider-picture {
    display: block;
    width: 100%;
}

#carouselSliderHome .slider-img {
    display: block;
    width: 100%;
    height: auto !important;
    max-width: none;
    object-fit: contain;
    object-position: center;
}

/*
 * Prevent inline image baseline space.
 */
#carouselSliderHome picture,
#carouselSliderHome img {
    vertical-align: middle;
}

/* Expiration text: mobile position */
#carouselSliderHome .expire-date-caption {
    top: var(--m-top) !important;
    right: var(--m-right) !important;
    bottom: auto;
    left: auto;
}

/* Tablet and desktop expiration position */
@media (min-width: 768px) {
    #carouselSliderHome .expire-date-caption {
        top: var(--d-top) !important;
        right: var(--d-right) !important;
    }
}

/* ==========================================================
   DYNAMIC SLIDER: MOBILE
   0–575.98px
   Design ratio: 375 × 308
   ========================================================== */

@media (max-width: 575.98px) {
    #carouselSliderHome .dynamic-slider,
    #carouselSliderHome .slider-picture {
        width: 100%;
        aspect-ratio: 375 / 308;
        overflow: hidden;
    }

    #carouselSliderHome .slider-img {
        width: 100%;
        height: 100% !important;
        object-fit: fill;
        object-position: center;
    }
}

/* ==========================================================
   DYNAMIC SLIDER: SMALL TABLET
   576–767.98px
   Match the static banner height.
   ========================================================== */

@media (min-width: 576px) and (max-width: 767.98px) {
    #carouselSliderHome .dynamic-slider,
    #carouselSliderHome .slider-picture {
        width: 100%;
        height: clamp(390px, 68vw, 520px);
        overflow: hidden;
    }

    #carouselSliderHome .slider-img {
        width: 100%;
        height: 100% !important;
        object-fit: fill;
        object-position: center;
    }
}

/* ==========================================================
   DYNAMIC SLIDER: TABLET
   768–991.98px
   Match the static banner height.
   ========================================================== */

@media (min-width: 768px) and (max-width: 991.98px) {
    #carouselSliderHome .dynamic-slider,
    #carouselSliderHome .slider-picture {
        width: 100%;
        height: clamp(420px, 56vw, 555px);
        overflow: hidden;
    }

    #carouselSliderHome .slider-img {
        width: 100%;
        height: 100% !important;
        object-fit: fill;
        object-position: center;
    }
}

/* ==========================================================
   DYNAMIC SLIDER: DESKTOP
   992px and above
   Design ratio: 1440 × 458
   ========================================================== */

@media (min-width: 992px) {
    #carouselSliderHome .dynamic-slider,
    #carouselSliderHome .slider-picture {
        width: 100%;
        aspect-ratio: 1440 / 458;
        overflow: hidden;
    }

    #carouselSliderHome .slider-img {
        width: 100%;
        height: 100% !important;
        object-fit: cover;
        object-position: center;
    }
}

/* ==========================================================
   STATIC HOMEPAGE BANNER
   Mobile-first styles
   ========================================================== */

.theme-banner-static {
    position: relative;
    width: 100%;
    overflow: hidden;
    isolation: isolate;
    background-image: url(
    "/assets/images/pages/banners/png/banner-natural-bg.png"
    );
    background-repeat: repeat;
    background-position: top center;
}

/*
 * Mobile artwork was designed around 375 × 308.
 */
.theme-banner-static > .w-100 > .position-relative {
    position: relative;
    width: 100%;
    min-height: clamp(308px, 82.133vw, 473px);
}

.theme-banner-static .container-sm-w-100 {
    height: 100%;
}

.theme-banner-static .mb-image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    overflow: hidden;
}

.theme-banner-static .mb-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center bottom;
}

.theme-banner-static .banner-content-box {
    position: relative;
    z-index: 2;
    width: 100%;
    min-height: clamp(308px, 82.133vw, 473px);
}

/* ==========================================================
   STATIC BANNER HEADER
   ========================================================== */

.theme-banner-homepage .banner-overlay-header {
    margin-top: 8px;
    padding-top: 2px;
    padding-bottom: 2px;
}

.theme-banner-homepage .theme-divider-border {
    color: var(--theme-font-blue-default);
    margin: 10px 0;
}

/* ==========================================================
   STATIC BANNER CONTENT
   ========================================================== */

.theme-banner-static .owl-stage-outer {
    overflow: visible;
}

.theme-banner-static .theme-title {
    padding-top: clamp(12px, 4vw, 24px) !important;
}

.theme-banner-static .theme-title p {
    font-size: clamp(26px, 8.25vw, 38px) !important;
    line-height: 1.02;
}

@media (min-width: 375px) and (max-width: 440px) {
    .theme-banner-static .theme-title p.fs-31 {
        font-size: 31px !important;
    }
}

.theme-banner-static .mb-udh-icon img {
    width: auto;
    height: clamp(70px, 21.87vw, 105px);
    object-fit: contain;
}

.theme-banner-static .mb-dropdown {
    position: relative;
    z-index: 3;
}

/* ==========================================================
   MOBILE
   0–575.98px
   ========================================================== */

@media (max-width: 575.98px) {
    .theme-banner-static .container-sm-w-100 {
        max-width: none;
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    .theme-banner-static .banner-content-box {
        padding-right: 12px;
        padding-left: 12px;
    }

    .theme-banner-static .mb-image img {
        object-position: center bottom;
    }
}

/* ==========================================================
   BOOTSTRAP SM / SMALL TABLET
   576–767.98px
   ========================================================== */

@media (min-width: 576px) and (max-width: 767.98px) {
    .theme-banner-static > .w-100 > .position-relative,
    .theme-banner-static .banner-content-box {
        min-height: clamp(390px, 68vw, 520px);
    }

    .theme-banner-static .theme-title p {
        font-size: clamp(38px, 7vw, 50px) !important;
    }

    .theme-banner-static .mb-udh-icon img {
        height: clamp(100px, 18vw, 135px);
    }

    .theme-banner-static .mb-image img {
        object-position: right bottom;
    }
}

/* ==========================================================
   BOOTSTRAP MD / TABLET
   768–991.98px
   ========================================================== */

@media (min-width: 768px) and (max-width: 991.98px) {
    .theme-banner-static > .w-100 > .position-relative,
    .theme-banner-static .banner-content-box {
        min-height: clamp(420px, 56vw, 555px);
    }

    .theme-banner-static .theme-title p {
        font-size: clamp(42px, 6vw, 55px) !important;
    }

    .theme-banner-static .mb-udh-icon img {
        height: clamp(110px, 15vw, 145px);
    }

    .theme-banner-static .mb-image img {
        object-position: right bottom;
    }
}

/* ==========================================================
   BOOTSTRAP LG DESKTOP
   992px and above
   Desktop artwork ratio: 1440 × 458
   ========================================================== */

@media (min-width: 992px) {

    a.btn.bg-light:hover {
        border-color: var(--theme-color-blue-default) !important;
    }

    .theme-banner-static > .w-100 > .position-relative {
        min-height: 0;
        aspect-ratio: 1440 / 458;
    }

    .theme-banner-static .banner-content-box {
        min-height: 0;
        height: calc(100vw * 458 / 1440);
    }

    /*
     * Preserve custom desktop image position.
     */
    .theme-banner-static .mb-image {
        left: 75%;
        width: 100vw;
        max-width: none;
        transform: translateX(-50%);
    }

    .theme-banner-static .mb-image img {
        width: 100%;
        height: 100%;
        max-height: none !important;
        object-fit: contain;
        object-position: center bottom;
    }

    .theme-banner-homepage .banner-overlay-header {
        margin-top: 0;
        padding-right: 30% !important;
        padding-left: 30% !important;
    }

    .theme-banner-homepage .theme-divider-border {
        color: var(--theme-color-blue-default);
        opacity: 0.85;
    }

    .theme-banner-homepage
    .banner-overlay-header
    .theme-divider-border::before,
    .theme-banner-homepage
    .banner-overlay-header
    .theme-divider-border::after {
        opacity: 1;
    }

    .theme-banner-static .theme-title {
        padding-top: clamp(12px, 2vw, 28px) !important;
    }

    .theme-banner-static .theme-title p {
        font-family: "Inter Bold", sans-serif !important;
        font-size: clamp(48px, 4.52vw, 82px) !important;
        line-height: 1;
    }

    .theme-banner-static .mb-udh-icon img {
        width: auto;
        height: clamp(110px, 10vw, 190px);
    }

    .theme-banner-static .mb-image::after {
        content: "";
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1;
        height: clamp(40px, 4.17vw, 90px);
        pointer-events: none;
        background: linear-gradient(
                to top,
                #ecedf1 0%,
                rgb(240 244 247 / 0%) 100%
        );
    }
}

/* ==========================================================
   BOOTSTRAP XL
   1200px and above
   ========================================================== */

@media (min-width: 1200px) {
    .theme-banner-static .banner-content-box {
        height: calc(100vw * 458 / 1440);
    }
}

/* ==========================================================
   BOOTSTRAP XXL
   1400px and above
   ========================================================== */

@media (min-width: 1400px) {
    .theme-banner-static .container {
        max-width: min(1280px, calc(100vw - 80px));
    }
}

/* ==========================================================
   LARGE DESKTOP
   1600px and above
   ========================================================== */

@media (min-width: 1600px) {
    .theme-banner-static .container {
        max-width: min(1500px, calc(100vw - 120px));
    }
}

/* ==========================================================
   LARGER DESKTOP
   1800px and above
   ========================================================== */

@media (min-width: 1800px) {
    .theme-banner-static .container {
        max-width: min(1550px, calc(100vw - 140px));
    }
}

/* ==========================================================
   FULL HD
   1920px and above
   ========================================================== */

@media (min-width: 1920px) {
    .theme-banner-static .container {
        max-width: min(1560px, calc(100vw - 160px));
    }
}

/* ==========================================================
   ULTRA-WIDE
   2200px and above
   ========================================================== */

@media (min-width: 2200px) {
    .theme-banner-static .container {
        max-width: min(1650px, calc(100vw - 180px));
    }
}

/* ==========================================================
   QHD
   2560px and above
   ========================================================== */

@media (min-width: 2560px) {
    .theme-banner-static .container {
        max-width: min(1650px, calc(100vw - 240px));
    }
}

/* ==========================================================
   SCREENS BELOW THE 375px DESIGN WIDTH
   Change only the static banner height.
   Keep this block at the end.
   ========================================================== */

@media (max-width: 374.98px) {
    .theme-banner-static > .w-100 > .position-relative,
    .theme-banner-static .banner-content-box {
        min-height: calc(100vw * 308 / 375);
    }
}

/* ==========================================================
   STATIC BANNER TITLE FONT SIZES
   ========================================================== */

/* Mobile: including 375px */
@media (max-width: 575.98px) {
    .theme-banner-static
    .banner-content-box
    .theme-title > p:first-of-type {
        font-size: 32px !important;
    }

    .theme-banner-static
    .banner-content-box
    .theme-title > p:nth-of-type(2) {
        font-size: 31px !important;
    }
}

/* Desktop scaling */
@media (min-width: 576px) and (max-width: 1023.98px) {
    .theme-banner-static
    .banner-content-box
    .theme-title > p:first-of-type,
    .theme-banner-static
    .banner-content-box
    .theme-title > p:nth-of-type(2) {
        font-size: 52px !important;
    }
}

/* Desktop scaling */
@media (min-width: 1024px) and (max-width: 1399.98px) {
    .theme-banner-static
    .banner-content-box
    .theme-title > p:first-of-type,
    .theme-banner-static
    .banner-content-box
    .theme-title > p:nth-of-type(2) {
        font-size: 48px !important;
    }
}

/* 1440px and larger: both paragraphs 74px */
@media (min-width: 1440px) {
    .theme-banner-static
    .banner-content-box
    .theme-title > p:first-of-type,
    .theme-banner-static
    .banner-content-box
    .theme-title > p:nth-of-type(2) {
        font-size: 74px !important;
    }
}

@media (min-width: 1920px) {
    .theme-banner-static
    .banner-content-box
    .theme-title > p:first-of-type,
    .theme-banner-static
    .banner-content-box
    .theme-title > p:nth-of-type(2) {
        font-size: 76px !important;
        line-height: 85px !important;
    }
}

/* =========================================
   Homepage Banner Section End
   ========================================= */

/* =========================================
   Service Offer Section End
   ========================================= */
#theme-service-offers {
    background: #ECEDF1;
    margin-top: -5px;
}

.theme-service-offers h4, .theme-service-offers p {
    color: #071738;
}

.theme-service-offers hr.theme-divider {
    opacity: 1;
    border-color: #DEE6F2;
}

@media (min-width: 992px) {
    .theme-service-offers {
        margin-top: 0;
        background: #E9EEF3 !important;
    }

    .theme-service-offers .container svg.shipping-car-mq {
        width: auto;
        /*height: 56px;*/
        display: block;
        flex-shrink: 0;
        margin-right: 20px;
    }
}

@media (min-width: 992px) and (max-width: 1599px) {
    .theme-service-offer-row {
        padding: 36px 0 !important;
    }
}

/* =========================================
   Service Offer Section End
   ========================================= */

/* =========================================
   HD Invisible Hairline Section End
   ========================================= */
.theme-hd-invisible-hairline hr.theme-divider {
    margin: 7px 0;
    opacity: 1;
    border-color: #DEE6F2;
}

@media (min-width: 992px) {
    .theme-hd-invisible-hairline hr.theme-divider {
        border-width: 2px;
    }
}

/* =========================================
   HD Invisible Hairline Section End
   ========================================= */

.mb-dropdown button {
    background: #05183C;
/ / var(--theme-color-blue-default);
    color: var(--theme-color-light-default);
    border: none;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    box-shadow: none;
}

/* Prevent Bootstrap click/focus change */
.mb-dropdown button:hover,
.mb-dropdown button:focus,
.mb-dropdown button:active {
    background: var(--theme-color-blue-default) !important;
    color: var(--theme-color-light-default) !important;
    box-shadow: none !important;
}

/* Remove Bootstrap default arrow */
.mb-dropdown .dropdown-toggle::after {
    display: none;
}

/* =========================
   CONNECTED OPEN STATE
========================= */

/* Button bottom radius OFF when open */
.mb-dropdown button.show {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

/* Menu top radius OFF when open */
.mb-dropdown .dropdown-menu.show {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
}

/* =========================
   DROPDOWN MENU
========================= */
.mb-dropdown .dropdown-menu {
    width: 100%;
    background: #F2F4F7;
    border: none;
    border-radius: 0;
    padding: 0;
    margin-top: -1px !important;
    min-width: 220px;
    overflow: hidden;
}

/* =========================
   ITEMS
========================= */
.mb-dropdown .dropdown-item {
    color: var(--theme-color-blue-default);
    padding: 5px 25px;
    background: transparent;
}

/* separator lines */
.mb-dropdown .dropdown-menu li:not(:first-child) {
    border-top: 1px solid #e5e7eb;
}

/* hover */
.mb-dropdown .dropdown-item:hover {
    background: rgba(30, 78, 216, 0.08);
    color: var(--theme-color-blue-default);
}

/* =========================
   ICON ROTATION
========================= */
.mb-dropdown .icon-toggle {
    transition: transform 0.25s ease;
}

.mb-dropdown button.show .icon-toggle {
    transform: rotate(180deg);
}

/* =========================================
   Banner Dropdown Styles End
   ========================================= */

/* =========================================
   Undetectable Hairline Styles
   ========================================= */

#UndetectableHairline {
    background: rgb(236, 237, 241, 100%);
}

.trusted-hairline-section img.trusted-badge {
    width: 15px;
}

/* UH cards */
.uh-comparison-card {
    background: transparent;
    width: 100%;
    padding: 5px;
}

/* MOBILE FIRST (OVERLAP FIX) */
.uh-vs-badge {
    width: 38px;
    height: 30px;
    border-radius: 15%;
    box-shadow: 0 0 12px rgba(0, 0, 0, 0.25) !important;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    margin: 0;
    position: relative;
    z-index: 10;
    /* center overlap between both cards */
    transform: translateY(-50%);
}

/* KEY FIX: pull bottom card upward */
.uh-vs-badge + .uh-comparison-card {
    margin-top: -30px;
}

@media (max-width: 374px) {
    .stock-hair-container .custom-pp-viewport-mq .stock-features {
        font-size: 11px;
    }

    .home-stock-price del {
        font-size: 11px !important;
    }

    .home-stock-price div {
        font-size: 12px !important;
    }
}

@media (min-width: 360px) and (max-width: 392px) {
    .theme-hd-invisible-hairline .theme-gap-2-8 {
        gap: 0.1rem !important;
    }
}

/* DESKTOP (clean absolute overlay) */
/* MOBILE FIRST (OVERLAP FIX) */
.uh-vs-badge {
    width: 38px;
    height: 30px;
    border-radius: 25%;
    box-shadow: 0 0 12px rgba(0, 0, 0, 0.25) !important;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    margin: 0;
    position: relative;
    z-index: 10;
    /* center overlap between both cards */
    transform: translateY(-50%);
}

/* KEY FIX: pull bottom card upward */
.uh-vs-badge + .uh-comparison-card {
    margin-top: -30px;
}

/* DESKTOP (clean absolute overlay) */
@media (min-width: 992px) {
    .uh-comparison-card {
        max-width: none;
        margin-top: 0 !important; /* reset mobile overlap */
        border-width: 2px !important;
    }

    .uh-vs-badge {
        width: 125px;
        height: 75px;
        border-radius: 10px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 20;
        box-shadow: 0 0 12px rgba(0, 0, 0, 0.25) !important;
    }

    .trusted-hairline-section img.trusted-badge {
        width: 35px;
    }

    .undetectable-hairline .theme_read_more__text {
        /*font-size: 28px;*/
        /*line-height: 45px;*/
        /*opacity: .85;*/
        height: auto !important;
    }

    .undetectable-hairline .theme_read_more__btn {
        font-size: 26px !important;
        line-height: 32px !important;
        padding: 10px 20px;
    }

    .undetectable-hairline i.fa {
        font-size: 24px !important;
        line-height: 30px !important;
        margin-left: .5rem !important;
        margin-top: 2px !important;
    }
}

/* =========================================
   Undetectable Hairline Styles End
   ========================================= */

/* =========================================
   Hair System Products Slider
   ========================================= */
.circle-checked-icon,
.circle-dark-circle-icon {
    height: 16px !important;
    width: auto;
}

/* =========================================
   Men's hair system Section styles
   ========================================= */
#MensHairSystems .mhs-custom-bg {
    background: #E9EEF3;
    margin-top: -15px;
}

/* Mobile: keep the current normal layout */
#MensHairSystems .theme-text-column,
#MensHairSystems .theme-image-column {
    position: relative;
}

#MensHairSystems .theme-text-content {
    max-width: 100%;
}

/* Desktop and larger devices */
@media (min-width: 992px) {
    #MensHairSystems .theme-text-column {
        z-index: 2;
        overflow: visible;
    }

    #MensHairSystems .theme-text-content {
        position: relative;
        z-index: 2;
        width: max-content;
        max-width: none;
    }

    #MensHairSystems .theme-image-column {
        z-index: 0;
        overflow: visible;
    }

    #MensHairSystems .theme-image-column picture,
    #MensHairSystems .theme-image-column img {
        position: relative;
        z-index: 1;
    }

    #MensHairSystems .theme-text-content {
        margin-left: clamp(
                40px,
                calc(40px + (100vw - 992px) * 0.267857),
                160px
        );
    }
}

/* Button group container */
#MensHairSystems .theme-btn-group {
    background: #FFFFFF;
    border-radius: 30px;
}

/* Default Tab Button */
#MensHairSystems .theme-tab-btn {
    position: relative;
    flex: 1;
    text-align: center;
    border: 1px solid transparent; /* reserve space for outer border */
    border-radius: 33px;
    padding: 2px;
    background-color: #FFFFFF;
    color: var(--theme-color-blue-default);
    box-sizing: border-box;
    transition: all 0.3s;
    cursor: pointer;
}

/* Inner layer */
#MensHairSystems .theme-tab-btn span {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 11px 5px;
    /*border: 1px solid #FFF; !* inner white border *!*/
    border-radius: 30px;
    background-color: transparent;
    color: #0F3A73;
    transition: all 0.3s;
}

#MensHairSystems .theme-tab-btn span svg path {
    fill: var(--theme-color-blue-default) !important;
}

/* Active button styles */
#MensHairSystems .theme-tab-btn.active {
    border-color: #B5B2B6; /* outer gray border visible */
}

#MensHairSystems .theme-tab-btn.active span {
    background-color: #0F3A73; /* blue inner */
    color: #FFF; /* white text */
    /*font-family: "Inter Regular", serif;*/
}

#MensHairSystems .theme-tab-btn.active span svg path {
    fill: var(--theme-color-light-default) !important;
}

/* For screens lg and above (desktop) */
@media (min-width: 992px) {

    #MensHairSystems .theme-btn-group {
        border-radius: 50px !important;
    }

    #MensHairSystems .theme-tab-btn {
        max-width: 375px;
        border: 1px solid #B5B2B6; /* reserve space for outer border */
        border-radius: 50px;
    }

    #MensHairSystems .theme-tab-btn span {
        padding: 1.5rem .5rem;
        font-size: 26px;
        border-radius: 50px;
    }

    #MensHairSystems .theme-tab-btn span svg {
        height: 28px;
        width: auto !important;
    }

    .home-stock-price {
        gap: 0.25rem !important;
    }

    .home-stock-price div {
        padding-top: 3px;
        font-size: 18px !important;
    }
}

@media (min-width: 1200px) {
    .home-stock-price {
        gap: 0.5rem !important;
    }

    .home-stock-price div {
        font-size: 26px !important;
    }
}

@media (min-width: 1440px) {
    .home-stock-price {
        gap: 1rem !important;
    }

    .home-stock-price div {
        font-size: 28px !important;
    }
}

/* Theme Custom popular product banner */
.theme-tab-selector .theme-popular-product {
    border-radius: 10px;
    background-image: url("/assets/images/pages/landing-page/png/popular-product-bg.png");
    background-repeat: repeat;
    background-position: top center;
}

.theme-tab-selector .theme-popular-product .popular-badge {
    top: -10px;
    z-index: 1;
    padding: 0.2rem 1.2rem 0.4rem 1.2rem;
}

.theme-tab-selector .theme-popular-product .popular-badge::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("/assets/images/common/icons/webp/popular-badge-yellow.webp") center / 100% 100% no-repeat;
    transform: scaleX(-1) translateX(-1px);
    z-index: -1;
}

@media (max-width: 991px) {
    .theme-tab-selector .theme-popular-product .popular-badge {
        right: 0;
    }
}

@media (min-width: 992px) {
    .theme-tab-selector .theme-popular-product {
        height: 450px;
    }

    .theme-banner-homepage .theme-divider-border {
        color: var(--theme-color-blue-default);
        opacity: 0.85;
    }

    .theme-tab-selector .theme-popular-product .popular-badge {
        top: -30px;
        padding: 1.4rem 2rem 1.5rem 2rem;
        padding-left: 4.2rem;
        left: 0;
    }

    .theme-tab-selector .theme-popular-product .popular-badge::before {
        transform: unset;
    }

    .theme-tab-selector .theme-popular-product .custom-pp-viewport-mq {
        padding-left: 4.2rem !important;
    }

    div.wcs-dropdown {
        margin-bottom: 24px;
    }
}

/* =========================================================
   Stock Banner Styles Start
========================================================= */
.stock-page-banner {
    position: relative;
    overflow: hidden;
    background: none;
}

/* default background */
.stock-page-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("/assets/images/pages/banners/webp/banner-stock-bg.webp");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    z-index: 0;
}

/* keep content above background */
.stock-page-banner > * {
    position: relative;
    z-index: 1;
}

.stock-page-banner hr.theme-divider {
    height: 1px !important;
    background: #FFF;
    opacity: 0.7 !important;
}

@media (min-width: 425px) and (max-width: 440px) {
    .container .flex-row-reverse header.theme-mt-sm-control {
        margin-top: 15px !important;
    }
}

@media (min-width: 760px) and (max-width: 991px) {
    .stock-page-banner .container.px-0 {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .stock-page-banner header {
        padding-top: 3rem !important;
    }
}

/* desktop background (LG and above) */
@media (min-width: 992px) {
    .stock-page-banner {
        height: 450px;
    }

    .stock-page-banner::before {
        top: 0;
        left: 0;
        right: 0;
        bottom: auto;
        height: 450px;
        background-image: url("/assets/images/pages/banners/webp/banner-stock-bg-d.webp");
    }

    .stock-page-banner .theme-btn-warning-medium.banner-button {
        border-color: #d9be8e;
        border-width: 3px !important;
        border-radius: 36px !important;
        margin-bottom: 34px !important;
    }

    .stock-page-banner .banner-georgia-italic-text {
        color: #C8CDD5 !important;
    }

    .stock-page-banner hr {
        margin-top: .5rem !important;
        margin-bottom: .5rem !important;
        width: 75%;
    }

    .stock-page-banner header {
        padding-top: 1rem !important;
    }
}

@media (min-width: 993px) and (max-width: 1199px) {
    .stock-page-banner header {
        padding-top: 7rem !important;
    }
}

@media (min-width: 1200px) and (max-width: 1439px) {
    .stock-page-banner header {
        padding-top: 0.5rem !important;
    }
}

@media (min-width: 1440px) {
    .stock-page-banner hr {
        margin-top: 1.5rem !important;
        margin-bottom: 1.6rem !important;
    }

    .stock-page-banner .banner-georgia-italic-text {
        margin-top: 10px !important;
    }
}

/* =========================================================
   Stock Banner Styles End
========================================================= */

/* =========================================================
   Custom Banner Styles Start
========================================================= */
.custom-page-banner {
    position: relative;
    overflow: hidden;
    background: none; /* remove original background */
}


/* default background */
.custom-page-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("/assets/images/pages/banners/webp/banner-custom-bg.webp");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    z-index: 0;
}

/* keep content above background */
.custom-page-banner > * {
    position: relative;
    z-index: 1;
}

.custom-page-banner hr.theme-divider {
    height: 1px !important;
    background: #FFF;
    opacity: 0.7 !important;
}

@media (min-width: 760px) and (max-width: 991px) {
    .custom-page-banner .container.px-0 {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .custom-page-banner header {
        padding-top: 3rem !important;
    }
}

/* flip ONLY on LG */
@media (min-width: 992px) {
    .custom-page-banner {
        height: 450px;
    }

    .custom-page-banner picture img {
        max-width: unset !important;
    }

    .custom-page-banner::before {
        height: 450px;
        background-image: url("/assets/images/pages/banners/webp/banner-custom-bg-d.webp");
    }

    .custom-page-banner .theme-btn-warning-medium.banner-button {
        border-color: #d9be8e;
        border-width: 3px !important;
        border-radius: 36px !important;
        margin-bottom: 34px !important;
    }

    .custom-page-banner hr {
        margin-top: .5rem !important;
        margin-bottom: .5rem !important;
        width: 75%;
    }

    .custom-page-banner header {
        padding-top: 1rem !important;
    }
}

@media (min-width: 993px) and (max-width: 1199px) {
    .custom-page-banner header {
        padding-top: 7rem !important;
    }

    .custom-page-banner picture img {
        height: 350px;
    }
}

@media (min-width: 1200px) and (max-width: 1439px) {
    .custom-page-banner header {
        padding-top: 0.5rem !important;
    }
}

@media (min-width: 1440px) {
    .custom-page-banner hr {
        margin-top: 1.5rem !important;
        margin-bottom: 1.6rem !important;
    }
}

/* =========================================================
   Custom Banner Styles End
========================================================= */

/* =========================================================
   Full Cap Banner Styles Start
========================================================= */
.full-cap-page-banner {
    position: relative;
    overflow: hidden;
    background: none;
}

/* default background */
.full-cap-page-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("/assets/images/pages/banners/webp/banner-full-cap-bg.webp");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    z-index: 0;
}

/* keep content above background */
.full-cap-page-banner > * {
    position: relative;
    z-index: 1;
}

.full-cap-page-banner .banner-georgia-italic-text {
    color: #C8CDD5 !important;
    text-shadow: 0 1px 1px #00000066;
}

.full-cap-page-banner hr.theme-divider {
    height: 1px !important;
    background: #FFF;
    opacity: 0.7 !important;
}

@media (max-width: 440px) {
    .full-cap-page-banner {
        height: 230px;
    }
}

@media (min-width: 760px) and (max-width: 991px) {
    .full-cap-page-banner .container.px-0 {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .full-cap-page-banner header {
        padding-top: 3rem !important;
    }
}

/* desktop background (LG and above) */
@media (min-width: 992px) {
    .full-cap-page-banner {
        height: 450px;
    }

    .full-cap-page-banner::before {
        top: 0;
        left: 0;
        right: 0;
        bottom: auto;
        height: 450px;
        background-image: url("/assets/images/pages/banners/webp/banner-full-cap-bg-d.webp");
    }

    .full-cap-page-banner picture img {
        max-width: unset !important;
        display: block;
    }

    .full-cap-page-banner .theme-btn-warning-medium.banner-button {
        border-color: #d9be8e;
        border-width: 3px !important;
        border-radius: 36px !important;
        margin-bottom: 34px !important;
    }

    .full-cap-page-banner hr {
        margin-top: .5rem !important;
        margin-bottom: .5rem !important;
        width: 100%;
    }

    .full-cap-page-banner header {
        padding-top: 4rem !important;
    }
}

@media (min-width: 993px) and (max-width: 1199px) {
    .full-cap-page-banner header {
        padding-top: 8rem !important;
    }

    .full-cap-page-banner picture img {
        height: 300px;
    }

}

@media (min-width: 1200px) and (max-width: 1439px) {
    .full-cap-page-banner header {
        padding-top: 3.5rem !important;
    }
}

@media (min-width: 1440px) {
    .full-cap-page-banner hr {
        margin-top: 1.5rem !important;
        margin-bottom: 1.6rem !important;
    }

    .full-cap-page-banner .banner-georgia-italic-text {
        margin-top: 10px !important;
    }
}

/* =========================================================
   Full Cap Banner Styles End
========================================================= */


/* =========================================================
   Women Banner Styles Start
========================================================= */
.women-page-banner {
    position: relative;
    overflow: hidden;
    background: none;
}

/* default background */
.women-page-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("/assets/images/pages/banners/webp/banner-women-bg.webp");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    z-index: 0;
}

/* keep content above background */
.women-page-banner > * {
    position: relative;
    z-index: 1;
}

.women-page-banner .banner-georgia-italic-text {
    color: #6E5337;
}

.women-page-banner hr.theme-divider {
    height: 1px !important;
    background: #FFF;
    opacity: 0.7 !important;
}

@media (max-width: 440px) {
    .women-page-banner {
        height: 235px;
    }

    .women-page-banner picture.mt-auto {
        margin-top: 0 !important;
    }
}

@media (min-width: 760px) and (max-width: 991px) {
    .women-page-banner .container.px-0 {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .women-page-banner header {
        padding-top: 2rem !important;
    }
}

/* desktop background (LG and above) */
@media (min-width: 992px) {
    .women-page-banner {
        height: 450px;
    }

    .women-page-banner::before {
        top: 0;
        left: 0;
        right: 0;
        bottom: auto;
        height: 450px;
        background-image: url("/assets/images/pages/banners/webp/banner-women-bg-d.webp");
    }

    .women-page-banner .theme-btn-warning-medium.banner-button {
        border-color: #d9be8e;
        border-width: 3px !important;
        border-radius: 36px !important;
        margin-bottom: 34px !important;
    }

    .women-page-banner hr {
        margin-top: .5rem !important;
        margin-bottom: .5rem !important;
        width: 75%;
    }

    .women-page-banner header {
        padding-top: 5.25rem !important;
    }
}

@media (min-width: 993px) and (max-width: 1199px) {
    .women-page-banner header {
        padding-top: 8.5rem !important;
    }

    .women-page-banner picture img {
        height: 350px;
    }
}

@media (min-width: 1200px) and (max-width: 1439px) {
    .women-page-banner header {
        padding-top: 0.5rem !important;
    }
}

@media (min-width: 1440px) {
    .women-page-banner hr {
        margin-top: 0.5rem !important;
        margin-bottom: 0 !important;
    }

    .women-page-banner .banner-georgia-italic-text {
        margin-top: 10px !important;
    }
}

/* =========================================================
   Women Banner Styles End
========================================================= */


/* =========================================================
   Interior Pages Banner Styles Start
========================================================= */
.interior-pages-banner {
    position: relative;
    overflow: hidden;
    background: none;
}

/* default background */
.interior-pages-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("/assets/images/pages/banners/webp/interior-banners-bg.webp");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    z-index: 0;
}

/* keep content above background */
.interior-pages-banner > * {
    position: relative;
    z-index: 1;
}

.interior-pages-banner h2 span.border-bottom {
    padding-bottom: 3px;
    border-width: 1px !important;
    border-color: #0A9EF4 !important;
}

@media (min-width: 360px) and (max-width: 374px) {
    .interior-pages-banner .header-margin-control h2.bi-title {
        font-size: 36px !important;
    }

    .light-mono-systems-page .interior-pages-banner .header-margin-control h2.bi-subtitle {
        font-size: 17px !important;
    }

    .afro-hair-systems .interior-pages-banner header h2.bi-subtitle span.border-bottom span {
        font-size: 11px !important;
    }
}

@media (min-width: 370px) and (max-width: 375px) {

    .invisible-hair-systems .interior-pages-banner .header-margin-control h2.bi-subtitle .border-bottom {
        font-size: 1.03125rem !important; /* 16.5px */
    }

    .hd-silicone-hair-systems-page .interior-pages-banner .header-margin-control h2.bi-title {
        font-size: 36px !important;
    }

    .light-mono-systems-page .interior-pages-banner .header-margin-control h2.bi-title {
        font-size: 36px !important;
    }

    .afro-hair-systems .interior-pages-banner header h2.bi-subtitle span.border-bottom span {
        font-size: 13px !important;
    }
}

@media (min-width: 376px) and (max-width: 390px) {
    .invisible-hair-systems .interior-pages-banner .header-margin-control h2.bi-title {
        font-size: 38px !important;
    }

    .hd-silicone-hair-systems-page .interior-pages-banner .header-margin-control h2.bi-title {
        font-size: 36px !important;
    }

    .invisible-hair-systems .interior-pages-banner .header-margin-control h2.bi-subtitle .border-bottom,
    .light-mono-systems-page .interior-pages-banner .header-margin-control h2.bi-subtitle .border-bottom {
        font-size: 17px !important;
    }

    .invisible-hair-systems .interior-pages-banner div.bi-description p {
        font-size: 16px !important;
    }

    .afro-hair-systems .interior-pages-banner header h2.bi-subtitle span.border-bottom span {
        font-size: 13px !important;
    }
}

@media (min-width: 391px) and (max-width: 440px) {
    .interior-pages-banner .interior-banner-overlay-container header {
        padding-top: 20px !important;
        margin-bottom: 20px;
    }

    .afro-hair-systems .interior-pages-banner header h2.bi-subtitle span.border-bottom span {
        font-size: 14px !important;
    }
}

@media (max-width: 440px) {
    .interior-pages-banner .interior-banner-overlay-container {
        max-height: 230px;
    }
}

@media (min-width: 760px) and (max-width: 991px) {
    .interior-pages-banner .container.px-0 {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .interior-pages-banner header {
        padding-top: 3rem !important;
    }
}

/* desktop background (LG and above) */
@media (min-width: 992px) {
    .interior-pages-banner, .interior-pages-banner .interior-banner-overlay-container {
        height: 450px;
    }

    .interior-pages-banner::before {
        top: 0;
        left: 0;
        right: 0;
        bottom: auto;
        height: 450px;
        background-image: url("/assets/images/pages/banners/webp/interior-banners-bg-d.webp");
    }

    .interior-pages-banner h2 span.border-bottom {
        border-width: 4px !important;
    }

    .interior-pages-banner header.mt-lg-5 {
        padding-top: 1rem !important;
    }

    .interior-pages-banner .bi-subtitle {
        text-transform: uppercase;
        font-weight: 500;
    }
}

@media (min-width: 993px) and (max-width: 1199px) {
    .interior-pages-banner header {
        padding-top: 3.5rem !important;
    }

    .interior-pages-banner .header-margin-control {
        margin-bottom: .5rem !important;
    }

    .interior-pages-banner .interior-banner-overlay-container {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important;
    }
}

@media (min-width: 1200px) and (max-width: 1439px) {
    .interior-pages-banner header {
        padding-top: 1.5rem !important;
    }
}

@media (min-width: 1440px) {
    .interior-pages-banner header {
        padding-top: 2.4rem !important;
        margin-bottom: 2.45rem !important;
    }

    .interior-pages-banner .bi-title, .interior-pages-banner .bi-subtitle {
        margin-bottom: 0.7rem !important;
    }

    .interior-pages-banner hr {
        margin-top: 1.5rem !important;
        margin-bottom: 1.6rem !important;
    }

    .interior-pages-banner .banner-georgia-italic-text {
        margin-top: 10px !important;
    }
}

/* Mobile only */
/* Mobile only */
@media (max-width: 991.98px) {
    .theme-interior-choose-best-design-card {
        position: relative;
        justify-content: center;
        align-items: center;
        min-height: 48px;
        padding: 8px 48px !important;
    }

    .theme-interior-choose-best-design-icon {
        position: absolute;
        left: 8px;
        top: 50%;
        transform: translateY(-50%);
    }

    .theme-interior-choose-best-design-content {
        width: fit-content;
        align-items: flex-start !important;
        text-align: left;
    }

    .theme-interior-choose-best-design-content .text-start {
        text-align: left !important;
    }

    .theme-interior-choose-best-design-bg.theme-sm-bordered-text::before,
    .theme-interior-choose-best-design-bg.theme-sm-bordered-text::after {
        border-bottom: 1px solid rgb(11, 55, 104, 25%);
        margin: 0 5px; /* Adds space between the line and the text */
    }
}

/* Desktop only */
@media (min-width: 992px) {
    .theme-interior-choose-best-design-bg {
        background: #ECF1F9;
    }

    .theme-interior-choose-best-design-card {
        padding: 12px 25px !important;
    }
}

/* Afro page Banner Styles */
.afro-hair-systems .interior-pages-banner header span.border-bottom {
    border: none !important;
    text-transform: capitalize !important;
}

.afro-hair-systems .interior-pages-banner header h2:last-child {
    margin-bottom: 3px !important;
}

.afro-hair-systems .interior-pages-banner .bi-description {
    gap: 0 !important;
}

@media (min-width: 992px) {
    .afro-hair-systems .interior-pages-banner header {
        margin-bottom: 5px !important;
    }

    .afro-hair-systems .interior-pages-banner header > div {
        margin-bottom: 10px !important;
    }

    .afro-hair-systems .interior-pages-banner .bi-title {
        margin-bottom: 10px !important;
    }
}

/* =========================================================
   Interior Pages Banner Styles End
========================================================= */

/* =========================================================
   Hair Repair Page Banner Styles Start
========================================================= */
.hair-repair-pages-banner {
    position: relative;
    overflow: hidden;
    background: none;
}

/* default background */
.hair-repair-pages-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("/assets/images/pages/banners/webp/banner-hair-repair-bg.webp");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    z-index: 0;
}

/* keep content above background */
.hair-repair-pages-banner > * {
    position: relative;
    z-index: 1;
}

.hair-repair-pages-banner h2 span.border-bottom {
    padding-bottom: 3px;
    border-width: 1px !important;
    border-color: #0A9EF4 !important;
}

@media (min-width: 391px) and (max-width: 440px) {
    .hair-repair-pages-banner .interior-banner-overlay-container header {
        padding-top: 20px !important;
        margin-bottom: 20px;
    }
}

@media (max-width: 440px) {
    .hair-repair-pages-banner .interior-banner-overlay-container {
        max-height: 230px;
    }

    .hair-repair-pages-banner h2 {
        text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6);
    }
}

@media (min-width: 760px) and (max-width: 991px) {
    .hair-repair-pages-banner .container.px-0 {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .hair-repair-pages-banner header {
        padding-top: 3rem !important;
    }
}

/* desktop background (LG and above) */
@media (min-width: 992px) {
    .hair-repair-pages-banner, .hair-repair-pages-banner .interior-banner-overlay-container {
        height: 450px;
    }

    .hair-repair-pages-banner::before {
        top: 0;
        left: 0;
        right: 0;
        bottom: auto;
        height: 450px;
        background-image: url("/assets/images/pages/banners/webp/banner-hair-repair-bg-d.webp");
    }

    .hair-repair-pages-banner h2 span.border-bottom {
        border-width: 4px !important;
    }

    .hair-repair-pages-banner header.mt-lg-5 {
        padding-top: 1rem !important;
    }

    .hair-repair-pages-banner .bi-subtitle {
        text-transform: uppercase;
        font-weight: 500;
    }
}

@media (min-width: 993px) and (max-width: 1199px) {
    .hair-repair-pages-banner header {
        padding-top: 3.5rem !important;
    }

    .hair-repair-pages-banner .header-margin-control {
        margin-bottom: .5rem !important;
    }

    .hair-repair-pages-banner .interior-banner-overlay-container {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important;
    }
}

@media (min-width: 1200px) and (max-width: 1439px) {
    .hair-repair-pages-banner header {
        padding-top: 1.5rem !important;
    }
}

@media (min-width: 1440px) {
    .hair-repair-pages-banner header {
        padding-top: 1.5rem !important;
        margin-bottom: 0.45rem !important;
    }

    .hair-repair-pages-banner .bi-title, .hair-repair-pages-banner .bi-subtitle {
        margin-bottom: 0.7rem !important;
    }

    .hair-repair-pages-banner hr {
        margin-top: 1.5rem !important;
        margin-bottom: 1.6rem !important;
    }

    .hair-repair-pages-banner .banner-georgia-italic-text {
        margin-top: 10px !important;
    }
}

/* =========================================================
   Hair Repair Page Banner Styles End
========================================================= */


/* =========================================================
   Salon Banner Styles Start
========================================================= */

@media (min-width: 1024px) and (max-width: 1199px) {
    .theme-main-content.salon-page {
        margin-top: 100px;
    }
}

.salon-page-banner {
    position: relative;
    overflow: hidden;
    background: none; /* remove original background */
}


/* default background */
.salon-page-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("/assets/images/pages/banners/webp/banner-salon-bg.webp");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    z-index: 0;
    height: 450px;
}

/* keep content above background */
.salon-page-banner > * {
    position: relative;
    z-index: 1;
}

.salon-page-banner hr.theme-divider {
    height: 1px !important;
    background: #FFF;
    opacity: 0.7 !important;
}

@media (min-width: 760px) and (max-width: 991px) {
    .salon-page-banner .container.px-0 {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .salon-page-banner header {
        padding-top: 3rem !important;
    }
}

/* flip ONLY on LG */
@media (min-width: 992px) {
    .salon-page-banner {
        height: 450px;
    }

    .salon-page-banner::before {
        top: 0;
        left: 0;
        right: 0;
        bottom: auto;
        max-height: 450px;
        background-image: url("/assets/images/pages/banners/webp/interior-banners-bg-d.webp");
    }

    /* Fix desktop salon image top/left space */
    @media (min-width: 992px) {
        .salon-page-banner > .container > .row > section:last-child {
            height: 100%;
            align-items: stretch;
            overflow: visible;
        }

        .salon-page-banner > .container > .row > section:last-child > picture {
            display: block;
            flex: 0 0 auto;
            width: auto;
            height: 100%;
            margin-top: 0 !important; /* overrides mt-auto */
        }

        .salon-page-banner > .container > .row > section:last-child img {
            display: block;
            width: auto;
            max-width: none;
            height: 450px;
            max-height: 450px !important;
            object-fit: contain;
            object-position: left top;
        }
    }
}

@media (min-width: 993px) and (max-width: 1199px) {
    .salon-page-banner header {
        padding-top: 7rem !important;
    }
}

@media (min-width: 1200px) and (max-width: 1439px) {
    .salon-page-banner header {
        padding-top: 0.5rem !important;
    }
}

/* Margin handling according to Figma */
@media (min-width: 992px) and (max-width: 1440px) {
    .salon-page-banner {
        height: 450px;
    }
}

/* =========================================================
   Salon Banner Styles End
========================================================= */


/* =========================================================
   LARGE SLIDER LINE INDICATOR (BOOTSTRAP 5.3 STYLE)
========================================================= */
.slider-line {
    width: 14px; /* inactive = small */
    height: 2px;
    background: #fff; /* light blue */
    border-radius: 50px;
    transition: all 0.3s ease;
}

/* Active line */
.slider-line.active {
    background: var(--theme-color-blue-default); /* Bootstrap primary blue */
    transform: scaleY(1.2);
}


#MensHairSystems .theme-card-default.extend-card-home-hs .home-hs-link img {
    max-height: 8px;
}

@media (min-width: 992px) {
    .slider-line {
        width: 28px;
        height: 3px;
    }

    .theme-stock-hair-systems .service-offers .-font-inter-medium {
        font-family: "Inter Semi Bold", Sans-Serif, serif !important;
    }

    .theme-stock-hair-systems .service-offers .-font-inter-medium {
        font-family: "Inter Semi Bold", Sans-Serif, serif !important;
    }

    #MensHairSystems .theme-card-default.extend-card-home-hs .home-hs-link img {
        max-height: 18px;
    }

    #MensHairSystems .theme-popular-product-stock-system .fs-22 {
        font-size: 45px !important;
        line-height: 50px !important;
    }
}

/* =========================================
   Why Choose Dropdown Styles Start
   ========================================= */
.wcs-dropdown .accordion-item {
    padding-top: 10px;
    padding-bottom: 20px;
}

.wcs-dropdown .accordion-item {
    border: none;
    background: transparent;
}

/* Button */
.wcs-dropdown .accordion-button {
    background: unset;
    color: var(--theme-color-blue-default);
    /*border: 0.094rem dashed #7D95B8;*/
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 14px;
    box-shadow: none;
}

/* Prevent Bootstrap click/focus change */
.wcs-dropdown .accordion-button:hover,
.wcs-dropdown .accordion-button:focus,
.wcs-dropdown .accordion-button:active {
    background: #E9EEF3;
    box-shadow: none !important;
    /*border: 0.094rem dashed #7D95B8;*/
}

/* Remove Bootstrap default arrow */
.wcs-dropdown .accordion-button::after {
    display: none;
}

/* Connected open state */
.wcs-dropdown .accordion-button:not(.collapsed) {
    background: #E9EEF3;
    color: var(--theme-color-blue-default);
    box-shadow: none !important;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

/* Accordion content */
.wcs-dropdown .accordion-body {
    width: 100%;
    background: #E9EEF3;
    border: none;
    border-radius: 5px;
    padding: 1rem;
    margin-top: -1px;
    min-width: 220px;
    overflow: hidden;
    z-index: 2;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}

/* Remove top radius when open */
.wcs-dropdown .accordion-collapse.show .accordion-body {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

/* Icon rotation */
.wcs-dropdown .icon-toggle {
    transition: transform 0.25s ease;
}

.wcs-dropdown .accordion-button:not(.collapsed) .icon-toggle {
    transform: rotate(180deg);
}

@media (min-width: 992px) {
    .wcs-dropdown .accordion-button,
    .wcs-dropdown .accordion-button:hover,
    .wcs-dropdown .accordion-button:focus,
    .wcs-dropdown .accordion-button:active {
        background: unset;
        box-shadow: unset;
        border: unset;
    }

    .wcs-dropdown .accordion-body {
        background: unset;
        box-shadow: unset;
    }

    .wcs-dropdown .accordion-button {
        font-size: 30px;
        font-family: "Inter Semi Bold", Sans-Serif, sans-serif;
    }
}

/* =========================================
   Why Choose Dropdown Styles End
   ========================================= */
/* =========================================
   Homepage Women Section
   ========================================= */
.theme-women-section img {
    width: auto;
    margin-top: 1px;
    margin-bottom: 2px;
}

@media (max-width: 440px) {
    .theme-women-section img {
        max-height: 120px;
    }
}

/* For screens lg and above (desktop) */
@media (min-width: 992px) {
    .theme-women-section .theme-card-default .card-body {
        max-width: 350px;
    }

    .theme-women-section img {
        height: 400px;
    }
}

/* =========================================
   Home Page Styles
   ========================================= */
/* Home page title */
.mobile-title {
    letter-spacing: 0.07rem;
    font-weight: 700;
}

.mobile-title i {
    font-weight: 600;
}

/* Banner */
.banner-coupon-card {
    max-width: 215px;
    box-shadow: 0 5px 10px #00000029 !important;
    overflow: hidden !important;
}

.banner-coupon-footer {
    padding: 3px 0.5rem;
    gap: 5px;
    white-space: nowrap;
}

/* Men's Hair Systems */
.theme-tab-wrapper {
    border-radius: 15px;
}

.hr-gradient {
    border: none;
    height: 2px;
    width: 100%;
    background: linear-gradient(to right, #f2f2f2 0%, #a2a1a1 50%, #f2f2f2 100%);
}

.theme-line-gradient-dark {
    display: block;
    border: 0 !important;
    height: 1px;
    width: 100%;
    background: linear-gradient(
            to right,
            #ffffff 0%,
            #000000 50%,
            #ffffff 100%
    );
}

.theme-line-gradient-step-5 {
    display: block;
    border: 0 !important;
    height: 1px;
    width: 100%;
    background: linear-gradient(
            to right,
            #FFFFFF 0%,
            #D1D5DB 20%,
            #D1D5DB 50%,
            #D1D5DB 80%,
            #FFFFFF 100%
    );
}

.custom-hair-container .theme-card-default {
    background-image: linear-gradient(to bottom, #E8F0FA 0%, #F9FBFF 100%);
}

.duplicate-system-img img {
    max-height: 80px !important;
}

.custom-hair-container .custom-product-img {
    max-height: 58px;
}

@media (min-width: 992px) {

    .custom-hair-container .custom-product-img {
        max-height: 101px !important;
    }

    .custom-hair-container .duplicate-system-img img {
        max-height: 194px !important;
    }

    .theme-tab-wrapper.theme-mt-negative-33-px {
        margin-top: -100px;
    }

    .theme-tab-wrapper .slider-line {
        margin-top: 12px;
    }

    .theme-tab-wrapper .theme-px-10p-imp {
        padding-left: 36px;
        padding-right: 36px;
    }

    .custom-hair-container .theme-card-default {
        border: 0;
    }

    .theme-line-gradient-step-5.theme-bw-1px {
        height: 1px;
    }

    .start-duplicate-btn {
        min-width: 330px;
    }
}

@media (min-width: 1400px) {
    min-width: 346px;
}

/* =========================================
   Real client review Section Start
   ========================================= */
.theme-client-transformations .owl-theme .item .container, .theme-client-transformations .owl-theme .item .container .card {
    border-radius: 15px !important;
}

.theme-client-transformations .verify-badge-icon {
    width: 22px;
    height: 27px;
}

.theme-client-transformations img.transformation-play-btn {
    width: 58px;
    height: 58px;
}

.theme-client-transformations .theme-card-default {
    padding: 12px;
    border-radius: 10px !important;
    background: #FDFDFD !important;
}

@media (min-width: 992px) {
    .theme-client-transformations .theme-card-default {
        padding: 0 !important;
    }

    .theme-client-transformations .theme-card-default picture {
        border-top-right-radius: 0 !important;
        border-bottom-right-radius: 0 !important;
    }

    .theme-client-transformations img.transformation-play-btn {
        width: 115px;
        height: 115px;
    }

    .theme-client-transformations .verify-badge-icon {
        width: 35px;
        height: 43px;
    }

    .client-review-picture-single {
        display: block;
        width: 100%;
    }

    .client-review-picture-single img {
        display: block;
        width: 100%;
        max-width: none;
        height: auto;
    }
}

@media (max-width: 375px) {
    .theme-client-transformations .theme-client-transformation-single img {
        max-height: 228px;
    }

    .theme-client-transformations .verify-badge-icon {
        width: 22px;
        height: 27px;
    }
}

/* =========================================
   Real client review Section End
   ========================================= */

/* =========================================
   Google Review Section Start
   ========================================= */
.theme-google-reviews {
    background: rgb(237, 238, 242, 80%);
}

.theme-google-reviews .theme-divider-border::before {
    background: linear-gradient(to right, rgba(235, 237, 238, 0), #AABCD1);
}

.theme-google-reviews .theme-divider-border::after {
    background: linear-gradient(to left, rgba(235, 237, 238, 0), #AABCD1);
}

.theme-google-reviews .theme-divider-border::before, .theme-google-reviews .theme-divider-border::after {
    height: 1px;
}

.theme-google-reviews .text-light-lg {
    color: #ABB8CC;
}

.theme-google-reviews .theme-card-default {
    border-radius: 10px;
    background: #FFF !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12),
    0 8px 18px rgba(0, 0, 0, 0.10);
}

#ThemeGoogleReviewSlider.owl-carousel:not(.owl-loaded) {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 15px;
}

#ThemeGoogleReviewSlider.owl-carousel:not(.owl-loaded) .item:nth-child(n+2) {
    display: none !important;
}

@media (min-width: 768px) {
    #ThemeGoogleReviewSlider.owl-carousel:not(.owl-loaded) {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    #ThemeGoogleReviewSlider.owl-carousel:not(.owl-loaded) .item:nth-child(-n+3) {
        display: flex !important;
    }
}

/* Make every carousel item stretch */
#ThemeGoogleReviewSlider .owl-stage {
    display: flex;
}

#ThemeGoogleReviewSlider .owl-item {
    display: flex;
}

#ThemeGoogleReviewSlider .item {
    display: flex;
    width: 100%;
}

/* Equal-height card */
#ThemeGoogleReviewSlider .theme-card-default {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    margin-bottom: 0;
    padding-bottom: 0;
}

/* Keep long full-text reviews from making every equal-height slide enormous. */
#ThemeGoogleReviewSlider .theme-card-default .body {
    flex: 0 1 auto;
    display: flex;
    flex-direction: column;
    height: 115px;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
}

#ThemeGoogleReviewSlider .theme-google-review-read-more {
    text-align: left;
}

#ThemeGoogleReviewSlider .theme-google-review-read-more.theme_read_more--line-clamp:not(.theme_read_more--open) .theme_read_more__text,
#ThemeGoogleReviewSlider .theme-google-review-read-more[data-limit-lines]:not(.theme_read_more--open) .theme_read_more__text {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--read-more-lines, 4);
    overflow: hidden;
}

#ThemeGoogleReviewSlider .theme-google-review-read-more.theme_read_more--open .theme_read_more__text {
    display: block;
    -webkit-line-clamp: unset;
    overflow: visible;
}

#ThemeGoogleReviewSlider .theme-google-review-read-more .theme_read_more__btn {
    min-width: 0;
    width: auto;
    display: inline-flex;
    align-items: center;
    margin: 16px 0 0;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none !important;
    border-radius: 0;
}

#ThemeGoogleReviewSlider .theme-google-review-read-more[data-limit-lines]:not(.theme_read_more--overflow) .theme_read_more__btn {
    display: none !important;
}

#ThemeGoogleReviewSlider .theme-google-review-read-more[data-limit-lines].theme_read_more--overflow .theme_read_more__btn {
    display: inline-flex !important;
}

#ThemeGoogleReviewSlider .theme-google-review-read-more .theme_read_more__btn:hover {
    background: transparent;
    /*border-bottom: 1px solid;*/
}

#ThemeGoogleReviewSlider .theme-card-default > hr.theme-divider {
    margin-top: auto !important;
    color: #2B4976;
}

/* Keep footer attached to the divider at the bottom */
#ThemeGoogleReviewSlider .theme-card-default footer {
    margin-top: 0;
}

@media (min-width: 992px) {

    .theme-google-reviews {
        background: #FFF;
    }

    .theme-google-reviews hr.theme-divider {
        border-color: #2B4976 !important;
    }

    #ThemeGoogleReviewSlider .theme-card-default {
        border: 1px solid #647395;
    }

    #ThemeGoogleReviewSlider .theme-card-default .body {
        height: 130px;
    }

    #ThemeGoogleReviewSlider.owl-carousel:not(.owl-loaded) {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    #ThemeGoogleReviewSlider.owl-carousel:not(.owl-loaded) .item:nth-child(-n+4) {
        display: flex !important;
    }

    .theme-google-reviews .theme-divider-border::before, .theme-google-reviews .theme-divider-border::after {
        height: 2px;
    }

    .theme-google-reviews .text-light-lg {
        color: #FFF;
    }

    #ThemeGoogleReviewSlider .theme-card-default > hr.theme-divider {
        border-width: 2px !important;
    }
}

/* =========================================
   Google Review Section End
   ========================================= */


/* =========================================
   HD Hairline Section End
   ========================================= */
/* All Bootstrap lg devices and larger */
@media (min-width: 992px) {
    .theme-hd-invisible-hairline .theme-divider-container {
        padding-right: 15% !important;
    }

    .theme-hd-invisible-hairline hr.theme-divider {
        margin-top: clamp(
                0.5rem,
                calc(3.9286vw - 1.6857rem),
                3.5rem
        ) !important;

        margin-bottom: clamp(
                0.5rem,
                calc(3.9286vw - 1.6857rem),
                3.5rem
        ) !important;
    }
}

/* =========================================
   HD Hairline Section End
   ========================================= */

/* =========================================
   Product & Services Section Start
   ========================================= */
section.product-and-services .product-services-card {
    background: #F8FAFD;
    border-radius: 12px;
    box-shadow: 0 0 12px rgba(0, 0, 0, 0.12) !important;
}

section.product-and-services .product-services-img {
    height: 94px;
}

@media (min-width: 992px) {
    section.product-and-services .product-services-img {
        height: 114px;
    }
}

@media (min-width: 1440px) {
    /* 2 Col product styles */
    .theme-expand-col.col-lg-6 .performance-card h6.header-title, .theme-expand-col.col-lg-6 .performance-card div.label {
        font-size: 18px !important;
    }

    .theme-expand-col.col-lg-6 .performance-card div.score, .theme-expand-col.col-lg-6 del.product-cart-reg-price {
        font-size: 20px !important;
    }

    .theme-expand-col.col-lg-6 .product-cart-price {
        font-size: 38px !important;
    }
}

/* =========================================
   Product & Services Section End
   ========================================= */

/* =========================================
   Product Cart Section Start
   ========================================= */
/* All lg and larger screens: 992px–2559px */
@media (min-width: 1280px) {
    .theme-card-default .product-cart-price {
        margin-right: clamp(
                4%,
                calc(4% + (100vw - 1024px) * 0.00556),
                9%
        ) !important;
    }
}

/* =========================================
   Product Cart Section End
   ========================================= */


/* =========================================
   Card List Styles Default
   ========================================= */
.theme-list-default {
    border: unset;
}

.theme-list-default .theme-list-default-image {
    width: 28px;
}

.theme-list-default .theme-list-default-image img {
    width: 24px;
    height: 28px;
}

/* =========================================
   Accordion Styles
   ========================================= */
/* Theme Accordion */
.theme-accordion-panel .accordion-button::after {
    display: none;
}

/* Banner Accordion */
#BannerAccordion .accordion-item {
    box-shadow: 0 4px 10px #c3c9ce;
}

#BannerAccordion .list-group {
    padding-top: 3px;
    padding-bottom: 5px;
}

#BannerAccordion .list-group .list-group-item {
    background: #F2F4F7;
}

#BannerAccordion .list-group .list-group-item:hover {
    background: #D9D9D9;
}

#BannerAccordion .accordion-button {
    justify-content: center;
    position: relative;
}

/* Theme Accordion */
.accordion-button {
    --bs-accordion-btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.75'%3E%3Cpath d='M2 5l6 6 6-6'/%3E%3C/svg%3E");
}

.accordion-button.btn-find-your-systems {
    background: var(--theme-color-blue-default);
    color: #FFF;
}

@media (min-width: 992px) {
    .accordion-button.btn-find-your-systems {
        font-size: 24px;
    }
}

.accordion-button.icon-enabled:after {
    filter: invert(1);
    border-radius: 15%;
    margin-right: 15px;
    margin-left: 15px;
    background-position: center;
}

.theme-accordion-panel .custom-arrow {
    transition: transform 0.3s ease;
}

.theme-accordion-panel .accordion-button[aria-expanded="false"] .custom-arrow {
    transform: rotate(0deg);
}

.theme-accordion-panel .accordion-button[aria-expanded="true"] .custom-arrow {
    transform: rotate(180deg);
}

.theme-accordion-panel .accordion-button:focus-visible {
    outline: 2px dashed #0b265e;
}

.theme-accordion-panel .accordion-item {
    border-color: #0b265e;
    border-left: none;
    border-right: none;
    margin-bottom: 0.25rem;
}

.theme-accordion-panel .accordion-button {
    box-shadow: none;
    background: none;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.theme-accordion-panel .accordion-title,
.theme-accordion-panel .accordion-read-more,
.theme-accordion-panel .accordion-icon {
    color: #09265e;
}

.theme-accordion-panel .accordion-body {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0;
    line-height: 1.4;
}

/* Hollywood Lace Accordion */
#hlw-page-accordion img.accordion-inner-icon {
    margin-right: 10px;
    width: 20px;
    height: auto;
}

#hlw-page-accordion img.accordion-inner-icon-sm {
    margin-right: 5px;
    width: 15px;
    height: auto;
}

#hlw-page-accordion .accordion-button:not(.collapsed) {
    background-color: #EBEDF1; /* your color */
    box-shadow: none;
}

/* Single product add cart accordion */
.theme-add-cart-accordion-panel .accordion-button::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
}

/* Remove first/last border for items with border-bottom */
.theme-accordion-panel .accordion-item.border-bottom:first-child {
    border-top: none;
}

.theme-accordion-panel .accordion-item.border-bottom:last-child {
    border-bottom: none !important;
}

/* =========================================
   Padding & Line Height Utilities
   ========================================= */
.custom-px-1 {
    padding-left: 1px !important;
    padding-right: 1px !important;
}

.custom-px-3 {
    padding-left: 3px !important;
    padding-right: 3px !important;
}

.custom-px-1-25 {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
}

.custom-py-px-30 {
    padding: 30px 0 !important;
}

.lh-percent-120 {
    line-height: 120% !important;
}

/* =========================================
   Carousel & Profile Styles
   ========================================= */
.ccp-mobile-m-shs {
    padding-bottom: 200px !important;
    right: 58px !important;
}

.ccp-mobile-m-chs {
    padding-bottom: 197px !important;
    right: 58px !important;
}

.profile-image {
    height: 45px !important;
    border: 1px solid #9797a5;
    border-radius: 50%;
}

/* =========================================
   Image Container & Zoom
   ========================================= */
.image-container {
    width: 100%;
    position: relative;
    display: inline-block;
}

.image-container img {
    display: block;
    width: 100%;
    height: auto;
}

.zoom:hover {
    -ms-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    z-index: 1 !important;
    position: relative;
}

.zoom-lg:hover {
    -ms-transform: scale(1.3);
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
    z-index: 1 !important;
    position: relative;
}

/* =========================================
   Cart & Payment
   ========================================= */
.cart-contact-icon-m {
    height: 41px;
    width: 44px;
    padding: 5px;
    border-radius: 50%;
    background: #305079 !important;
    text-align: center;
    vertical-align: middle;
}

.cart-contact a.text-light:hover {
    color: #D9D9D9EC !important;
}

/* =========================================
   Reviews Section
   ========================================= */
.overlay-container {
    position: relative;
    display: inline-block;
}

.overlay-container img.overlay-bottom-right {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: 1px solid #898d98;
}

/* =========================================
   Page Titles & Subtitles
   ========================================= */
.theme-page-title {
    margin-top: 15px;
    margin-bottom: 0;
    text-align: center;
    color: var(--theme-color-blue-default);
    font-size: 25px;
    font-family: "Inter Bold", serif !important;
    text-transform: uppercase;
}

.theme-page-subtitle {
    margin-bottom: 0;
    text-align: center;
    color: var(--theme-color-slate-default);
    font-size: 17px;
    font-family: "Inter Medium", serif !important;
}

.theme-title {
    margin-top: 15px;
    margin-bottom: 5px;
    text-align: center;
    color: var(--theme-color-blue-default);
    font-size: 24px;
    line-height: 28px;
    font-family: "Inter Semi Bold", serif !important;
}

.theme-title.-font-inter-medium {
    font-family: "Inter Medium", serif !important;
}

.theme-title.-font-inter-bold {
    font-family: "Inter Bold", serif !important;
}

/*.theme-title.fs-16 {*/
/*    font-size: 16px;*/
/*    line-height: 20px;*/
/*}*/
/*.theme-title.fs-18 {*/
/*    font-size: 18px;*/
/*}*/
/*.theme-title.fs-20 {*/
/*    font-size: 20px;*/
/*}*/
/*.theme-title.fs-22 {*/
/*    font-size: 22px;*/
/*}*/
/*.theme-title.fs-26 {*/
/*    font-size: 26px;*/
/*}*/
/*.theme-title.fs-28 {*/
/*    font-size: 28px;*/
/*}*/
/*.theme-title.fs-30 {*/
/*    font-size: 30px;*/
/*}*/
.theme-subtitle {
    margin-bottom: 5px;
    text-align: center;
    color: var(--theme-color-slate-light);
    font-size: 14px;
    font-family: "Inter Regular", serif !important;
}

div.theme-v-divider {
    width: 2px;
    height: 80px;
    background: #E7E7E7;
    border-radius: 2px;
    margin: 0 15px;
}

.theme-divider {
    opacity: 0.145;
}

.hr-divider-dark-gray {
    color: #6e6e6e;
}

.theme-subtitle.-font-inter-light {
    font-family: "Inter Light BETA", serif !important;
}

@media (min-width: 992px) {
    /*.theme-title.fs-16 {*/
    /*    font-size: 20px;*/
    /*    line-height: 40px;*/
    /*}*/
    /*.theme-title.fs-18 {*/
    /*    font-size: 24px;*/
    /*    line-height: 30px;*/
    /*}*/
    /*.theme-title.fs-22 {*/
    /*    font-size: 22px;*/
    /*    line-height: 26px;*/
    /*}*/
    /*.theme-title.fs-lg-28 {*/
    /*    font-size: 28px;*/
    /*    line-height: 36px;*/
    /*}*/
    /*.theme-title.fs-lg-30 {*/
    /*    font-size: 30px;*/
    /*    line-height: 36px;*/
    /*}*/
    /*.theme-title.fs-lg-34 {*/
    /*    font-size: 34px;*/
    /*    line-height: 40px;*/
    /*}*/
    /*.theme-title.fs-lg-35 {*/
    /*    font-size: 35px;*/
    /*    line-height: 40px;*/
    /*}*/
    /*.theme-title.fs-lg-36 {*/
    /*    font-size: 36px;*/
    /*    line-height: 40px;*/
    /*}*/
    /*.theme-title.fs-lg-39 {*/
    /*    font-size: 39px;*/
    /*    line-height: 44px;*/
    /*}*/
    /*.theme-title.fs-lg-40 {*/
    /*    font-size: 40px;*/
    /*    line-height: 45px;*/
    /*}*/
    /*.theme-title.fs-lg-48 {*/
    /*    font-size: 48px;*/
    /*    line-height: 55px;*/
    /*}*/
    /*.theme-title.fs-lg-50 {*/
    /*    font-size: 50px;*/
    /*    line-height: 55px;*/
    /*}*/
    /*.theme-title.fs-lg-55 {*/
    /*    font-size: 55px;*/
    /*    line-height: 65px;*/
    /*}*/
}

@media (max-width: 450px) and (min-width: 376px) {
    /*.theme-title.fs-xs-16 {*/
    /*    font-size: 16px;*/
    /*}*/
    /*.theme-title.fs-xs-18 {*/
    /*    font-size: 18px;*/
    /*}*/
    /*.theme-title.fs-xs-22 {*/
    /*    font-size: 22px;*/
    /*}*/
    /*.theme-title.fs-xs-23 {*/
    /*    font-size: 23px;*/
    /*}*/
    /*.theme-title.fs-xs-24 {*/
    /*    font-size: 24px;*/
    /*}*/
    /*.theme-title.fs-xs-25 {*/
    /*    font-size: 25px;*/
    /*}*/
    /*.theme-title.fs-xs-26 {*/
    /*    font-size: 26px;*/
    /*}*/
    /*.theme-title.fs-xs-27 {*/
    /*    font-size: 27px;*/
    /*}*/
    /*.theme-title.fs-xs-28 {*/
    /*    font-size: 28px;*/
    /*}*/
    /*.theme-title.fs-xs-29 {*/
    /*    font-size: 29px;*/
    /*}*/
    /*.theme-title.fs-xs-30 {*/
    /*    font-size: 30px;*/
    /*}*/
    /*.theme-title.fs-xs-31 {*/
    /*    font-size: 31px;*/
    /*}*/
    /*.theme-title.fs-xs-32 {*/
    /*    font-size: 32px;*/
    /*}*/
    /*.theme-title.fs-xs-33 {*/
    /*    font-size: 33px;*/
    /*}*/
}

/* =========================================
   Homepage FAQ Styles
   ========================================= */
/* Card */
.theme-faq-accordion .faq-card {
    background: #fff;
    border-radius: 5px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
    border: 1px solid #E9E9E9;
    overflow: hidden;
}

/* Header */
.theme-faq-accordion .faq-header {
    padding: 10px 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}

/* Title */
.theme-faq-accordion .faq-title {
    margin: 0;
}

/* Body */
.theme-faq-accordion .faq-body {
    padding: 10px 12px;
    border-top: 1px solid #E9E9E9;
    color: #000000;
}

/* Icon */
.theme-faq-accordion .faq-icon {
    width: 25px;
    height: 25px;
    border-radius: 50%;
    border: 1px solid var(--theme-color-blue-default);
    color: var(--theme-color-blue-default);
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 20px;
    line-height: 22px;
    font-weight: normal;
    flex-shrink: 0;
    padding: 2px 5px 5px 5px;
}

/* Remove default Bootstrap styles */
.theme-faq-accordion .accordion-button::after {
    display: none;
}

.theme-faq-accordion .accordion-button {
    background: transparent;
    box-shadow: none;
    padding: 0;
}

.theme-faq-accordion .accordion-button:not(.collapsed) {
    color: inherit;
    background: transparent;
}

@media (min-width: 992px) {
    .theme-faq-accordion .faq-header {
        padding: 15px;
    }

    .theme-faq-accordion .faq-icon {
        width: 41px;
        height: 41px;
        font-size: 26px;
        line-height: 35px;
        border: 2px solid var(--theme-color-blue-default);
    }
}

/* =========================================
   Need help section start
   ========================================= */
.theme-need-help-container.nh-bg-light-gray {
    background: #F2F5F8;
}

.theme-need-help-container .need-help-call-icon {
    height: 18px;
    width: auto;
}

.theme-need-help-container .need-help-angle-right-icon {
    height: 10px;
    width: auto;
}

.btn-need-help {
    border: 2px solid #bda77e75 !important;
}

@media (max-width: 992px) {
    .theme-need-help-container.nh-bg-light-gray.nh-bg-sm-light-blue {
        background: #E1EBFB;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .theme-need-help-container .btn-need-help-container {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .theme-need-help-container .justify-content-lg-end, .theme-need-help-container .justify-content-lg-start {
        justify-content: center !important;
        text-align: center;
    }
}

@media (min-width: 992px) {
    .theme-need-help-container .btn-need-help {
        max-width: 357px;
    }

    .home-theme-need-help .theme-bg-blue-medium {
        min-height: 116px;
    }

    .theme-need-help-container .need-help-call-icon {
        height: 25px !important;
        width: auto;
    }

    .theme-need-help-container .need-help-angle-right-icon {
        height: 14px !important;
        width: auto;
    }
}

/* =========================================
   Need help section end
   ========================================= */
/* =========================================
   30 days guarantee section start
   ========================================= */
.theme-30-days-guarantee .theme-card-extend-guarantee {
    padding: 10px;
}

.theme-30-days-guarantee .theme-bordered-text {
    display: flex;
    align-items: center;
    justify-content: center; /* centers the whole content */
    text-align: center;
}

.theme-30-days-guarantee .theme-bordered-text::before,
.theme-30-days-guarantee .theme-bordered-text::after {
    content: "";
    width: 10%;
    border-bottom: 1px solid #dee2e6; /* Bootstrap border color */
}

.theme-30-days-guarantee .theme-bordered-text::before {
    margin-right: 15px;
}

.theme-30-days-guarantee .theme-bordered-text::after {
    margin-left: 15px;
}

.theme-30-days-guarantee .theme-card-extend-guarantee img.guaranty-graphic {
    max-height: 76px;
}

.theme-30-days-guarantee .theme-card-extend-guarantee img.theme-icon {
    max-height: 18px;
    width: auto;
}

@media (max-width: 375px) {
    .theme-30-days-guarantee .theme-bordered-text::before,
    .theme-30-days-guarantee .theme-bordered-text::after {
        width: 5%;
    }
}

@media (min-width: 992px) {
    .theme-30-days-guarantee .theme-card-extend-guarantee {
        background: #FFFFFF;
        border-radius: 15px;
        box-shadow: 0 0 12px rgba(0, 0, 0, 0.25) !important;
        overflow: hidden;
        transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    .theme-30-days-guarantee .theme-card-extend-guarantee:hover {
        transform: translateY(-5px);
        box-shadow: 0 12px 20px rgba(0, 0, 0, 0.25) !important; /* stronger shadow */
    }

    .theme-30-days-guarantee .theme-card-extend-guarantee .mt-lg-minus-75 {
        margin-top: -75px;
    }

    .theme-30-days-guarantee .theme-card-extend-guarantee .theme-guaranty-highlight-text {
        font-family: "Inter Semi Bold", "sans-serif";
    }

    .theme-30-days-guarantee .theme-card-extend-guarantee img.guaranty-graphic {
        max-height: 132px;
    }

}

@media (min-width: 992px) and (max-width: 1199px) {
    .theme-30-days-guarantee .btn-view-30-day-guarantee {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
}

@media (min-width: 1200px) {
    .theme-30-days-guarantee .btn-view-30-day-guarantee {
        width: 462px !important;
    }
}

/* =========================================
   30 days guarantee section end
   ========================================= */
/* =========================================
   Custom Hair Page Styles Start
   ========================================= */
.theme-why-choose-system {
    background: #FFFFFF;
}

/* # Product Section & Popular product card gradient */
.theme-card-extend-custom-hair.theme-popular-product {
    background-image: linear-gradient(to bottom, #E6EDF8 0%, #F7FAFF 100%);
}

/* Popular product image */
.theme-card-extend-custom-hair.theme-popular-product .theme-image {
    margin-top: 10px;
    height: auto;
    width: 100%;
}

/* Default card styles */
.theme-card-extend-custom-hair {
    border-radius: 10px;
    background: #F8FAFD;
    padding: 5px;
    /*background-image: linear-gradient(to bottom, #E6EDF8 0%, #F7FAFF 100%);*/
    box-shadow: 0 0 13px rgba(0, 0, 0, 0.20) !important;
}

/* Card heading and paragraph spacing */
.theme-card-extend-custom-hair h4 {
    margin-bottom: 3px;
}

.theme-card-extend-custom-hair p {
    margin-bottom: 0;
}

/* Card images and icons */
.theme-card-extend-custom-hair .theme-icon {
    height: 9px;
    width: auto;
}

.theme-card-extend-custom-hair.small-card {
    /*padding: 7px 5px 7px 10px;*/
}

.theme-card-extend-custom-hair.small-card .theme-image {
    height: 40px;
    height: auto;
}

/* Badges inside card */
.theme-card-extend-custom-hair .badge {
    background: #f0f2fd;
    color: var(--theme-color-blue-default);
}

/* Popular badge */
.theme-popular-badge {
    background: #3567BA;
    padding: 2px 10px;
    color: #FFF;
    border-top-left-radius: 10px;
    border-bottom-right-radius: 10px;
}

/* #Which Custom System Right Section */
.theme-which-custom-right .card .card-header {
    background: var(--theme-color-blue-violet);
}

.theme-which-custom-right .card .card-body img {
    height: 36px;
    width: auto;
}

@media (max-width: 992px) {
    .theme-which-custom-right .twcr-cart {
        margin-top: 40px !important;
    }
}

@media (min-width: 1024px) and (max-width: 1200px) {
    .theme-card-extend-custom-hair.theme-popular-product .btn-cpp-view-details {
        padding-left: 0 !important;
    }
}

@media (min-width: 760px) and (max-width: 991px) {
    .theme-card-extend-custom-hair.theme-popular-product .theme-image {
        height: 150px;
        width: auto;
        margin-bottom: 30px;
    }

    .theme-card-extend-custom-hair.small-card .theme-image {
        height: 100px !important;
        width: auto;
    }
}

/* Responsive styles for lg screens and above */
@media (min-width: 992px) {

    .theme-custom-hair-systems .theme_read_more__text {
        /*color: var(--theme-color-slate-default) !important;*/
    }

    .theme-custom-hair-systems .service-offers .-font-inter-medium {
        /*font-family: "Inter Semi Bold", Sans-Serif, serif !important;*/
    }

    .theme-custom-hair-systems .service-offers .opacity-85 {
        opacity: 0.7 !important;
    }

    .theme-card-extend-custom-hair {
        padding: 25px;
    }


    .theme-card-extend-custom-hair.theme-popular-product {
        /*padding-top: 30px;*/
        /*padding-bottom: 40px !important;*/
    }

    .theme-card-extend-custom-hair.theme-popular-product .theme-image {
        height: 350px;
        width: auto;
    }

    .theme-card-extend-custom-hair.small-card .col-lg-5 {
        margin-top: 10px;
    }

    .theme-card-extend-custom-hair.small-card .theme-image {
        height: 127px !important;
        width: auto;
    }

    .theme-which-custom-right .card .card-body {
        padding: 22px 45px 0 45px !important;
    }

    .theme-which-custom-right .card .card-body img {
        height: 58px;
    }

    .duplicate-system-container .theme-card-extend-custom-hair {
        background-image: linear-gradient(to bottom, #E8F0FA 0%, #F9FBFF 100%) !important;
    }
}

/* =========================================
   Custom Hair Page Styles End
   ========================================= */
/* =========================================
   Stock Hair Page Styles Start
   ========================================= */
.theme-card-default.theme-card-extend-stock-hair {
    border-radius: 5px;
}

@media (min-width: 992px) {
    .min-h-lg-60-px {
        min-height: 60px;
    }
}

/* =========================================
   Stock Hair Page Styles End
   ========================================= */
/* =========================================
   Custom Hair products pages Styles Start like hlw, super silk, etc.
   ========================================= */
.theme-product-services {
    background: #F2F5F8;
}

@media (min-width: 992px) {
    .theme-product-services .product-service-el {
        font-size: 18px !important;
        font-family: "Inter Medium", serif;
    }
}

.theme-hollywood-lace-products .theme-hairline {
    background: #F8F8F8;
}

.theme-hollywood-lace-products .theme-hairline .hairline-imag-d {
    height: 300px !important;
    width: auto;
}

.theme-hollywood-lace-products .theme-verified-icon {
    height: 16px;
    width: auto;
}

.real-client-review .theme-double-border {
    border: 1px solid #D9D9D9; /* Inner border */
    border-radius: 18px;
}

.real-client-review .theme-double-border:before {
    border: 1px solid #D9D9D9; /* Outer border */
    border-radius: 20px; /* Adjust to match inset */
}

@media (max-width: 992px) {
    .real-client-review .theme-card-default {
        background: none !important;
        transition: none !important;
        transform: translateY(0);
    }
}

@media (min-width: 992px) {
    .real-client-review .theme-double-border {
        margin-bottom: 15px;
    }

    .theme-hollywood-lace-products .theme-verified-icon {
        height: 25px;
        width: auto;
    }
}

/* =========================================
   Custom Hair products pages Styles End
   ========================================= */
/* =========================================
   Celebrity Section Styles Start
   ========================================= */
@media (min-width: 992px) {
    .celebrity-images-row {
        padding-left: 130px;
        padding-right: 130px;
    }

    .celebrity-images-row picture img {
        max-height: 250px;
    }
}

/* =========================================
   Celebrity Section Styles End
   ========================================= */

/* =========================================
   Women's pages Styles Start
   ========================================= */
.women-hair-systems .why-choose-woman-hair {
    background: #FFF;
}

.women-hair-systems .w-title {
    color: #1F3F66 !important;
}

.women-hair-systems .w-description, .women-hair-systems .w-expire-at {
    color: #5E6A75 !important;
}

@media (max-width: 992px) {
    .women-hair-systems .theme-need-help-container {
        background: #F7DBE2;
    }

}

@media (min-width: 768px) and (max-width: 991px) {

    .women-hair-systems .women-system-image {
        max-height: 345px !important;
    }

    .women-hair-systems .w-title {
        margin-bottom: 20px;
    }

    .women-hair-systems .w-expire-at {
        margin-bottom: 25px !important;
    }
}

@media (min-width: 1200px) {
    .women-hair-systems .w-title {
        margin-bottom: 20px;
    }

    .women-hair-systems .w-expire-at {
        margin-bottom: 25px !important;
    }
}

@media (min-width: 1400px) {

    .women-hair-systems .women-system-image {
        max-height: 372px !important;
    }

    .women-hair-systems .w-title {
        margin-bottom: 20px;
    }

    .women-hair-systems .w-expire-at {
        margin-bottom: 25px !important;
    }
}

/* =========================================
   Women's pages Styles End
   ========================================= */
/* =========================================
   Duplicate pages Styles Start
   ========================================= */
.duplicate-hair-systems {
    background: #FAF8FD;
}

/* =========================================
   Duplicate pages Styles End
   ========================================= */
/* =========================================
   Supplies pages Styles Start
   ========================================= */
@media (max-width: 992px) {
    .product .theme-need-help-container {
        background: #E1EBFB;
    }
}

/* =========================================
   Supplies pages Styles End
   ========================================= */
/* =========================================
   Shopping Cart Styles Start
   ========================================= */
.theme-cart-item .theme-divider {
    border-color: var(--theme-color-blue-medium);
    opacity: 0.05;
}

.theme-card-default .flex > .theme-divider:last-of-type {
    display: none;
}

.theme-cart-item .theme-divider {
    border-color: var(--theme-color-blue-medium);
    opacity: 0.05;
}

@media (min-width: 992px) {
    .theme-cart-item img.img-fluid {
        max-height: 225px !important;
    }
}

/* Scrollable container */
/* Scrollable cart */
.cart-scroll {
    max-height: 400px; /* adjust as needed */
    overflow-y: auto;
    overflow-x: hidden; /* remove horizontal scroll */
    border-radius: 12px;
    scrollbar-width: thin; /* Firefox */
    scrollbar-color: var(--theme-blue-medium) #FFF; /* thumb + track */
}

/* larger height for desktops */
@media (min-width: 992px) {
    .cart-scroll {
        max-height: 550px;
    }
}

/* WebKit scrollbar */
.cart-scroll::-webkit-scrollbar {
    width: 5px;
}

.cart-scroll::-webkit-scrollbar-track {
    background: #e0e0e0; /* light gray track */
    border-radius: 999px;
}

.cart-scroll::-webkit-scrollbar-thumb {
    background-color: var(--theme-blue-medium); /* blue thumb */
    border-radius: 999px; /* fully rounded */
    min-height: 30px;
}

/* hide last divider */
.cart-scroll > .theme-divider:last-child {
    display: none;
}

/* =========================================
   Shopping Cart Styles End
   ========================================= */
/* =========================================
   Global Call Us Dropdown Menu Start
   ========================================= */
/* =========================================
   DROPDOWN MENU BASE
   ========================================= */
.theme-callus-dropdown-menu {
    width: 260px;
    padding-top: 0;
    border-radius: 12px;
    border: 1px solid #ccd3e1;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12);
    background: #fff;
    /* Ensure overflow is visible so the arrow can stick out */
    overflow: visible !important;
}

/* Header indicator */
.theme-callus-dropdown-indicator {
    background: #eef3ff;
    color: #1e4fd7;
    font-size: 14px;
    font-weight: 500;
    padding: 12px;
    text-align: center;
    border-bottom: 1px solid #d9e2ff;
    border-radius: 12px 12px 0 0;
}

/* =========================================
   ARROW DYNAMIC POSITIONING
   ========================================= */
/* IMPORTANT: Remove 'left' and 'transform' overrides.
   Popper.js will inject these values inline.
*/
.theme-callus-dropdown-arrow {
    position: absolute;
    width: 20px;
    height: 10px;
    z-index: 10;
}

/* Base shape for the arrow using pseudo-elements */
.theme-callus-dropdown-arrow::before,
.theme-callus-dropdown-arrow::after {
    content: "";
    position: absolute;
    left: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
}

/* =========================================
   PLACEMENT: BOTTOM (Arrow at the Top)
   ========================================= */
.theme-callus-dropdown-menu[data-popper-placement^="bottom"] .theme-callus-dropdown-arrow {
    top: -10px; /* Sits exactly on the top border */
}

.theme-callus-dropdown-menu[data-popper-placement^="bottom"] .theme-callus-dropdown-arrow::before {
    border-bottom: 10px solid #ccd3e1; /* The border color */
}

.theme-callus-dropdown-menu[data-popper-placement^="bottom"] .theme-callus-dropdown-arrow::after {
    top: 1px; /* Offset to show the border */
    left: 1px;
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
    border-bottom: 9px solid #eef3ff; /* Matches indicator background */
}

/* =========================================
   PLACEMENT: TOP (Arrow at the Bottom)
   ========================================= */
.theme-callus-dropdown-menu[data-popper-placement^="top"] .theme-callus-dropdown-arrow {
    bottom: -10px; /* Sits exactly on the bottom border */
}

.theme-callus-dropdown-menu[data-popper-placement^="top"] .theme-callus-dropdown-arrow::before {
    border-top: 10px solid #ccd3e1; /* The border color */
}

.theme-callus-dropdown-menu[data-popper-placement^="top"] .theme-callus-dropdown-arrow::after {
    top: 0;
    left: 1px;
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
    border-top: 9px solid #fff; /* Matches white menu background */
}

/* =========================================
   ITEMS & TOGGLE
   ========================================= */
.theme-callus-dropdown-menu .theme-callus-dropdown-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 5px 15px;
    text-decoration: none;
    color: #333;
}

/* Target the element that actually has the Bootstrap dropdown-item class */
.theme-callus-dropdown-menu .dropdown-item:active,
.theme-callus-dropdown-menu .dropdown-item:focus,
.theme-callus-dropdown-menu .dropdown-item.active {
    background-color: transparent !important;
    color: inherit !important;
    box-shadow: none !important;
}

.theme-callus-dropdown-item img {
    width: 30px;
    height: 30px;
    object-fit: contain;
}

.theme-callus-toggle-icon {
    border: none;
    background: none;
}

/* Reset Bootstrap button focus */
.btn.theme-callus-toggle-icon:focus,
.btn.theme-callus-toggle-icon:active {
    box-shadow: none !important;
    outline: none !important;
}

/* =========================================
   Global Call Us Dropdown Menu End
   ========================================= */
/* =========================================
   Footer Styles Start
   ========================================= */
.theme-footer {
    padding-top: 2rem;
}

/* Theme Footer Accordion */
.theme-footer-accordion-panel .accordion-button::after {
    display: none;
}

.theme-footer-accordion-panel .custom-arrow {
    font-size: 1rem;
    font-weight: bold;
    transition: transform 0.3s ease;
}

.theme-footer-accordion-panel .accordion-button[aria-expanded="false"] .custom-arrow {
    transform: rotate(0deg);
}

.theme-footer-accordion-panel .accordion-button[aria-expanded="true"] .custom-arrow {
    transform: rotate(180deg);
}

.theme-footer-accordion-panel .accordion-button:focus-visible {
    outline: 1px dashed #FFFFFF;
}

.theme-footer-accordion-panel .accordion-item {
    padding: 3px 15px;
    border: none !important;
    margin-bottom: 0.70rem;
    background: #193d6a;
    border-radius: 5px;
}

.theme-footer-accordion-panel .accordion-button {
    box-shadow: none;
    background: none;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.theme-footer-accordion-panel .accordion-title,
.theme-footer-accordion-panel .accordion-read-more,
.theme-footer-accordion-panel .accordion-icon {
    color: #FFFFFF;
}

.theme-footer-accordion-panel .accordion-body {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0;
    line-height: 1.4;
}

/* Footer Icons */
.footer-social-icon-m {
    height: 35px !important;
}

.theme-footer-icon-m {
    height: 34px;
}

.footer-circle-icon {
    border: 1px solid #fff !important;
    height: 30px !important;
    border-radius: 50% !important;
    width: 30px !important;
}

/* Payment Icon */
.payment-method div img.img-fluid {
    height: 20px;
    width: auto;
}

.theme-footer .footer-lg-left .cart-contact {
    background: #193d6a;
    border-radius: 5px;
    height: 100% !important;
}

@media (min-width: 992px) and (max-width: 1199px) {
    .theme-footer {
        padding-top: 50px !important;
    }

    .theme-footer .footer-lg-left {
        padding-left: 0 !important;
        padding-right: 15px !important;
    }

    .theme-footer .footer-lg-right {
        padding-left: 15px !important;
        padding-right: 0 !important;
    }

    .theme-footer .social-link-section {
        margin-bottom: 2.35rem !important;
    }

    .payment-method div img.img-fluid {
        height: 40px !important;
    }
}

@media (min-width: 1200px) {
    .theme-footer {
        padding-top: 60px !important;
    }

    .theme-footer .footer-lg-left {
        padding-left: 0 !important;
        padding-right: 48px !important;
    }

    .payment-method div img.img-fluid {
        height: 45px !important;
    }

    .theme-footer .social-link-section {
        margin-top: 0.8rem !important;
    }
}

/* =========================================
   Left & Right Border with Divider
   ========================================= */
.theme-divider-border {
    display: flex;
    align-items: center;
    text-align: center;
    font-weight: 600;
    color: #333;
    margin: 15px 0;
    gap: 10px;
    width: 100%;
}

.theme-divider-border::before,
.theme-divider-border::after {
    content: "";
    flex: 1;
    height: 1px;
}

.theme-divider-border::before {
    background: linear-gradient(
            to right,
            rgba(235, 237, 238, 0),
            rgba(235, 237, 238, 1)
    );
}

.theme-divider-border::after {
    background: linear-gradient(
            to left,
            rgba(235, 237, 238, 0),
            rgba(235, 237, 238, 1)
    );
}

.theme-divider-border.border-2::before,
.theme-divider-border.border-2::after {
    height: 2px !important;
}

.theme-divider-border.theme-border-se-blue-default::before,
.theme-divider-border.theme-border-se-blue-default::after {
    background: var(--theme-color-blue-default);
}

.theme-divider-border.theme-border-se-cool-black::before,
.theme-divider-border.theme-border-se-cool-black::after {
    background: #141B23;
}

.theme-divider-border.theme-border-se-lightgray::before,
.theme-divider-border.theme-border-se-lightgray::after {
    background: #D9D9D9;
}

.theme-divider-border.border-opacity-5::before,
.theme-divider-border.border-opacity-5::after {
    opacity: .5;
}

@media (min-width: 992px) {
    .theme-divider-border.border-opacity-5::before,
    .theme-divider-border.border-opacity-5::after {
        opacity: 100%;
    }
}

/* =========================================
   Checkout page styles
   ========================================= */
.saved_shipping_address {
    border-color: #f4f5f7 !important;
    margin: 3px 0;
}

.theme-checkout .form-check-input:checked {
    background-color: var(--theme-color-blue-medium);
    border-color: var(--theme-color-blue-medium);
}

.theme-radio-option {
    border: 1px solid #d1d5db;
    cursor: pointer;
    transition: all 0.3s ease;
}

/* Hover effect */
.theme-radio-option:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    border-color: var(--theme-color-blue-medium);
}

/* Selected state */
.theme-radio-option.selected {
    border-color: var(--theme-color-blue-medium);
    background-color: #e7f1ff;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}


.salon-page .theme-salon-service {
    background: #F8F8F8;
}