/* @import url('https://fonts.googleapis.com/css2?family=Euphoria+Script&display=swap'); */

:root {
	--color-primary: #911439;
    --paragraph-spacing: 2em;
	--h2-block-start-spacing: 2em;
	--ps-inline-content-width: 880px;
	--h2-letter-spacing: -0.8px;
	
	  /* Change these two hex codes to test your alternating row colors */
  --ps-row-odd: #ffffff; 
  --ps-row-even: #f2f3f5; 
	

}

#ps-gallery-test {
//	max-width: var(--ps-inline-content-width);
	
	
}

/* ------------------- New Custom Layout Contact Us ----------------------- */
#top .av_promobox.ps-promo-box-2026 {
	border: 1px solid #911439;
	max-inline-size:calc(var(--ps-inline-content-width) *1.4);
	font-size: 1.1em;
	line-height: 1.4;
	margin: 0 auto;
	float: none;
	
	
}


/* ------------------- PROMO PAGE MARCH 2026 ----------------------- */




.ps-new-promo-title h2.av-special-heading-tag {
	letter-spacing: var(--h2-letter-spacing);
	max-inline-size: 65ch;
	line-height: 1.4;
	text-transform: capitalize;
//	color: green;
	
}

.ps-promo-text p {
//	color: red;
	font-size: 1.2rem;
}


/* Main Promo Offer Text */
p.ps-promo-deal {
  font-size: 1.1em; 
  font-weight: bold;
}

/* Expiry Dates and High-Urgency Text */
p.ps-promo-expiry {
  font-size: 1.4em; 
  line-height: 2em;
  font-weight: bold;
	color: var(--color-primary); 
}

/* Terms, Conditions, and Small Print */
p.ps-promo-terms {
  font-size: 0.9em; 
	color: #666666;
  
}


/* The Promo Card Wrapper */
.ps-promo-card .container {
  /* Soft pink to transparent gradient, flowing left to right */
/*  background: linear-gradient(90deg, rgba(145,20,57,0.3) 0%, rgba(145,20,57,0.05) 100%); */
  border-radius: 16px; /* Gives it the rounded card corners */
  box-shadow: 0 8px 25px rgba(0,0,0,0.06); /* Soft floating shadow */
  padding: 20px; /* Breathing room inside the card */
  margin-top: 10px;
  margin-bottom: 10px;
	border: 1px solid rgba(132,130,133,0.3);
}

/* Ensure image blends nicely inside the card */
.ps-promo-card .avia-image-container img {
  border-radius: 8px;
}

.ps-promo-card2 .container {
	 background: linear-gradient(90deg, rgba(132,130,133,0.3) 0%, rgba(132,130,133,0.3) 100%);
	 border-radius: 16px; /* Gives it the rounded card corners */
  box-shadow: 0 8px 25px rgba(0,0,0,0.06); /* Soft floating shadow */
  padding: 20px; /* Breathing room inside the card */
  margin-top: 10px;
  margin-bottom: 10px;
}


.ps-promo-card3 .container {
	 background: linear-gradient(90deg, rgba(80,80,80,0.8) 0%, rgba(80,80,80,0.8) 100%);
	 border-radius: 16px; /* Gives it the rounded card corners */
  box-shadow: 0 8px 25px rgba(0,0,0,0.06); /* Soft floating shadow */
  padding: 20px; /* Breathing room inside the card */
  margin-top: 10px;
  margin-bottom: 10px;
}



.ps-promo-section {}






/*  PROMOTIONS PAGE  OLD  */

#top #wrap_all .ps-promo-title h2.av-special-heading-tag {
//	outline: 2px solid red;
	letter-spacing: -.01em;
	max-inline-size: 65ch;
	line-height: 1.4;
	text-transform: capitalize;
}





.ps-pricing-table {
  width: 100%;
  border-collapse: collapse;
}

.ps-pricing-table th {
  text-align: left;
  padding: 12px 10px;
//border-bottom: 2px solid #e1e1e1;
	background-color: rgba(145, 20, 57, .3);
	border: none !important;
}

.ps-pricing-table td {
  padding: 12px 10px;
//  border-bottom: 1px solid #f2f3f5;
	border: none!important;
}

/* Alternating Row Colors */
.ps-pricing-table tr:nth-child(odd) {
  background-color: var(--ps-row-odd);
	border: none;
}

.ps-pricing-table tr:nth-child(even) {
  background-color: var(--ps-row-even);
	border: none;
}


.ps-heading-inner.pricing-title h3.av-special-heading-tag {
	// color: blue;
	font-weight:400;
	letter-spacing: var(--h2-letter-spacing);
	text-transform: uppercase;
	font-size: 28px;
}




/*----------------------------------------
// CSS - New Nails / Hair Extensions Pages 2026
//--------------------------------------*/


@media only screen and (max-width: 989px) {
.av-submenu-container {
    position: fixed!important;
top: 0px!important;
}
#main {
//    margin-top: 103px!important;
}
#top .sticky_placeholder {
 display: none;
}


}


/* ----------------  MAIN CONTENT BOX  --------------------------*/
.ps-button-float {
	
//	position: sticky;
 //   left: 0;
 //   top: 320px;
 //   z-index: 999999 !important;
//    transform: rotate(-90deg); /* Optional: rotates button for side-tab look */
	margin-block-start: 1.6rem;
}
	







/* ----------------  MAIN CONTENT BOX  --------------------------*/
.ps-text-column-center {
//	outline: 2px solid red;
	max-inline-size:var(--ps-inline-content-width);
	font-size: 1.1em;
	line-height: 1.4;
	margin: 0 auto;
	display: flow-root;
		
}


.column-top-margin:has(.ps-text-column-center), .column-top-margin:has(.ps-heading-inner)  {
  margin-top: var(--paragraph-spacing);
}


.av-content-full:has(#ps-main-image) {
//	outline: 2px solid red;
//	padding-bottom: 0;
}


/* ----------------  Width of Accordions  --------------------------*/
.ps-pricing-accordion {
	
	max-inline-size:880px;
		margin: 0 auto;
}



/* ----------------  Margins around <P> tags in content  --------------------------*/
.ps-text-column-center p:not(.treatment-note):not(:first-of-type):not(:last-of-type) {
	margin-block: var(--paragraph-spacing);

}


/* ----------------  Margins around <UL> tags in content  --------------------------*/
.ps-text-column-center ul {
    margin-block: var(--paragraph-spacing);
}




/* ----------------  Main Content H2  --------------------------*/
#top .ps-text-column-center h2 {
	margin-block-start: var(--h2-block-start-spacing);
	font-weight:400;
	letter-spacing: var(--h2-letter-spacing);
	text-transform: capitalize;
	line-height: 1.4;
}

#top #wrap_all .all_colors .ps-text-column-center h2, #top #wrap_all .all_colors .ps-text-column-center h3  {
		line-height: 1.2;
	
}


/* ---------------- PAGE H1 --------------------------*/
#top #wrap_all .ps-heading-inner  h1.av-special-heading-tag{
// color: red;
	letter-spacing: -0.8px;
	
}

/* ---------------- H2 in Heading blocks --------------------------*/
#top #wrap_all .ps-heading-inner  h2.av-special-heading-tag{
// color: red;
	margin-block-start: calc(var(--h2-block-start-spacing) / 2);
	letter-spacing: var(--h2-letter-spacing);
		line-height: 1.4;
}




/* ---------------- Lead under H1--------------------------*/
.ps-heading-inner .av-subheading.av-subheading_below p {
	display: block;
	color: var(--color-primary);
	max-inline-size: 60ch;
	margin-inline: auto;
	margin-block-start: .2em;
	font-size: 1.2em;
	line-height: 1.4;
	letter-spacing: -0.7px;
	
}



/* ---------------- Treatment Tier Headings and info-headings in Main content and ACCORDIONS--------------------------*/
.ps-text-column-center .treatment-menu .treatment-tier h3, .ps-text-column-center .info-subheading h3, .ps-info-accordion .info-subheading h3 {
	color: blue;
	color: var(--color-primary);
	margin-block: 3rem 1.4rem;
	text-transform: capitalize;
	font-size: 1.6rem;
	
}





/* ----------------------Remove bottom margin from ul when followed by .treatment-note -----------------*/
.treatment-tier ul:has(+ p.treatment-note) {
  margin-block-end: .75rem;
}



.ps-info-accordion {
	max-inline-size:880px;
		margin: 0 auto;
}

/* ----------------------Font size for Accordions - NOTE THE FINAL ONE IS FOR ENTRIES WITHOUT A P TAG DUE TO ENFOLD FORMATTING-----------------*/
.ps-info-accordion p, 
.ps-info-accordion.av-elegant-toggle .single_toggle p,
.ps-pricing-accordion.av-elegant-toggle .single_toggle p, 
.info-subheading {
	font-size: 1.1rem;
	
}

.ps-info-accordion p.ps-tldr-info {
	// font-variant: small-caps;
	text-align: center;
	margin-block-end: 2em; 
	
}


.ps-info-accordion li {
	list-style-type: none;
}

.ps-info-accordion ul li:before {
content: '✓';
padding-right: 1em;
color: #911439;
}


/* ---------------- Ticks in Tier Content --------------------------*/


.treatment-tier ul li {
	list-style-type: none;
		}

.treatment-tier ul li:before {
content: '✓';
padding-right: 1em;
color: #911439;
}


/* ---------------- Treatment notes below Tier details--------------------------*/
.treatment-note  {
 margin-block-start: 0; 
  font-size: 0.9em;
  font-style: italic;
	font-weight:700;
}


/* ---------------- Treatment MAIN NOTE below ALL Tier details--------------------------*/
.treatment-callout {
//	 font-size: 1.2em;
	line-height: 1.4;
 
	font-weight:700;
	color: var(--color-primary);
	margin-block-start: 2em;
}


/* ---------------- Treatment DETAILS TEXT <P> --------------------------*/
.treatment-details {
	// color: red;
	font-size: 1.1rem;
}


/* ---------------- Treatment PRICE AND DURATION HEADING TEXT <P> --------------------------*/
.treatment-details dt {
	font-size: .7rem;
	text-transform: uppercase;
	margin-block-start: 1rem;
	color: black;
	font-weight: 700;
}


/* ---------------- Treatment PRICE AND DURATION CONTENT <P> --------------------------*/
.treatment-details dd {
	line-height: 1.6;
	color: black;
	
}


/* ---------------- Contact Box position --------------------------*/
.ps-promo-box {
	display: block;
	max-inline-size: calc(var(--ps-inline-content-width) * 1.25);
	margin: 0 auto;
}



.ps-promo-box.av_promobox{
	float: none;
	
}



/* ---------------- HIDDEN TEXT FOR SCREEN READERS ONLY <P> --------------------------*/
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}


/*----------------------------------------
// CSS - END OF  Nails Page 2026
//--------------------------------------*/

/* ---------------- END OF NAILS PAGE --------------------------*/

.hr.hr-short * {
    border-color: #ffffff;
}

.avia_iconbox_title {
    font-family: 'Rubik','HelveticaNeue','Helvetica Neue',Helvetica,Arial,sans-serif;
}

/* Remove image overlay with circle and arrow */
.image-overlay {
display: none !important;
opacity: 0 !important;
}

/* Promo box*/
#top .av_promobox {
background: #faefed;
}

/* Promo Box font size */
.avia-promocontent p {
font-size: 18px;
}

/*Accordion Icon colour*/
.toggle_icon .vert_icon, .toggle_icon .hor_icon, span.toggle_icon {
border-color: #666666;
}

.title_container {
     padding-bottom:10px;
}

@media only screen and (max-width: 1110px) {.av-main-nav > li.menu-item-avia-special {
    display: block;
}
.av-main-nav > li {
    display: none;
}}

.avia-icon-list .iconlist_title { text-transform: none; }


.avia-icon-list-new li {
text-align: center;
}

.avia-icon-list-new li .iconlist_icon,
.avia-icon-list-new li .article-icon-entry {
float: none;
display: inline-block;
vertical-align: middle;
}

#top #wrap_all .header_color .av-menu-button-colored > a .avia-menu-text {
background-color: #969696;
    color: #ffffff;
    border-color: #969696;
}


.avia_message_box_content {
    text-transform: none;
text-align: left;
}

#top .avia-content-slider .slide-entry-title.entry-title,
#top .avia-content-slider .slide-entry-title.entry-title a {
    font-size: 20px;
font-weight: normal !important;
    color: #911439 !important;
}

#top .avia-content-slider .slide-entry-title.entry-title a:hover {
    color: #911439 !important;
}

@media screen and (max-width: 767px) {
/* Color section container width */
.section-container-width .container {
  width: 100% !important;
  min-width: 100%;
  padding: 0;
  margin: 0;
}
}

@media only screen and (max-width: 990px) {
.social_bookmarks_yelp {
display:none !important;

}
}

@media only screen and (max-width: 767px) {
.avia-data-table-wrap.avia_responsive_table td:before {
display: none !important;
}
}

/* Center align columns inside color section*/
#av-center-align-columns .entry-content-wrapper {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-flex-flow: row wrap;
justify-content: center;
}

@media only screen and (max-width: 767px) {

#toggle-testing .toggle_content table {
margin-left:-15px;
}

#toggle-testing .toggle_content table tr th{
// color:red!important;
font-size: 13px;
padding-left: 0.4em;
padding-right:0.5em;
text-transform:none;
letter-spacing:0;
}

#toggle-testing .toggle_content table tr td{
// color:red!important;
font-size: 12px;
}

}


@media only screen and (max-width: 767px) {
.toggle_content table {
margin-left:-20px!important;
}

 .toggle_content table tr th{
// color:red!important;
font-size: 12px !important;
padding-left: 0.3em!important;
padding-right:0.3em!important;
text-transform:none!important;
letter-spacing:0!important;
}

 .toggle_content table tr td{
// color:red!important;
font-size: 12px!important;
}

}


/*----------------------------------------
// CSS - Remove Li dots and make bold TICKS AND STARS
//--------------------------------------*/
.beauty-ticks ul li, .beauty-stars ul li, .beauty-crosses ul li {
list-style-type: none;
font-weight: bold;
line-height:1.8em;
}

/*----------------------------------------
// CSS - Change font-weight back to normal for STARS
//--------------------------------------*/
.beauty-stars ul li {
font-weight: normal;
}
/*----------------------------------------
// CSS - Change LI dots to pink and make TICKS
//--------------------------------------*/
.beauty-ticks ul li:before {
content: '✓';
padding-right: 1em;
color: #911439;
}

/*----------------------------------------
// CSS - Change LI dots to pink and make STARS
//--------------------------------------*/
.beauty-stars ul li:before {
content: '☆';
padding-right: 1em;
color: #911439;
font-weight:bold;
font-size: 1.2em;
}

/*----------------------------------------
// CSS - Change LI dots to pink and make Crosses
//--------------------------------------*/
.beauty-crosses ul li:before {
content: '✗';
padding-right: 1em;
color: #911439;
font-weight:bold;
font-size: 1.2em;
}

/*----------------------------------------
// CSS - Change OL Counters
//--------------------------------------*/
.custom-counter {
  margin: 2em 0 -1em 0;
  padding: 0;
  list-style-type: none;
}

.custom-counter li {
  counter-increment: step-counter;
  margin-bottom: 1.2rem;
}

.custom-counter li::before {
  content: counter(step-counter);
  margin-right: 1rem;
 // font-size: 80%;
  background-color: #911439;
  color: white;
  font-weight: bold;
  padding: 2px 8px;
  border-radius: 3px;
}




.no-caps h2.av-special-heading-tag {
text-transform: none;
letter-spacing:0em;
line-height:1.4em!important;
}

strong.small-bolded-title {
display:block;
margin-top:3em;
}

span.stages {
font-weight:800;
}

/* Center ID for colour sections - Facials */
#eh-center-align-columns .entry-content-wrapper .flex_column_table, .eh-center-align-columns .entry-content-wrapper .flex_column_table {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-flex-flow: row wrap;
justify-content: center;
}

/* Center ID for colour sections - Facials - Contd */
#eh-center-align-columns .av-flex-placeholder {
display: none;
}

/* Raise up Treatment Titles in Colour Section Facials */
.treatment-section-treatment-titles.av-special-heading {
// outline: 2px solid green;
margin-top:1em;
}

/* Padding above and below Read More button in Colour Section Facials */
.treatment-section-read-more.avia-button-wrap a{
// outline: 2px solid blue;
margin: 1em 0 3em 0 ;
}

.test-treatment-section-read-more.avia-button-wrap a{
outline: 2px solid blue;
margin: 0.8em 0 3em 0 ;
}

/* Book Now Button Colour */
#top #wrap_all .header_color .av-menu-button-colored > a .avia-menu-text {
background-color: #911439!important;
    color: #ffffff;
 border: none!important;
}

/* Shopping Button Colour */

#top #wrap_all .header_color .av-menu-button-colored.shopping > a .avia-menu-text {
background-color: #464646!important;
// border-color: #fff!important;

}

/* Shopping Button Spacing */
#top #wrap_all .header_color .av-menu-button-colored.shopping > a
{
margin-right:12px!important;
}

/* Reduce the space between the menu items */
@media only screen and (max-width: 1250px)
{
 .av-main-nav > li > a
{ padding: 0 8px; }

}

/* Home page staff profiles TITLES*/
.av-special-heading.staff-title h2 {
text-transform: none;
letter-spacing: .01em;
color: #911439;
margin-top: -1.3em;
padding-bottom: 0.3em;
font-weight: 500;
}

/* Home page staff profiles Speciality span class title */
.av-special-heading .speciality {
color: #911439;
font-weight: bold;
}

/* Home page staff profiles Specialities text spacing */
.av-special-heading.staff-title .av-subheading_below {
line-height:1.6em;
}


/* Home page staff profiles TITLES on MOBILE */
@media only screen and (max-width: 1250px)
{
.av-special-heading.staff-title h2 {
font-size: 1.8em!important;
}
}


p.add-on, p.add-on-clients, p.add-on-toner {
	font-weight: bold;
font-size:13px;

}

p.add-on-toner {
color: #911439;
}







/* ----------------  Treatwell Review Widget (Complete)  --------------------------*/

/* Main Card Styling & Font Override */
#top .ps-treatwell-widget {
  background: #ffffff;
  padding: 40px; 
  border-radius: 8px; 
  box-shadow: 0 5px 20px rgba(0,0,0,0.05); 
  color: #121C3A; 
  max-width: 900px;
  margin: 0 auto;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; 
}

#top .ps-treatwell-widget .tw-title {
  font-family: inherit;
  font-size: 20px;
  font-weight: 700;
  color: #121C3A;
  margin-top: 0;
  margin-bottom: 25px;
  border: none;
  text-transform: none; 
}

/* Desktop Flexbox Layout */
#top .ps-treatwell-widget .tw-body {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 50px;
  margin-bottom: 30px; 
}

/* Overall Score Section */
#top .ps-treatwell-widget .tw-overall {
  display: flex;
  align-items: center;
  gap: 15px;
}

#top .ps-treatwell-widget .tw-score {
  font-family: inherit;
  font-size: 80px; 
  font-weight: 400; 
  color: #FDB714; 
  line-height: 1;
  letter-spacing: -2px; 
}

#top .ps-treatwell-widget .tw-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

#top .ps-treatwell-widget .tw-count {
  font-size: 14px;
  color: #8E95A4; 
  font-weight: 500;
}

/* The Star Magic */
#top .ps-treatwell-widget .tw-stars {
  display: inline-block;
  font-size: 26px;
  font-family: Arial, sans-serif !important; 
  line-height: 1;
  color: #FDF1D0; 
  position: relative;
}

#top .ps-treatwell-widget .tw-stars::before {
  content: '★★★★★';
}

#top .ps-treatwell-widget .tw-stars-fill {
  position: absolute;
  top: 0;
  left: 0;
  white-space: nowrap;
  overflow: hidden;
  color: #FDB714; 
}

#top .ps-treatwell-widget .tw-stars-fill::before {
  content: '★★★★★';
}

/* Category Breakdown Grid */
#top .ps-treatwell-widget .tw-breakdown {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 50px;
  row-gap: 15px;
  flex-grow: 1;
}

#top .ps-treatwell-widget .tw-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 8px;
}

#top .ps-treatwell-widget .tw-border-bottom {
  border-bottom: 1px solid #E5E7EB;
}

#top .ps-treatwell-widget .tw-label {
  font-weight: 500;
  font-size: 16px;
  color: #121C3A;
}

/* The Bottom Multi-colored Bar */
#top .ps-treatwell-widget .tw-bar {
  height: 6px;
  width: calc(100% + 80px); 
  margin-left: -40px; 
  background: linear-gradient(to right,
    #FDB714 0%, #FDB714 38%,
    #121C3A 38%, #121C3A 59%,
    #00B3B5 59%, #00B3B5 100%
  );
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}

/* ---------------- Mobile Adjustments ---------------- */
@media (max-width: 768px) {
  #top .ps-treatwell-widget {
    padding: 30px; 
  }
  
  #top .ps-treatwell-widget .tw-body {
    flex-direction: column;
    align-items: flex-start;
    gap: 30px;
  }
  
  /* Stack the main score and stars vertically */
  #top .ps-treatwell-widget .tw-overall {
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
  }
  
  #top .ps-treatwell-widget .tw-score {
    font-size: 64px; 
  }
  
  /* Stack the subheadings and stars vertically */
  #top .ps-treatwell-widget .tw-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    padding-bottom: 12px;
  }
  
  #top .ps-treatwell-widget .tw-breakdown {
    width: 100%;
    grid-template-columns: 1fr;
    column-gap: 0;
  }
  
  /* Adjust the colored bar to match the new mobile padding */
  #top .ps-treatwell-widget .tw-bar {
    width: calc(100% + 60px); 
    margin-left: -30px;
  }
}

/* ---------------- Treatwell Hover Effects & Link Fixes ---------------- */

/* Turn the block into a proper link container and add a smooth animation */
#top a.ps-treatwell-widget {
  display: block; 
  text-decoration: none !important; /* Stops Enfold from underlining the whole card */
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* The Hover Effect: Lift the card and deepen the shadow */
#top a.ps-treatwell-widget:hover {
  transform: translateY(-5px); 
  box-shadow: 0 12px 28px rgba(0,0,0,0.12); 
}

/* Force the title to stay dark blue on hover so Enfold doesn't ruin it */
#top a.ps-treatwell-widget:hover .tw-title {
  color: #121C3A !important;
  text-decoration: none !important;
}

/* ------------------------------------------------------------------- FULL HERO CUSTOMIZATION (DESKTOP ONLY 990px+) ----------------------------------------------------------------------------------------------------------- */

@media only screen and (min-width: 990px) {
/* 1. SECTION BACKGROUND & SLIDER HEIGHT */
.custom-hero-height {
background-color: #ececec !important;
}
.custom-hero-height .avia-slideshow-inner,
.custom-hero-height .avia-slideshow-inner li {
height: 890px !important;
}
/* 2. THE 1310px GRID LOCK */
.custom-hero-height .avia-slideshow-inner li {
width: 90% !important;
max-width: 1310px !important;
margin: 0 auto !important;
}
/* 3. IMAGE POSITIONING (ALIGNED TO RIGHT OF GRID) */
.custom-hero-height img {
width: auto !important;
height: 890px !important;
object-fit: cover !important;
margin-left: auto !important;
margin-right: 50px !important;
display: block !important;
}
/* 4. CAPTION BOX POSITIONING (VERTICALLY CENTERED) */
.custom-hero-height .avia-caption {
top: 50% !important;
bottom: auto !important;
transform: translateY(-50%) !important;
width: 100% !important;
padding: 0 !important;
}
/* 5. CAPTION GRID ALIGNMENT (THE 1310px INNER BOX) */
.custom-hero-height .caption_bottom .inner_caption {
width: 100% !important;
max-width: 1310px !important;
margin: 0 auto !important;
left: 0 !important;
right: 0 !important;
text-align: left !important;
}
/* 6. THE GREY PANEL TEXT WRAPPER (WIDENED TO STOP H2 WRAPPING) */
.custom-hero-height .avia-inner-caption {
width: 60% !important; 
/* Increased from 45% to give H2 room to breathe */
margin-left: 0 !important;
text-align: center !important;
}
/* FORCING ALL CAPTION CONTENT TO FULL WIDTH FOR CENTERING */
.custom-hero-height .avia-caption-content {
width: 100% !important;
display: block !important;
}
/* 7. TYPOGRAPHY UTILITY SYSTEM - STABILIZED UNTIL 1250px */
/* Font 1: Euphoria Script */
.custom-hero-height h2.avia-caption-title {
font-family: 'Euphoria Script', cursive !important;
/* This math locks the font at 130px until the screen is narrower than 1250px */
font-size: clamp(80px, calc(130px + (100vw - 1250px) * 0.1), 130px) !important;
color: #ffffff !important;
line-height: 1.1 !important;
margin-bottom: 30px !important;
text-align: center !important;
display: block !important;
}
/* Font 2: Playfair Display */
.custom-hero-height .slide-font-playfair {
font-family: 'Playfair Display', serif !important;
/* Locks at 60px until 1250px wide */
font-size: clamp(40px, calc(60px + (100vw - 1250px) * 0.05), 60px) !important;
color: #000000 !important;
line-height: 1.2 !important;
margin-bottom: 25px !important;
text-align: center !important;
display: block !important;
}
/* Font 3: Rubik */
.custom-hero-height .slide-font-rubik {
font-family: 'Rubik', sans-serif !important;
/* Locks at 42px until 1250px wide */
font-size: clamp(24px, calc(42px + (100vw - 1250px) * 0.02), 42px) !important;
color: #8c1d3c !important;
line-height: 1.2 !important;
text-align: center !important;
display: block !important;
}


/* --- 1. GLOBAL RESET FOR HERO AREA (HEADER GAP KILLER) ------------------------------------------------------------------------------------------------------- */
/* --- 1. GLOBAL RESET & GHOST GAP KILLER --- */
:root {
  --hero-bg: #f2f3f5; /* THE NEW GREY COLOR */
}

.page-id-3650 #main .container_wrap_first { border-top: none !important; }

/* Kills the 50px padding Enfold puts at the top of the page */
.page-id-3650 #main .template-page.content {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Kills the &nbsp; ghost heading you found */
.page-id-3650 .avia-smallarrow-slider-heading,
.page-id-3650 .new-special-heading,
.page-id-3650 .avia-content-slider-inner {
    display: block !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.page-id-3650 .avia-smallarrow-slider-heading { display: none !important; }

/* --- 2. CONTENT SLIDER HERO (DESKTOP 990px+) --- */
@media only screen and (min-width: 990px) {

  .av-flex-container {
    display: flex !important;
    flex-direction: row-reverse !important; 
    width: 100% !important;
    max-width: 1310px !important;
    height: 890px !important;
    margin: 0 auto !important; 
    padding: 0 !important;
    background-color: var(--hero-bg) !important; /* UPDATED COLOR */
    overflow: hidden !important;
  }

  /* IMAGE COLUMN */
  .av-image-column {
    flex: 0 0 50% !important; 
    max-width: 50% !important;
    height: 890px !important;
    background-color: var(--hero-bg) !important; /* UPDATED COLOR */
    display: flex !important;
  }

  .av-image-column img {
    width: 100.5% !important; 
    height: 100% !important;
    object-fit: cover !important;
    object-position: left center !important; 
    display: block !important;
  }

  /* TEXT COLUMN */
  .av-text-column {
    flex: 0 0 50% !important; 
    max-width: 50% !important;
    height: 890px !important;
    padding: 0 40px !important; 
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important; 
    align-items: center !important;    
    background-color: var(--hero-bg) !important; /* UPDATED COLOR */
    text-align: center !important;
    box-sizing: border-box !important;
  }

  /* TYPOGRAPHY SYSTEM */
  .av-text-column h2, .av-text-column p, .av-text-column span {
    margin: 0 !important;
    padding: 0 !important;
    text-transform: none !important;
  }

  /* Euphoria Script (White) */
  .av-text-column h2 {
    font-family: 'Euphoria Script', cursive !important; 
    font-size: clamp(70px, calc(130px + (100vw - 1250px) * 0.1), 130px) !important;
    color: #ffffff !important;
    line-height: 1.0 !important;
    margin-bottom: 15px !important;
  }

  /* Playfair Display (Black) */
  .av-text-column .slide-font-playfair {
    font-family: 'Playfair Display', serif !important;
    font-size: clamp(36px, calc(60px + (100vw - 1250px) * 0.05), 60px) !important;
    color: #000000 !important; 
    line-height: 1.1 !important;
    margin-bottom: 15px !important;
    display: block !important;
  }

  /* Rubik (Red) */
  .av-text-column .slide-font-rubik {
    font-family: 'Rubik', sans-serif !important;
    font-size: clamp(22px, calc(42px + (100vw - 1250px) * 0.02), 42px) !important;
    color: #8c1d3c !important; 
    line-height: 1.2 !important;
    display: block !important;
  }
}

/* --- 1. THE FONT IMPORTS (Ensuring they exist) --- */
@import url('https://fonts.googleapis.com/css2?family=Euphoria+Script&family=Playfair+Display:wght@400;700&family=Rubik:wght@400;500;700&display=swap');

/* --- 2. GLOBAL RESET --- */
:root { --hero-bg: #f2f3f5; }

/* Kill top gaps */
#top.page-id-3650 #main .template-page.content { padding-top: 0 !important; }
#top.page-id-3650 .avia-content-slider-inner { padding-top: 0 !important; margin-top: 0 !important; }
#top.page-id-3650 .avia-smallarrow-slider-heading { display: none !important; }

/* --- 3. DESKTOP LAYOUT (990px+) --- */
@media only screen and (min-width: 990px) {
  .av-flex-container {
    display: flex !important;
    flex-direction: row-reverse !important; 
    width: 100% !important;
    max-width: 1310px !important;
    height: 890px !important;
    margin: 0 auto !important; 
    background-color: var(--hero-bg) !important;
    overflow: hidden !important;
  }
  .av-image-column, .av-text-column {
    flex: 0 0 50% !important;
    width: 50% !important;
    height: 890px !important;
  }
  .av-image-column img {
    width: 101% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
  .av-text-column {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    background-color: var(--hero-bg) !important;
    padding: 0 60px !important;
    text-align: center !important;
  }
}

/* --- 4. MOBILE GRID OVERLAY --- */
@media (max-width: 989px) {
  .av-flex-container {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  .av-image-column, .av-text-column {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }
  .av-image-column img { width: 100% !important; height: auto !important; }
  .av-text-column {
    z-index: 10 !important;
    background-color: rgba(242, 243, 245, 0.8) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 20px !important;
  }
}

/* --- 5. THE CONTENT SLIDER FONT FORCER --- */
/* Target the Enfold 'excerpt' wrapper specifically to override theme defaults */

.slide-entry-excerpt h2, 
#top #wrap_all .av-text-column h2 {
    font-family: 'Euphoria Script', cursive !important; 
    font-size: clamp(60px, 10vw, 130px) !important;
    color: #ffffff !important;
    line-height: 0.9 !important;
    margin: 0 0 20px 0 !important;
    text-transform: none !important;
}

.slide-entry-excerpt .slide-font-playfair,
#top #wrap_all .av-text-column .slide-font-playfair {
    font-family: 'Playfair Display', serif !important;
    font-size: clamp(30px, 6vw, 60px) !important;
    color: #000000 !important; 
    line-height: 1.1 !important;
    margin: 0 0 15px 0 !important;
    display: block !important;
}

.slide-entry-excerpt .slide-font-rubik,
#top #wrap_all .av-text-column .slide-font-rubik {
    font-family: 'Rubik', sans-serif !important;
    font-size: clamp(20px, 4vw, 42px) !important;
    color: #8c1d3c !important; 
    line-height: 1.2 !important;
    display: block !important;
}

/* Kill Enfold's default paragraph spacing/colors inside the slider */
.slide-entry-excerpt p {
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
}