/* Fix BookingPress mobile scroll lock on single service pages */
@media (max-width: 576px) {
    body.single-service.bpa-open-advance-drawer,
    body.single-service[class*="bpa-open-advance-drawer"] {    
        overflow-y: auto !important;
    }
}


/* active menu item color */
.navbar-nav li.current-menu-item > a,
.navbar-nav li.current_page_item > a,
.navbar-nav li.current-menu-ancestor > a,
.navbar-nav li.current-menu-parent > a,
.navbar-nav li.current-page-ancestor > a,
.navbar-nav li.current-page-parent > a {
    color: #b49a6c !important;
}

.navbar-nav li.current-menu-item > a span,
.navbar-nav li.current_page_item > a span,
.navbar-nav li.current-menu-ancestor > a span,
.navbar-nav li.current-menu-parent > a span,
.navbar-nav li.current-page-ancestor > a span,
.navbar-nav li.current-page-parent > a span {
    color: #b49a6c !important;
}


/* hero banner images */
@media (min-width: 1200px) {
    .inner-header.bg-holder.about-hero {
        background-position: 70% center !important;
    }
}


/* hero banner responziv images */
@media (max-width: 767px) {
  .slider-01.banner-01 .swiper-slide {
    height: 680px;
    background-position: 72% center !important;
    background-repeat: no-repeat;
    background-size: cover !important;
  }

  .slider-01.banner-01 .swipeinner {
    padding-top: 110px;
    padding-bottom: 80px;
  }

  .slider-01.banner-01 .sub-title-text {
    font-size: 14px;
    line-height: 1.5;
    display: block;
  }

  .slider-01.banner-01 h1 {
    font-size: 42px;
    line-height: 1.08;
    margin-top: 16px !important;
  }

  .slider-01.banner-01 .details-text {
    font-size: 16px;
    line-height: 1.6;
    margin-top: 18px !important;
  }

  .slider-01.banner-01 .btn.btn-primary {
    padding: 14px 28px;
    font-size: 16px;
  }

  .slider-01.banner-01 .swiper-button-prev,
  .slider-01.banner-01 .swiper-button-next {
    display: none !important;
  }
}

.swiper-slide {
  position: relative;
  overflow: hidden;
}

.slide-bg-video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%);
  z-index: 0;
  object-fit: cover;
}

.slide-bg-video ~ .swipeinner {
  position: relative;
  z-index: 1;
}

/* offcanvas right menu image end background */
#offcanvasRight {
    background-color: #ffffff !important;
    background-size: 100% auto !important;
    background-position: bottom center !important;
    background-repeat: no-repeat !important;
    overflow-y: auto;
}

/* Prevent the bottom image from moving up on shorter screen heights */
@media (max-height: 800px) {
    #offcanvasRight {
        background-position: center calc(100% + 180px) !important;
    }
}

/* Extra protection for very short viewport, for example when DevTools is open */
@media (max-height: 650px) {
    #offcanvasRight {
        background-image: none !important;
    }
}











/* breadcrumb filter  */
.bg-holder {
    position: relative;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    width: 100%;
    z-index: 1;
}

.bg-holder::before {
    content: "";
    position: absolute;
    inset: 0;
background: rgba(20, 17, 14, 0.532);
    z-index: 1;
    pointer-events: none;
}

.bg-holder > * {
    position: relative;
    z-index: 2;
}


/* Fetures icont remove-padding */
.feature-box .feature-title-icon .feature-icon {
    padding: 0;
}


/* testimonial height fix */
.bg-primary .owl-carousel.owl-nav-bottom-center .item .testimonial {
    min-height: 320px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
/* Full width shortcode sections */
.beata-full-width-section {
    width: 100vw;
    max-width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}


/* blog post height fix and carousel */
.blog-post .blog-post-title {
    min-height: 50px;
}
.blog-post-slider .item {
    height: 100%;
}
.blog-post-slider .blog-post {
    height: 100%;
    display: flex;
    flex-direction: column;
}
.blog-post-slider .blog-post-content {
    flex: 1;
    display: flex;
    flex-direction: column;
}
.blog-post-slider .blog-post-details {
    flex: 1;
    display: flex;
    flex-direction: column;
}
.blog-post-slider .blog-post-time {
    margin-top: auto;
}



/* appointment form */
.appointment-form .wpcf7 textarea.form-control {
    height: 140px;
    min-height: 140px;
}

.appointment-location-select .nice-select {
    width: 100%;
    height: 56px;
    line-height: 56px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: #ffffff;
    color: #1f3558;
    font-size: 16px;
    padding: 0 48px 0 24px;
    float: none;
}

.appointment-location-select .nice-select::after {
    right: 18px;
}

.appointment-location-select .nice-select .list {
    width: 100% !important;
    min-width: 100% !important;
    left: 0 !important;
    right: auto !important;
    border-radius: 0;
    padding: 7px;
    border: 1px solid #ebebeb;
    box-sizing: border-box;
}

.appointment-location-select .nice-select .option {
    line-height: 42px;
    min-height: 42px;
    padding-left: 18px;
    padding-right: 18px;
    white-space: normal;
}

.appointment-location-select .nice-select .current {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Archive services */

/* Services archive simplified treatment cards */
.feature-box-style-02 .feature-content {
    text-align: center;
}

.feature-box-style-02 .service-facial-title {
    margin-top: 25px;
    margin-bottom: 0;
}

.feature-box-style-02 .service-facial-title,
.feature-box-style-02 .service-facial-title a {
    text-align: center;
}

/* Services treatment image size */
.feature-box-style-02 .feature-img {
    margin-bottom: 35px;
}

.feature-box-style-02 .feature-img img {
    width: 300px !important;
    height: 300px !important;
}

/* service page section title uppercase */
.post-type-archive-service .section-title .title {
    text-transform: uppercase;
}

/* Services facial name highlight */
.service-facial-title,
.service-facial-title a {
    font-family: "Tenor Sans", sans-serif;
 
}

/* Single service  */


/* Single service content paragraph center on mobile */
@media (max-width: 767px) {
    body.single-service .service-content p.wp-block-paragraph {
        text-align: center;
    }
}

/* Single treatment discreet duration and price */
.single-service-meta.discreet-service-meta {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px;
    margin: 38px auto 0;
    padding-top: 18px;
    border-top: 1px solid rgba(184, 163, 130, 0.45);
    max-width: 260px;
    text-align: center;
    font-size: 20px;
    line-height: 1.4;
    color: #2f3336;
    font-weight: 400;
    letter-spacing: 0.03em;
}

.discreet-service-meta .service-duration,
.discreet-service-meta .service-price {
    display: inline-block;
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
    color: inherit;
    background: transparent;
    padding: 0;
    margin: 0;
}

.discreet-service-meta .service-meta-separator,
.service-course-price .service-meta-separator {
    color: #b8a382;
}

.service-course-price {
    margin-top: 10px;
/*     font-size: 16px;
    line-height: 1.4;*/
    color: #2f3336; 
	font-size: 20px;
    text-align: center;
}








/* Selected service label above BookingPress form */
.selected-booking-service {
    margin-bottom: 20px;
    padding: 13px 18px;
    background: #ffffff;
    color: #111111;
	border-radius: 8px;
    border: 1px solid #000000;
    font-size: 16px;
    line-height: 1.4;
}

.selected-booking-service strong {
    color: #b8a382;
    font-weight: 600;
}










/* Archive Pages */
.archive .section-title .title {
    font-size: 30px;
    line-height: 1.2;
    font-weight: 750;
    margin-bottom: 0;
}
.archive h2 {
    font-size: 34px;
}

.archive .feature-content h3 {
    font-size: 22px;
    line-height: 1.3;
    font-weight: 500;
    margin-bottom: 7px;
}
.feature-box-style-02.feature-box-light {
    border-right: none;
}

/*after breadcrumb space*/
.blog-archive-section{
    padding-top: 15px;
}

.space-ptb, .about-home {
    padding: 110px 0!important;
}


/* About page page */

.about-img .img-03 {
    width: 180px;
}
@media (max-width: 991px) {
    .about-img .img-03 {
        display: none;
    }
}

/* About philosophy-section */

.skin-philosophy-section {
    background: #f7f3ee;
    padding: 40px 40px;
    margin-top: 40px;
}

.skin-philosophy-main-title {
    margin-bottom: 45px;
}

.skin-philosophy-columns {
    gap: 40px;
}

.skin-philosophy-columns h4 {
    font-size: 24px;
    line-height: 1.2;
    margin-bottom: 20px;
    padding-bottom: 14px;
    border-bottom: 1px solid #b8a382;
}

.skin-philosophy-section p {
    line-height: 1.6;
}

@media (max-width: 767px) {
    .skin-philosophy-section {
        background: #f7f3ee;
            padding: 35px 35px;
    }
        .skin-philosophy-main-title {
        margin-bottom: 30px;
    }

    .skin-philosophy-columns {
        gap: 24px;
    }
}




/* Testimonial fallback initial avatar */
.testimonial-details .testimonial-avatar-initial {
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    min-height: 64px !important;
    max-width: 64px !important;
    max-height: 64px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    font-size: 26px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    padding: 0 !important;
    margin: 20px auto 0 !important;
    overflow: hidden !important;
}


/* Featured treatments hover title fix */
.category-box .category-title {
    bottom: -85px !important;
    min-height: 64px;
    align-items: center;
}

.category-box:hover .category-title {
    bottom: 20px !important;
}

.category-box .category-title h4 {
    margin-bottom: 0;
    line-height: 1.25;
}

.category-box .category-img img {
    display: block;
}





/* ================================
   Services mega menu - desktop
================================ */
@media (min-width: 992px) {
    .header .navbar-nav > li.menu-item-has-children {
        position: relative;
    }

 .header .navbar-nav > li.menu-item-has-children > a {
    display: flex;
    align-items: center;
    gap: 8px;
}

.header:not(.is-sticky) .navbar-nav > li.menu-item-has-children > a {
    color: #ffffff !important;
}

.header.is-sticky .navbar-nav > li.menu-item-has-children > a {
    color: #111111 !important;
}

    .header .navbar-nav > li.menu-item-has-children > a::after {
        content: "";
        width: 7px;
        height: 7px;
        border-right: 1.5px solid currentColor;
        border-bottom: 1.5px solid currentColor;
        transform: rotate(45deg);
        margin-top: -3px;
        transition: transform 0.25s ease;
    }

    .header .navbar-nav > li.menu-item-has-children:hover > a::after {
        transform: rotate(45deg) translateY(2px);
    }

    .header .navbar-nav > li.menu-item-has-children > .sub-menu {
        position: absolute;
        top: 100%;
        left: 50%;
        z-index: 9999;
        width: 980px;
        padding: 35px 50px;
        margin: 0;
        list-style: none;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 60px;
        background: #ffffff;
        border-top: 1px solid #e9e3d8;
        box-shadow: 0 18px 45px rgba(0, 0, 0, 0.08);
        transform: translateX(-50%);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: all 0.25s ease;
    }

    .header .navbar-nav > li.menu-item-has-children:hover > .sub-menu {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    .header .navbar-nav > li.menu-item-has-children > .sub-menu::before {
        content: "";
        position: absolute;
        top: -14px;
        left: 0;
        width: 100%;
        height: 14px;
    }

    .header .navbar-nav > li.menu-item-has-children li {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .header .navbar-nav > li.menu-item-has-children a {
        text-decoration: none;
    }

    .header .navbar-nav > li.menu-item-has-children > .sub-menu > li > a {
        display: block;
        color: #111111 !important;
        font-size: 16px;
        line-height: 1.45;
        font-weight: 500;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        white-space: nowrap;
    }

    .header .navbar-nav > li.menu-item-has-children .sub-menu .sub-menu {
        display: block;
        padding: 16px 0 0;
        margin: 0;
        list-style: none;
    }

    .header .navbar-nav > li.menu-item-has-children .sub-menu .sub-menu li {
        margin-bottom: 6px;
    }

    .header .navbar-nav > li.menu-item-has-children .sub-menu .sub-menu a {
        display: block;
        color: #111111 !important;
        font-size: 15px;
        line-height: 1.25;
        font-weight: 400;
        letter-spacing: 0.02em;
        text-transform: none;
    }

    .header .navbar-nav > li.menu-item-has-children .sub-menu a:hover {
        color: #b8a382 !important;
    }
}

/* ================================
   Services mega menu - mobile
================================ */
@media (max-width: 991px) {
    .header .navbar-nav > li.menu-item-has-children > a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        color: #111111 !important;
    }

    .header .navbar-nav > li.menu-item-has-children > a::after {
        content: "";
        width: 7px;
        height: 7px;
        border-right: 1.5px solid currentColor;
        border-bottom: 1.5px solid currentColor;
        transform: rotate(45deg);
        margin-left: 8px;
        transition: transform 0.3s ease;
    }

    .header .navbar-nav > li.menu-item-has-children.is-submenu-open > a::after {
        transform: rotate(-135deg);
    }

    .header .navbar-nav > li.menu-item-has-children > .sub-menu {
        max-height: 0;
        overflow: hidden;
        padding: 0 0 0 18px;
        margin: 0;
        list-style: none;
        background: transparent;
        opacity: 0;
        transition: max-height 0.35s ease, opacity 0.25s ease, padding 0.25s ease;
    }

    .header .navbar-nav > li.menu-item-has-children.is-submenu-open > .sub-menu {
        max-height: 900px;
        padding: 8px 0 8px 18px;
        opacity: 1;
    }

    .header .navbar-nav > li.menu-item-has-children .sub-menu,
    .header .navbar-nav > li.menu-item-has-children .sub-menu li {
        list-style: none;
    }

    .header .navbar-nav > li.menu-item-has-children .sub-menu li {
        margin: 0;
        padding: 0;
    }

    .header .navbar-nav > li.menu-item-has-children > .sub-menu > li > a {
        display: block;
        padding: 8px 0;
        color: #111111 !important;
        font-size: 14px;
        line-height: 1.35;
        font-weight: 500;
        text-transform: none;
        letter-spacing: 0.02em;
    }

    .header .navbar-nav > li.menu-item-has-children .sub-menu .sub-menu {
        display: block;
        padding: 2px 0 8px 14px;
        margin: 0;
        list-style: none;
    }

    .header .navbar-nav > li.menu-item-has-children .sub-menu .sub-menu a {
        display: block;
        padding: 5px 0;
        color: #111111 !important;
        font-size: 13px;
        line-height: 1.3;
        font-weight: 400;
        text-transform: none;
        letter-spacing: 0.01em;
    }
}

/* Active treatment link only inside Services mega menu */

    .header .navbar-nav > li.menu-item-has-children > .sub-menu > li > .sub-menu > li.current-menu-item > a,
    .header .navbar-nav > li.menu-item-has-children > .sub-menu > li > .sub-menu > li.current_page_item > a,
    .header .navbar-nav > li.menu-item-has-children > .sub-menu > li > .sub-menu > li.is-current-service > a {
        color: #b8a382 !important;
    }
/* Active Services menu item on Services archive page */
body.post-type-archive-service .header .navbar-nav > li.menu-item-159 > a,
body.post-type-archive-service .header:not(.is-sticky) .navbar-nav > li.menu-item-159 > a,
body.post-type-archive-service .header.is-sticky .navbar-nav > li.menu-item-159 > a {
    color: #b8a382 !important;
}




/* BD Custom Start - Move service extras: remove max-height scroll on extras overlay */
/* .bpa-bd-extras-overlay .bpa-se--wrapper {
    max-height: none !important;
} */
/* BD Custom End - Move service extras */



.bpa-front-tabs.--bpa-top .bpa-sao__module-row.--bpa-sao-service-extras .bpa-se--wrapper {
        max-height: none !important;
}


