.marcellus-regular {
  font-family: "Marcellus", serif;
  font-weight: 400;
  font-style: normal;
}

.lato-thin {
  font-family: "Lato", sans-serif;
  font-weight: 100;
  font-style: normal;
}

.lato-light {
  font-family: "Lato", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.lato-regular {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.lato-bold {
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.lato-black {
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-style: normal;
}

.lato-thin-italic {
  font-family: "Lato", sans-serif;
  font-weight: 100;
  font-style: italic;
}

.lato-light-italic {
  font-family: "Lato", sans-serif;
  font-weight: 300;
  font-style: italic;
}

.lato-regular-italic {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: italic;
}

.lato-bold-italic {
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-style: italic;
}

.lato-black-italic {
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-style: italic;
}

:root {
  /* =========================
	   FONT FAMILY
	========================= */
  --font-heading: "Marcellus", serif;
  --font-body: "Lato", sans-serif;

  /* =========================
	   FONT SIZE
	========================= */
  --fs-h1: 50px;
  --fs-h3: 30px;
  --fs-body: 18px;
  --fs-text-md: 16px;
  --fs-text-sm: 14px;

  /* =========================
	   FONT WEIGHT
	========================= */
  --fw-thin: 100;
  --fw-light: 300;
  --fw-regular: 400;
  --fw-bold: 700;
  --fw-black: 900;

  /* =========================
	   COLOR SYSTEM
	========================= */
  --color-primary: #000000;
  --color-bg-light: #f8f5ef;
  --color-accent: #bb9d62;
  --color-dark-brown: #6f6345;
  --color-deep-green: #034040;
  --color-brown: #4d3d19;
}

/** input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
  color: rgba(255, 255, 255, 0.7);
} **/

.ofw-tel-field {
  display: flex;
  align-items: stretch;
  width: 100%;
  border: 1px solid #e5e0d6;
  background: transparent;
}

.ofw-tel-field .ofw-tel-country {
  flex: 0 0 auto;
  width: 112px;
  min-height: 44px;
  padding: 0 10px;
  border: 0;
	background: transparent;
  border-right: 1px solid #e5e0d6;
  color: #000;
  font-family: var(--font-body);
  font-size: 16px;
  cursor: pointer;
  outline: none;
}

.ofw-tel-field input[type="tel"] {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  min-height: 44px;
  border: 0 !important;
  background: transparent;
  padding: 0 14px;
  color: #000;
  outline: none;
}

.ofw-tel-field input[type="tel"]:focus {
  color: #000;
}

h1 {
  font-size: var(--fs-h1);
  font-family: var(--font-heading);
  letter-spacing: 1px;
}

h3 {
  font-size: var(--fs-h3);
  font-family: var(--font-heading);
  letter-spacing: 1px;
}

p {
  font-size: var(--fs-body);
  font-family: var(--font-body);
  letter-spacing: 1px;
}

.fw-thin {
  font-weight: var(--fw-thin);
}

.fw-light {
  font-weight: var(--fw-light);
}

.fw-regular {
  font-weight: var(--fw-regular);
}

.fw-bold {
  font-weight: var(--fw-bold);
}

.fw-black {
  font-weight: var(--fw-black);
}

.font-heading {
  font-family: var(--font-heading);
}

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

/* Remove outline and border on focus for all elements */
*:focus,
*:active,
*:focus-visible {
  outline: none !important;
  box-shadow: none !important;
  border-color: inherit !important;
}

/* Base */
body {
  font-family: var(--font-body);
  font-size: var(--fs-body);
  color: var(--color-primary);
  background-color: var(--color-bg-light);
  width: 100%;
  overflow-x: hidden;
}

.container {
  width: 1440px;
  margin: 0 auto;
  position: relative;
  z-index: 99;
  padding-left: 90px;
  padding-right: 90px;
}

.overlay-vertical {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  background: #fff;
  background: linear-gradient(90deg,
      rgba(255, 255, 255, 0) 0%,
      rgba(0, 0, 0, 0.59) 100%);
  z-index: 1;
  top: 0;
}

/* HEADER BACKGROUND */
.site-header {
  background-color: var(--color-deep-green);
  padding: 25px 0;
  position: relative;
}

/* 1440px Container */
.header-container {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}

/* LEFT */
.header-left {
  width: 33%;
}

/* CENTER */
.header-center {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.header-center img {
  max-height: 50px;
}

/* RIGHT */
.header-right {
  width: 33%;
  display: flex;
  justify-content: flex-end;
  gap: 20px;
  align-items: center;
}

.sticky-enquiry-btn{
	position: fixed;
	bottom: 0;
	z-index: 9999;
	display: none;
	align-items: center;
	justify-content: center;
	height: 56px;
	width: 100%;
	background: var(--color-accent);
	color: #fff;
	font-size: 16px;
	font-weight: 400;
	text-decoration: none;
	box-shadow: 0 10px 30px rgba(0,0,0,.15);
	transition: .3s ease;
}

.sticky-enquiry-btn:hover{
	background: #b28f55;
}

/* Hamburger */
.menu-toggle {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.menu-toggle span {
  width: 30px;
  height: 2px;
  background: var(--color-accent);
  display: block;
}

/* Buttons */
.btn {
  padding: 7px 24px;
  text-decoration: none;
  font-size: 18px;
  transition: 0.3s ease;
}

.btn-outline {
  border: 1px solid var(--color-accent);
  color: var(--color-accent);
}

.btn-outline:hover {
  background: var(--color-accent);
  color: white;
}

.btn-filled {
  background: var(--color-accent);
  color: white;
  border: 1px solid var(--color-accent);
}

.btn-filled:hover {
  opacity: 0.85;
}

/* Fullscreen Panel */
.fullscreen-menu {
  position: fixed;
  top: 0;
  left: -100%;
  width: 70%;
  height: 100vh;
  background: var(--color-deep-green);
  color: white;
  z-index: 9999;
  transition: left 0.5s ease;
}

.fullscreen-menu.active {
  left: 0;
}

/* Inner */
.menu-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 60px 40px;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.menu-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 80px;
}

.menu-close {
  background: none;
  border: none;
  font-size: 28px;
  color: var(--color-accent);
  cursor: pointer;
}

/* Layout */
.menu-content {
  display: flex;
  gap: 50px;
}

.menu-left {
  width: 30%;
}

.menu-right {
  width: 30%;
}

.menu-divider {
  width: 1px;
  background: rgba(255, 255, 255, 0.3);
}

/* Left menu */
.fullscreen-main {
  list-style: none;
  padding: 0;
  margin: 0;
}

.fullscreen-main li {
  font-size: 18px;
  margin-bottom: 22px;
  cursor: pointer;
}

.fullscreen-main li a,
.menu-right a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition: 0.3s;
}

.fullscreen-main li a:hover,
.fullscreen-main li.active a,
.menu-right a:hover,
.menu-right.active a {
  color: rgba(255, 255, 255, 1);
}

.fullscreen-main>li.menu-item-has-children>a {
  position: relative;
  padding-right: 25px;
  width: 100%;
  display: inline-block;
}

/* Chevron */
.fullscreen-main>li.menu-item-has-children>a::after {
  content: "›";
  /* simple chevron */
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 20px;
  color: var(--color-secondary);
  transition: 0.3s ease;
}

/* Rotate when active */
.fullscreen-main>li.active.menu-item-has-children>a::after {
  transform: translateY(-50%) rotate(180deg);
}

.fullscreen-main .sub-menu {
  display: none;
}

/* Submenu */
.menu-right ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

h3 {
  scroll-margin-top: 100px;
}

.menu-right li {
  font-size: 18px;
  margin-bottom: 20px;
}

.menu-right a {
  text-decoration: none;
  transition: 0.3s;
}

/* ===== HERO SECTION ===== */

#mainHero {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

body.woocommerce-page #mainHero {
    height: 33.33vh;
    min-height: 300px;
}

body.woocommerce-page #mainHero .heroi-content{
	transform: translateY(33px);
}

#mainHero .container-full,
#mainHero .hero-item {
  height: 100%;
}

/* Background */
#mainHero .hero-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 1;
  transform: scale(1.05);
  /* slight zoom cinematic effect */
}

/* Dark Overlay */
#mainHero .heroi-filter {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom,
      rgba(0, 0, 0, 0.4),
      rgba(0, 0, 0, 0.55));
  z-index: 2;
}

/* Content Center */
#mainHero .heroi-content {
  position: relative;
  z-index: 3;
  height: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px;

  display: flex;
  flex-direction: column;
  justify-content: center;
  transform: translateY(155px);
  align-items: center;
  text-align: center;

  color: #fff;
}

/* Subtitle */
#mainHero .banner-text {
  font-size: 16px;
  margin-bottom: 10px;
  opacity: 0.9;
  font-weight: 300;
}

/* Main Title */
#mainHero .banner-title {
  font-family: var(--font-heading);
  font-weight: 400;
  line-height: 1.2;
  margin-bottom: 40px;
  max-width: 830px;
  margin-top: 0;
}

/* Button Wrapper */
#mainHero .banner-button {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: center;
}

/* Outline Button Style */
#mainHero .banner-button a {
  display: inline-block;
  padding: 14px 32px;
  border: 1px solid #fff;
  color: #fff;
  text-decoration: none;
  font-size: 18px;
  transition: all 0.3s ease;
}

/* Hover Effect */
#mainHero .banner-button a:hover {
  background: #fff;
  color: #000;
}

/* Hero Section */
#mainHero.no-banner,
.entry-header {
  padding: 120px 0 30px;
  text-align: center;
  height: 100%;
}

/* Icon */
.hero-wrapper .sparator,
.entry-header .sparator {
  margin-bottom: 25px;
}

.hero-wrapper .sparator img,
.entry-header .sparator img {
  width: 35px;
  height: auto;
}

/* Title */
.hero-wrapper h3,
.entry-header h3 {
  font-weight: 400;
  margin: 0;
}

/* Bottom line */
#mainHero.no-banner hr,
.entry-header hr {
  width: 100%;
  height: 1px;
  background: #cfcfcf;
  margin: 50px auto 0;
  max-width: 1000px;
}

/* ===== DEFAULT PAGE ===== */
.page-wrapper, .contact_information {
  max-width: 1000px;
  margin: 0 auto;
}

.page-wrapper h4 {
  font-size: 25px;
  font-family: var(--font-heading);
  font-weight: 300;
}

.page-wrapper ul,
.content-wrapper-custom-post ul,
.product-description ul{
  list-style: none;
  padding: 0;
  margin: 0;
}

.page-wrapper ol,
.content-wrapper-custom-post ol {
  padding: 0;
  margin: 0;
}

.page-wrapper iframe {
	width: 100%
}

.page-wrapper ul li,
.page-wrapper ol li,
.content-wrapper-custom-post ul li,
.content-wrapper-custom-post ol li,
.product-description ul li{
  position: relative;
  padding-left: 24px;
  margin-bottom: 20px;
  line-height: 1.7;
  font-size: 18px;
  font-family: var(--font-body);
}

.page-id-45 .page-contents{
	margin-bottom: 50px
}

.page-wrapper ol li,
.content-wrapper-custom-post ol li {
  font-size: 25px;
  padding-left: 0px;
  margin-left: 20px;
  font-family: var(--font-heading);
}

.page-wrapper ul li::before,
.content-wrapper-custom-post ul li::before,
.product-description ul li::before{
  content: "";
  width: 8px;
  height: 8px;
  background: var(--color-accent);
  position: absolute;
  left: 0;
  top: 10px;
}

.page-wrapper li strong,
.content-wrapper-custom-post li strong{
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 8px;
}

.product-description li{
	margin-bottom: 8px;
	font-size: 18px;
}

/* ===== BLOGS ===== */
.ofw-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px 40px;
}

.ofw-blog-card img {
  width: 100%;
  height: 320px;
  object-fit: cover;
}

.ofw-blog-header {
  display: flex;
  align-items: center;
  gap: 30px;
  margin-bottom: 60px;
}

.ofw-blog-header h3 {
  font-weight: 400;
}

.ofw-blog-header .divider {
  flex: 1;
  height: 1px;
  background: #cfcfcf;
}

.ofw-blog-section {
  margin-top: 100px;
  margin-bottom: 100px;
}

.main-block {
  width: 100%;
  background: #fff;
  padding-bottom: 180px;
}

.blog-title {
  font-size: 20px;
  margin: 20px 0 20px;
}

.blog-title a {
  color: #000 !important;
}

.blog-title a {
  text-decoration: none;
  color: var(--color-accent);
}

.blog-excerpt {
  font-size: 16px;
  line-height: 1.5;
  margin-bottom: 15px;
}

.read-more {
  color: var(--color-accent);
  font-size: 14px;
  text-decoration: none;
}

.read-more:hover {
  text-decoration: underline;
}

.ofw-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-top: 100px;
  font-size: 14px;
}

/* Limit content width and center */
.entry-content {
  margin: 0 auto;
  font-size: 16px;
  line-height: 1.7;
  max-width: 1440px;
}

/* Paragraph spacing */
.entry-content p {
  margin-bottom: 20px;
}

/* Remove empty paragraph space */
.entry-content p:empty {
  display: none;
}

/* Images inside content */
.entry-content p img {
  width: 100%;
  height: auto;
  display: block;
  margin: 40px 0;
  border-radius: 4px;
}

.entry-content p:has(img) {
  margin: 60px 0;
  width: 100% !important;
  max-width: 1440px;
}

/* Optional: nicer text width for reading */
.entry-content p, .entry-content h2, .entry-content h3 ,
.entry-content ul{
  max-width: 814px;
  margin-left: auto;
  margin-right: auto;
}

.entry-content h3 {
	font-size: 20px;
	margin-top: 0;
    margin-bottom: 0;
}

/* Center the back link */
.entry-content a {
  display: inline-block;
  margin-top: 30px;
  color: #bfa37a;
  text-decoration: underline;
}

/* Back to blog button wrapper */
.entry-content .back-to-blog {
  text-align: center;
  margin-top: 60px;
}

/* Button style */
.entry-content .back-to-blog a {
  display: inline-block;
  color: var(--color-accent);
  font-size: 16px;
  letter-spacing: 0.5px;
  transition: all 0.3s ease;
}

/* Section */
.other-blog {
  padding: 80px 0 150px;
  background: var(--color-bg-light);
}

/* Title row */
.blog-title {
  display: flex;
  align-items: center;
  gap: 30px;
  /*margin-bottom:100px;*/
}

.blog-title h3 {
  font-weight: 400;
  margin: 0;
}

.blog-title hr {
  flex: 1;
  border: none;
  margin-bottom: 0;
}

/* Grid */
.blog-wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin-top: 100px;
}

/* Card */
.related-post-item a {
  text-decoration: none;
  color: #000;
  display: block;
}

/* Image */
.related-thumb {
  margin-bottom: 20px;
}

.related-thumb img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  display: block;
}

/* Title */
.related-post-item h4 {
  font-size: 22px;
  font-weight: 400;
  margin-bottom: 15px;
  font-family: var(--font-heading);
}

/* Description */
.related-post-item .desc {
  font-size: 15px;
  line-height: 1.5;
  color: #000;
  margin-bottom: 20px;
}

.related-post-item .desc p {
  font-weight: 400;
}

/* Read more */
.readmore p {
  font-size: 14px;
  color: var(--color-accent);
  margin: 0;
  text-decoration: underline;
}

/* Hover effect */
.related-post-item:hover img {
  transform: scale(1.03);
  transition: 0.4s ease;
}

/* pagination numbers */
.ofw-pagination .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 34px;
  padding: 0 12px;
  color: var(--color-accent);
  text-decoration: none;
}

/* active page */
.ofw-pagination .current {
  background: var(--color-accent);
  color: #fff;
}

/* arrow icons */
.ofw-pagination .prev-icon,
.ofw-pagination .next-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
}

/* dashicons */
.ofw-pagination .prev-icon::before {
  font-family: "dashicons";
  content: "\f341";
  font-size: 20px;
}

.ofw-pagination .next-icon::before {
  font-family: "dashicons";
  content: "\f345";
  font-size: 20px;
}

/* ===== SECTION WRAPPER ===== */
.custom-section {
  padding: 120px 20px;
  text-align: center;
}

.custom-section.bg-default {
	padding-bottom :0
}

/* Background Variations */
.bg-default {
  background-color: var(--color-bg-light);
  /* light beige */
}

.bg-brown {
  background-color: var(--color-brown);
  /* brown tone */
  color: #fff;
}

/* Limit content width */

.custom-section-content {
  max-width: 1100px;
  margin: 0 auto;
}

/* ===== ICON ===== */
.img-icon {
  margin-bottom: 40px;
}

.img-icon img {
  width: 42px;
  height: auto;
}

/* ===== TITLE ===== */
.custom-section h3 {
  font-weight: 300;
  line-height: 37px;
  margin-bottom: 45px;
}

/* ===== DESCRIPTION ===== */
.section-description {
  line-height: 1.4;
  max-width: 950px;
  margin: 0 auto 50px auto;
}

.section-description h3 {
	margin-bottom:0
}

.section-description ul li {
	letter-spacing: 1px
}

/* ===== BUTTON ===== */
.custom-section a {
  display: inline-block;
  padding: 9px 22px;
  color: var(--color-accent);
  text-decoration: none;
  font-size: 18px;
  transition: all 0.3s ease;
}

/* Button Style Variations */
.custom-section a.has_border {
  border: 1px solid var(--color-accent);
}

.custom-section .bg-brown a.no-border {
  border: none;
  color: #fff;
}

/* Hover */
.custom-section a:hover {
  color: #fff;
}

.custom-section a.has_border:hover {
  background: var(--color-accent) !important;
  color: #fff !important;
}

/* If background brown, adjust button */
.bg-brown a {
  border-color: #fff;
  color: #fff;
}

.bg-brown a:hover {
  background: #fff;
  color: #5c4632;
}

.bg-default a:hover {
  color: var(--color-accent);
}

.custom-section .bg-default a.no-border {
  border: none;
  color: var(--color-accent);
}

/** call to action **/
/* Main Section */
.call_to_action {
  position: relative;
  padding: 2px 0;
  margin-top: -80px;
  height: 500px;
  margin-bottom: 100px;
}

/* Background Image Container */
.content-call-to-action {
  position: relative;
  min-height: 600px;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  overflow: hidden;
  max-width: 1260px;
  margin: 0 auto;
}

/* Dark Gradient Overlay */
.hero-filter {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom,
      rgba(0, 0, 0, 0.2) 0%,
      rgba(0, 0, 0, 0.45) 55%,
      rgba(0, 0, 0, 0.8) 100%);
  z-index: 1;
}

/* Content Wrapper */
.content-wrapper {
  position: relative;
  z-index: 2;
  max-width: 550px;
  margin-left: auto;
  /* align right */
  text-align: right;
  padding: 47px;
  margin-top: 250px;
}

/* Title */
.content-wrapper h3 {
  font-weight: 400;
  line-height: 1.3;
  margin-bottom: 30px;
  color: #ffffff;
}

/* Button Base */
.content-wrapper a.outline_button {
  display: inline-block;
  padding: 12px 26px;
  font-size: 18px;
  text-decoration: none;
  transition: all 0.3s ease;
  margin-left: 15px;
}

/* First Button - Solid */
.content-wrapper a.solid_button {
  background: #c7a16b;
  /* beige/gold tone */
  color: #fff;
  border: 1px solid #c7a16b;
}

.content-wrapper a.solid_button:hover {
  background: #b38f5d;
  border-color: #b38f5d;
}

/* Button wrapper */
.cta-buttons {
  display: flex;
  justify-content: flex-end;
  /* align right like screenshot */
  gap: 15px;
  flex-wrap: wrap;
  /* prevent breaking layout */
  margin-top: 20px;
}

/* Second Button - Outline */
.content-wrapper a:last-child {
  background: transparent;
  color: #fff;
  border: 1px solid #fff;
}

.content-wrapper a:last-child:hover {
  background: #fff;
  color: #000;
}

/* ===============================
   Image Grid Section
=================================*/

.image_grid,
.core_features {
  padding: 80px 0;
}

/* Title Area */
.image_grid_title,
.title_core_feature,
.information_item_title,
.title-list-acc {
  margin: 0 auto 50px auto;
  display: flex;
  align-items: center;
  gap: 100px;
}

.image_grid_title h3,
.title_core_feature h3,
.information_item_title h3,
.title-list-acc h3 {
  font-weight: 400;
  color: #000;
  line-height: 37px;
  white-space: nowrap;
}

.image_grid_title hr,
.title_core_feature hr,
.information_item_title hr,
.title-list-acc hr {
  flex: 1;
  border: none;
  height: 1px;
  background: rgba(0, 0, 0, 0.3);
}

/* ===============================
   Image Grid Layout
=================================*/

.image_container {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}

/* Each Column */
.image_item {
  position: relative;
  min-height: 600px;
  display: flex;
  align-items: center;
  justify-content: end;
  padding: 40px 20px;
  color: #fff;
  overflow: hidden;
  flex-direction: column;
	text-decoration: none
}

/* Dark overlay like screenshot */
.image_item::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top,
      rgba(0, 0, 0, 0.75) 0%,
      rgba(0, 0, 0, 0.4) 40%,
      rgba(0, 0, 0, 0.1) 70%,
      rgba(0, 0, 0, 0) 100%);
  z-index: 1;
}

/* Hover overlay */
.image_item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(77, 61, 25, 0);
	
  transition: background 0.4s ease;
  z-index: 2;
}

/* Show overlay on hover */
.image_item:hover::after {
  background: rgba(77, 61, 25, 0.65);
	
}

/* Text Content */
.image_item h3,
.image_item p {
  position: relative;
  z-index: 3;
  text-align: center;
	text-decoration: none
}

.image_item h3 {
  font-weight: 400;
  margin-bottom: 10px;
}

.image_item p {
  opacity: 0.9;
  font-size: 14px;
}

.image_bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transition: transform .8s ease;
  z-index: 0;
}

.image_item:hover .image_bg {
  transform: scale(1.08);
}

/* ==============================
   Core Feature Section
============================== */
/* ==============================
	Feature Item Layout
============================== */

.core_feature_item {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  margin-bottom: 120px;
}

.core_feature_item:last-child {
  margin-bottom: 0;
}

/* Image Right (default) */
.core_feature_item.right {
  flex-direction: row;
}

/* Image Left */
.core_feature_item.left {
  flex-direction: row-reverse;
}

/* ==============================
   Content Area
============================== */
.core_content {
  flex: 1;
  max-width: 50%;
  padding-left: 150px;
  padding-right: 73px;
  padding-top: 150px;
  padding-bottom: 150px;
}

.signature_escapes .core_content {
  padding-left: 70px;
}

.signature_escapes .core_desc p {
  margin-bottom: 0;
}

.core_content .subtitle {
  margin-bottom: 15px;
  font-weight: bold;
  color: #000;
}

.signature_escapes .subtitle {
  margin: 0;
  font-weight: 300;
  font-size: 20px;
  font-style: italic;
  font-family: var(--font-heading);
  color: #000;
}

.core_content h3 {
  font-weight: 300;
  margin-bottom: 20px;
  line-height: 37px;
  margin-top: 20px;
}

.signature_escapes h3 {
  margin-bottom: 0;
}

.core_desc {
  line-height: 27px;
  margin-bottom: 30px;
}

.core_desc h4 {
  display: flex;
  align-items: center;
  gap: 20px;
  /* space between text and line */
  font-weight: 500;
  margin-bottom: 20px;
}

.core_desc h4::after {
  content: "";
  flex: 1;
  /* this makes line stretch */
  height: 1px;
  background: rgba(0, 0, 0, 0.3);
}

.core_desc ul,
.item_contents ul,
.consent_content ul {
  list-style: none;
  /* remove default bullets */
  padding: 0;
  margin: 20px 0;
}

.core_desc ul li,
.item_contents ul li,
.consent_content ul li {
  position: relative;
  padding-left: 18px;
  /* space for custom bullet */
  margin-bottom: 12px;
  line-height: 1.6;
  font-size: 18px;
  letter-spacing: 1px;
}

/* Gold square bullet */
.core_desc ul li::before,
.item_contents ul li::before,
.consent_content ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 6px;
  height: 6px;
  background-color: var(--color-accent);
  /* gold tone */
}

.button_wrapper a.solid {
  background: var(--color-accent);
  border: 1px solid var(--color-accent);
  color: #fff;
}

.button_wrapper a.outline {
  background: transparent;
  border: 1px solid var(--color-accent);
  color: var(--color-accent);
}

.button_wrapper a.outline:hover {
  background: var(--color-accent);
  border: 1px solid var(--color-accent);
  color: #fff;
}

.button_wrapper a.solid:hover {
  background: transparent;
  color: var(--color-accent);
}

.button_wrapper {
  display: flex;
  gap: 10px;
}

p a.more-link {
  display: none;
}

/* Button */
.button_wrapper a {
  display: inline-block;
  padding: 12px 28px;
  border-radius: 3px;
  text-decoration: none;
  font-size: 18px;
  transition: all 0.3s ease;
}

.button_wrapper .primary-btn {
  background: #c6a96b;
  color: #fff;
}

/* ==============================
   Image Area
============================== */
.core_feature_image {
  flex: 1;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.featured_contents {
  margin-top: 80px;
  padding-bottom: 80px;
}

.featured_content {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  min-height: 865px;
}

/* LEFT SIDE */
.featured_content_left {
  width: 50%;
  padding: 100px 80px;
  padding-top: 200px;
}

.featured_content_left h3 {
  line-height: 37px;
  margin-bottom: 25px;
  color: #000;
  font-weight: 300;
}

.featured_content_left p {
  line-height: 22px;
  color: #000;
  max-width: 420px;
}

.featured_content_left a {
  display: inline-block;
  margin-top: 30px;
  padding: 10px 22px;
  border: 1px solid var(--color-accent);
  color: var(--color-accent);
  text-decoration: none;
  font-size: 16px;
  transition: all 0.3s ease;
}

.featured_content_left a:hover {
  background-color: var(--color-accent);
  color: #fff;
}

/* RIGHT SIDE IMAGE */
.featured_content_right {
  width: 50%;
  min-height: 865px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* ======================================
   Feature Overview Section
====================================== */

.featured_content_overview_wrapper {
  background-color: var(--color-deep-green);
  padding: 80px 0;
  margin-bottom: 130px;
  margin-top: 80px;
  position: relative;
}

.featured_content_overview {
  display: flex;
  align-items: stretch;
  /* Important */
  gap: 60px;
}

.featured_overview_content_right,
.featured_overview_content_left {
  flex: 1;
}

/* ================= LEFT IMAGE ================= */

.featured_overview_content_left {
  flex: 1;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* ================= RIGHT CONTENT ================= */

.featured_overview_content_right {
  flex: 1;
  color: #ffffff;
}

.featured_overview_content_right h3 {
  font-weight: 400;
  margin-bottom: 40px;
}

/* ================= LIST STYLING ================= */

.featured_content_lists {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.list_feature {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding-bottom: 25px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.6);
}

.list_feature:last-child {
  border-bottom: none;
}

/* Icon */
.icon_list img {
  width: 40px;
  height: auto;
  filter: brightness(0) saturate(100%) invert(80%) sepia(30%) saturate(300%) hue-rotate(10deg);
  /* gold-ish tone */
}

/* Text Content */
.list_feature p.title {
  font-weight: 600;
  margin: 0 0 5px 0;
  font-size: 16px;
}

.desc p {
  font-size: 18px;
  font-weight: 300;
}

.desc a {
  color: #fff;
  font-weight: 400;
}

.desc {
  max-width: 400px;
}

.list_feature p:last-of-type {
  margin: 0;
  font-size: 14px;
  opacity: 0.85;
}

/* ======================================
   Feature Product Section
====================================== */
/* Wrapper spacing */
.featured_product_wrapper {}

/* Grid layout */
.featured_product {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

/* Remove default link style */
.featured_product a {
  text-decoration: none;
  color: inherit;
  display: block;
}

/* Product item */
.product_item {
  position: relative;
  height: 500px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

/* Overlay */
.product_item .overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  transition: 0.3s ease;
  z-index: 1;
}

/* Title */
.product_item h3 {
  position: relative;
  z-index: 2;
  color: #fff;
  font-weight: 400;
  text-align: center;
  line-height: 1.3;
  padding: 0 20px;
  display: inline-block;
}

/* Underline animation */
.product_item h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 0;
  height: 1.5px;
  background-color: #fff;
  transition: width 0.3s ease;
}

/* Hover effect */
.product_item:hover h3::after {
  width: 100%;
}

/* Optional: slightly darker overlay on hover */
.product_item:hover .overlay {
  background: rgba(0, 0, 0, 0.45);
}

/* Section Background */
.text-center {
  text-align: center;
}

.testimonial_wrapper {
  background: var(--color-dark-brown);
  /* olive gold tone */
  padding: 100px 0;
  color: #fff;
  margin-top: 120px;
  padding-bottom: 0;
}

.testimonials .img-icon {
  margin-bottom: 10px;
}

.testimonials h3 {
  text-align: center;
  margin-bottom: 60px;
  font-weight: 100;
  margin-top: 0;
  padding-top: 0;
}

/* Swiper Layout */
.testimonial_items {
  position: relative;
}

.swiper-wrapper {
  align-items: stretch;
}

.testimonial_item {
  padding: 0 40px;
  border-right: 1px solid rgba(255, 255, 255, 0.3);
  height: auto;
}

.testimonial_item:last-child {
  border-right: none;
}

/* Star Rating */
.star_rating {
  color: var(--color-accent);
  font-size: 18px;
  letter-spacing: 3px;
  margin-bottom: 20px;
}

/* Title */
.testimonial_title {
  font-weight: 600;
  font-size: 18px;
  margin-bottom: 15px;
}

/* Description */
.testimonial_description p {
  font-size: 14px;
  line-height: 1.8;
  opacity: 0.9;
}

/* Navigation */
.testimonial_nav {
  margin-top: 50px;
  display: flex;
  justify-content: center;
  gap: 20px;
}

.testimonial-prev,
.testimonial-next {
  width: 40px;
  height: 40px;
  border: 1px solid var(--color-accent);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--color-accent);
  transition: 0.3s;
}

.testimonial-prev:hover,
.testimonial-next:hover {
  background: var(--color-accent);
  color: #fff;
}

/* Icon Boxes Section */
.icon_boxes {
  padding: 80px 0;
}

.icon_boxes h3 {
  text-align: center;
  margin-bottom: 50px;
  font-weight: 400;
}

/* Grid */
.icon_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.three_column {
  width: 400px;
}

.four_column {
  width: 300px;
}

/* Card */
.icon_box_item {
  text-align: center;
  padding: 30px 25px;
  transition: all 0.3s ease;
}

/* Hover effect */
.icon_box_item:hover {
  transform: translateY(-6px);
}

/* Icon */
.icon_box_img {
  margin-bottom: 20px;
}

.icon_box_img img {
  width: 100%;
  height: 100px;
  object-fit: contain;
}

/* Title */
.icon_box_item h3 {
  margin-bottom: 30px;
  font-weight: 400;
  line-height: 37px;
}

/* Description */
.icon_box_item .desc {
  font-size: 18px;
  line-height: 1.6;
}

/* Begin Conversation Section */
.begin_coversations {
  background: var(--color-deep-green);
  /* dark green */
  padding: 120px 20px;
  text-align: center;
}

.begin_coversations .container {
  max-width: 900px;
  margin: 0 auto;
}

.begin_conversation_wrapper h3 {
  font-weight: 400;
  margin-bottom: 30px;
  line-height: 1.2;
  color: #fff;
}

.begin_conversation_wrapper .desc {
  max-width: 720px;
  margin: 0 auto;
}

.begin_conversation_wrapper .desc p {
  font-size: 18px;
  line-height: 22px;
  color: #fff;
  font-weight: 400;
}

.begin_conversation_wrapper .desc a {
  color: var(--color-accent);
  text-decoration: underline;
  font-weight: 500;
}

.begin_conversation_wrapper .desc a:hover {
  opacity: 0.8;
}

/* HOW IT WORKS SECTION */
.hiw_wrapper {
  background: var(--color-dark-brown);
  padding-top: 150px;
  color: #fff;
}

/* Title */
.hiw h3 {
  font-weight: 400;
  margin-bottom: 20px;
}

/* Horizontal line */
.hiw hr {
  border: none;
  border-top: 1px solid rgba(255, 255, 255, 0.4);
  margin: 20px 0 60px;
}

/* 3 columns */
.hiw_item {
  display: flex;
  justify-content: space-between;
}

/* Item */
.items_text {
  width: 33.33%;
  padding: 0 40px;
  position: relative;
}

/* Remove left spacing on first */
.items_text:first-child {
  padding-left: 0;
}

/* Remove right spacing on last */
.items_text:last-child {
  padding-right: 0;
}

/* Vertical divider */
.items_text:not(:last-child):after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 1px;
  background: rgba(255, 255, 255, 0.4);
}

/* Title */
.items_text .title {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 20px;
}

/* Description */
.items_text .desc p {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.7;
  color: rgba(255, 255, 255, 1);
}

/* Button */
.hiw_btn {
  display: block;
  width: max-content;
  margin: 70px auto 0;
  background: var(--color-accent);
  color: #fff;
  padding: 14px 34px;
  text-decoration: none;
  font-size: 16px;
  transition: 0.3s;
  border: 1px solid var(--color-accent);
}

.hiw_btn:hover {
  color: var(--color-accent);
  background: transparent;
}

/** Single Signature **/
.post-subtitle p {
  font-size: 25px;
  font-family: var(--font-heading);
  text-align: center;
}

.content-wrapper-custom-post {
  width: 800px;
  margin: 0 auto;
}

.content-wrapper-custom-post ul li {
  margin-bottom: 5px;
}

.content-wrapper-custom-post p {
  margin-bottom: 10px;
}

.content-wrapper-custom-post hr {
  margin-top: 1.5rem;
}

.content-wrapper-custom-post .content-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  margin-top: 40px;
}

.two-column-container {
  display: flex;
  gap: 30px;
}

.two-column-container .column {
  width: 50%;
}

/* ===============================
   Information Block Section 
=================================*/

.information_item_content {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  padding-left: 167px;
}

.custom_text-info{
	max-width: 932px;
	width: 100%;
	margin: 0 auto;
}

.custom_text-info a {
	color: var(--color-accent)
}

/* Default behavior */
.information_item_content .item_contents {
  flex: 1 1 250px;
  /* MAGIC */
  max-width: 100%;
}

.item_contents {
  position: relative;
}

.item_contents strong {
  font-weight: 600;
}

.image-sparator {
  height: 600px;
  background-size: cover;
  background-position: center;
}

.information_items.green {
  background-color: var(--color-deep-green);
}

.padding-bottom-80 {
  padding-bottom: 80px;
}

.padding-top-80 {
  padding-top: 80px;
}

.information_items.green p,
.information_items.green h3,
.information_items.green h5,
.information_items.green .item_contents ul li {
  color: #fff;
}

.information_item_title {
  gap: 50px;
  margin: 0 auto 10px auto;
}

.information_items.green h5 {
  font-size: 18px;
  margin-bottom: 15px;
}

.information_item .button_wrapper {
  justify-content: center;
  margin-top: 100px;
}

.information_items h4 {
  font-size: 20px;
  font-family: var(--font-heading);
  margin-bottom: 0;
  padding-bottom: 0;
}

.information_items.green p,
.item_contents ul li {
  font-size: 18px;
  font-weight: 400;
}

.information_items.default .item_contents ul li {
  font-weight: 400;
}

.information_items.section-information-2 .information_item_content{
	padding-left:0
}

.collapse_content ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px 30px;
  /* row gap / column gap */
  padding-left: 20px;
  /* keep bullets aligned */
}

.information_items.green .information_item_title hr {
  background: rgba(255, 255, 255, 0.5);
}

/* Collapsible wrapper */
.collapsible_item {
  border-bottom: 1px solid #e5e5e5;
  padding: 15px 0;
}

/* Clickable title */
.collapse_toggle {
  font-size: 20px;
  font-weight: 600;
  cursor: pointer;
  position: relative;
  padding-right: 30px;
  margin: 0;
}

/* Arrow icon */
.collapse_toggle::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 0;
  font-size: 22px;
  transition: transform 0.3s ease;
}

/* Active state (open) */
.collapsible_item.active .collapse_toggle::after {
  content: "−";
}

/* Content hidden by default */
.collapse_content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
  opacity: 0;
  display: none;
}

/* Content when open */
.collapsible_item.active .collapse_content {
  max-height: 100%;
  /* enough to show content */
  opacity: 1;
  margin-top: 10px;
}

/* Text styling */
.collapse_content p {
  font-size: 18px;
  line-height: 1.6;
  color: #333;
  margin: 0;
}

/* ===== SECTION Accomodation WRAPPER ===== */
.accomodations h3 {
  font-weight: lighter;
}

.accomodations,
.other-accomodations {
  padding: 120px 0px;
}

.accomodations {
  padding-bottom: 0;
}

.accomodations .custom-section-content {
  text-align: center;
}

.other-accomodations {
  background: #dedede;
  margin-top: 100px;
}

.title-list-acc {
  margin-top: 120px;
}

.other-accomodation-items .title-list-acc {
  margin-top: 0;
}

.other-accomodations {
  padding: 80px 0;
}

.other-accomodation-items-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}

/* Item */
.other-accomodation-item {
  display: flex;
  flex-direction: column;
}

/* Image */
.other-accomodation-item .feature_img {
  width: 100%;
  height: 540px;
  background-size: cover;
  background-position: center;
  border-radius: 4px;
}

/* Content */
.content-other {
  padding-top: 20px;
}

.content-other h3 {
  font-size: 22px;
  font-weight: 500;
  margin-bottom: 10px;
}

.content-other .desc {
  font-size: 15px;
  line-height: 1.6;
  color: #555;
}

/* Swiper spacing */
.acc-swiper {
  position: relative;
}

/* Navigation position */
.acc-nav {
  position: absolute;
  bottom: 140px;
  right: auto;
  display: flex;
  gap: 10px;
  z-index: 10;
  left: 144px;
  z-index: 10;
}

.accomodation_list_cat .acc-nav {
  left: 142px;
}

.acc-swiper.single-slide .acc-nav {
  display: none;
}

.acc-prev,
.acc-next {
  width: 36px;
  height: 36px;
  border: 1px solid var(--color-accent);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background: transparent;
  color: var(--color-accent);
}

/* Ensure slide fills space */
.accomodations .swiper-slide {
  height: auto;
}

.accomodations .swiper {
  width: 100%;
  overflow: hidden;
}

.accomodations .swiper-wrapper {
  display: flex;
}

.accomodations .swiper-slide {
  flex-shrink: 0;
  width: 100%;
}

.accomodation_list_items {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* Each category block */
.accomodation_list_cat {
  display: flex;
  flex-direction: column;
  gap: 60px;
}

/* Each post item */
.acc_item {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  align-items: center;
  gap: 80px;
}

/* Alternate layout */
.accomodation_list_cat.left .acc_item {
  direction: rtl;
}

.accomodation_list_cat.left .acc_content {
  direction: ltr;
}

/* Image */
.acc_image {
  width: 100%;
  height: 540px;
  background-size: cover;
  background-position: center;
}

/* Content */
.acc_content {
  max-width: 480px;
}

/* Small label */
.acc_content .meta {
  font-size: 14px;
  color: #b89b5e;
}

/* Title */
.acc_content .title {
  font-size: 32px;
  font-weight: 500;
  margin-bottom: 15px;
  margin-top: 14px;
}

/* Description */
.acc_content .desc {
  font-size: 15px;
  color: #555;
  line-height: 1.6;
  margin-bottom: 20px;
}

/* Arrows */
.acc_content .nav {
  display: flex;
  gap: 10px;
}

.acc_content .arrow {
  display: inline-flex;
  width: 32px;
  height: 32px;
  border: 1px solid #cbb27c;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 14px;
}

/* Single product accommodation layout (Signature Escape booking) */
.booking-wrapper .single-product-accomodations {
  margin-top: 34px;
  padding-top: 22px;
  border-top: 1px solid #d9d4c7;
}

.booking-wrapper .single-product-accomodations .title-list-acc {
  margin: 18px 0 34px;
  text-align: center;
  justify-content: center;
}

.booking-wrapper .single-product-accomodations .title-list-acc h3 {
  font-family: var(--font-heading);
  font-weight: 400;
  margin-bottom: 14px;
  text-align: center;
  
}

.booking-wrapper .single-product-accomodations .title-list-acc hr {
  margin: 0 auto;
  width: 100%;
  max-width: 980px;
}

.booking-wrapper .single-product-accomodations .accomodation_list_items {

  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
}

.booking-wrapper .single-product-accomodations .accomodation_list_cat,
.booking-wrapper .single-product-accomodations .accomodation_list_cat.left {
  display: block;
}

.booking-wrapper .single-product-accomodations .accomodation_list_cat.left .acc_item {
  direction: ltr;
}

.booking-wrapper .single-product-accomodations .acc_item {
  display: block;
}

.booking-wrapper .single-product-accomodations .acc_image {
  height: 300px;
}

.booking-wrapper .single-product-accomodations .acc_content {
  max-width: 100%;
  margin-top: 16px;
  padding-left: 20px;
  padding-right: 20px;
}

.booking-accommodation-error {
	background: #fff3f3;
	border: 1px solid #e7b4b4;
	color: #b42318;
	padding: 14px 16px;
	border-radius: 10px;
	margin-bottom: 20px;
	font-size: 14px;
}

.booking-wrapper .single-product-accomodations .acc_content .meta {
  font-size: 13px;
  margin-bottom: 8px;
}

.booking-wrapper .single-product-accomodations .acc_content .title {
  margin: 0 0 8px;
}

.booking-wrapper .single-product-accomodations .acc_content .desc {
  margin-bottom: 12px;
}

.booking-wrapper .single-product-accomodations .acc-nav {
  position: static;
  margin-top: 8px;
  left: auto;
}

.booking-wrapper .single-product-accomodations .acc-prev,
.booking-wrapper .single-product-accomodations .acc-next {
  width: 22px;
  height: 22px;
  font-size: 12px;
}

.booking-wrapper .single-product-accomodations + .booking-note {
  text-align: center;
  max-width: 860px;
  margin: 34px auto 0;
  padding-top: 38px;
  border-top: 1px solid #d9d4c7;
}

.booking-wrapper .single-product-accomodations + .booking-note p {
  max-width: 620px;
  margin: 0 auto 28px;
}

.booking-wrapper .single-product-accomodations .booking-note{
  text-align: center;}

.booking-wrapper .single-product-accomodations hr{
  margin-top: 80px;
  margin-bottom:80px;
}

/** 404 PAGE **/
.error404 #mainHero,
.woocommerce-account #mainHero,
.woocommerce-order-received #mainHero {
  display: none;
}

/* Full page */
.error-page {
  background: #f4f1eb;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Wrapper center */
.error-wrapper {
  text-align: center;
  max-width: 500px;
  padding: 20px;
}

/* Icon */
.error-icon img {
  width: 40px;
  margin-bottom: 20px;
}

/* 404 number */
.error-code {
  font-size: 80px;
  font-weight: 400;
  margin: 10px 0;
  color: #000;
}

/* Title */
.error-title {
  font-size: 28px;
  font-weight: 400;
  margin-bottom: 10px;
  color: #000;
}

/* Description */
.error-desc {
  font-size: 16px;
  color: #9b9b9b;
  margin-bottom: 30px;
}

/* Button */
.btn-back-home {
  display: inline-block;
  padding: 12px 30px;
  background: #b89b5e;
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  transition: 0.3s ease;
}

.btn-back-home:hover {
  background: #a8894f;
}

/** WOOCOMMERCE **/
.custom-login-wrapper {
  display: flex;
  min-height: 80vh;
  width: 100%;
}

/* LEFT IMAGE */
.login-image {
  width: 50%;
}

.login-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* RIGHT FORM */
.login-form-wrapper {
  width: 50%;
  background: #0f4a45;
  display: flex;
  align-items: center;
  justify-content: center;
}

.login-inner {
  width: 100%;
  max-width: 420px;
  color: #fff;
}

/* Logo */
.login-logo img {
  width: 40px;
  margin-bottom: 20px;
}

/* Title */
.login-inner h3 {
  font-size: 32px;
  font-weight: 400;
  margin-bottom: 10px;
  text-align: center;
  margin-top: 0
}

.login-subtitle {
  font-size: 14px;
  margin-bottom: 30px;
  color: #d0d0d0;
}

/* Inputs */
.form-row {
  margin-bottom: 20px;
}

.form-row label {
  display: block;
  margin-bottom: 6px;
  font-size: 14px;
}

.form-row input {
  width: 100%;
  padding: 14px;
  background: transparent;
  border: 1px solid #ccc;
  color: #fff;
}

.woocommerce form input,
.woocommerce form select,
.woocommerce form textarea {
  color: var(--color-accent);
}

/* Row */
.login-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
}

.login-row .remember {
  font-size: 13px;
}

.login-row .remember {
	display: flex;
	align-items: center;
	gap: 10px;
}

.login-row .remember input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: #b89b5e;
	flex-shrink: 0;
}

.login-row input {
  margin-right: 6px;
}

.login-row .forgot {
  font-size: 13px;
  color: #ddd;
  text-decoration: none;
}

/* Button */
.btn-login {
  width: 100%;
  padding: 15px;
  background: #b89b5e;
  border: none;
  color: #fff;
  font-size: 16px;
  cursor: pointer;
  margin-bottom: 20px;

  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* loading state */
.btn-login.loading .btn-text {
  display: none;
}

.btn-login.loading .btn-loader {
  display: inline-block;
}

/* disable style */
.btn-login:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/* hide loader by default */
.btn-loader {
  display: none;
  width: 18px;
  height: 18px;
  border: 2px solid #fff;
  border-top: 2px solid transparent;
  border-radius: 50%;
  animation: spin 0.6s linear infinite;
}

/* Register */
.login-register {
  font-size: 13px;
  text-align: center;
  color: #ccc;
}

.login-register a {
  color: #fff;
  text-decoration: underline;
}

/**. FORGOT PASSWORD **/
.forgot-wrapper {
  background: var(--color-dark-green);
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.woocommerce-lost-password .forgot-wrapper{
	align-items: baseline;
}

.woocommerce-lost-password  .woocommerce form label{
	text-align: left;
}

.forgot-box {
  width: 420px;
  text-align: center;
  color: #fff;
}

.forgot-box h3 {
  margin-bottom: 10px;
}

.forgot-box p {
  margin-bottom: 25px;
  color: #ddd;
}

.forgot-box input {
  width: 100%;
  padding: 14px;
  border: 1px solid #ccc;
  background: transparent;
  color: #fff;
  margin-bottom: 15px;
}

.forgot-box button {
  width: 100%;
  padding: 14px;
  background: var(--color-accent);
  border: none;
  color: #fff;
  font-weight: bold;
  cursor: pointer;
}

.forgot-box a {
  display: block;
  margin-top: 20px;
  color: #fff;
  font-size: 14px;
}

.form-row-password-group {
  display: flex;
  gap: 15px;
}

.login-logo {
  text-align: center;
}

.form-row-password-group .form-col {
  width: 50%;
}

.woocommerce-privacy-policy-text p {
  font-size: 16px;
}

.woocommerce-privacy-policy-link {
  color: var(--color-accent);
}

/* ===== GLOBAL ===== */
.woocommerce-account {
  background: #f7f5f2;
  color: #2b2b2b;
}

/* ===== LAYOUT ===== */
.woocommerce-account .woocommerce {
  display: flex;
  background: #fff;
}

/* ===== SIDEBAR ===== */
.woocommerce-account .woocommerce-MyAccount-navigation {
  width: 260px;
  background: #f2f0ec;
  padding: 30px 20px;
  border-right: 1px solid #ddd;
}

.woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.woocommerce-MyAccount-navigation li {
  margin-bottom: 15px;
}

.woocommerce-MyAccount-navigation a {
  text-decoration: none;
  color: #333;
  font-size: 15px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.woocommerce-MyAccount-navigation .is-active a {
  color: #b89b5e;
  font-weight: 600;
}

/* ===== CONTENT ===== */
.woocommerce-account .woocommerce-MyAccount-content {
  flex: 1;
  padding: 40px;
}

/* ===== PROFILE HEADER ===== */
.account-profile-header {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 30px;
}

.mobile-header-actions {
	display: none;
}

.account-profile-header img {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  object-fit: cover;
}

.account-profile-header h2 {
  margin: 0;
  font-size: 20px;
}

.account-profile-header p {
  margin: 5px 0 0;
  font-size: 14px;
  color: #777;
}

/* ===== BUTTON STYLE ===== */
.button,
button,
input[type="submit"] {
  background: var(--color-accent);
  color: #fff !important;
  border: none;
  padding: 12px 60px;
  cursor: pointer;
  transition: 0.3s;
  font-family: var(--font-body);
  border-radius: 0;
}

.woocommerce-info,
.woocommerce-noreviews,
p.no-comments {
  background-color: transparent !important;
}

.button:hover {
  background: #a1864f;
}

.woocommerce-Address-title h2 {
  font-family: var(--font-heading);
}

.show-password-input {
  display: none;
}

/* Secondary button */
.button-outline {
  background: transparent;
  border: 1px solid #b89b5e;
  color: #b89b5e;
}

.button-outline:hover {
  background: #b89b5e;
  color: #fff;
}

/* ===== FORM ===== */
.woocommerce form .form-row {
  margin-bottom: 20px;
}

.woocommerce form label {
  margin-bottom: 6px;
  display: block;
  font-family: var(--font-body);
}

.woocommerce form input,
.woocommerce form select,
.woocommerce form textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid var(--color-bg-light);
}

/* Select styling (important) */
/* ===== SELECT2 CONTAINER ===== */
.select2-container {
  width: 100% !important;
}

/* ===== SELECT BOX ===== */
.select2-container--default .select2-selection--single {
  height: 46px;
  background: #f9f7f4;
  border: 1px solid #d8cfc2;
  border-radius: 0;
  padding: 0 12px;
  display: flex;
  align-items: center;
  transition: 0.3s;
}

/* Text */
.select2-container--default .select2-selection__rendered {
  color: #2b2b2b;
  line-height: normal;
  padding-left: 0;
  font-size: 14px;
}

/* Arrow */
.select2-container--default .select2-selection__arrow {
  height: 100%;
  right: 10px;
}

.select2-container--default .select2-selection__arrow b {
  border-color: #b89b5e transparent transparent transparent;
  border-width: 6px 5px 0 5px;
}

/* ===== FOCUS STATE ===== */
.select2-container--default.select2-container--focus .select2-selection--single {
  border-color: #b89b5e;
  background: #fff;
}

/* ===== DROPDOWN ===== */
.select2-dropdown {
  border: 1px solid #d8cfc2;
  background: #fff;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

/* Options */
.select2-results__option {
  padding: 10px 15px;
  font-size: 14px;
}

/* Hover */
.select2-results__option--highlighted {
  background: #b89b5e !important;
  color: #fff;
}

/* Selected */
.select2-results__option[aria-selected="true"] {
  background: #f2ede6;
  color: #333;
}

/* ===== PLACEHOLDER ===== */
.select2-container--default .select2-selection__placeholder {
  color: #999;
}

/* ===== DISABLED ===== */
.select2-container--default.select2-container--disabled .select2-selection--single {
  background: #eee;
  cursor: not-allowed;
}

/* ===== CLEAR BUTTON (optional) ===== */
.select2-selection__clear {
  color: #999;
  margin-right: 10px;
}

/* Two column layout */
.form-row-first,
.form-row-last {
  width: 48%;
  float: left;
}

.form-row-last {
  float: right;
}

.clear {
  clear: both;
}

/* ===== EMAIL ROW (WITH BUTTON) ===== */
.email-row {
  display: flex;
  gap: 15px;
}

.email-row input {
  flex: 1;
}

.email-row .button {
  white-space: nowrap;
}

/* ===== PASSWORD SECTION ===== */
.account-password-section {
  margin-top: 40px;
  padding-top: 30px;
  border-top: 1px solid #ddd;
}

/* ===== FOOTER ACTIONS ===== */
.account-actions {
  display: flex;
  justify-content: flex-end;
  gap: 15px;
  margin-top: 40px;
  padding-top: 20px;
  border-top: 1px solid #ddd;
}

/* Cancel button */
.account-actions .cancel-btn {
  background: transparent;
  border: 1px solid var(--color-accent);
  color: var(--color-accent);
}

.account-actions .cancel-btn:hover {
  background: var(--color-accent);
  color: #fff;
}

.woocommerce-MyAccount-navigation a::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin-right: 10px;
  width: 18px;
  display: inline-block;
}

/* Dashboard */
.woocommerce-MyAccount-navigation-link--dashboard a::before {
  content: "\f3fd";
  /* gauge */
}

/* Profile */
.woocommerce-MyAccount-navigation-link--edit-account a::before {
  content: "\f007";
  /* user */
}

/* Orders / Booking */
.woocommerce-MyAccount-navigation-link--orders a::before {
  content: "\f073";
  /* calendar */
}

/* History (downloads) */
.woocommerce-MyAccount-navigation-link--downloads a::before {
  content: "\f1da";
  /* clock/history */
}

/* Address */
.woocommerce-MyAccount-navigation-link--edit-address a::before {
  content: "\f3c5";
  /* location pin */
}

/* Logout */
.woocommerce-MyAccount-navigation-link--customer-logout a::before {
  content: "\f2f5";
  /* sign out */
}

.woocommerce-MyAccount-content a {
  color: var(--color-accent);
}

.woocommerce-error,
.woocommerce-message {
  padding: 12px 16px;
  border-radius: 8px;
  margin-bottom: 16px;
  font-size: 14px;
}

.woocommerce-error {
  background-color: transparent !important;
  margin: 0;
  list-style: none;
  padding: 0;
  border: 0 !important;
}

.woocommerce-error a{
	color: var(--color-accent);
}

.woocommerce-message {
  background: #e6f9f0;
  color: #1a7f5a;
}

.forgot-password-page,
.woocommerce-account.woocommerce-lost-password .woocommerce{
  background: var(--color-deep-green);
  min-height: 100vh;
  display: flex;
  align-items: top;
  justify-content: center;
  padding: 40px 20px;
}

.forgot-box h2 {
	font-family: var(--font-heading);
	font-weight: 400
}
.forgot-password-box {
  width: 100%;
  max-width: 500px;
  color: #fff;
}

.fp-logo {
  text-align: center;
  margin-bottom: 40px;
}

.fp-logo img {
  width: 60px;
}

.forgot-password-box h3 {
  font-weight: 300;
  margin-bottom: 10px;
}

.subtitle {
  margin-bottom: 40px;
  color: #fff;
  font-weight: 400;
  font-size: 16px;
}

.fp-form label {
  display: block;
  margin-bottom: 10px;
  font-size: 16px;
}

.fp-form input {
  width: 100%;
  padding: 18px;
  background: transparent;
  border: 1px solid #ccc;
  color: #fff;
  margin-bottom: 30px;
  font-size: 16px;
}

.fp-form input::placeholder {
  color: #aaa;
}

.fp-form button {
  width: 100%;
  padding: 18px;
  background: var(--color-accent);
  border: none;
  color: #fff;
  font-size: 16px;
  cursor: pointer;
  transition: 0.3s;
}

.fp-form button:hover {
  opacity: 0.9;
}

.fp-back {
  text-align: center;
  margin-top: 30px;
}

.fp-back a {
  color: #fff;
  text-decoration: none;
  font-size: 14px;
}

.fp-message {
  margin-top: 20px;
}

.page-template-forgot-password #mainHero,
.page-template-thankyou #mainHero {
  display: none;
}

.fp-message .success {
  color: var(--color-accent);
}

.fp-message .error {
  color: #ff6b6b;
}

.thankyou-page {
  max-width: 643px;
  margin: 0 auto;
  text-align: center;
  padding: 150px 0;
}

.thankyou-page h2 {
  font-size: 50px;
  font-family: var(--font-heading);
  font-weight: 300;
  margin-bottom: 17px;
}

/** FOOTER **/
footer.site-footer {
  background: var(--color-dark-brown);
}

.site-footer {
  background-color: #7b6e4d;
  color: #fff;
  padding: 100px 0px 150px;
  font-family: var(--font-body);
}

.footer-container {
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 60px;
}

.footer-top {
  margin-top: 86px;
}

/* Footer newsletter section */
.newsletter_wrapper {
  padding: 60px 0px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  position: relative;
}

.newsletter-message {
    margin-top: 10px;
    font-size: 14px;
    display: none;
}

.newsletter-message.success {
    color: #4caf50;
}

.newsletter-message.error {
    color: #d32f2f;
}

/* Top & bottom divider lines */
.newsletter_wrapper::before,
.newsletter_wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.3);
}

.newsletter_wrapper::before {
  top: 25px;
}

.newsletter_wrapper::after {
  bottom: 25px;
}

/* Title */
.newsletter_wrapper h3 {
  color: #fff;
  font-weight: 300;
  margin: 0;
  flex: 1;
}

/* Description */
.newsletter_wrapper p {
  color: rgba(255, 255, 255, 0.9);
  font-size: 18px;
  margin: 0;
  flex: 2;
  line-height: 1.6;
}

/* Button */
.newsletter_wrapper a {
  background-color: var(--color-accent);
  color: #fff;
  padding: 12px 30px;
  text-decoration: none;
  font-size: 14px;
  letter-spacing: 1px;
  transition: 0.3s ease;
  display: inline-block;
}

/* Button hover */
.newsletter_wrapper a:hover {
  background-color: var(--color-accent);
}

.footer-col h3 {
  font-family: var(--font-heading);
  font-size: 20px;
  margin-bottom: 40px;
  padding: 0;
  margin-top: 0;
  line-height: 23px;
}

.footer-col figure {
  margin-top: 0;
}

.footer-menu,
.footer-widget .menu {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-menu li {
  margin-bottom: 5px;
}

.footer-menu a {
  color: #fff;
  text-decoration: none;
  font-size: 18px;
  transition: 0.3s;
}

.footer-menu a:hover {
  color: rgba(255, 255, 255, 0.7);
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 60px;
  padding-top: 30px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  font-size: 14px;
}

/* ========================================
   FOOTER BOTTOM CONTENT (4 COLUMNS)
======================================== */

.footer-bottom-content {
  margin-top: 40px;
}

.footer-widget p {
  margin-bottom: 5px;
}

.footer-bottom-content .footer-col {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Typography */
.footer-bottom-content p,
.footer-bottom-content a {
  font-size: var(--fs-text-md);
  font-family: var(--font-body);
  color: #fff;
  text-decoration: none;
}

.footer-bottom-content a:hover {
  opacity: 0.7;
}

/* Last column (social) align right */
.footer-bottom-content .footer-col:last-child {
  align-items: flex-end;
}

.newsletter-popup {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 9999;
	height: 100vh;
}

.popup-inner {
  background: var(--color-deep-green);
  color: #fff;
  padding: 200px 150px;
  width: 70%;
  text-align: center;
  position: relative;
}

.popup-inner h2 {
  color: var(--color-accent);
  font-family: var(--font-heading);
  font-weight: 300;
  margin-bottom: 10px;
}

.popup-inner p {
  margin-bottom: 30px;
}

.popup-logo {
  margin-bottom: 60px;
}

.newsletter-form {
  display: flex;
  flex-direction: column;
  gap: 44px;
}

.newsletter-form input {
  width: 500px;
  padding: 12px;
  border: 1px solid #ccc;
  margin-bottom: 20px;
  background: transparent;
  color: #fff;
  margin: 0 auto;
}

.newsletter-form button {
  background: var(--color-accent);
  color: #fff;
  padding: 12px 25px;
  border: none;
  cursor: pointer;
  max-width: 250px;
  margin: 0 auto;
  font-weight: 300;
}

.popup-close {
  position: absolute;
  right: 20px;
  top: 20px;
  background: none;
  border: none;
  font-size: 24px;
  color: var(--color-accent);
  cursor: pointer;
}

.custom-shop-wrapper {}

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

.shop-header h2 {
  font-size: 28px;
  max-width: 600px;
  margin: 0 auto;
}

.shop-categories {
  display: flex;
  height: 800px;
}

.category-item {
  flex: 1;
  position: relative;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: flex-end;
  transition: 0.4s;
}

/* dark overlay */
.category-item .overlay {
  position: absolute;
  inset: 0;
  background: rgba(77, 61, 25, 0);
  transition: background 0.4s ease;
}

.category-item:hover .overlay {
  background: rgba(77, 61, 25, 0.7);
}

/* content */
.category-item .content {
  position: relative;
  color: #fff;
  padding: 100px;
  z-index: 2;
  text-align: center;
  margin: 0 auto;
}

.category-item h3 {
  margin-bottom: 0;
  font-weight: 300;
}

.category-item:hover h3 {
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}

.subcategory .category-item:hover h3 {
  text-decoration: none;
}

.category-item p {
  font-size: 14px;
  margin-bottom: 100px;
  margin-top:0px;
}

.child-categories .category-item p{
  margin-bottom: 30px;
}

/* button */
.btn-category {
  display: inline-block;
  padding: 8px 33px;
  background: var(--color-accent);
  color: #fff;
  text-decoration: none;
  opacity: 0;
  transform: translateY(10px);
  /* start slightly down */
  visibility: hidden;
  transition: all 0.3s ease;
  font-size: 14px;
}

.child-categories .btn-category{
  background: transparent;
  border: 1px solid #fff;
  display: inline-flex;
}

.child-categories .btn-category::after{
    content: "";
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    margin-top: 5px;
    margin-left: 10px;
}

.subcategory .btn-category {
  opacity: 1;
  visibility: visible;
}

/* hover state */
.category-item:hover .btn-category {
  opacity: 1;
  transform: translateY(0);
  /* move to position */
  visibility: visible;
}

.subcategory-products {
  display: none;
  background: var(--color-deep-green);
  padding: 80px 10px;
  color: #fff;
}

/* Header */
.products-wrapper h2 {
  margin-bottom: 40px;
  font-weight: 400;
  font-family: var(--font-heading);
}

/* Grid */
.products-grid {
  display: flex;
  gap: 30px;
  flex-wrap: wrap;
}

/* Card */
.product-item {
  width: calc(33.333% - 26px);
}

/* Image */
.product-item img {
  width: 100%;
  height: 381px;
  object-fit: cover;
  margin-bottom: 20px;
}

/* Title */
.product-item h3 {
  font-size: 22px;
  margin-bottom: 10px;
  font-weight: 300;
}

/* Description */
.product-item p {
  font-size: 18px;
  margin-bottom: 20px;
  line-height: 1.6;
}

/* Divider */
.product-item hr {
  border: none;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  margin: 20px 0;
}

/* Meta (Duration / etc) */
.product-meta {
  font-size: 18px;
  margin-bottom: 20px;
}

.product-meta strong {
  font-size: 18px;
  display: block;
  margin-bottom: 6px;
}

/* Bullet */
.product-meta span::before {
  content: "■";
  color: var(--color-accent);
  font-size: 18px;
  margin-right: 8px;
}

.product-meta span.woocommerce-Price-amount::before,
.product-meta span.woocommerce-Price-currencySymbol::before {
  display: none;
}

/* Price */
.price {
  display: block;
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 20px;
}

/* Button */
.product-item .btn-category {
  display: block;
  text-align: center;
  background: var(--color-accent);
  color: #fff;
  padding: 12px;
  text-decoration: none;
  transition: 0.3s;
  opacity: 1;
  visibility: visible;
}

.product-item .btn-category:hover {
  background: #b89555;
}

.booking-wrapper {
  padding-top: 80px;
  padding-bottom: 80px;
  background: #fff;
}

.booking-container {
  max-width: 900px;
  margin: 0 auto;
}

.booking-field input {
  width: 100%;
  border: none;
  border-bottom: 1px solid #ccc;
  padding: 10px 0;
}

/* Wrapper */
.flatpickr-calendar {
  width: 100% !important;
  max-width: 100%;
  background: var(--color-bg-light);
  border: none;
  box-shadow: none;
  padding: 20px;
  font-family: serif;
  margin-top: 40px;
  margin-bottom: 10px;
  height: 696px;
}

.flatpickr-innerContainer {
  margin-top: 48px;
  padding-left: 20px;
  padding-right: 20px;
  height: 470px;
}

.flatpickr-days,
.flatpickr-rContainer,
.dayContainer {
  width: 100% !important;
}

.dayContainer {
  display: grid !important;
  grid-template-columns: repeat(7, 1fr);
  max-width: 100%;
  height: 100%;
}

/* Month title */
.flatpickr-current-month {
  font-size: 18px;
  font-weight: 500;
  color: #333;
}

span.flatpickr-weekday {
  font-size: 20px;
  font-weight: 400;
}

.flatpickr-months {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

/* Hide year */

.flatpickr-prev-month {
  position: absolute;
  left: 10px;
}

.flatpickr-next-month {
  position: absolute;
  right: 10px;
}

/* Arrows */
.flatpickr-prev-month,
.flatpickr-next-month {
  color: var(--color-accent) !important;
	font-size: 22px
}

/* Week days */
.flatpickr-weekdays {
  margin-top: 10px;
  margin-bottom: 40px;
}

.flatpickr-weekday {
  color: #555;
  font-size: 13px;
  font-weight: 400;
  font-family: var(--font-heading);
}

.flatpickr-monthDropdown-month {
  font-family: var(--font-heading);
}

/* Days container */
.flatpickr-days {
  margin-top: 10px;
  height: 100%;
}

/* Each day */
.flatpickr-day {
  border-radius: 0;
  color: #000;
  font-size: 18px;
  width: 100%;
  margin: 0 auto;
  font-family: var(--font-body);
}

/* Today */
.flatpickr-day.today {
  border: 1px solid var(--color-accent);
  color: var(--color-accent);
  background: transparent;
}

/* Selected date (gold box) */
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.inRange{
  background: #b8965b;
  color: #fff;
  border-radius: 0;
  border: 0;
  box-shadow: none
}

/* Hover */
.flatpickr-day:hover {
  background: rgba(184, 150, 91, 0.2);
}

/* Disabled dates */
.flatpickr-day.flatpickr-disabled {
  color: #ccc;
}

/* Remove border radius globally */
.flatpickr-day,
.flatpickr-day.selected {
  border-radius: 0 !important;
}

/* Wrapper */
.guest-wrapper {
  margin-top: 30px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-left: 50px;
  padding-right: 50px;
  margin-bottom: 50px;
}

/* Title */
.guest-title {
  font-size: 18px;
  color: #333;
}

/* Options container */
.guest-options {
  display: flex;
  justify-content: space-between;
  width: 72%;
}

/* Each item */
.guest-item {
  font-size: 18px;
  color: #555;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
}

/* Square box */
.guest-item::before {
  content: "";
  width: 12px;
  height: 12px;
  border: 1px solid #b8965b;
  display: inline-block;
}

/* Active state (gold fill) */
.guest-item.active::before {
  background: #b8965b;
}

/* Active text */
.guest-item.active {
  color: #000;
}

/* booking confirmation */
/* Wrapper */
.confirm-wrapper {
  max-width: 900px;
  margin: 80px auto;
  text-align: center;
  font-family: serif;
}

.confirm-lead {
  max-width: 620px;
  margin: -70px auto 40px;
  color: #5e5e5e;
  font-size: 15px;
  line-height: 1.6;
}

.last-form {
  margin-bottom: 100px;
}

/* Title */
.confirm-wrapper h2,
.dynamic-form h2,
.booking-container h2 {
  font-weight: 500;
  margin-bottom: 100px;
  color: #2c2c2c;
}

/* Grid layout */
.confirm-wrapper .grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px 60px;
  text-align: left;
  margin-bottom: 40px;
}

/* Field group */
.confirm-wrapper .field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* Labels */
.confirm-wrapper label {
  margin-bottom: 4px;
  color: #000;
  font-weight: 600;
}

.confirm-wrapper .required-mark {
  color: #b14f4f;
  font-weight: 700;
}

/* Inputs + textarea */
.confirm-wrapper input,
.confirm-wrapper textarea {
  border: 1px solid #d5d0c3;
  border-radius: 0px;
  background: #fff;
  padding: 12px 14px;
  outline: none;
  color: #000;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  padding-bottom: 8px !important;
  padding-top: 8px !important;
}

.confirm-wrapper input:focus,
.confirm-wrapper textarea:focus {
  border-color: #b8965b;
  box-shadow: 0 0 0 3px rgba(184, 150, 91, 0.15);
}

/* Placeholder */
.confirm-wrapper input::placeholder,
.confirm-wrapper textarea::placeholder {
  color: #aaa;
}

/* Textarea */
.confirm-wrapper textarea {
  resize: vertical;
  min-height: 96px;
}

.confirm-wrapper .field-hint {
  margin-top: 2px;
  color: #777;
  font-size: 12px;
  line-height: 1.4;
  font-family: var(--font-body);
}

/* Bottom section */
.confirm-wrapper .confirm-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 40px;
}

/* Checkbox */
.confirm-wrapper .terms {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 14px;
  line-height: 1.4;
  color: #333;
  font-family: var(--font-body);
}

.confirm-wrapper .terms a{
	color: var(--color-accent);
}

.confirm-wrapper .terms input {
  width: 14px;
  height: 14px;
  accent-color: #b8965b;
}

.confirm-wrapper .consent-wrap {
  width: 100%;
  margin-top: 10px;
  text-align: left;
}

.confirm-wrapper .consent-terms {
  align-items: flex-start;
  margin-bottom: 8px;
}

.confirm-wrapper .consent-link {
  display: inline-block;
  color: var(--color-accent);
  text-decoration: underline;
  font-size: 13px;
}

.confirm-wrapper .consent-error {
  margin-top: 8px;
  color: #b14f4f;
  font-size: 13px;
}

/* Button */
.confirm-wrapper button {
  background: #b8965b;
  color: #fff;
  border: none;
  padding: 12px 30px;
  font-size: 14px;
  cursor: pointer;
  transition: 0.3s;
}

.confirm-wrapper button:hover {
  opacity: 0.85;
}

.coupon-row {
	position: relative;
}

.confirm-wrapper button#apply-coupon{
	position: absolute;
    right: 0;
}

.confirm-wrapper .confirm-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.consent-popup {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.45);
  z-index: 10000;
  padding: 24px;
}

.consent-popup-inner {
  width: min(920px, 96vw);
  background: #fff;
  border: 1px solid #ddd;
  padding: 32px;
  position: relative;
  max-height: 90vh;
  overflow-y: auto;
}

.consent-popup-inner .img-icon,
.consent-popup-inner h2{
  text-align: center;
}

.consent-popup-close {
  position: absolute;
  top: 16px;
  right: 16px;
  border: none;
  background: transparent;
  font-size: 20px;
  color: #444;
  cursor: pointer;
}

.consent-popup-inner h2 {
  margin-bottom: 8px;
  font-family: var(--font-heading);
}

.consent-popup-inner p {
  margin-bottom: 18px;
  font-size: 16px;
  color: #000;
}

.consent-meta-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 16px;
}

.consent-meta-item {
  border: 1px solid #e5e0d6;
  padding: 12px 14px;
}

.consent-meta-item span {
  display: block;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #999;
  margin-bottom: 4px;
}

.consent-meta-item strong {
  color: #2c2c2c;
  font-size: 14px;
}

.signature-wrap {
  margin-bottom: 14px;
}

.signature-wrap label {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
}

#consent-signature-pad {
  width: 100%;
  height: 200px;
  border: 1px solid #d5d0c3;
  background: #fff;
  touch-action: none;
}

.signature-wrap small {
  display: block;
  margin-top: 8px;
  color: #777;
  font-size: 12px;
}

.consent-popup-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

.consent-popup-actions button {
  border: none;
  padding: 11px 18px;
  cursor: pointer;
  font-family: var(--font-body);
}

.consent-clear {
  background: #f1eee8;
  color: #333;
}

.consent-save {
  background: var(--color-accent);
  color: #fff;
}

/* Outer wrapper (viewport) */
.steps-outer {
  overflow: hidden;
  width: 100%;
  position: relative;
}

.steps-track {
  display: flex;
  width: 100%;
  transition: transform 0.4s ease-in-out;
}

/* Each step */
.step {
  width: 100%;
  flex-shrink: 0;
  padding: 20px 0;
}

/* Optional smooth feel */
.step {
  transform: scale(0.98);
  transition: all 0.4s ease;
}

.step.active {
  transform: scale(1);
}

.confirm-btn {
  background: #b8965b;
  color: #fff;
  padding: 12px 30px;
  border: none;
}

/* Payment UI */
.payment-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
}

.custom-radio {
  cursor: pointer;
  padding-left: 20px;
  position: relative;
  margin-bottom: 10px;
}

.custom-radio::before {
  content: "";
  width: 12px;
  height: 12px;
  border: 1px solid #b8965b;
  position: absolute;
  left: 0;
  top: 4px;
  display: none;
}

.custom-radio input,
.custom-checkbox input {
  display: none;
}

.custom-radio.active::before {
  background: #b8965b;
}

.back-step {
  background: transparent;
  border: 1px solid #ccc;
  padding: 10px 25px;
  cursor: pointer;
  margin-right: 10px;
  color: #333;
}

.back-step:hover {
  border-color: #b8965b;
  color: #b8965b;
}

/* Hide billing section */
.woocommerce-billing-fields {
  display: none !important;
}

/* Hide shipping */
.woocommerce-shipping-fields,
#customer_details {
  display: none !important;
}

/* Make order summary centered */
.woocommerce input[type="text"]:focus {
  color: rgba(0, 0, 0, 0.6);
}

form.booking-form input,
.wpcf7-form input[type="text"] {
  border: 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.6);
  outline: 0;
  padding: 0px 1px;
  color: rgba(0, 0, 0, 0.6);
  font-family: var(--font-body);
}

form.booking-form .booking-field input {
     width: 300px;
    border-radius: 0;
    border-color: var(--color-accent);
    letter-spacing: 1px;
    color: #9F9F9F;
}

form.booking-form .booking-field input.cur-year{
	color: #000;
	width: auto
}

.flatpickr-current-month .flatpickr-monthDropdown-months:hover,
.numInputWrapper:hover{
	background: transparent
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
	font-family: var(--font-heading);
	appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: none !important;
}

.booking-form .img-icon {
  margin-bottom: 0;
}

.booking-date-input-wrapper {
    position: relative;
}

.booking-date-input-wrapper > .calendar-icon {
    position: absolute;
    right: 0;
    top: -12px;
    z-index: 100;
    pointer-events: none;
    left: 274px;
}

/* Container */
.woocommerce-checkout .col2-set {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  max-width: 1100px;
  margin: 0 auto;
}

/* Left column */
.woocommerce-checkout .col-1 {
  padding: 20px;
}

/* Right column */
.woocommerce-checkout .col-2 {
  padding: 20px;
  border-left: 1px solid #e5e5e5;
}

.woocommerce-checkout h3 {
  font-size: 24px;
  text-align: center;
  margin-bottom: 30px;
}

/* Section titles */
.woocommerce-checkout h4 {
  font-size: 16px;
  margin-bottom: 10px;
  font-weight: 600;
}

/* Radio style */
.woocommerce-checkout input[type="radio"] {
  margin-right: 10px;
}

.woocommerce-checkout label {
  display: block;
  margin-bottom: 12px;
  cursor: pointer;
}

.woocommerce-checkout-review-order {
    background: #fff;
    padding: 100px 50px;
    margin-top: 100px;
    margin-bottom: 100px;
}

/* Table */
.woocommerce-checkout-review-order table {
  width: 100%;
  border-collapse: collapse;
}

.woocommerce-checkout-review-order th,
.woocommerce-checkout-review-order td {
  padding: 10px 0;
  border-bottom: 1px solid #eee;
}

/* Total highlight */
.order-total td {
  font-weight: bold;
  font-size: 18px;
}

.bespoke-popup {
  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;
}

.popup-inner {
  background: var(--color-deep-green);
  color: #fff;
  padding: 60px;
  max-width: 100%;
  text-align: center;
  position: relative;
  width: 1000px;
  height: 100%;
  display: flex;
  justify-content: center;
  flex-direction: column;
}

.popup-close {
  position: absolute;
  top: 20px;
  right: 20px;
  background: none;
  border: none;
  color: #fff;
  font-size: 18px;
  cursor: pointer;
}

.bespoke-popup .button {
  width: 300px;
  margin: 0 auto;
}

.mindcare-access-popup {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.42);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 10001;
  padding: 24px;
}

.mindcare-access-inner {
  background: var(--color-deep-green);
  width: min(1120px, 96vw);
  min-height: 660px;
  color: #fff;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 70px 30px;
}

.mindcare-access-close {
  position: absolute;
  right: 24px;
  top: 20px;
  border: none;
  background: transparent;
  color: #b8965b;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

.mindcare-access-copy {
  margin-top: 18px;
  margin-bottom: 34px;
  font-size: 18px;
  line-height: 1.45;
  font-family: var(--font-heading);
  max-width: 760px;
  font-weight: 300;
}

.mindcare-access-actions {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  max-width: 200px;
}

.mindcare-access-btn {
      display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: auto;
    padding: 13px 16px;
    font-size: 16px;
    text-decoration: none;
    cursor: pointer;
    font-family: var(--font-body);
}

.mindcare-access-btn--primary {
  background: var(--color-accent);
  color: #fff;
  border: 1px solid var(--color-accent);
}

.mindcare-access-btn--outline {
  background: transparent;
  color: #fff;
  border: 1px solid var(--color-accent);
}

.mindcare-access-btn--primary:hover,
.mindcare-access-btn--outline:hover {
  opacity: 0.9;
  color: #fff;
}

.wpcf7-form {
  max-width: 800px;
  margin: auto;
  color: #000;
}

.wpcf7-form label {
  font-weight: 600;
  display: block;
  margin-bottom: 30px;
  font-family: var(--font-body);
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form textarea {
  width: 100%;
  padding: 0px;
  border: none;
  background: transparent;
  font-family: var(--font-body);
}

.wpcf7-form .wpcf7-checkbox {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 30px;
}

.wpcf7-form hr {
  border: none;
  border-top: 1px solid #ddd;
  margin: 13px 0px 35px 0px;
}

.wpcf7-submit {
  background: var(--color-accent);
  color: #fff;
  padding: 12px 30px;
  border: none;
  cursor: pointer;
  margin-top: 50px;
  margin-bottom: 50px;
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form textarea {
  border-bottom: 0;
  font-size: 18px;
}

/* Hide default checkbox */
.wpcf7-checkbox input[type="checkbox"] {
  display: none;
}

/* Label container */
.wpcf7-checkbox .wpcf7-list-item label {
  display: flex;
  align-items: center;
  cursor: pointer;
  gap: 10px;
  font-weight: 400;
  margin-bottom: 10px;
}

/* Custom box */
.wpcf7-checkbox .wpcf7-list-item-label::before {
  content: "";
  width: 16px;
  height: 16px;
  border: 1px solid var(--color-accent);
  display: inline-block;
  margin-right: 10px;
  background: transparent;
  transition: all 0.2s ease;
}

/* Checked state (FILLED like your design) */
.wpcf7-checkbox input[type="checkbox"]:checked+.wpcf7-list-item-label::before {
  background: var(--color-accent);
  border-color: var(--color-accent);
}

.wpcf7-list-item {
  margin: 0;
}

/* FORCE GRID (override theme) */
.practice-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 40px 60px;
}

/* FORCE ITEM LAYOUT */
.practice-item {
  display: flex !important;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
  position: relative;
  width: 100%;
}

/* FIX LABEL OVERRIDE (very important) */
.practice-grid label {
  display: flex !important;
}

/* HIDE INPUT BUT KEEP CLICKABLE */
.practice-item input {
  position: absolute;
  opacity: 0;
}

/* CUSTOM BOX */
.practice-item .box {
  display: inline-block;
  width: 16px;
  height: 16px;
  min-width: 16px;
  border: 1px solid var(--color-accent);
  margin-top: 4px;
  flex-shrink: 0;
  background: transparent;
}

/* CHECKED */
.practice-item input:checked+.box {
  background: var(--color-accent);
  border-color: var(--color-accent);
}

/* TEXT */
.practice-item .content strong {
  display: block;
  margin-bottom: 6px;
}

.practice-item .content p {
  margin: 0;
  font-size: 18px;
  color: #555;
}

.practice-item h4 {
  font-size: 18px;
  margin: 0;
}

/* WRAPPER */
.mindcare-form {
  background: var(--color-bg-light);
  padding: 60px;
  border-radius: 4px;
}

/* GRID */
.mindcare-form .form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px 60px;
}

.mindcare-form.form-group.full-width {
	grid-column: 1 / -1;
}

/* TITLE */
.mindcare-form .group-title {
  display: block;
  font-weight: 600;
  margin-bottom: 12px;
  color: #333;
}

/* OPTIONS */
.mindcare-form .group-options label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 10px;
  cursor: pointer;
}

/* CUSTOM CHECKBOX / RADIO */
.mindcare-form input[type="radio"],
.mindcare-form input[type="checkbox"] {
  appearance: none;
  width: 14px;
  height: 14px;
  border: 1px solid #c8a96a;
  margin-top: 3px;
  position: relative;
  cursor: pointer;
}

/* CHECKED STATE */
.mindcare-form input[type="radio"]:checked::after,
.mindcare-form input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  background: var(--color-brown);
  top: 2px;
  left: 2px;
}

/* TEXT INPUT */
.mindcare-form input[type="text"],
.mindcare-form textarea {
  width: 100%;
  border: none;
  padding: 8px 0;
  font-size: 18px;
  background: transparent;
  outline: none;
}

.mindcare-form input[type="text"], .mindcare-form textarea {
	color: #000
}
.mindcare-form textarea {
	 border-bottom: 1px solid #000 !important;
}

/* OPTIONAL FULL WIDTH */
.mindcare-form .full-width {
  grid-column: span 2;
}

/* BUTTON */
.mindcare-form button {
  background: var(--color-accent);
  color: #fff;
  border: none;
  padding: 12px 60px;
  font-size: 18px;
  cursor: pointer;
  margin-top: 20px;
  font-family: var(--font-body);
  border-radius: 0;

}

/* HOVER */
.mindcare-form button:hover {
  opacity: 0.9;
}

.mindcare-form .form-group {
  padding-bottom: 20px;
  border-bottom: 1px solid #000;
}

/* GRID FIX */
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px 80px;
}

/* ONLY textarea full width */
.form-group.full-width {
  grid-column: span 2;
}

/* OPTION STYLE */
.option-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 14px;
  cursor: pointer;
}

/* HIDE DEFAULT */
.option-item input {
  display: none;
}

/* CUSTOM BOX */
.custom-check {
  width: 14px;
  height: 14px;
  border: 1px solid var(--color-accent);
  margin-top: 7px;
}

/* CHECKED */
.option-item input:checked+.custom-check {
  background: var(--color-accent);
}

/* TEXT */
.option-title {
  font-weight: 500;
}

.option-desc {
  font-size: 16px;
  color: #666;
}

.mindcare-form h2,
.booking-container h2 {
  font-family: var(--font-heading);
}

.mindcare-form .custom-sections,
.booking-container .custom-sections {
  text-align: center;
}

/* WRAPPER */
.session-time-wrapper {
  margin-top: 40px;
  text-align: center;
}

/* TITLE */
.session-title {
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 20px;
}

/* OPTIONS */
.session-options {
  display: flex;
  justify-content: center;
  gap: 20px;
}

/* BUTTON STYLE */
.session-item {
  padding: 12px 30px;
  border: 1px solid var(--color-accent);
  cursor: pointer;
  font-size: 18px;
  transition: all 0.2s ease;
}

/* ACTIVE */
.session-item.active {
  background: var(--color-accent);
  color: #fff;
}

/* HOVER */
.session-item:hover {
  background: var(--color-accent);
  color: #fff;
}

.button-wrapper-booking {
  display: flex;
  justify-content: center;
}

.calendar-step .button-wrapper-booking {
  margin-top: 100px;
}

.button-wrapper-booking .back-step {
  background: var(--color-accent);
  color: #fff;
  border: none;
  padding: 12px 30px;
  cursor: pointer;
  transition: 0.3s;
  border-radius: 0;
  font-family: var(--font-body);
}

/* WRAPPER */
.mindcare-pricing.clean {
  margin-bottom: 50px;
}

/* safer target = last form-group div only */
.mindcare-form .form-grid>.form-group:nth-last-of-type(2) {
  border-bottom: none !important;
}


/* GRID */
.pricing-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 80px;
  align-items: center;
  text-align: left;
  /* key fix */
}

/* LEFT */
.pricing-left {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* SUMMARY */
.summary-block {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.summary-title {
  font-weight: 600;
  margin-top: 15px;
  font-family: var(--font-body);
  font-size: 18px;
}

.summary-value {
  font-size: 18px;
  border-bottom: 1px solid;
  height: 35px;
  font-family: var(--font-body);
  margin-top: 16px;
}

/* PRICE */
.price-total {
  font-size: 26px;
  font-weight: 700;
  margin-top: 25px;
  font-family: var(--font-heading);
}

/* RIGHT */
.pricing-right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 40px;
}

/* CHECKBOX */
.custom-checkbox,
.custom-radio {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 18px;
}

.pricing-right::after,
.pricing-grid::after {
  display: none !important;
}

/* box */
.custom-checkbox span,
.custom-radio span {
  width: 16px;
  height: 16px;
  border: 1px solid #c8a96a;
  display: inline-block;
}

.custom-radio span {
  border-radius: 50%;
}

/* checked */
.custom-checkbox input:checked+span {
  background: #c8a96a;
}

.custom-radio input:checked+span {
  background: #c8a96a;
}

/* PAYMENT OPTIONS */

.addon {
  margin-bottom: 10px;
}

.payment-group {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.payment-options {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin-top: 10px;
}

/* FORM BELOW (fix spacing) */
.confirm-wrapper {
  margin-top: 40px;
}

.mindcare-pricing.clean {
  padding-bottom: 30px;
  border-bottom: 1px solid #ddd;
}

.woocommerce-checkout-review-order-table {
  display: none !important;
}

#order_review_heading {
  display: none !important;
}

/* ── Payment Methods ────────────────────────────────────── */
.payment_methods {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  max-width: 700px;
}

/* Card — mirrors .option-item card pattern */
.payment_methods li {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 12px 16px;
  border: 1px solid #ddd;
  padding: 20px 24px;
  margin-bottom: 16px;
  background: #fff;
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  position: relative;
}

.payment_methods li:hover {
  border-color: var(--color-accent);
}

/* Accent corner mark — matches .custom-check pattern */
.payment_methods li::before {
  content: "";
  position: absolute;
  top: 12px;
  left: 12px;
  width: 8px;
  height: 8px;
  background: var(--color-accent);
  display: none !important;
}

/* Hide the raw browser radio; we use accent-color instead */
.payment_methods input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  border: 1px solid var(--color-accent);
  border-radius: 50%;
  margin-top: 3px;
  position: relative;
  cursor: pointer;
  transition: background 0.2s ease;
}

.payment_methods input[type="radio"]:checked {
  background: var(--color-accent);
  box-shadow: inset 0 0 0 4px #fff;
}

/* Highlight whole card when selected */
.payment_methods li:has(input:checked) {
  border-color: var(--color-accent);
  box-shadow: 0 0 0 1px var(--color-accent);
}

.payment_methods label {
  flex: 1;
  font-size: 18px;
  font-weight: 600;
  font-family: var(--font-body);
  color: #2c2c2c;
  cursor: pointer;
  line-height: 1.4;
}

/* Gateway description text — full-width row below radio+label */
.payment_box {
  flex-basis: 100%;
  background: transparent !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 0 4px 34px !important;
  color: #666;
  font-size: 18px;
  line-height: 1.6;
}

/* ── Place Order ────────────────────────────────────────── */
#place_order {
  display: block;
  width: 100%;
  max-width: 700px;
  margin: 32px auto 0;
  background: var(--color-accent);
  color: #fff;
  border: none;
  padding: 16px 30px;
  font-size: 18px;
  font-family: var(--font-body);
  letter-spacing: 0.04em;
  cursor: pointer;
  transition: opacity 0.2s ease;
}

#place_order:hover {
  opacity: 0.85;
}

/* ── Privacy notice ─────────────────────────────────────── */
.woocommerce-privacy-policy-text {
  max-width: 700px;
  margin: 24px auto 0;
  text-align: center;
  font-size: 18px;
  color: #777;
  line-height: 1.5;
}

.woocommerce-privacy-policy-text a {
  color: var(--color-accent);
  text-decoration: underline;
}

/* ── Payment section wrapper ─────────────────────────────── */
#payment {
  max-width: 700px;
  margin: 0 auto;
  padding: 0 0 60px;
}

/* ═══════════════════════════════════════════════════════════
   ORDER RECEIVED / THANK YOU PAGE
   ═══════════════════════════════════════════════════════════ */

.ofw-order-received {
  max-width: 860px;
  margin: 0 auto;
  padding: 80px 20px 120px;
  font-family: var(--font-body);
}

/* ── Header block ───────────────────────────────────────── */
.ofw-thankyou-header {
  text-align: center;
  margin-bottom: 60px;
}

.ofw-thankyou-header .img-icon {
  margin-bottom: 20px;
}

.ofw-thankyou-header h2 {
  font-family: var(--font-heading);
  font-size: 42px;
  font-weight: 300;
  color: #2c2c2c;
  margin-bottom: 16px;
}

.ofw-thankyou-lead {
  max-width: 580px;
  margin: 0 auto;
  color: #5e5e5e;
  font-size: 18px;
  line-height: 1.7;
}

/* ── Order summary bar ──────────────────────────────────── */
.ofw-order-bar {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0;
  border: 1px solid #e5e0d6;
  margin-bottom: 48px;
}

.ofw-order-bar__item {
  flex: 1 1 140px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 20px 24px;
  border-right: 1px solid #e5e0d6;
  text-align: center;
}

.ofw-order-bar__item:last-child {
  border-right: none;
}

.ofw-order-bar__label {
  font-size: 18px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #999;
}

.ofw-order-bar__item strong {
  font-size: 18px;
  font-weight: 600;
  color: #2c2c2c;
}

/* ── Booking details card ───────────────────────────────── */
.ofw-booking-card {
  border: 1px solid #e5e0d6;
  margin-bottom: 32px;
  overflow: hidden;
  position: relative;
}

/* Gold corner mark — consistent with option-item pattern */
.ofw-booking-card::before {
  content: "";
  position: absolute;
  top: 14px;
  left: 14px;
  width: 8px;
  height: 8px;
  background: var(--color-accent);
}

.ofw-booking-card__title {
  font-family: var(--font-heading);
  font-size: 18px;
  font-weight: 400;
  color: #2c2c2c;
  padding: 20px 24px 20px 36px;
  border-bottom: 1px solid #e5e0d6;
  background: #faf9f7;
}

.ofw-booking-details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}

.ofw-detail-row {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 18px 24px;
  border-bottom: 1px solid #f0ece4;
  border-right: 1px solid #f0ece4;
}

.ofw-detail-row:nth-child(even) {
  border-right: none;
}

.ofw-detail-label {
  font-size: 18px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #999;
}

.ofw-detail-value {
  font-size: 18px;
  font-weight: 600;
  color: #2c2c2c;
  text-transform: capitalize;
}

/* ── CTA buttons ────────────────────────────────────────── */
.ofw-thankyou-actions {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 48px;
  flex-wrap: wrap;
}

.ofw-btn {
  display: inline-block;
  background: var(--color-accent);
  color: #fff;
  border: none;
  padding: 14px 36px;
  font-size: 18px;
  font-family: var(--font-body);
  letter-spacing: 0.04em;
  cursor: pointer;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.ofw-btn:hover {
  opacity: 0.85;
  color: #fff;
}

.ofw-btn--outline {
  background: transparent;
  border: 1px solid var(--color-accent);
  color: var(--color-accent);
}

.ofw-btn--outline:hover {
  background: var(--color-accent);
  color: #fff;
  opacity: 1;
}

/* ── Failed state ───────────────────────────────────────── */
.ofw-thankyou-failed h2 {
  color: #b14f4f;
}

/* ═══════════════════════════════════════════════════════════
   MY ACCOUNT — VIEW ORDER
   ═══════════════════════════════════════════════════════════ */

/* Hide default WC order table, billing & shipping on account order view */
.woocommerce-account .woocommerce-order-details,
.woocommerce-account .woocommerce-customer-details,
.woocommerce-account .woocommerce-column--billing-address,
.woocommerce-account .woocommerce-column--shipping-address {
  display: none !important;
}

/* Comfortable padding on the view-order page */
.woocommerce-account .ofw-view-order {
  padding: 60px 20px 100px;
}

/* ── Status badge ───────────────────────────────────────── */
.ofw-status {
  display: inline-block;
  padding: 2px 10px;
  font-size: 18px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: 1px solid var(--color-accent);
  color: var(--color-accent);
  font-weight: 600;
}

.ofw-status--processing { border-color: #2d7d46; color: #2d7d46; }
.ofw-status--completed  { border-color: var(--color-accent); color: var(--color-accent); }
.ofw-status--cancelled,
.ofw-status--failed     { border-color: #b14f4f; color: #b14f4f; }
.ofw-status--on-hold    { border-color: #8a6d3b; color: #8a6d3b; }
.ofw-status--pending    { border-color: #999; color: #999; }

/* ── Order notes block ──────────────────────────────────── */
.ofw-order-notes {
  max-width: 860px;
  margin: 32px auto 0;
  border: 1px solid #e5e0d6;
  overflow: hidden;
}

.ofw-order-notes__title {
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #999;
  padding: 14px 24px;
  background: #faf9f7;
  border-bottom: 1px solid #e5e0d6;
  font-family: var(--font-body);
}

.ofw-order-note {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 16px 24px;
  border-bottom: 1px solid #f0ece4;
}

.ofw-order-note:last-child {
  border-bottom: none;
}

.ofw-order-note__date {
  font-size: 11px;
  color: #999;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.ofw-order-note__text {
  font-size: 18px;
  color: #2c2c2c;
  line-height: 1.6;
}

/* ── Mind Care Assessment Section ──────────────────────── */
.ofw-mind-care-assessment {
  max-width: 860px;
  margin: 60px auto;
  padding: 40px;
  background: #f8f5ef;
  border: 1px solid #e5e0d6;
  border-radius: 4px;
}

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

.assessment-header .img-icon {
  margin-bottom: 20px;
}

.assessment-header h2 {
  font-size: 28px;
  font-family: var(--font-heading);
  font-weight: 400;
  margin: 0 0 20px 0;
  color: #000;
}

.assessment-intro {
  text-align: center;
  margin-bottom: 40px;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

.assessment-intro p {
  font-size: 18px;
  line-height: 1.6;
  color: #333;
  margin: 0;
}

.assessment-form {
  text-align: center;
}

.assessment-form-trigger {
  display: inline-block;
  padding: 12px 32px;
  background: var(--color-accent);
  color: #fff;
  text-decoration: none;
  font-size: 18px;
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
  font-weight: 500;
}

.assessment-form-trigger:hover {
  opacity: 0.9;
  transform: translateY(-2px);
}

.assessment-form-popup {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 32px 18px;
  background: rgba(0, 0, 0, 0.62);
  overflow-y: auto;
}

.assessment-form-popup-open {
  overflow: hidden;
}

.assessment-form-popup__inner {
  position: relative;
  width: min(920px, 100%);
  max-height: calc(100vh - 64px);
  overflow-y: auto;
  background: #fff;
  border: 1px solid #e5e0d6;
  border-radius: 4px;
}

.assessment-form-popup__close {
  position: sticky;
  top: 0;
  margin-left: auto;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-accent);
  color: #fff;
  border: 0;
  cursor: pointer;
  z-index: 2;
}

.assessment-form-popup__close:hover {
  background: var(--color-accent-dark);
}

.assessment-form-content {
  padding: 30px;
  background: #fff;
}

.assessment-form input {
      border: 1px solid #e5e0d6 !important;
    outline: none !important;
    padding: 8px 14px !important;
    font-size: 18px;
    margin-bottom: 30px;
}

.assessment-form-content .wpcf7 {
  max-width: 100%;
}

.assessment-form-content .wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 15px;
  text-align: left;
}

.assessment-form-content .wpcf7-form-control {
  width: 100%;
}

.assessment-form label {
  text-align: left;
}

.assessment-form .wpcf7-radio,
.assessment-form .wpcf7-checkbox {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
  margin-bottom: 30px;
}

.assessment-form .wpcf7-list-item {
  display: block;
  width: 100%;
  margin: 0;
  text-align: left;
}

.assessment-form .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  width: auto;
  margin: 0;
  text-align: left;
  font-weight: 400;
}

.assessment-form .wpcf7-list-item-label {
  display: inline-block;
  text-align: left;
}

.assessment-form input[type="radio"],
.assessment-form input[type="checkbox"] {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  margin: 0 !important;
  padding: 0 !important;
}

/* popup quis wellness  */
/* =====================================
   ONEFIT WELLNESS QUIZ POPUP
   Pixel Perfect Style
===================================== */

.quizModal{
    position: fixed;
    inset: 0;
    z-index: 99999;
    background: rgba(0,0,0,.28);
    display: none;
    overflow-y: auto;
    padding: 35px 20px;
    
}

/* Main Box */
.quizModal .quiz-box{
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    background: var(--color-deep-green);
    padding: 52px 72px 58px;
    box-sizing: border-box;
    color: #ffffff;
    text-align: center;
}

/* Close */
.quizModal .closeQuiz{
    position: absolute;
    top: 18px;
    right: 22px;
    font-size: 20px;
    color: var(--color-accent);
    cursor: pointer;
    transition: .25s ease;
}

.quizModal .closeQuiz:hover{
    transform: rotate(90deg);
}

/* Title */
.quizModal h3{
    margin: 0 0 52px;
    font-weight: 400;
    color: #fff;
}

/* Question */
.quizModal .question{
    padding: 0 0 30px;
    margin: 0 0 28px;
    border-bottom: 1px solid rgba(255,255,255,.55);
}

.quizModal .question:last-of-type{
    margin-bottom: 42px;
}

.quizModal .question p{
    margin: 0 0 30px;
    font-size: 18px;
    font-weight: 400;
}

.wpcf7-form.popup-quiz-form{
    max-width: 100%;
    margin-top: 100px;
    text-align: center;
    color: #fff;
}
/* OPTIONS ROW */
.quizModal .question{
    display:block;
}

.quizModal .question label{
    display:inline-block;
    margin: 0 50px 10px;
    cursor:pointer;
    user-select:none;
}

/* IMPORTANT FIX */
.quizModal input[type="radio"],
.quizModal input[type="checkbox"]{
    position:absolute;
    opacity:0;
    width:0;
    height:0;
}

.wpcf7-form.popup-quiz-form input[type="email"]{
    color: #fff ;
    text-align: center;
	background: transparent !important
}

/* Text */
.quizModal .question label span{
    position:relative;
    display:inline-block;
    padding-left:22px;
    font-size:18px;
    color:#fff;
    transition:.25s ease;
}

/* Box */
.quizModal .question label span:before{
    content:"";
    position:absolute;
    left:0;
    top:8px;
    width:13px;
    height:13px;
    border:1px solid var(--color-accent);
    box-sizing:border-box;
    transition:.25s ease;
}

/* CHECKED */
.quizModal input:checked + span{
    color:var(--color-accent);
}

.quizModal input:checked + span:before{
    background:var(--color-accent);
    border-color:var(--color-accent);
}

/* Hover */
.quizModal .question label:hover span{
    color:var(--color-accent);
}

/* Email */
.quizModal .quiz-email{
    margin-top:18px;
}

.quizModal .quiz-email input[type="email"]{
    width:100%;
    height:52px;
    border:none;
    border-bottom:1px solid rgba(255,255,255,.55);
    background:transparent;
    color:#fff;
    text-align:center;
    outline:none;
}

/* Button */
.quizModal input[type="submit"],
.quizModal button{
    min-width:176px;
    height:46px;
    background:var(--color-accent);
    border:none;
    color:#fff;
    cursor:pointer;
    margin-top:35px;
    transition:.25s ease;
}

.quizModal input[type="submit"]:hover{
    background:transparent;
    border: 1px solid var(--color-accent);
}

.quizModal label.disabled{
    opacity:.35;
    pointer-events:none;
}

.quizResult .category-item{
    width: 30%;
}

.quizResult .shop-categories{
    width: 100%;
    height: 500px;
    margin-top: 100px;
    margin-bottom: 100px;
}

.quizResult .shop-categories.product-gallery{
    overflow: hidden;
}

.quizResult .product-gallery-item{
    align-items: stretch;
    overflow: hidden;
}

.quizResult .product-gallery-item img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.quizResult a.solid_button{
    font-size: 18px;
    padding: 8px 30px;
    text-decoration: none;
    background-color: var(--color-accent);
    color: #fff;
}

.quizResult a.outline_button{
    font-size: 18px;
    padding: 8px 30px;
    text-decoration: none;
    background-color:transparent;
    border: 1px solid var(--color-accent);
    color: #fff;
}

/* ===============================
   TAILOR MY ESCAPE FORM
================================= */

.tailor_myescape {
    max-width: 980px;
    margin: 0 auto;
    padding: 60px 30px 80px;
    color: #000;
}

/* ROW 2 COLUMN */
.tailor_myescape .row-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 34px;
    margin-bottom: 55px;
}

/* FULL WIDTH ROW */
.tailor_myescape .row-full {
    margin-bottom: 55px;
}

/* LABEL */
.tailor_myescape .field-group label {
    display: block;
    font-weight: 700;
    margin-bottom: 18px;
    color: #000;
}

/* INPUT / TEXTAREA */
.tailor_myescape input[type="text"],
.tailor_myescape input[type="email"],
.tailor_myescape textarea {
    width: 100%;
    border: none;
    border-bottom: 1px solid #000;
    background: transparent;
    padding: 0 0 14px;
    font-size: 18px;
    color: #000;
    outline: none;
    border-radius: 0;
    box-shadow: none;
    resize: none;
}

/* PLACEHOLDER */
.tailor_myescape input::placeholder,
.tailor_myescape textarea::placeholder {
    color: #000;
    opacity: 1;
}

/* TEXTAREA HEIGHT */
.tailor_myescape textarea {
    min-height: 140px;
    line-height: 1.6;
}

/* CONTACT FORM 7 WRAP */
.tailor_myescape .wpcf7-form-control-wrap {
    display: block;
    margin-top: 8px;
}

/* CHECKBOX AREA */
.tailor_myescape .checkbox-group {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-top: 5px;
}

/* EACH ITEM */
.tailor_myescape .wpcf7-list-item {
    display: block;
    margin: 0;
}

.tailor_myescape .wpcf7-list-item label {
    display: flex;
    align-items: center;
    gap: 12px;
    font-weight: 400;
    margin: 0;
    cursor: pointer;
}

/* CUSTOM CHECKBOX */
.tailor_myescape input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 16px;
    height: 16px;
    border: 1px solid var(--color-accent);
    background: transparent;
    margin: 0;
    position: relative;
    cursor: pointer;
}

.tailor_myescape input[type="checkbox"]:checked {
    background: var(--color-accent);
}

/* SUBMIT BUTTON */
.tailor_myescape .submit-wrap {
    text-align: center;
    margin-top: 70px;
}

.tailor_myescape input[type="submit"] {
    background: var(--color-accent);
    color: #fff;
    border: none;
    padding: 16px 40px;
    font-weight: 400;
    cursor: pointer;
    min-width: 280px;
    transition: 0.3s ease;
}

.tailor_myescape input[type="submit"]:hover {
    background: var(--color-accent-dark);
}

/* REMOVE EXTRA P */
.tailor_myescape p {
    margin: 0;
}

/* VALIDATION */
.tailor_myescape .wpcf7-not-valid-tip {
    font-size: 13px;
    margin-top: 8px;
    color: #d63638;
}

.tailor_myescape .wpcf7-response-output {
    margin-top: 20px;
    text-align: center;
    border: none;
    font-size: 14px;
}

.tailor_myescape .wpcf7-checkbox{
  margin-bottom:0px;
  display: block;
}

.woocommerce-notices-wrapper {
  display: none !important;
}

.cookie-banner{
    position: fixed;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    max-width: 1200px;
    background: #000;
    color: #fff;
    padding: 80px 250px;
    z-index: 99999;
    display: none;
}

.cookie-content{
    max-width: 900px;
}

.cookie-content p{
    font-size: 18px;
    line-height: 1.4;
    margin-bottom: 40px;
}

.cookie-content button{
    background: var(--color-accent);
    color: white;
    border: none;
    padding: 20px 40px;
    font-size: 18px;
    cursor: pointer;
}

/* Overlay */
.tools-modal{
    display:none;

    position:fixed;
    inset:0;

    z-index:99;

    background:rgba(0,0,0,.25);

    padding:40px;

    overflow-y:auto;
}


/* Prevent page scroll */
body.modal-open{
    overflow:hidden;
}


/* Popup box */
.tools-inner{

    position:relative;

    max-width:1200px;
    width:100%;

    margin:40px auto;

    background:var(--color-deep-green);

    color:#fff;

    padding:110px 90px 100px;

    box-sizing:border-box;
}


/* Close button */
.popup-close{
    position:absolute;

    top:45px;
    right:45px;

    background:none;
    border:none;

    color:var(--color-accent);

    font-size:38px;
    line-height:1;

    cursor:pointer;

    z-index:2;

    transition:.3s;
}

.popup-close:hover{
    transform:rotate(90deg);
}


/* Main title */
.tools-inner h3{
    margin:0px;
    text-align:center;
    font-weight:400;
    line-height:1.2;
}


/* Subtitle */
.tools-inner h4{
    max-width:1000px;

    margin:0 auto 30px;

    text-align:center;

    font-weight:400;
    line-height:1.6;

    opacity:.95;
}


/* Description */
.desc_popup{
    max-width:1120px;

    margin:0 auto;

    text-align:center;


    line-height:1.6;

    opacity:.9;
}


/* Tool list */
.tools_list{

    margin-top:80px;

    padding-top:55px;

    border-top:1px solid rgba(255,255,255,.35);

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:70px 90px;
}


/* Tool item */
.tool_item{
    position:relative;

    padding-left:24px;
}


/* Gold square */
.tool_item::before{
    content:"";

    position:absolute;

    left:0;
    top:10px;

    width:10px;
    height:10px;

    background:#c7a46a;
}


/* Link */
.tool_link{
    text-decoration:none;

    color:#fff;

    display:block;

    transition:.25s ease;
}

.tool_link:hover{
    transform:translateX(5px);
    opacity:.85;
}


/* Title */
.tool_link h5{
    margin:0 0 14px;
    font-size:30px;
    font-weight:600;
    line-height:1.3;
}


/* Description */
.tool_item p{
    margin:0;
    line-height:1.5;
    opacity:.9;
}

.breathing-loading{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    color:#fff;
    z-index:2;
}


/* spinner */
.spinner{
    width:42px;
    height:42px;

    border:3px solid rgba(255,255,255,.2);
    border-top-color:var(--color-accent);

    border-radius:50%;

    animation:spin 1s linear infinite;

    margin-bottom:20px;
}


@keyframes spin{
    to{
        transform:rotate(360deg);
    }
}


/* hide embed initially */
#breathing-exercise-embed{
    opacity:0;
    transition:.3s;
    width:320px;
    margin:100px auto;
}

#breathing-exercise-embed.loaded{
    opacity:1;
}

.breathing-modal{
    display:none;

    position:fixed;
    inset:0;

    z-index:999999;

    background:rgba(0,0,0,.45);

    padding:20px;

    overflow:auto;
}

/* center popup */
.breathing-modal-inner{
    position:relative;

    width:fit-content;

    margin:60px auto;
}


/* close button */
.breathing-close{
    position:absolute;

    top:-18px;
    right:-18px;

    width:42px;
    height:42px;

    border:none;
    border-radius:50%;
    padding:0;
    background:var(--color-accent);

    color:#fff;

    font-size:28px;
    line-height:1;

    cursor:pointer;

    z-index:20;
    display:flex;
    align-items:center;
    justify-content:center;

    box-shadow:0 4px 12px rgba(0,0,0,.25);
}
.breathing-close:hover{
    transform:scale(1.08);
}

h5.breathing-trigger {
  margin-top: 6px;
  margin-bottom: 0;
  cursor: pointer;
	font-size: 18px
}

.accommodation-select-card {
	display: block;
	cursor: pointer;
	position: relative;
	height: 100%;

	border: 1px solid transparent;
	border-radius: 16px;
	overflow: hidden;

	transition: all .3s ease;
}

.accommodation-select-card input[type="radio"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.accommodation-select-card .acc_content {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.acc_price_wrapper {
	display: flex;
	gap: 20px;
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid rgba(255,255,255,0.1);
}

.acc_price_item {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.acc_price_item span {
	font-size: 12px;
	opacity: .7;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.acc_price_item strong {
	font-size: 16px;
	font-weight: 600;
}

.accommodation-select-card.active,
.accommodation-select-card:has(input:checked) {
	border-color: #C8A063;
	box-shadow: 0 0 0 1px rgba(200,160,99,.3);
}

.accommodation-select-card:has(input:checked){
	transform: translateY(-4px);
}

.accommodation-select-card:has(input:checked)::after {
	content: "Selected";
	position: absolute;
	top: 14px;
	right: 14px;
	background: #C8A063;
	color: #fff;
	font-size: 12px;
	padding: 6px 10px;
	border-radius: 100px;
	z-index: 5;
}

.accommodation-select-card:has(input:checked) .acc_image {
	transform: scale(1.02);
	transition: .3s ease;
}

.iframe_loaded{
    opacity: 1 !important;
    width: 768px !important;
    margin: 0 !important;
    height: 100% !important;
}

.products-loading {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 40px 0;
}

.products-loading img {
	width: 50px;
	height: 50px;
	animation: pulse 1.2s infinite ease-in-out;
}

.starterKit p {
	padding-top: 40px;
    padding-bottom: 20px;
	margin:0
}

.gallery_starterkit {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

.gallery_starterkit .item {
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #f5f5f5;
}

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

.tailored-wellness-form-wrapper {
    max-width: 1000px;
    margin: 0 auto;
    color: #111;
}

.tailored-wellness-grid {
    display: grid;
    gap: 28px;
}

.tailored-wellness-grid.two-col {
    grid-template-columns: repeat(2, 1fr);
}

.tailored-wellness-grid.one-col {
    grid-template-columns: 1fr;
}

.tailored-wellness-form-group label {
    display: block;
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 20px;
    color: #111;
}

.tailored-wellness-form-group input,
.tailored-wellness-form-group textarea {
    width: 100% !important;
    border: none !important;
    border-bottom: 1px solid #999 !important;
    background: transparent !important;
    padding: 0 0 14px !important;
    font-size: 18px !important;
    color: #111 !important;
    outline: none !important;
    box-shadow: none;
}

.tailored-wellness-form-group textarea {
    height: 40px !important;
    resize: none !important;
}

.tailored-wellness-form-group input::placeholder,
.tailored-wellness-form-group textarea::placeholder {
    color: #999 !important;
}

.tailored-wellness-divider {
    width: 100%;
    height: 0px;
    background: #999;
    margin: 30px 0;
}

.tailored-wellness-checkbox-group .wpcf7-list-item {
    display: block;
    margin: 0 0 22px;
}

.tailored-wellness-checkbox-group .wpcf7-list-item label {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0;
    font-weight: 400;
    cursor: pointer;
}

.tailored-wellness-checkbox-group input[type="checkbox"] {
    appearance: none;
    width: 16px;
    height: 16px;
    border: 1px solid #c29b56;
    background: transparent;
    margin: 0;
    position: relative;
    cursor: pointer;
}

.tailored-wellness-checkbox-group input[type="checkbox"]:checked {
    background: #c29b56;
}

.tailored-wellness-checkbox-spacing {
    padding-top: 0;
}

.tailored-wellness-submit-wrapper {
    text-align: center;
    margin-top: 40px;
}

.tailored-wellness-grid .wpcf7-checkbox{
	display: block;
}

.tailored-wellness-submit-wrapper input[type="submit"] {
    background: #c29b56;
    color: #fff;
    border: none;
    padding: 16px 34px;
    font-size: 16px;
    cursor: pointer;
    transition: 0.3s ease;
}

.tailored-wellness-submit-wrapper input[type="submit"]:hover {
    opacity: 0.9;
}

.button_cta{
	padding-top: 30px;
    padding-bottom: 50px;
    text-align: center;
    display: flex;
    justify-content: center;
}

.accomodation_text {
	margin-bottom: 100px
}

.accomodation_text a {
	color: var(--color-accent);
}



@media (max-width: 767px) {

    .tailored-wellness-grid.two-col {
        grid-template-columns: 1fr;
    }

    .tailored-wellness-checkbox-spacing {
        padding-top: 0;
    }
}

/* MOBILE */
@media (max-width: 768px) {
    .gallery_starterkit {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}
@keyframes pulse {
	0% {
		opacity: 0.4;
		transform: scale(0.95);
	}
	50% {
		opacity: 1;
		transform: scale(1);
	}
	100% {
		opacity: 0.4;
		transform: scale(0.95);
	}
}

/* ==========================================
   CHECKOUT ONLY
========================================== */

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    margin-bottom: 24px;
}

.woocommerce-checkout .woocommerce-form__label-for-checkbox {
    display: flex;
    align-items: center;
    gap: 12px;
    line-height: 1.5;
}

.woocommerce-checkout .woocommerce-form__input-checkbox {
    margin: 0;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text {
    display: inline;
}

.woocommerce-checkout .woocommerce-privacy-policy-text {
    margin-top: 20px;
    font-size: 16px;
    line-height: 1.7;
}

.woocommerce-checkout .woocommerce-privacy-policy-text p {
    margin-bottom: 0;
}

.woocommerce-checkout #place_order {
    min-height: 64px;
    font-size: 22px;
    font-weight: 500;
}

#global-loader {
    position: fixed;
    inset: 0;
    background: rgba(255,255,255,.85);
    z-index: 999999;

    display: flex;
    align-items: center;
    justify-content: center;
}

#global-loader .products-loading {
    text-align: center;
}

#global-loader img {
    animation: pulse 1s infinite ease-in-out;
}

@keyframes pulse {
    0% {
        transform: scale(.9);
        opacity: .7;
    }
    50% {
        transform: scale(1);
        opacity: 1;
    }
    100% {
        transform: scale(.9);
        opacity: .7;
    }
}

.contact_information {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: start;
}

.contact_form_column {
    width: 100%;
}

.contact_details_column {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.contact_info_block h4,
.contact_info_item h4 {
    margin: 0 0 20px;
    font-size: 21px;
    font-weight: 400;
    line-height: 1.2;
	font-family: var(--font-heading);
}

.contact_info_block p,
.contact_info_item p,
.contact_info_item {
    line-height: 1.8;
}

.contact_info_content {
    display: flex;
    align-items: center;
    gap: 10px;
	font-size: 16px;
}

.contact_info_content i {
    color: #264e86;
    font-size: 16px;
}

.contact_info_grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 60px;
}

.contact_input {
    width: 100%;
    height: 52px !important;
    padding: 0 16px !important;
    border: 1px solid #d9c9a4 !important;
    background: #f7f4ef;
	margin-bottom:20px;
}

.ofw-tel-field .contact_input{
	margin-bottom:0
}

.contact_textarea {
    width: 100%;
    height: 170px !important;
    padding: 16px !important;
    border: 1px solid #d9c9a4 !important;
    background: #f7f4ef;
    resize: none !important;
	margin-top: 20px
}

.contact_form_footer {
    display: flex;
    justify-content: space-between;
    align-items: right;
    gap: 12px;
}

.contact_form_submit {
    flex-shrink: 0;
	position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.contact_form_submit .wpcf7-spinner {
    position: absolute;
    left: -38px;
    margin: 0;
}

.contact_submit {
    min-width: 150px;
    height: 44px;
    border: none;
    background: #c6a86a;
    color: #fff;
    cursor: pointer;
}

.woocommerce .woocommerce-form-register input[type="text"]:focus,
.woocommerce .woocommerce-form-register input[type="text"]:active,
.woocommerce .woocommerce-form-register input[type="email"]:focus,
.woocommerce .woocommerce-form-register input[type="text"]:active,
.woocommerce .woocommerce-form-register input[type="password"]:focus,
.woocommerce .woocommerce-form-register input[type="password"]:active,
.woocommerce .woocommerce-form-register input[type="text"],
.woocommerce .woocommerce-form-register input[type="email"],
.woocommerce .woocommerce-form-register input[type="password"],
.woocommerce .woocommerce-form-login input,
.woocommerce .woocommerce-form-login input:focus,
.woocommerce .woocommerce-form-login input:active,
.fp-form input,
.fp-form input:focus,
.fp-form input:active,
.forgot-box input,
.forgot-box input:active,
.forgot-box input:focus{
	    color: #fff;
}

.question.error {
	padding-left: 16px;
}

.quiz-error {
	color: #d63638;
	font-size: 16px;
	margin-top: 10px;
}


.field-error {
    color: #dc3545;
    font-size: 14px;
    margin-top: 8px;
    display: none;
    font-family: var(--font-body);
}

.field-error.show {
    display: block;
}

.group-options textarea{
  padding:0 !important;
}

.group-options select{
  border:0;
  background:transparent;
  padding:0 !important;
  color:#111 !important;
}

.woocommerce-order-received .ofw-tel-field{
	margin-bottom: 30px
}

.wpcf7-validates-as-tel {
	margin-bottom: 0 !important
}

.instagram_feed{
	margin-top: 50px
}

.instagram_feed .image_grid_title{
	margin : 0 auto 0 auto;
	gap: 9px;
}

.instagram_feed .image_grid_title img{
	    margin-left: 36px;
	margin-top: 21px;
}

.instagram_feed .image_grid_title hr {
	margin-bottom: 0
}
.instagram_feed .image_grid_title h3{
	display: flex;
    justify-content: center;
    align-items: center;
}

table.shop_table_responsive tr th.woocommerce-orders-table__header-order-actions {
	text-align: center !important
}

.woocommerce-MyAccount-content td > a.woocommerce-button.button {
	    display: block;
    width: 100%;
    text-align: center;
    text-decoration: none;
}

.woocommerce-MyAccount-content td.woocommerce-orders-table__cell-order-actions{
	display:flex
}

.woocommerce-account .woocommerce-orders-table__cell-package {
    max-width: 280px;
    white-space: normal;
    word-break: break-word;
    line-height: 1.5;
}

.woocommerce-orders-table__cell-order-actions {
    white-space: nowrap;
}

.woocommerce-orders-table__cell-order-actions .button {
    margin: 0 4px;
}
