:root {
  /* Font families */
  --font-family-display: 'Knewave', system-ui;
  --font-family-text: 'Montserrat', sans-serif;

  /* Text sizes - fluid */
  --text-xs: clamp(0.79rem, 0.77rem + 0.1vw, 0.84rem);
  --text-s: clamp(0.89rem, 0.85rem + 0.2vw, 1rem);
  --text-m: clamp(1rem, 0.95rem + 0.25vw, 1.13rem);
  --text-l: clamp(1.13rem, 1.05rem + 0.4vw, 1.35rem);
  --text-xl: clamp(1.27rem, 1.15rem + 0.6vw, 1.62rem);

  /* Heading sizes - fluid */
  --heading-h6: clamp(0.8rem, 0.78rem + 0.1vw, 0.875rem);
  --heading-h5: clamp(1rem, 0.96rem + 0.2vw, 1.125rem);
  --heading-h4: clamp(1.25rem, 1.15rem + 0.5vw, 1.5rem);
  --heading-h3: clamp(1.5rem, 1.35rem + 0.75vw, 1.875rem);
  --heading-h2: clamp(1.875rem, 1.65rem + 1.1vw, 2.5rem);
  --heading-h1: clamp(2.25rem, 1.9rem + 1.75vw, 3.25rem);
  --heading-title: clamp(2.75rem, 2.2rem + 2.75vw, 4.5rem);

    /* Line heights (unitless) */
  --lh-h1: 1.14;
  --lh-h2: 1.18;
  --lh-h3: 1.24;
  --lh-h4: 1.28;
  --lh-h5: 1.32;
  --lh-h6: 1.36;

  --lh-p:  1.48;  /* tighter, clean for clinical/Swiss style */
  --lh-sm: 1.44;  /* compact small text */

  /* Brand colors */
  --color-primary: #3a5a40;
  --color-secondary: #b41e29;
  --color-tertiary: #fbb040;
  
  /* Neutrals */
  --color-body: #3c2415;
  --color-white: #ffffff;
  
  /* RGB values for alpha/opacity use */
  --color-primary-rgb: 58, 90, 64;
  --color-secondary-rgb: 180, 30, 41;
  --color-tertiary-rgb: 251, 176, 64;
  --color-body-rgb: 60, 36, 21;
  
  /* Semantic aliases */
  --color-text: var(--color-body);
  --color-background: var(--color-white);
  --color-accent: var(--color-tertiary);

    /* Spacing utilities */
  --space-0: 0;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;

  --pb-04: 0.4rem;
  --pb-1: 2rem;
  --pb-2: 2.5rem;
  --pb-3: 3rem;
  --pb-4: 3.5rem;

}

.main-navigation .w-nav-list.level_1 .w-nav-anchor.level_1 .w-nav-title {
    font-size: var(--heading-h4);
    font-weight: 700!important;
    font-family: var(--font-family-text)!important;
}

@media (min-width: 1025px) {
    .w-nav-list.level_2 {
        padding: 0.8rem!important;
        border-radius: 1.6rem!important;
        overflow: hidden!important;
    }
}

.home-hero-column-wrapper .vc_column-inner > .wpb_wrapper {
        display: grid;
        grid-template-columns: 1fr;
        align-items: center;
        gap: 2rem;
    }

@media (min-width: 1024px) {
.home-hero-column-wrapper .vc_column-inner > .wpb_wrapper  {
        display: grid;
        grid-template-columns: 1fr 1fr;
        align-items: center;
        gap: 3rem;
    }
}

/* =========================================
   Utility: Yellow brush background for text
   Usage: add class .u-brush-yellow
   ========================================= */

.u-brush-yellow{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  z-index: 1;
  line-height: 1;
  padding: 0.55em 1.25em;
  min-width: 10ch;
}

/* Brush background */
.u-brush-yellow::before{
  content: "";
  position: absolute;
  inset: -0.55em -0.7em;
  background: url("/wp-content/uploads/2025/12/elephant-title-brush-bg-01.svg")
              center / 100% 100% no-repeat;
  z-index: -1;
  pointer-events: none;
}

@media (max-width: 1023px){
  .u-brush-yellow{
    padding: 0.5em 1.1em;
    min-width: 9ch;
  }

  .u-brush-yellow::before{
    inset: -0.5em -0.65em;
  }
}

/* homepage main section */
/* Full-height hero with safe mobile units — MOBILE FIRST */

/* Base (smartphone) */
.zoom-background {
  position: relative;
  min-height: 100dvh;
  min-height: 100svh;
  min-height: 100vh;

  overflow: hidden;
  background-color: transparent !important;
  padding: 0 !important;
  display: flex;
  justify-content: center;
  align-items: center;
}

.zoom-background > .l-section-h {
  min-height: inherit;
  height: 100%;
  display: flex;
  justify-content: center;
}

/* Ensure the row also stretches and participates in centering */
.zoom-background .g-cols.vc_row {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100%;
  width: 100%;
}

/* Kill vertical padding that can pin content to the top */
.zoom-background .l-section-h,
.zoom-background .vc_column-inner {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* If text should be centered */
.zoom-background .wpb_wrapper {
  width: 100%;
}

/* Safety: the 'height_auto' class from the theme can fight full-height */
.zoom-background.height_auto {
  height: auto;
  min-height: 100dvh;
  min-height: 100svh;
  min-height: 100vh;
}

/* Make inner wrappers inherit height (WPBakery/Impreza etc.) */
.zoom-background > .l-section-h,
.zoom-background > .w-section-h,
.zoom-background > .wpb_row,
.zoom-background > .vc_row,
.zoom-background .l-section-h{
  min-height: 100%;
  height: 100%;
}

/* The actual background layer — smartphone default */
.zoom-background::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url('/wp-content/uploads/2026/02/Kerchor-Main-Hero-Mobile-11.jpg');
  background-size: cover;
  background-position: 65% 10%;
  background-repeat: no-repeat;

  transform: scale(1);
  transform-origin: center;
  animation: zoomInOut 18s ease-in-out infinite alternate; /* gentler on mobile */
  will-change: transform;
  z-index: 0;
}

/* Ensure your content sits above */
.zoom-background > * {
  position: relative;
  z-index: 1;
}

/* Tablet and up */
@media (min-width: 600px) {
  .zoom-background::before {
    background-image: url('/wp-content/uploads/2026/02/Kerchor-Main-Hero-Tablet-11.jpg');
    background-position: 50% 10%;
    animation-duration: 12s;
  }
}

/* Desktop and up */
@media (min-width: 1024px) {
  .zoom-background::before {
    background-image: url('/wp-content/uploads/2026/02/Kerchor-Main-Hero-11.jpg');
    background-position: 50% 10%;
    animation-duration: 12s;
  }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .zoom-background::before{
    animation: none;
    transform: none;
  }
}

@keyframes zoomInOut{
  from { transform: scale(1); }
  to   { transform: scale(1.2); }
}
/* End of Full-height hero with safe mobile units */

.hero-main-title {
  font-family: var(--font-family-display);
  color: var(--color-white);
  font-size: var(--heading-h3);
}

.hero-intro-text {
  font-family: var(--font-family-text);
  color: var(--color-white);
  font-size: var(--heading-h5);
}

.intro-section {
  padding-block: var(--space-6);
}

@media (min-width: 1024px) {
  .intro-section {
    padding-block: var(--space-7);
  }
}

.intro-section-wrapper .vc_column-inner > .wpb_wrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}

@media (min-width: 1024px) {
    .intro-section-wrapper .vc_column-inner > .wpb_wrapper {
      display: grid;
      grid-template-columns: 1fr 2fr;
      gap: 4rem;
    }
}

/* Background layer */
.intro-section {
  position: relative;
  overflow: hidden;
}

/* Intro section background – full solution */
.intro-section {
  /* background image */
  background-image: url('/wp-content/uploads/2025/12/two-elephant-bg-01.svg');
  background-repeat: no-repeat;

  /* size: image height = 80% of section, width auto */
  background-size: auto 80%;

  /* position: left edge aligned, vertically centered */
  background-position: left center;

  /* safety: ensure background is visible */
  background-color: transparent;
}

/* content above background */
.intro-section > * {
  position: relative;
  z-index: 1;
}

.intro-section .inner-wrapper-left {
  justify-content: center;
}

.intro-section .inner-wrapper-right {
  justify-content: center;
}

.intro-section-media img {
  height: 80%;
}

@media (min-width: 1024px) {
  .intro-section-media img {
    height: 90%;
}
}

.intro-section .section-title,
.intro-section .section-title p {
  font-family: var(--font-family-display);
  color: var(--color-primary);
  font-size: var(--heading-h3);
  font-weight: 400;
}

.intro-section .section-subtitle,
.intro-section .section-subtitle p {
  font-family: var(--font-family-text);
  font-weight: 600;
}

.intro-section .section-content,
.intro-section .section-content p {
  font-family: var(--font-family-text);
  font-weight: 400;
}

/* our elephants CSS */

.our-elephants-hero-section {
  position: relative;
  min-height: 100dvh;
  min-height: 100svh;
  min-height: 100vh;

  overflow: hidden;
  background-color: transparent !important;
  padding: 0 !important;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Make the inner section wrapper fill the height and center content */
.our-elephants-hero-section > .l-section-h {
  min-height: inherit;
  height: 100%;
  display: flex;
  justify-content: center;
}

/* Ensure the row also stretches and participates in centering */
.our-elephants-hero-section .g-cols.vc_row {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100%;
  width: 100%;
}

/* Kill vertical padding that can pin content to the top */
.our-elephants-hero-section .l-section-h,
.our-elephants-hero-section .vc_column-inner {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* If text should be centered */
.our-elephants-hero-section .wpb_wrapper {
  width: 100%;
}

.our-elephants-hero-section .hero-title h1 {
    font-size: var(--heading-h2);
    font-family: var(--font-family-display);
    line-height: 1.2;
    margin-bottom: 1rem;
    color: #ffffff;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

/* Safety: the 'height_auto' class from the theme can fight full-height */
.our-elephants-hero-section.height_auto {
  height: auto;
  min-height: 100dvh;
  min-height: 100svh;
  min-height: 100vh;
}

/* Make inner wrappers inherit height (WPBakery/Impreza etc.) */
.our-elephants-hero-section > .l-section-h,
.our-elephants-hero-section > .w-section-h,
.our-elephants-hero-section > .wpb_row,
.our-elephants-hero-section > .vc_row,
.our-elephants-hero-section .l-section-h{
  min-height: 100%;
  height: 100%;
}

/* The actual background layer — smartphone default */
.our-elephants-hero-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url('/wp-content/uploads/2025/12/Our-Elephants-Hero-Mobile-01.jpg');
  background-size: cover;
  background-position: 65% 10%;
  background-repeat: no-repeat;

  transform: scale(1);
  transform-origin: center;
  animation: zoomInOut 18s ease-in-out infinite alternate; /* gentler on mobile */
  will-change: transform;
  z-index: 0;
}

/* Ensure your content sits above */
.our-elephants-hero-section > * {
  position: relative;
  z-index: 1;
}

/* Tablet and up */
@media (min-width: 600px) {
  .our-elephants-hero-section::before {
    background-image: url('/wp-content/uploads/2025/12/Our-Elephants-Hero-Tablet-01.jpg');
    background-position: 50% 10%;
    animation-duration: 12s;
  }
}

/* Desktop and up */
@media (min-width: 1024px) {
  .our-elephants-hero-section::before {
    background-image: url('/wp-content/uploads/2025/12/Our-Elephants-Hero-01.jpg');
    background-position: 50% 10%;
    animation-duration: 12s;
  }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .our-elephants-hero-section::before{
    animation: none;
    transform: none;
  }
}

@keyframes zoomInOut{
  from { transform: scale(1); }
  to   { transform: scale(1.2); }
}

.our-elephants-main-grid-section {
  padding-block: var(--space-6);
}

@media (min-width: 1024px) {
  .our-elephants-main-grid-section {
    padding-block: var(--space-7);
  }
}

.our-elephants-main-grid-wrapper .vc_column-inner > .wpb_wrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}

@media (min-width: 1024px) {
    .our-elephants-main-grid-wrapper .vc_column-inner > .wpb_wrapper {
      display: grid;
      grid-template-columns: 1fr;
      gap: 2rem;
    }
}

/* =========================
   MOBILE FIRST (<1024px)
   Image on top, text left
   ========================= */

.our-elephants-grid article.w-grid-item .inner-elephant-element-wrapper{
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  align-items: center;
}

/* Force IMAGE first on mobile */
.our-elephants-grid article.w-grid-item .inner-elephant-media-wrapper{
  grid-row: 1;
  grid-column: 1;
}

.our-elephants-grid article.w-grid-item .inner-elephant-content-wrapper{
  grid-row: 2;
  grid-column: 1;
  text-align: left; /* always left on mobile */
}

/* =========================
   DESKTOP (≥1024px)
   Keep alternating layout + right-align odd text
   ========================= */

@media (min-width: 1024px){

  /* Odd default: TEXT | IMAGE => 3fr | 1fr */
  .our-elephants-grid article.w-grid-item .inner-elephant-element-wrapper{
    grid-template-columns: 3fr 1fr;
  }

  .our-elephants-grid article.w-grid-item .inner-elephant-content-wrapper{
    grid-column: 1;
    grid-row: 1;
    text-align: left; /* baseline */
    min-width: 0;
  }

  .our-elephants-grid article.w-grid-item .inner-elephant-media-wrapper{
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
  }

  /* Even: IMAGE | TEXT => 1fr | 3fr */
  .our-elephants-grid article.w-grid-item:nth-child(even) .inner-elephant-element-wrapper{
    grid-template-columns: 1fr 3fr;
  }

  .our-elephants-grid article.w-grid-item:nth-child(even) .inner-elephant-media-wrapper{
    grid-column: 1;
    grid-row: 1;
  }

  .our-elephants-grid article.w-grid-item:nth-child(even) .inner-elephant-content-wrapper{
    grid-column: 2;
    grid-row: 1;
    text-align: left; /* keep even normal */
  }

  /* ✅ ODD items: right-align all text on desktop */
  .our-elephants-grid article.w-grid-item:nth-child(odd) .inner-elephant-content-wrapper{
    text-align: right;
    justify-self: end; /* pushes the text block to the right edge of its column */
  }
}

/* Spacing between title, age and text */
.inner-elephant-content-wrapper{
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

/* =========================================
   Elephant title with SVG brush background
   Fix short titles by enforcing a minimum width
   ========================================= */

.inner-elephant-title{
  position: relative;
  display: inline-flex;                 /* lets us center text inside */
  align-items: center;
  justify-content: center;

  font-family: var(--font-family-display);
  font-size: var(--heading-h2);
  font-weight: 400;
  line-height: 1;
  color: var(--color-primary);

  white-space: nowrap;
  z-index: 1;

  /* The key fix for short titles */
  min-width: 10ch;                      /* adjust: 8ch–12ch */
  padding: 0.55em 1.25em;               /* consistent internal space */
}

/* Brush behind
.inner-elephant-title::before{
  content: "";
  position: absolute;
  inset: -0.55em -0.7em;
  background: url("/wp-content/uploads/2025/12/elephant-title-brush-bg-01.svg")
              center / 100% 100% no-repeat;
  z-index: -1;
  pointer-events: none;
}

@media (max-width: 1023px){
  .inner-elephant-title{
    min-width: 9ch;
    padding: 0.5em 1.1em;
  }
  .inner-elephant-title::before{
    inset: -0.5em -0.65em;
  }
}*/

/* Desktop alignment logic (unchanged) */
@media (min-width: 1024px){
  .our-elephants-grid article.w-grid-item:nth-child(odd) .inner-elephant-title{
    margin-left: auto;
    margin-right: 0;
  }
  .our-elephants-grid article.w-grid-item:nth-child(even) .inner-elephant-title{
    margin-left: 0;
    margin-right: auto;
  }
}

/* Base brush style - reusable */
.brush-bg {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
    padding: 0.5em 1.2em;
    white-space: nowrap;
}

/* Multi-line variant */
.brush-bg--multiline {
    white-space: normal;
    text-align: center;
}

.brush-bg--multiline::before {
    height: calc(100% + 0.8em); /* less extra height for multiline */
}

.brush-bg::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: calc(100% + 2em);
    height: calc(100% + 1.2em);
    z-index: -1;
    pointer-events: none;
    
    background-color: var(--brush-color, #fbb040);
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 334.67 75.49' preserveAspectRatio='none'%3E%3Cpath d='M10.78,20.34c-3.29.67-6.32,1.02-8.06-2.18.76-.22,1.32-.37,2.43-.69-4-1.12-.71-5.5-5.15-6.14,5.36-3.91,11.58-3.66,17.41-4.16,7.96-.68,15.84-1.85,23.91-1.92,6.62-.05,13.24-1.51,19.86-1.51,7.62,0,15.11-1.05,22.66-1.44,11.55-.6,23.13-1.35,34.68-1.57,8.21-.15,16.43-.51,24.66-.46,15.47.08,30.95-.55,46.43-.09,3.16.09,6.26,1.17,9.45.57,1.34-.25,2.71-.43,3.95-.14,6.9,1.61,14.05,1.02,21.03,1.49,10.12.68,20.28,1.28,30.43,1.8,3.77.19,7.64.26,11.36.84,10.41,1.63,20.93,2.49,31.4,3.7,7.93.92,15.72,2.57,23.71,3.24,2.15.18,5.07-.12,6.82,2.21-4.52,3.1-9.93.94-14.79,1.9,3.07-.13,5.9,1.12,8.93,1.03.95-.03,1.91.09,2.2.97.33,1.02-.89,1.18-1.75,1.84,1.18.07,2.04.44,2.88,1.3-1.93-.09-3.4.52-4.64,1.42,3.58,2.06,7.81,1.4,11.62,2.38,1.05.27,2.5.38,2.47,1.48-.04,1.29-1.51,1.45-2.76,1.44-1.55,0-3.1-.08-4.81-.13,1.4,1.7,4.49.59,5.21,2.83-1.72.73-3.57.81-5.38.75-.43,1.21,1.87.88,1.3,2.17-1.54,1.05-3.42,1.66-5.52,2.17,2.01-.21,2.19,1.84,3.94,2.08,2.97.41,2.95.53,3.69,1.49-2.89,2.06-6.37,1.14-9.74,1.29,1.51,1.87,3.94,1.14,5.85,1.65,2.42.65,3.4,1.6,3.42,3.66-3.2.47-6.3-.54-10.08.52,3.76,1.2,7.75-.1,10.03,3.11-3.66,1.18-7.11,2.39-11,2.36,3.26,1.02,7.19.6,9.34,3.64-.41,1.09-2.39-.3-2.55,1.21.79.82,2.61-.06,3,1.39-1.31,1.59-3.46,1.18-5.59,1.48,1.48.68,2.73.93,4.04,1.17,1.18.22,2.69.29,4.05,2.26-11.14,1.49-21.86-.61-32.44.05q.81,1.82-1.37,3.3c.54.67,1.93.72,1.93,1.76,0,.91-1.55.84-1.73,1.61,1.53,1.25,3.86.76,5.04,2.5-3.12,1.48-6.36,1.26-9.51,1.65-10.48,1.32-20.96.6-31.45.38-4.21-.08-8.48-.83-12.59-.39-6.59.71-13.08-.15-19.59-.34-2.93-.09-6.08-.84-8.98-.51-6.44.73-12.85-.02-19.18-.33-4.14-.2-8.34-.08-12.48-.25-11.2-.45-22.45.3-33.67-.22-2.83-.13-5.63.14-8.42.2-11.75.26-23.5.09-35.26.8-8.34.51-16.77.13-25.15.61-7.27.42-14.57.62-21.82,1.24-7.89.67-15.73,1.27-23.58-.48.22-2.56,2.78-2.14,4.59-2.79,2.07-.75,4.58.79,6.53-1.2-3.52-.45-6.93,1.14-10.71-.23,1.97-.74.97-3.23,2.82-3.41,3.67-.37,7.01-1.85,10.87-1.79,2.6.03,5.36.05,7.99-.32,8.42-1.16,5.34-3.42-3.1-2.88-5.71.37-11.4.87-17.14.69-1.75-.05-2.18.87-1.29,2.18-2.12.25-2.73-1.09-2.61-1.94.34-2.5,3.55-1.38,4.9-2.32-4.09-4.12-9.65-3.44-14.95-3.61-1-.03-2.05-.03-2.99.21-2.31.6-4.23.04-6.71-1.32,3.75-2.42,8.02-3.07,10.82-4.58-8.17-2.75-17.22-.57-26.25-1.6.77-2.51,3.47-2.05,5.08-3.03-1.2-.53-3.32-.14-3.39-1.76-.07-1.94,2.32-1.32,3.55-1.95.51-.26,1.36.25,1.72-.41.18-1.23-1.42-1.14-1.75-1.91,1.88-3.65,5.76-3.88,9.73-4.13-4.59-1.91-9.25,1.97-13.89-.69,1.75-1.49,3.21-2.96,5.83-3.81-2.7-.57-5.84.79-6.69-2.28.95-1.84,3.39-1.43,5.36-2.82-2.92.53-4.89-1.22-7.98-.06,2.33-3.86,7.09-3.42,9.58-6.25Z'/%3E%3Cpath d='M37.79,71.05c-1.25-1.92-1.42-4.24-4.78-3.22.42,2.21,1.89,2.98,4.78,3.22Z'/%3E%3Cpath d='M8.45,51.11c-.44,2.37,2.13,2.23,3.44,3.18.35-.6,1.38-1.02.48-1.88-1.04-.99-2.04-2.03-3.92-1.31Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 334.67 75.49' preserveAspectRatio='none'%3E%3Cpath d='M10.78,20.34c-3.29.67-6.32,1.02-8.06-2.18.76-.22,1.32-.37,2.43-.69-4-1.12-.71-5.5-5.15-6.14,5.36-3.91,11.58-3.66,17.41-4.16,7.96-.68,15.84-1.85,23.91-1.92,6.62-.05,13.24-1.51,19.86-1.51,7.62,0,15.11-1.05,22.66-1.44,11.55-.6,23.13-1.35,34.68-1.57,8.21-.15,16.43-.51,24.66-.46,15.47.08,30.95-.55,46.43-.09,3.16.09,6.26,1.17,9.45.57,1.34-.25,2.71-.43,3.95-.14,6.9,1.61,14.05,1.02,21.03,1.49,10.12.68,20.28,1.28,30.43,1.8,3.77.19,7.64.26,11.36.84,10.41,1.63,20.93,2.49,31.4,3.7,7.93.92,15.72,2.57,23.71,3.24,2.15.18,5.07-.12,6.82,2.21-4.52,3.1-9.93.94-14.79,1.9,3.07-.13,5.9,1.12,8.93,1.03.95-.03,1.91.09,2.2.97.33,1.02-.89,1.18-1.75,1.84,1.18.07,2.04.44,2.88,1.3-1.93-.09-3.4.52-4.64,1.42,3.58,2.06,7.81,1.4,11.62,2.38,1.05.27,2.5.38,2.47,1.48-.04,1.29-1.51,1.45-2.76,1.44-1.55,0-3.1-.08-4.81-.13,1.4,1.7,4.49.59,5.21,2.83-1.72.73-3.57.81-5.38.75-.43,1.21,1.87.88,1.3,2.17-1.54,1.05-3.42,1.66-5.52,2.17,2.01-.21,2.19,1.84,3.94,2.08,2.97.41,2.95.53,3.69,1.49-2.89,2.06-6.37,1.14-9.74,1.29,1.51,1.87,3.94,1.14,5.85,1.65,2.42.65,3.4,1.6,3.42,3.66-3.2.47-6.3-.54-10.08.52,3.76,1.2,7.75-.1,10.03,3.11-3.66,1.18-7.11,2.39-11,2.36,3.26,1.02,7.19.6,9.34,3.64-.41,1.09-2.39-.3-2.55,1.21.79.82,2.61-.06,3,1.39-1.31,1.59-3.46,1.18-5.59,1.48,1.48.68,2.73.93,4.04,1.17,1.18.22,2.69.29,4.05,2.26-11.14,1.49-21.86-.61-32.44.05q.81,1.82-1.37,3.3c.54.67,1.93.72,1.93,1.76,0,.91-1.55.84-1.73,1.61,1.53,1.25,3.86.76,5.04,2.5-3.12,1.48-6.36,1.26-9.51,1.65-10.48,1.32-20.96.6-31.45.38-4.21-.08-8.48-.83-12.59-.39-6.59.71-13.08-.15-19.59-.34-2.93-.09-6.08-.84-8.98-.51-6.44.73-12.85-.02-19.18-.33-4.14-.2-8.34-.08-12.48-.25-11.2-.45-22.45.3-33.67-.22-2.83-.13-5.63.14-8.42.2-11.75.26-23.5.09-35.26.8-8.34.51-16.77.13-25.15.61-7.27.42-14.57.62-21.82,1.24-7.89.67-15.73,1.27-23.58-.48.22-2.56,2.78-2.14,4.59-2.79,2.07-.75,4.58.79,6.53-1.2-3.52-.45-6.93,1.14-10.71-.23,1.97-.74.97-3.23,2.82-3.41,3.67-.37,7.01-1.85,10.87-1.79,2.6.03,5.36.05,7.99-.32,8.42-1.16,5.34-3.42-3.1-2.88-5.71.37-11.4.87-17.14.69-1.75-.05-2.18.87-1.29,2.18-2.12.25-2.73-1.09-2.61-1.94.34-2.5,3.55-1.38,4.9-2.32-4.09-4.12-9.65-3.44-14.95-3.61-1-.03-2.05-.03-2.99.21-2.31.6-4.23.04-6.71-1.32,3.75-2.42,8.02-3.07,10.82-4.58-8.17-2.75-17.22-.57-26.25-1.6.77-2.51,3.47-2.05,5.08-3.03-1.2-.53-3.32-.14-3.39-1.76-.07-1.94,2.32-1.32,3.55-1.95.51-.26,1.36.25,1.72-.41.18-1.23-1.42-1.14-1.75-1.91,1.88-3.65,5.76-3.88,9.73-4.13-4.59-1.91-9.25,1.97-13.89-.69,1.75-1.49,3.21-2.96,5.83-3.81-2.7-.57-5.84.79-6.69-2.28.95-1.84,3.39-1.43,5.36-2.82-2.92.53-4.89-1.22-7.98-.06,2.33-3.86,7.09-3.42,9.58-6.25Z'/%3E%3Cpath d='M37.79,71.05c-1.25-1.92-1.42-4.24-4.78-3.22.42,2.21,1.89,2.98,4.78,3.22Z'/%3E%3Cpath d='M8.45,51.11c-.44,2.37,2.13,2.23,3.44,3.18.35-.6,1.38-1.02.48-1.88-1.04-.99-2.04-2.03-3.92-1.31Z'/%3E%3C/svg%3E");
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}

/* Color variations */
.brush-bg--orange {
    --brush-color: var(--color-tertiary, #fbb040);
}

.brush-bg--green {
    --brush-color: var(--color-primary, #3c6e47);
}

.brush-bg--brown {
    --brush-color: var(--color-body, #3c2415);
}

.brush-bg--white {
    --brush-color: #ffffff;
}

.brush-bg--light {
    --brush-color: #f5f0e8;
}

/* Your existing elephant title - now uses the base class */
.inner-elephant-title {
    font-family: var(--font-family-display);
    font-size: var(--heading-h2);
    font-weight: 400;
    line-height: 1;
    color: var(--color-primary);
    --brush-color: var(--color-tertiary, #fbb040);
}

/* Footer CSS */

.main-footer {
  background: var(--color-tertiary);
  padding-block: var(--space-6);
}

.main-footer-column-wrapper .vc_column-inner>.wpb_wrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}

@media (min-width: 1024px) {
    .main-footer-column-wrapper .vc_column-inner>.wpb_wrapper {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      gap: 2rem;
}
}

.bottom-footer {
  background: var(--color-body);
  padding-block: var(--pb-04);
  color: var(--color-white);
  font-size: var(--text-xs);
}

.bottom-footer a {
  color: var(--color-white);
}

.bottom-footer a:hover {
  color: var(--color-tertiary);
}

.bottom-footer-column-wrapper .vc_column-inner>.wpb_wrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}

@media (min-width: 1024px) {
    .bottom-footer-column-wrapper .vc_column-inner>.wpb_wrapper {
      display: grid;
      grid-template-columns: 2fr 1fr;
      gap: 2rem;
    }
}

.social-icons-footer {
  display: flex;
  gap: 1rem;
}

.footer-title {
  color: var(--color-body);
  font-size: var(--text-m) ;
  line-height: 1.1;
  font-weight: 700;
}

.footer-text {
  color: var(--color-body);
  font-size: var(--text-s) ;
  line-height: 1.4;
  font-weight: 400;
}

.footer-logo img {
  height: 110px;
  width: auto;
}

/* What to bring section and icons icon css */
:root {
    --wtb-icon-color: #FFFFFF;
    --wtb-icon-hover: #fbb040;
    --wtb-icon-height: 66px;
}

.what-to-bring-section {
  padding-block: var(--space-8);
  background: var(--color-secondary, #b41e29);
}

.what-to-bring-icon-code svg {
    height: var(--wtb-icon-height);
    width: auto;
    color: var(--wtb-icon-color);
    transition: color 0.3s ease;
}

.w-grid-item:hover .what-to-bring-icon-code svg {
    color: var(--wtb-icon-hover);
}

.what-to-bring-title {
  color: var(--color-white);
  font-size: var(--text-m);
  font-weight: 400;
  line-height: 1.1;
  line-height: var(--lh-h3);
}

.what-to-bring-grid {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

@media (min-width: 1024px) {
.what-to-bring-grid {
  width: 80%;
}
}

.what-to-bring-main-title {
  font-family: var(--font-family-display);
  color: var(--color-white);
  font-size: var(--heading-h3);
  text-align: center;
  font-weight: 400;
  line-height: var(--lh-h3);
}

/* Tour CSS */
/* MOBILE FIRST - Base styles for mobile */
.tour-hero-section {
    position: relative;
    min-height: 50vh;
}

/* Dark overlay for text readability */
.tour-hero-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.3));
    z-index: 1;
}

/* Ensure full height on containers */
.tour-hero-section .l-section-h {
    min-height: 50vh;
}

/* Ensure content is above overlay */
.tour-hero-section .l-section-h,
.tour-hero-section .vc_row,
.tour-hero-section .vc_column_container {
    position: relative;
    z-index: 2;
}

/* Flex centering */
.tour-hero-section .vc_row {
    min-height: 50vh;
    display: flex;
    align-items: center;
}

.tour-hero-section .vc_column_container {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 50vh;
}

.tour-hero-section .vc_column-inner {
    width: 100%;
    padding: 1rem;
}

/* Hero Title - Mobile */
.tour-hero-section .hero-title {
    font-size: var(--heading-h2);
    font-family: var(--font-family-display);
    line-height: 1.2;
    margin-bottom: 1rem;
    color: #ffffff;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

/* Hero Tagline - Mobile */
.tour-hero-section .hero-tagline {
    font-size: var(--heading-h4);
    font-weight: 400;
    line-height: 1.6;
    color: var(--color-white);
    margin-bottom: 0;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
}

/* TABLET - Scale up from mobile */
@media (min-width: 768px) {
    .tour-hero-section,
    .tour-hero-section .l-section-h,
    .tour-hero-section .vc_row,
    .tour-hero-section .vc_column_container {
        min-height: 60vh;
    }
    
    .tour-hero-section .vc_column-inner {
        padding: 1.5rem;
    }
    
    .tour-hero-section .hero-title {
        font-size: var(--heading-h2);
        font-family: var(--font-family-display);
        margin-bottom: 1.5rem;
    }
    
    .tour-hero-section .hero-tagline {
        font-size: var(--heading-h4);
    }
}

/* DESKTOP - Scale up further */
@media (min-width: 1025px) {
    .tour-hero-section,
    .tour-hero-section .l-section-h,
    .tour-hero-section .vc_row,
    .tour-hero-section .vc_column_container {
        min-height: 70vh;
    }
    
    .tour-hero-section .vc_column-inner {
        padding: 2rem;
    }
    
    .tour-hero-section .hero-title {
        font-size: var(--heading-h2);
        font-family: var(--font-family-display);
    }
    
    .tour-hero-section .hero-tagline {
        font-size: var(--heading-h4);
        margin-bottom: 2rem;
    }
}

/* LARGE DESKTOP - Optional refinement */
@media (min-width: 1440px) {
    .tour-hero-section .hero-title {
        color: var(--color-white);
        font-size: var(--heading-h2);
        font-family: var(--font-family-display);
    }
    
    .tour-hero-section .hero-tagline {
        font-size: var(--heading-h4);
    }
}

.tour-information-section {
  background: var(--color-white);
  padding-block: var(--pb-4);
}

.tour-information-wrapper .vc_column-inner > .wpb_wrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
}

@media (min-width: 1024px) {
  .tour-information-wrapper .vc_column-inner > .wpb_wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
}
}

.main-tours-section {
    background: var(--color-primary);
    padding-block: var(--pb-4);
    position: relative;
    overflow: hidden;
}

.main-tours-section::before,
.main-tours-section::after {
    content: '';
    position: absolute;
    width: 400px;
    height: 400px;
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
    z-index: 0;
}

/* Bottom Left image */
.main-tours-section::before {
    left: 0;
    bottom: -50px;
    background-image: url('/wp-content/uploads/2026/01/Bottom-Left-BG-01.svg');
    background-position: bottom left;
}

/* Top Right image */
.main-tours-section::after {
    right: 0;
    top: -50px;
    background-image: url('/wp-content/uploads/2026/01/Top-Right-BG-01.svg');
    background-position: top right;
}

/* Keep content above the background images */
.main-tours-section > .l-section-h {
    position: relative;
    z-index: 1;
}

.our-program-title {
  color: var(--color-white);
  font-size: var(--heading-h2);
  font-family: var(--font-family-display);
  text-align: center;
  letter-spacing: 0.03em;
  font-weight: 400;
}

/* =============================================
   TOUR GRID ITEM
   ============================================= */
.tour-grid-item {
    background-color: var(--color-primary, #3c6e47);
    border-radius: 16px;
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

/* =============================================
   IMAGE WITH TITLE OVERLAY
   ============================================= */
.tour-grid-media.w-vwrapper {
    position: relative;
    /*border-radius: 12px;*/
    overflow: visible;
}

.tour-grid-media .post_image {
    border-radius: 2rem;
    overflow: hidden;
}

.tour-grid-media .post_image img {
    width: 100%;
    height: auto;
    display: block;
}

.tour-grid-media .post_image a {
    display: block;
}

/* =============================================
   TOUR TITLE WITH BRUSH
   ============================================= */
h3.tour-title {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, -25%);
    margin: 0;
    font-family: var(--font-family-display);
    font-size: var(--text-l);
    font-weight: 400;
    line-height: var(--lh-h6);
    letter-spacing: 0.03em;
    color: var(--color-tertiary, #fbb040);
    text-transform: uppercase;
    text-align: center;
    z-index: 2;
}

h3.tour-title a {
    color: inherit;
    text-decoration: none;
}

h3.tour-title p {
    margin: 0;
}

.tour-title a {
    transition: color 0.3s ease;
}
.tour-title a:hover {
    color: var(--color-secondary);
}

/* Brush adjustments */
h3.tour-title.brush-bg {
    padding: 0.5em 2em;
    justify-content: center;
    align-items: center;
    min-width: 280px;
}

h3.tour-title.brush-bg--multiline {
    white-space: nowrap;
}

h3.tour-title.brush-bg--multiline::before {
    width: calc(100% + 2.5em);
    height: calc(100% + 0.8em);
}

/* =============================================
   FOOTER (Duration + Button)
   ============================================= */
.tour-grid-footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.tour-duration {
    color: var(--color-tertiary, #fbb040);
    font-size: var(--text-s);
    font-weight: 700;
    text-align: center;
    line-height: 1.1;
    letter-spacing: 0.02em;
}

.tour-cta {
    display: inline-block;
    text-align: center;
}

/* =============================================
   RESPONSIVE - 1024px
   ============================================= */
@media (max-width: 1024px) {
    h3.tour-title.brush-bg {
        min-width: 220px;
    }
}

/* =============================================
   RESPONSIVE - 600px
   ============================================= */
@media (max-width: 600px) {
    .tour-grid-item {
        padding: 12px;
        border-radius: 12px;
    }
    
    .tour-grid-media .post_image {
        border-radius: 10px;
    }
    
    h3.tour-title.brush-bg {
        padding: 0.4em 1.5em;
        min-width: 180px;
    }
    
    .tour-grid-footer {
        gap: 6px;
    }
    
    .tour-duration {
        font-size: 13px;
    }
}

.details-title {
  font-family: var(--font-family-display);
  color: var(--color-secondary);
  font-size: var(--heading-h4);
}

.tour-tagline {
  font-size: var(--heading-h4);
  font-family: var(--font-family-text);
  color: var(--color-white);
  line-height: var(--lh-h4);
}

.tour-content {

}

.tour-excerpt {
  font-size: var(--heading-h5);
  font-family: var(--font-family-text);
  color: var(--color-body);
  line-height: var(--lh-h4);
}

/* Alternative: using a pseudo-element circle */
.tour-content ul {
    list-style: none;
    padding-left: 0;
    margin: 0;
}

.tour-content ul li {
    position: relative;
    padding-left: 1rem;
    margin-bottom: 0.6rem;
    color: var(--color-body, #3c2415);
    font-weight: 400;
    font-family: var(--font-family-text);
}

.tour-content ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.3rem;
    width: 10px;
    height: 10px;
    background-color: var(--color-tertiary, #fbb040);
    border-radius: 50%;
}

/* WooTour Info Bar */
.program-info-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    align-items: center;
}

.program-info-item {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.program-info-icon {
    flex-shrink: 0;
    width: 50px;
    height: 50px;
}

.program-info-icon svg {
    width: 100%;
    height: 100%;
    color: var(--color-tertiary, #fbb040);
}

.program-info-content {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.program-info-label {
    font-size: var(--text-xs);
    color: var(--color-body, #3c2415);
    line-height: 1.1;
}

.program-info-value {
    font-size: var(--heading-h4);
    font-weight: 700;
    color: var(--color-tertiary, #fbb040);
    line-height: 1.2;
    font-family: var(--font-family-text);
}

/* Responsive */
@media (max-width: 1024px) {
    .program-info-bar {
        gap: 1rem;
    }
    
    .program-info-icon {
        width: 38px;
        height: 38px;
    }
    
    .wt-info-value {
        font-size: var(--heading-h4)!important;
    }
}

@media (max-width: 600px) {
    .program-info-bar {
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: space-between;
        gap: 0.5rem;
    }
    
    .program-info-item {
        gap: 0.4rem;
    }
    
    .program-info-icon {
        width: 30px;
        height: 30px;
    }
    
    .program-info-label {
        font-size: 10px;
    }
    
    .program-info-value {
        font-size: 14px !important;
    }
}

.program-booking-wrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem!important;
}

.booking-form h3.gsection_title {
  font-size: var(--text-l);
  font-weight: 700;
  line-height: 1.1;
  color: var(--color-body);
}

.booking-form .product-field-to-hide > .gfield_label,
.booking-form .product-field-to-hide .ginput_product_price_wrapper {
  display: none !important;
}

.booking-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;

  border-top: 1px solid #ccc;
  padding-top: 0.75rem;
  margin-top: 1.25rem;
}

.booking-total > .gfield_label {
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap;
  font-size: var(--heading-h5) !important;
  font-weight: 700;
  line-height: 1.1;
  color: var(--color-secondary);
}

.booking-total .ginput_container_total {
  margin: 0 !important;
}

.booking-total .ginput_container_total input.ginput_total {
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
  text-align: right !important;
  font-size: var(--heading-h5) !important;
  font-weight: 700;
  line-height: 1.1;
  color: var(--color-secondary);
  width: auto !important;
  min-width: 6ch;
}


/* Tour booking form alignment */
.variations_form .tour-info-select input.picker__input {
    padding: 0!important;
}

.variations_form table.variations .woocommerce-select select {
    height: 38px!important;
}

table.tour-tble {
  margin-bottom: 0!important;
}

table.tour-tble td,
table.variations th {
  vertical-align: middle!important;
}

table.tour-tble td {
  padding-left: 0!important;
}

.tour-info-select .wt-departure {
  padding-left: 0!important;
  padding-right: 0!important;
}

.woocommerce .cart .variations label {
    padding-top: 0!important;
}

.variations_form .tour-tble.date-sl td.label label,
table.variations label {
    font-weight: 700!important;
    font-size: var(--text-s)!important;
    color: var(--color-body, #3c2415)!important;
}

.woocommerce-variation-add-to-cart, .tour-tble.date-sl > tbody > tr > td {
    border-top: 0!important;
}

.woocommerce .cart .variations th,
.tour-tble.date-sl > tbody > tr > td {
    width: 48%;
}

.home-gallery-section {
  padding-block: var(--pb-4);
  background: #f5f4df;
}

.home-gallery img {
    border-radius: 2rem;
    overflow: hidden;
}

.home-gallery .w-gallery-item {
    border-radius: 2rem;
    overflow: hidden;
}

.gallery-title {
    color: var(--color-primary);
    font-size: var(--heading-h2);
    font-family: var(--font-family-display);
    text-align: center;
    letter-spacing: 0.03em;
    font-weight: 400;
}


.our-restaurant-section {
    background-image: url(/wp-content/uploads/2025/12/two-elephant-bg-01.svg);
    background-repeat: no-repeat;
    background-size: auto 80%;
    background-position: left center;
    background-color: transparent;
    padding-block: var(--space-6);
}

@media (min-width: 1024px) {
  .our-restaurant-section {
    padding-block: var(--space-7);
  }
}

.our-restaurant-section .section-subtitle,
.our-restaurant-section .section-subtitle p {
    font-family: var(--font-family-text);
    font-weight: 600;
}

/* Blog Main CSS */

/* MOBILE FIRST - Base styles for mobile */
.blog-hero-section {
    position: relative;
    min-height: 50vh;
}

/* Dark overlay for text readability */
.blog-hero-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.3));
    z-index: 1;
}

/* Ensure full height on containers */
.blog-hero-section .l-section-h {
    min-height: 50vh;
}

/* Ensure content is above overlay */
.blog-hero-section .l-section-h,
.blog-hero-section .vc_row,
.blog-hero-section .vc_column_container {
    position: relative;
    z-index: 2;
}

/* Flex centering */
.blog-hero-section .vc_row {
    min-height: 50vh;
    display: flex;
    align-items: center;
}

.blog-hero-section .vc_column_container {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 50vh;
}

.blog-hero-section .vc_column-inner {
    width: 100%;
    padding: 1rem;
}

/* Hero Title - Mobile */
.blog-hero-section .hero-title {
    font-size: var(--heading-h2);
    font-family: var(--font-family-display);
    line-height: 1.2;
    margin-bottom: 1rem;
    color: #ffffff;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

/* TABLET */
@media (min-width: 768px) {
    .blog-hero-section,
    .blog-hero-section .l-section-h,
    .blog-hero-section .vc_row,
    .blog-hero-section .vc_column_container {
        min-height: 60vh;
    }
    
    .blog-hero-section .vc_column-inner {
        padding: 1.5rem;
    }
    
    .blog-hero-section .hero-title {
        font-size: var(--heading-h2);
        font-family: var(--font-family-display);
        margin-bottom: 1.5rem;
    }
}

/* DESKTOP */
@media (min-width: 1024px) {
    .blog-hero-section,
    .blog-hero-section .l-section-h,
    .blog-hero-section .vc_row,
    .blog-hero-section .vc_column_container {
        min-height: 70vh;
    }
    
    .blog-hero-section .vc_column-inner {
        padding: 2rem;
    }
    
    .blog-hero-section .hero-title {
        font-size: var(--heading-h2);
        font-family: var(--font-family-display);
    }
}

.main-blog-content-section {
  padding-block: var(--space-6);
  background: #f5f4df;
}

@media (min-width: 1024px) {
  .main-blog-content-section {
    padding-block: var(--space-7);
    background: #f5f4df;
  }
}

.main-blog-content-section .blog-title {
    font-family: var(--font-family-display);
    color: var(--color-primary);
    font-size: var(--heading-h5);
    font-weight: 400;
}

.main-blog-content-section .blog-meta {
  font-family: var(--font-family-text);
  font-weight: 400;
  font-size: 86%;
}

.blog-media.post_image {
    border-radius: 2rem;
    overflow: hidden;
}

.single-blog-section {
  padding-block: var(--space-6);
  background: #f5f4df;
}

@media (min-width: 1024px) {
  .single-blog-section {
    padding-block: var(--space-7);
    background: #f5f4df;
  }
}

.single-blog-section .vc_column-inner .wpb_wrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}

@media (min-width: 1024px) {
  .single-blog-section .vc_column-inner .wpb_wrapper {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 3rem;
  }
}

.single-blog-media .w-image-h {
    border-radius: 2rem;
    overflow: hidden;
}

.single-blog-section .single-blog-title {
    font-family: var(--font-family-display);
    color: var(--color-primary);
    font-size: var(--heading-h3);
    font-weight: 400;
}

.single-blog-section h2,
.single-blog-section h3 {
    font-family: var(--font-family-display);
    color: var(--color-primary);
    font-size: var(--heading-h4);
    font-weight: 400;
}

.single-blog-section .single-blog-content {
    font-family: var(--font-family-text);
    font-weight: 400;
}

.single-blog-section .single-blog-meta {
  font-family: var(--font-family-text);
  font-weight: 400;
  font-size: 86%;
}

.gform_confirmation_message,
.form_saved_message_sent {
    font-size: var(--heading-h5) !important;
    color: var(--color-primary, #3a5a40) !important;
    font-weight: 700 !important;
    background: var(--color-tertiary, #fbb040) !important;
    padding: 1.2rem;
}

/* Contact CSS */

/* MOBILE FIRST - Base styles for mobile */
.contact-hero-section {
    position: relative;
    min-height: 50vh;
}

/* Dark overlay for text readability */
.contact-hero-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.3));
    z-index: 1;
}

/* Ensure full height on containers */
.contact-hero-section .l-section-h {
    min-height: 50vh;
}

/* Ensure content is above overlay */
.contact-hero-section .l-section-h,
.contact-hero-section .vc_row,
.contact-hero-section .vc_column_container {
    position: relative;
    z-index: 2;
}

/* Flex centering */
.contact-hero-section .vc_row {
    min-height: 50vh;
    display: flex;
    align-items: center;
}

.contact-hero-section .vc_column_container {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 50vh;
}

.contact-hero-section .vc_column-inner {
    width: 100%;
    padding: 1rem;
}

/* Hero Title - Mobile */
.contact-hero-section .hero-title h1 {
    font-size: var(--heading-h2);
    font-family: var(--font-family-display);
    line-height: 1.2;
    margin-bottom: 1rem;
    color: #ffffff;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

/* TABLET */
@media (min-width: 768px) {
    .contact-hero-section,
    .contact-hero-section .l-section-h,
    .contact-hero-section .vc_row,
    .contact-hero-section .vc_column_container {
        min-height: 60vh;
    }
    
    .contact-hero-section .vc_column-inner {
        padding: 1.5rem;
    }
    
    .contact-hero-section .hero-title h1 {
        font-size: var(--heading-h2);
        font-family: var(--font-family-display);
        margin-bottom: 1.5rem;
    }
}

/* DESKTOP */
@media (min-width: 1024px) {
    .contact-hero-section,
    .contact-hero-section .l-section-h,
    .contact-hero-section .vc_row,
    .contact-hero-section .vc_column_container {
        min-height: 70vh;
    }
    
    .contact-hero-section .vc_column-inner {
        padding: 2rem;
    }
    
    .contact-hero-section .hero-title h1 {
        font-size: var(--heading-h2);
        font-family: var(--font-family-display);
    }
}

.contact-main-section {
  padding-block: var(--space-6);
}

@media (min-width: 1024px) {
  .contact-main-section {
    padding-block: var(--space-7);
  }
}

.contact-main-inner-wrapper .vc_column-inner > .wpb_wrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}

@media (min-width: 1024px) {
    .contact-main-inner-wrapper .vc_column-inner > .wpb_wrapper {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 4rem;
    }
}

.contact-main-title {
  font-size: var(--heading-h3);
  font-family: var(--font-family-display);
  color: var(--color-secondary, #b41e29)!important;
}

.contact-page-address i {
  color: var(--color-secondary, #b41e29)!important;
}

.contact-sub-section {
  padding-block: var(--space-6);
  background: #f5f4df!important;
}

@media (min-width: 1024px) {
  .contact-sub-section {
    padding-block: var(--space-7);
  }
}

.contact-sub-section-inner-wrapper .vc_column-inner > .wpb_wrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}

@media (min-width: 1024px) {
    .contact-sub-section-inner-wrapper .vc_column-inner > .wpb_wrapper {
      display: grid;
      grid-template-columns: 1fr 2fr;
      gap: 4rem;
    }
}

/* Fix textarea border radius for the contact form */
.contact-form textarea.textarea {
    border-radius: 25px !important;
    padding: 15px 20px;
}

#gform_wrapper_2 .gform_description p,
#gform_wrapper_2 .gform_heading {
  margin-bottom: 0.8rem !important;
  padding-bottom: 0.8rem !important;
}

#gform_submit_button_1,
#gform_submit_button_2 {
    font-family: Knewave;
    font-style: normal;
    text-transform: none;
    font-size: 1rem;
    line-height: 1.2 !important;
    font-weight: 400;
    letter-spacing: 0.02em;
    padding: 0.8em 1.6em;
    transition-duration: 0.3s;
    border-radius: 3em;
    transition-timing-function: ease;
    border-width: 0px;
    background: #b41e29;
    border-color: transparent;
    border-image: none;
    color: #ffffff !important;
    cursor: pointer;
    display: inline-block;
}

#gform_submit_button_1:hover,
#gform_submit_button_2:hover {
    background: #3a5a40;
    color: #ffffff !important;
    transition-duration: 0.3s;
    transition-timing-function: ease;
}

/* smaller hero section css */
/* Generic Small Hero Section */
.small-hero-section,
.small-hero-section .l-section-h,
.small-hero-section .vc_row,
.small-hero-section .vc_column_container {
    min-height: 40vh; /* Mobile height */
    display: flex;
    align-items: center;
}

.small-hero-section .hero-title h1 {
    font-size: var(--heading-h2);
    font-family: var(--font-family-display);
    line-height: 1.2;
    margin-bottom: 1rem;
    color: #ffffff;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

/* TABLET */
@media (min-width: 768px) {
    .small-hero-section,
    .small-hero-section .l-section-h,
    .small-hero-section .vc_row,
    .small-hero-section .vc_column_container {
        min-height: 45vh;
    }
    
    .small-hero-section .vc_column-inner {
        padding: 1.5rem;
    }
}

/* DESKTOP */
@media (min-width: 1024px) {
    .small-hero-section,
    .small-hero-section .l-section-h,
    .small-hero-section .vc_row,
    .small-hero-section .vc_column_container {
        min-height: 35vh; /* Compact for Desktop */
    }
    
    .small-hero-section .vc_column-inner {
        padding: 2rem;
    }
}

.faq-main-section {
  padding-block: var(--space-6);
}

@media (min-width: 1024px) {
  .faq-main-section {
    padding-block: var(--space-7);
  }
}

.faq-main-inner-wrapper .vc_column-inner > .wpb_wrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}

@media (min-width: 1024px) {
    .faq-main-inner-wrapper .vc_column-inner > .wpb_wrapper {
      display: grid;
      grid-template-columns: 1fr;
      gap: 4rem;
    }
}

.inner-faq-title {
    font-family: var(--font-family-display);
    font-size: var(--heading-h4);
    font-weight: 400;
    line-height: 1;
    color: var(--color-white);
    --brush-color: var(--color-body, #3c2415);
    width: 60%;
    margin-left: auto;
    margin-right: auto;
}

@media (min-width: 1026px) {
    .inner-faq-title {
        width: 20%;
    }
}

/* Container and General Text Color */
.booking-conditions-wrap {
    color: var(--color-body, #3c2415);
}

/* Section Spacing */
.booking-conditions-wrap .booking-item {
    margin-bottom: 2.5rem;
}

/* Section Titles (the Spans) */
.booking-conditions-wrap .booking-label {
    display: block;
    font-weight: 700;
    margin-bottom: 1rem;
    line-height: 1.1;
    font-size: var(--text-m);
    color: var(--color-body, #3c2415); /* Ensures the title matches the body variable */
}

/* Paragraph and List Styling */
.booking-conditions-wrap p {
    margin-bottom: 0.8rem;
    color: var(--color-body, #3c2415);
    font-size: var(--text-s);
}

.booking-conditions-wrap ul {
    margin-top: 0.5rem;
    padding-left: 1.2rem;
    color: var(--color-body, #3c2415);
    font-size: var(--text-s);
}

.booking-conditions-wrap li {
    margin-bottom: 0.5rem;
    font-size: var(--text-s);
}

/* Hide potential empty paragraphs from WordPress auto-formatting */
.booking-conditions-wrap p:empty {
    display: none;
}

/* Container and General Text Color */
.privacy-policy-wrap {
    color: var(--color-body, #3c2415);
}

/* Section Spacing */
.privacy-policy-wrap .policy-item {
    margin-bottom: 2.5rem;
}

/* Section Titles (the Spans) */
.privacy-policy-wrap .policy-label {
    display: block;
    font-weight: 700;
    margin-bottom: 1rem;
    line-height: 1.2;
    color: var(--color-body, #3c2415);
}

/* Paragraph and List Styling */
.privacy-policy-wrap p {
    margin-bottom: 0.8rem;
    color: var(--color-body, #3c2415);
}

.privacy-policy-wrap ul {
    margin-top: 0.8rem;
    padding-left: 1.2rem;
    color: var(--color-body, #3c2415);
}

.privacy-policy-wrap li {
    margin-bottom: 0.5rem;
}

/* Cleanup for WordPress auto-formatting */
.privacy-policy-wrap p:empty {
    display: none;
}