/*
 * Theme Name: MediSpa Master One
 * Description: Imaginal Marketing Group's custom MediSpa theme based on Tailwind
 * Author: IMPP
 * Author URI: https://www.imaginalmarketing.com
 * Version: 1.0
 * Text Domain:  medispa-master-one
*/
/* 
#wpcontent table.fixed {
    table-layout: auto !important;
}

#wpcontent  .fixed{
	position: auto !important;
} */
/* :root{
	--primary: #FFF9F1;
    --primaryDk: #D3CABF;
    --secondary: #0D3C2C;
    --tertiary: #3F7A66;
    --tertiaryDk: #0D3C2C;

    --bg-body: #ECE0D4;
    --bg-footer: #0D3C2C;
	--sans: "Montserrat", sans-serif;
    --serif: "Montserrat", serif;
} */

/* blockquote{
	border-left: 1px solid var(--tertiaryDk);
	padding-left: 2rem;
	max-width: 650px;

}
h5.blockquote-text{
	font-size: 1.25rem;
	line-height: 1.2;
	color: var(--tertiaryDk);
} */
/* body:not(.home) #promos .promo_text h2{
	font-family: var(--serif);
} */
/* .main-content a:not(.button), main-content a:not(.button):visited{
	color: var(--tertiaryDk) !important;
	font-weight: 500;
}
main-content a:not(.button):hover{
	color: var(--tertiary) !important;
} */
body.blog main h2 > a{
	    font-size: 1.65rem !important;
	    text-transform: lowercase !important;
	
}
main#content #sidenav .blog-sidebar-item ul li a {
    text-transform: lowercase !important;
}

/* BOOKING BUTTON */
.footer-booking{
	background-color:#7895A4;
}
#button-second:visited,
#button-second {
	color: #F9F4EE !important;
    padding: 0.3rem 2.4rem 0.3rem 2.4rem;
    display: inline-block;
    font-size: 0.95rem;
    text-decoration: none;
    border: 1px solid #F9F4EE;
    border-radius: 999px;
    transition: all 0.3s ease;
    font-weight: 400;
    letter-spacing: 0.03em;
    font-family: var(--serif);
    text-transform: lowercase;
    position: relative;
    cursor: pointer;
    white-space: nowrap;
}
#menu-results-oriented-menu-1 li:first-of-type > a > span,
#menu-facials-by-skintype-1 li:first-of-type > a > span{
	font-weight: bold !important;
}


header.article-header h2{
	text-transform: unset;
}

header.article-header h1#page-title{ 
	
	text-transform: lowercase !important;

}

body:not(.home) #promos .promo_text h2{
	text-transform: lowercase !important;
}

body:not(.home) main h2:has(+ h3) {
  margin-bottom: 0.2rem !important;
}

.serv_wrapper{
	margin-bottom: 4rem !important;
}

.text-lowercase{
	text-transform: lowercase !important;
}

/* homepage hero */
#heroimage .swiper-slide .slide_text .slide_text_inner p:not(.text-left), 
#heroimage .swiper-slide .slide_text .slide_text_inner h2{
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.65);
	letter-spacing: 1px;
}
.serv_wrapper .im-services .tier-headers .tier-header,
.best-sellers-slide__label.button,
#heroimage .swiper-slide .slide_text .slide_text_inner p:not(.text-left),
body:not(.home) article p,
.intros-wrapper p,
#foot-3 .textwidget h3,
.im-service-row.serv-desc-row,
.hours tr td,
p a,
.gfield_label.gform-field-label,
.gform-field-label.gform-field-label--type-sub,
#promos .promo-box .promo_text p span,
ul li,
.im-services-subhead,
.best-sellers-slide__label{
	font-family: "NeueEinstellung" !important;
}
.serv_subcat_desc > h2{
	font-size: 1.5rem;
	text-transform: capitalize;
}


#footer-bottom p,
#footer-bottom a {
	font-family: "NeueEinstellung" !important;
	font-size: 0.8rem !important;
}

#heroimage .swiper-slide .slide_text .slide_text_inner p:not(.text-left){
	line-height: 1.2;
}

#mobile-nav{
	border-radius: 20px;
	font-family: "NeueEinstellung" !important;
	
	.fa-angle-down{
		margin-top: 0.2rem;
	}
}

#sidenav .menu-text{
	font-size: 1.2rem !important;
}

h1.page-title{
	font-family: "minerva-modern", serif !important;
	text-transform: lowercase !important;
}

main#content #mobile-subnav{
	background-color: #E4DDCB;
	padding-top: 0;
	border-radius: 20px;
}

.best-sellers-section .best-sellers-heading{
	letter-spacing: unset;
	@media screen and (max-width: 992px) {
		margin-bottom: 2rem;
	}
	
}

.serv_wrapper .im-services .tier-headers .tier-header{
	text-transform: lowercase;
}

#promos-mobile .accordion-wrap .container .label {
	@media screen and (max-width: 992px) {
		border: unset !important;
	}
}

.promoText p .button{
	@media screen and (max-width: 992px) {
	border-color: #fff;
	color: #fff !important;
	display: inline-block;
	margin-top: 1.5rem;
}	
}

#promos-mobile .accordion-wrap .accordion .container .promoText p .button:visited{
		color: #fff !important;
	}

.reviews-heading{
	@media screen and (max-width: 992px) {
		margin-bottom: 2rem;
	}
	
}

.promos-container #controls-container button.control {
	letter-spacing: 0;
}

#promos .promo-box .promo_text p span{
	text-transform: lowercase !important;
	letter-spacing: 0.03em;
}

@media screen and (max-width: 992px) {
	body.home #promos-mobile,
	body.home.reviews-section{
    	margin: 0 1rem;
	}
	#intro{
		padding-left: 1rem;
		padding-right: 1rem;
	}
}

#foot-3 .textwidget h3{
	text-transform: uppercase !important;
}

#menu-footer li:nth-of-type(2) a span,
#menu-footer li:nth-of-type(3) a span{
	text-transform: unset !important;
}

#menu-locations-1 li a span,
#menu-reviews-menu-1 li:nth-of-type(2) a span,
#menu-reviews-menu-1 li:nth-of-type(3) a span{
	text-transform: capitalize !important;
}
body:not(.home) main h2 ,
.serv_wrapper h2.im-services-subhead {
	letter-spacing: unset !important;
	font-size: 1.55rem !important ;
	font-family: "NeueEinstellung" !important;
}

body:not(.home) main h3,
body:not(.home) main h4{
	font-family: "NeueEinstellung" !important;
}

body:not(.home) #promos{
	margin: 1.5rem !important;
}
.im-serv-col.serv-price,
.im-serv-col.serv-title{
	font-size: 1.2rem !important;
	text-transform: lowercase !important;
}

.im-serv-col.serv-price,
.im-serv-col.serv-title{
	@media screen and (max-width: 992px) {
		line-height: 1.1;
	}
}

@media screen and (max-width: 768px) {
    .serv_wrapper .im-service-row.serv-title-row {
        margin-bottom: 0.1rem;
    }
}



/* SERVICES ACCORDION - H2 */
/*.serv_wrapper h2.im-services-subhead.accordion-trigger-h2{
	text-transform: lowercase !important;
} */

.serv_wrapper h2.im-services-subhead.accordion-trigger-h2{
	font-weight: 500 !important;
}

.secondary-h3,
.accordion-panel .serv_subcat_desc h3{
	text-transform: lowercase;
	font-family: "NeueEinstellung" !important;
	font-weight: 500;
}

.accordion-panel h3{
	font-style: normal !important;
}

.best-sellers-slide__label.button{
	
	    font-size: 0.95rem;
}

#subfooter{
	padding: 0 1rem !important;
}

#content .best-sellers-section {
    padding: 4rem 1rem 2rem 1rem;
}
.promos-container #images-container .image .promo_text h2,
#footer-top #right-side #foot-4 ul li a{
	letter-spacing:1px;
}
.promos-container #controls-container button.control{
	font-size:2rem;
}

.best-sellers-heading {
	margin-bottom: 1.6rem;
	@media screen and (min-width: 992px) {
		margin-bottom: 3rem;
	}
	
}

main#content #contact-info:nth-of-type(2) {
    padding: 0 !important;
}

body:not(.home) main div, body:not(.home) main ul li, body:not(.home) main ol li, body:not(.home) main p, body:not(.home) a, body:not(.home) main table td, body:not(.home) main table th {
    font-size: 1rem !important;
}
@media (min-width: 993px) {
    #desktop-mega-menu-dropdown ul#menu-mega-menu-desktop > li > .sub-menu:has(li > a > .menu-item-image) > li > a{
	font-size: 1.5rem !important;
}}

#promos{margin:0 !important;}

.gform_wrapper.gravity-theme input[type=color], .gform_wrapper.gravity-theme input[type=date], .gform_wrapper.gravity-theme input[type=datetime-local], .gform_wrapper.gravity-theme input[type=datetime], .gform_wrapper.gravity-theme input[type=email], .gform_wrapper.gravity-theme input[type=month], .gform_wrapper.gravity-theme input[type=number], .gform_wrapper.gravity-theme input[type=password], .gform_wrapper.gravity-theme input[type=search], .gform_wrapper.gravity-theme input[type=tel], .gform_wrapper.gravity-theme input[type=text], .gform_wrapper.gravity-theme input[type=time], .gform_wrapper.gravity-theme input[type=url], .gform_wrapper.gravity-theme input[type=week], .gform_wrapper.gravity-theme select, .gform_wrapper.gravity-theme textarea{
	border: 1px solid #252525 !important;
	border-radius: 5px;
}

main#content #contact-info {
    padding-bottom: 0 !important;
}

/* menu */
.menu-text{
	text-transform: lowercase !important;
}

@media (min-width: 993px) {
	#desktop-mega-menu-dropdown ul#menu-mega-menu-desktop > li > .sub-menu li > a{
		color: #252525;
	}
}

/* button */
body:not(.home) .slide_text_inner a.button:visited{
	color: #252525 !important;
	border-color: #252525 !important;
	
	&:hover{
		background-color: #252525 !important;
		color: #fff !important;
	}
}


body:not(.home) main h2,
body:not(.home) main h3 {
    margin-bottom: 1rem;

}


.serv_wrapper .im-service-row.has-description + .im-service-row.serv-desc-row{
	margin-bottom: 1.5rem !important;
}

.blog-sidebar-item:not(:last-of-type){
	border-bottom: 1px solid black;
	margin-bottom: 1.5rem;
}
.blog-sidebar-item form > div > #searchsubmit{
	display: block;
	width: 80%;
	margin: 0 auto;
	margin-top: 0.8rem;
}
.blog-sidebar-item form > div{
	padding: 0.8rem;
}

body.blog header.header #headerimage, body.single-post header.header #headerimage, body.search #headerimage, body.archive #headerimage{
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

@media (max-width: 39.9375em){
		body.blog header.header #headerimage, body.single-post header.header #headerimage, body.search #headerimage, body.archive #headerimage{
		background-position: center left 45%;

	}
}

.gform_wrapper.gravity-theme input[type=color], .gform_wrapper.gravity-theme input[type=date], .gform_wrapper.gravity-theme input[type=datetime-local], .gform_wrapper.gravity-theme input[type=datetime], .gform_wrapper.gravity-theme input[type=email], .gform_wrapper.gravity-theme input[type=month], .gform_wrapper.gravity-theme input[type=number], .gform_wrapper.gravity-theme input[type=password], .gform_wrapper.gravity-theme input[type=search], .gform_wrapper.gravity-theme input[type=tel], .gform_wrapper.gravity-theme input[type=text], .gform_wrapper.gravity-theme input[type=time], .gform_wrapper.gravity-theme input[type=url], .gform_wrapper.gravity-theme input[type=week], .gform_wrapper.gravity-theme select, .gform_wrapper.gravity-theme textarea{ border: 1px solid var(--tertiary)}
header #heroimage .swiper-slide.id-91 picture img {
    -o-object-fit: cover;
    object-fit: cover;
    height: 100%;
    width: 100%;
    object-position: 82% 50%;
}

@media (min-width: 64em){

	/* body.home main #intro .intro-inner{
		display:grid;
		align-items: stretch;
		grid-template-columns: 1fr 1.5fr 1fr;
		gap:20px;
	} */
	/* body.home main #intro .intro-inner h2{margin-top: 0 !important;}
	body.home main #intro .intro-inner .intro-img{
		width: 100%;
		height: 100%;
	}
	body.home main #intro .intro-inner .intro-text{
		height: 100%;
		display: grid !important;
  		place-items: center !important; 
  		text-align: center !important;
		margin-top: 0;
	} */
}	
body.blog article.tease-post{
  margin-bottom: 2.5rem;
}

article.post-type-post > img{
	width: 100% !important;
	height: auto!important;
}

 .gform_fileupload_rules{ font-weight: bold; }
 
.gform_wrapper.gravity-theme .gform_drop_area{
    display: flex;
    justify-content: center;
    align-items: center;
		flex-direction:column;
    width: 100%;
    padding: 2rem;
    text-align: center;
    background-color: #A3BD00;
	background-color: #fff;
    border: 1px dashed #888;
    border-radius: 4px;
    margin: 0!important;
 }


#sidebar h4{
  text-align: center !important;
}

body.single img.featured-img{
	max-width: 600px;
}

@media screen and (max-width: 39.9375em){
  #sidebar ul, #sidebar ul li{ margin-left: 0; }
}


/*To replace blog header
body.blog header.header #headerimage , body.single-post header.header #headerimage, body.category header.header #headerimage, body.search header.header #headerimage, body.archive header.header #headerimage  {
    background-position: center;
	background-image: url() !important;
}*/


@media (max-width: 992px) {
    /* Body scroll lock is handled by JS (position: fixed trick)
       so that iOS Safari does not break overflow-y: auto
       on the fixed #mobile-menu panel. */

    /* Reset display to block so the menu scrolls normally.
       The flex set by _megamenu.scss causes children to shrink
       instead of overflow, which breaks scrolling. */
    #mobile-menu {
        display: block !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch;
    }
	
	#foot-3 .foot-column .textwidget h3{
		text-align: left;
	}
}

body.home .promoText h2 {
    color: #fff !important;
}

/*a.button:visited, input#searchsubmit:visited, input[type=submit]:visited {
    color: #fff!important;
	border: 1px solid #fff !important;
} */


#top-bar #logo {
	@media screen and (max-width: 992px) {
		max-width: 12rem !important;
	}
    
}

.pum-theme-22201 .pum-container, .pum-theme-lightbox .pum-container {
    padding: 18px;
    border-radius: 3px;
    border: 8px solid #000000;
    box-shadow: 0px 0px 30px 0px rgba(2, 2, 2, 1.00);
    background-color: rgba(255, 255, 255, 1.00);
	font-family: "NeueEinstellung" !important;
}

.pum-theme-22201 .pum-container, .pum-theme-lightbox .pum-container p,
.pum-theme-22201 .pum-container, .pum-theme-lightbox .pum-container li{
	font-family: "NeueEinstellung" !important;
}



/* ── FAQ Accordion: Image Match Style ── */

#faqs .faq-section {
  border: 1.5px solid #252525 !important; /* Main section border restored */
  border-radius: 20px;                    /* Pill shape */
  overflow: hidden;
  margin-bottom: 12px;
  background: transparent;
  transition: all 0.25s ease;
}

#faqs .faq-header {
  background: transparent !important;
  border: none !important;                /* Removes default button borders */
  padding: 15px 35px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  text-transform: lowercase;             /* Forces text to Uppercase */
  cursor: pointer;
}

/* Arrow — Just the chevron, no circle/ring */
#faqs .faq-header svg {
  width: 20px !important;
  height: 20px !important;
  flex-shrink: 0;
  border: none !important;                /* No ring around arrow */
  background: transparent !important;      /* No circle background */
  padding: 0 !important;
  border-radius: 0 !important;
  transition: transform 0.25s ease;
}

#faqs .faq-header svg path {
  fill: #252525 !important;               /* Dark arrow color */
}

/* Open content area */
#faqs .faq-content {
  /*  border-top: 1px solid #252525; */         /* Divider when open */
  padding: 15px 35px 25px 35px;
  background: transparent;
}



