/** Shopify CDN: Minification failed

Line 1257:0 Unexpected "}"

**/
/* Theme Variables */
:root, .color-scheme-1, body .mobile-color-scheme-1 {
    --color-background: 255, 255, 255;
    --color-secondary-background: 247, 247, 247;
    --color-text-heading: 0, 0, 0;
    --color-foreground:  57, 85, 66;
    --color-foreground-lighten-60: #666666;
    --color-foreground-lighten-19: #cfcfcf;
}
:root, .color-scheme-1, .color-scheme-inverse {
    --color-background: 255, 255, 255;
    --color-secondary-background: 247, 247, 247;
}
:root, .color-scheme-1, [class*=color-scheme], body .mobile-color-scheme-1 {
    --color-primary: 57, 85, 66;
    --color-light: 57, 85, 66;
    --color-border: 238, 238, 238;
    --color-button:57, 85, 66;
    --color-button-text: 255, 255, 255;
    --color-secondary-button: 255, 255, 255;
    --color-secondary-button-border: 57, 85, 66;
    --color-secondary-button-text:57, 85, 66;
    --color-button-hover-background: 255, 255, 255;
    --color-button-hover-text: 57, 85, 66;
    --color-button-before: #333333;
    --color-field: 245, 245, 245;
    --color-field-text: 0, 0, 0;
    --color-link:57, 85, 66;
    --color-link-hover: 0, 0, 0;
    --color-product-price-sale: 214, 58, 47;
}
:root{
    --color-cart-bubble: #395542;
    --font-body-family: 'ValueSansProRegular';
    --font-body-weight:normal;
    --font-heading-family: 'ValueSansProBold';
    --font-subheading-family: 'ValueSansProBold';
    --font-body-weight-bold: 'ValueSansProBold';
    --font-button-family:'ValueSansProBold';
    --font-button-weight: normal;
    --font-navigation-family:'ValueSansProRegular';
    --font-navigation-weight:normal;
    --font-pcard-title-family: "ValueSansProBold";
    --font-subheading-transform: none;
    --buttons-transform: none;
    --color-keyboard-focus:73 167 80;
    --color-primary-light:73 167 80;
}


.primary-light-color{
    color:var(--color-primary-light);
}

/* Global Styles */
html{
    font-size: 10px; /*In Sleek it was 62.5% which affected some firefox browsers as its default font size is 14px*/
}

body{
    color: rgb(var(--color-foreground)) !important;
}

page-transition.loading-bar{
    background-color: white;
}


/* Button Overrides Starts */
button:not(.btn--underline),
.btn:not(.btn--underline) {
--buttons-padding:2.4rem;
font-size: 1.3rem;
text-transform: lowercase;
}

.btn--link{
    text-transform: inherit;
}
.btn--primary{
    border: 1px solid transparent;
}
.btn--primary:hover {
  background: rgb(var(--color-background)) !important;
border: 1px solid rgb(var(--color-primary)) !important;
  color: rgb(var(--color-primary)) !important;
}
.btn--primary::after, .btn--primary::before, .btn--secondary::after, .btn--secondary::before, .btn--outline::after, .btn--outline::before, .btn-secondary::before, .btn-secondary::after{
    display: none;
}
.btn--secondary, 
.btn-secondary{
    border: 1px solid rgb(var(--color-button));
}

.btn--white::before, .btn--white::after{
    display: none;
}

.btn--secondary:hover,
.btn-secondary:hover,
.btn--white:hover {
    background: rgb(var(--color-button)) !important;
    border-color: rgb(var(--color-primary)) !important;
    color: rgb(var(--color-button-text)) !important;
}

.btn--outline{
    color: white;
    border-color: white;
}

.btn--secondary.is-active, .btn--secondary.is-active:hover,
.btn--secondary.is-selected, .btn--secondary.is-selected:hover{
    background-color: rgb(var(--color-primary));
    color:rgb(var(--color-background));
}

.btn--outline.is-selected, .btn--outline.is-selected:hover
.btn--outline.is-active, .btn--outline.is-active:hover{
    background: rgb(var(--color-button))!important;
    color: rgb(var(--color-button-text))!important;
    border-color: rgb(var(--color-button))!important;
}

.btn-width-small{
    width:16rem
}


body .activate form button, body .activate form .btn--secondary{
    margin-top: .5rem;
}


body .swiper-button-next.swiper-button-disabled, body .swiper-button-prev.swiper-button-disabled{
    display: none !important;
}

.modal{
    padding: 1.6rem;
}

.f-badge{
    --badges-radius:2rem;
}

/* Button Overrides Ends */
.form-message,
.form-message a {
    font-size: 1.4rem;
    font-family: var(--font-body-family);
}

.form-message a {
    color: #e02b27;
}

body .form-message {
    margin: 7px 0 0;
    font-size: 1.1rem;
    line-height: 1.2;
}

body .form-message--error {
    color: #e02b27;
}

.has-error{
    border: 1px solid #e02b27;
}

.form-control:focus,
.form-control:focus-visible {
    box-shadow:none;
}

textarea.form-control {
    line-height:140%;
    padding-block:2rem;
    border-radius:1.5rem;
    max-width: 100%;
    width: 100%;
    resize: none;
}

.radio-is-button input[type=radio]{
    display: none;
}
.radio-is-button span, .radio-is-button label {
    border: 1px solid rgb(var(--color-primary));
    border-radius: 3rem;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 0 2.4rem;
    height: var(--buttons-height);
    cursor: pointer;
    width:100%;
    font-family: var(--font-body-weight-bold);
    font-size: 1.3rem;
}
.radio-is-button input[type=radio]:checked + span,
.radio-is-button input[type=radio]:checked + label{
    background-color: rgb(var(--color-primary));
    color: white;
}
@media(max-width:649px){
.radio-is-button span,
.radio-is-button label{
    font-size: 1.2rem;
}
}

input:is([type=checkbox],[type=radio]){
    margin-right: .5rem;
}

.ui-datepicker{
    z-index: 99 !important;
}

/* SVG Current Color for fill and stroke */
svg.with-stroke path {
    stroke: currentColor;
}

svg.with-fill path {
    fill: currentColor;
}

/* Toggle Switch */
.toggle-switch {
    display: flex;
    align-items: center;
    font-family: sans-serif;
}

.toggle-switch .toggle-wrapper {
    display: inline-flex;
    background: rgb(var(--color-primary));
    border-radius: 4rem;
    padding: .4rem;
    position: relative;
}


.toggle-switch input[type="radio"] {
    display: none;
}


.toggle-switch .toggle-wrapper label {
    cursor: pointer;
    padding: .8rem 1rem;
    border-radius: 3rem;
    color: white;
    display: flex;
    align-items: center;
    gap: .6rem;
    position: relative;
    z-index: 2;
    font-size: 1.4rem;
    font-family: var(--font-body-weight-bold);
}

.toggle-switch .toggle-wrapper::before {
    content: "";
    position: absolute;
    top: .4rem;
    left: .4rem;
    width: calc(50% - .4rem);
    height: calc(100% - .8rem);
    background: white;
    border-radius: 3rem;
    transition: transform 0.3s ease;
    z-index: 1;
}

.toggle-switch input[type="radio"]:nth-child(2):checked~.toggle-wrapper::before {
    transform: translateX(100%);
}

.toggle-switch input[type="radio"]:nth-child(1):checked~.toggle-wrapper label:nth-of-type(1),
.toggle-switch input[type="radio"]:nth-child(2):checked~.toggle-wrapper label:nth-of-type(2) {
    color: #345445;
}

.toggle-switch .icon {
    display: flex;
    align-items: center;
    justify-content: center;
}
.toggle-switch .icon svg{
    width: 2rem;
    height: 2rem;
}

table th.align-right,
table td.align-right{
    text-align: right;
}

.quick-view .drawer__close-btn{
    top: 1rem;
    inset-inline-end:1rem;
}

/* Bullet List Styling */
.rte ul{
    list-style: none;
}
.rte ul li{
    padding-left: 1.2rem;
    position: relative;
}
.rte ul li::before{
    content: "";
    display: inline-block;
    width: .5rem;
    height: .5rem;
    background-color: currentcolor;
    position: absolute;
    left: 0;
    top: 1rem;
    border-radius: 1rem;
}

/* Number list styling */
.rte ol{
    list-style: none;
    counter-reset: numberlist-counter;
}
.rte ol li{
    padding-left: 2.4rem;
    position: relative;
}
.rte ol li::before{
    content: "";
    display: inline-block;
    position: absolute;
    left: 0;
    top: 0;
    counter-increment: numberlist-counter;
  content: counter(numberlist-counter) ". ";
}

.breadcrumbs{
    text-transform:lowercase;
}
.breadcrumbs .breadcrumbs--last{
    font-family: var(--font-body-weight-bold);
}
@media(max-width:767px){
    .breadcrumbs{
        font-size: 1.2rem;
    }
}

body .accordion-standard+.accordion-standard{
    margin-top: 0;
}

.accordion-standard .icon{
    min-width: 2rem;
    margin-left: .5rem;
}

.section-divider.has-margin{
    margin: 1.5rem 0;
}

.retreat-menu-header .dropdown__container{
    max-height: 50vh;
    overflow: auto;
}


/* Firefox issue. Sleek styling not working in Firefox */
video-element > video:not(:-moz-full-screen) {
    object-fit: cover;
    object-position: center;
}

/* Global Styles */

.subscription-popup{
    z-index: 99;
}


/* Announcement Bar */
.announcement-bar-section .rte p{
    margin: 0;
}

.announcement-bar-section {
    font-size: 1.4rem !important;
}

.announcement-bar-section .h4,
.announcement-bar-section p,
.announcement-bar-section a,
.announcement-bar-section .md\:text-base {
    font-size: 1.4rem !important;
}

.announcement-bar-section .h4 {
    font-weight: var(--font-body-weight-bold) !important;
}

/* Header Quick Links */
div[id*=quick_links] {
    border-bottom: 1px solid #eee;
}

.top-links {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height: 44px;
}

.top-links .quick-link-item{
    align-self: center;
    display: inline-flex;
    align-items: center;
}
.top-links .quick-link-item:not(:last-child) {
    margin-right: 40px;
}
.top-links .quick-link-item a {
    display: inline-flex;
    align-items: center;
    font-size: 1.2rem;
  color: #334639;

}
.top-links .quick-link-item a img {
    margin-right: 1rem;
    width: 2rem;
    height: 2rem;
    object-fit: contain;
}

@media screen and (max-width: 1023px) {
    .top-links {
        display: none;
    }
}

/* Header changes */
.modal-show.search-modal-open .header-sticky.header-scrolled .header{
    box-shadow: none;
}
.header {
    --header-icon-size: 5rem;
    border-bottom: 1px solid #eee;
}

.header .header__buttons {
    font-size: 1.3rem;
    column-gap: 3rem;
}
.header__buttons a:not(.btn) {
    color: #666;
}
.header__buttons a:not(.btn):hover {
    color: #3a3a3a;
}

.cart-drawer-button svg{
    color: #49A750
}

@media(max-width:1023px) {
    .header {
        --header-icon-size: 4rem;
    }

    .header .header__buttons {
        column-gap: .5rem;
    }
}

.header .menu__item .reversed-link{
    background: linear-gradient(to var(--transform-origin-end), #49a750, #49a750) 0 var(--reversed-link-gap) / 0 var(--reversed-link-gap) no-repeat;
    background-position-x: var(--transform-origin-end);
    background-position-y: bottom;
}
.header .menu__item .reversed-link:not([aria-disabled]).is-current-page,
.header .menu__item.active .reversed-link:not([aria-disabled]),
.header .menu__item .reversed-link:not([aria-disabled]):hover {
        background-position-x: var(--transform-origin-start);
        background-size: 100% var(--reversed-link-gap);
        background-position-y: bottom;
}

.header .menu__item {
    padding: 0 .5rem;
    color: #334639;
}

.header .menu__item .reversed-link{
    padding:0 1.2rem;
}

.cart-count {
    width: 1.8rem;
    height: 1.8rem;
    font-size: 1.1rem;
    line-height: normal;
    text-align: center;
    vertical-align: middle;
}
.cart-count--absolute {
    position: absolute;
    top: -0.2rem;
    inset-inline-end: 0rem;
}

@media(max-width:1279px) {
    .header__menu ul{
        font-size:1.2rem
    }
    .header .menu__item .reversed-link {
        padding: 0 0.3rem;
    }
    .header .header__buttons{
        column-gap: 2rem;
    }
}


@media (min-width: 1024px) {
    .header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        column-gap: 1.4rem;
        padding-top: 0;
        padding-bottom: 0;
        min-height: 7rem;
    }

    .header__navigation {
        margin-right: auto
    }

    .header__menu ul {
        font-size: 1.3rem;
        font-weight: 100
    }
    .header .menu__item .reversed-link{
        --reversed-link-gap:.4rem;
        height: 7rem;
        display: flex;
        align-items: center;
    }
}


.nav-book-treatment .btn {
    font-size: 1.3rem;
    height: 4.5rem;
}

/* Menu Drawer */

.menu-drawer__header{
    display: none;
}

.menu-drawer-button .icon-close{
    display: none;
}
.menu-drawer-button[aria-expanded="true"] .icon-hamburger{
    display: none;
}
.menu-drawer-button[aria-expanded="true"] .icon-close{
    display: block;
}

.menu-drawer, .menu-drawer .fixed-overlay{
     top: var(--header-bottom);
    height: calc(100% - var(--header-bottom));
}

.menu-drawer .fixed-overlay{
    background-color: rgba(0,0,0,.5);
}

.menu-drawer__content{
    padding-block-start: 1rem;
}

.menu-drawer .drawer__inner{
    max-width: 85%;
}

.menu-drawer .header__logo--image{
    visibility: hidden;
}

.menu-drawer__item-link{
    font-family: var(--font-body-family);
}

.menu-drawer__item-back-link{
    color: var(--color-primary);
    border-bottom: 0;
    font-size: 1.2rem !important;
    margin: 0;
    padding-inline:1.6rem;
}
.menu-drawer__item-back-link>.icon{
    width: 1.3rem;
    height: 1.3rem;
}
.menu-drawer__item-link,
.menu-drawer__submenu{
    transition: none;
}

/* Fix to Glitch Starts */
:is(.menu-drawer__submenu,.menu-drawer__menus).active>li>a, :is(.menu-drawer__submenu,.menu-drawer__menus).active>li>details>summary{
    transform: none !important;
}
.menu-drawer__item{
    transform: none !important;
}
.menu-drawer__menus.active > details > .menu-drawer__item-link{
    display: none;
}
/* Fix to Glitch Ends */



/* Quik Link Menu Drawer */
.menu-drawer .quick-link {
    margin-top: 20px;
    color: #334639
}

.menu-drawer__item+.quick-link {
    margin-top: 40px
}

.menu-drawer .quick-link a {
    color: #334639
}

.menu-drawer .quick-link.nav-customer-account {
    margin-top: 30px
}

.menu-drawer .quick-link.nav-customer-account span+span {
    margin-top: 10px;
    display: block
}

.menu-drawer__footer {
    padding-top: 0;
    justify-content: flex-start
}
.menu-drawer__promotions{
    display: none !important;
}

/* Mega Menu */
.has-dropdown-menu header~.fixed-overlay{
    display: none;
}
.mega-menu{
--promotions-width:26%; /*add this as admin settings have minimum 30%*/
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);  
}
.mega-menu__container{
    transform: none !important;
    transition: none;
     margin-top: -1px;
     display: none;
}
.mega-menu[open] .mega-menu__container{
    display: block;
}
.mega-menu__wrapper{
    border-top-color: #eee;
    justify-content: space-between;
    
}
.mega-menu__list{
    max-width: 50%;
    column-gap: 6rem;
    row-gap: 4rem;
    flex-wrap: wrap;
    max-height: 400px;
    max-width: fit-content;
    display: flex;
    flex-direction: column;
}
.mega-menu__link--top{
    font-size: 1.3rem;
    margin-bottom: 1rem;
}

.header__menu ul li a{
    color: #666;
}

/* Slider Button Global styling */
.slider-controls--fraction-group [class*=swiper-button], .swiper-controls button, .swiper-controls button:hover, #swym-engage-wishlist-desktop-nav .swym-wishlistplus-navigation-btn {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background: #49a750 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
}
.swiper-controls button:before, .swiper-controls button:after{
    display: none;
}
.slider-controls--fraction-group [class*=swiper-button] svg, .swiper-controls button svg{
    width:1.3rem;
    height: 1.3rem;
}
.slider-controls--fraction-group [class*=swiper-button] svg path, .swiper-controls button svg path{
    stroke:white;
}

#swym-engage-wishlist-desktop-nav .swym-wishlistplus-navigation-btn{
    padding: 0;
    margin: 0;
}
body .swym-wishlistplus-navigation-btn-right, 
body .swym-wishlistplus-navigation-btn-left{
    box-shadow: none;
}
#swym-engage-wishlist-desktop-nav .swym-wishlistplus-navigation-btn.swym-wishlistplus-navigation-btn-left{
    left: 0;
}
#swym-engage-wishlist-desktop-nav .swym-wishlistplus-navigation-btn.swym-wishlistplus-navigation-btn-right{
    right: 0;
}
 #swym-engage-wishlist-desktop-nav .swym-wishlistplus-navigation-btn svg{
    width:2rem;
    height:2rem;
 }

  #swym-engage-wishlist-desktop-nav .swym-wishlistplus-navigation-btn svg path{
    fill:white
 }

 swym-carousel-container{
    display: block;
 }

promotion-banner-carousel{
    position: relative;
    padding:0 1.2rem;
}
promotion-banner-carousel .card-media__content{
    padding-block-start: 0 !important;
}
promotion-banner-carousel .card-media__heading{
    font-size: 2rem;
    margin-top: 2rem;
    margin-bottom: 1.5rem;
}
promotion-banner-carousel .card-media__description p{
    font-size: 1.3rem;
    padding-bottom: 1rem;
    line-break: 2.2rem;
}
.mega-menu .mega-menu__promotions .card-media__text{
    max-width:100% !important;
    text-align: center;
}

.mega-menu .slider-controls--fraction-group{
    margin: 0;
}
.mega-menu .swiper .blocks-radius, .mega-menu .card-media .blocks-radius{
    border-radius: 0
}

.mega-menu .swiper-button-prev{
    left: 0;
}
.mega-menu .swiper-button-next{
    right: 0;
}
.mega-menu .mega-menu__item, .mega-menu .promotion-item, .mega-menu .mega-menu__promotions--carousel{
    transform: none;
    transition: none;
}

.mega-menu .slider-controls--fraction-group [class*=swiper-button]{
    position: absolute;
    top: 28%;
}

.mega-menu .swiper-pagination{
    position: relative;
    bottom: 0;
}
.mega-menu .swiper-pagination-bullet:after{
    background-color: #eee;
}
.mega-menu .swiper-pagination .swiper-pagination-bullet-active:after{
    background-color: #49a750;
}

/* Announcement Bar */
.announcement-bar {
    --color-background: 73, 167, 80;
    padding-top: 0;
    padding-bottom: 0
}

.announcement-bar .swiper-slide {
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center
}

/* Account Dropdown Header */
.endota-account-dropdown[open] summary svg {
    transform: rotate(180deg)
}

.endota-account-dropdown ul {
    min-width: 150px;
    padding: 0;
    margin-right: -17px;
    margin-top: 20px
}

.endota-account-dropdown ul li a {
    display: block;
    padding: .8rem 1.6rem
}

.endota-account-dropdown ul li:hover a {
    background-color: #e8e8e8
}

.endota-account-dropdown[open] ul:before {
    content: "";
    position: absolute;
    top: -12px;
    right: 10px;
    z-index: 2;
    transform: translate(-50%);
    border-width: 6px;
    border-style: solid;
    border-color: transparent transparent white transparent
}

.endota-account-dropdown[open] ul:after {
    content: "";
    position: absolute;
    top: -16px;
    right: 6px;
    z-index: 1;
    transform: translate(-50%);
    border-width: 8px;
    border-style: solid;
    border-color: transparent transparent #e6e6e6 transparent
}

.password-wrapper .toggle-password {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 24px;
    right: 1.5rem;
    top: 50%;
    transform: translatey(-50%);
    position: absolute;
}

.password-wrapper .toggle-password span {
    height: 24px;
    width: 24px;
}

@media (min-width: 768px) {
    .form-field~.form-field {
        margin-top: 1rem;
    }
    .form-row .form-field{
        margin-top:0;
    }
}

/* Register Page */
.endota-signup {
    display: flex;
    min-height: 100vh;
}
.endota-signup .endota-signup__form {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 10rem 5rem;
}
.endota-signup .endota-signup__form-content {
    width: 500px;
    max-width: 100%;
}
.endota-signup .endota-signup__form-content form{
    margin-top: 2rem;
}
.endota-signup .endota-signup__form-content h1{
    font-size: 4rem;
}
.endota-signup .endota-signup__image {
    flex: 1;
}

.endota-signup .endota-signup__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.endota-signup #RegisterFormSubmit {
    margin-bottom: 2rem;
}

@media (max-width: 1023px) {
    .endota-signup {
        flex-direction: column;
    }
    .endota-signup .endota-signup__form-content h1{
        text-align: center;
    }
    .endota-signup .endota-signup__image {
        display: none;
    }

    .endota-signup .endota-signup__form {
        justify-content: center;
        padding-block: 5rem;
    }

    .endota-signup .endota-signup__form,
    .endota-signup .endota-signup__image {
        flex: none;
        width: 100%;
        height: auto;
    }
}
@media (max-width:767px) {
    .endota-signup .endota-signup__form{
        padding-inline:var(--page-padding);
    }
    .endota-signup .endota-signup__form-content{
        width: 100%;
    }
}


/* Login Drawer */
#LoginDrawer.login-drawer .drawer__inner .drawer__body form .form-field,
#MobileLoginDrawer.login-drawer .drawer__inner .drawer__body form .form-field {
    margin-top: 0;
}

#LoginDrawer.login-drawer .drawer__inner .drawer__body h2,
#MobileLoginDrawer.login-drawer .drawer__inner .drawer__body h2 {
    font-weight: 660;
    font-size: 4rem;
}

#LoginDrawer.login-drawer.drawer__inner .drawer__body h2,
#MobileLoginDrawer.login-drawer.drawer__inner .drawer__body h2 {
    font-weight: 660;
    font-size: 4rem;
}

#LoginDrawer.login-drawer .drawer__inner .drawer__body p,
#MobileLoginDrawer.login-drawer .drawer__inner .drawer__body p {
    font-size: 1.2rem;
}

#LoginDrawer.login-drawer .drawer__inner .drawer__body p a,
#MobileLoginDrawer.login-drawer .drawer__inner .drawer__body p a {
    font-size: 1.2rem !important;
}

#LoginDrawer.login-drawer .drawer__inner .drawer__body button.btn,
#MobileLoginDrawer.login-drawer .drawer__inner .drawer__body button.btn {
    margin: 0 auto;
}

/* Footer */
@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
    .footer-block .reversed-link:not([aria-disabled]):hover {
        background: none;
    }
}

.footer p {
    color: #666;
    font-size: 1.4rem;
}

.footer__header {
    margin-bottom: 3rem;
}

.footer__header-logo {
    display: inline-flex;
    align-items: center;
}

.footer__header-logo img {
    max-width: 114px;
}

.footer__header-social ul li a {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #9abab5;
    border-radius: 100%;
    width: 4.2rem;
    height: 4.2rem;
}

.footer__header-social ul li a img {
    width: 2rem;
    height: 2rem;
    object-fit: contain;
}

.footer-block:first-child {
    flex: 1;
}

.footer-block:first-child ul li {
    padding-top: 1.5rem;
}

.footer-block:first-child ul li a {
    font-size: 2.4rem;
}

.footer-block:not(:first-child) ul li {
    line-height: 150%;
}

.footer-block:not(:first-child) ul li a {
    color: #666;
    font-size: 1.3rem;
    display: block;
}

.footer-block--newsletter {
    width: auto;
}

.footer h3 {
    font-size: 18px;
}

.footer-block ul li a:hover {
    color: #222;
}

.footer__terms-conditions {
    padding-top: 5rem;
}

.footer__terms-conditions a:hover{
    color: #223;
}

.footer__terms-conditions p {
    font-size: 1.2rem;
}

.footer__terms-conditions h2 {
    font-size: 1.4rem;
    color: #666;
    font-weight: normal;
    font-family: var(--font-body-family);
}

@media (max-width: 1023px) {
    .footer__top summary {
        pointer-events: none;
    }

    .footer__top summary span {
        display: none;
    }

    .footer--newsletter {
        min-width: 100%;
    }
}

.footer__policy-links {
    display: flex;
    justify-content: center;
    padding-top: 1.5rem;
}

.footer__policy-links ul {
    padding: 3rem 6rem;
    display: flex;
    justify-content: center;
    border-top: 1px solid #eee;
}

.footer__policy-links ul li {
    font-size: 1.2rem;
    line-height: 100%;
}

.footer__policy-links ul li:not(:last-child) {
    border-right: 1px solid #666;
}

.footer__policy-links ul li a {
    color: #666;
    display: inline-block;
    text-align: center;
    padding: 0 2rem;
}

.footer__policy-links ul li a:hover{
    color: #223;
}

@media (max-width: 649px) {
    .footer .footer-block.footer-block--newsletter {
        --col-width: 100% !important;
        --form-width: 100% !important;
    }

    .footer__policy-links {
        display: block;
    }

    .footer__policy-links ul {
        display: block;
        text-align: center;
        padding: 2rem;
    }

    .footer__policy-links ul li {
        margin-bottom: 1rem;
        display: inline-block;
    }
}

.footer__bottom {
    display: none;
}

footer .newsletter-extra-fields {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

footer .newsletter-extra-fields.is-visible {
    max-height: 200px;
}


@media(max-width:1023px) {
    .footer .footer-block--main-menu,
    .footer .footer-block--newsletter {
        min-width: 100%;
    }
    .footer .footer-block--menu {
        width: 50%;
        padding-right: 2rem;
    }
}

.newsletter-form__design-2 .newsletter-form__button {
    margin: 0;
}


/* Search Drawer */
#SearchDrawer{
    z-index: 19;
}
#SearchDrawer .fixed-overlay{
    transition: .1s;
}

@media(min-width:1024px){
    #SearchDrawer .drawer__inner{
        transition: none;
        display: none;
    }
    #SearchDrawer[active] .drawer__inner{
        visibility: visible;
        display: block;
    }
}

#SearchDrawer.drawer--top.drawer .drawer__inner {
    max-height: 80vh;
    height: auto;
  }
#SearchDrawer.drawer--top .fixed-overlay {
    top: var(--header-bottom);
    height: calc(100% - var(--header-bottom));
}
  #SearchDrawer.drawer--top.drawer .drawer__inner {
    min-width: 100%;
  }
  #SearchDrawer.drawer--top .search__input:focus {
    box-shadow: none;
  }

  #SearchDrawer.drawer--top .v-scrollable {
    position: relative;
  }

  #SearchDrawer.drawer--top .search-field-wrapper{
    padding-bottom: 1rem;
  }

  #SearchDrawer.drawer--top .drawer__close-btn {
    right: 0;
    top: 0;
    position: relative;
  }

  #SearchDrawer.drawer--top .search__form {
    max-height: 60vh;
    padding: 2rem 0;
  }
  #SearchDrawer.drawer--top .search__content {
    overflow: auto;
  }
}

  #SearchDrawer .search__input{
    padding-inline-end: 6.4rem;
  }

  #SearchDrawer.drawer--top h5,
  #SearchDrawer.drawer--top .h5 {
    font-size: 1.5rem;
    color: var(--color-primary);
    margin-bottom: 1.2rem;
  }
  #SearchDrawer.drawer--top a {
    font-weight: 300;
    color: #666;
    font-size: 1.3rem;
  }
  #SearchDrawer.drawer--top .search__most-searched-keywords,
  #SearchDrawer.drawer--top .predictive-search-result--queries {
    padding-right: 5rem;
  }
  #SearchDrawer.drawer--top ul li a {
    font-size: 1.3rem;
    color: #666;
  }
  #SearchDrawer.drawer--top .predictive-search__list-item {
    font-size: 1.3rem;
  }
  #SearchDrawer.drawer--top .predictive-search__list-item a {
    font-weight: 300;
  }
  #SearchDrawer.drawer--top .predictive-search__list-item .f-price {
    font-size: 1.3rem;
    color: #334639;
  }
  #SearchDrawer.drawer--top .predictive-search__list-item .f-price-item--sale,
  #SearchDrawer.drawer--top .predictive-search__list-item .f-price-item--regular {
    color: var(--color-primary);
    font-size: 1.3rem;
  }
 #SearchDrawer.drawer--top .predictive-search__list-item .f-price-item--therapist .original-price{
    text-decoration: line-through;
    color: var(--color-primary);
    opacity: .6;
 }
 #SearchDrawer.drawer--top .predictive-search__list-item  .f-price-item--therapist .final-price{
    margin-left: .8rem;
    color: rgb(116 172 87);
    font-family: var(--font-body-weight-bold);
 }
 #SearchDrawer.drawer--top .predictive-search__list-item .f-price-item--therapist .therapist-badge {
    color: rgb(116 172 87);
    margin-left: .8rem;
}
  #SearchDrawer.drawer--top .search__content .media-wrapper {
    flex: 0 0 7.5rem;
    border-radius: .8rem;
  }
  #SearchDrawer.drawer--top .search__products-recommendation,
  #SearchDrawer.drawer--top .predictive-search-result--article {
    border: 0;
    padding-block-start: 0;
  }

  #SearchDrawer.drawer--top .search__box.search__results .predictive-search-result--spas a {
    text-decoration: underline;
    text-underline-offset: 0.2rem;
  }
  #SearchDrawer.drawer--top .search__box.search__results .predictive-search-result--spas p{
    font-size: 1.4rem;
    margin-bottom: .5rem;
}
  #SearchDrawer.drawer--top .search__box.search__results .search__results-all {
    min-width: 100%;
    padding-top: 3.5rem;
    text-align: center;
  }
  #SearchDrawer.drawer--top .search__results-all button {
    width: 640px;
    max-width: 100%;
  }

  @media (max-width: 1023px) {
    #SearchDrawer.drawer--top {
      z-index: 99;
    }
    #SearchDrawer.drawer--top.drawer .drawer__inner {
      max-height: calc(100vh - (var(--header-bottom)));
    }
    #SearchDrawer.drawer--top .search__form {
      max-height: calc(100vh - (var(--header-bottom)));
      padding-left: 0;
      padding-right: 0;
    }
  }
  @media (max-width: 767px) {
    #SearchDrawer.drawer--top .search__results-all button {
      width: 100%;
    }
  }

  /* Search Drawer Animation */
  @media (max-width: 1023px) {
#SearchDrawer.drawer--top {
    transform: translateX(-100%);
    opacity: 0;
    pointer-events: none;

    transition: transform 0.45s ease, opacity 0.45s ease;
}

#SearchDrawer.drawer--top[active] {
    transform: translateX(0);
    opacity: 1;
    pointer-events: auto;
}
  }


/* Mini cart */
.cart-drawer .btn-view-cart{
    color: #666;
    font-size: 1.3rem;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.payment-cards-wrapper{
    padding-top: 1.5rem;
}
.payment-cards .payment-card-item img{
    height: 3rem;
    width: auto;
}

/* Home Book A Treatment Tab */
.endota-treatment-tab .section-heading-wrapper {
    margin-bottom: 2rem;
}
.endota-treatment-tab .tabs__header {
    border-bottom: 1px solid #eee;
}
.endota-treatment-tab .tabs__header .tabs__nav {
    column-gap: 0;
}
.endota-treatment-tab .tabs__header .tabs__nav .tabs__tab {
    padding: 1.4rem 2rem;
    font-size: 1.3rem;
    font-family: var(--font-body-family);
}
.endota-treatment-tab .tabs__header .tabs__nav .tabs__tab span {
    color: black;
}
.endota-treatment-tab .tabs__header .tabs__nav .tabs__tab::before {
    height: 0.4rem;
    background-color: #74ac57;
    transition: width 0.3s;
    right: 0;
    left: inherit;
}
.endota-treatment-tab .tabs__header .tabs__nav .tabs__tab:hover::before {
    width: 0;
}
.endota-treatment-tab .tabs__header .tabs__nav .tabs__tab[aria-selected=true]::before,
.endota-treatment-tab .tabs__header .tabs__nav .tabs__tab[aria-selected=true]:hover::before {
    width: 100%;
}
.endota-treatment-tab .tabs__content{
    transform: none !important;
    opacity: 1 !important;
}

.endota-treatment-tab .product-card h3 {
    color: white;
    font-size: 2rem;
    line-height: 2.8rem;
    padding-inline: 1rem;
}
.endota-treatment-tab .product-card .product-description {
    text-align: left;
    padding-top: 1rem;
}
.endota-treatment-tab .product-card .product-description .duration {
    font-size: 1.4rem;
    color: #334639;
    margin-bottom: 0.8rem;
}
.endota-treatment-tab .product-card .product-description .feature {
    font-size: 1.1rem;
    color: #888;
    text-transform: uppercase;
}

@media (min-width: 769px) {
    .endota-treatment-tab .product-card .product-description .duration {
        font-size: 1.6rem;
    }

    .endota-treatment-tab .product-card .product-description .feature {
        font-size: 1.3rem;
        color: #888;
    }
}

.endota-treatment-tab .product-card .product-image-wrapper::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-color: black;
    opacity: 0;
    transition: 0.3s;
    z-index: 2;
}
.endota-treatment-tab .product-card:hover .product-image-wrapper::before {
    opacity: 0.2;
}
.endota-treatment-tab .product-card .product-image-wrapper img{
    position: absolute;
    left: 0;
    right: 0;
    height: 100%;
    object-fit: cover;
}
.endota-treatment-tab .product-card .product-image-wrapper > div{
    z-index: 3;
}
.endota-treatment-tab .product-card .product-image-wrapper::after{
    content: "";
    width:100%;
    padding-bottom: 100%;
    display: block;
    z-index: -1;
}
@media (min-width: 1024px){
    .endota-treatment-tab h3 {
        font-size: 2.2rem;
        line-height: 3rem;
    }
}

@media (min-width: 768px) and (max-width: 1279px) {
    .endota-swipe-tablet {
        --column-width-tablet: 26vw;
        overflow-y: hidden;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        overscroll-behavior-x: contain;
        scroll-behavior: smooth;
        padding-inline: var(--page-padding);
        margin-inline: calc(var(--page-padding) * -1);
        scroll-padding-inline: var(--page-padding);
        scrollbar-width: none;
        display: grid !important;
    }

    .endota-swipe-tablet__inner {
        --slider-grid: auto / auto-flow var(--column-width-tablet);
        display: grid;
        grid: var(--slider-grid);
        column-gap: var(--gap-x);
        margin-inline: 0 !important;
    }

    .endota-swipe-tablet__inner>* {
        scroll-snap-align: start;
        padding-inline: 0 !important;
        width: 100%;
    }

    .endota-swipe-tablet::-webkit-scrollbar {
        display: none;
    }
}

@media (max-width: 767.98px) {
    .endota-swipe-mobile {
        --column-width-mobile: 62vw;
        overflow-y: hidden;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        overscroll-behavior-x: contain;
        scroll-behavior: smooth;
        padding-inline: var(--page-padding);
        margin-inline: calc(var(--page-padding) * -1);
        scroll-padding-inline: var(--page-padding);
        scrollbar-width: none;
        display: grid !important;
    }

    .endota-swipe-mobile--2-cols {
        --column-width-mobile: 42vw;
    }

    .endota-swipe-mobile--3-cols {
        --column-width-mobile: 28vw;
    }

    .endota-swipe-mobile__inner {
        --slider-grid: auto / auto-flow var(--column-width-mobile);
        display: grid;
        grid: var(--slider-grid);
        column-gap: 2.4rem;
        margin-inline: 0 !important;
    }

    .endota-swipe-mobile__inner>* {
        scroll-snap-align: start;
        padding-inline: 0 !important;
        width: 100%;
    }

    .endota-swipe-mobile::-webkit-scrollbar {
        display: none;
    }
}

/* Cart Drawer */
@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
    .product-card__wrapper:hover .product-card__image-wrapper--main-only .product-card__image {
        transform: none;
    }
}

#CartDrawer__inner {
    box-sizing: unset;
}
#CartDrawer > [id*=cart-drawer] {
    position: fixed;
    right: -17.8rem;
    top: 0;
    width: 17.8rem;
    height: 100%;
    background-color: #fafafa;
    transition: 0.4s;
    gap: 0;
    visibility: hidden;
}
#CartDrawer > [id*=cart-drawer] [style*="--aspect-ratio"] {
    --aspect-ratio: 0.77 !important;
}
#CartDrawer > [id*=cart-drawer] .cart-recommendations-wrapper {
    display: flex;
    flex-direction: column;
    height: 100%;
}
#CartDrawer > [id*=cart-drawer] .cart-recommendations-wrapper > h3 {
    padding: 3.2rem 3.2rem 1.6rem;
    font-size: 1.4rem;
    color: var(--color-primary);
}
#CartDrawer > [id*=cart-drawer] .slider-controls {
    display: none;
}
#CartDrawer > [id*=cart-drawer] .cart-recommendations-scroll {
    height: calc(100% - 3.2rem);
    flex: 1;
    padding: 0 3.2rem 5rem;
    overflow: auto;
}
#CartDrawer .cr-products .swiper-wrapper {
    flex-direction: column;
}
#CartDrawer .cr-products .blocks-radius {
    border-radius: 0;
}
#CartDrawer .cr-products .product-card {
    background-color: unset;
    margin-bottom: 3rem;
}
#CartDrawer .cr-products .product-card__info {
    padding-right: 0;
    min-width: 100%;
}
#CartDrawer .cr-products .product-card__info .product-card__title{
    line-height: 1.5rem;
}
#CartDrawer .cr-products .product-card__info .f-price {
    font-size: 1.2rem;
    margin-top: 0;
    font-family: var(--font-body-weight-bold);
}
#CartDrawer .cr-products .product-card__info .f-price-item--sale,
#CartDrawer .cr-products .product-card__info .f-price-item--regular {
    color: var(--color-primary);
}
#CartDrawer .cr-products .product-card__info .f-price-item--regular {
    font-size: 1.2rem;
}
#CartDrawer .cr-products .product-card__info .original-price{
    font-family: var(--font-body-family);
}
#CartDrawer .cr-products .product-card__info .therapist-badge{
    display: block;
    margin-left: 0;
    font-family: var(--font-body-family);
}
#CartDrawer .cr-products .product-card__wrapper {
    flex-direction: column;
    padding: 0;
}
#CartDrawer .cr-products .product-card__image-wrapper {
    width: 100%;
    margin-bottom: 0.8rem;
}
#CartDrawer .cr-products .product-card__action-button {
    position: relative;
    top: inherit;
    transform: none;
    inset-inline: unset;
    width: 9rem;
    max-width: max-content;
    padding: 0 1.5rem;
    border-color: var(--color-primary);
    border-radius: 1.3rem;
    background-color: white;
    font-size: 1rem;
    height: 3rem;
    color: var(--color-primary);
    margin-top: 1.5rem;
}

/* Sleek Override */

/* Overrided as per ATS-148 */
@media (max-width: 767.98px) {
    body .section--custom-content .media--adapt {
        padding-block-start: calc(100% / (0 + var(--media-ratio, 1.7777777778)));
    }
}

@media (max-width: 767.98px) {
    #CartDrawer .cr-products .product-card__action-button{
        padding: 0 1.5rem;
        border-radius: 1.3rem;
        width: 9rem !important; 
        height: 2.6rem !important;
        line-height: 1;
    }
}
#CartDrawer .cart-item__media::before{
    content:"";
    display: block;
    padding-bottom:125%;
    height: 0;
}
#CartDrawer .cart-item__media img{
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    object-fit: cover;
}
#CartDrawer .cr-products .product-card__action-button:hover{
    background-color: transparent !important;
    color:var(--color-primary) !important;
}
#CartDrawer .cr-products .product-card__action-button::before, #CartDrawer .cr-products .product-card__action-button::after{
    display: none;
}
#CartDrawer .cr-products .product-card__atc-icon::before {
    content: "add to bag +";
}
#CartDrawer .cr-products .product-card__atc-icon svg {
    display: none;
}
#CartDrawer .cr-products .product-card__type {
    display: none;
}
#CartDrawer .cr-products .product-card__title a{
    font-size: 1.2rem;
    font-family: var(--font-body-family);
    color: var(--color-primary);
}
#CartDrawer[active] > [id*=drawer].has-recommended-products {
    right: 46rem;
    transition-delay: 0.2s;
    visibility: visible;
}
#CartDrawer[hidden] .cart-recommendations-wrapper {
    display: none;
}

/* Cart Drawer Recommended Mobile */
#CartDrawer .main-wrap-mobile{
    padding: 1.5rem;
    background-color: #FAFAFA;
    display: none;
}
#CartDrawer .main-wrap-mobile .cart-recommendations-scroll{
    display: flex;
    min-width: 100%;
    overflow: auto;
    flex-wrap: nowrap;
}

#CartDrawer .main-wrap-mobile .cart-drawer-products-recommendation{
    min-width: max-content;
}
#CartDrawer .main-wrap-mobile .cart-drawer-products-recommendation .product-card{
    margin-bottom: 1rem;
    margin-right: 1.6rem;
}
#CartDrawer .main-wrap-mobile .cart-drawer-products-recommendation .blocks-radius:empty{
    display: none;
}
#CartDrawer .main-wrap-mobile h3{
    font-size: 1.4rem;
    margin-bottom: 1rem;
}
#CartDrawer .main-wrap-mobile .cart-drawer-products-recommendation > .blocks-radius{
    display: flex;
    gap:1.6rem;
    min-width: 16rem;
    margin-bottom:.5rem;
}
#CartDrawer .main-wrap-mobile .cr-products  [style*="--aspect-ratio"] {
    --aspect-ratio: 0.77 !important;
}
#CartDrawer .main-wrap-mobile .cr-products .product-card__image-wrapper{
    min-width: 5.5rem;
    max-width:5.5rem;
}
#CartDrawer .main-wrap-mobile .cr-products .product-card__wrapper{
    gap:1rem;
    align-items: flex-start;
    flex-direction: row;
}
#CartDrawer .main-wrap-mobile  .cr-products .product-card__info{
    min-width: auto;
    max-width: 9.5rem;
}

#CartDrawer .main-wrap-mobile .cr-products .product-card__action-button{
    margin-top:.5rem;
    min-width: 14rem;
}

@media(max-width:1023px){
    #CartDrawer > [id*=cart-drawer]{
         display: none;
     }
    #CartDrawer .main-wrap-mobile.has-recommended-products{
         display: block;
    }
}

#CartDrawer .drawer__heading{
    font-size: 2.4rem;
}
#CartDrawer .drawer__footer-body .totals [class*=totals__subtotal] {
    font-size: 1.3rem;
    font-family: var(--font-body-weight-bold);
}

#CartDrawer .drawer__footer-body .totals .totals__subtotal-value{
    font-family: var(--font-body-weight-bold) !important;
}

#CartDrawer .progress-bar{
    height: .4rem;
}
#CartDrawer .progress-bar:before{
    background: -webkit-gradient(linear, left top, right top, from(#049177), to(#27CA40));
    background: -o-linear-gradient(left, #049177 0%, #27CA40 100%);
    background: linear-gradient(90deg, #049177 0%, #27CA40 100%);
}

#CartDrawer .free-shipping-goal__label{
    font-size: 1.4rem;
    color: var(--color-primary);
}
#CartDrawer .free-shipping-goal__label strong{
    font-weight: normal;
}

#CartDrawer .cart-item__title{
    font-size: 1.4rem;
    line-height: 1;
    text-transform: lowercase;
    font-family: var(--font-body-family);
}
#CartDrawer .cart-item__prices .price{
    font-size: 1.4rem;
    font-family: var(--font-body-weight-bold) !important;
}

#CartDrawer .cart-item__media{
    flex: 0 0 7.5rem;
    border-radius: 0;
}

#CartDrawer .cart-drawer__empty p{
    font-size: 1.6rem;
    color: #334639;
}

#CartDrawer .cart-drawer__footer{
    border:0
}
#CartDrawer .cart-drawer__addons{
    border-top: 1px solid #eee;
    border-bottom-color:  #eee;
}
/* Affirmation Block */
.content-overlay > .rich-text {
    padding: 5rem 0;
    width: 80%;
  }

.content-overlay > .endota-horizontal-rules-active {
      padding: 5rem 0;
      width: 80%;
      border-top: 1px solid #cecece;
      border-bottom: 1px solid #cecece;
}



/* Captcha Badge hide */
#shop-hcaptcha-badge-container {
    display: none !important
    }

/* Product Detail */
.product .product__block {
    --product-blocks-gap: 1.5rem;
}
.product .product__block--text_url {
    margin-bottom: 1rem;
}
.product .product__block--text_url a {
    text-decoration: none;
    font-size: 1.7rem;
}
.product .f-price {
    font-size: 2.8rem;
    color: #66746b;
    opacity: 0.75;
}
.product .f-price .f-price-item--therapist .original-price{
    color: rgb(51, 70, 57);
    text-decoration: line-through;
    opacity: .6;
}
.product .f-price .f-price-item--therapist .final-price{
    color: rgb(116, 172, 87);
    margin-left: .8rem;
    font-family: var(--font-body-weight-bold);
}
.product .f-price .f-price-item--therapist .therapist-badge{
    color: rgb(116, 172, 87);
    margin-left: 0.8rem;
    font-size:2.2rem;
}
.product .product__block--price {
    border-bottom: 1px solid #f2f2f2;
    padding-bottom: 2rem;
    margin-bottom: 2rem;
}
.product .short_description {
    font-size: 1.4rem;
    color: #666;
}
.product .quantity {
    border-radius: 3rem;
    border: 1px solid #74ac57;
}
.product .quantity .quantity__input {
    box-shadow: none;
}
.product .btn {
    font-size: 1.6rem;
}
.product .product__block--collapsible_tab {
    border-block-start: 1px solid #eee;
}
.product .product__block--collapsible_tab .accordion-details__summary h2 {
    font-size: 1.6rem;
    color: #334639;
    letter-spacing: 0.02em;
}
.product .product__block--collapsible_tab .accordion-details {
    border-block-end: 0;
}
.product .product__block--collapsible_tab .accordion-details .accordion-details__summary {
    padding-block: 1.5rem;
}
.product .product__block--collapsible_tab .accordion-details .accordion-details__summary::after {
    content: "";
    width: 0.65rem;
    height: 0.65rem;
    display: block;
    border-right: 1px solid #334639;
    border-bottom: 1px solid #334639;
    transform: rotate(45deg);
    transition: 0.4s;
}
.product .product__block--collapsible_tab .accordion-details .accordion-details__summary svg {
    display: none;
}
.product .product__block--collapsible_tab .accordion-details[aria-expanded=true] .accordion-details__summary::after {
    transform: rotate(225deg);
}
.product .product__block--collapsible_tab .accordion-details__content {
    font-size: 1.4rem;
    color: #888;
}
.product .product__block--collapsible_tab .accordion-details__content p:not(:last-child) {
    margin-bottom: 1rem;
}
.product .product__block--collapsible_tab .accordion-details__content  table{
    width: 100% !important;
}
.product__block--title .product__title {
    font-size: 2.4rem;
    line-height: 3rem;
    color: #334639;
}
@media (min-width: 1024px) {
    .product__block--title .product__title {
        font-size: 3rem;
        line-height: 3.5rem;
    }
}
@media (min-width: 1410px) {
    .product:not(.product--media-has-0) .product__info-wrapper {
        padding-inline-start: 2rem;
    }
}

.yotpo-sr-bottom-line-button .yotpo-sr-bottom-line-text{
    font-family:var(--font-body-family) !important;
    font-weight:normal !important;
    font-size: 1.4rem !important;
}


@media(max-width:639px){
   .yotpo-display-s .yotpo-main-layout .yotpo-layout-header-wrapper{
        flex-direction: column !important;
    }
}

/* Product Detail Gallery */

.product__media-gallery .product__media-container[style*=--aspect-ratio]:before{
    padding-top: 125% !important;
}
.product__media-gallery .product__media-container img{
    height: 100%;
    object-fit: cover;
}

.product__media-gallery-thumbails .product__thumbs-inner {
  --aspect-ratio: 4/5 !important;
}
.product__media-gallery-thumbails .product__thumbs-container::after{
    border-color:#49A750;
}
.product .swiper-pagination-bullets.swiper-pagination-horizontal{
   bottom: 4.5rem;
}
.product .swiper-pagination-bullet:after{
    background: rgba(0,0,0,.3);
}
.product .swiper-pagination-bullet.swiper-pagination-bullet-active:after,
.swiper-pagination-bullet.swiper-pagination-bullet-active:after{
    background: #74ac57
}
.product .swiper-button-prev, .swiper-button-next{
    border: 0;
}

/* Gallery Thumbnail */
.product__media-gallery-thumbails [class*=swiper-button] {
    position: absolute;
    z-index: 1212;
    width: 100%;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(255, 255, 255, 0.3);
    color: rgba(0, 0, 0, 0.808);
    cursor: pointer;
}
@media (max-width: 767px) {
    .product__media-gallery-thumbails [class*=swiper-button]{
        width: 30px;
        height: 100%;
        transform: inherit;
    }
}
.product__media-gallery-thumbails [class*=swiper-button] svg{
    width: 20px;
    height: 20px;
    position: relative;
}
.product__media-gallery-thumbails .swiper-button-down {
    bottom: 0;
}
@media (min-width: 768px) {
    .product__media-gallery-thumbails .swiper-button-up {
    top: 0;
}
    .product__media-gallery-thumbails .swiper-button-down {
    bottom: 0;
}
    .product__media-gallery-thumbails [class*=swiper-button] svg,
    .product__media-gallery-thumbails [class*=swiper-button] svg {
        transform: rotate(90deg);
    }
}
.product__media-gallery-thumbails [class*=swiper-button].swiper-button-disabled {
    display: none;
}
@media (max-width: 767px) {
    .product__media-gallery-thumbails  [class*=swiper-button] svg {
        transform: translatey(-50%);
        top: 50%;
        position: absolute;
    }
    .product__media-gallery-thumbails .swiper-button-up {
        left: 0;
        cursor: pointer;
    }
    .product__media-gallery-thumbails .swiper-button-down {
        right: 0;
        left: inherit;
    }
}


product-slider{
    display: block;
}
.product  .slider-controls--group .swiper-button-prev, 
.product  .slider-controls--group .swiper-button-next{
    opacity: 0;
    visibility: hidden;
    transition: .3s;
}
.slider-controls--group .swiper-button-prev::before, 
.slider-controls--group .swiper-button-next::before,
.slider-controls--group .swiper-button-prev::after, 
.slider-controls--group .swiper-button-next::after {
    display: none;
}
@media(max-width:767px){
    .product  .slider-controls--group .swiper-button-prev, 
    .product  .slider-controls--group .swiper-button-next{
    display: none;
}
}
.product .product__media-gallery-viewer-wrap:hover .slider-controls--group .swiper-button-prev,
.product .product__media-gallery-viewer-wrap:hover .slider-controls--group .swiper-button-next{
    opacity: 1;
    visibility: visible;
}


/* Product Ingrediants */
.endota-key-ingredient__items .section__header {
    padding-bottom: 2rem;
}

@media (min-width: 769px) {
    .endota-key-ingredient__items .page-width {
        width: 92%;
        margin: 0 auto 30px;
    }
}
@media (max-width: 767.98px) {
    .endota-key-ingredient .swipe-mobile {
       --column-width-mobile:82vw !important;
    }
}


@media (min-width: 768px) {
.endota-key-ingredient {
    display: flex;
    justify-content: center;
    grid-gap: 2rem;
}
.endota-key-ingredient .f-column {
    max-width: 33.3%;
    }
}
.endota-key-ingredient-card {
    display: grid;
    align-items: center;
    grid-gap: 5px;
    grid-template-columns: 1fr 2fr;
}
.endota-key-ingredient-card__image {
    flex: 0 0 95px;
}
.endota-key-ingredient-card__image img {
    width: 9.5rem;
    margin: 0 auto;
    display: block;
    object-fit: contain;
}

.endota-key-ingredient-card__title {
    font-size: 1.4rem;
    margin-bottom: 1.3rem;
    text-transform: lowercase;
}
@media (min-width: 769px) {
    .endota-key-ingredient-card__title {
        font-size: 1.6rem;
        margin-bottom: 1.3rem;
    }
}
.endota-key-ingredient-card__text p {
    font-size: 1.4rem;
    color: #888;
}


/* Product Specialities */
.product__block__specialities .icon-with-text-item img {
    object-fit: contain;
}
.product__block__specialities .icon-img-small {
    width: 2rem;
    height: 2rem;
}
.product__block__specialities .icon-img-medium {
    width: 3rem;
    height: 3rem;
}
.product__block__specialities .icon-img-large {
    width: 4rem;
    height: 4rem;
}
.product__block__specialities .text-size-small {
    font-size: 1.1rem;
}
.product__block__specialities .text-size-medium {
    font-size: 1.4rem;
}
.product__block__specialities .text-size-large {
    font-size: 1.6rem;
}
.product__block__specialities ul{
    display: flex;
    flex-wrap: wrap;
}

@media (max-width: 767px) {
    .product__block__specialities ul.swipe-mobile__inner {
        flex-wrap: nowrap;
    }
}
.product__block__specialities ul .icon-with-text-item {
    display: flex;
    align-items: center;
    min-width: max-content;
    margin: 0 2rem 0.4rem 0;
    column-gap: 7px;
}
.product__block__specialities ul .icon-with-text-item img {
    object-fit: contain;
}

.shopify-section[id*=custom_content] p{
    font-size: 1.3rem;
}
.product-template .shopify-section[id*=custom_content] p{
    color: #666;
}
@media(min-width:768px) {
.shopify-section[id*=custom_content] p{
    font-size: 1.5rem;
}
}
@media(max-width:767px) {
.shopify-section[id*=custom_content]:nth-of-type(odd) .custom-content-block--image {
        order: 1;
    }
.shopify-section[id*=custom_content]:nth-of-type(odd) .custom-content-block--text {
        order: 2;
    }
.shopify-section[id*=custom_content]:nth-of-type(even) .custom-content-block--image {
        order: 1;
    }
.shopify-section[id*=custom_content]:nth-of-type(even) .custom-content-block--text {
        order: 2;
    }
}

.section--related-products .section__heading{
    text-align: center;
}



/* Afterpay PDP Modal */
.afterpay-popup-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .5);
    z-index: 9998;
    opacity: 0;
    transition: opacity .3s
}

.afterpay-popup-overlay.active {
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1
}

.afterpay-popup-modal {
    background: #fff;
    border-radius: 16px;
    max-width: 870px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
    padding: 40px 60px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, .2);
    transform: scale(.9);
    transition: transform .3s
}

.afterpay-popup-overlay.active .afterpay-popup-modal {
    transform: scale(1)
}

.afterpay-popup-close {
    position: absolute;
    top: 20px;
    right: 20px;
    background: 0 0;
    border: none;
    cursor: pointer;
    color: #333;
    line-height: 1;
    padding: 8px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color .2s
}

.afterpay-popup-close:hover {
    color: #000
}

.afterpay-popup-close svg {
    width: 24px;
    height: 24px;
    display: block
}

.afterpay-popup-header {
    text-align: center;
    margin-bottom: 40px
}

.afterpay-popup-header-image {
    max-width: 200px;
    height: auto;
    margin: 0 auto 20px;
    display: block
}

.afterpay-popup-heading {
    font-size: 24px;
    font-weight: 600;
    line-height: 1.3;
    margin: 0;
    color: #000
}

.afterpay-popup-steps {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 30px
}

.afterpay-popup-step {
    flex: 1;
    text-align: center
}

.afterpay-popup-step-icon {
    height: 80px;
    margin: 0 auto 20px;
    display: block
}

.afterpay-popup-step-title {
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 10px;
    color: #000
}

.afterpay-popup-step-text {
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
    color: #333
}

.afterpay-popup-terms {
    text-align: center;
    font-size: 12px;
    line-height: 1.5;
    color: #666;
    margin-top: 30px
}

.afterpay-popup-terms a {
    color: #666;
    text-decoration: underline
}

@media (max-width:768px) {
    .afterpay-popup-modal {
        padding: 30px 20px;
        width: 95%;
        max-height: 95vh
    }

    .afterpay-popup-heading {
        font-size: 20px
    }

    .afterpay-popup-steps {
        flex-direction: column;
        gap: 30px
    }

    .afterpay-popup-step {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        text-align: left;
        gap: 15px
    }

    .afterpay-popup-step-icon {
        width: 60px;
        height: 60px;
        min-width: 60px;
        margin: 0;
        flex-shrink: 0;
        object-fit: contain;
    }

    .afterpay-popup-step-content {
        flex: 1
    }

    .afterpay-popup-step-title {
        font-size: 15px;
        text-align: left
    }

    .afterpay-popup-step-text {
        font-size: 13px;
        text-align: left
    }

    .afterpay-popup-close {
        top: 15px;
        right: 15px
    }
}




/* Collection List Slider Control */
.collection-list--slider grid-list {
    position: relative;
}
.collection-list--slider .swiper-controls {
    position: absolute;
    width: 100%;
    z-index: 2;
    top: 35%;
}
.collection-list--slider .swiper-controls button {
    position: absolute;
}
.collection-list--slider .swiper-controls button.swiper-btn-prev {
    left: -1.25rem;
}
.collection-list--slider .swiper-controls button.swiper-btn-next {
    right: -1.25rem;
    left: inherit;
}

/* Endota Collection  List */
.endota-collection-list .rich-text__heading{
    font-size: 2.8rem;
    color: #046a38;
}
.endota-collection-list .section__heading-spacing-small {
  margin-bottom: 1.5rem;
}
.endota-collection-list .section__heading-spacing-medium {
  margin-bottom: 2.5rem;
}
.endota-collection-list .section__heading-spacing-large {
  margin-bottom: 5rem;
}

.endota-collection-list .collection-card__summary .collection-card__title{
    font-size: 2.8rem;
}

.endota-collection-list .collection-card__summary .text-subtext{
    font-size: 1.6rem;
    color: #666;
}
.endota-collection-list [style*=--aspect-ratio]:before{
    padding-top: 60%;
}
.endota-collection-list.collection-list--slider .section__content {
    margin-inline-end: 0 !important;
  }

/* Featured Blog */
.featured-blog .section__header{
    padding-bottom: 2rem;
}
.featured-blog .section__heading{
    font-size: 4.8rem;
    line-height: 100%;
}

.featured-blog [style*=--aspect-ratio]:before{
    padding-top: 70%;
}

.featured-blog .article-card__title{
    font-size: 2rem;
    line-height: 2rem;
}

.featured-blog .article-card__excerpt{
    font-size: 1.4rem;
    color: #666;
}

.featured-blog [class*=text-limit-]{
    -webkit-line-clamp : none;
}
.featured-blog .article-card__button{
    color: #666;
    margin-top: 1rem;
    font-size: 1.4rem;
    font-family: var(--font-body-family);
}

/* Search Result */
.template-search .template-search__header {
    margin-bottom: 3rem;

}

.template-search .template-search__header h1 {
    font-size: 2.4rem;
    color: #334639;
}

@media (min-width: 1024px){
    .template-search .template-search__header h1 {
        font-size: 3rem;
    }
}

.template-search .grid-list {
    margin-bottom: 5rem;
}

.template-search .search-group-title {
    margin-bottom: 2rem;
    font-size: 1.6rem;
}

/* Newsletter Section */
.newsletter{
    margin-bottom: 4rem;
}
.newsletter .section__header{
    padding-bottom: 2rem;
}
.newsletter p{
    font-size: 1.4rem;
    color: #666;
}
.newsletter .rich-text__heading{
    font-size: 4.8rem;
    margin-bottom: 1rem;
}
.newsletter .rich-text__text{
    margin-top: 1.5rem;
}
.newsletter .newsletter-wrapper{
    background-color: #f4f2f4;
    padding-inline: 2.5rem;
}
.newsletter .form-control{
    background-color: white;
    border:1px solid #eee;
}

@media(max-width:1023px) {
    .newsletter .page-width {
        padding-inline: 0;
    }
}

/* Product Card Global Styling - Card Style */
.product-card.is-treatment-card .feature{
    margin-top: auto;
    color: #888;
    text-transform: uppercase;
    font-size: 1.4rem;
}
.product-card.is-treatment-card .duration{
    color: #334639;
    font-size: 1.6rem;
}
.product-card-style-card {
    border-radius: 0;
    background: none;
}
.product-card-style-card [style*=--aspect-ratio]:before {
    padding-top: 124.88%;
}
.product-card-style-card {
    transition: 0.3s;
}
.product-card-style-card.is-unavailable .product-card__image-wrapper > a{
    opacity: .5;
}
.product-card-style-card .product-card__image-wrapper{
    border-radius:var(--pcard-radius);
}
.product-card-style-card .product-card__image-wrapper > a{
    display: block;
}
.product-card-style-card:hover .product-card__image-wrapper a:not(.check-in-spa-label):before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    opacity: 0.15;
    z-index: 2;
    background-color: #1d1d1d;
    /* Disaplay none for now - May required in future */
    display: none; 
}
.product-card-style-card .product-card__info {
    padding: 1rem 0;
    padding-right: 3.2rem;
    position: relative;
    flex: 1;
}
.product-card__title{
    line-height: 1.8rem;
}
.product-card__title a {
    font-size: 1.7rem;
    color: #334639;
    text-transform: lowercase;
}

.product-short-description {
    margin: 0;
    font-size: 1.4rem;
    line-height: 22px;
    letter-spacing: 0.01em;
    color: #334639;
}

.product-card-style-card .product-card__description{
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 5px 0;
    font-size: 1.4rem;
    line-height: 2.2rem;
}
.product-card-style-card .product-card__description p{
    margin: 0;
    color: #666;
}

.product-card__badge {
    width: 100%;
    left: 0;
    top: 0;
    padding: 2rem;
    box-sizing: border-box;
}

.product-card__badge.is-rounded .f-badge {
    border-radius: 2rem;
}

.product-card-style-card .f-badge[class*=off] {
    width: 6rem;
    height: 6rem;
    position: absolute;
    right: 2rem;
    top: 2rem;
    padding: 1.2rem;
    box-sizing: border-box;
    white-space: unset;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 100%;
    font-family: var(--font-body-weight-bold);
    background-color: rgb(var(--color-primary));
}
.product-card:not(.product-card--list) .product-card__quickview {
    transform: translate(-50%, -50%) !important;
    top: 50%;
    inset-inline-end: 0;
    left: 50%;
}
.product-card-style-card .product-card__wrapper{
    display: flex;
    flex-direction: column;
}
.product-card .f-price {
    font-size: 1.1em;
    margin-top: auto;
}
.product-card .f-price .f-price__regular{
    color: #334639;
}
.product-card .f-price-item--sale {
    color: rgb(116, 172, 87);
    font-family: var(--font-body-weight-bold);
}
.product-card .f-price--on-sale .f-price-item--regular, .product-card .f-price-item--therapist .original-price{
    color: rgb(51, 70, 57);
    opacity: .6;
}
.product-card .f-price-item--therapist .original-price{
    text-decoration: line-through;
    font-family: var(--font-body-family);
}
.product-card .f-price-item--therapist .final-price{
    margin-left: 0.8rem;
    color: rgb(116, 172, 87);
    font-family: var(--font-body-weight-bold);
}
.product-card .f-price .therapist-badge{
    color:rgb(116, 172, 87);
    margin-left: .8rem;
    font-size: 0.85em;
}
 .product-card .product-card__actions .btn[disabled]{
    cursor: not-allowed;
 }

 @media(max-width:767px){
    .product-card .f-price{
        font-size: 1.4rem;
    }
    body .product-card .f-price .therapist-badge{
        display: block;
        margin-left: 0;
    }
}

.product-card .stock-wrapper{
    position: absolute;
    left: 50%;
    top: 50%;
    width:auto;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    z-index: 9;
    font-size: 1.8rem;
    font-family:var( --font-body-weight-bold);
    line-height: 100%;
    transform: translate(-50%, -50%);

}
.product-card .stock-wrapper span{
    display: inline-block;
    margin-bottom: 1rem;
}
.product-card .stock-wrapper span, .product-card .stock-wrapper a{
    color: #334639;
    white-space: nowrap;
}

.product-card .yotpo-reviews-star-ratings-widget .yotpo-sr-bottom-line-summary{
    flex-direction: row !important;
    align-items:center !important;
}
.product-card .yotpo-reviews-star-ratings-widget .yotpo-sr-bottom-line-text {
    font-family:var( --font-body-family) !important;
    font-weight:normal !important;
    font-size: 1.4rem !important;
    color:#334639 !important;
    line-height: 1!important
}
.product-card .yotpo-sr-bottom-line-summary{
   cursor:pointer!important;
}
.product-card .yotpo-sr-bottom-line-summary span svg:last-child{
    margin-inline-end:0.5rem!important;
}

@media(max-width:1023px){
    .product-card .stock-wrapper a{
        font-size: 1.6rem;
    }
}
@media(max-width:767px){
    .product-card__title a{
        font-size: 1.5rem;
    }
    .product-card-style-card .product-card__description{
        font-size: 1rem;
        line-height: 1.4rem;
    }
}

@media(max-width:639px){
    .product-card .stock-wrapper span{
        font-size: 1.6rem;
    }
}

/* Product Card List Style */
.product-card.product-card--list{
    background-color: unset;
}
.swiper-slide .product-card.product-card--list{
    height: 100%;
}
.product-card.product-card--list .product-card__badge {
    display: none !important;
}
.product-card.product-card--list .product-card__wrapper {
    column-gap: 10px;
    padding: 0;
    align-items: unset;
}
.product-card.product-card--list .product-card__image-wrapper {
    min-width: 11rem;
    width: 11rem;
}
.product-card.product-card--list .product-card__image[style*=--aspect-ratio]:before {
    padding-top: 124.88% !important;
}
.product-card.product-card--list .product-card__info {
    padding-inline-end: unset;
    padding-right: 3rem;
    position: relative;
}
.product-card.product-card--list .product-card__atc:not(#CartDrawer .product-card.product-card--list .product-card__atc) {
    display: none;
}
.product-card.product-card--list .swym-button.swym-add-to-wishlist-view-product {
    position: absolute;
    right: 0;
    top: 0.5rem;
    padding: 0;
    border: 0;
}
.product-card--list .product-card__info .f-price{
    margin-top: auto;
}

body .product-card.product-card--list .swym-button.swym-add-to-wishlist-view-product.swym-heart{
    top: 0;
    right:.3rem;
}
.product-card.product-card--list .f-price .therapist-badge{
    display: block;
    margin-left: 0;
}

/* Promo Banner in Collection Listing */
.products-list .card.is-promo-banner.fill-2-column{
    grid-column: span 2;
}
.products-list .card.is-promo-banner > a {
     display: block;
}
.products-list .card.is-promo-banner img {
     object-fit: cover;
     border-radius: 2rem;
     width: 100%;
}
.products-list .card.is-promo-banner .promo-btn-wrapper {
     text-align: center;
     padding-top: 1.5rem;
}


/* Wishlist Button */
.product-card .swym-collections {
	 display: flex !important;
	 justify-content: space-between !important;
	 align-items: center !important;
     position: static;
}
 body .swym-button.swym-add-to-wishlist-view-product, #swym-atw-pdp-button {
	 min-width: 2.2rem;
	 min-height: 2.2rem;
     max-width: 2.2rem;
	 max-height: 2.2rem;
	 background-repeat: no-repeat !important;
	 background-size: contain !important;
     border: 0;
	 border-radius: 0;
	 opacity: 1;
     padding: 0;
}
body .product-card .swym-button.swym-add-to-wishlist-view-product{
    position: absolute;
    right: 0;
    top:.8rem;
    opacity: 1;
}
 body .swym-button.swym-add-to-wishlist-view-product.swym-heart::after, #swym-atw-pdp-button::after {
	 display: none !important;
}
body .swym-atw-button-container{
    display:block;
    width: auto !important;
}
 #swym-atw-pdp-button {
	 min-width: 2.8rem;
	 min-height: 2.8rem;
	 max-width: 2.8rem;
	 max-height: 2.8rem;
	 padding: 0;
     border-radius: 0 !important;
     background-color: unset;
}
 #swym-atw-pdp-button svg {
	 display: none;
}

#swym-atw-pdp-button #swym-atw-pdp-button-text{
    display: none;
}

 .swym-atw-btn-wrapper.product_title_right-position {
	 justify-content: space-between !important; 
}

body .product-card .swymcs-wishlistplus-item-remove{
    position: absolute;
    right: 0;
    top: 1.5rem;
    opacity: 1;
    height: auto;
    padding: 0;
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 0;
    border:0;
}
 

/* Featured Section */
.section--featured-collection h2{
    font-size: 2.8rem;
}

.section--featured-collection .section__description{
    margin-top: 1rem;
}

/* Featured Section Slider Controls */
.section--featured-collection.slider-enabled .swiper-controls {
    position: absolute;
    width: 100%;
    z-index: 2;
    top: 35%;
}
.section--featured-collection.slider-enabled .swiper-controls button {
    position: absolute;
    top: inherit;
}
.section--featured-collection.slider-enabled .swiper-controls button.swiper-button-prev,
.swiper-controls.is-half-offset button.swiper-button-prev {
    left: -1.25rem;
}
.section--featured-collection.slider-enabled .swiper-controls button.swiper-button-next,
.swiper-controls.is-half-offset button.swiper-button-next {
    right: -1.25rem;
    left: inherit;
}
.swiper-controls.is-half-offset button.swiper-button-prev,
.swiper-controls.is-half-offset button.swiper-button-next{
    top: 36%;
}


/* Password Strength */
.password-strength{
    display: flex;
    align-items: center;
    margin-top: 1rem;
}
.password-strength span{
    font-size: 1.3rem;
    color: #666;
}

.password-strength-bar {
    height: 100%;
    width: 0%;
    background-color: red;
    border-radius: 3px;
    transition: width 0.3s ease;
    display: block !important;
}

.password-strength-meter {
    flex: 1;
    margin-left: 1em;
    width: 100%;
    height: 6px;
    background-color: #eee;
    border-radius: 3px;
    overflow: hidden;
    margin-top: -.4rem;
}

.reset-password form button{
    margin-top: 0;
}


/* Alert */
.alert{
    border-radius: .8rem;
    margin-bottom: 1rem;
    color: #333 !important;
    border:2px solid transparent;
}
.alert.alert--success{
    border-color: #AAE5B5;
    background-color: #F3FFF4;
}
.alert.alert--error{
    border-color: #F3B3B2;
    background-color: #FDF5F5;
}
.alert.is-fixed {
  border-radius: .8rem;
  font-size:1.3rem;
  position:fixed;
  z-index:99;
  left:50%;
  max-width:90%;
  width:40rem;
  transform:translateX(-50%);
  text-align:center;
}
.alert.is-fixed.is-top{
  top:100px;
}
.alert.is-fixed.is-bottom{
  bottom:100px;
}

.alert.alert--error{
    font-size: 1.5rem;
}
.alert.alert--error .form-message, .alert.alert--error a  {
    color: #8E1F0F;
    font-size: 1.5rem;
}

/* Collection Banner */
.collection-banner {
    position: relative;
    min-height: 27.5rem;
}
.collection-banner .collection-hero__inner {
    max-width: 65rem;
}
.collection-banner .hero__media {
    height: 100%;
}
.collection-banner parallax-element {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}
.collection-banner .page-width {
    position: relative;
    z-index: 2;
}
.collection-banner-buttons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    overflow: auto;
    margin: 0 calc(-1 * var(--page-padding, 20px));
}
.collection-button-scroll {
    display: flex;
    flex-wrap: wrap;
    padding: 0 var(--page-padding);

}
@media(max-width:1023px){
    .collection-button-scroll {
    flex-wrap: nowrap;
    padding: 0 var(--page-padding);
}
}
.collection-banner .btn {
    height: 3rem;
    display: inline-flex;
    margin-bottom: 1.5rem;
    margin-right: 0.6rem;
}
.collection-banner .btn--secondary {
    border: 0;
}
.collection-banner .collection-hero__description {
    max-width: inherit;
    margin-top: 0;
    margin-bottom: 3rem;
}
.collection-banner .collection-hero__description p {
    font-size: 1.4rem;
    margin-top: 0;
}
.collection-banner .collection-hero__text {
    padding-inline: unset !important;
}
.collection-banner h1 {
    font-size: 4.8rem;
    text-transform: lowercase;
}
@media (min-width: 1024px) {

    .collection-banner h1 {
        font-size: 5.2rem;
    }
}
@media (max-width: 1023px) {
    .collection-banner-buttons::-webkit-scrollbar-thumb {
        background: #046a38;
        border-radius: 5px;
    }
    .collection-banner-buttons::-webkit-scrollbar-track {
        background: #f1f1f1;
        border-radius: 5px;
        margin-left: 12px;
    }
    .collection-banner .hero__media {
        display: none;
    }
}

/* Gift Card Page Styling */
.endota-gift-card-section p{
    color: #666;
}
#balanceWrapper{
    padding-top: 4rem;
}
.endota-gift-card-section .gift-card-toggle{
   display: flex;
    justify-content: flex-end;
    
}
.endota-gift-card-section .gift-card-toggle .gift-btns-wrapper{
    padding-top:3rem;
    border-top: 1px solid #D5D0C4;
}
.endota-gift-card-section .gift-card-toggle .btn{
    padding-inline:5rem;
}
.endota-gift-card-section .gift-card-toggle .btn + .btn{
    margin-left: .5rem;
}
.gift-btns-wrapper .btn--primary:hover{
    background-color:rgb(var(--color-primary))  !important;
    color: white !important;
}
.gift-btns-wrapper .btn--secondary:hover{
    color:rgb(var(--color-primary))  !important;
    background-color: white !important;
}

@media(min-width:1024px){
    .endota-gift-card-section .gift-card-left{
        padding-top: 9rem;
    }
}
.endota-gift-card-section .account-links{
    margin-top: auto;
    margin-bottom: 3rem;
    padding-top: 2rem;
}
.endota-gift-card-section .account-links, .endota-gift-card-section .account-links a{
    font-size: 1.3rem;
}
.endota-gift-card-section .gift-card-content{
    padding:3rem;
    background-color: white;
    border-radius: 1.6rem;
}
.endota-gift-card-section .gift-card-right{
    padding: 3rem 3rem 9rem;
    background-color: rgb(244, 242, 244);
}
.endota-gift-card-section .gift-sample-img{
    box-shadow: rgba(0, 0, 0, 0.25) 5px 8px 28px 7px;
    border-radius: 1rem;
}
.endota-gift-card-section .guide-1{
    width:60%;
    margin-bottom: 2rem;
}
.endota-gift-card-section .guide-2{
    width:80%;
}

@media(max-width:1023px){
    .endota-gift-card-section h2{
        font-size:2.8rem;
    }
  
    .endota-gift-card-section .gift-card-right{
        padding: 2rem;
    }
    .endota-gift-card-section .gift-card-content{
        padding: 2rem 1.5rem;
    }
}
@media(max-width:767px){
     .endota-gift-card-section .account-links{
        margin-top: 3rem;
    }
    .endota-gift-card-section .gift-card-toggle .gift-btns-wrapper{
        min-width: 100%;
        display: flex;
        justify-content: flex-end;
    }
}
@media(max-width:479px){
    .endota-gift-card-section .gift-sample-img{
        width: 100%;
    }
    .endota-gift-card-section .gift-card-toggle .btn{
        flex: 1;
    }
}

/* Gift Card Result */
.endota-gift-card-section .gift-card-left .shopify-app-block h3 {
    display: none;
}
.endota-gift-card-section .gift-card-left [for*=cardigan-balance-checker-number] {
    display: none;
}

.endota-gift-card-section .gift-card-left [data-cardigan-balance-checker="submit"] {
    margin-top: 2rem;
}
.endota-gift-card-section  .gift-card-mock{
    width: 30rem;
}
@media(max-width:767px) {
    .endota-gift-card-section .gift-card-left [data-cardigan-balance-checker="submit"] {
        width: 100%;
    }
}
@media(min-width:768px) {
    .endota-gift-card-section .gift-card-left {
        padding-right: 2.5rem;
    }
    .endota-gift-card-section .gift-card-left [data-cardigan-balance-checker="number"] {
        width: 70%;
    }
    .endota-gift-card-section .gift-card-right {
        min-height: 63rem;
    }
}

.endota-gift-card-section .gift-card-result .gift-card-image, 
.gift-card-image {
    display: flex;
    position: relative;
    width: 36rem;
    max-width: 100%;
    margin: 0 auto;
}
.gift-card-image img{
    transition: .3s;
}
.gift-card-image:hover img{
    filter: drop-shadow(0px 8px 11px rgba(0,0,0,0.2));
}
.endota-gift-card-section .gift-card-result .gift-card-details, 
.gift-card-image .gift-card-details{
    position: absolute;
    left: 0;
    bottom: 0;
    padding: 0 3.5rem 3rem 4rem;
    width: 100%;
    color: #fff;
    font-size: .8rem;
    line-height: 1.2;
    font-family: var(--font-body-weight-bold);
    box-sizing: border-box;
}
.endota-gift-card-section .gift-card-result .gift-card-number, 
.gift-card-image .gift-card-number{
    font-size: 1.4rem;
    margin-bottom: 1rem;
}
.endota-gift-card-section .gift-card-result .gift-card-expire_date, 
.gift-card-image .gift-card-expire_date{
    display: flex;
    column-gap: 1rem;
}
.endota-gift-card-section .gift-card-result .gift-card-expire_date strong, 
.gift-card-image .gift-card-expire_date strong{
    font-weight: normal;
    font-size: 1.2rem;
}
.endota-gift-card-section .gift-card-result .gift-card-details .gift-card-balance, 
.gift-card-image .gift-card-details .gift-card-balance{
    text-align: right;
}
.endota-gift-card-section .gift-card-result .gift-card-balance,
.gift-card-image .gift-card-balance{
    margin-top: 0.5rem;
}
.endota-gift-card-section .gift-card-result .gift-card-balance strong,  
.gift-card-image .gift-card-balance strong{
    font-size: 2.2rem;
    font-weight: normal;
    margin-left: 1rem;
}
.gift-card-image .gift-card-barcode {
    cursor: pointer;
    text-align: center;
    width: 17rem;
    margin-bottom: .5rem;
}
.gift-card-image .gift-card-barcode svg{
    display: block;
    width: 100%;
    height: auto;
}
@media(max-width:767px) {
    .endota-gift-card-section .endota-gift-card-section .gift-card-right {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }

}
@media(max-width:639px) {
    .endota-gift-card-section .gift-card-result .gift-card-image, 
    .gift-card-image {
        width: 100%;
    }
    
    .endota-gift-card-section .gift-card-result .gift-card-expire_date strong,
    .gift-card-image .gift-card-expire_date strong {
        font-size: 1.2rem;
    }
    .endota-gift-card-section .gift-card-result .gift-card-balance strong,
    .gift-card-image .gift-card-balance strong {
        font-size: 1.5rem;
    }
}
@media(max-width:479px) {

    .endota-gift-card-section .gift-card-result .gift-card-details,
    .gift-card-image .gift-card-details {
        padding: 0 2.5rem 2.5rem 2.5rem;
    }

    .endota-gift-card-section .gift-card-result .gift-card-number,
    .gift-card-image .gift-card-number {
        font-size: 1.2rem;
    }

    .gift-card-image .gift-card-barcode {
        width: 24vw;
    }

}

.endota-gift-card-section .gift-card-result .gift-card-result_invalid{
    text-align: center;
    font-size: 1.4rem;
}
.endota-gift-card-section .gift-card-result .gift-card-result_invalid p a{
    text-decoration:underline;
    color: #334639;
}
@media(min-width:1024px){
    .endota-gift-card-section .gift-card-result .gift-card-result_invalid{
        padding-top: 4rem;
    }
}

/* Gift Card Transaction  */
.gift-card-transactions h3{
    font-size: 1.8rem;
    margin-bottom: 1rem;
}
.gift-card-transactions table{
    width: 100%;
    background-color: #fff;
}
.gift-card-transactions table thead{
    border-bottom: 1px solid #e0e0e0;
}
.gift-card-transactions table th{
    font-family: var(--font-body-weight-bold);
}
.gift-card-transactions table td{
    font-family: var(--font-body-family);
    font-weight: normal;
}
.gift-card-transactions table th, .gift-card-transactions table td{
    font-size: 1.3rem;
    padding: 1rem;
    text-align: left;
    color: #666;
    
}
.gift-card-transactions table th:last-child,
.gift-card-transactions table td:last-child{
    text-align: right;
}


/* Gift Collections */
.endota-gift-collection {
    padding-top: var(--section-padding-top);
    background-color: #F4F2F4;
}
@media (max-width: 1023px) {
    .endota-gift-collection {
        --section-padding-top: 40px !important;
    }
}
.endota-gift-collection .gift-card-section-header {
    margin-bottom: 2rem;
}
.endota-gift-collection .gift-card-section-header h2 {
    font-size: 4.4rem;
}
@media (max-width: 1023px) {
    .endota-gift-collection .gift-card-section-header h2 {
        font-size: 3.2rem;
    }
}
.endota-gift-collection .gift-card-section-header p {
    width: 95rem;
    max-width: 100%;
    margin-top: 1rem;
    font-size: 2rem;
}
.endota-gift-collection .gift-card-section-header p:last-child {
    margin-bottom: 0;
}
.endota-gift-collection .product-card {
    border-radius: var(--pcard-radius);
    overflow: hidden;
    height: 100%;
}
.endota-gift-collection .product-card .product-card__image-wrapper {
    border-radius: 0;
    min-height: 26.4rem;
}
.endota-gift-collection .product-card .swym-collections {
    position: relative;
}
.endota-gift-collection .swym-collections {
    padding-right: 3.5rem;
}
.endota-gift-collection .product-card__title a {
    font-size: 2rem;
}
.endota-gift-collection .product-card .swym-collections .swym-button.swym-add-to-wishlist-view-product.swym-heart {
    top: 0;
    right: 0;
}
.endota-gift-collection .product-card__image {
    height: 100%;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    object-fit: cover;
}
.endota-gift-collection .product-card__content {
    padding: 2.4rem;
    background-color: white;
    display: flex;
    flex-direction: column;
}
.endota-gift-collection .product-card__content .product-card__title{
    line-height: 1;
}
@media (max-width: 649px) {
    .endota-gift-collection .product-card__content {
        padding-inline: 1.8rem;
    }
}
.endota-gift-collection .product-card__info {
    padding-top: 1.2rem;
}
.endota-gift-collection .product-card__info .product-card__description{
    font-size: 1.4rem;
    line-height: 1.2;
    color: #666;
}
.endota-gift-collection .product-card__atc {
    height: 5.5rem;
    padding: 0 3rem;
    border-radius: 5rem;
    font-size: 1.6rem;
}
.endota-gift-collection .product-card__atc.btn--loading>*:not(.loading__spinner) {
    opacity: 1;
}
.endota-gift-collection .product-card__view-more {
    padding-top: 1rem;
    padding-bottom: 0.5rem;
}
.endota-gift-collection .product-card__view-more a {
    color: #48A345;
    font-size: 1.4rem;
    text-decoration: underline;
    text-underline-offset: 0.2rem;
}
.endota-gift-collection .short-description {
    font-size: 1.4rem;
    color: #666;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
}
.endota-gift-collection .short-description p {
    margin-bottom: 0;
}
.endota-gift-collection .short-description strong {
    font-weight: normal;
}
.endota-gift-collection .product-card__price .f-price {
    color: var(--color-primary);
    opacity: 1;
    font-family: var(--font-body-weight-bold);
    font-size: 2rem;
}
.endota-gift-collection .f-price .f-price-item{
    display: block;
}
.endota-gift-collection .f-price .f-price-item.f-price-item--therapist{
    font-size: 1.5rem;
}
.endota-gift-collection .f-price .f-price-item--regular s{
    font-family: var(--font-body-family);
}
.endota-gift-collection .product-card__duration-badge {
    width: 6rem;
    height: 6rem;
    position: absolute;
    left: 1.5rem;
    top: 1.5rem;
    padding: 1.2rem;
    box-sizing: border-box;
    white-space: unset;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 100%;
    background-color: #48A345;
    color: white;
    font-size: 1.6rem;
    line-height: 0.8;
    z-index: 1;
}
.endota-gift-collection .product-card__duration-badge strong {
    font-size: 2.4rem;
    display: block;
    line-height: 0.8;
    font-family: var(--font-body-weight-bold);
}
@media(max-width:767px){
    .endota-gift-collection .product-card__duration-badge{
        left: inherit;
        right: 1.5rem;
    }
}
.endota-gift-collection .product-card__footer {
    margin-top: auto;
    padding-top: 2rem;
}

.endota-gift-collection .product-card .therapist-badge{
    display: block;
    margin-left: 0;
    font-family: var(--font-body-family);
}
@media(max-width:375px){
    .endota-gift-collection .product-card__footer{
        display: block;
    }
    .endota-gift-collection .product-card__footer .product-card__price{
        margin-bottom: .5rem;
    }
    .endota-gift-collection .product-card .therapist-badge{
        display: inline-block;
        margin-left: inherit;
    }
    .endota-gift-collection .product-card__footer .btn{
        width: 100%;
    }
    .endota-gift-collection .product-card__footer .btn + .btn{
        margin-top: .5rem;
    }
}

.endota-gift-collection .treatment-inclusions{
    margin-top: 1.5rem;
}
.endota-gift-collection .treatment-inclusions span{
    display: block;
    font-size: 1.4rem;
    margin-bottom: 1rem;
    line-height: 1
}
.endota-gift-collection .treatment-inclusions ul li{
    font-size: 1.2rem;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="17" viewBox="0 0 16 17" fill="none"><rect y="0.0234375" width="16" height="16" rx="8" fill="%2348A345" fill-opacity="0.1"></rect><path d="M11.7826 5.625L6.9826 10.425L4.80078 8.24318" stroke="%2348A345" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"></path></svg>');
    background-repeat: no-repeat;
    background-position: 0 .2rem;
    padding-left: 2.5rem;
    margin-bottom: .5rem;
    color: #595E62;
}
.endota-gift-collection .treatment-inclusions ul li strong{
    font-size: 1.3rem;
    font-family: var(--font-body-weight-bold)
}

/* Spa Details */
.endota-spa-header {
    padding-block: 3rem;
}
.endota-spa-header h1 {
    margin-bottom: 1rem;
}
.endota-spa-header .spa-hours {
    font-size: 1.4rem;
}
.endota-spa-header .spa-hours .opening-hours-status.closed span,
.endota-spa-block--info .opening-hours-status.closed span{
    color: #e02b27;
}
.endota-spa-header .spa-hours .opening-hours-status.open span,
.endota-spa-block--info .opening-hours-status.open span{
    color: #49A750;
}
.endota-spa-header .btn--primary {
    width: 30rem;
    max-width: 100%;
}

@media(max-width:767px){
    .endota-spa-header .btn--primary{
        width:42rem;
        margin-top: 1.5rem;
    }
}


@media(min-width:768px) {
    .endota-spa-header .opening-hours-container .spa-header-address {
        padding-left: 1rem;
        margin-left: 1rem;
        border-left: 1px solid #666;
    }
}
@media(max-width:767px) {
    .endota-spa-header .opening-hours-container .spa-header-address {
        display: block;
    }
    .endota-spa-header .opening-hours-container .spa-header-address::before {
        content: "";
        display: block;
        margin: .5rem 0 .8rem;
        width:3rem;
        height: .1rem;
        background-color: #666;
    }
}

/* Spa Main Content Section */
.endota-spa-information-wrapper {
    display: flex;
}
.endota-spa-information-wrapper .spa-left {
    flex: 1;
}
.endota-spa-information-wrapper .spa-right {
    width: 30%;
    padding-left: 3rem;
}
@media (max-width:1023px) {
    .endota-spa-information-wrapper {
        flex-direction: column-reverse;
        gap: 1.6rem;
    }    
    .endota-spa-information-wrapper .spa-left {
        width: 100%;
    }
    .endota-spa-information-wrapper .spa-right {
        width: 100%;
        padding-left: 0;
    }
}

/* Spa Tabs & Overview */
.endota-spa-block--links {   
    padding-bottom: 1rem;
    margin-bottom: 2rem;
    overflow: auto;
    max-width: 100%;
}
.endota-spa-links-wrapper{
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 2.5rem;
}
.endota-spa-block--links.has-divider {
    border-bottom: 1px solid #CBCBCB;
}
.endota-spa-block--links a {
    font-family: var(--font-body-weight-bold);
    text-transform: lowercase;
    color: #6C6C6C;
    white-space: nowrap;
}
.endota-spa-block--links a:first-child{
    color:#49A750 ;
}
.endota-spa-block--links a:after {
    display: none;
}
.endota-spa-block--overview{
    margin-bottom: 4rem;
}
.endota-spa-block--overview .rich-text__heading {
    color: var(--color-primary);
    margin-bottom: 0.8rem;
}
.endota-spa-block--overview .spa-area {
    font-size: 1.2rem;
    color: var(--color-primary);
}
.endota-spa-block--overview p {
    font-size: 1.3rem;
    color: #666;
}
.endota-spa-block--overview .toggle-btn {
    color: #49A750;
    font-size: 1.3rem;
    font-family: var(--font-body-family);
}

/* Spa Marketing Section */
.endota-spa-block--marketing{
    margin-bottom: 2rem; 
}
.endota-spa-block--marketing .image-with-text__wrapper {
    padding: 2rem;
    background-color: #f4f2f4;
}
.endota-spa-block--marketing .image-with-text__inner {
    padding-inline-start: 1.5rem;
    padding-block-end: 1.5rem;
}
@media (max-width: 1023px) {
    .endota-spa-block--marketing .image-with-text__inner{
        padding-inline-start:unset;
        text-align: center;
    }
}
.endota-spa-block--marketing p {
    color: #222;
    font-size: 1.4rem;
}
.endota-spa-block--marketing p a {
    color: #666;
}
.endota-spa-block--marketing .media-wrapper {
    height: 100%;
}
.endota-spa-block--marketing .media-wrapper img {
    height: 100%;
    width: 100%;
}
@media (min-width: 768px) {
    .endota-spa-block--marketing .media-wrapper img {
        position: absolute;
    }
}
.endota-spa-block--marketing .btn {
    min-width: 13.5rem;
}
.endota-spa-block--marketing .text-subheading {
    font-size: 1.4rem;
    font-family: var(--font-body-family);
    color: var(--color-primary);
}

/* Spa Details Menu */
.endota-spa-block--treatments {
    margin-bottom: 4rem;
}
.endota-spa-block--treatments .accordion-details__content{
    padding-bottom: 0;
}
.endota-spa-block--treatments .spa-treatment-heading {
    margin-bottom: 2rem;
    font-size: 2.4rem;
}
.endota-spa-block--treatments .spa-treatment-menu {
    border-color: #c8c8c8;
}
.endota-spa-block--treatments .spa-treatment-menu:first-of-type summary {
    border-top: 1px solid #c8c8c8;
}
.endota-spa-block--treatments .spa-treatment-menu summary {
    padding: 1.5rem 3rem 1.5rem 0;
    color: #222;
    font-size: 1.4rem;
}
.endota-spa-block--treatments .spa-treatment-menu summary::after {
    content: "";
    width: 0.7rem;
    height: 0.7rem;
    border-left: 0.15rem solid #777;
    border-bottom: 0.15rem solid #777;
    transform: rotate(315deg) translatey(-50%);
    transition: 0.3s;
    position: absolute;
    right: 0.1rem;
    top: 50%;
    margin-top: -0.35rem;
}
.endota-spa-block--treatments .spa-treatment-menu[aria-expanded="true"] summary {
    color: var(--color-primary);
}
.endota-spa-block--treatments .spa-treatment-menu[aria-expanded="true"] summary::after {
    transform: rotate(132deg);
}
.endota-spa-block--treatments .spa-treatment-service {
    padding-bottom: 4rem;
}
.endota-spa-block--treatments .menu-item {
    margin-bottom:1.2rem;
    color: #666;
    font-size: 1.4rem;
}
.endota-spa-block--treatments .service-title {
    font-size: 1.4rem;
    color: #666;
}

.endota-spa-block--treatments p {
    color: #666;
    font-size: 1.4rem;
}

.endota-spa-block--treatments .service-details {
    background-color: rgb(var(--color-secondary-background));
    border-radius: 2rem;
    padding: 1.7rem;    
}

@media(min-width:768px) {
    .endota-spa-block--treatments .treatment-price-details {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
    }
}

/* Spa Gallery */
.spa-gallery {
    display: grid;
    grid-template-rows: 1fr 1fr;
    gap: var(--row-gap) var(--column-gap);
    position: relative;
    --swiper-navigation-offset-x:1rem;
    --row-gap:1.5rem;
    --column-gap:1.5rem;
}

.spa-gallery .gallery-see-all {
    display: none;
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    border: 0;
    height: 3.7rem;
}

.spa-gallery-item {
    background: #333;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
    width: 100%;
}



.spa-gallery-item:first-child {
    grid-row: 1 / span 2;
}

@media(min-width:768px) {
    .spa-gallery-item:nth-child(n+4) {
        display: none;
    }

    .spa-gallery .gallery-see-all {
        display: inline-flex;
    }
}

.spa-gallery-item video,
.spa-gallery-item iframe {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    left: 0;
    top: 0;
}

.spa-gallery-item:first-child {
    content: "";
    position: relative;
    width: 100%;
    height: 0;
    overflow: hidden;
    padding-bottom: 56.25%;
}


.spa-gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    position: absolute;
    left: 0;
    top: 0;
}

.spa-gallery-controls {
    display: none;
}
.spa-gallery .swiper-button-prev,
.spa-gallery .swiper-button-next,
.spa-gallery .swiper-button-prev:hover,
.spa-gallery .swiper-button-next:hover{
    color: white;
    background-color: unset;
    border: 0;
}
.spa-gallery .swiper-button-prev svg,
.spa-gallery .swiper-button-next svg{
    width: 3rem;
    height: 3rem;
}
.spa-gallery .swiper-button-prev svg path,
.spa-gallery .swiper-button-next svg path{
    stroke-width: 2.5;
}

@media(max-width:767px) {
    .spa-gallery {
        display: flex;
        flex-wrap: wrap;
        gap: 0;
    }

    .spa-gallery-item {
        content: "";
        position: relative;
        width: 100%;
        height: 0;
        overflow: hidden;
    }
    .spa-gallery-item, 
    .spa-gallery-item:first-child{
        padding-bottom:64%;
    }

    .spa-gallery:not(.swiper-initialized) .spa-gallery-item {
        display: none;
    }

    .spa-gallery:not(.swiper-initialized) .spa-gallery-item:first-child {
        display: block;
    }

    .spa-gallery-controls {
        display: block;
    }
}


@media (max-width: 768px) {
    .spa-gallery {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }

    .spa-gallery-item:first-child {
        aspect-ratio: auto;
        /* allow natural size on mobile */
        grid-row: auto;
    }
}

.spa-gallery .swiper-pagination {
    border-radius: 5rem;
    background: rgba(0, 0, 0, 0.85);
    color: #fff;
    font-size: 1.3rem;
    line-height: 1;
    position: absolute;
    padding: .8rem 1.2rem .6rem;
    bottom: 1.2rem;
    left: 50%;
    width: auto;
    display: inline-flex;
    transform: translateX(-50%);
}

@keyframes overlayfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes overlayfadeOut {
  from {
    opacity:1;
  }
  to {
    opacity: 0;
  }
}

@keyframes lightboxZoomIn {
  from {
    transform: scale(0.5);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes lightboxZoomOut {
  from {
    transform: scale(1);
    opacity: 1;
  }
  to {
    transform: scale(0.5);
    opacity: 0;
  }
}


.spa-gallery-lightbox {
    display: none;
    position: fixed;
    inset: 0;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    background: rgba(56, 86, 69, 0.85);
    -webkit-backdrop-filter: blur(25px);
    backdrop-filter: blur(25px);
}

.spa-gallery-lightbox.is-open {
    display: flex;
    height: 100%;
}
.spa-gallery-lightbox.is-open {
    animation: overlayfadeIn 1s ease;
}
.spa-gallery-lightbox.is-closing{
    animation: overlayfadeOut 1.2s ease;
}
.spa-gallery-lightbox.is-open .spa-gallery-lightbox-wrapper {
  animation: lightboxZoomIn .8s ease forwards;
}
.spa-gallery-lightbox.is-closing .spa-gallery-lightbox-wrapper {
  animation: lightboxZoomOut 0.6s ease forwards;
}

@media(max-width:767px) {
    .spa-gallery-lightbox {
        display: none !important;
    }
}

.spa-gallery-lightbox-wrapper {
    max-width: 68.8rem;
    position: relative;
    height: calc(100% - 6rem);
}

.spa-gallery-lightbox__images {

    height: 100%;
    overflow: auto;
    scrollbar-width: thin;
    scrollbar-color: #bbb transparent;
    padding-right: 0.2rem;
    position: relative;
}

.spa-gallery-lightbox__images .lightbox-video {
    content: "";
    position: relative;
    width: 100%;
    height: 0;
    overflow: hidden;
    padding-bottom: 56.25%;
}

.spa-gallery-lightbox__images .lightbox-video video,
.spa-gallery-lightbox__images .lightbox-video iframe {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    left: 0;
    top: 0;
}

.spa-gallery-lightbox__images img {
    width: 100%;
    display: block;
}

.spa-gallery-lightbox__images .lightbox-video,
.spa-gallery-lightbox__images img {
    margin-bottom: 0.8rem;
}

.spa-gallery-lightbox .spa-gallery-lightbox__close {
    width: 30px;
    height: 30px;
    opacity: 1;
    cursor: pointer;
    display: block;
    margin: 0;
    position: absolute;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
    z-index: 9;
    right: -5px;
    top: -15px;
    padding: 5px;
    background: #334639;
    border-radius: 2px;
}

.spa-gallery-lightbox .spa-gallery-lightbox__close:before {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.spa-gallery-lightbox .spa-gallery-lightbox__close:after {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.spa-gallery-lightbox .spa-gallery-lightbox__close:before,
.spa-gallery-lightbox .spa-gallery-lightbox__close:after {
    content: "";
    position: absolute;
    top: 6px;
    right: 14px;
    height: 17px;
    width: 2px;
    background-color: #ffffff;
}

/* Spa Details Info Card */
.endota-spa-block--info {
    padding: 3rem 2.5rem;
    border-radius: 4px;
    background-color: #fff;
    -webkit-box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.25);
    box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.25);
    position: sticky;
    top: calc(var(--header-bottom) + 2rem);
}
.is-sticky-after-header{
    position: sticky;
    top: calc(var(--header-bottom) + 2rem);
}
.endota-spa-block--info .spa-title {
    color: rgb(var(--color-primary));
    font-size: 2.5rem;
    line-height: 1.1;
    margin-bottom: 1rem;
    margin-right: 1.5rem;
}
.endota-spa-block--info .spa-info-item {
    font-size: 1.3rem;
    display: flex;
    align-items: flex-start;
    column-gap: 1.2rem;
    color: var(--color-primary);
    padding-bottom: 1.5rem;
}
.endota-spa-block--info .spa-info-item a:not(.spa_direction a){
    text-decoration: underline;
    text-underline-offset:2px ;
}
.spa-right .endota-spa-block--info summary.spa-info-item{
    padding-bottom: 0;
}
.spa-right .endota-spa-block--info .opening-hours-container .accordion-details__content{
    padding-top: 1.5rem;
}
.endota-spa-block--info .spa-info-item svg{
    min-width: 2rem;
}
.endota-spa-block--info .spa-info-item svg path{
    stroke:currentColor;
}
.endota-spa-block--info .spa-info-header {
    padding-bottom: 2.5rem;
    margin-bottom: 2rem;
    border-bottom: 1px solid #CBCBCB;
}
.endota-spa-block--info .spa-book-a-now {
    width: 100%;
}
.endota-spa-block--info .spa-info-item.spa_direction {
    color: #49A750;
    font-family: var(--font-heading-family);
}

.endota-spa-block--info .spa-info-item.spa_direction svg{
    position: relative;
    top: 0;
}

.endota-spa-block--info .spa-info-footer {
    display: flex;
    column-gap: 0.8rem;
    border-top: 1px solid #CBCBCB;
    padding-top: 2.5rem;
    margin-top: .5rem;
}
.endota-spa-block--info .spa-info-footer .btn {
    flex: 1;
    width: 100%;
}

.endota-spa-block--info .opening-hours-status-wrapper .icon-content svg:first-of-type{
    top:-.2rem;
    position: relative;
    margin-right: 1.2rem;
}

.endota-spa-block--info .opening-hours-container{
    font-size: 1.3rem;
    padding-bottom: 1.5rem;
}
.endota-spa-block--info .opening-hours-title{
    margin-bottom: 1rem;
}
.endota-spa-block--info .opening-hours-container .opening-hours-list li{
    margin-bottom: 1rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.endota-spa-block--info .opening-hours-container .opening-hours-list li span:nth-child(3n){
    min-width: 100%;
    color: #49A750;
}
.endota-spa-block--info .opening-hours-container .opening-hours-list li.today{
    font-family: var(--font-body-weight-bold);
}
.endota-spa-block--info .opening-hours-container .opening-hours-list li .has-note,
.endota-spa-block--info .opening-hours-container .opening-hours-list li .is-closed{
    color: #49A750;
}
.endota-spa-block--info .opening-hours-container .opening-hours-list li .is-closed{
    text-transform: uppercase;
    font-family: var(--font-body-weight-bold);
}
.endota-spa-block--info .opening-hours-container .opening-hours-list li.today .is-closed{
    color: rgb(var(--color-primary));
}
.endota-spa-block--info .accordion-details__content{
    padding-block-end:0
}
.endota-spa-block--info .opening-hours-container details[aria-expanded=true] .accordion-arrow{
    transform: rotate(180deg);
}
.endota-spa-block--info .status-label.closed{
    color: #e02b27;
}
.endota-spa-block--info .status-label.open{
    color: #49A750;
}


.endota-spa-block--info .holiday-message{
    padding: 1rem 1.5rem 0;
    border-radius: .5rem;
    border: 1px solid #e0e0e0;
}

.endota-spa-block--info .holiday-message .holiday-heading{
    font-size: 1.5rem;
    border-bottom: 1px solid #e0e0e0;
    padding-bottom: .5rem;
    margin-bottom: .5rem;
}
.endota-spa-block--info .holiday-preview-list li{
    display: flex;
    padding: .5rem 0;
}
.endota-spa-block--info .holiday-preview-list li .holiday-name{
    margin-right: 1.5rem;
}
.endota-spa-block--info .holiday-preview-list li .holiday-date{
    margin-left: auto;
    white-space: nowrap;
}

@media(min-width:768px) and (max-width:1200px) {
    .spa-right .endota-spa-block--info .spa-info-footer {
        display: block;
    }
    .spa-right .endota-spa-block--info .spa-info-footer .btn + .btn {
        margin-top: 0.8rem;
    }
}
@media(max-width:1200px) {
    .endota-spa-block--info {
        padding-inline: 1.5rem;
    }
}
@media(max-width:479px) {
    .endota-spa-block--info .spa-info-footer .btn {
        font-size: 1.3rem;
    }
}




/* Custom Dropdown */
.endota-dropdown {
    position: relative;
    font-family: inherit;
}

.endota-dropdown .dropdown-toggle {
    transition: 0.3s;
    text-transform: none;
    column-gap: 0;
    border-color: var(--color-primary);
}
.endota-dropdown .dropdown-toggle strong{
    font-weight: normal;
}
@media(max-width:479px) {
    .endota-dropdown .dropdown-toggle {
        padding-inline: 1rem;
        font-size: 1.2rem;
    }
}
.endota-dropdown .dropdown-toggle span {
    font-family: var(--font-body-family);
    margin-right: 0.5rem;
}
.endota-dropdown .dropdown-toggle:not(.just)::before {
    content: "";
    min-width: 2rem;
    min-height: 2rem;
    display: block;
    margin-right: 1.2rem;
    background-image: url("data:image/svg+xml,%0A%3Csvg width='21' height='20' viewBox='0 0 21 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.75 13.1241L14.875 16.2491L17.9999 13.1246' stroke='%23334639' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M14.875 8.74915V16.2491' stroke='%23334639' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4.25 9.99915H9.87492' stroke='%23334639' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4.25 4.99915H14.8749' stroke='%23334639' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4.25 14.9991H8.625' stroke='%23334639' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}
.endota-dropdown .dropdown-toggle::after {
    content: "";
    min-width: 1.1rem;
    min-height: 1.1rem;
    display: block;
    background-repeat: no-repeat;
    background-image: url("data:image/svg+xml,%0A%3Csvg width='11' height='7' viewBox='0 0 11 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.1036 0.350792C10.2988 0.546054 10.2988 0.862561 10.1036 1.05782L5.12504 6.03634L0.146522 1.05782C-0.0487395 0.862561 -0.0487394 0.546054 0.146523 0.350792C0.341784 0.15553 0.658292 0.15553 0.853554 0.350792L5.12504 4.62228L9.39652 0.350792C9.59178 0.15553 9.90829 0.15553 10.1036 0.350792Z' fill='%23395542'/%3E%3C/svg%3E%0A");
    background-size: contain;
    background-position: center center;
    margin-left: 1.2rem;
    transition: 0.2s;
    position: relative;
    top: -.1rem;
}
.endota-dropdown.open .dropdown-toggle::after {
    transform: rotate(180deg);
    top: -.2rem;
}
.endota-dropdown.open .caret {
    transform: rotate(180deg);
    transition: transform 0.3s;
}

.endota-dropdown .custom-options {
    list-style: none;
    margin: 0;
    padding: 0.6rem 2rem;
    background: #fff;
    border: 1px solid rgb(var(--color-primary));
    border-radius: 16px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    width: 28rem;
    margin-top: 1.5rem;
}

.endota-dropdown .custom-options li {
    padding: 0.8rem 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    font-size: 1.4rem;
    transition: 0.2s;
}
.endota-dropdown .custom-options li:not(:last-child) {
    border-bottom: 1px solid #F4F2F4;
}
.endota-dropdown .custom-options li:hover:not(.active) {
    padding-left: 1rem;
}

.endota-dropdown .custom-options li.active {
    font-family: var(--font-body-weight-bold);
}
.endota-dropdown .custom-options li.active::after {
    content: "";
    width: 1.5rem;
    height: 1rem;
    display: block;
    margin-left: 1rem;
    font-weight: normal;
    background-image: url("data:image/svg+xml,%0A%3Csvg width='15' height='10' viewBox='0 0 15 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.804 0.184545C14.0501 -0.0614841 14.4491 -0.0615461 14.6952 0.184545C14.9412 0.430645 14.9412 0.829644 14.6952 1.07574L5.77092 10L0.934584 5.16367C0.688466 4.91755 0.688478 4.5186 0.934584 4.27247C1.18071 4.02635 1.57966 4.02635 1.82578 4.27247L5.77092 8.21761L13.804 0.184545Z' fill='%23395542'/%3E%3C/svg%3E%0A");
}
.endota-dropdown .dropdown-toggle.btn--secondary:hover {
    color: rgb(var(--color-primary)) !important;
    background-color: white !important;
}

/* New Content Alignment Setting */
.content-overlay--low-bottom-left{
    align-items: flex-start;
    justify-content: flex-end;
}
.content-overlay.content-overlay--low-bottom-left>.rich-text{
    padding-bottom: 2rem;
}



/* 
---------------------------------------------------------
---------------------------------------------------------
Treatment Details
---------------------------------------------------------
---------------------------------------------------------
 */


/* Treatment main layout */
.treatment-product-main{
    display: flex;
    flex-wrap: wrap;
}
.treatment-product-main .right-block{
    flex: 1;
    order:2;
    width: 70%;
    padding-left: 6rem;
}
.treatment-product-main .left-block{
    width: 30%;
    order:1;
}

@media(max-width:1023px){
    .treatment-product-main{
        flex-direction: column;
    }
    .treatment-product-main .left-block{
        display: none;
    }
    .treatment-product-main .right-block{
        width: 100%;
        padding-left: 0;
    }
}



.treatment-product .related-products .swiper-controls{
    position: static;
}
.treatment-product .related-products .swiper-controls .swiper-button-prev{
    left:0;
    margin-left: -1.2rem;
}
.treatment-product .related-products .swiper-controls .swiper-button-next{
    right:0;
    left: inherit;
    margin-right: -1.2rem;
}

@media(min-width:768px){
    .treatment-product .product-card .f-price .therapist-badge{
        display: block;
        margin-left: 0;
    }
}


@media(max-width:1279px){
    .treatment-product .related-products .swiper-controls .btn{
        top: 38%;
    }
}


/* Treatment Experience Slider */
.endota-experience-carousel-wrapper{
    overflow: hidden;
}
.endota-experience-carousel-wrapper .endota-experience-carousel{
    position: relative;
}
.endota-experience-carousel-wrapper .slider-controls--group .btn{
    z-index: 2;
    top: 50%;
}
.endota-experience-carousel-wrapper .slider-controls--group .btn.swiper-button-disabled{
    display: none;
}
.endota-experience-carousel-wrapper .experience-subheading{
    color: var(--color-primary);
    margin-bottom: 0;
}
.endota-experience-carousel-wrapper .experience-description{
    color: #999;
font-size:1.4rem;
}
.endota-experience-carousel-wrapper .swiper-pagination-numbered{
    color: #999;
    display: flex;
    align-items: center;
    height: 5rem;
    margin-top: 1.5rem;
    font-size: 2rem
}
.endota-experience-carousel-wrapper .swiper-pagination-numbered .pagination-dot.active{
    color: rgb(73, 167, 80);
    font-size: 2.5rem;
    font-family: var(--font-body-weight-bold);
}
.endota-experience-carousel-wrapper .swiper-pagination-numbered a{
    margin-right: 1rem;
    transition: .1s;
    min-width: 2.5rem;
}
.endota-experience-carousel-wrapper .swiper-pagination-numbered a:not(:first-child){
    margin-left: 1rem;
}


/* Treatment Accordion */
.treatment-product-main .treatment-accordion{
    margin-bottom: 5rem;
}
.treatment-product-main .treatment-accordion .accordion-details{
    border: 0
}
.treatment-product-main .treatment-accordion summary{
    border-bottom: 1px solid #e0e0e0;
}

.treatment-product-main .treatment-accordion summary .icon-arrow path{
    fill:rgb(var(--color-primary));
}
.treatment-product-main .treatment-accordion summary .icon-check-circle,.treatment-product-main .treatment-accordion summary .icon-plus-toggle{
    display: none;
}
.treatment-product-main .treatment-accordion summary .icon-arrow{
    width: 2rem;
    height: 2rem;
    transition: .2s;
}
.treatment-product-main .treatment-accordion details[aria-expanded=true] summary .icon-arrow{
    transform: rotate(180deg);
}
.treatment-product-main .treatment-accordion details[aria-expanded=true] summary .icon-arrow path{
    fill:rgb(73, 167, 80);
}
.treatment-product-main .treatment-accordion details[aria-expanded=true] summary{
    border-color:rgb(73, 167, 80);
}

.treatment-product-main .treatment-accordion details[aria-expanded=true] summary h2{
    color: rgb(73, 167, 80);
}
.treatment-product-main .treatment-accordion .accordion-details__content{
    padding:3rem 0;
}
.treatment-product-main .treatment-accordion .accordion-details__content p{
    color: #666;
}


/* Addon Booster Section */
.section--addons-boosters .section__header .section__description{
    margin-top: 0.5rem !important;
}
.addon-booster-slider {
  display:block; 
  margin-bottom: 4rem
}

.section--addons-boosters .addons-block .addons-heading,
.section--addons-boosters .boosters-block .boosters-heading{
    
    text-align: center;
}
.section--addons-boosters .addons-block .addons-heading{
    color:#49a750;
}
.section--addons-boosters .addons-block .addons-description,
.section--addons-boosters .boosters-block .boosters-description
{
    text-align: center;
    margin-bottom:1.5rem
}

.addons-block .addons-description p,
.boosters-block .boosters-description p{
    font-size:1.4rem;
     color:#666;
}

.addon-booster-slider{
    position: relative;
}

.addon-booster-slider .carousel-grid .addon-booster-media {
    min-width: 9rem!important;
    display: flex;
    justify-content: center;
}

.addon-booster-slider .carousel-grid .carousel-item{ 
    display:flex;
    align-items: center;
    padding:3rem 2rem;
    gap:2px;    
    border-radius:2.5rem;
    box-sizing: border-box;
}

.addon-booster-slider .carousel-grid .carousel-item 
.content-wrapper .addon-booster-title{ 
   font-size:1.5rem;
   color:#49a750;
   letter-spacing:0.03rem;
   text-wrap: balance;
}

.addon-booster-slider .carousel-grid .carousel-item 
.content-wrapper .addon-booster-description { 
   font-size:1.3rem;
   color:#666;
   margin-block : 0.6rem
}

.addon-booster-slider .swiper-controls .swiper-button-prev,
.addon-booster-slider .swiper-controls .swiper-button-next{
    --swiper-navigation-offset-x: -1.3rem;
    margin-top:0;
    transform: translatey(-50%)
}

.section--addons-boosters .view-all {
    text-align: center
}

div[id*=endota_treatment_addons_boosters] .section-divider{
   margin-top: 5rem;
}

/* Center cards If not a slider */
body .addon-booster-slider .carousel-wrap:not(.swiper-initialized) .carousel-grid {
    display: flex;
    justify-content: center;
}
body .addon-booster-slider .carousel-wrap:not(.swiper-initialized) .carousel-grid .carousel-item {
    max-width: 33.3%;
}
@media(max-width:1279px){
        body .addon-booster-slider .carousel-wrap:not(.swiper-initialized) .carousel-grid .carousel-item {
        max-width: 50%;
    }
}
@media(max-width:767px){
        body .addon-booster-slider .carousel-wrap:not(.swiper-initialized) .carousel-grid .carousel-item {
        max-width: 100%;
    }
}

/* Treatment Detail Banner */
/* body .treatment-banner #swym-atw-pdp-button{
    display: none !important;
} */
body .treatment-banner .swym-button.swym-add-to-wishlist-view-product.swym-heart,
body .treatment-banner #swym-atw-pdp-button {
    margin-left: 2rem;
    filter: brightness(0) invert(1);
}
body .treatment-banner .swym-button.swym-add-to-wishlist-view-product.swym-heart.swym-added{
    opacity: 1;
}
.treatment-banner .spa-label {
    margin-top: .5rem;
    color: #fff;
}
.treatment-banner .rich-text__heading-font-active{
    color: white;
}
.treatment-banner .rich-text__subheading{
    display: flex;
    align-items: center;
    font-size: 2rem;
    color: #fff;
}
.treatment-banner .rich-text__subheading svg{
    margin-right: .5rem;
    position: relative;
    top: -.2rem;
}
.treatment-banner  .treatment-header-buttons {
    display: flex;
    flex-wrap: wrap;
    margin-top: 2rem;
}

.treatment-banner .product-variant-display {
    margin-top: 2rem;
    margin-bottom: 1.5rem;
}

.treatment-banner .product-variant-display .variant-display-container {
    --buttons-height: 4rem;
    display: flex;
    flex-wrap: wrap;
    column-gap: 1rem;
}
.treatment-banner .product-variant-display .variant-display-container .variant-buttons{
    margin-bottom: 1rem;
}
.treatment-banner .product-variant-display .variant-display-container .btn {
    min-width: 12rem;
}

.treatment-banner .treatment-header-buttons .btn {
    padding-inline: 7rem;
}
.treatment-banner .treatment-header-buttons .btn.btn--outline:hover path{
    stroke: currentColor;
}
.treatment-banner .treatment-header-buttons .btn--secondary {
    border: 0;
}

.treatment-banner  .content-overlay--low-bottom-left {
    align-items: flex-start;
    justify-content: flex-end;
}
.treatment-banner video, 
.treatment-banner img{
    object-fit: cover;
}
.treatment-banner  .content-overlay.content-overlay--low-bottom-left>.rich-text {
    padding-bottom: 2rem;
}
.treatment-header-buttons {
        margin: 0 -.5rem;
    }
.treatment-header-buttons motion-element {
        padding: 0 0.5rem;
    }
    
@media(max-width:1023px) {
    body .treatment-banner .swym-button.swym-add-to-wishlist-view-product.swym-heart {
        top: 0.3rem;
    }
}

@media(max-width:767px) {
    .treatment-banner .rich-text>div {
        justify-content: space-between;
    }

    .treatment-banner .content-overlay.content-overlay--low-bottom-left>.rich-text {
        width: 100%;
        padding-bottom: 0;
    }

    .treatment-banner .product-variant-display .variant-display-container {
        width: 100%;
    }

    .treatment-header-buttons motion-element {
        flex: 1;
        width: 50%;
        padding: 0 0.5rem;
    }

    .treatment-header-buttons motion-element:only-child {
        min-width: 100%;
    }

    .treatment-header-buttons .btn {
        width: 100%;
    }
}


/* Treatment Booking Card */
.treatment-booking-card{
    position: relative;
    width: 100%;
    border-radius: 2rem;
    border: 1px solid #D5D0C4;
    background: #F2F0EC;
    padding: 4.8rem  2.4rem;
    box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.25);
    position: sticky;
    top: calc(var(--header-bottom) + 2rem);
}

.treatment-booking-card .title-wishlist{
    display: flex;
    align-items:flex-start;
    margin-bottom: 1rem;
}

.treatment-booking-card .title-wishlist .variant-wishlist-icon{
    order: 2;
    margin-left: 2rem;
}

.treatment-booking-card .title-wishlist .variant-wishlist-icon .swym-heart{
    top: 1.6rem;
}

.treatment-booking-card .duration-spa-wrapper{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.treatment-booking-card .treatment-booking-card-title{
    font-size: 4rem;
}
@media(max-width:1279px){
  .treatment-booking-card .treatment-booking-card-title{
    font-size: 2.4rem;
}  
}
.treatment-booking-card .treatment-booking-card-duration{
    display: flex;
    align-items: center;
    font-size:1.6rem;
    margin-bottom: 1.5rem;
}

.treatment-booking-card .treatment-booking-card-duration svg{
    top: -.2rem;
    position: relative;
    margin-right: .5rem;
}

.treatment-booking-card .treatment-booking-card-actions .btn{
    width: 100%;
}

.treatment-booking-card .treatment-booking-card-actions .is-gift-button{
    background-color: unset;
}

.treatment-booking-card .treatment-booking-card-actions .is-gift-button svg path{
    stroke: currentColor;
}

.treatment-booking-card .treatment-booking-card-actions .btn + .btn{
    margin-top: 1.5rem;
}



/* 
---------------------------------------------------------
---------------------------------------------------------
Treatment Listing
---------------------------------------------------------
---------------------------------------------------------
 */

.treatment-tab-content {
     display: none;
 }

 .treatment-tab-content.active {
     display: block;
 }

 .endota-treatment-tabs-wrapper {
     display: flex;
     flex-wrap: wrap;
     column-gap: 2rem;
 }

 .endota-treatment-tabs-wrapper .treatment-left-column {
     width: 20rem;
 }

 .endota-treatment-tabs-wrapper .treatment-hero-image-column {
     flex: 1;
     position: relative;
 }

 
  .endota-treatment-tabs-wrapper .treatment-hero-image-column img {
     position: sticky;
     top: calc(var(--header-bottom) + 2rem);
     border-radius: 1rem;
     width: 100%;
 }

  .endota-treatment-tabs-wrapper .treatment-right-column {
     flex: 1;
 }

 .endota-treatment-tabs-wrapper .treatment-tabs {
     position: sticky;
     top: calc(var(--header-bottom) + 2rem);
     padding-bottom: 1.5rem;
 }

 .endota-treatment-tabs-wrapper .treatment-tabs .treatment-tab-block {
     display: block;
     padding: 1rem 0;
     font-size: 2rem;
     text-transform: lowercase;
     cursor: pointer;
     white-space: nowrap;
     color: #666;
 }

 .endota-treatment-tabs-wrapper .treatment-tabs .treatment-tab-block.active {
     color: rgb(73, 167, 80);
 }


@media(max-width:1023px) {
     .endota-treatment-tabs-wrapper {
         flex-direction: column;
     }

     .endota-treatment-tabs-wrapper .treatment-left-column {
         width: 100%;
         overflow: auto;
         padding-top: 1.5rem;
         margin-bottom: 2rem;
         border-bottom: 1px solid #e0e0e0;
         position: sticky;
         top: calc(var(--header-bottom));
         background-color: white;
         z-index: 2;
         transition: .2s;
     }

      .endota-treatment-tabs-wrapper .treatment-tabs {
         display: flex;
          flex-wrap: nowrap;
          
     }

      .endota-treatment-tabs-wrapper .treatment-tabs .treatment-tab-block {
            margin: 0 .5rem;
            border-radius: 5rem;
            padding: 1rem 2rem;
            font-size: 1.6rem;
            transition: .2s;
            font-family: var(--font-body-weight-bold);
            background-color: #f4f2f4;
     }
      .endota-treatment-tabs-wrapper .treatment-tabs .treatment-tab-block.active{
         background-color: rgb(73, 167, 80);
         color: white;
     }
 }


 /*  Know About */
 .endota-treatment-tabs-listing .know-about {
     display: block;
     padding: 1.6rem;
     background: #F4F2F4;
     border-radius: 1rem;
     margin-bottom: 2.4rem;
 }

 .endota-treatment-tabs-listing .know-about .accordion-details {
     border-radius: 0;
 }

 .endota-treatment-tabs-listing .know-about .accordion-details .accordion-details__summary .icon-arrow {
     width: 2rem;
     height: 2rem;
     transition: .2s;
 }

 .endota-treatment-tabs-listing .know-about .accordion-details .accordion-details__summary .icon-arrow path {
     fill: rgb(var(--color-primary))
 }

 .endota-treatment-tabs-listing .know-about .accordion-details[aria-expanded=true] .accordion-details__summary .icon-arrow {
     transform: rotate(180deg);
 }

 .endota-treatment-tabs-listing .know-about .accordion-details__summary {
     padding: 0;
     border-radius: 0;
 }

 .endota-treatment-tabs-listing .know-about .accordion-details__summary h3 {
     font-size: 1.4rem;
 }

 .endota-treatment-tabs-listing .know-about .accordion-details {
     border: 0;
 }

 .endota-treatment-tabs-listing .know-about .accordion-details__content {
     padding-top: 2rem;
 }

 .endota-treatment-tabs-listing .know-about .accordion-details__content ul {
     list-style: none;
     padding-left: 1.5rem;
     ;
 }

 .endota-treatment-tabs-listing .know-about .accordion-details__content ul li {
     position: relative;
     padding-left: 2rem;
     font-size: 1.4rem;
 }

 .endota-treatment-tabs-listing .know-about .accordion-details__content ul li:not(:last-child) {
     margin-bottom: 1rem;
 }

 .endota-treatment-tabs-listing .know-about .accordion-details__content ul li::before {
     content: "";
     width: .4rem;
     height: .4rem;
     display: block;
     background-color: rgb(var(--color-primary));
     border-radius: 100%;
     position: absolute;
     left: 0;
     top: .8rem;
 }

.treatment-collection-service-list .treatment-hero {
     position: relative;
 }

 @media(max-width:1023px) {
     .treatment-hero-image-column{
         display: none;
     }
    .treatment-collection-service-list .treatment-hero{
         border-radius: 2rem;
         overflow: hidden;
     }
     .treatment-collection-service-list .treatment-hero::before{
         content: "";
         position: absolute;
         left: 0;
         top: 0;
         width: 100%;
         height: 100%;
         background: #000;
background: linear-gradient(90deg, rgba(0, 0, 0, 0.20) 0%, rgba(0, 0, 0, 0) 50%);
     }
     .treatment-collection-service-list .treatment-hero img {
         width: 100%;
         max-height: 30rem;
         object-fit: cover;
     }

    .treatment-collection-service-list .treatment-hero h2 {
         position: absolute;
         left: 2rem;
         bottom: 2rem;
         color:white;
     }
 }

 @media(min-width:1024px) {
     .treatment-collection-service-list .treatment-hero img {
         display: none;
     }
 }

 .treatment-collection-service-list .collection-description p {
     font-size: 1.4rem;
 }

 .treatment-services .treatment-card {
     padding: 2rem 0;
     background: #fff;
 }
.treatment-services .treatment-card:not(:last-child){
    border-bottom: 1px solid #e5e5e5;
}
.treatment-services .treatment-card .treatment-title-duration{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    color: #666;
    font-size: 1.4rem;
    margin-bottom: 0.5rem;
}

 .treatment-services .treatment-card .treatment-title {
     flex: 1;
 }

 .treatment-services .treatment-card .treatment-duration {
     display: flex;
     align-items: center;
     margin-left: 2rem;
 }

 .treatment-services .treatment-card .treatment-duration svg {
     position: relative;
     top: -.2rem;
     margin-right: .5rem;
 }

 .treatment-services .treatment-card .treatment-feature {
     padding-block: 1rem;
 }

 .treatment-services .treatment-card .treatment-feature ul li {
     background-color: #F5F5F5;
     display: inline-block;
     padding: .2rem .8rem;
     margin-right: .8rem;
     border-radius: .5rem;
     font-size: 1.4rem;
 }

 .treatment-services .treatment-card h3 {
     font-size: 1.6rem;
     font-weight: 600;
 }

.treatment-services .treatment-card .description {
     font-size: 1.4rem;
     margin-bottom: 1rem;
    margin-top: 0;
 }

.treatment-services .treatment-card .treatment-detials {
     display: flex;
     align-items: center;
 }

.treatment-services .treatment-card .treatment-detials .treatment-booking-btn {
     margin-left: 1rem;
 }

 
.treatment-services .treatment-card .treatment-action a.learn-more {
     color: #48A345;
     text-decoration: underline;
     text-underline-offset: .3rem;
}


@media(min-width:768px){
    .treatment-services .treatment-card .treatment-title{
        margin-bottom:0;
    }
    .treatment-services .treatment-card .treatment-duration{
        margin-left:0;
    }
}


/* 
---------------------------------------------------------
---------------------------------------------------------
Gift Card Product Form
---------------------------------------------------------
---------------------------------------------------------
 */
#custom-amount::-webkit-outer-spin-button,
#custom-amount::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;

}
.gift-card-amounts {
    margin-bottom: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}
.gift-card-custom .form-control {
    display: flex;
    align-items: center;
    width: 250px;
}
.gift-card-custom p {
    font-style: italic;
}
.gift-card-selector .gift-card-custom #custom-amount {
    flex: 1;
    margin-left: 10px;
    height: 4.8rem;
    border: 0;
    font-family: var(--font-body-family);
    font-size: var(--font-body-size);
    background-color: transparent;
}
.gift-card-selector .gift-card-custom #custom-amount:focus-visible {
    outline: none;
}
.giftcard-date-picker .date-options .date-option{
    flex:1
}

.giftcard-form .date-note{
    font-size: 1.3rem;
    color: #adadad;
    font-style: italic;
    margin-bottom: 0;
}

@media(max-width:479px){
    .giftcard-date-picker .date-options .date-option{
        flex: auto;
    }
}

.giftcard-form .email-match-note{
    font-style: italic;
    margin-top: .5rem;
    color: #999;
}

.giftcard-delivery-info{
    font-size: 1.2rem;
}

/* 
---------------------------------------------------------
---------------------------------------------------------
FInd a Spa
---------------------------------------------------------
---------------------------------------------------------
 */
.spa-search-box {
    padding: 2rem 0;
    border-bottom: 1px solid #e0e0e0;
}

.spa-input-wrapper {
    margin: 0 auto;
}
@media(max-width:1023px){
    .spa-input-wrapper {
    min-width: 100%;
}
}

.spa-search-box .spa-input-fields [type="submit"] svg {
    width: 2rem;
    height: 2rem;
}

.spa-search-box .spa-input-fields [type="submit"] svg path {
    stroke: currentColor;
}

.spa-search-box .spa-input-with-icon {
    position: relative;
    border: 1px solid #e0e0e0;
    border-radius: 5rem;
    height: 4.8rem;
    display: flex;
    align-items: center;
    padding: 0 1rem;
    flex: 1;
}

.spa-search-box .spa-suggestions {
    position: absolute;
    top:4.8rem;
    left:4.4rem;
    width:calc(100% - 5.5rem);
    max-height:40vh;
    overflow: auto;
    background-color: rgb(255,255,255);
    box-shadow: 0 4px 35px 0 #00000026;
    z-index:9;
}
.spa-search-box .spa-suggestions .spa-suggestion-item {
    padding: 1.4rem 1.6rem;
    cursor: pointer;
    border-bottom: 1px solid rgb(242,240,236);
}
.spa-search-box .spa-suggestions .spa-suggestion-item:hover{
    background-color:rgb(242,240,236);
}

.spa-search-box .spa-suggestions #use-my-location.spa-suggestion-item{
    display: flex;
     font-family: var(--font-body-weight-bold);
    text-transform: lowercase;
    padding-block:2.5rem;
}
.spa-search-box .spa-suggestions #use-my-location.spa-suggestion-item::before{
    content: "";
    display: inline-flex;
    margin-right: 1rem;
    background-image: url("data:image/svg+xml,%3Csvg width='25' height='24' viewBox='0 0 25 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cmask id='mask0_9624_2063' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='0' y='0' width='25' height='24'%3E%3Crect x='0.5' width='24' height='24' fill='%23D9D9D9'%3E%3C/rect%3E%3C/mask%3E%3Cg mask='url(%23mask0_9624_2063)'%3E%3Cpath d='M11.7498 21.45V20.4693C9.66647 20.2551 7.91264 19.4359 6.4883 18.0115C5.06397 16.5872 4.24472 14.8334 4.03055 12.75H3.0498C2.8373 12.75 2.65922 12.6781 2.51555 12.5343C2.37172 12.3905 2.2998 12.2123 2.2998 11.9998C2.2998 11.7871 2.37172 11.609 2.51555 11.4655C2.65922 11.3219 2.8373 11.25 3.0498 11.25H4.03055C4.24472 9.16672 5.06397 7.41288 6.4883 5.98855C7.91264 4.56421 9.66647 3.74496 11.7498 3.5308V2.55005C11.7498 2.33755 11.8217 2.15947 11.9656 2.0158C12.1094 1.87197 12.2876 1.80005 12.5001 1.80005C12.7127 1.80005 12.8908 1.87197 13.0343 2.0158C13.178 2.15947 13.2498 2.33755 13.2498 2.55005V3.5308C15.3331 3.74496 17.087 4.56421 18.5113 5.98855C19.9356 7.41288 20.7549 9.16672 20.9691 11.25H21.9498C22.1623 11.25 22.3404 11.322 22.4841 11.4658C22.6279 11.6096 22.6998 11.7878 22.6998 12.0003C22.6998 12.213 22.6279 12.391 22.4841 12.5345C22.3404 12.6782 22.1623 12.75 21.9498 12.75H20.9691C20.7549 14.8334 19.9356 16.5872 18.5113 18.0115C17.087 19.4359 15.3331 20.2551 13.2498 20.4693V21.45C13.2498 21.6625 13.1779 21.8406 13.0341 21.9843C12.8902 22.1281 12.7121 22.2 12.4996 22.2C12.2869 22.2 12.1088 22.1281 11.9653 21.9843C11.8216 21.8406 11.7498 21.6625 11.7498 21.45ZM12.4998 19C14.4331 19 16.0831 18.3167 17.4498 16.95C18.8165 15.5834 19.4998 13.9334 19.4998 12C19.4998 10.0667 18.8165 8.41672 17.4498 7.05005C16.0831 5.68338 14.4331 5.00005 12.4998 5.00005C10.5665 5.00005 8.91647 5.68338 7.5498 7.05005C6.18314 8.41672 5.4998 10.0667 5.4998 12C5.4998 13.9334 6.18314 15.5834 7.5498 16.95C8.91647 18.3167 10.5665 19 12.4998 19ZM12.4998 15.5C11.5373 15.5 10.7134 15.1573 10.0281 14.4718C9.34255 13.7865 8.9998 12.9625 8.9998 12C8.9998 11.0375 9.34255 10.2136 10.0281 9.5283C10.7134 8.8428 11.5373 8.50005 12.4998 8.50005C13.4623 8.50005 14.2862 8.8428 14.9716 9.5283C15.6571 10.2136 15.9998 11.0375 15.9998 12C15.9998 12.9625 15.6571 13.7865 14.9716 14.4718C14.2862 15.1573 13.4623 15.5 12.4998 15.5ZM12.4998 14C13.0498 14 13.5206 13.8042 13.9123 13.4125C14.304 13.0209 14.4998 12.55 14.4998 12C14.4998 11.45 14.304 10.9792 13.9123 10.5875C13.5206 10.1959 13.0498 10 12.4998 10C11.9498 10 11.479 10.1959 11.0873 10.5875C10.6956 10.9792 10.4998 11.45 10.4998 12C10.4998 12.55 10.6956 13.0209 11.0873 13.4125C11.479 13.8042 11.9498 14 12.4998 14Z' fill='%232B6229'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");
    width: 2.5rem;
    height: 2.5rem;
}

.spa-search-box .spa-input-with-icon .location-icon {
    align-self: center;
    max-height: 2.5rem;
    position: relative;
}

/* Removed as per request */
/* .spa-search-box .spa-input-with-icon .location-icon::after {
    display: block;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translatey(-50%);
    content: "";
    height: 1.2rem;
    width: 1px;
    background-color: rgba(var(--color-primary));
} */

.spa-search-box .spa-input-with-icon #spa-location-input {
    flex: 1;
    height: 100%;
    padding: 0 4rem 0 1rem;
    border: 0;
    outline: none;
    background: none;
    font-family: var(--font-body-family);
    color: rgb(var(--color-primary));
    font-size: 1.6rem;
}

.spa-search-box .spa-input-with-icon #spa-location-input::placeholder {
    opacity: 0.6;
    color: rgb(var(--color-primary));
}

.spa-search-box #spa-clear-text{
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    display: block;
    color: rgb(153, 153, 153);
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    user-select: none;
}

@media(max-width:767px) {
    .spa-search-box .spa-input-fields [type=submit] {
        width: 100%;
    }
    .spa-search-box .spa-input-with-icon {
        margin-bottom: 1.5rem;
    }
    .spa-search-box .spa-input-fields [type=submit] svg {
        width: 2.5rem;
        height: 2.5rem;
    }
}
@media(min-width:768px) {
    .spa-search-box .spa-input-fields {
        display: flex;
    }
    .spa-search-box .spa-input-fields [type=submit] {
        margin-left: 1.5rem;
    }
}

#spaNoResultsMessage {
    padding-block-start: 2rem;
    margin-top: 2rem;
    min-height: 10rem;
    border-top: 1px solid #e0e0e0;
}

#spa-results-map-wrapper {
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px solid #e0e0e0;
}
#spa-results-map-wrapper.is-hidden{
    display: none;
}
#spa-results-map-wrapper #spa-map {
    flex: 1;
}

#spa-results-map-wrapper .map-left-column {
    min-width: 40%;
    max-width: 40%;
    padding-left: calc(var(--page-padding));
}

#spa-loading-container{
    padding: 2rem;
    text-align: center;
    border-bottom: 1px solid #e0e0e0;
}

@media(max-width:1023px) {
    #spa-results-map-wrapper{
        flex-direction: column-reverse;
    }
    #spa-results-map-wrapper .map-left-column {
        min-width: 100%;
        max-width: 100%;
        padding-left: 0;
    }
    #spa-results-map-wrapper #spa-map.list-only-active{
        display: none !important;
    }
    #spa-results .spa-results-header{
        display: none;
    }
}


/* Map Popup */
body .maplibregl-popup .maplibregl-popup-content {
    padding: 3rem 2.4rem;
    font-size: 1.5rem;
    border-radius: 3rem;
    width: 100%;
    font-family: var(--font-body-family);
}
body .maplibregl-popup .maplibregl-popup-content .popup-header{
    margin-bottom:1.5rem;
    padding-right: 2rem;
}
body .maplibregl-popup .maplibregl-popup-content .popup-header .popup-spa-title{
    font-size: 2.4rem;
}
body .maplibregl-popup .maplibregl-popup-content .spa-popup-content .popup-close-btn {
    position: absolute;
    right: 3.5rem;
    top:3.5rem;
    cursor: pointer;
}
body .maplibregl-popup .maplibregl-popup-content .spa-popup-content .spa-info-item,
body .maplibregl-popup .maplibregl-popup-content .spa-popup-content .popup-opening-status {
    display: flex;
    align-items:flex-start;
    gap: 1rem;
    margin-bottom: .8rem;
    font-size: 1.3rem;
}
body .maplibregl-popup .maplibregl-popup-content .spa-popup-content .popup-opening-status.open span{
    color: #49A750;
}
body .maplibregl-popup .maplibregl-popup-content .spa-popup-content .popup-opening-status.closed span{
    color: #e02b27;
}
body .maplibregl-popup .maplibregl-popup-content .spa-popup-content .spa-info-item svg {
    min-width: 2rem;
    height: 2rem;
}
body .maplibregl-popup .maplibregl-popup-content .spa-popup-content .spa-info-item svg path{
    stroke:currentColor;
}
body .maplibregl-popup .maplibregl-popup-content .spa-popup-content .spa-info-item.spa_phone_number {
    text-decoration: underline
}
body .maplibregl-popup .maplibregl-popup-content .spa-popup-content .spa-info-item.spa_direction {
    color:#48A345;
    white-space: nowrap;
}
body .maplibregl-popup .maplibregl-popup-content .spa-popup-content .spa-info-footer {
    display: flex;
    gap: 1rem;
}
body .maplibregl-popup .maplibregl-popup-content .spa-popup-content .spa-info-footer .btn {
    width: 100%;
}

#spa-results {
    padding: 1.8rem 3rem 3rem;
    border-left: 1px solid #e0e0e0;
    height: 100%;
    height: 80vh;
    overflow: auto;
}

#spa-results .spa-results-header{
    margin-bottom: 1.8rem;
}
#spa-results .spa-results-header h4{
    margin-right: 2rem;
    font-size: 1.6rem;
}

#spa-results .endota-spa-block--info{
    border: 1px solid #e0e0e0;
    padding: 2rem;
    border-radius: 2rem;
    margin-bottom: 2rem;
    box-shadow:none;
    position: static;
    cursor: pointer;
}

#spa-results .endota-spa-block--info .spa-info-item{
    padding-bottom: .8rem;
}

#spa-results .endota-spa-block--info .location-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #e0e0e0;
    margin-bottom: 2rem;
}

#spa-results .endota-spa-block--info .location-header .spa-title{
    font-size: 2.8rem;
    margin-bottom: 0;
}


#spa-results .endota-spa-block--info .distance {
    font-size: 2rem;
    font-family: var(--font-body-weight-bold);
}

#spa-results .endota-spa-block--info  .location-features .feature-item{
    display: flex;
    align-items: center;
    font-size: 1.3rem;
    white-space: nowrap;
}
#spa-results .endota-spa-block--info  .location-features .feature-item + .feature-item{
    margin-top: .8rem;
}

#spa-results .endota-spa-block--info  .location-features .feature-item .feature-icon{
    max-width: 2rem;
    margin-right: 1rem;
}

#spa-results .endota-spa-block--info .spa-info-header{
    border-bottom: 0;
    padding-bottom: 0;
    margin-bottom: 0;
}

#spa-results .endota-spa-block--info .spa-info-footer{
    border-top: 0;
    padding-top: 0;
    margin-top: 1rem;
}

#spa-results .endota-spa-block--info .opening-hours-wrapper{
   margin-bottom: 2rem;
    border-bottom: 1px solid #e0e0e0;
}

#spa-results .endota-spa-block--info .opening-hours-container{
    padding-bottom: 0;
    
}
#spa-results .endota-spa-block--info .accordion-details__content{
    padding-block-end:2rem;
}

#spa-results .endota-spa-block--info.is-selected{
    border:2px solid rgb(73, 167, 80);
}

#spa-results .endota-spa-block--info details .opening-hours-status-wrapper, #spa-results .endota-spa-block--info details .icon-content {
    width: 100%;
}
#spa-results .endota-spa-block--info .accordion-arrow{
    margin-left:auto;
}

#use-my-location {
    cursor: pointer;
}
#spa-mobile-header{
    padding-block:1rem;
    padding-inline:var(--page-padding);
}
@media(min-width:1024px){
    #spa-mobile-header{
        display: none;
    }
}
@media(max-width:1023px) {
    #spa-results-map-wrapper .map-left-column {
        min-width: 100%;
        max-width: 100%;
        padding-left: 0;
    }

    #spa-results {
        border-left: 0;
        height: inherit;
        padding-block:0;
        padding-inline: var(--page-padding);
    }

    #spa-results-map-wrapper #spa-map {
        min-height: 60vh;
        margin-bottom: 3rem;
    }
}
@media(max-width:767px) {
    #spa-results .endota-spa-block--info  .location-features{
        display: flex;
        flex-wrap: wrap;
        gap:.8rem;
    }
    #spa-results .endota-spa-block--info  .location-features .feature-item + .feature-item{
    margin-top: 0;
}

}

/* Find a Spa Content Block */
.spa-content-block {
    background: #f2f0ec;
    padding-block: 8rem;
}

.spa-content-block .spa-content__block {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 2rem;
}
.spa-content-block .spa-content-block__description ol {
    list-style-type: decimal;
}
.spa-content-block .spa-content-block__description ol li:not(:last-child) {
    margin-bottom: 4rem;
}
.spa-content-block .spa-content-block__description ol h4 strong {
    display: block;
    font-size: 1.6rem;
    margin-bottom: 0.5rem;
    font-family: var(--font-body-weight-bold);
}

.spa-content-block .spa-content-block__description ol h4 {
    font-size: 1.6rem;
    font-weight: normal;
    font-family: var(--font-body-family);
}

@media(max-width:639px) {
    .spa-content-block {
        padding: 6rem 1.5rem;
    }
    .spa-content-block .spa-content-block__image,
    .spa-content-block .spa-content-block__description {
        width: 100%;
    }
    .spa-content-block .spa-content-block__title {
        margin-bottom: 2rem;
    }
    .spa-content-block .spa-content-block__description {
        padding-inline: 3.2rem;
    }
    .spa-content-block .spa-content-block__description ol h4 {
        font-size: 1.3rem;
    }
}

@media(min-width:768px) {
    .spa-content-block .spa-content-block__title {
        margin-bottom: 4.5rem;
    }
    .spa-content-block .spa-content__block .spa-content-block__image,
    .spa-content-block .spa-content__block .spa-content-block__description {
        max-width: calc(50% - 1rem);
        flex: 1;
        padding: 4rem 3.2rem;
    }
}



/* Globo Form Styling */
body .globo-formbuilder .globo-form-control input:-webkit-autofill, 
body .globo-formbuilder .globo-form-control input:-webkit-autofill:hover, 
body .globo-formbuilder .globo-form-control input:-webkit-autofill:focus, 
body .globo-formbuilder .globo-form-control input:-webkit-autofill:active, 
body .globo-formbuilder .globo-form-control select:-webkit-autofill, 
body .globo-formbuilder .globo-form-control select:-webkit-autofill:hover, 
body .globo-formbuilder .globo-form-control select:-webkit-autofill:focus, 
body .globo-formbuilder .globo-form-control select:-webkit-autofill:active{
    -webkit-background-clip: inherit !important;
}
.globo-form-app .header:before{
    display: none;
}

body .globo-form-control input,
body .globo-form-control textarea,
body .globo-form-control select {
    --gfb-rounded-radius: 5rem;
    outline: none;
    box-shadow: none;
    color: rgb(var(--color-field-text));
    background-color: rgb(var(--color-field));
    border: 1px solid rgb(var(--color-border));
    border-radius: var(--inputs-radius) !important;
    min-height: calc(var(--buttons-height) - var(--inputs-border-width) * 2);
    line-height: calc(var(--buttons-height) - var(--inputs-border-width) * 2);
    padding: 0 1.6rem;
    width: 100%;
    font-family: var(--font-body-family);
    font-weight: var(--font-body-weight);
    font-size: var(--font-body-size);
    transition: 0.3s all;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    vertical-align: middle;
}

body .globo-form-control textarea {
    --gfb-rounded-radius: 2rem;
}
body .globo-form-control.has-error {
    border: 0 !important;
}

body .globo-form-app.popup-layout {
    --gfb-rounded-radius: 5rem;
}
body .globo-form-app.popup-layout .header .title {
    font-size: 4rem;
    color: rgb(var(--color-primary));
}
body .globo-form-app.popup-layout .g-container {
    --gfb-form-padding: 3rem 5rem;
}
@media(max-width:767px) {
    body .globo-form-app.popup-layout .globo-form-row {
        flex-direction: column;
    }
}

body .globo-form-app.popup-layout .gfb__footer button {
    font-family: var(--font-body-weight-bold) !important;
}
body .globo-form-app.popup-layout .gfb__footer button:hover{
    background-color: white;
    color: rgb(var(--color-primary));
}



.globo-form-app.popup-layout.active {
    border-radius: 3rem;
    overflow-y: auto
}

.globo-form-app .header.dismiss svg {
    display: none;
}
.globo-form-app .header.dismiss {
    top: 1.5rem;
    min-height: inherit;
}
.globo-form-app .header.dismiss::after {
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' class='icon icon-close icon--medium' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='M18.75 5.13496L5.25 18.8544' stroke='%23395542' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3C/path%3E%3Cpath d='M18.75 18.8544L5.25 5.13496' stroke='%23395542' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3C/path%3E%3C/svg%3E");
    display: block;
    width: 24px;
    height: 24px;
    transition: transform 0.3s;
}
.globo-form-app .header.dismiss:hover::after {
    transform: rotate(180deg);
    transition: transform 0.3s;
}
.globo-form-app .message.success .gfb__content-title {
    padding: 1rem 4rem;
    text-wrap: balance;
    line-height: 1;
}
@media(max-width:767px) {
    .globo-form-app .dismiss {
        top: 2rem;
        right: 1.5rem;
    }

}

.globo-form-app::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
.globo-form-app::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background: rgba(41,41,41,0.05);
    -webkit-box-shadow: inset 0 0 6px rgb(0,0,0,0.8);
}
.globo-form-app::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0,0.5);
}


body .globo-form-app .iti__flag {
    display: block;
}
body .globo-form-app .iti__country-list {
    width: 24rem;
    white-space: wrap!important;
    border-radius: 1.5rem;
}
@media(min-width:640px) {
   body .globo-form-app .iti__country-list {
        min-width: 30rem;
        max-width: 100%;
    }
}

body .globo-form-app .iti__country {
    display: flex;
    align-items: flex-start;
    font-size: 1.3rem;
}
body .globo-form-app .iti__flag-box {
    margin-top:.3rem
}


body .globo-form-app .panels{
    z-index: unset;
}

/* 
---------------------------------------------------------
---------------------------------------------------------
Cart Page
---------------------------------------------------------
---------------------------------------------------------
 */
 .cart-template .cart__header{
    margin-bottom: 1.5rem;
 }
 .cart-template  .cart,
 .customer .customer__body{
     --color-border:224, 224, 224;
 }
 .cart-template  .cart-section {
    display: block;
    margin-bottom: 3rem;
}

.cart-template .cart .cart__form {
   margin-block-start: 0;
}
 .cart-template cart-items {
    padding: 3rem;
    border-radius: 2rem;
    border: 1px solid rgb(var(--color-border));
    display: block;
}
 .cart-template .cart-section .cart__footer-wrapper {
    padding: 3rem;
    border-radius: 2rem;
    border: 1px solid rgb(var(--color-border));
}

body .cart tbody tr:last-child{
    border-block-end: none;
}

.cart-template .cart-item__discounts .discount.multiline{
    white-space: wrap;
    border-radius: .7rem;
    border-left:.2rem solid #dd7575;
    line-height: normal;
    padding: .5rem;
}
@media(min-width: 1280px) {
    body .cart .cart__footer {
        margin-block-start: 0;
    }
     .cart-template .cart-section {
        display: flex;
    }

     .cart-template .cart-section .cart__form {
        flex: 1;
        padding-right: 5rem;
    }

     .cart-template  .cart-section .cart__footer-wrapper {
        position: sticky;
        top: calc(var(--header-bottom) + 2rem);
    }
}

@media (min-width: 768px) {
     .cart-template .cart-section .cart__footer {
        width: 50rem;
        align-items: flex-start;
    }

     .cart-template .cart-section .cart__footer-wrapper {
        min-width: 100%;
        max-width: 100%;
    }
}


.cart-template .cart-drawer-products-recommendation .cart-slider-controls {
    position: relative;
}

.cart-template .cart-drawer-products-recommendation .cart-slider-controls .swiper-controls {
    position: absolute;
    width: 100%;
    z-index: 2;
    top: 40%;
}

.cart-template .cart-drawer-products-recommendation .cart-slider-controls .swiper-controls .swiper-button-prev {
    left: -1rem;
}

.cart-template .cart-drawer-products-recommendation .cart-slider-controls .swiper-controls .swiper-button-next {
    right: -1rem;
}



.cart-empty-collection .custom-card{
    height:100%;
}
.cart-empty-collection .custom-card .custom-card__info{
    height:100%;
    justify-content: space-between;
        
}
.cart-empty-collection .custom-card .custom-card__info{
    height:100%;
    justify-content: space-between;
        
}
.cart-empty-collection .custom-card .custom-card__info .btn--icon-circle{
    flex-shrink: 0        
}

/* Cart Gift Item */
#CartDrawer .cart-item__options,
.order-details .item-options{
    overflow: hidden;
}
#CartDrawer .cart-item__options,
.cart .cart-item__options, 
.order-details .item-options{
    font-size: 1.2rem;
    color: #666;
    margin-bottom: 1rem;
    overflow-wrap: anywhere;
}
#CartDrawer .cart-item__option-value,
.cart .cart-item__option-value,
.cart .cart-item__option-name,
#CartDrawer .cart-item__options dt,
.cart .cart-item__options dt{
    font-size: 1.4rem;
}
#CartDrawer .item-options dd,
.cart .item-options dd, 
.order-details .item-options dd{
    float: left;
    margin-right: 1rem;
}
#CartDrawer .item-options,
.order-details .item-options,
.cart-template .cart .item-options{
    overflow: hidden;
}
.order-details .item-options > div,
.cart-template .cart .item-options > div{
    min-width: 100%;
}

.cart-template .cart-recommendations-wrapper h2, 
.cart-template .swymcs-custom-wishlist h2{
    margin-bottom: 2rem;
}

.cart-item .price--on-sale .price__regular,
.cart-item .price--on-sale .price__sale{
    font-size: 1.1em;
}
body .cart-item .price--on-sale .price__regular{
    color: rgb(51, 70, 57);
}


.cart-item .price--on-sale .price__sale{
    color: rgb(116, 172, 87);
    margin-left: .5rem;
}

.cart .cart-item .price--on-sale .price__sale{
    margin-left: 0;
}

.cart-item__discounts .discount{
    font-size: 1.2rem;
    text-wrap: nowrap;
}

.cart table thead tr th{
    padding-inline-end:3rem;
}
.cart table thead tr th.is-price{
    text-align: right;
}

/* Cart Page Wishlist */
body swym-carousel-container{
    overflow: visible;
    padding: 0 1.2rem;
}
body .swym-wishlistplus-themeapp-wishlist-container{
    padding: 0;
}
body .swym-wishlistplus-themeapp-wishlist-container .swym-wishlistplus-themeapp-container-header{
    justify-content: center; 
}
body .swym-wishlistplus-themeapp-wishlist-container .swym-wishlistplus-themeapp-wishlist-title{
    font-size: 1.8rem;
    text-transform: lowercase;
    font-family:var(--font-body-weight-bold);
    color: rgb(var(--color-primary));
    text-align: center;
}

body .swym-wishlistplus-themeapp-container-list{
    column-gap:2rem;
}

body div.swym-wishlistplus-themeapp-container-item .swym-engage-image-container{
    padding-bottom:124.88%;
    border-radius: var(--pcard-radius);
    overflow: hidden;
}
body .swym-wishlistplus-themeapp-wishlist-container .swym-engage-image-container img{
    width: 100%;
    object-fit: cover;
}
body .swym-wishlistplus-themeapp-container-item-button{
    background: white;
    color: rgb(var(--color-primary));
}
body .swym-wishlistplus-themeapp-container-item-button:hover{
    color: white;
    background: rgb(var(--color-primary));
}
body .swym-wishlistplus-themeapp-container-item-action-button > a, 
body .swym-wishlistplus-themeapp-container-item-action-button > div{
    font-size: 1.4rem;
    text-transform: lowercase;
    border-radius: var(--buttons-radius);
    font-family: var(--font-body-weight-bold);
    height: var(--buttons-height);
    display: flex;
    align-items: center;
    justify-content: center;
}
body .swym-wishlistplus-themeapp-container-item-button{
    border:1px solid rgb(var(--color-primary));
}

div.swym-wishlistplus-themeapp-container-item .swym-engage-product-link > .swym-engage-product-title{
    font-size: 1.7rem;
    color: #334639;
    text-transform: lowercase;
    font-family: var(--font-body-weight-bold);
    margin: 1rem 0;
}

div.swym-wishlistplus-themeapp-container-item .swym-engage-product-link > .swym-engage-price {
    font-size: 1.6rem;
    margin-top: auto;
    margin-bottom: 1rem;
}
div.swym-wishlistplus-themeapp-container-item .swym-engage-product-link > .swym-engage-price .is-bold{
    font-weight: normal;
}




/* Book a Treatment Modal */
#spa-modal-overlay {
    position: absolute;
    top: 100%;
    width: 100%;
    height: calc(100vh - (var(--header-bottom)));
    left: 0;
    display: none;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 100;
}
#spa-modal {
    background-color: #fff;
}
#spa-modal-content {
    position: relative;
    padding: 3rem 0;
}
.spa-tabs-content {
    position: relative;
    flex: 1;
}
.spa-tabs-content #spa-state-tabs button.active-tab {
    border-color: #48A345;
    font-family: var(--font-heading-family), sans-serif;
}
.spa-tabs-content #spa-state-tabs button {
    margin-bottom: -2px;
    border-radius: 0;
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
    cursor: pointer;
    display: block;
    padding: 0 0 12px;
    color: #334639;
    font-size: 16px;
    position: relative;
    border: none;
    text-transform: uppercase;
    background-color: transparent;
    border-bottom: 3px solid transparent;
    font-family: var(--font-body-family), sans-serif;
    text-align: center;
    box-shadow: none;
}
.spa-close-button {
    width: 3rem;
    height: 3rem;
    right: 0;
    top: 2rem;
    z-index: 3;
    cursor: pointer;
}

#spa-modal-content #spa-modal-summary p a {
    color: #48a345;
    text-decoration-line: underline;
}
#spa-state-tabs {
    display: flex;
    flex-wrap: wrap;
    padding-left: 0;
    list-style: none;
    gap: 5px 16px;
    padding-right: 30px;
    border-bottom: 1px solid #EEE;
    margin-bottom: 20px;
}
#spa-modal-content .spa-tabs-content #spa-content {
    display: grid;
    gap: 12px 16px;
    overflow-y: auto;
    padding-bottom: 1.2rem;
    padding-right: 1rem;
    max-height: min(470px, calc(100vh - 20rem));
    align-content: start;
}

#spa-modal-content .spa-tabs-content .spa-content-icon svg {
    width: 16px;
    height: 16px;
}

#spa-modal-content .spa-tabs-content .spa-content-icon svg path,
.spa-content-location .spa-content-arrow .booking-menu-spa-arrow-hover path {
    stroke: #48A345;
}

#spa-modal-content .spa-tabs-content .spa-content-location {
    border-radius: 2px;
    border: 1px solid #F4F2F4;
    background: #FFF;
    display: flex;
    padding: 2rem 1.2rem;
    font-size:1.25rem;
    align-items: center;
    gap: 12px;
    transition: all 300ms ease-out;
    position: relative;
    height: 100%;
}

#spa-modal-content .spa-tabs-content .spa-content-location.disabled-location {
    background-color: #f4f2f2;
}
#spa-modal-content .spa-tabs-content .spa-content-location.disabled-location .spa-content-unavailable{
    margin-left:auto;
    font-size: 1.04rem;
    text-decoration: underline;
    text-underline-offset: 2px;
}


#spa-modal-content .spa-tabs-content .spa-content-location.disabled-location .spa-content-icon > svg,
#spa-modal-content .spa-tabs-content .spa-content-location.disabled-location .spa-content-name{
    opacity: 0.5;
}
#spa-modal-content .spa-tabs-content .spa-content-location:hover {
    background-color: #f4f2f4;
}
.spa-content-location .spa-content-arrow {
    margin-left: auto;
    width: 2.8rem;
    min-width: 2.8rem;
    height: 1.6rem;
    overflow: hidden;
    position: relative;
}

.spa-content-location .spa-content-arrow .booking-menu-spa-arrow-hover {
    position: absolute;
    left: -1.6rem;
    top: 0;
    transition: all 300ms ease-out;
}
.spa-content-location:hover .spa-content-arrow .booking-menu-spa-arrow-hover {
    left: -2px;
}
#spa-modal-content .spa-tabs-content #spa-content::-webkit-scrollbar {
    width: .6rem;
    height: .6rem;
}
#spa-modal-content .spa-tabs-content #spa-content::-webkit-scrollbar-thumb {
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.05);
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.15);
}
#spa-modal-content .spa-tabs-content #spa-content::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.05);
}

@media(max-width : 1023px) {
    #spa-modal-content .spa-tabs-content #spa-content {
        grid-template-columns: 1fr 1fr;
    }
}

@media(max-width : 767px) {
    #spa-modal-content .spa-tabs-content #spa-content {
        grid-template-columns: 1fr;
        
    }
}
@media(min-width : 1024px) {
    .spa-close-button {
        top: 2.8rem;
    }
    #spa-modal-content {
        display: flex;
        gap: 3rem;
        padding: 2.8rem 0;
    }
    .spa-tabs-header {
        max-width: 30rem;
    }
    #spa-modal-content .spa-tabs-content #spa-content {
        grid-template-columns: 1fr 1fr 1fr;
        max-height:calc(100vh - 30rem);
    }

}



/* Product page Notify Me */
body #swym-reminder-email-header {
  display: none;
}
body .swym-isa-inline-form {
  padding: 2rem 2.4rem;
}

body .swym-remind-me {
  padding: 0;
}
body .swym-remind-me p.swym-remind-description.swym-sbisa-v2 {
  margin-top: 0 !important;
  margin-bottom: 1rem;
}
body .swym-isa-inline-form {
  border-radius: 2rem;
  border-color: rgb(var(--color-primary));
}

body .swym-remind-me input.swym-input {
  outline: none;
  box-shadow: none;
  color: rgb(var(--color-field-text));
  background-color: rgb(var(--color-field));
  border: 1px solid rgb(var(--color-border));
  border-radius: var(--inputs-radius);
  height: var(--buttons-height) !important;
  line-height: calc(
    var(--buttons-height) - var(--inputs-border-width) * 2
  ) !important;
  padding: 0 1.6rem;
  width: 100%;
  font-family: var(--font-body-family);
  font-weight: var(--font-body-weight);
  font-size: var(--font-body-size) !important;
  transition: 0.3s all;
  appearance: none;
  vertical-align: middle;
}

body #swym-remind-email-auth-button {
  --color-border: var(--color-button);
  background: rgb(var(--color-button));
  color: rgb(var(--color-button-text));
  border: 0;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0 var(--buttons-gap, 0.6rem);
  cursor: pointer;
  transition: 0.3s all;
  white-space: nowrap;
  border-radius: var(--buttons-radius, 0);
  padding: 0 var(--buttons-padding);
  height: var(--buttons-height);
  line-height: 30px;
  font-family: var(--font-button-family);
  font-weight: var(--font-button-weight);
  letter-spacing: var(--buttons-letter-spacing, 0);
  text-transform: lowercase;
  box-sizing: border-box;
}
body #swym-remind-email-auth-button:hover {
  background: rgb(var(--color-background)) !important;
  border: 1px solid rgb(var(--color-primary)) !important;
  color: rgb(var(--color-primary)) !important;
}

body .swym-isa-inline-form .swym-remind-email-inputs.swym-input-and-error-container.has-error
{   
    border:0 !important;
}
body .swym-isa-inline-form .swym-remind-me .swym-validation-error-msg {
    all: unset;
    margin-top:0.8rem;
    font-size: 1.1rem;
    line-height: 1.2;
    color: #e02b27;
}



/* 
---------------------------------------------------------
---------------------------------------------------------
Account Page Styling
---------------------------------------------------------
---------------------------------------------------------
 */

.account-tab-content {
    display: none;
}
.account-tab-content.active {
    display: block;
}

.swymcs-hide-container {
    display: none;
}

#swymcs-wishlist-loader {
    text-align: center;
}

.customer.account .customer__body{
    flex-wrap: wrap;
 }
.customer.account .customer__sidebar {
    align-self: unset;
    align-items: flex-start;
    max-width: 25rem;
    flex: auto;
}
.customer.account .customer__content{
    width: calc(70% - 3rem);
}


.customer.account .customer__content .account-dynamic-content{
    padding: 3rem;
    border-radius: 2rem;
    border: 1px solid rgb(var(--color-border));
}
.customer.account .customer__content .account-carousel{
    margin-bottom: 2rem;
    border-radius: 2rem;
    overflow: hidden;
}
@media(max-width:1279px){
    .customer.account .customer__body{
        flex-direction: column;
        gap: unset;
    }
    .customer.account .customer__sidebar,
    .customer.account .customer__content{
        width: 100%;
        max-width: 100%;
    }
}
@media(max-width:1279px){
    .customer.account .customer__content .account-dynamic-content{
        padding: 1.5rem;
    }
}
.customer.account .customer__sidebar .account-tabs {
    display: flex;
    padding-bottom: 1.5rem;

}

.customer.account .customer__sidebar .account-tabs .account-tab {
    display: block;
    padding: .5rem 0;
    font-size: 2rem;
    text-transform: lowercase;
    cursor: pointer;
    white-space: nowrap;
    color: #666;
}

.customer.account .customer__sidebar .account-tabs .account-tab.active {
    color: #49a750;
}

@media(max-width:1279px) {
    .customer.account .customer__sidebar {
        overflow: auto;
        margin-bottom: 2rem;
        border-bottom: 1px solid #e0e0e0;
        width:100vw;
        max-width: unset;
        margin: 0 calc(-1 * var(--page-padding));
        margin-bottom: 2rem;
    }
    .customer.account .customer__sidebar .account-tabs{
        padding-inline: var(--page-padding);
        min-width: fit-content;
    }
    .customer.account .customer__sidebar .account-tabs .account-tab.active {
        background-color: #49a750;
        color: #fff;
    }

    .customer.account .customer__sidebar .account-tabs .account-tab {
        margin-right: 1rem;
        border-radius: 5rem;
        padding: 1rem 2rem;
        font-size: 1.6rem;
        transition: 0.2s;
        font-family: var(--font-body-weight-bold);
        background-color: #f4f2f4;
    }
    .customer.account .customer__sidebar .account-tabs .account-tab:last-child{
        margin-right: 0;
    }
    .customer.account .customer__sidebar .account-tabs:not(:last-child) {
        border-bottom: 1px solid #e0e0e0;
    }

}

@media(min-width:1280px) {
    .customer.account .customer__sidebar .account-tabs {
        flex-direction: column;
        position: sticky;
        top: calc(var(--header-bottom) + 2rem);

    }

    .customer.account .account-tabs{
        padding: 3rem;
        border-radius: 2rem;
        border: 1px solid rgb(var(--color-border));
    }
}

.customer .address-list li,
.customer .address-form{
    border: 1px solid rgb(var(--color-border));
}
.customer .addresses__edit-form{
    border: 0;
}
.customer .address-list li .btn.btn--plain{
    color: rgb(var(--color-primary));
}
.customer .address-list li .btn.btn--plain:hover{
    color: rgb(var(--color-primary));
}

/* Wishlist Section */
.favourites-products .wishlist-section{
    margin-top: 2.4rem;
}

.favourites-products .wishlist-section:not(:last-child){
    border-bottom: 1px solid #e0e0e0;
    padding-bottom: 2.4rem;
}

.favourites-products .wishlist-section .swiper-button-prev, 
.favourites-products .wishlist-section .swiper-button-next{
    top: 36%;
}
.favourites-products .wishlist-section .swiper-button-prev{
    left: -1.2rem;
}
.favourites-products .wishlist-section .swiper-button-next{
    right: -1.2rem;
}

.favourites-products .wishlist-section .wishlist-section-title{
    font-size: 2rem;
    font-family: var(--font-body-weight-bold);
    margin-bottom: 1rem;
}

.favourites-products .swymcs-wishlistplus-item-remove{
    position: absolute;
    right: 0;
    top: 1.5rem;
    opacity: 1;
    height: auto;
    padding: 0;
    width: 2.2rem;
    height: 2.2rem;
}


/* My Account Gift Card */
.account .existing-cards-section{
    position: relative;
    width:60rem;
    max-width: 100%;
    margin: 0 auto;
    margin-bottom:5rem;
}
.account .existing-cards-section .swiper-pagination{
    position: relative;
}
.account .existing-cards-section gift-card-slider{
    display: block;
    margin: 2rem 0;
}
.account .gift-cards-swiper{
    background-color: #efefef;
    padding: 2rem 3rem 4rem;
    border-radius:1.5rem;
}
.account .gift-cards-swiper .card-buttons{
    text-align: center;
    margin-bottom: 4rem;
}
.account .gift-cards-swiper .card-buttons .countdown{
    width: 26px;
    display: inline-block;
    text-align: left;
}
.account .existing-cards-section .slider-nav .swiper-button-prev{
    left: -1.2rem;
}
.account .existing-cards-section .slider-nav .swiper-button-next{
    right: -1.2rem;
}
.account .gift-card-transactions h5{
    margin-bottom: 1rem;
}
.account .save-gift-card{
    margin-bottom: 3rem;
}
.account .add-card-form{
    width: 50rem;
    max-width: 100%;
    
}
.account .add-card-form .save-gift-card-btn{
    max-width: 20rem;
}

@media(max-width:649px){
    .account .gift-cards-swiper{
        padding-inline: 1.5rem;
    }
}



/* Retreat Membership */
.retreat-membership-section .loading-state {
  padding: 4rem;
  text-align: center;
  color: #718096;
}
.retreat-membership-section .no-membership-state {
  background: #f7f5f3;
  border-radius: 1.2rem;
  padding: 6rem 4rem;
  text-align: center;
  margin: 2rem 0;
}
.retreat-membership-section .no-membership-content h3 {
  font-size: 2.4rem;
  font-weight: 500;
  color: #2d3748;
  margin-bottom: 1.5rem;
}
.retreat-membership-section .no-membership-content p {
  font-size: 1.6rem;
  color: #718096;
  margin-bottom: 3rem;
}
.retreat-membership-section .retreat-row {
  background: #f7f5f3;
  border-radius: 1.2rem;
  padding: 3rem 4rem;
  margin-bottom: 3rem;
}
.retreat-membership-section .retreat-row .btn{
  min-width:24rem;
  max-width:100%;
}
.retreat-membership-section .retreat-section-header {
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #e7e7e7;
}
.retreat-membership-section .retreat-info {
  flex: 1;
}
.retreat-membership-section .membership-title {
  font-size: 1.8rem;
  margin-bottom: 0.8rem;
}
.retreat-membership-section .product-name {
  font-weight: var(--font-body-weight-bold);
}
.retreat-membership-section .price-separator {
  color: #718096;
}
.retreat-membership-section .product-price {
  font-weight: 600;
}
.retreat-membership-section .renewal-info {
  font-size: 1.6rem;
}
.retreat-membership-section .payment-text,
.retreat-membership-section .address-text {
  font-size: 1.6rem;
  line-height: 1.6;
  margin: 0;
}
.retreat-membership-section .retreat-action {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
}
@media (max-width: 768px) {
  .retreat-membership-section .retreat-row {
    padding: 20px;
  }

  .retreat-membership-section .membership-row,
  .retreat-membership-section .retreat-info-action-row {
    flex-direction: column;
    align-items: flex-start;
  }
  .retreat-membership-section .retreat-action {
    width: 100%;
  }
  .retreat-membership-section .no-membership-state {
    padding: 40px 20px;
  }
}

/* jQuery UI Date Picker Calender  */
body .ui-datepicker {    
    padding: 0;
    display: none;
    border-radius: 1.5rem;
    border-color: #49a750;
    overflow: hidden;
    font-family: var(--font-body-family);
}

@media(min-width:767px){
    body .ui-datepicker {    
    width: 45rem;
    }
}
 body .ui-datepicker table {
    margin: 0;
}
 body .ui-datepicker .ui-datepicker-header {
    background: unset;
    padding: 2rem 0;
    border: 0;
}
 body .ui-datepicker .ui-datepicker-header .ui-datepicker-title {
    font-size: 1.6rem;
    color: #111;
}

body .ui-datepicker .ui-datepicker-calendar th span{
    font-size: 14px;
    font-weight: var(--font-body-weight-bold);
    text-align: center;
    color: rgb(var(--color-primary));
}
body .ui-datepicker td {
    border: 1px solid #e0e0e0;
    padding: 1rem;
}
body .ui-datepicker td:hover {
    background: #ccddda;
}

body .ui-datepicker .ui-datepicker-prev,
body .ui-datepicker .ui-datepicker-next {
    top: unset;

}

body .ui-datepicker .ui-state-disabled,
body .ui-datepicker .ui-widget-content .ui-state-disabled,
body .ui-datepicker .ui-widget-header .ui-state-disabled {
    background: #f4f2f5;
}
body .ui-datepicker .ui-state-highlight,
body .ui-datepicker .ui-widget-content .ui-state-highlight,
body .ui-datepicker .ui-widget-header .ui-state-highlight,
body .ui-datepicker .ui-state-disabled,
body .ui-datepicker .ui-widget-content .ui-state-disabled,
body .ui-datepicker .ui-widget-header .ui-state-disabled {
    background: unset;
}
body .ui-datepicker td span,
body .ui-datepicker td a {
    text-align: center;
    padding: 0;
}
body .ui-datepicker .ui-state-default,
body .ui-datepicker .ui-widget-content .ui-state-default,
body .ui-datepicker .ui-widget-header .ui-state-default,
body .ui-datepicker .ui-state-hover,
body .ui-datepicker .ui-widget-content .ui-state-hover,
body .ui-datepicker .ui-widget-header .ui-state-hover,
body .ui-datepicker .ui-state-focus,
body .ui-datepicker .ui-widget-content .ui-state-focus,
body .ui-datepicker .ui-widget-header .ui-state-focus {
    background: unset;
    border: 0;
}

body .ui-datepicker .ui-datepicker-calendar td.ui-datepicker-current-day{
    background: #ccddda !important;
}

body .ui-datepicker .ui-datepicker-prev, 
body .ui-datepicker .ui-datepicker-next{
     width: auto;
    height: auto;
    font-size: 1.6rem
}
body .ui-datepicker .ui-datepicker-prev:not(.ui-state-disabled), body .ui-datepicker .ui-datepicker-next:not(.ui-state-disabled){
    cursor: pointer;
}
body .ui-datepicker .ui-datepicker-prev{
    left: 1.5rem;
}
body .ui-datepicker .ui-datepicker-next{
    right: 1.5rem;
}
body .ui-datepicker  .ui-datepicker-prev span, 
body .ui-datepicker .ui-datepicker-next span{
    width: auto;
    height: auto;
    text-indent: unset;
    background: unset;
    position: relative;
    left: 0;
    margin: 0;
    font-weight: normal;
}
body .ui-datepicker .ui-datepicker-other-month.ui-datepicker-unselectable{
    background: #f4f2f5;
    opacity: 1;
}

/* To Prevent Overlay close */
.disable-overlay-close .fixed-overlay{
    pointer-events: none !important;
}

.retreat-menu-header{
    z-index: 1;
}
.retreat-menu-header .dropdown__container{
    transform: none !important;
    border-radius: 1.5rem;
    margin-top: -.1rem;
}
@media(max-width:1279px){
    .retreat-menu-header{
        display: none;
    }
}

.retreat-banner .rich-text.text-left .btn{
    margin-right: 1rem;
}
.retreat-banner .content-overlay > .rich-text{
 width: 100%;
}
.retreat-banner .rich-text.text-center .btn{
    margin: .8rem .5rem;
}
.retreat-banner .rich-text.text-right .btn{
    margin-left: 1rem;
}


/* Retreat Classes */
 .classes-grid {
    --gap: 16px;
    display: block;
  }

  .classes-grid.is-loading::after {
    content: 'Loading...';
    color: #666;
    font-size: 14px;
  }

  /* Group section */
  .class-group {
    margin-block: clamp(24px, 4vw, 56px);
    display: grid;
    gap: 5rem;
  }

  .class-group__hero {
    display: grid;
    gap: 20px;
    align-items: center;
    grid-template-columns: 1fr;
  }

  @media (min-width: 960px) {
    .class-group__hero {
      grid-template-columns: 1fr 1fr;
    }
    .class-group.is-reversed .class-group__col--text {
      order: 2;
    }
    .class-group.is-reversed .class-group__col--media {
      order: 1;
    }
  }

  .class-group__title {
    font-weight: 700;
    font-size: clamp(22px, 1.2rem + 0.8vw, 34px);
    margin: 0 0 8px 0;
  }

  .class-group__desc {
    line-height: 1.7;
    color: #444;
  }

  .class-group__video {
    aspect-ratio: 16/9;
    background: #000;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
  }

  .class-group__lessons {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    margin-top: 8px;
    padding-inline: 1.5rem;
  }

  .class-card {
    position: relative;
    display: flex;
    flex-direction: column;
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
  }

  .class-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.1);
  }

  .class-card__media {
    position: relative;
    background: #f4f4f4;
  }

  .class-card__media img {
    width: 100%;
    object-fit: cover;
    display: block;
    height: 18.8rem;
  }

  .class-card__tag {
    position: absolute;
    bottom: 1rem;
    right: 1rem;
    padding: 4px 8px;
    border-radius: 0px;
    background: rgba(255, 255, 255, 0);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.2px;
    border: 1px solid rgba(255, 255, 255, 1);
    z-index: 3;
  }

  .class-card__body {
    padding: 12px 14px 14px;
    display: grid;
    gap: 6px;
  }

  .class-card__title {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
  }

  .class-card__meta {
    font-size: 13px;
    color: #666;
    display: flex;
    gap: 10px;
    align-items: center;
  }

  .class-card__pill {
    margin-left: auto;
    padding: 4px 10px;
    border-radius: 999px;
    background: #fff;
    color: rgb(var(--color-primary));
    font-size: 11px;
    position: absolute;
    font-family: var(--font-body-weight-bold);
    left: 1rem;
    top: 1rem;
    z-index: 3;
  }

  .class-card__overlay {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 35%, rgba(0, 0, 0, 0.35));
    pointer-events: none;
    z-index: 1;
  }

  .class-card__play {
    pointer-events: auto;
    display: inline-grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
    border: none;
    cursor: pointer;
  }

  .class-card__play:after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-left: 12px solid #111;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    margin-left: 2px;
  }

  .class-card__link {
    position: absolute;
    inset: 0;
    text-indent: -9999px;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
  }

   .class-card .category{
    display: flex;
    gap: 1rem;
  }
  .class-card .category .cat + .cat::before{
    content: "|";
    display: inline-block;
    margin-right: 1rem;
  }

.class-card.is-restricted .class-card__media img{
    z-index: 1;
}
.class-card.is-restricted .class-card__media::before{
    content: "";
    background-color: rgba(51, 70, 57, 0.45);
    position: absolute;
    left: 0;
    top: 0;
    width:100%;
    height: 100%;
    z-index:2;
}


  /* Modal */
  .video-modal {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: grid;
    place-items: center;
    z-index: 9999;
  }

  .video-modal[hidden] {
    display: none;
  }

  .video-modal .video-modal__inner {
    width:75vw;
    aspect-ratio: 16/9;
    background: #000;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
  }

  .video-modal #video-frame {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
  }

  .video-modal .video-modal__close {
    position: absolute;
    top: 16px;
    right: 18px;
    width: 44px;
    height: 44px;
    border-radius: 999px;
    border: 0;
    background: #fff;
    font-size: 2.8rem;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
  }

  @media(max-width:479px) {
      .class-group__lessons {
          grid-template-columns: 1fr;
      }
  }


  /* Retreat Guide */
  .guides-grid {
    --gap: 20px;
    display: block;
  }

  .guides-grid.is-loading::after {
    display: block;
    padding: 40px;
    content: "Loading guides…";
    font-size: 14px;
    color: #666;
    text-align: center;
  }

  .guides-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: var(--gap);
    margin-top: 24px;
    padding-inline:1.5rem;
    padding-bottom: 5rem;
  }

  @media (min-width: 960px) {
    .guides-container {
      grid-template-columns: repeat(3, 1fr);
    }
  }
   @media (max-width:479px) {
    .guides-container {
        grid-template-columns:1fr;
    }
   }

  /* ============================================
     GUIDE CARDS
     ============================================ */
  .guide-card {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
  }

  .guide-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.10);
  }

  .guide-card__media {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    background: #f4f4f4;
  }

  .guide-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .guide-card__body {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    gap: 12px;
    padding: 20px 18px 24px;
  }

  .guide-card__name {
    margin: 0;
    font-size: clamp(20px, 1.1rem + 0.5vw, 24px);
    line-height: 1.2;
    text-transform: lowercase;
  }

  .guide-card__role {
    margin: 0;
    font-size: 1.4rem;
    font-family: var(--font-body-weight-bold);
    color: #666;
    letter-spacing: 0.5px;
  }

  .guide-card__title {
    flex-grow: 1;
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: #444;
  }

  .guide-card__cta {
    margin-top: auto;
    padding-top: 8px;
  }

  .guide-card__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 12px 20px;
    background: #111;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    text-align: center;
    text-decoration: none;
    transition: background-color 0.18s ease;
  }

  .guide-card__link:hover {
    background: #333;
    color: #fff;
  }

  /* ============================================
     ERROR & EMPTY STATES
     ============================================ */
  .guides-error,
  .guides-empty {
    padding: 40px 20px;
    font-size: 16px;
    color: #666;
    text-align: center;
  }




  /* Retreat Recipes  */
  .recipes-grid {
    --gap: 20px;
    display: block;
  }

  .recipes-grid.is-loading::after {
    content: "Loading recipes…";
    display: block;
    padding: 40px;
    font-size: 14px;
    color: #666;
    text-align: center;
  }

  .recipes-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: var(--gap);
    margin-top: 24px;
    padding-inline: 1.5rem;
  }

  @media (min-width: 960px) {
    .recipes-container {
      grid-template-columns: repeat(3, 1fr);
    }
  }
  @media (max-width: 479px) {
    .recipes-container {
      grid-template-columns:1fr;
    }
  }

  /* ============================================
     RECIPE CARDS
     ============================================ */
  .recipe-card {
    position: relative;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    overflow: hidden;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
    color: inherit;
    text-decoration: none;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
  }

  .recipe-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.10);
  }

  .recipe-card--locked {
    cursor: pointer;
  }

.recipe-card.is-restricted .recipe-card__media::before{
    content: "";
    background-color: rgba(51, 70, 57, 0.45);
    position: absolute;
    left: 0;
    top: 0;
    width:100%;
    height: 100%;
    z-index:2;
}

  .recipe-card--locked .recipe-card__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 35%, rgba(0, 0, 0, 0.25));
    pointer-events: none;
  }

  .recipe-card--unlocked {
    cursor: pointer;
  }

  .recipe-card--unlocked:hover .recipe-card__title {
    color: #333;
  }

  /* ============================================
     RECIPE CARD MEDIA
     ============================================ */
  .recipe-card__media {
    position: relative;
    aspect-ratio: 16/9;
    overflow: hidden;
    background: #f4f4f4;
  }

  .recipe-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .recipe-card__pill {
    margin-left: auto;
    padding: 4px 10px;
    border-radius: 999px;
    background: #fff;
    color: rgb(var(--color-primary));
    font-size: 11px;
    position: absolute;
    font-family: var(--font-body-weight-bold);
    left: 1rem;
    top: 1rem;
    z-index: 3;
  }

  /* ============================================
     RECIPE CARD BODY
     ============================================ */
  .recipe-card__body {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    gap: 8px;
    padding: 18px 16px 20px;
  }

  .recipe-card__title {
    margin: 0;
    font-size: clamp(16px, 1rem + 0.3vw, 18px);
    line-height: 1.3;
  }

  .recipe-card__meta {
    margin: 0;
    font-size: 13px;
    font-weight: 600;
    color: #666;
    text-transform: uppercase;
    letter-spacing: 0.5px;
  }

  /* ============================================
     ERROR & EMPTY STATES
     ============================================ */
  .recipes-error,
  .recipes-empty {
    padding: 40px 20px;
    font-size: 16px;
    color: #666;
    text-align: center;
  }

  /* ============================================
     PAGINATION
     ============================================ */
  .recipes-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    margin-top: 32px;
    padding: 20px;
  }

  .pagination-button {
    padding: 8px 16px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 14px;
    color: #333;
    cursor: pointer;
    transition: all 0.18s ease;
  }

  .pagination-button:hover:not(:disabled) {
    background: #f5f5f5;
    border-color: #bbb;
  }


  .pagination-info {
    margin: 0 8px;
    font-size: 14px;
    color: #666;
  }


.recipes-pagination .pagination-button,
.recipes-pagination .pagination-info{
    font-family: var(--font-body-family);
    font-size: 1.6rem;
    color: var(--color-primary);
}

.recipes-pagination .pagination-button{
    border:0;
}
.recipes-pagination .pagination-button[disabled]{
    display: none;
}
.recipes-pagination .pagination-button:hover{
    background-color: unset;
}


/* Retreat Recipe Detail */

body .recipe-detail * {
    font-family: var(--font-body-family) !important;
}
body .recipe-detail ul{
    margin-bottom: 2rem;
}
body .recipe-detail li,
body .recipe-detail p {
    font-size: 1.6rem !important;
}

.recipe-detail {
    display: block;
    max-width: 100%;
}

.recipe-detail.is-loading {
    position: relative;
    min-height: 200px;
}

.recipe-detail.is-loading::after {
    content: "Loading recipe…";
    display: block;
    padding: 60px 20px;
    font-size: 16px;
    color: #666;
    text-align: center;
}

.recipe-detail.is-loading::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 32px;
    height: 32px;
    margin: -16px 0 0 -16px;
    border: 3px solid #f3f3f3;
    border-top: 3px solid #395542;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* ============================================
     RECIPE CONTENT
     ============================================ */
.recipe-detail .recipe-content{
    max-width: 100%;
    margin: 0 auto;
    padding-block: 3rem;
    background: #fff;
}

/* ============================================
     TYPOGRAPHY
     ============================================ */
.recipe-detail .recipe-content h1,
.recipe-detail .recipe-content h2,
.recipe-detail .recipe-content h3,
.recipe-detail .recipe-content h4,
.recipe-detail .recipe-content h5,
.recipe-detail .recipe-content h6 {
    margin-bottom: 16px;
    font-family: var(--font-body-weight-bold) !important;
    line-height: 1.3;
    color: #395542;
}

.recipe-detail .recipe-content h1 {
    margin-bottom: 24px;
    font-size: clamp(24px, 1.5rem + 1vw, 36px);
    text-align: center;
}

.recipe-detail .recipe-content h2 {
    margin-top: 32px;
    margin-bottom: 16px;
    font-size: clamp(20px, 1.2rem + 0.5vw, 28px);
}

.recipe-detail .recipe-content h3 {
    margin-bottom: 20px;
    font-size: 3.2rem;
    text-align: center;
}

.recipe-detail .recipe-content p {
    margin-bottom: 16px;
    font-family: var(--font-body-family);
    font-size: 16px;
    line-height: 1.6;
    color: #333;
}

/* ============================================
     LISTS
     ============================================ */
.recipe-detail .recipe-content ul,
.recipe-detail .recipe-content ol {
    margin-bottom: 20px;
}

.recipe-detail .recipe-content ul li,
.recipe-detail .recipe-content ol li {
    margin-bottom: 8px;
    font-family: 'ValueSansPro-Regular', Arial, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #333;
}

.recipe-detail .recipe-content ol li {
    margin-bottom: 12px;
}

.recipe-detail .recipe-content ol li p {
    margin-bottom: 8px;
    font-weight: 400;
}

/* ============================================
     IMAGES & LINKS
     ============================================ */
.recipe-detail .recipe-content img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 20px auto;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.recipe-detail .recipe-content a {
    color: #395542;
    text-decoration: underline;
    transition: color 0.18s ease;
}

.recipe-detail .recipe-content a:hover {
    color: #2a3d2f;
}

/* ============================================
     RECIPE COLUMNS
     ============================================ */
.recipe-detail .recipe-content .recipe-column-left {
    float: left;
    width: 100%;
    margin-bottom: 32px;
    line-height: 1.6;
}

.recipe-detail .recipe-content .recipe-column-right {
    float: left;
    width: 100%;
    padding-left: 0;
}

.recipe-detail .recipe-content .recipe-column-left ul li,
.recipe-detail .recipe-content .recipe-column-right ol li {
    font-family:var(--font-body-family);
    font-size: 16px;
    line-height: 1.6;
    color: #333;
}

.recipe-detail .recipe-content .recipe-column-left h2,
.recipe-detail .recipe-content .recipe-column-right h2 {
    margin-bottom: 16px;
    font-family: var(--font-body-weight-bold);
    font-size: 20px;
    color: #395542;
    text-align: left;
}

/* ============================================
     RECIPE LAYOUT HELPERS
     ============================================ */
.recipe-detail .recipe-content .recipe-detail-block-cms {
    padding-top: 32px;
    overflow: hidden;
}

.recipe-detail .recipe-content .row,
.recipe-detail .recipe-content .row-top {
    margin: 0 auto;
    overflow: hidden;
}

.recipe-detail .recipe-content .row-top {
    padding-top: 40px;
}

.recipe-detail .recipe-content .row:after,
.recipe-detail .recipe-content .row-top:after {
    content: "";
    display: table;
    clear: both;
}

/* ============================================
     ERROR STATES
     ============================================ */
.recipe-error {
    margin: 20px;
    padding: 60px 20px;
    background: #f9f9f9;
    border-radius: 12px;
    font-size: 16px;
    color: #666;
    text-align: center;
}

.recipe-error h3 {
    margin-bottom: 16px;
    font-size: 20px;
    color: #d32f2f;
}

/* ============================================
     RESPONSIVE DESIGN
     ============================================ */
@media (min-width: 768px) {
    .recipe-detail .recipe-content .recipe-column-left {
        width: 35%;
        margin-bottom: 0;
    }

    .recipe-detail .recipe-content .recipe-column-right {
        width: 65%;
        padding-left: 40px;
    }
}

@media (max-width: 768px) {
    .recipe-detail .recipe-content{
        margin: 10px;
        padding: 16px;
    }

    .recipe-detail .recipe-content .recipe-column-left,
    .recipe-detail .recipe-content .recipe-column-right {
        float: none;
        width: 100%;
        padding-left: 0;
    }

}



/* SEO landing Page */

.seo-hero-promotion .image-with-text__wrapper{
    padding: 2rem;
}

.seo-hero-promotion .image-with-text__media {
    overflow: hidden;
}

.seo-hero-promotion .image-with-text__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.seo-hero-promotion .image-with-text__content .rich-text__heading,
.image-with-text .image-with-text__content .rich-text__text {
    margin-bottom: 1rem;
}
.seo-hero-promotion .button-wrapper {
    margin-top: 2rem;
}
.seo-hero-promotion .image-with-text__content {
    padding-block: 2rem;
}
.endota-spa-map hr {
    margin-top:1rem;
    margin-bottom: 3rem;
}
#spa-results-map-wrapper.endota-spa-map{
    display: block;
}
@media(min-width:768px) {
    .seo-hero-promotion .image-with-text__content {
        padding: 4rem;
    }

}

/* Rich carousel */
.rich-carousel .rich-carousel__viewer .rich-carousel__image-container img {
    height: 125px;
    width: 100%;
    object-fit: cover;
}

@media(max-width:767px) {
    .rich-carousel .swiper-pagination-bullets.swiper-pagination-horizontal {
        display: none;
    }

    .rich-carousel .rich-carousel__viewer .rich-carousel__image-container,
    .rich-carousel .rich-carousel__viewer .rich-carousel__content-container {
        width: auto !important;
    }

    .rich-carousel .rich-carousel__items .swiper-slide {
        height: auto !important
    }
}

@media(min-width:768px) {
    .rich-carousel .rich-carousel__viewer .rich-carousel__image-container img {
        height: 30rem;
    }
}

.rich-carousel .rich-carousel__viewer .rich-carousel__content-container {
    padding: 3rem;
}

.rich-carousel .swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: 1.5rem !important;
}

.rich-carousel .swiper-pagination-bullet:after {
    background-color: #869791 !important
}

#barcodeContent{
    overflow: hidden;
}
#barcodeContent svg{
    width: 100%;
    float: left;
}



/* Partners Page */
.partner-registration-section .registration-image{
     margin-block: 1rem;
}
.partner-registration-section .registration-form-wrapper {
    margin: 1rem 2rem;
}
.partner-registration-section .registration-subheading p{
    margin:1.3rem 0;
}
@media(min-width:768px) {
    .partner-registration-section .registration-image,
    .partner-registration-section .registration-form-wrapper {
        margin:0 2.4rem;
    }
}

#customer-registration-form .form-field,
#customer-registration-form .terms-and-conditions,
#customer-registration-form .partner-logos,
#customer-registration-form button {
    margin-bottom: 2.5rem;
}

#customer-registration-form .terms-and-conditions {
    font-size: 1.4rem;
}

#customer-registration-form .partner-logos .logo-container img {
    height: 3rem;
    object-fit: cover;
}

.multicolumn.for-partnership .multicolumn-card{
    border-radius:2rem;
    padding:2rem  2.5rem;
    height: 100%;
    background-size: cover;
}



/* Spa Offers Section Styles by Geoff */

  .endota-spa-offers-section {
    width: 100%;
    padding: 40px 20px;
  }

  .spa-offers-container {
    max-width: 1200px;
    margin: 0 auto;
  }

  .spa-offers-content {
    display: grid;
    gap: 30px;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  }

  @media (min-width: 768px) {
    .spa-offers-content {
      grid-template-columns: repeat(2, 1fr);
    }
  }

  @media (min-width: 1024px) {
    .spa-offers-content {
      grid-template-columns: repeat(3, 1fr);
    }
  }

  /* ============================================
     Loading State
     ============================================ */
  .spa-offers-loading {
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px 20px;
  }

  .loading-spinner {
    width: 40px;
    height: 40px;
    border: 4px solid #f3f3f3;
    border-top: 4px solid #4a6b5a;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin: 0 auto 20px;
  }

  @keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
  }

  .spa-offers-loading p {
    color: #666;
    font-size: 16px;
  }

  /* ============================================
     Error & Empty States
     ============================================ */
  .spa-offers-error,
  .spa-offers-empty {
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px 20px;
    color: #666;
    font-size: 16px;
  }

  /* ============================================
     Main Heading
     ============================================ */
  .spa-offers-main-heading {
    grid-column: 1 / -1;
    font-size: clamp(24px, 4vw, 32px);
    font-weight: 700;
    color: #333;
    margin: 0 0 20px 0;
    text-align: left;
  }

  /* ============================================
     Offer Card
     ============================================ */
  .offer-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  }

  .offer-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  }

  /* ============================================
     Offer Image
     ============================================ */
  .offer-card__image {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #f5f5f5;
    cursor: pointer;
  }

  .offer-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  /* ============================================
     Offer Content
     ============================================ */
  .offer-card__content {
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex-grow: 1;
  }

  .offer-card__title {
    font-size: 18px;
    font-weight: 700;
    color: #333;
    line-height: 1.3;
    margin: 0;
  }

  .offer-card__summary {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
    margin: 0;
    flex-grow: 1;
  }

  /* ============================================
     CTA Button
     ============================================ */
  .offer-card__cta {
    margin-top: 8px;
  }

  .offer-card__button {
    display: inline-block;
    padding: 12px 32px;
    background: #4a6b5a;
    color: #fff;
    text-decoration: none;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 600;
    text-transform: lowercase;
    transition: background 0.3s ease;
    border: none;
    cursor: pointer;
  }

  .offer-card__button:hover {
    background: #3a5a4a;
  }

  /* ============================================
     Responsive Adjustments
     ============================================ */
  @media (max-width: 767px) { 
    .endota-spa-offers-section {
      padding: 30px 15px;
    }

    .spa-offers-content {
      gap: 20px;
    }

    .offer-card__content {
      padding: 20px;
    }

    .offer-card__title {
      font-size: 16px;
    }

    .offer-card__summary {
      font-size: 13px;
    }
  }


  /* Gift Card Bundle */
.gift-card-bundle-item {
    border: 1px solid #F2F0EC;
    border-radius: .8rem;
    margin: 2rem 0;
    background: #fff;
    overflow: hidden;
}

.gift-card-bundle-item .bundle-content-wrap {
    padding:1.5rem;
}

.gift-card-bundle-item .bundle-header {
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
}

.gift-card-bundle-item .bundle-heading {
    font-size: 1.6rem;
    font-weight: 600;
    color: rgb(var(--color-primary));
    margin: 0;
}

.gift-card-bundle-item .bundle-content {
    display: flex;
    gap: 1.5rem;
}

.gift-card-bundle-item .bundle-image {
    flex-shrink: 0;
}

.gift-card-bundle-item .bundle-image img {
    width: 12rem;
    height: auto;
    border-radius: .4rem;
}

.gift-card-bundle-item .bundle-text {
    flex: 1;
}

.gift-card-bundle-item .bundle-description {
    font-size: 1.3rem;
    color: rgb(var(--color-primary));
    line-height: 1.5;
    margin: 0;
}

.gift-card-bundle-item .bundle-price-section {
    background: #F2F0EC;
    padding: 1.2rem 1.5rem;
    display: flex;
    align-items: center;
    gap: 1rem;
}

.gift-card-bundle-item .bundle-price {
    font-size: 1.5rem;
    color: rgb(var(--color-primary));
    white-space: nowrap;
    font-family: var(--font-body-weight-bold);
}

.gift-card-bundle-item .bundle-separator {
    color: rgb(var(--color-primary));
}

.gift-card-bundle-item .bundle-benefit {
    font-size: 1.4rem;
    color: rgb(var(--color-primary));
    font-family: var(--font-body-weight-bold);
}

@media (max-width: 768px) {
    .gift-card-bundle-item .bundle-image img {
        width: 10rem;
    }

    .gift-card-bundle-item .bundle-heading {
        font-size: 1.4rem;
    }

    .gift-card-bundle-item .bundle-description {
        font-size: 1.3rem;
    }
}



/* ============================================
    NEW LIGHTBOX STYLES - START
    ============================================ */
    .spa-offer-lightbox {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5);
        display: none;
        justify-content: center;
        align-items: center;
        z-index: 9999;
        padding: 20px;
    }

    .spa-offer-lightbox.active {
        display: flex;
    }

    .spa-offer-lightbox__content {
        background: #fff;
        border-radius: 8px;
        width: 100%;
        max-width: 50%;
        max-height: 90vh;
        overflow-y: auto;
        position: relative;
        box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
    }

    .spa-offer-lightbox__close {
        position: absolute;
        top: 20px;
        right: 20px;
        width: 40px;
        height: 40px;
        background: #888;
        border: none;
        border-radius: 50%;
        font-size: 24px;
        line-height: 1;
        cursor: pointer;
        color: #fff;
        z-index: 10;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: background 0.3s ease, transform 0.2s ease;
        font-size: 1.8em !important
    }

    .spa-offer-lightbox__close:hover {
        background: #333;
        transform: scale(1.1);
    }

    .spa-offer-lightbox__close:active {
        transform: scale(0.95);
    }

    .spa-offer-lightbox__header {
        padding: 30px 60px 20px 30px;
        border-bottom: 1px solid #e0e0e0;
    }

    .spa-offer-lightbox__title {
        font-size: 24px;
        font-weight: 700;
        color: #334639;
        margin: 0;
        line-height: 1.3;
    }

    .spa-offer-lightbox__body {
        padding: 30px;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }

    .spa-offer-lightbox__left {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .spa-offer-lightbox__summary {
        font-size: 20px;
        color: #333;
        line-height: 1.6;
        margin: 0;
    }

    .spa-offer-lightbox__divider {
        width: 100%;
        height: 1px;
        background: #e0e0e0;
        margin: 10px 0;
    }

    .spa-offer-lightbox__conditions {
        font-size: 12px;
        color: #666;
        line-height: 1.5;
        margin: 0;
    }

    .spa-offer-lightbox__right {
        display: flex;
        flex-direction: column;
        gap: 20px;
        align-items: flex-end;
    }

    .spa-offer-lightbox__image {
        width: calc(100% - 80px);
        max-width: 100%;
    }

    .spa-offer-lightbox__image img {
        width: 100%;
        height: auto;
        display: block;
        border-radius: 4px;
    }

    .spa-offer-lightbox__cta {
        width: calc(100% - 80px);
        text-align: right;
    }

    .spa-offer-lightbox__footer {
        display: none;
    }

    /* Mobile responsive */
    @media (max-width: 768px) {
    .spa-offer-lightbox__content {
        max-width: 95%;
        max-height: 95vh;
    }

    .spa-offer-lightbox__body {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 20px;
    }

    .spa-offer-lightbox__header {
        padding: 20px 50px 15px 20px;
    }

    .spa-offer-lightbox__title {
        font-size: 20px;
    }

    .spa-offer-lightbox__summary {
        font-size: 18px;
    }

    .spa-offer-lightbox__image {
        width: 100%;
    }

    .spa-offer-lightbox__cta {
        width: 100%;
        text-align: center;
    }

    .spa-offer-lightbox__close {
        top: 15px;
        right: 15px;
        width: 44px;
        height: 44px;
        font-size: 26px;
    }
}  



.quick-view .product-gift-card{
    padding-right:2.5em;
}

/* Product Gift Card */
.product-gift-card{
    --pgc-media-width:14rem;
    --pgc-gap:2rem;
    margin-bottom: 1rem;    
}
.product-gift-card .product-gift-card__container{
    display: flex;
    gap: var(--pgc-gap);
    margin-bottom: 12px;
}
.product-gift-card .product-gift-card__media{
    min-width:var(--pgc-media-width);
    max-width:var(--pgc-media-width);
}
.product-gift-card .product-gift-card__title {
    font-size: 20px;
    letter-spacing: 0.25px;
    font-weight: 700;
    line-height: normal;
    margin-bottom: 10px;
}
.product-gift-card .product-gift-card__block--description{
    margin-bottom: 1rem;
}
.product-gift-card .product-gift-card__block--description p{
    font-size: 13px;
    line-height: 1.5;
    letter-spacing: 0.25px;
    color: #666;
}
.product-gift-card .product-gift-card__price  .f-price{
    color: rgb(var(--color-primary));
    font-size: 20px;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.25px;
    opacity: 1;
}
.product-gift-card .btn--underline{
    font-size: 1.3rem;
    font-family:var(--font-body-family);
    padding-bottom: 0rem !important;
}

@media(max-width:767px){
    .product-gift-card__block--terms{
        padding-left: calc(var(--pgc-media-width) + var(--pgc-gap))
    }
}




/* Retreat Plan */
.shopify-section[id*=endota_retreat_plans] .multicolumn-card{
    padding: 3rem;
    border-radius: 1.5rem;
    border:1px solid rgb(244, 242, 244);
    height: 100%;
    text-align:center;
    display: flex;
    flex-direction: column;
}
.shopify-section[id*=endota_retreat_plans] .multicolumn-card:hover{
    background-color: #efefef;
}
/* .shopify-section[id*=endota_retreat_plans] .multicolumn-card{
    background-color: #efefef;
}
.shopify-section[id*=endota_retreat_plans] .multicolumn-card:hover{
    background-color: #e0e0e0;
} */
.shopify-section[id*=endota_retreat_plans] .multicolumn-card .multicolumn-card__image{
    flex: none;
    margin: 0 auto;
    margin-bottom: 2rem;
}
.shopify-section[id*=endota_retreat_plans] .multicolumn-card .multicolumn-card__title {
    color: rgb(73, 167, 80);
    margin-bottom: 2rem;
}
.shopify-section[id*=endota_retreat_plans] .multicolumn-card .multicolumn-card__text{
    margin-bottom: 2rem;
}
.shopify-section[id*=endota_retreat_plans] .multicolumn-card .multicolumn-card__text p strong{
    font-family: var(--font-body-weight-bold);
    color:  rgb(73, 167, 80);
}
.shopify-section[id*=endota_retreat_plans] .multicolumn-card .multicolumn-card__price{
    margin-top: 2rem;
}
.shopify-section[id*=endota_retreat_plans] .multicolumn-card .btn{
    width: 60%;
   
}
.shopify-section[id*=endota_retreat_plans] .multicolumn-card .multicolumn-card__info{
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
}

body .product-form__input--button input[type=radio]+label{
    font-size: 1.3rem;
    font-family: var(--font-body-weight-bold);
}


/* Product Filter Drawer */
.facet-accordion-details .accordion-details__summary span{
    --font-heading-transform:lowercase;
}
/* Style from SWYM team to remove View Button */
swym-storefront-layout-as-modal#swym-storefront-layout,button.swym-storefront-layout-notification-action{
    display: none !important;
}

body[class*=account-template] .swym-storefront-layout-notification-position-left{
    display: none !important;
}

/* Custom Content Image Card Adapt Content Height with Setting */
.section--custom-content .custom-content-block--image_card .card-media.adapted-content-height .card-media__media::before{
    display: none;
}
.section--custom-content .custom-content-block--image_card .card-media.adapted-content-height > .block,
.section--custom-content .custom-content-block--image_card .card-media.adapted-content-height > .card-media--link{
    display: block;
    height: 100%;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
}
.section--custom-content .custom-content-block--image_card .card-media.adapted-content-height .card-media__media{
     position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
}
.section--custom-content .custom-content-block--image_card .adapted-content-height .card-media__content{
    position: relative;
}


/* Multicolumn Slider */
.multicolumn .slider-controls--group{
    margin-top: 2rem;
}
.multicolumn  .swiper-pagination{
    position: relative;
    bottom: 0;
}
.multicolumn-card__subheading{
    font-family: var(--font-body-family);
}