.hero-video-text {
  animation: kenburns 16s ease-in-out infinite alternate;
  will-change: transform;
  text-shadow: 
  0 2px 6px rgba(51, 72, 100, 0.7),
  0 6px 20px rgba(51, 72, 100, 0.5) !important;
  
  backface-visibility: hidden;
  transform: translateZ(0);
}

.hero-video-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(40, 80, 140, 0.08) !important;
  pointer-events: none;
}

@keyframes kenburns {
  0% {
    transform: translateZ(0) scale(1) translate(0, 0);
  }
  100% {
    transform: translateZ(0) scale(1.02) translate(-3px, -2px);
  }
}

.life-after-title {
	display: none;
}

footer.wp-block-template-part {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body:has(.wp-block-navigation__responsive-container.is-menu-open) #floating-contact-bar {
	display: none !important;
}

.hero-video-wrap {
  position: relative;
  overflow: hidden;
}

.hero-video-wrap video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  clip-path: url(#hero-wave);
}

.wave1 {
	margin-top: -1px;
}

.wave1 svg {
	display: block;
	width: 100%;
	height: 70px;
}

.wave2 {
	margin-top: -1px;
}

.wave2 svg {
	display: block;
	width: 100%;
	height: 70px;
	transform: rotate(180deg) scaleX(-1);
}

.wave3 {
	line-height: 0;
	margin-bottom: -2px;
}

.wave3 svg {
	display: block;
	width: 100%;
	height: 70px;
}

.wave4 {
	margin-top: -1px;
}

.wave4 svg {
	display: block;
	width: 100%;
	height: 70px;
	transform: rotate(180deg) scaleX(-1);
}

.wave5 {
	margin-top: -1px;
}

.wave5 svg {
	display: block;
	width: 100%;
	height: 70px;
}

.wave6 {
	margin-top: -1px;
}

.wave6 svg {
	display: block;
	width: 100%;
	height: 70px;
  transform: rotate(180deg) scaleX(-1);
}

.wave7 {
	margin-top: -1px;
}

.wave7 svg {
	background: #334864;
	display: block;
	width: 100%;
	height: 70px;
}

.wave8 {
	margin-top: -1px;
}

.wave8 svg {
		background: #334864;

	display: block;
	width: 100%;
	height: 70px;
  transform: rotate(180deg) scaleX(-1);
}

#about {
	scroll-margin-top: 180px;
}

.hero-heading-mobile{
	display: none !important;
}

.logos-mobile { display: none !important; }

.fiery-text {
  position: relative;
  font-family: 'Playfair Display', serif;
  z-index: 1;
  color: #f4fff8;

		text-shadow: 0 2px 6px rgba(0,0,0,0.4);
}

.fees-mobile {
	display: none !important;

}

.master-container {
		padding: 0 0 0 0 !important;
	}

.touch-container {
	position: relative !important;
}

.cta {
	font-size: 24px !important;
}

	.quote-container {
		margin-top: 0px !important;
		padding-top: 0px !important;
		padding-bottom: 0px !important;
		padding-left: 0px !important;
		padding-right: 0px !important;
		height: 170px !important;
		width: 400px !important;
	}

.card {
	padding: 20px 10px 20px 10px !important;
}


.card-text a {
	text-decoration: none !important;
	color: #4C902D;
	border-bottom: none !important;
	box-shadow: none !important;
}


/* 🔥 background glow layer */
.fiery-text::before {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  z-index: -1;

  color: rgba(255,120,20,0.9);
filter: blur(28px);
  opacity: 1;
  color: rgba(255,80,0,0.95);
  filter: blur(18px);
  opacity: 0.9;

  transform: scale(1.05);
}

.hide {
	display: none !important;
}

.tag1, .tag2 {
	display: none !important;
}

@media (max-width: 767px) {
	
	.hero-video-text {
	  font-size: 28px !important;
  }
	
	.hero-text {
		padding-left: 10px !important;
		padding-right: 10px !important;
	}
	
	.col-width {
		padding-left: 0px !important;
		padding-right: 0px !important;
	}
	
.mobile-col-img {
	width: 100% !important;
	height: 300px !important;
	overflow: hidden !important;
}

.mobile-col-img img {
	padding-left: 0 !important;
	padding-right: 0 !important;
	padding-top: 0 !important;
	border-radius: 0 !important;
	width: 100% !important;
	height: 300px !important;
	object-fit: cover !important;
}
	
.mobile-col-img.wp-block-cover {
	min-height: 300px !important;
	height: 300px !important;
	overflow: hidden !important;
	border-radius: 0 !important;
}

.mobile-col-img .wp-block-cover__video-background,
.mobile-col-img .wp-block-cover__image-background {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	border-radius: 0 !important;
}

	.life-after-title {
		display: block;
		padding-top: 10px;
	}
	
	.life-after-title-desktop {
		display: none;
	}
	
	.hero-col {
		padding-left: 0px !important;
		padding-right: 0px !important;
	}
	
	.hero-col1 {
		padding-left: 0px !important;
		padding-right: 0px !important;
	}
	
	.hero-col2 {
		padding-left: 15px !important;
		padding-right: 15px !important;
	}
	
	.entry-content .wp-block-list,
.entry-content .wp-block-list li {
	font-family: "BBC Reith Sans", sans-serif;
}
	
	#about {
	 scroll-margin-top: 150px;
  }
	
	.logos-mobile { display: block !important; }
	
	.logos-desktop { display: none !important; }
	
	.hero-image {
		margin-top: 0px !important;
	}
	
	.hero-heading-mobile {
		display: block !important;
	}
	
	.hero-heading-desktop {
		display: none !important;
	}
	
	.hero-column-block {
		padding-top: 0px !important;
	}
	
	.hero-column-block > .wp-block-column:nth-child(1) {
	  order: 2;
  }
	
	.hero-column-block > .wp-block-column:nth-child(2) {
	  order: 1;
  }

.hero-columns > .wp-block-column:nth-child(2) {
	order: 1;
}
	
	  .fees-mobile {
    gap: 20px;
  }

  .fees-mobile:not(.is-not-stacked-on-mobile) > .wp-block-column {
    margin-bottom: 20px;
  }

  .fees-mobile:not(.is-not-stacked-on-mobile) > .wp-block-column:last-child {
    margin-bottom: 0;
  }
	
	.fees-desktop {
		display: none !important;
	}
	
	.fees-mobile {
		display: block !important;
	}
	
	.quote-image {
		padding: 0 0 0 0 !important;
	}
	
	.master-container {		
    padding: 0 0 0 0 !important;
	}
  .spacers {
		display: none !important;
  }
	
  .fiery-text {
    font-size: 30px !important;
		padding-left: 15px !important;
		padding-bottom: 2px !important;
		text-shadow: 0 2px 6px rgba(0,0,0,0.4);
		
  }
	
	.fiery-text2 {
    font-size: 30px !important;
		padding-left: 40px !important;
		padding-bottom: 5px !important;
  }
	
	.quote-text {
		font-size: 30px !important;
		padding-top: 10px !important;
		padding-bottom: 0px !important;
		text-align: center;
		text-shadow: 0 2px 6px rgba(0,0,0,0.4);
	}
	
	.quote-text1 {
		font-size: 36px !important;
		padding-right: 15px;
		text-align: right;
		text-shadow: 0 2px 6px rgba(0,0,0,0.4);
	}
	
	.quote-spacer {
		height: 20px !important;
	}
	
	.quote-container {
		padding-top: 0px !important;
		padding-bottom: 0px !important;
		padding-left: 0px !important;
		padding-right: 0px !important;
		width: 100% !important;
		height: 250px !important;
	}
}

@media (min-width: 768px) {
	
	.entry-content .wp-block-list,
  .entry-content .wp-block-list li {
  font-size: 20px !important;
	font-family: "BBC Reith Sans", sans-serif;
}
	.spacer-mobile {
		display: none !important;
	}
	
 #hero .wp-block-cover__inner-container,
 #hero .hero-inner,
 #hero .parent {
    height: 100%;
 } 

 #hero .hero-inner {
    display: flex;
 }

 #hero .parent {
    flex: 1;
    align-items: stretch;
 }

 #hero .parent > .wp-block-column {
    display: flex;
    flex-direction: column;
 }
}

.what-next-text {
	display: none !important;
}

.floating-contact {
  position: fixed;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
}

@media (max-width: 767px) {
	
	.master-column {
		padding: 0px 0px 0px 0px !important;
	}

	.inner-column {
		padding: 20px 20px 20px 20px !important;
	}
	
	.image {
		border-radius: 20px 20px 20px 20px !important;
	}
	
	.text-column {
		border-radius: 20px !important;
	}
	
	.text-column-left {
		border-radius: 20px !important;
	}
	
	.counselling-col {
		border-radius: 20px 20px 0px 0px !important;
		
	}
	
	.coaching-col {
		border-radius: 0px 0px 20px 20px !important;
	}
	
	

    .hero-column {
        background: transparent !important;
        padding: 0px 10px 0px 200px !important;
    }

    #hero .hero-h1 {
        display: none !important;
    }
	
	    .tag1 {
				font-family: "BBC Reith Sans", sans-serif;
				display: block !important;
        text-align: left !important;
        font-size: 24px !important;
			  margin-top: -90px !important;
			  margin-left: -80px !important;
			  padding: 0 !important;
    }
	
	.tag2 {
		font-family: "BBC Reith Sans", sans-serif;
		display: block !important;
     text-align: left !important;
        font-size: 24px !important;
			  margin-top: -8px !important;
			  margin-left: -30px !important;
			  padding: 0 !important;
    }
	
	#hero .hero-img {
		min-height: 150px !important;
		height: 300px !important;
	}
	
	.hero-text {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
	
	.hero-text1 {
		padding-top: 5px !important;
		padding-left: 5px !important;
		font-size: 15px !important;
		display: none !important;
	}

	.hero-text2 {
		margin-top: 10px !important;
		margin-left: -15px !important;
		padding: 0 !important;
		font-size: 17px !important;
	}
	
	.what-next-text {
	  display: block !important;
		font-size: 18px !important;
  }
	
 .transition-after-therapy-col {
		padding-left: 10px !important;
		padding-right: 10px !important;
		padding-top: 0px !important;
		padding-bottom: 10px !important;
	}
	
	.mobile-width {
	  padding-left: 5px !important;
	  padding-right: 5px !important;
  }
	
	.spacer-mobile {
		height: 60px !important;
	}
	
	.spaced {
		height: 60px !important;
	}
	
	.page-title {
		text-align: center !important;
		font-size: 22px !important;
		font-weight: 600 !important;
		padding-left: 0px !important;
	}
	
	.page-title1 {
		font-size: 24px !important;
	}
	
	.page-title2 {
		text-align: center !important;
		font-size: 21px !important;
		font-weight: 600 !important;
		padding-left: 0px !important;
	}
	
	.page-title3 {
		text-align: center !important;
		font-size: 28px !important;
		font-weight: 600 !important;
		padding-left: 0px !important;
	}
	
	.page-subtitle {
		font-size: 21px !important;
	}
	
	.how-i-work-title {
		text-align: center !important;
		font-size: 22px !important;
	}
	
	.fee-title {
		font-size: 22px !important;
	}
	
  .fee-header {
    font-size: 20px !important; /* mobile */
  }
	
	.fee-time {
    font-size: 18px !important; /* mobile */
  }
	
	.fee-text {
		font-size: 20px !important; /* mobile */
	}
	
	.fee {
		font-size: 50px !important;
	}
	
	.fee-button {
		margin-top: 0px !important;
		padding-top: 0px !important;
	}
	
	.quote-column {
		padding-left: 0 !important;
		margin-left: 0px !important;
	}
	
	.image-text {
		font-size: 28px !important;
	}
	
	.intro-col1 {
		order: 2;
	}
	
	.intro-col2 {
		padding-top: 0px !important;
		order: 1;
	}
	
	.footerItem {
		font-size: 14px !important;
		text-decoration: none !important;
		padding-top: 10px !important;
		padding-bottom: 10px !important;
	}
	
	.footerCopyright {
		font-size: 14px !important;
	}	
}

.spaced {
		height: 100px !important;
	}

.wp-block-image figcaption, .wp-caption-text {
  font-family: "BBC Reith Sans", sans-serif;
  font-size: 14px !important;
  color: #555;
  text-align: center;
}

.close-drawer-x {
    /* Positioning */
    position: absolute !important;
    top: -40px;
    right: 20px; /* Aligns with your side padding */
		left: auto !important;
    z-index: 999;
	  width: auto !important;
	  display: block !important;

    /* Styling the X */
    background: none;
    border: none;
    font-size: 60px;      /* Large, clear X */
    line-height: 1;
    color: #000000;      /* Matching your green */
    cursor: pointer;
    padding: 10px;
    
    /* Animation */
    transition: transform 0.3s ease, color 0.3s ease;
}


@media (max-width: 767px) {
	
	p {
		font-size: 16px !important;
	}
	
	.tag-text {
	  font-size: 18px !important;
		font-weight: normal !important;
		padding: 0 !important;
	}
	
	.master {
		padding-top: 0px !important;
		padding-left: 10px !important;
		padding-right: 10px !important;
	}

}

.wp-block-search__inside-wrapper {
  display: flex;
  height: 30px;
  gap: 0;
}

.wp-block-search__input {
  border: 0;
  border-radius: 8px;
  padding: 0 10px;
  font-size: 14px;
  font-family: "Manrope", sans-serif;
  height: 100%;              /* match wrapper */
}

.wp-block-search__button {
  background: #4C902D;
  color: white;
  border: none;
  padding: 0 15px;
  border-radius: 100px;
  font-weight: 600;
  cursor: pointer;
  height: 100%;              /* match wrapper */

  display: flex;             /* centres text */
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.wp-block-query .wp-block-post-featured-image {
  height: 320px;
  overflow: hidden;
}

.wp-block-query .wp-block-post-featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wp-block-query .wp-block-post-title a {
  word-break: normal;
  font-weight: 600;
  color: #1f3a8a;        /* your brand colour */
  font-size: clamp(16px, 3vw, 28px);
  text-decoration: none;
}

.wp-block-query .wp-block-post-excerpt p {
  font-family: "BBC Reith Sans", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: #444;
}

.wp-block-query .wp-block-post-title a:hover {
  color: #4C902D;        /* hover colour */
}

.wp-block-navigation__responsive-container-open {
	background-image: url('https://images2.imgbox.com/70/c1/jr4vjUln_o.png');
  background-size: contain;
  background-repeat: no-repeat;
  width: 35px;
  height: 30px;
	position: fixed;
	top: 60px;       /* Adjust vertical position */
  right: 35px;      /* Push to left side of screen */
  z-index: 9999;   /* Ensure it stays above other elements */
}

.wp-block-navigation__responsive-container-open svg {
	display: none !important;
}

@media only screen and (min-width: 1025px) {
  #mainnav ul li ul.sub-menu {
    width: 240px;
  }
  #mainnav ul li ul.sub-menu li,
  #mainnav ul li ul.sub-menu li a{
    width: 100%;
  }
}

.wp-block-latest-posts li a {
    word-break: normal;
    font-weight: 600;  /* bold */
    color: #1f3a8a;    /* change to your brand colour */
	  font-size: clamp(16px, 3vw, 28px);
}

.wp-block-latest-posts li a:hover {
    color: #4C902D;    /* hover colour */
}

.wp-block-latest-posts__post-author {
    font-weight: 700;
	  font-size: 14px;
}

.posts-grid-9x9 ul {
  display: grid;
  grid-template-columns: repeat(9);
  gap: 16px;
  padding: 0;
  margin: 0;
}

.posts-grid-9x9 li {
  list-style: none;
  margin: 0;
}

/* Make all featured images same height */
.posts-grid-9x9 img {
  width: 100%;
  height: 350px;          /* choose your height */
  object-fit: cover;      /* crops instead of stretching */
  display: block;
}

.posts-grid-9x9 a {
  display: block;
  text-decoration: none;
}

@media (max-width: 1200px){
  .posts-grid-9x9 ul { grid-template-columns: repeat(6, 1px); }
}
@media (max-width: 768px){
  .posts-grid-9x9 ul { grid-template-columns: repeat(3, 1px); justify-content: center; }
}

@media (max-width: 768px){
  .posts-grid-9x9{
    width: 96%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
  }
}

.toc-body {
  font-family: 'Merriweather', serif;
  font-size: 16px;
  font-weight: 500;
  margin-bottom:2px;
}

.button-row {
  display: flex;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap; /* allows stacking on small screens */
}

@media (min-width:900px) { .dynamic-panel { max-width:520px; } }

/* Remove space at the very top of the site */
.page-id-8513 {
    margin-top: -150px !important;
    padding-top: 0 !important;
}

.page-id-212 .wp-block-template-part,
.page-id-404 .wp-block-template-part {
    display: none !important;
}

/* Remove padding from the header container */
#masthead, .site-header {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Remove margin from the top of the main content area */
#content, .site-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

html {
    -webkit-text-size-adjust: 100%; /* Prevents iOS Safari from zooming text */
    text-size-adjust: 100%;
}

/* Ensure the parent is the anchor */
.reveal-content {
    position: relative; 
}


/* Remove the default arrow from the left */
summary {
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
}

summary::-webkit-details-marker {
  display: none;
}

.headers {
		padding-top: 60px;
}



.spacer {
		display: block !important;
}

.spaced {
		display: block !important;
}

.pic {
	display: none !important;
}

/* 1. Base styles for all devices (Mobile First) */
.split-container {
    display: flex;
    flex-direction: column;
    position: relative;
    /* Your requested 70px top padding */
    box-sizing: border-box;
		padding-top: 70px;
}

CSS
/* 1. FULL WIDTH WITH 10PX GUTTERS */
.alignfull.split-container {
    /* Calculates 100% width minus 10px on each side (20px total) */
    width: calc(100vw - 20px) !important; 
    position: relative;
    left: 50%;
    right: 50%;
    /* Pulls it to the edges but stops 10px short */
    margin-left: calc(-50vw + 10px) !important;
    margin-right: calc(-50vw + 10px) !important;
    max-width: calc(100vw - 20px) !important;
	 border-radius: 10px;
    
    display: flex;
    flex-direction: column;
    /* Keeps your 70px top and 50px mobile side padding */
    padding: 70px 50px 50px 50px; 
    box-sizing: border-box;
    
    /* Optional: Rounded corners look great with gutters */
    /* border-radius: 8px; */
}

.floating-center-image {
    display: flex;             /* Use flex to center children */
    align-items: center;       /* Vertical centering */
    justify-content: center;    /* Horizontal centering */
    position: relative;
    
    /* Fallback for aspect-ratio */
    width: 100%;
    height: 0;
    padding-top: 101%; /* Forces a 1:1 square ratio */
    border-radius: 20px !important;
    overflow: hidden;
}

.floating-center-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;         /* Fills the square without stretching */
    object-position: center;    /* Ensures the "middle" of the photo is visible */
}

.image {
    display: flex;             /* Use flex to center children */
    justify-content: center;    /* Horizontal centering */
    position: relative;

    width: 100%;
    height: auto;
    overflow: hidden;
}

.image img {
    position: relative;
    width: 100%;
    object-fit: cover;         /* Fills the square without stretching */
    object-position: center;    /* Ensures the "middle" of the photo is visible */
}

.floating-right-image-1, .floating-right-image-2 {
    /* On mobile: behaves like a normal block */
    display: none !important;
}

.desktopcolumn {
    padding-right: 0px !important;
    margin-right: 0px !important; /* Add this to test */
}

.piccy {
	width: 75px;
	height: 75px;
}

/* 2. Desktop styles (Only for screens 782px and wider) */
@media (min-width: 782px) {
    .split-container {
        /* Removes mobile side-padding; keeps top padding if desired */
				padding: 0 0 0 0; 
    }
	
		.headers {
			padding-top: 140px;
		}
	
	.pic {
		display: block !important;
	}
	
	.piccy {
		width: 100px;
		height: 100px;
	}
	
	.image {
		height: 500px;
		width: auto;
	}
			.spacers {
				display: block !important;
		}
	
	.spaced {
		display: none !important;
	}

    .floating-center-image {
        position: absolute;
        top: 295px;
        left: 80%;
        transform: translate(-50%, -50%);
        z-index: 10;
        
        /* RESET the mobile square hack */
        padding-top: 0;     /* Removes the forced square padding */
        height: 465px;      /* Sets your specific desktop height */
        width: 410px;       /* Sets your specific desktop width */
        
        display: block;     /* Optional: back to block if flex isn't needed */
        margin-bottom: 0;
    }
	
	.floating-right-image-1 {
				display: block !important;
				position: absolute;
        top: 231px;           /* Your coordinate */
        left: 98%;          /* Your coordinate */
        transform: translate(-50%, -50%);
        z-index: 10;
        width: 400px; 
        margin-bottom: 0;
	}
	
		.floating-right-image-2 {
				display: block !important;
				position: absolute;
        top: 449px;           /* Your coordinate */
        left: 98%;          /* Your coordinate */
        transform: translate(-50%, -50%);
        z-index: 10;
        width: 400px; 
        margin-bottom: 0;
	}

    .split-container .wp-block-columns {
        padding-top: 0px !important;
    }
}

/* Base link styling */
.wp-block-navigation-item__content {
  
  display: inline-block;
  padding-bottom: 2px;
  transition: border-color 0s ease;
  min-width: max-content;
}

.cover {
	position:absolute;
}

/* Remove underline from span completely */
.wp-block-navigation-item__label {
  border: none !important;
  text-decoration: none !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: normal !important;
}

/* 1. Reset the dropdown button size so it doesn't stretch the menu height */
.wp-block-navigation-submenu__toggle {
  padding-top: 0 !important;
  padding-bottom: 5px !important;
  height: auto !important;
  line-height: 1 !important;
  width: auto !important;
  border: none !important;
  margin-left: 5px; /* Adds a tiny space between text and arrow */
}

/* 2. Ensure the text link and the arrow align nicely */
.wp-block-navigation-item.has-child {
  display: flex;
  align-items: center; /* This forces them to share a center line */
}

/* Submenu items */
.submenu li a {
  padding: 10px 10px;
  color: #555;
	background-color: #ffffff !important;
}

.subMenu {
	padding: 10px 10px;
  color: #555;
	background-color: #ffffff !important;
}

/* DISABLE UNDERLINES IN MOBILE MENU */
@media (max-width: 480px) {
.wp-block-navigation__responsive-container .wp-block-navigation-item__content {
    border-bottom: none !important;
    border: none !important;
}
}

.wp-block-template-part {
  /* Optional: Add a subtle shadow to lift it off the page */
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
	padding-top: 20px;
	padding-bottom: 30px;
}

.sticky-header-minified {
    top: 0; /* Sticks to the very top of the screen */
    z-index: 100; /* Ensures it stays on top of other content */
		height: 128px;
}

.wp-block-column {
  margin-bottom: -5em; /* or padding-bottom */
}

/* Target the button link or a button element with our class */
.custom-pill-button, 
.wp-block-button__link.custom-pill-button {
    /* Layout &amp; Shape */
    display: block;
	  width: fit-content;
	  margin: 40px auto;
    padding: 8px 16px;
    border-radius: 50px; /* Creates the pill shape */
	  text-align: center;
    
    /* Colors &amp; Border */
    background-color: transparent;
    border: 2px solid #438e2d; /* The green from your image */
    color: #438e2d;
    
    /* Typography */
    font-family: inherit;
    font-size: 18px;
    font-weight: 500;
    text-decoration: none;
    line-height: 1.2;
    
    /* Animation */
    transition: all 0.3s ease;
    cursor: pointer;
}

/* Hover Effect: Subtle background fill */
.custom-pill-button:hover {
    background-color: #438e2d;
    color: #ffffff;
    transform: translateY(-2px); /* Slight lift on hover */
}

/* Active State: When clicked */
.custom-pill-button:active {
    transform: translateY(0);
}

.my-button {
  display: flex;
  align-items: center;     /* Vertically centers content */
  justify-content: center; /* Horizontally centers content */
  height: 52px;
  padding: 0 0;
  font-size: 16px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
	text-transform: capitalize
}

.button2 {
  display: flex;
  align-items: center;     /* Vertically centers content */
  justify-content: center; /* Horizontally centers content */
  height: 30px;
  padding: 0 10px !important;
  font-size: 16px;
	line-height: 0;
  border-radius: 8px;
  border: none;
  cursor: pointer;
	text-transform: capitalize;
}

.my-qrcode {
  display: flex;
  padding: 0 0;
  cursor: pointer;
	float: left;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.text-block {
  padding: 0 0 !important;
}

button {
  font-size: 16px; /* Default size for desktop */
}

.banner {
  width: 77%;
  margin: 0 auto; /* centers the banner horizontally */
  display: block; /* ensures it behaves like a block-level element */
	}

.bookingpress-narrow {
    max-width: 600px; /* Adjust this value to make it as narrow as you like */
    margin-left: auto;
    margin-right: auto;
    /* If you want it specifically left-aligned and not centered, remove the two margin lines above
       and potentially adjust the alignment of the parent container or the text above it.
       For alignment with left-aligned text, centering often looks better than a hard left margin unless the
       containing element is also constrained. */
}

/* Optional: Add responsiveness for smaller screens */
@media (max-width: 768px) {
    .bookingpress-narrow {
        max-width: 90%; /* On tablets and smaller, let it take more width */
    }
}

@media (max-width: 480px) {
    .bookingpress-narrow {
        max-width: 100%; /* On mobile, let it take full width */
    }
}

@media screen and (max-width: 768px) {
  .wp-block-columns .wp-block-column p {
    font-size: 18px; /* Adjust to your preferred mobile size */
    line-height: 1.6; /* Optional: improve readability */
  }

}

@media screen and (min-width: 600px) {
.menuItem .sub-menu li a {
    max-width: 70px;
}
.headerMenu .sub-menu li {
    margin-right: 0;
}
.headerMenu ul.sub-menu {
    padding-left: 0;
    left: -10px;
    text-align: center;
}
}

/* Target image directly */
img.responsive-single {
  max-width: 100% !important;
  height: 300px !important;
  width: auto !important;
  display: block !important;
}

/* Target image inside common WordPress containers */
.wp-block-image img.responsive-single,
figure.wp-block-image img.responsive-single {
  max-width: 100% !important;
  height: auto !important;
  width: auto !important;
  display: block !important;
}

/* Optional: style the container if needed */
figure.wp-block-image.responsive-single,
.wp-block-image.responsive-single {
  text-align: center;
  padding: 0.5em;
}

.opacity {
	opacity: 0.5 !important;
}

/* Force list items to inherit paragraph font size */
.wp-block-list,
.wp-block-list ul,
.wp-block-list ol,
.wp-block-list li,
ul.wp-block-list,
ol.wp-block-list,
ul.wp-block-list li,
ol.wp-block-list li {
  font-size: 1rem !important; /* Match .wp-block-paragraph default */
  line-height: 1.6; /* Optional: match paragraph spacing */
}

/* Optional: ensure paragraph block is consistent */
.wp-block-paragraph {
  font-size: 1rem !important;
  line-height: 1.6;
}

/* Change odd row stripe color */
.wp-block-table.is-style-stripes tr:nth-child(odd) td {
  background-color: #145DA0; /* dark blue */
}

/* Optional: adjust text color for contrast on odd rows */
.wp-block-table.is-style-stripes tr:nth-child(odd) td,
.wp-block-table.is-style-stripes tr:nth-child(odd) th {
  color: #ffffff ;
}

/* Optional: add even row color for alternating two-tone stripes */
.wp-block-table.is-style-stripes tr:nth-child(even) td {
  background-color: #ffffff;
}

/* Optional: adjust text color for contrast on odd rows */
.wp-block-table.is-style-stripes tr:nth-child(odd) td,
.wp-block-table.is-style-stripes tr:nth-child(odd) th {
  color: #ffffff;
}

/* Header row background and text color */
.wp-block-table thead th {
  background-color: #ffffff !important; /* soft blue */
  color: #0b2a4a !important;           /* deep navy text */
  font-weight: 700 !important;         /* optional: make header text bold */
  padding: 10px;            /* optional: add spacing */
}

/* Wrap your table in a scrollable container */
.table-scroll {
  overflow-x: auto;
  position: relative;
}

/* Make the table wider than the viewport if needed */
.table-scroll table {
  border-collapse: collapse;
  min-width: 600px; /* adjust based on your content */
}

/* Fix the first column */
.table-scroll td:first-child,
.table-scroll th:first-child {
  position: sticky;
  left: 0;
  background-color: #ffffff; /* keep background solid */
  z-index: 2; /* ensure it stays above other cells */
}

/* Optional: style header row */
.table-scroll thead th {
  background-color: #E8F1FF;
  color: #0b2a4a;
  font-weight: 600;
}

/* Desktop/tablet: add 1rem padding to the scroll container */
.table-scroll {
  overflow-x: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}

/* Desktop/tablet */
.wp-block-table.table-scroll {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

/* Mobile override */
@media screen and (max-width: 768px) {
  body .wp-block-table.table-scroll {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

.table-scroll {
  position: relative;
  overflow-x: auto;
}

.table-scroll::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 60px;          /* wider so it's obvious */
  height: 100%;
  pointer-events: none;
}

/* Instruction text for mobile */
@media screen and (max-width: 768px) {
  .scroll-hint {
    display: block;
    font-size: 0.9rem;
    color: #555;
    text-align: right;
    margin-top: 0.25rem;
  }
}

/* Hide hint on larger screens */
@media screen and (min-width: 769px) {
  .scroll-hint {
    display: none;
  }
}

.scroll-hint {
  display: block;              /* full width line under table */
  text-align: right;           /* push content to the right */
  margin-top: 0.5rem;          /* spacing below table */
}

.scroll-hint span {
  display: inline-block;       /* shrink box to fit text */
  color: #ffffff !important;
  background-color: #ff6600;
  border: 2px solid #ff6600;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
}

/* Optional: show only on mobile */
@media screen and (min-width: 769px) {
  .scroll-hint {
    display: none;
  }
}

/* Optional: show only on mobile */
@media screen and (max-width: 767px) {
  .hint {
    display: none;
  }
}

/* Default: hide on small screens */
.scroll-hint2 {
  display: none;
  text-align: right;
  margin-top: 0.5rem;
}

.scroll-hint2 span {
  display: inline-block;
  color: #ffffff !important;
  background-color: #ff6600;
  border: 2px solid #ff6600;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
}

/* Show on larger screens (769px and up) */
@media screen and (min-width: 769px) {
  .scroll-hint2 {
    display: block;
  }
}

.tooltip {
  position: relative;
  cursor: pointer;
}

/* Tooltip text */
.tooltip::after {
  content: attr(data-caption);
  position: absolute;
  bottom: 120%; /* position above link */
  left: 0;
  background: #333;
  color: #fff;
  padding: 6px 10px;
  border-radius: 4px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.5s ease; /* fade-in speed */
  transition-delay: 0.5s;        /* delay before appearing */
}

/* Show tooltip on hover */
.tooltip:hover::after {
  opacity: 1;
}

/* Hide the post meta line inside wp-embed blocks */
.wp-embed .wp-embed-meta,
.wp-embed .wp-embed-comments,
.wp-embed .wp-embed-footer .wp-embed-site-title {
    display: none !important;
}

@media screen and (max-width: 767px) {
  .full-mobile {
		display: block;
		visibility: hidden;
  }
}

@media screen and (max-width: 767px) {
  .wp-block-column.column-hide {
    display: none !important;
  }
  .wp-block-columns {
    flex-wrap: wrap;
  }
  .wp-block-column {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
}

.inline-button {
  position: relative;   /* keeps it inline with text */
  color: #4C902D;
  font-size: 14px;
	font-weight: bold;
	text-decoration: none;
	text-transform: capitalize;
	text-align: left;
  margin-left: 0px;        /* small gap from last word */
	vertical-align: middle;
}

/* 1. Create space on the left of the button for the icon */

.wp-block-accordion-heading__toggle {

    position: relative !important;

    padding-left: 30px !important; /* This creates the 'hole' for the + icon */

    display: block !important;

    text-align: left !important;

}

/* 2. Move the icon into that space on the left */

.wp-block-accordion-heading__toggle-icon {

    position: absolute !important;

    left: 0 !important;

    top: 50% !important;

    transform: translateY(-50%) !important; /* Centers it vertically */

    margin: 0 !important;

}

/* 3. Ensure the title text doesn't overlap the icon */

.wp-block-accordion-heading__toggle-title {

    display: inline-block !important;

    vertical-align: middle !important;

}

/* 1. THE PILL HEADER */
.wp-block-accordion-item .wp-block-accordion-heading {
    background-color: #4C902D !important;
    color: #ffffff !important;
    border-radius: 100px !important;
    position: relative !important;
    /*z-index: 1 !important;*/
    padding: 5px 10px 5px 10px !important;
    transition: all 0.3s ease;
    cursor: pointer; /* Ensures the hand icon appears */
}

/* 2. THE + ICON (Centered Rotation) */
.wp-block-accordion-heading__toggle-icon {
    position: absolute !important;
    left: 0px !important; /* Adjusted slightly for better centering in the pill */
    top: 50% !important;

    /* FIX: Added transform-origin to spin on center */
    transform-origin: center center !important; 
    transform: translateY(-50%) rotate(0deg) !important;
    transition: transform 0.3s ease-in-out, color 0.3s ease !important;
    /*z-index: 11;*/
    margin: 0 !important;
    display: flex !important;
    pointer-events: none; /* FIX: Allows click to pass through to the trigger */
}

/* 3. THE TWIST (When Open) */
.wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle-icon {
    /* Combined both translateY and rotate to keep it centered vertically */
    transform: translateY(-50%) rotate(45deg) !important;
    color: inherit; /* Reverts to default color when not hovering */
}

/* Ensure the title also allows clicks to pass through */
.wp-block-accordion-heading__toggle-title {
    pointer-events: none;
}

/* 5. HOVER EFFECTS */
/* This ensures both the text and icon turn green when you hover ANYWHERE on the heading */
.wp-block-accordion-heading:hover .wp-block-accordion-heading__toggle-title,
.wp-block-accordion-heading:hover .wp-block-accordion-heading__toggle-icon {
    color: #4C902D !important;
}

/* 4. THE DROPDOWN PANEL (Synchronized) */
.wp-block-accordion-item .wp-block-accordion-panel {
    background-color: #f0f6ff !important;
    border-radius: 30px 30px 30px 30px !important;
    margin-top: 0 !important; 
    max-height: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    visibility: hidden;
  padding: 0px 0px 0px 10px;
	position: relative !important;
	/*z-index: 5 !important;*/
	  /* RE-ADD FLEX: This is essential for the columns and the line */
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
}

/* 4b. THE OPEN STATE */
.wp-block-accordion-item.is-open .wp-block-accordion-panel {
    visibility: visible;
    margin-top: 10px !important; 
    max-height: 1500px !important; /* Increased to ensure enough room for 2 columns */
    opacity: 1 !important;
    padding: 30px 20px 25px 10px !important;
	    transition: 
        max-height 700ms cubic-bezier(0.4, 0, 0.2, 1) 150ms, 
        opacity 700ms cubic-bezier(0.4, 0, 0.2, 1) 150ms, 
        padding 700ms cubic-bezier(0.4, 0, 0.2, 1) 150ms,
        margin-top 700ms cubic-bezier(0.4, 0, 0.2, 1) 150ms !important;
}

/* 5. HOVER EFFECTS */
/* Make both the text AND the icon green on hover */
.wp-block-accordion-item:hover .wp-block-accordion-heading__toggle-title,
.wp-block-accordion-item:hover .wp-block-accordion-heading__toggle-icon {
    color: #ffffff !important;
	  text-decoration: none !important;
}

/* 6. SPACING &amp; MOBILE */
.wp-block-accordion-item {
    margin-bottom: 15px !important;
    background: transparent !important;
    display: block !important;
    clear: both;
}

h1, h2 {
    scroll-margin-top: 120px; /* sticky header height + desired offset */
}

.wp-block-button__link {
    display: inline-flex;
    align-items: center;   /* vertical centring */
    justify-content: center;
    gap: 0.3em;            /* space between text and arrow */
    line-height: 1.2;      /* prevents baseline drift */
}

/* --- UNIVERSAL MENU FIX --- */

/* 1. LAYOUT: Ensure ALL menu links have the invisible border (so they don't jump) */
.wp-block-navigation-item__content {
    border-bottom: 4px solid transparent !important;
    padding-bottom: 2px;
    display: inline-block;
    transition: all 0.5s ease;
}

/* 2. HOVER: Mouse over turns it Light Green */
.wp-block-navigation-item__content:hover {
    border-bottom-color: #4C902D !important;
}

/* 3. THE PARENT BLOCKER (The Critical Fix) */
/* We target standard WordPress parent classes (without .menuItem) to ensure we hit them */
.current-menu-ancestor > .wp-block-navigation-item__content,
.current-menu-parent > .wp-block-navigation-item__content,
.current_page_parent > .wp-block-navigation-item__content,
.current_page_ancestor > .wp-block-navigation-item__content {
    border-bottom-color: transparent !important;
}

.subMenu {
	padding-top: 4px !important;
}

/* 1. Submenu dropdown background */
.wp-block-navigation .wp-block-navigation__submenu-container {
    background-color: #ffffff !important;
    padding-top: 0 !important;
    
}

/* 2. Submenu list items */
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item {
    background-color: transparent !important;
}

/* 3. Submenu link: remove inherited underline completely */
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    background-color: #ffffff !important;
    border-bottom: none !important; /* remove base underline */
    display: inline-block !important;
}

/* 4. IMPORTANT: kill the TOP‑LEVEL hover underline for submenu links */
.wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
    border-bottom: none !important; /* this was missing */
}

/* 5. Label (text only): permanent transparent underline to prevent jump */
.wp-block-navigation__submenu-container .wp-block-navigation-item__label {
    display: inline-block;
	  padding-bottom: 4px !important;
    border-bottom: 3px solid transparent !important;
}

/* 6. Hover: underline ONLY the text */
.wp-block-navigation__submenu-container 
    .wp-block-navigation-item__content:hover 
    .wp-block-navigation-item__label {
    border-bottom-color: #4C902D !important;
}

/* Hide the submenu toggle icon (arrow) on items with children */
.wp-block-navigation .wp-block-navigation-item__submenu-icon,
.wp-block-navigation .wp-block-navigation__submenu-icon {
    display: none !important;
}

/* Some themes wrap it in a button – hide that too */
.wp-block-navigation .wp-block-navigation-item__content + button,
.wp-block-navigation .wp-block-navigation-item__content .wp-block-navigation__submenu-icon {
    display: none !important;
}
}