.elementor-459 .elementor-element.elementor-element-43309a3f{--display:flex;--min-height:72vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-end;--overflow:hidden;--overlay-opacity:0.5;--padding-top:100px;--padding-bottom:80px;--padding-left:24px;--padding-right:24px;}.elementor-459 .elementor-element.elementor-element-43309a3f::before, .elementor-459 .elementor-element.elementor-element-43309a3f > .elementor-background-video-container::before, .elementor-459 .elementor-element.elementor-element-43309a3f > .e-con-inner > .elementor-background-video-container::before, .elementor-459 .elementor-element.elementor-element-43309a3f > .elementor-background-slideshow::before, .elementor-459 .elementor-element.elementor-element-43309a3f > .e-con-inner > .elementor-background-slideshow::before, .elementor-459 .elementor-element.elementor-element-43309a3f > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:linear-gradient(180deg, rgba(42,30,20,0.20) 0%, rgba(42,30,20,0.82) 100%);}.elementor-459 .elementor-element.elementor-element-43309a3f:not(.elementor-motion-effects-element-type-background), .elementor-459 .elementor-element.elementor-element-43309a3f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-459 .elementor-element.elementor-element-3636630{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-evenly;}.elementor-459 .elementor-element.elementor-element-1c541f37 .elementor-heading-title{font-weight:700;color:var( --e-global-color-ee40527 );}.elementor-459 .elementor-element.elementor-element-79415d1b .elementor-heading-title{font-family:"Playfair Display", Sans-serif;font-size:64px;line-height:1em;color:#FFFFFF;}.elementor-459 .elementor-element.elementor-element-96d67d5{text-align:start;font-family:"Inter", Sans-serif;font-size:16px;font-weight:600;color:var( --e-global-color-6e8003e );}.elementor-459 .elementor-element.elementor-element-c1215bb .elementor-button{background-color:#A0522D;fill:#FFFFFF;color:#FFFFFF;border-radius:50px 50px 50px 50px;}.elementor-459 .elementor-element.elementor-element-3f40a618{--display:grid;--min-height:118px;--e-con-grid-template-columns:repeat(4, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--overflow:hidden;--margin-top:-45px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--z-index:5;}.elementor-459 .elementor-element.elementor-element-3f40a618:not(.elementor-motion-effects-element-type-background), .elementor-459 .elementor-element.elementor-element-3f40a618 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-6e8003e );}.elementor-459 .elementor-element.elementor-element-f976784{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:24px;--padding-bottom:24px;--padding-left:18px;--padding-right:18px;}.elementor-459 .elementor-element.elementor-element-f976784:not(.elementor-motion-effects-element-type-background), .elementor-459 .elementor-element.elementor-element-f976784 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-459 .elementor-element.elementor-element-547f66c5 .elementor-icon-box-wrapper{gap:15px;}.elementor-459 .elementor-element.elementor-element-547f66c5.elementor-view-stacked .elementor-icon{background-color:#9C7A3C;}.elementor-459 .elementor-element.elementor-element-547f66c5.elementor-view-framed .elementor-icon, .elementor-459 .elementor-element.elementor-element-547f66c5.elementor-view-default .elementor-icon{fill:#9C7A3C;color:#9C7A3C;border-color:#9C7A3C;}.elementor-459 .elementor-element.elementor-element-23b52774{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:24px;--padding-bottom:24px;--padding-left:18px;--padding-right:18px;}.elementor-459 .elementor-element.elementor-element-23b52774:not(.elementor-motion-effects-element-type-background), .elementor-459 .elementor-element.elementor-element-23b52774 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-459 .elementor-element.elementor-element-62b1e097 .elementor-icon-box-wrapper{gap:15px;}.elementor-459 .elementor-element.elementor-element-62b1e097.elementor-view-stacked .elementor-icon{background-color:#9C7A3C;}.elementor-459 .elementor-element.elementor-element-62b1e097.elementor-view-framed .elementor-icon, .elementor-459 .elementor-element.elementor-element-62b1e097.elementor-view-default .elementor-icon{fill:#9C7A3C;color:#9C7A3C;border-color:#9C7A3C;}.elementor-459 .elementor-element.elementor-element-f2c906e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:24px;--padding-bottom:24px;--padding-left:18px;--padding-right:18px;}.elementor-459 .elementor-element.elementor-element-f2c906e:not(.elementor-motion-effects-element-type-background), .elementor-459 .elementor-element.elementor-element-f2c906e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-459 .elementor-element.elementor-element-1ed8d416 .elementor-icon-box-wrapper{gap:15px;}.elementor-459 .elementor-element.elementor-element-1ed8d416.elementor-view-stacked .elementor-icon{background-color:#9C7A3C;}.elementor-459 .elementor-element.elementor-element-1ed8d416.elementor-view-framed .elementor-icon, .elementor-459 .elementor-element.elementor-element-1ed8d416.elementor-view-default .elementor-icon{fill:#9C7A3C;color:#9C7A3C;border-color:#9C7A3C;}.elementor-459 .elementor-element.elementor-element-563f767d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:24px;--padding-bottom:24px;--padding-left:18px;--padding-right:18px;}.elementor-459 .elementor-element.elementor-element-563f767d:not(.elementor-motion-effects-element-type-background), .elementor-459 .elementor-element.elementor-element-563f767d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-459 .elementor-element.elementor-element-7aa66715 .elementor-icon-box-wrapper{gap:15px;}.elementor-459 .elementor-element.elementor-element-7aa66715.elementor-view-stacked .elementor-icon{background-color:#9C7A3C;}.elementor-459 .elementor-element.elementor-element-7aa66715.elementor-view-framed .elementor-icon, .elementor-459 .elementor-element.elementor-element-7aa66715.elementor-view-default .elementor-icon{fill:#9C7A3C;color:#9C7A3C;border-color:#9C7A3C;}.elementor-459 .elementor-element.elementor-element-67026391{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--padding-top:90px;--padding-bottom:60px;--padding-left:20px;--padding-right:20px;}.elementor-459 .elementor-element.elementor-element-79c3c71b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-evenly;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:45px;}.elementor-459 .elementor-element.elementor-element-8a63f3a .elementor-heading-title{color:#9C7A3C;}.elementor-459 .elementor-element.elementor-element-359edb24 .elementor-heading-title{font-family:"Playfair Display", Sans-serif;font-size:46px;line-height:1em;color:#2A1E14;}.elementor-459 .elementor-element.elementor-element-1df1cf47{padding:0px 0px 052px 0px;}.elementor-459 .elementor-element.elementor-element-65b808d .elementor-button{background-color:#A0522D;fill:#FFFFFF;color:#FFFFFF;border-radius:50px 50px 50px 50px;}.elementor-459 .elementor-element.elementor-element-73288dda{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-459 .elementor-element.elementor-element-38d0bfa{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:010px;--padding-bottom:010px;--padding-left:010px;--padding-right:010px;}.elementor-459 .elementor-element.elementor-element-38d0bfa:not(.elementor-motion-effects-element-type-background), .elementor-459 .elementor-element.elementor-element-38d0bfa > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7F2EC;}.elementor-459 .elementor-element.elementor-element-1f95fd52{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-459 .elementor-element.elementor-element-32b59525 .elementor-tab-title, .elementor-459 .elementor-element.elementor-element-32b59525 .elementor-tab-title:before, .elementor-459 .elementor-element.elementor-element-32b59525 .elementor-tab-title:after, .elementor-459 .elementor-element.elementor-element-32b59525 .elementor-tab-content, .elementor-459 .elementor-element.elementor-element-32b59525 .elementor-tabs-content-wrapper{border-width:1px;}.elementor-459 .elementor-element.elementor-element-32b59525 .elementor-tab-mobile-title, .elementor-459 .elementor-element.elementor-element-32b59525 .elementor-tab-desktop-title.elementor-active, .elementor-459 .elementor-element.elementor-element-32b59525 .elementor-tab-title:before, .elementor-459 .elementor-element.elementor-element-32b59525 .elementor-tab-title:after, .elementor-459 .elementor-element.elementor-element-32b59525 .elementor-tab-content, .elementor-459 .elementor-element.elementor-element-32b59525 .elementor-tabs-content-wrapper{border-color:#E8DDC8;}.elementor-459 .elementor-element.elementor-element-32b59525 .elementor-tab-title.elementor-active,
					 .elementor-459 .elementor-element.elementor-element-32b59525 .elementor-tab-title.elementor-active a{color:#A0522D;}.elementor-459 .elementor-element.elementor-element-2dd93f73{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:80px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}.elementor-459 .elementor-element.elementor-element-428082e{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-459 .elementor-element.elementor-element-df30dbf{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-459 .elementor-element.elementor-element-c18ed13 .elementor-heading-title{font-family:"Playfair Display", Sans-serif;color:#2A1E14;}.elementor-459 .elementor-element.elementor-element-25decad{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-between;}.elementor-459 .elementor-element.elementor-element-4d2d9d8 .elementor-button{background-color:#A0522D;fill:#FFFFFF;color:#FFFFFF;border-radius:50px 50px 50px 50px;}.elementor-459 .elementor-element.elementor-element-5cfd8179{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-459 .elementor-element.elementor-element-4e4211c4{--grid-row-gap:35px;--grid-column-gap:30px;}.elementor-459 .elementor-element.elementor-element-4e4211c4 .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.66 * 100% );}.elementor-459 .elementor-element.elementor-element-4e4211c4:after{content:"0.66";}.elementor-459 .elementor-element.elementor-element-4e4211c4 .elementor-post__thumbnail__link{width:100%;}.elementor-459 .elementor-element.elementor-element-4e4211c4 .elementor-post__meta-data span + span:before{content:"•";}.elementor-459 .elementor-element.elementor-element-4e4211c4 .elementor-post__text{margin-top:20px;}.elementor-459 .elementor-element.elementor-element-4e4211c4 .elementor-post__badge{right:0;}.elementor-459 .elementor-element.elementor-element-4e4211c4 .elementor-post__card .elementor-post__badge{margin:20px;}.elementor-459 .elementor-element.elementor-element-34fa92e7{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:50px 50px;--row-gap:50px;--column-gap:50px;--grid-auto-flow:row;--padding-top:80px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}.elementor-459 .elementor-element.elementor-element-34fa92e7:not(.elementor-motion-effects-element-type-background), .elementor-459 .elementor-element.elementor-element-34fa92e7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#2A1E14;}.elementor-459 .elementor-element.elementor-element-1298f404{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:45px;}.elementor-459 .elementor-element.elementor-element-12c17238 .elementor-heading-title{font-family:"Playfair Display", Sans-serif;font-size:16px;font-weight:700;color:var( --e-global-color-fe6576f );}.elementor-459 .elementor-element.elementor-element-e83f977 .elementor-heading-title{font-family:"Playfair Display", Sans-serif;font-size:73px;font-weight:700;color:var( --e-global-color-6e8003e );}.elementor-459 .elementor-element.elementor-element-3660748d{font-family:"Inter", Sans-serif;font-weight:400;color:var( --e-global-color-78c360b );}.elementor-459 .elementor-element.elementor-element-127e78a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--border-radius:20px 20px 20px 20px;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-459 .elementor-element.elementor-element-127e78a:not(.elementor-motion-effects-element-type-background), .elementor-459 .elementor-element.elementor-element-127e78a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}body.elementor-page-459:not(.elementor-motion-effects-element-type-background), body.elementor-page-459 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}@media(min-width:768px){.elementor-459 .elementor-element.elementor-element-67026391{--content-width:1180px;}.elementor-459 .elementor-element.elementor-element-2dd93f73{--content-width:1180px;}.elementor-459 .elementor-element.elementor-element-5cfd8179{--width:100%;}}@media(max-width:1024px){.elementor-459 .elementor-element.elementor-element-3f40a618{--e-con-grid-template-columns:repeat(2, 1fr);--grid-auto-flow:row;}.elementor-459 .elementor-element.elementor-element-67026391{--grid-auto-flow:row;}.elementor-459 .elementor-element.elementor-element-428082e{--grid-auto-flow:row;}.elementor-459 .elementor-element.elementor-element-34fa92e7{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-459 .elementor-element.elementor-element-43309a3f{--min-height:66vh;}.elementor-459 .elementor-element.elementor-element-3f40a618{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-459 .elementor-element.elementor-element-67026391{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-459 .elementor-element.elementor-element-428082e{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-459 .elementor-element.elementor-element-4e4211c4 .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.5 * 100% );}.elementor-459 .elementor-element.elementor-element-4e4211c4:after{content:"0.5";}.elementor-459 .elementor-element.elementor-element-4e4211c4 .elementor-post__thumbnail__link{width:100%;}.elementor-459 .elementor-element.elementor-element-34fa92e7{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}}/* Start custom CSS for button, class: .elementor-element-c1215bb *//*
 * Tour Itineraries Template CSS
 * Template: tour-itineraries-template
 * Brand: African Real Nature
 *
 * Recommended Elementor CSS classes:
 * Hero section: tour-hero
 * Hero inner container: tour-hero__content
 * Eyebrow heading: tour-eyebrow
 * Hero title: tour-hero__title
 * CTA button widget: tour-btn
 * Summary section: tour-summary
 * Summary inner container: tour-summary__grid
 * Each icon box column/container: tour-fact
 * Overview section: tour-intro
 * Overview wrapper: tour-two-col
 * Locations wrapper: tour-locations
 * Each location item: tour-pill
 * Tabs section: tour-tabs-section
 * Tabs widget: tour-tabs
 * Itinerary wrapper: tour-timeline
 * Each day item: tour-day
 * Day number: tour-day__number
 * Related section: tour-related
 * Related posts widget: tour-cards
 * Booking section: tour-booking
 * Booking wrapper: tour-booking__grid
 * Booking form column/container: tour-booking__form
 */

:root {
  --tour-cta: #A0522D;
  --tour-cta-hover: #7A3E20;
  --tour-gold: #9C7A3C;
  --tour-text: #2A1E14;
  --tour-secondary: #5C3D1E;
  --tour-light: #F7F2EC;
  --tour-border: #E8DDC8;
  --tour-white: #FFFFFF;
  --tour-shadow: 0 18px 50px rgba(42, 30, 20, 0.12);
  --tour-radius: 20px;
}

/* Base typography */
body.single-tours,
body.single-tour,
.tour-template {
  color: var(--tour-text);
  font-family: "Inter", Arial, sans-serif;
  line-height: 1.6;
}

body.single-tours h1,
body.single-tours h2,
body.single-tours h3,
body.single-tour h1,
body.single-tour h2,
body.single-tour h3,
.tour-template h1,
.tour-template h2,
.tour-template h3 {
  font-family: "Playfair Display", Georgia, serif;
  line-height: 1.15;
}

/* Hero */
.tour-hero {
  min-height: 72vh;
  display: flex;
  align-items: flex-end;
  position: relative;
  overflow: hidden;
  color: var(--tour-white);
}

.tour-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(20, 12, 7, 0.18) 0%,
    rgba(20, 12, 7, 0.76) 100%
  );
  z-index: 1;
  pointer-events: none;
}

.tour-hero > .e-con-inner,
.tour-hero > .elementor-container,
.tour-hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1180px;
  margin-inline: auto;
  padding-top: 90px;
  padding-bottom: 70px;
}

.tour-eyebrow .elementor-heading-title,
.tour-eyebrow {
  color: #F2DDBC;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.78rem;
  font-weight: 800;
}

.tour-hero__title .elementor-heading-title,
.tour-hero__title {
  color: var(--tour-white);
  font-size: clamp(2.7rem, 7vw, 5.6rem);
  line-height: 1.05;
  max-width: 950px;
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.28);
}

.tour-hero .elementor-widget-text-editor,
.tour-hero .elementor-widget-text-editor p {
  color: #F8EFE8;
  font-size: 1.08rem;
  max-width: 700px;
}

/* Buttons */
.tour-btn .elementor-button,
.tour-template .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--tour-cta);
  color: var(--tour-white);
  padding: 14px 22px;
  border-radius: 999px;
  border: 0;
  font-weight: 800;
  box-shadow: none;
  transition: background-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.tour-btn .elementor-button:hover,
.tour-btn .elementor-button:focus,
.tour-template .elementor-button:hover,
.tour-template .elementor-button:focus {
  background: var(--tour-cta-hover);
  color: var(--tour-white);
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(122, 62, 32, 0.22);
}

/* Summary information cards */
.tour-summary {
  position: relative;
  z-index: 5;
  width: min(1180px, calc(100% - 36px));
  margin-inline: auto;
  margin-top: -48px;
}

.tour-summary__grid > .e-con-inner,
.tour-summary__grid > .elementor-container,
.tour-summary__grid {
  background: var(--tour-white);
  border: 1px solid var(--tour-border);
  border-radius: var(--tour-radius);
  box-shadow: var(--tour-shadow);
  overflow: hidden;
}

.tour-fact {
  min-height: 118px;
  padding: 24px !important;
  border-right: 1px solid var(--tour-border);
  background: var(--tour-white);
  transition: background-color 0.2s ease;
}

.tour-fact:last-child {
  border-right: 0;
}

.tour-fact:hover {
  background: #FCF9F5;
}

.tour-fact .elementor-icon,
.tour-fact .elementor-icon-box-icon .elementor-icon {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: var(--tour-light);
  color: var(--tour-gold);
  fill: var(--tour-gold);
}

.tour-fact .elementor-icon-box-title,
.tour-fact .elementor-icon-box-title a {
  color: var(--tour-text);
  font-family: "Inter", Arial, sans-serif;
  font-size: 1rem;
  font-weight: 800;
}

.tour-fact .elementor-icon-box-description {
  color: #816B5A;
  font-size: 0.82rem;
  line-height: 1.5;
}

/* Overview section */
.tour-intro {
  padding-top: 88px;
  padding-bottom: 52px;
}

.tour-two-col > .e-con-inner,
.tour-two-col > .elementor-container,
.tour-two-col {
  width: min(1180px, calc(100% - 36px));
  margin-inline: auto;
  gap: 56px;
  align-items: center;
}

.tour-kicker .elementor-heading-title,
.tour-kicker {
  color: var(--tour-gold);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-family: "Inter", Arial, sans-serif;
  font-weight: 800;
  font-size: 0.78rem;
}

.tour-intro h2,
.tour-intro .elementor-heading-title {
  color: var(--tour-text);
}

.tour-intro .elementor-widget-image img,
.tour-overview-image img {
  width: 100%;
  min-height: 470px;
  object-fit: cover;
  border-radius: var(--tour-radius);
  box-shadow: var(--tour-shadow);
}

/* Locations */
.tour-locations {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
  margin-bottom: 24px;
}

.tour-pill,
.tour-locations a,
.tour-locations span {
  display: inline-flex;
  align-items: center;
  background: var(--tour-light);
  border: 1px solid var(--tour-border);
  color: var(--tour-secondary);
  padding: 9px 13px;
  border-radius: 999px;
  font-weight: 700;
  line-height: 1.2;
}

/* Tabs */
.tour-tabs-section {
  background: var(--tour-light);
  padding-top: 70px;
  padding-bottom: 70px;
}

.tour-tabs-section > .e-con-inner,
.tour-tabs-section > .e-con {
  width: min(1180px, calc(100% - 36px));
  margin-inline: auto;
}

.tour-tabs .elementor-tabs,
.tour-tabs .e-n-tabs {
  background: var(--tour-white);
  border: 1px solid var(--tour-border);
  border-radius: var(--tour-radius);
  box-shadow: var(--tour-shadow);
  overflow: hidden;
}

.tour-tabs .elementor-tabs-wrapper,
.tour-tabs .e-n-tabs-heading {
  display: flex;
  overflow-x: auto;
  background: var(--tour-white);
  border-bottom: 1px solid var(--tour-border);
  scrollbar-width: thin;
}

.tour-tabs .elementor-tab-title,
.tour-tabs .e-n-tab-title {
  flex: 0 0 auto;
  padding: 18px 22px;
  color: var(--tour-secondary);
  font-family: "Inter", Arial, sans-serif;
  font-weight: 800;
  white-space: nowrap;
  border: 0 !important;
}

.tour-tabs .elementor-tab-title.elementor-active,
.tour-tabs .e-n-tab-title[aria-selected="true"] {
  color: var(--tour-cta);
  box-shadow: inset 0 -3px var(--tour-cta);
}

.tour-tabs .elementor-tab-content,
.tour-tabs .e-n-tabs-content > div {
  padding: 34px;
  border: 0 !important;
  color: var(--tour-text);
}

.tour-tabs .elementor-tab-content h3,
.tour-tabs .e-n-tabs-content h3 {
  color: var(--tour-text);
  font-size: 2rem;
}

/* Itinerary */
.tour-timeline {
  display: grid;
  gap: 18px;
}

.tour-day {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
  padding: 22px;
  border: 1px solid var(--tour-border);
  border-radius: 16px;
  background: var(--tour-white);
}

.tour-day__number {
  width: 68px;
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: var(--tour-cta);
  color: var(--tour-white);
  font-family: "Inter", Arial, sans-serif;
  font-weight: 900;
  text-align: center;
  padding: 8px;
}

.tour-day h3,
.tour-day .elementor-heading-title {
  margin-top: 0;
  color: var(--tour-text);
  font-size: 1.55rem;
}

/* Includes / excludes */
.tour-check-list ul,
.tour-tabs .elementor-tab-content ul {
  columns: 2;
  column-gap: 35px;
  padding-left: 0;
  list-style: none;
}

.tour-check-list li,
.tour-tabs .elementor-tab-content li {
  position: relative;
  break-inside: avoid;
  margin-bottom: 12px;
  padding-left: 28px;
}

.tour-check-list li::before,
.tour-tabs .elementor-tab-content li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--tour-gold);
  font-weight: 900;
}

/* Gallery */
.tour-gallery .gallery,
.tour-gallery .elementor-gallery__container {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 12px;
}

.tour-gallery img,
.tour-gallery .e-gallery-image {
  width: 100%;
  min-height: 210px;
  object-fit: cover;
  border-radius: 14px;
}

/* Map */
.tour-map iframe,
.tour-map .elementor-widget-google_maps iframe {
  width: 100%;
  min-height: 360px;
  border: 0;
  border-radius: 16px;
}

/* Related tours */
.tour-related {
  padding-top: 80px;
  padding-bottom: 80px;
}

.tour-related > .e-con-inner,
.tour-related > .e-con {
  width: min(1180px, calc(100% - 36px));
  margin-inline: auto;
}

.tour-related h2,
.tour-related .elementor-heading-title {
  color: var(--tour-text);
}

.tour-cards .elementor-posts-container,
.tour-cards .elementor-loop-container {
  gap: 24px;
}

.tour-cards article.elementor-post,
.tour-cards .e-loop-item {
  overflow: hidden;
  background: var(--tour-white);
  border: 1px solid var(--tour-border);
  border-radius: 18px;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.tour-cards article.elementor-post:hover,
.tour-cards .e-loop-item:hover {
  transform: translateY(-6px);
  box-shadow: var(--tour-shadow);
}

.tour-cards .elementor-post__thumbnail img,
.tour-cards .elementor-loop-container img {
  width: 100%;
  min-height: 230px;
  object-fit: cover;
}

.tour-cards .elementor-post__text {
  padding: 22px;
}

.tour-cards .elementor-post__title,
.tour-cards .elementor-post__title a {
  color: var(--tour-text);
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.45rem;
  line-height: 1.2;
}

.tour-cards .elementor-post__meta-data {
  color: var(--tour-gold);
  font-size: 0.82rem;
  font-weight: 800;
  text-transform: uppercase;
}

/* Booking */
.tour-booking {
  background: var(--tour-text);
  color: var(--tour-white);
  padding-top: 80px;
  padding-bottom: 80px;
}

.tour-booking__grid > .e-con-inner,
.tour-booking__grid > .elementor-container,
.tour-booking__grid {
  gap: 50px;
  align-items: flex-start;
}

.tour-booking__grid > .e-con-inner,
.tour-booking__grid > .e-con {
  width: min(1180px, calc(100% - 36px));
  margin-inline: auto;
}

.tour-booking h2,
.tour-booking .elementor-heading-title {
  color: var(--tour-white);
}

.tour-booking p {
  color: #E7DDD5;
}

.tour-booking__form {
  background: var(--tour-white);
  color: var(--tour-text);
  border-radius: var(--tour-radius);
  padding: 28px !important;
}

/* Fluent Forms */
.tour-booking__form .fluentform .ff-el-form-control {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid var(--tour-border);
  border-radius: 10px;
  background: var(--tour-white);
  color: var(--tour-text);
  box-shadow: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.tour-booking__form .fluentform textarea.ff-el-form-control {
  min-height: 120px;
}

.tour-booking__form .fluentform .ff-el-form-control:focus {
  border-color: var(--tour-gold);
  box-shadow: 0 0 0 3px rgba(156, 122, 60, 0.14);
}

.tour-booking__form .fluentform label {
  color: var(--tour-text);
  font-weight: 700;
}

.tour-booking__form .fluentform .ff-btn-submit {
  width: 100%;
  min-height: 50px;
  border: 0;
  border-radius: 999px;
  background: var(--tour-cta);
  color: var(--tour-white);
  font-weight: 800;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.tour-booking__form .fluentform .ff-btn-submit:hover,
.tour-booking__form .fluentform .ff-btn-submit:focus {
  background: var(--tour-cta-hover);
  transform: translateY(-2px);
}

/* Links */
.tour-template a:not(.elementor-button),
body.single-tours main a:not(.elementor-button),
body.single-tour main a:not(.elementor-button) {
  color: var(--tour-gold);
  transition: color 0.2s ease;
}

.tour-template a:not(.elementor-button):hover,
body.single-tours main a:not(.elementor-button):hover,
body.single-tour main a:not(.elementor-button):hover {
  color: var(--tour-cta-hover);
}

/*
 * Elementor template bindings
 * These .elementor-459 .elementor-element.elementor-element-c1215bbs bind the reusable tour-* design system above to the
 * element IDs in tour-itineraries-template-v1.json.
 */

/* Hero */
body.single-tour .elementor-element.elementor-element-8a69f73 {
  min-height: 72vh;
  display: flex;
  align-items: flex-end;
  position: relative;
  overflow: hidden;
  color: var(--tour-white);
}

body.single-tour .elementor-element.elementor-element-8a69f73::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    180deg,
    rgba(20, 12, 7, 0.18) 0%,
    rgba(20, 12, 7, 0.76) 100%
  );
  pointer-events: none;
}

body.single-tour .elementor-element.elementor-element-8a69f73 > .elementor-container {
  position: relative;
  z-index: 2;
  width: min(1180px, calc(100% - 36px));
  padding-top: 90px;
  padding-bottom: 70px;
}

body.single-tour .elementor-element.elementor-element-f304a46 .elementor-heading-title {
  color: #F2DDBC;
  font-family: "Inter", Arial, sans-serif;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

body.single-tour .elementor-element.elementor-element-b732ed3 .elementor-heading-title {
  max-width: 950px;
  color: var(--tour-white);
  font-size: clamp(2.7rem, 7vw, 5.6rem);
  line-height: 1.05;
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.28);
}

body.single-tour .elementor-element.elementor-element-8ee21d3 .elementor-button {
  padding: 14px 22px;
  border: 0;
  border-radius: 999px;
  background: var(--tour-cta);
  color: var(--tour-white);
  font-weight: 800;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

body.single-tour .elementor-element.elementor-element-8ee21d3 .elementor-button:hover,
body.single-tour .elementor-element.elementor-element-8ee21d3 .elementor-button:focus {
  background: var(--tour-cta-hover);
  color: var(--tour-white);
  transform: translateY(-2px);
}

/* Tour facts */
body.single-tour .elementor-element.elementor-element-ffab273 {
  position: relative;
  z-index: 5;
  width: min(1180px, calc(100% - 36px));
  margin: -48px auto 0;
}

body.single-tour .elementor-element.elementor-element-ffab273 > .elementor-container {
  overflow: hidden;
  background: var(--tour-white);
  border: 1px solid var(--tour-border);
  border-radius: var(--tour-radius);
  box-shadow: var(--tour-shadow);
}

body.single-tour .elementor-element.elementor-element-ffab273 > .elementor-container > .elementor-column {
  min-height: 118px;
  background: var(--tour-white);
  border-right: 1px solid var(--tour-border);
  transition: background-color 0.2s ease;
}

body.single-tour .elementor-element.elementor-element-ffab273 > .elementor-container > .elementor-column:last-child {
  border-right: 0;
}

body.single-tour .elementor-element.elementor-element-ffab273 > .elementor-container > .elementor-column:hover {
  background: #FCF9F5;
}

body.single-tour .elementor-element.elementor-element-ffab273 .elementor-icon {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: var(--tour-light);
  color: var(--tour-gold);
  fill: var(--tour-gold);
}

body.single-tour .elementor-element.elementor-element-ffab273 .elementor-icon-box-title {
  color: var(--tour-text);
  font-family: "Inter", Arial, sans-serif;
  font-size: 1rem;
  font-weight: 800;
}

body.single-tour .elementor-element.elementor-element-ffab273 .elementor-icon-box-description {
  color: #816B5A;
  font-size: 0.82rem;
  line-height: 1.5;
}

/* Overview */
body.single-tour .elementor-element.elementor-element-2dd3a9e {
  padding-top: 88px;
  padding-bottom: 52px;
}

body.single-tour .elementor-element.elementor-element-2dd3a9e > .elementor-container {
  width: min(1180px, calc(100% - 36px));
  gap: 56px;
  align-items: center;
}

body.single-tour .elementor-element.elementor-element-3b88f70 .elementor-heading-title {
  color: var(--tour-gold);
  font-family: "Inter", Arial, sans-serif;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

body.single-tour .elementor-element.elementor-element-b48f78b .elementor-heading-title {
  color: var(--tour-text);
  font-size: clamp(2rem, 4vw, 3.4rem);
}

body.single-tour .elementor-element.elementor-element-4e5b341 {
  margin: 24px 0;
}

body.single-tour .elementor-element.elementor-element-4e5b341 .elementor-shortcode {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

body.single-tour .elementor-element.elementor-element-4e5b341 a {
  display: inline-flex;
  align-items: center;
  padding: 9px 13px;
  border: 1px solid var(--tour-border);
  border-radius: 999px;
  background: var(--tour-light);
  color: var(--tour-secondary);
  font-weight: 700;
  line-height: 1.2;
}

body.single-tour .elementor-element.elementor-element-9f97547 img {
  width: 100%;
  height: 470px;
  object-fit: cover;
  border-radius: var(--tour-radius);
  box-shadow: var(--tour-shadow);
}

/* Details tabs */
body.single-tour .elementor-element.elementor-element-5c49424 {
  padding-top: 70px;
  padding-bottom: 70px;
  background: var(--tour-light);
}

body.single-tour .elementor-element.elementor-element-5c49424 > .elementor-container {
  width: min(1180px, calc(100% - 36px));
}

body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tabs {
  overflow: hidden;
  background: var(--tour-white);
  border: 1px solid var(--tour-border);
  border-radius: var(--tour-radius);
  box-shadow: var(--tour-shadow);
}

body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tabs-wrapper {
  display: flex;
  overflow-x: auto;
  background: var(--tour-white);
  border-bottom: 1px solid var(--tour-border);
  scrollbar-width: thin;
}

body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-title {
  flex: 0 0 auto;
  padding: 18px 22px;
  border: 0;
  color: var(--tour-secondary);
  font-family: "Inter", Arial, sans-serif;
  font-weight: 800;
  white-space: nowrap;
}

body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-title.elementor-active {
  color: var(--tour-cta);
  box-shadow: inset 0 -3px var(--tour-cta);
}

body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content {
  padding: 34px;
  border: 0;
  color: var(--tour-text);
}

/* Repeatable itinerary accordion */
body.single-tour .tour-itinerary {
  display: grid;
  gap: 18px;
  counter-reset: tour-day;
}

body.single-tour .tour-itinerary__summary {
  margin: 0 0 4px;
  color: var(--tour-gold);
  font-family: "Inter", Arial, sans-serif;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.single-tour .itinerary-day {
  overflow: hidden;
  background: var(--tour-white);
  border: 1px solid var(--tour-border);
  border-radius: 16px;
  counter-increment: tour-day;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body.single-tour .itinerary-day[open] {
  border-color: rgba(160, 82, 45, 0.42);
  box-shadow: 0 12px 30px rgba(42, 30, 20, 0.08);
}

body.single-tour .itinerary-day__header {
  display: flex;
  align-items: center;
  gap: 18px;
  min-height: 82px;
  padding: 18px 22px;
  cursor: pointer;
  list-style: none;
}

body.single-tour .itinerary-day__header::-webkit-details-marker {
  display: none;
}

body.single-tour .itinerary-day__header::before {
  content: counter(tour-day);
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: var(--tour-cta);
  color: var(--tour-white);
  font-family: "Inter", Arial, sans-serif;
  font-weight: 900;
}

body.single-tour .itinerary-day__header::after {
  content: "+";
  margin-left: auto;
  color: var(--tour-cta);
  font-family: "Inter", Arial, sans-serif;
  font-size: 1.55rem;
  font-weight: 700;
  line-height: 1;
}

body.single-tour .itinerary-day[open] .itinerary-day__header::after {
  content: "\2212";
}

body.single-tour .itinerary-day__title {
  margin: 0;
  color: var(--tour-text);
  font-size: clamp(1.2rem, 2vw, 1.55rem);
}

body.single-tour .itinerary-day__body {
  padding: 0 22px 22px 98px;
}

body.single-tour .itinerary-day__body > :last-child {
  margin-bottom: 0;
}

/* Included and excluded lists */
body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content[data-tab="3"] ul,
body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content[data-tab="4"] ul {
  columns: 2;
  column-gap: 35px;
  padding-left: 0;
  list-style: none;
}

body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content[data-tab="3"] li,
body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content[data-tab="4"] li {
  position: relative;
  break-inside: avoid;
  margin-bottom: 12px;
  padding-left: 28px;
}

body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content[data-tab="3"] li::before,
body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content[data-tab="4"] li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--tour-gold);
  font-weight: 900;
}

/* Pods gallery and map */
body.single-tour .elementor-element.elementor-element-e65e288 .gallery {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 12px;
}

body.single-tour .elementor-element.elementor-element-e65e288 .gallery-item {
  width: 100% !important;
  max-width: none;
  margin: 0;
}

body.single-tour .elementor-element.elementor-element-e65e288 .gallery-icon,
body.single-tour .elementor-element.elementor-element-e65e288 .gallery-icon a {
  display: block;
  height: 100%;
}

body.single-tour .elementor-element.elementor-element-e65e288 .gallery img {
  width: 100%;
  height: 210px;
  object-fit: cover;
  border: 0;
  border-radius: 14px;
}

body.single-tour .elementor-element.elementor-element-e65e288 .gallery-item:first-child {
  grid-row: span 2;
}

body.single-tour .elementor-element.elementor-element-e65e288 .gallery-item:first-child img {
  height: 432px;
}

body.single-tour .elementor-element.elementor-element-e65e288 iframe {
  width: 100%;
  min-height: 360px;
  border: 0;
  border-radius: 16px;
}

/* Related tours */
body.single-tour .elementor-element.elementor-element-1f6cfce {
  padding-top: 80px;
  padding-bottom: 80px;
}

body.single-tour .elementor-element.elementor-element-1f6cfce > .elementor-container {
  width: min(1180px, calc(100% - 36px));
}

body.single-tour .elementor-element.elementor-element-600c908 .elementor-heading-title {
  color: var(--tour-text);
  font-size: clamp(2rem, 4vw, 3.2rem);
}

body.single-tour .elementor-element.elementor-element-14da04c .elementor-posts-container {
  gap: 24px;
}

body.single-tour .elementor-element.elementor-element-14da04c article.elementor-post {
  overflow: hidden;
  background: var(--tour-white);
  border: 1px solid var(--tour-border);
  border-radius: 18px;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

body.single-tour .elementor-element.elementor-element-14da04c article.elementor-post:hover {
  transform: translateY(-6px);
  box-shadow: var(--tour-shadow);
}

body.single-tour .elementor-element.elementor-element-14da04c .elementor-post__thumbnail img {
  width: 100%;
  height: 230px;
  object-fit: cover;
}

body.single-tour .elementor-element.elementor-element-14da04c .elementor-post__text {
  padding: 22px;
}

body.single-tour .elementor-element.elementor-element-14da04c .elementor-post__title a {
  color: var(--tour-text);
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.45rem;
  line-height: 1.2;
}

body.single-tour .elementor-element.elementor-element-14da04c .elementor-post__meta-data {
  color: var(--tour-gold);
  font-size: 0.82rem;
  font-weight: 800;
  text-transform: uppercase;
}

/* Booking */
body.single-tour .elementor-element.elementor-element-990fa5d {
  padding-top: 80px;
  padding-bottom: 80px;
  background: var(--tour-text);
  color: var(--tour-white);
}

body.single-tour .elementor-element.elementor-element-990fa5d > .elementor-container {
  width: min(1180px, calc(100% - 36px));
  gap: 50px;
  align-items: flex-start;
}

body.single-tour .elementor-element.elementor-element-7417bc0 .elementor-heading-title {
  color: var(--tour-white);
  font-size: clamp(2.2rem, 5vw, 4rem);
}

body.single-tour .elementor-element.elementor-element-243fe70,
body.single-tour .elementor-element.elementor-element-243fe70 p {
  color: #E7DDD5;
}

body.single-tour .elementor-element.elementor-element-cc13386 > .elementor-widget-wrap {
  padding: 28px;
  border-radius: var(--tour-radius);
  background: var(--tour-white);
  color: var(--tour-text);
}

body.single-tour .elementor-element.elementor-element-ae0815b .fluentform .ff-el-form-control {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid var(--tour-border);
  border-radius: 10px;
  background: var(--tour-white);
  color: var(--tour-text);
  box-shadow: none;
}

body.single-tour .elementor-element.elementor-element-ae0815b .fluentform textarea.ff-el-form-control {
  min-height: 120px;
}

body.single-tour .elementor-element.elementor-element-ae0815b .fluentform .ff-el-form-control:focus {
  border-color: var(--tour-gold);
  box-shadow: 0 0 0 3px rgba(156, 122, 60, 0.14);
}

body.single-tour .elementor-element.elementor-element-ae0815b .fluentform label {
  color: var(--tour-text);
  font-weight: 700;
}

body.single-tour .elementor-element.elementor-element-ae0815b .fluentform .ff-btn-submit {
  width: 100%;
  min-height: 50px;
  border: 0;
  border-radius: 999px;
  background: var(--tour-cta);
  color: var(--tour-white);
  font-weight: 800;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

body.single-tour .elementor-element.elementor-element-ae0815b .fluentform .ff-btn-submit:hover,
body.single-tour .elementor-element.elementor-element-ae0815b .fluentform .ff-btn-submit:focus {
  background: var(--tour-cta-hover);
  transform: translateY(-2px);
}

/* Tablet */
@media (max-width: 1024px) {
  .tour-summary {
    margin-top: -35px;
  }

  .tour-fact {
    border-bottom: 1px solid var(--tour-border);
  }

  .tour-fact:nth-child(2n) {
    border-right: 0;
  }

  .tour-two-col > .e-con-inner,
  .tour-two-col > .elementor-container,
  .tour-two-col {
    gap: 32px;
  }

  .tour-intro .elementor-widget-image img,
  .tour-overview-image img {
    min-height: 380px;
  }

  .tour-gallery .gallery,
  .tour-gallery .elementor-gallery__container {
    grid-template-columns: 1fr 1fr;
  }

  body.single-tour .elementor-element.elementor-element-ffab273 > .elementor-container {
    flex-wrap: wrap;
  }

  body.single-tour .elementor-element.elementor-element-ffab273 > .elementor-container > .elementor-column {
    width: 50%;
    border-bottom: 1px solid var(--tour-border);
  }

  body.single-tour .elementor-element.elementor-element-ffab273 > .elementor-container > .elementor-column:nth-child(2n) {
    border-right: 0;
  }

  body.single-tour .elementor-element.elementor-element-2dd3a9e > .elementor-container,
  body.single-tour .elementor-element.elementor-element-990fa5d > .elementor-container {
    flex-wrap: wrap;
    gap: 32px;
  }

  body.single-tour .elementor-element.elementor-element-aa22abe,
  body.single-tour .elementor-element.elementor-element-dc76730,
  body.single-tour .elementor-element.elementor-element-cfa098f,
  body.single-tour .elementor-element.elementor-element-cc13386 {
    width: 100%;
  }

  body.single-tour .elementor-element.elementor-element-9f97547 img {
    height: 380px;
  }

  body.single-tour .elementor-element.elementor-element-e65e288 .gallery {
    grid-template-columns: 1fr 1fr;
  }

  body.single-tour .elementor-element.elementor-element-e65e288 .gallery-item:first-child {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  body.single-tour .elementor-element.elementor-element-e65e288 .gallery-item:first-child img {
    height: 330px;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .tour-hero {
    min-height: 66vh;
  }

  .tour-hero > .e-con-inner,
  .tour-hero > .elementor-container,
  .tour-hero__content {
    padding-top: 70px;
    padding-bottom: 55px;
  }

  .tour-hero__title .elementor-heading-title,
  .tour-hero__title {
    font-size: clamp(2.35rem, 12vw, 4rem);
  }

  .tour-summary {
    margin-top: -28px;
  }

  .tour-fact {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid var(--tour-border);
  }

  .tour-fact:last-child {
    border-bottom: 0;
  }

  .tour-intro {
    padding-top: 65px;
    padding-bottom: 40px;
  }

  .tour-intro .elementor-widget-image img,
  .tour-overview-image img {
    min-height: 280px;
  }

  .tour-tabs-section {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .tour-tabs .elementor-tab-content,
  .tour-tabs .e-n-tabs-content > div {
    padding: 24px 18px;
  }

  .tour-day {
    grid-template-columns: 1fr;
  }

  .tour-check-list ul,
  .tour-tabs .elementor-tab-content ul {
    columns: 1;
  }

  .tour-gallery .gallery,
  .tour-gallery .elementor-gallery__container {
    grid-template-columns: 1fr;
  }

  .tour-related,
  .tour-booking {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .tour-booking__form {
    padding: 22px !important;
  }

  body.single-tour .elementor-element.elementor-element-8a69f73 {
    min-height: 66vh;
  }

  body.single-tour .elementor-element.elementor-element-8a69f73 > .elementor-container {
    padding-top: 70px;
    padding-bottom: 55px;
  }

  body.single-tour .elementor-element.elementor-element-b732ed3 .elementor-heading-title {
    font-size: clamp(2.35rem, 12vw, 4rem);
  }

  body.single-tour .elementor-element.elementor-element-ffab273 {
    margin-top: -28px;
  }

  body.single-tour .elementor-element.elementor-element-ffab273 > .elementor-container > .elementor-column {
    width: 100%;
    min-height: auto;
    border-right: 0;
  }

  body.single-tour .elementor-element.elementor-element-2dd3a9e {
    padding-top: 65px;
    padding-bottom: 40px;
  }

  body.single-tour .elementor-element.elementor-element-9f97547 img {
    height: 280px;
  }

  body.single-tour .elementor-element.elementor-element-5c49424 {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content {
    padding: 24px 18px;
  }

  body.single-tour .itinerary-day__header {
    align-items: flex-start;
    padding: 18px;
  }

  body.single-tour .itinerary-day__header::before {
    width: 48px;
    height: 48px;
    flex-basis: 48px;
    border-radius: 14px;
  }

  body.single-tour .itinerary-day__body {
    padding: 0 18px 20px;
  }

  body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content[data-tab="3"] ul,
  body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content[data-tab="4"] ul {
    columns: 1;
  }

  body.single-tour .elementor-element.elementor-element-e65e288 .gallery {
    grid-template-columns: 1fr;
  }

  body.single-tour .elementor-element.elementor-element-e65e288 .gallery-item:first-child {
    grid-column: auto;
  }

  body.single-tour .elementor-element.elementor-element-e65e288 .gallery img,
  body.single-tour .elementor-element.elementor-element-e65e288 .gallery-item:first-child img {
    height: 240px;
  }

  body.single-tour .elementor-element.elementor-element-1f6cfce,
  body.single-tour .elementor-element.elementor-element-990fa5d {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  body.single-tour .elementor-element.elementor-element-cc13386 > .elementor-widget-wrap {
    padding: 22px;
  }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-65b808d *//*
 * Tour Itineraries Template CSS
 * Template: tour-itineraries-template
 * Brand: African Real Nature
 *
 * Recommended Elementor CSS classes:
 * Hero section: tour-hero
 * Hero inner container: tour-hero__content
 * Eyebrow heading: tour-eyebrow
 * Hero title: tour-hero__title
 * CTA button widget: tour-btn
 * Summary section: tour-summary
 * Summary inner container: tour-summary__grid
 * Each icon box column/container: tour-fact
 * Overview section: tour-intro
 * Overview wrapper: tour-two-col
 * Locations wrapper: tour-locations
 * Each location item: tour-pill
 * Tabs section: tour-tabs-section
 * Tabs widget: tour-tabs
 * Itinerary wrapper: tour-timeline
 * Each day item: tour-day
 * Day number: tour-day__number
 * Related section: tour-related
 * Related posts widget: tour-cards
 * Booking section: tour-booking
 * Booking wrapper: tour-booking__grid
 * Booking form column/container: tour-booking__form
 */

:root {
  --tour-cta: #A0522D;
  --tour-cta-hover: #7A3E20;
  --tour-gold: #9C7A3C;
  --tour-text: #2A1E14;
  --tour-secondary: #5C3D1E;
  --tour-light: #F7F2EC;
  --tour-border: #E8DDC8;
  --tour-white: #FFFFFF;
  --tour-shadow: 0 18px 50px rgba(42, 30, 20, 0.12);
  --tour-radius: 20px;
}

/* Base typography */
body.single-tours,
body.single-tour,
.tour-template {
  color: var(--tour-text);
  font-family: "Inter", Arial, sans-serif;
  line-height: 1.6;
}

body.single-tours h1,
body.single-tours h2,
body.single-tours h3,
body.single-tour h1,
body.single-tour h2,
body.single-tour h3,
.tour-template h1,
.tour-template h2,
.tour-template h3 {
  font-family: "Playfair Display", Georgia, serif;
  line-height: 1.15;
}

/* Hero */
.tour-hero {
  min-height: 72vh;
  display: flex;
  align-items: flex-end;
  position: relative;
  overflow: hidden;
  color: var(--tour-white);
}

.tour-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(20, 12, 7, 0.18) 0%,
    rgba(20, 12, 7, 0.76) 100%
  );
  z-index: 1;
  pointer-events: none;
}

.tour-hero > .e-con-inner,
.tour-hero > .elementor-container,
.tour-hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1180px;
  margin-inline: auto;
  padding-top: 90px;
  padding-bottom: 70px;
}

.tour-eyebrow .elementor-heading-title,
.tour-eyebrow {
  color: #F2DDBC;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.78rem;
  font-weight: 800;
}

.tour-hero__title .elementor-heading-title,
.tour-hero__title {
  color: var(--tour-white);
  font-size: clamp(2.7rem, 7vw, 5.6rem);
  line-height: 1.05;
  max-width: 950px;
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.28);
}

.tour-hero .elementor-widget-text-editor,
.tour-hero .elementor-widget-text-editor p {
  color: #F8EFE8;
  font-size: 1.08rem;
  max-width: 700px;
}

/* Buttons */
.tour-btn .elementor-button,
.tour-template .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--tour-cta);
  color: var(--tour-white);
  padding: 14px 22px;
  border-radius: 999px;
  border: 0;
  font-weight: 800;
  box-shadow: none;
  transition: background-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.tour-btn .elementor-button:hover,
.tour-btn .elementor-button:focus,
.tour-template .elementor-button:hover,
.tour-template .elementor-button:focus {
  background: var(--tour-cta-hover);
  color: var(--tour-white);
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(122, 62, 32, 0.22);
}

/* Summary information cards */
.tour-summary {
  position: relative;
  z-index: 5;
  width: min(1180px, calc(100% - 36px));
  margin-inline: auto;
  margin-top: -48px;
}

.tour-summary__grid > .e-con-inner,
.tour-summary__grid > .elementor-container,
.tour-summary__grid {
  background: var(--tour-white);
  border: 1px solid var(--tour-border);
  border-radius: var(--tour-radius);
  box-shadow: var(--tour-shadow);
  overflow: hidden;
}

.tour-fact {
  min-height: 118px;
  padding: 24px !important;
  border-right: 1px solid var(--tour-border);
  background: var(--tour-white);
  transition: background-color 0.2s ease;
}

.tour-fact:last-child {
  border-right: 0;
}

.tour-fact:hover {
  background: #FCF9F5;
}

.tour-fact .elementor-icon,
.tour-fact .elementor-icon-box-icon .elementor-icon {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: var(--tour-light);
  color: var(--tour-gold);
  fill: var(--tour-gold);
}

.tour-fact .elementor-icon-box-title,
.tour-fact .elementor-icon-box-title a {
  color: var(--tour-text);
  font-family: "Inter", Arial, sans-serif;
  font-size: 1rem;
  font-weight: 800;
}

.tour-fact .elementor-icon-box-description {
  color: #816B5A;
  font-size: 0.82rem;
  line-height: 1.5;
}

/* Overview section */
.tour-intro {
  padding-top: 88px;
  padding-bottom: 52px;
}

.tour-two-col > .e-con-inner,
.tour-two-col > .elementor-container,
.tour-two-col {
  width: min(1180px, calc(100% - 36px));
  margin-inline: auto;
  gap: 56px;
  align-items: center;
}

.tour-kicker .elementor-heading-title,
.tour-kicker {
  color: var(--tour-gold);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-family: "Inter", Arial, sans-serif;
  font-weight: 800;
  font-size: 0.78rem;
}

.tour-intro h2,
.tour-intro .elementor-heading-title {
  color: var(--tour-text);
}

.tour-intro .elementor-widget-image img,
.tour-overview-image img {
  width: 100%;
  min-height: 470px;
  object-fit: cover;
  border-radius: var(--tour-radius);
  box-shadow: var(--tour-shadow);
}

/* Locations */
.tour-locations {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
  margin-bottom: 24px;
}

.tour-pill,
.tour-locations a,
.tour-locations span {
  display: inline-flex;
  align-items: center;
  background: var(--tour-light);
  border: 1px solid var(--tour-border);
  color: var(--tour-secondary);
  padding: 9px 13px;
  border-radius: 999px;
  font-weight: 700;
  line-height: 1.2;
}

/* Tabs */
.tour-tabs-section {
  background: var(--tour-light);
  padding-top: 70px;
  padding-bottom: 70px;
}

.tour-tabs-section > .e-con-inner,
.tour-tabs-section > .e-con {
  width: min(1180px, calc(100% - 36px));
  margin-inline: auto;
}

.tour-tabs .elementor-tabs,
.tour-tabs .e-n-tabs {
  background: var(--tour-white);
  border: 1px solid var(--tour-border);
  border-radius: var(--tour-radius);
  box-shadow: var(--tour-shadow);
  overflow: hidden;
}

.tour-tabs .elementor-tabs-wrapper,
.tour-tabs .e-n-tabs-heading {
  display: flex;
  overflow-x: auto;
  background: var(--tour-white);
  border-bottom: 1px solid var(--tour-border);
  scrollbar-width: thin;
}

.tour-tabs .elementor-tab-title,
.tour-tabs .e-n-tab-title {
  flex: 0 0 auto;
  padding: 18px 22px;
  color: var(--tour-secondary);
  font-family: "Inter", Arial, sans-serif;
  font-weight: 800;
  white-space: nowrap;
  border: 0 !important;
}

.tour-tabs .elementor-tab-title.elementor-active,
.tour-tabs .e-n-tab-title[aria-selected="true"] {
  color: var(--tour-cta);
  box-shadow: inset 0 -3px var(--tour-cta);
}

.tour-tabs .elementor-tab-content,
.tour-tabs .e-n-tabs-content > div {
  padding: 34px;
  border: 0 !important;
  color: var(--tour-text);
}

.tour-tabs .elementor-tab-content h3,
.tour-tabs .e-n-tabs-content h3 {
  color: var(--tour-text);
  font-size: 2rem;
}

/* Itinerary */
.tour-timeline {
  display: grid;
  gap: 18px;
}

.tour-day {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
  padding: 22px;
  border: 1px solid var(--tour-border);
  border-radius: 16px;
  background: var(--tour-white);
}

.tour-day__number {
  width: 68px;
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: var(--tour-cta);
  color: var(--tour-white);
  font-family: "Inter", Arial, sans-serif;
  font-weight: 900;
  text-align: center;
  padding: 8px;
}

.tour-day h3,
.tour-day .elementor-heading-title {
  margin-top: 0;
  color: var(--tour-text);
  font-size: 1.55rem;
}

/* Includes / excludes */
.tour-check-list ul,
.tour-tabs .elementor-tab-content ul {
  columns: 2;
  column-gap: 35px;
  padding-left: 0;
  list-style: none;
}

.tour-check-list li,
.tour-tabs .elementor-tab-content li {
  position: relative;
  break-inside: avoid;
  margin-bottom: 12px;
  padding-left: 28px;
}

.tour-check-list li::before,
.tour-tabs .elementor-tab-content li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--tour-gold);
  font-weight: 900;
}

/* Gallery */
.tour-gallery .gallery,
.tour-gallery .elementor-gallery__container {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 12px;
}

.tour-gallery img,
.tour-gallery .e-gallery-image {
  width: 100%;
  min-height: 210px;
  object-fit: cover;
  border-radius: 14px;
}

/* Map */
.tour-map iframe,
.tour-map .elementor-widget-google_maps iframe {
  width: 100%;
  min-height: 360px;
  border: 0;
  border-radius: 16px;
}

/* Related tours */
.tour-related {
  padding-top: 80px;
  padding-bottom: 80px;
}

.tour-related > .e-con-inner,
.tour-related > .e-con {
  width: min(1180px, calc(100% - 36px));
  margin-inline: auto;
}

.tour-related h2,
.tour-related .elementor-heading-title {
  color: var(--tour-text);
}

.tour-cards .elementor-posts-container,
.tour-cards .elementor-loop-container {
  gap: 24px;
}

.tour-cards article.elementor-post,
.tour-cards .e-loop-item {
  overflow: hidden;
  background: var(--tour-white);
  border: 1px solid var(--tour-border);
  border-radius: 18px;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.tour-cards article.elementor-post:hover,
.tour-cards .e-loop-item:hover {
  transform: translateY(-6px);
  box-shadow: var(--tour-shadow);
}

.tour-cards .elementor-post__thumbnail img,
.tour-cards .elementor-loop-container img {
  width: 100%;
  min-height: 230px;
  object-fit: cover;
}

.tour-cards .elementor-post__text {
  padding: 22px;
}

.tour-cards .elementor-post__title,
.tour-cards .elementor-post__title a {
  color: var(--tour-text);
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.45rem;
  line-height: 1.2;
}

.tour-cards .elementor-post__meta-data {
  color: var(--tour-gold);
  font-size: 0.82rem;
  font-weight: 800;
  text-transform: uppercase;
}

/* Booking */
.tour-booking {
  background: var(--tour-text);
  color: var(--tour-white);
  padding-top: 80px;
  padding-bottom: 80px;
}

.tour-booking__grid > .e-con-inner,
.tour-booking__grid > .elementor-container,
.tour-booking__grid {
  gap: 50px;
  align-items: flex-start;
}

.tour-booking__grid > .e-con-inner,
.tour-booking__grid > .e-con {
  width: min(1180px, calc(100% - 36px));
  margin-inline: auto;
}

.tour-booking h2,
.tour-booking .elementor-heading-title {
  color: var(--tour-white);
}

.tour-booking p {
  color: #E7DDD5;
}

.tour-booking__form {
  background: var(--tour-white);
  color: var(--tour-text);
  border-radius: var(--tour-radius);
  padding: 28px !important;
}

/* Fluent Forms */
.tour-booking__form .fluentform .ff-el-form-control {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid var(--tour-border);
  border-radius: 10px;
  background: var(--tour-white);
  color: var(--tour-text);
  box-shadow: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.tour-booking__form .fluentform textarea.ff-el-form-control {
  min-height: 120px;
}

.tour-booking__form .fluentform .ff-el-form-control:focus {
  border-color: var(--tour-gold);
  box-shadow: 0 0 0 3px rgba(156, 122, 60, 0.14);
}

.tour-booking__form .fluentform label {
  color: var(--tour-text);
  font-weight: 700;
}

.tour-booking__form .fluentform .ff-btn-submit {
  width: 100%;
  min-height: 50px;
  border: 0;
  border-radius: 999px;
  background: var(--tour-cta);
  color: var(--tour-white);
  font-weight: 800;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.tour-booking__form .fluentform .ff-btn-submit:hover,
.tour-booking__form .fluentform .ff-btn-submit:focus {
  background: var(--tour-cta-hover);
  transform: translateY(-2px);
}

/* Links */
.tour-template a:not(.elementor-button),
body.single-tours main a:not(.elementor-button),
body.single-tour main a:not(.elementor-button) {
  color: var(--tour-gold);
  transition: color 0.2s ease;
}

.tour-template a:not(.elementor-button):hover,
body.single-tours main a:not(.elementor-button):hover,
body.single-tour main a:not(.elementor-button):hover {
  color: var(--tour-cta-hover);
}

/*
 * Elementor template bindings
 * These .elementor-459 .elementor-element.elementor-element-65b808ds bind the reusable tour-* design system above to the
 * element IDs in tour-itineraries-template-v1.json.
 */

/* Hero */
body.single-tour .elementor-element.elementor-element-8a69f73 {
  min-height: 72vh;
  display: flex;
  align-items: flex-end;
  position: relative;
  overflow: hidden;
  color: var(--tour-white);
}

body.single-tour .elementor-element.elementor-element-8a69f73::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    180deg,
    rgba(20, 12, 7, 0.18) 0%,
    rgba(20, 12, 7, 0.76) 100%
  );
  pointer-events: none;
}

body.single-tour .elementor-element.elementor-element-8a69f73 > .elementor-container {
  position: relative;
  z-index: 2;
  width: min(1180px, calc(100% - 36px));
  padding-top: 90px;
  padding-bottom: 70px;
}

body.single-tour .elementor-element.elementor-element-f304a46 .elementor-heading-title {
  color: #F2DDBC;
  font-family: "Inter", Arial, sans-serif;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

body.single-tour .elementor-element.elementor-element-b732ed3 .elementor-heading-title {
  max-width: 950px;
  color: var(--tour-white);
  font-size: clamp(2.7rem, 7vw, 5.6rem);
  line-height: 1.05;
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.28);
}

body.single-tour .elementor-element.elementor-element-8ee21d3 .elementor-button {
  padding: 14px 22px;
  border: 0;
  border-radius: 999px;
  background: var(--tour-cta);
  color: var(--tour-white);
  font-weight: 800;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

body.single-tour .elementor-element.elementor-element-8ee21d3 .elementor-button:hover,
body.single-tour .elementor-element.elementor-element-8ee21d3 .elementor-button:focus {
  background: var(--tour-cta-hover);
  color: var(--tour-white);
  transform: translateY(-2px);
}

/* Tour facts */
body.single-tour .elementor-element.elementor-element-ffab273 {
  position: relative;
  z-index: 5;
  width: min(1180px, calc(100% - 36px));
  margin: -48px auto 0;
}

body.single-tour .elementor-element.elementor-element-ffab273 > .elementor-container {
  overflow: hidden;
  background: var(--tour-white);
  border: 1px solid var(--tour-border);
  border-radius: var(--tour-radius);
  box-shadow: var(--tour-shadow);
}

body.single-tour .elementor-element.elementor-element-ffab273 > .elementor-container > .elementor-column {
  min-height: 118px;
  background: var(--tour-white);
  border-right: 1px solid var(--tour-border);
  transition: background-color 0.2s ease;
}

body.single-tour .elementor-element.elementor-element-ffab273 > .elementor-container > .elementor-column:last-child {
  border-right: 0;
}

body.single-tour .elementor-element.elementor-element-ffab273 > .elementor-container > .elementor-column:hover {
  background: #FCF9F5;
}

body.single-tour .elementor-element.elementor-element-ffab273 .elementor-icon {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: var(--tour-light);
  color: var(--tour-gold);
  fill: var(--tour-gold);
}

body.single-tour .elementor-element.elementor-element-ffab273 .elementor-icon-box-title {
  color: var(--tour-text);
  font-family: "Inter", Arial, sans-serif;
  font-size: 1rem;
  font-weight: 800;
}

body.single-tour .elementor-element.elementor-element-ffab273 .elementor-icon-box-description {
  color: #816B5A;
  font-size: 0.82rem;
  line-height: 1.5;
}

/* Overview */
body.single-tour .elementor-element.elementor-element-2dd3a9e {
  padding-top: 88px;
  padding-bottom: 52px;
}

body.single-tour .elementor-element.elementor-element-2dd3a9e > .elementor-container {
  width: min(1180px, calc(100% - 36px));
  gap: 56px;
  align-items: center;
}

body.single-tour .elementor-element.elementor-element-3b88f70 .elementor-heading-title {
  color: var(--tour-gold);
  font-family: "Inter", Arial, sans-serif;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

body.single-tour .elementor-element.elementor-element-b48f78b .elementor-heading-title {
  color: var(--tour-text);
  font-size: clamp(2rem, 4vw, 3.4rem);
}

body.single-tour .elementor-element.elementor-element-4e5b341 {
  margin: 24px 0;
}

body.single-tour .elementor-element.elementor-element-4e5b341 .elementor-shortcode {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

body.single-tour .elementor-element.elementor-element-4e5b341 a {
  display: inline-flex;
  align-items: center;
  padding: 9px 13px;
  border: 1px solid var(--tour-border);
  border-radius: 999px;
  background: var(--tour-light);
  color: var(--tour-secondary);
  font-weight: 700;
  line-height: 1.2;
}

body.single-tour .elementor-element.elementor-element-9f97547 img {
  width: 100%;
  height: 470px;
  object-fit: cover;
  border-radius: var(--tour-radius);
  box-shadow: var(--tour-shadow);
}

/* Details tabs */
body.single-tour .elementor-element.elementor-element-5c49424 {
  padding-top: 70px;
  padding-bottom: 70px;
  background: var(--tour-light);
}

body.single-tour .elementor-element.elementor-element-5c49424 > .elementor-container {
  width: min(1180px, calc(100% - 36px));
}

body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tabs {
  overflow: hidden;
  background: var(--tour-white);
  border: 1px solid var(--tour-border);
  border-radius: var(--tour-radius);
  box-shadow: var(--tour-shadow);
}

body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tabs-wrapper {
  display: flex;
  overflow-x: auto;
  background: var(--tour-white);
  border-bottom: 1px solid var(--tour-border);
  scrollbar-width: thin;
}

body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-title {
  flex: 0 0 auto;
  padding: 18px 22px;
  border: 0;
  color: var(--tour-secondary);
  font-family: "Inter", Arial, sans-serif;
  font-weight: 800;
  white-space: nowrap;
}

body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-title.elementor-active {
  color: var(--tour-cta);
  box-shadow: inset 0 -3px var(--tour-cta);
}

body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content {
  padding: 34px;
  border: 0;
  color: var(--tour-text);
}

/* Repeatable itinerary accordion */
body.single-tour .tour-itinerary {
  display: grid;
  gap: 18px;
  counter-reset: tour-day;
}

body.single-tour .tour-itinerary__summary {
  margin: 0 0 4px;
  color: var(--tour-gold);
  font-family: "Inter", Arial, sans-serif;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.single-tour .itinerary-day {
  overflow: hidden;
  background: var(--tour-white);
  border: 1px solid var(--tour-border);
  border-radius: 16px;
  counter-increment: tour-day;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body.single-tour .itinerary-day[open] {
  border-color: rgba(160, 82, 45, 0.42);
  box-shadow: 0 12px 30px rgba(42, 30, 20, 0.08);
}

body.single-tour .itinerary-day__header {
  display: flex;
  align-items: center;
  gap: 18px;
  min-height: 82px;
  padding: 18px 22px;
  cursor: pointer;
  list-style: none;
}

body.single-tour .itinerary-day__header::-webkit-details-marker {
  display: none;
}

body.single-tour .itinerary-day__header::before {
  content: counter(tour-day);
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: var(--tour-cta);
  color: var(--tour-white);
  font-family: "Inter", Arial, sans-serif;
  font-weight: 900;
}

body.single-tour .itinerary-day__header::after {
  content: "+";
  margin-left: auto;
  color: var(--tour-cta);
  font-family: "Inter", Arial, sans-serif;
  font-size: 1.55rem;
  font-weight: 700;
  line-height: 1;
}

body.single-tour .itinerary-day[open] .itinerary-day__header::after {
  content: "\2212";
}

body.single-tour .itinerary-day__title {
  margin: 0;
  color: var(--tour-text);
  font-size: clamp(1.2rem, 2vw, 1.55rem);
}

body.single-tour .itinerary-day__body {
  padding: 0 22px 22px 98px;
}

body.single-tour .itinerary-day__body > :last-child {
  margin-bottom: 0;
}

/* Included and excluded lists */
body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content[data-tab="3"] ul,
body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content[data-tab="4"] ul {
  columns: 2;
  column-gap: 35px;
  padding-left: 0;
  list-style: none;
}

body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content[data-tab="3"] li,
body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content[data-tab="4"] li {
  position: relative;
  break-inside: avoid;
  margin-bottom: 12px;
  padding-left: 28px;
}

body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content[data-tab="3"] li::before,
body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content[data-tab="4"] li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--tour-gold);
  font-weight: 900;
}

/* Pods gallery and map */
body.single-tour .elementor-element.elementor-element-e65e288 .gallery {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 12px;
}

body.single-tour .elementor-element.elementor-element-e65e288 .gallery-item {
  width: 100% !important;
  max-width: none;
  margin: 0;
}

body.single-tour .elementor-element.elementor-element-e65e288 .gallery-icon,
body.single-tour .elementor-element.elementor-element-e65e288 .gallery-icon a {
  display: block;
  height: 100%;
}

body.single-tour .elementor-element.elementor-element-e65e288 .gallery img {
  width: 100%;
  height: 210px;
  object-fit: cover;
  border: 0;
  border-radius: 14px;
}

body.single-tour .elementor-element.elementor-element-e65e288 .gallery-item:first-child {
  grid-row: span 2;
}

body.single-tour .elementor-element.elementor-element-e65e288 .gallery-item:first-child img {
  height: 432px;
}

body.single-tour .elementor-element.elementor-element-e65e288 iframe {
  width: 100%;
  min-height: 360px;
  border: 0;
  border-radius: 16px;
}

/* Related tours */
body.single-tour .elementor-element.elementor-element-1f6cfce {
  padding-top: 80px;
  padding-bottom: 80px;
}

body.single-tour .elementor-element.elementor-element-1f6cfce > .elementor-container {
  width: min(1180px, calc(100% - 36px));
}

body.single-tour .elementor-element.elementor-element-600c908 .elementor-heading-title {
  color: var(--tour-text);
  font-size: clamp(2rem, 4vw, 3.2rem);
}

body.single-tour .elementor-element.elementor-element-14da04c .elementor-posts-container {
  gap: 24px;
}

body.single-tour .elementor-element.elementor-element-14da04c article.elementor-post {
  overflow: hidden;
  background: var(--tour-white);
  border: 1px solid var(--tour-border);
  border-radius: 18px;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

body.single-tour .elementor-element.elementor-element-14da04c article.elementor-post:hover {
  transform: translateY(-6px);
  box-shadow: var(--tour-shadow);
}

body.single-tour .elementor-element.elementor-element-14da04c .elementor-post__thumbnail img {
  width: 100%;
  height: 230px;
  object-fit: cover;
}

body.single-tour .elementor-element.elementor-element-14da04c .elementor-post__text {
  padding: 22px;
}

body.single-tour .elementor-element.elementor-element-14da04c .elementor-post__title a {
  color: var(--tour-text);
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.45rem;
  line-height: 1.2;
}

body.single-tour .elementor-element.elementor-element-14da04c .elementor-post__meta-data {
  color: var(--tour-gold);
  font-size: 0.82rem;
  font-weight: 800;
  text-transform: uppercase;
}

/* Booking */
body.single-tour .elementor-element.elementor-element-990fa5d {
  padding-top: 80px;
  padding-bottom: 80px;
  background: var(--tour-text);
  color: var(--tour-white);
}

body.single-tour .elementor-element.elementor-element-990fa5d > .elementor-container {
  width: min(1180px, calc(100% - 36px));
  gap: 50px;
  align-items: flex-start;
}

body.single-tour .elementor-element.elementor-element-7417bc0 .elementor-heading-title {
  color: var(--tour-white);
  font-size: clamp(2.2rem, 5vw, 4rem);
}

body.single-tour .elementor-element.elementor-element-243fe70,
body.single-tour .elementor-element.elementor-element-243fe70 p {
  color: #E7DDD5;
}

body.single-tour .elementor-element.elementor-element-cc13386 > .elementor-widget-wrap {
  padding: 28px;
  border-radius: var(--tour-radius);
  background: var(--tour-white);
  color: var(--tour-text);
}

body.single-tour .elementor-element.elementor-element-ae0815b .fluentform .ff-el-form-control {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid var(--tour-border);
  border-radius: 10px;
  background: var(--tour-white);
  color: var(--tour-text);
  box-shadow: none;
}

body.single-tour .elementor-element.elementor-element-ae0815b .fluentform textarea.ff-el-form-control {
  min-height: 120px;
}

body.single-tour .elementor-element.elementor-element-ae0815b .fluentform .ff-el-form-control:focus {
  border-color: var(--tour-gold);
  box-shadow: 0 0 0 3px rgba(156, 122, 60, 0.14);
}

body.single-tour .elementor-element.elementor-element-ae0815b .fluentform label {
  color: var(--tour-text);
  font-weight: 700;
}

body.single-tour .elementor-element.elementor-element-ae0815b .fluentform .ff-btn-submit {
  width: 100%;
  min-height: 50px;
  border: 0;
  border-radius: 999px;
  background: var(--tour-cta);
  color: var(--tour-white);
  font-weight: 800;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

body.single-tour .elementor-element.elementor-element-ae0815b .fluentform .ff-btn-submit:hover,
body.single-tour .elementor-element.elementor-element-ae0815b .fluentform .ff-btn-submit:focus {
  background: var(--tour-cta-hover);
  transform: translateY(-2px);
}

/* Tablet */
@media (max-width: 1024px) {
  .tour-summary {
    margin-top: -35px;
  }

  .tour-fact {
    border-bottom: 1px solid var(--tour-border);
  }

  .tour-fact:nth-child(2n) {
    border-right: 0;
  }

  .tour-two-col > .e-con-inner,
  .tour-two-col > .elementor-container,
  .tour-two-col {
    gap: 32px;
  }

  .tour-intro .elementor-widget-image img,
  .tour-overview-image img {
    min-height: 380px;
  }

  .tour-gallery .gallery,
  .tour-gallery .elementor-gallery__container {
    grid-template-columns: 1fr 1fr;
  }

  body.single-tour .elementor-element.elementor-element-ffab273 > .elementor-container {
    flex-wrap: wrap;
  }

  body.single-tour .elementor-element.elementor-element-ffab273 > .elementor-container > .elementor-column {
    width: 50%;
    border-bottom: 1px solid var(--tour-border);
  }

  body.single-tour .elementor-element.elementor-element-ffab273 > .elementor-container > .elementor-column:nth-child(2n) {
    border-right: 0;
  }

  body.single-tour .elementor-element.elementor-element-2dd3a9e > .elementor-container,
  body.single-tour .elementor-element.elementor-element-990fa5d > .elementor-container {
    flex-wrap: wrap;
    gap: 32px;
  }

  body.single-tour .elementor-element.elementor-element-aa22abe,
  body.single-tour .elementor-element.elementor-element-dc76730,
  body.single-tour .elementor-element.elementor-element-cfa098f,
  body.single-tour .elementor-element.elementor-element-cc13386 {
    width: 100%;
  }

  body.single-tour .elementor-element.elementor-element-9f97547 img {
    height: 380px;
  }

  body.single-tour .elementor-element.elementor-element-e65e288 .gallery {
    grid-template-columns: 1fr 1fr;
  }

  body.single-tour .elementor-element.elementor-element-e65e288 .gallery-item:first-child {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  body.single-tour .elementor-element.elementor-element-e65e288 .gallery-item:first-child img {
    height: 330px;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .tour-hero {
    min-height: 66vh;
  }

  .tour-hero > .e-con-inner,
  .tour-hero > .elementor-container,
  .tour-hero__content {
    padding-top: 70px;
    padding-bottom: 55px;
  }

  .tour-hero__title .elementor-heading-title,
  .tour-hero__title {
    font-size: clamp(2.35rem, 12vw, 4rem);
  }

  .tour-summary {
    margin-top: -28px;
  }

  .tour-fact {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid var(--tour-border);
  }

  .tour-fact:last-child {
    border-bottom: 0;
  }

  .tour-intro {
    padding-top: 65px;
    padding-bottom: 40px;
  }

  .tour-intro .elementor-widget-image img,
  .tour-overview-image img {
    min-height: 280px;
  }

  .tour-tabs-section {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .tour-tabs .elementor-tab-content,
  .tour-tabs .e-n-tabs-content > div {
    padding: 24px 18px;
  }

  .tour-day {
    grid-template-columns: 1fr;
  }

  .tour-check-list ul,
  .tour-tabs .elementor-tab-content ul {
    columns: 1;
  }

  .tour-gallery .gallery,
  .tour-gallery .elementor-gallery__container {
    grid-template-columns: 1fr;
  }

  .tour-related,
  .tour-booking {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .tour-booking__form {
    padding: 22px !important;
  }

  body.single-tour .elementor-element.elementor-element-8a69f73 {
    min-height: 66vh;
  }

  body.single-tour .elementor-element.elementor-element-8a69f73 > .elementor-container {
    padding-top: 70px;
    padding-bottom: 55px;
  }

  body.single-tour .elementor-element.elementor-element-b732ed3 .elementor-heading-title {
    font-size: clamp(2.35rem, 12vw, 4rem);
  }

  body.single-tour .elementor-element.elementor-element-ffab273 {
    margin-top: -28px;
  }

  body.single-tour .elementor-element.elementor-element-ffab273 > .elementor-container > .elementor-column {
    width: 100%;
    min-height: auto;
    border-right: 0;
  }

  body.single-tour .elementor-element.elementor-element-2dd3a9e {
    padding-top: 65px;
    padding-bottom: 40px;
  }

  body.single-tour .elementor-element.elementor-element-9f97547 img {
    height: 280px;
  }

  body.single-tour .elementor-element.elementor-element-5c49424 {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content {
    padding: 24px 18px;
  }

  body.single-tour .itinerary-day__header {
    align-items: flex-start;
    padding: 18px;
  }

  body.single-tour .itinerary-day__header::before {
    width: 48px;
    height: 48px;
    flex-basis: 48px;
    border-radius: 14px;
  }

  body.single-tour .itinerary-day__body {
    padding: 0 18px 20px;
  }

  body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content[data-tab="3"] ul,
  body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content[data-tab="4"] ul {
    columns: 1;
  }

  body.single-tour .elementor-element.elementor-element-e65e288 .gallery {
    grid-template-columns: 1fr;
  }

  body.single-tour .elementor-element.elementor-element-e65e288 .gallery-item:first-child {
    grid-column: auto;
  }

  body.single-tour .elementor-element.elementor-element-e65e288 .gallery img,
  body.single-tour .elementor-element.elementor-element-e65e288 .gallery-item:first-child img {
    height: 240px;
  }

  body.single-tour .elementor-element.elementor-element-1f6cfce,
  body.single-tour .elementor-element.elementor-element-990fa5d {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  body.single-tour .elementor-element.elementor-element-cc13386 > .elementor-widget-wrap {
    padding: 22px;
  }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-4d2d9d8 *//*
 * Tour Itineraries Template CSS
 * Template: tour-itineraries-template
 * Brand: African Real Nature
 *
 * Recommended Elementor CSS classes:
 * Hero section: tour-hero
 * Hero inner container: tour-hero__content
 * Eyebrow heading: tour-eyebrow
 * Hero title: tour-hero__title
 * CTA button widget: tour-btn
 * Summary section: tour-summary
 * Summary inner container: tour-summary__grid
 * Each icon box column/container: tour-fact
 * Overview section: tour-intro
 * Overview wrapper: tour-two-col
 * Locations wrapper: tour-locations
 * Each location item: tour-pill
 * Tabs section: tour-tabs-section
 * Tabs widget: tour-tabs
 * Itinerary wrapper: tour-timeline
 * Each day item: tour-day
 * Day number: tour-day__number
 * Related section: tour-related
 * Related posts widget: tour-cards
 * Booking section: tour-booking
 * Booking wrapper: tour-booking__grid
 * Booking form column/container: tour-booking__form
 */

:root {
  --tour-cta: #A0522D;
  --tour-cta-hover: #7A3E20;
  --tour-gold: #9C7A3C;
  --tour-text: #2A1E14;
  --tour-secondary: #5C3D1E;
  --tour-light: #F7F2EC;
  --tour-border: #E8DDC8;
  --tour-white: #FFFFFF;
  --tour-shadow: 0 18px 50px rgba(42, 30, 20, 0.12);
  --tour-radius: 20px;
}

/* Base typography */
body.single-tours,
body.single-tour,
.tour-template {
  color: var(--tour-text);
  font-family: "Inter", Arial, sans-serif;
  line-height: 1.6;
}

body.single-tours h1,
body.single-tours h2,
body.single-tours h3,
body.single-tour h1,
body.single-tour h2,
body.single-tour h3,
.tour-template h1,
.tour-template h2,
.tour-template h3 {
  font-family: "Playfair Display", Georgia, serif;
  line-height: 1.15;
}

/* Hero */
.tour-hero {
  min-height: 72vh;
  display: flex;
  align-items: flex-end;
  position: relative;
  overflow: hidden;
  color: var(--tour-white);
}

.tour-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(20, 12, 7, 0.18) 0%,
    rgba(20, 12, 7, 0.76) 100%
  );
  z-index: 1;
  pointer-events: none;
}

.tour-hero > .e-con-inner,
.tour-hero > .elementor-container,
.tour-hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1180px;
  margin-inline: auto;
  padding-top: 90px;
  padding-bottom: 70px;
}

.tour-eyebrow .elementor-heading-title,
.tour-eyebrow {
  color: #F2DDBC;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.78rem;
  font-weight: 800;
}

.tour-hero__title .elementor-heading-title,
.tour-hero__title {
  color: var(--tour-white);
  font-size: clamp(2.7rem, 7vw, 5.6rem);
  line-height: 1.05;
  max-width: 950px;
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.28);
}

.tour-hero .elementor-widget-text-editor,
.tour-hero .elementor-widget-text-editor p {
  color: #F8EFE8;
  font-size: 1.08rem;
  max-width: 700px;
}

/* Buttons */
.tour-btn .elementor-button,
.tour-template .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--tour-cta);
  color: var(--tour-white);
  padding: 14px 22px;
  border-radius: 999px;
  border: 0;
  font-weight: 800;
  box-shadow: none;
  transition: background-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.tour-btn .elementor-button:hover,
.tour-btn .elementor-button:focus,
.tour-template .elementor-button:hover,
.tour-template .elementor-button:focus {
  background: var(--tour-cta-hover);
  color: var(--tour-white);
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(122, 62, 32, 0.22);
}

/* Summary information cards */
.tour-summary {
  position: relative;
  z-index: 5;
  width: min(1180px, calc(100% - 36px));
  margin-inline: auto;
  margin-top: -48px;
}

.tour-summary__grid > .e-con-inner,
.tour-summary__grid > .elementor-container,
.tour-summary__grid {
  background: var(--tour-white);
  border: 1px solid var(--tour-border);
  border-radius: var(--tour-radius);
  box-shadow: var(--tour-shadow);
  overflow: hidden;
}

.tour-fact {
  min-height: 118px;
  padding: 24px !important;
  border-right: 1px solid var(--tour-border);
  background: var(--tour-white);
  transition: background-color 0.2s ease;
}

.tour-fact:last-child {
  border-right: 0;
}

.tour-fact:hover {
  background: #FCF9F5;
}

.tour-fact .elementor-icon,
.tour-fact .elementor-icon-box-icon .elementor-icon {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: var(--tour-light);
  color: var(--tour-gold);
  fill: var(--tour-gold);
}

.tour-fact .elementor-icon-box-title,
.tour-fact .elementor-icon-box-title a {
  color: var(--tour-text);
  font-family: "Inter", Arial, sans-serif;
  font-size: 1rem;
  font-weight: 800;
}

.tour-fact .elementor-icon-box-description {
  color: #816B5A;
  font-size: 0.82rem;
  line-height: 1.5;
}

/* Overview section */
.tour-intro {
  padding-top: 88px;
  padding-bottom: 52px;
}

.tour-two-col > .e-con-inner,
.tour-two-col > .elementor-container,
.tour-two-col {
  width: min(1180px, calc(100% - 36px));
  margin-inline: auto;
  gap: 56px;
  align-items: center;
}

.tour-kicker .elementor-heading-title,
.tour-kicker {
  color: var(--tour-gold);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-family: "Inter", Arial, sans-serif;
  font-weight: 800;
  font-size: 0.78rem;
}

.tour-intro h2,
.tour-intro .elementor-heading-title {
  color: var(--tour-text);
}

.tour-intro .elementor-widget-image img,
.tour-overview-image img {
  width: 100%;
  min-height: 470px;
  object-fit: cover;
  border-radius: var(--tour-radius);
  box-shadow: var(--tour-shadow);
}

/* Locations */
.tour-locations {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
  margin-bottom: 24px;
}

.tour-pill,
.tour-locations a,
.tour-locations span {
  display: inline-flex;
  align-items: center;
  background: var(--tour-light);
  border: 1px solid var(--tour-border);
  color: var(--tour-secondary);
  padding: 9px 13px;
  border-radius: 999px;
  font-weight: 700;
  line-height: 1.2;
}

/* Tabs */
.tour-tabs-section {
  background: var(--tour-light);
  padding-top: 70px;
  padding-bottom: 70px;
}

.tour-tabs-section > .e-con-inner,
.tour-tabs-section > .e-con {
  width: min(1180px, calc(100% - 36px));
  margin-inline: auto;
}

.tour-tabs .elementor-tabs,
.tour-tabs .e-n-tabs {
  background: var(--tour-white);
  border: 1px solid var(--tour-border);
  border-radius: var(--tour-radius);
  box-shadow: var(--tour-shadow);
  overflow: hidden;
}

.tour-tabs .elementor-tabs-wrapper,
.tour-tabs .e-n-tabs-heading {
  display: flex;
  overflow-x: auto;
  background: var(--tour-white);
  border-bottom: 1px solid var(--tour-border);
  scrollbar-width: thin;
}

.tour-tabs .elementor-tab-title,
.tour-tabs .e-n-tab-title {
  flex: 0 0 auto;
  padding: 18px 22px;
  color: var(--tour-secondary);
  font-family: "Inter", Arial, sans-serif;
  font-weight: 800;
  white-space: nowrap;
  border: 0 !important;
}

.tour-tabs .elementor-tab-title.elementor-active,
.tour-tabs .e-n-tab-title[aria-selected="true"] {
  color: var(--tour-cta);
  box-shadow: inset 0 -3px var(--tour-cta);
}

.tour-tabs .elementor-tab-content,
.tour-tabs .e-n-tabs-content > div {
  padding: 34px;
  border: 0 !important;
  color: var(--tour-text);
}

.tour-tabs .elementor-tab-content h3,
.tour-tabs .e-n-tabs-content h3 {
  color: var(--tour-text);
  font-size: 2rem;
}

/* Itinerary */
.tour-timeline {
  display: grid;
  gap: 18px;
}

.tour-day {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
  padding: 22px;
  border: 1px solid var(--tour-border);
  border-radius: 16px;
  background: var(--tour-white);
}

.tour-day__number {
  width: 68px;
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: var(--tour-cta);
  color: var(--tour-white);
  font-family: "Inter", Arial, sans-serif;
  font-weight: 900;
  text-align: center;
  padding: 8px;
}

.tour-day h3,
.tour-day .elementor-heading-title {
  margin-top: 0;
  color: var(--tour-text);
  font-size: 1.55rem;
}

/* Includes / excludes */
.tour-check-list ul,
.tour-tabs .elementor-tab-content ul {
  columns: 2;
  column-gap: 35px;
  padding-left: 0;
  list-style: none;
}

.tour-check-list li,
.tour-tabs .elementor-tab-content li {
  position: relative;
  break-inside: avoid;
  margin-bottom: 12px;
  padding-left: 28px;
}

.tour-check-list li::before,
.tour-tabs .elementor-tab-content li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--tour-gold);
  font-weight: 900;
}

/* Gallery */
.tour-gallery .gallery,
.tour-gallery .elementor-gallery__container {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 12px;
}

.tour-gallery img,
.tour-gallery .e-gallery-image {
  width: 100%;
  min-height: 210px;
  object-fit: cover;
  border-radius: 14px;
}

/* Map */
.tour-map iframe,
.tour-map .elementor-widget-google_maps iframe {
  width: 100%;
  min-height: 360px;
  border: 0;
  border-radius: 16px;
}

/* Related tours */
.tour-related {
  padding-top: 80px;
  padding-bottom: 80px;
}

.tour-related > .e-con-inner,
.tour-related > .e-con {
  width: min(1180px, calc(100% - 36px));
  margin-inline: auto;
}

.tour-related h2,
.tour-related .elementor-heading-title {
  color: var(--tour-text);
}

.tour-cards .elementor-posts-container,
.tour-cards .elementor-loop-container {
  gap: 24px;
}

.tour-cards article.elementor-post,
.tour-cards .e-loop-item {
  overflow: hidden;
  background: var(--tour-white);
  border: 1px solid var(--tour-border);
  border-radius: 18px;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.tour-cards article.elementor-post:hover,
.tour-cards .e-loop-item:hover {
  transform: translateY(-6px);
  box-shadow: var(--tour-shadow);
}

.tour-cards .elementor-post__thumbnail img,
.tour-cards .elementor-loop-container img {
  width: 100%;
  min-height: 230px;
  object-fit: cover;
}

.tour-cards .elementor-post__text {
  padding: 22px;
}

.tour-cards .elementor-post__title,
.tour-cards .elementor-post__title a {
  color: var(--tour-text);
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.45rem;
  line-height: 1.2;
}

.tour-cards .elementor-post__meta-data {
  color: var(--tour-gold);
  font-size: 0.82rem;
  font-weight: 800;
  text-transform: uppercase;
}

/* Booking */
.tour-booking {
  background: var(--tour-text);
  color: var(--tour-white);
  padding-top: 80px;
  padding-bottom: 80px;
}

.tour-booking__grid > .e-con-inner,
.tour-booking__grid > .elementor-container,
.tour-booking__grid {
  gap: 50px;
  align-items: flex-start;
}

.tour-booking__grid > .e-con-inner,
.tour-booking__grid > .e-con {
  width: min(1180px, calc(100% - 36px));
  margin-inline: auto;
}

.tour-booking h2,
.tour-booking .elementor-heading-title {
  color: var(--tour-white);
}

.tour-booking p {
  color: #E7DDD5;
}

.tour-booking__form {
  background: var(--tour-white);
  color: var(--tour-text);
  border-radius: var(--tour-radius);
  padding: 28px !important;
}

/* Fluent Forms */
.tour-booking__form .fluentform .ff-el-form-control {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid var(--tour-border);
  border-radius: 10px;
  background: var(--tour-white);
  color: var(--tour-text);
  box-shadow: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.tour-booking__form .fluentform textarea.ff-el-form-control {
  min-height: 120px;
}

.tour-booking__form .fluentform .ff-el-form-control:focus {
  border-color: var(--tour-gold);
  box-shadow: 0 0 0 3px rgba(156, 122, 60, 0.14);
}

.tour-booking__form .fluentform label {
  color: var(--tour-text);
  font-weight: 700;
}

.tour-booking__form .fluentform .ff-btn-submit {
  width: 100%;
  min-height: 50px;
  border: 0;
  border-radius: 999px;
  background: var(--tour-cta);
  color: var(--tour-white);
  font-weight: 800;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.tour-booking__form .fluentform .ff-btn-submit:hover,
.tour-booking__form .fluentform .ff-btn-submit:focus {
  background: var(--tour-cta-hover);
  transform: translateY(-2px);
}

/* Links */
.tour-template a:not(.elementor-button),
body.single-tours main a:not(.elementor-button),
body.single-tour main a:not(.elementor-button) {
  color: var(--tour-gold);
  transition: color 0.2s ease;
}

.tour-template a:not(.elementor-button):hover,
body.single-tours main a:not(.elementor-button):hover,
body.single-tour main a:not(.elementor-button):hover {
  color: var(--tour-cta-hover);
}

/*
 * Elementor template bindings
 * These .elementor-459 .elementor-element.elementor-element-4d2d9d8s bind the reusable tour-* design system above to the
 * element IDs in tour-itineraries-template-v1.json.
 */

/* Hero */
body.single-tour .elementor-element.elementor-element-8a69f73 {
  min-height: 72vh;
  display: flex;
  align-items: flex-end;
  position: relative;
  overflow: hidden;
  color: var(--tour-white);
}

body.single-tour .elementor-element.elementor-element-8a69f73::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    180deg,
    rgba(20, 12, 7, 0.18) 0%,
    rgba(20, 12, 7, 0.76) 100%
  );
  pointer-events: none;
}

body.single-tour .elementor-element.elementor-element-8a69f73 > .elementor-container {
  position: relative;
  z-index: 2;
  width: min(1180px, calc(100% - 36px));
  padding-top: 90px;
  padding-bottom: 70px;
}

body.single-tour .elementor-element.elementor-element-f304a46 .elementor-heading-title {
  color: #F2DDBC;
  font-family: "Inter", Arial, sans-serif;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

body.single-tour .elementor-element.elementor-element-b732ed3 .elementor-heading-title {
  max-width: 950px;
  color: var(--tour-white);
  font-size: clamp(2.7rem, 7vw, 5.6rem);
  line-height: 1.05;
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.28);
}

body.single-tour .elementor-element.elementor-element-8ee21d3 .elementor-button {
  padding: 14px 22px;
  border: 0;
  border-radius: 999px;
  background: var(--tour-cta);
  color: var(--tour-white);
  font-weight: 800;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

body.single-tour .elementor-element.elementor-element-8ee21d3 .elementor-button:hover,
body.single-tour .elementor-element.elementor-element-8ee21d3 .elementor-button:focus {
  background: var(--tour-cta-hover);
  color: var(--tour-white);
  transform: translateY(-2px);
}

/* Tour facts */
body.single-tour .elementor-element.elementor-element-ffab273 {
  position: relative;
  z-index: 5;
  width: min(1180px, calc(100% - 36px));
  margin: -48px auto 0;
}

body.single-tour .elementor-element.elementor-element-ffab273 > .elementor-container {
  overflow: hidden;
  background: var(--tour-white);
  border: 1px solid var(--tour-border);
  border-radius: var(--tour-radius);
  box-shadow: var(--tour-shadow);
}

body.single-tour .elementor-element.elementor-element-ffab273 > .elementor-container > .elementor-column {
  min-height: 118px;
  background: var(--tour-white);
  border-right: 1px solid var(--tour-border);
  transition: background-color 0.2s ease;
}

body.single-tour .elementor-element.elementor-element-ffab273 > .elementor-container > .elementor-column:last-child {
  border-right: 0;
}

body.single-tour .elementor-element.elementor-element-ffab273 > .elementor-container > .elementor-column:hover {
  background: #FCF9F5;
}

body.single-tour .elementor-element.elementor-element-ffab273 .elementor-icon {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: var(--tour-light);
  color: var(--tour-gold);
  fill: var(--tour-gold);
}

body.single-tour .elementor-element.elementor-element-ffab273 .elementor-icon-box-title {
  color: var(--tour-text);
  font-family: "Inter", Arial, sans-serif;
  font-size: 1rem;
  font-weight: 800;
}

body.single-tour .elementor-element.elementor-element-ffab273 .elementor-icon-box-description {
  color: #816B5A;
  font-size: 0.82rem;
  line-height: 1.5;
}

/* Overview */
body.single-tour .elementor-element.elementor-element-2dd3a9e {
  padding-top: 88px;
  padding-bottom: 52px;
}

body.single-tour .elementor-element.elementor-element-2dd3a9e > .elementor-container {
  width: min(1180px, calc(100% - 36px));
  gap: 56px;
  align-items: center;
}

body.single-tour .elementor-element.elementor-element-3b88f70 .elementor-heading-title {
  color: var(--tour-gold);
  font-family: "Inter", Arial, sans-serif;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

body.single-tour .elementor-element.elementor-element-b48f78b .elementor-heading-title {
  color: var(--tour-text);
  font-size: clamp(2rem, 4vw, 3.4rem);
}

body.single-tour .elementor-element.elementor-element-4e5b341 {
  margin: 24px 0;
}

body.single-tour .elementor-element.elementor-element-4e5b341 .elementor-shortcode {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

body.single-tour .elementor-element.elementor-element-4e5b341 a {
  display: inline-flex;
  align-items: center;
  padding: 9px 13px;
  border: 1px solid var(--tour-border);
  border-radius: 999px;
  background: var(--tour-light);
  color: var(--tour-secondary);
  font-weight: 700;
  line-height: 1.2;
}

body.single-tour .elementor-element.elementor-element-9f97547 img {
  width: 100%;
  height: 470px;
  object-fit: cover;
  border-radius: var(--tour-radius);
  box-shadow: var(--tour-shadow);
}

/* Details tabs */
body.single-tour .elementor-element.elementor-element-5c49424 {
  padding-top: 70px;
  padding-bottom: 70px;
  background: var(--tour-light);
}

body.single-tour .elementor-element.elementor-element-5c49424 > .elementor-container {
  width: min(1180px, calc(100% - 36px));
}

body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tabs {
  overflow: hidden;
  background: var(--tour-white);
  border: 1px solid var(--tour-border);
  border-radius: var(--tour-radius);
  box-shadow: var(--tour-shadow);
}

body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tabs-wrapper {
  display: flex;
  overflow-x: auto;
  background: var(--tour-white);
  border-bottom: 1px solid var(--tour-border);
  scrollbar-width: thin;
}

body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-title {
  flex: 0 0 auto;
  padding: 18px 22px;
  border: 0;
  color: var(--tour-secondary);
  font-family: "Inter", Arial, sans-serif;
  font-weight: 800;
  white-space: nowrap;
}

body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-title.elementor-active {
  color: var(--tour-cta);
  box-shadow: inset 0 -3px var(--tour-cta);
}

body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content {
  padding: 34px;
  border: 0;
  color: var(--tour-text);
}

/* Repeatable itinerary accordion */
body.single-tour .tour-itinerary {
  display: grid;
  gap: 18px;
  counter-reset: tour-day;
}

body.single-tour .tour-itinerary__summary {
  margin: 0 0 4px;
  color: var(--tour-gold);
  font-family: "Inter", Arial, sans-serif;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.single-tour .itinerary-day {
  overflow: hidden;
  background: var(--tour-white);
  border: 1px solid var(--tour-border);
  border-radius: 16px;
  counter-increment: tour-day;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body.single-tour .itinerary-day[open] {
  border-color: rgba(160, 82, 45, 0.42);
  box-shadow: 0 12px 30px rgba(42, 30, 20, 0.08);
}

body.single-tour .itinerary-day__header {
  display: flex;
  align-items: center;
  gap: 18px;
  min-height: 82px;
  padding: 18px 22px;
  cursor: pointer;
  list-style: none;
}

body.single-tour .itinerary-day__header::-webkit-details-marker {
  display: none;
}

body.single-tour .itinerary-day__header::before {
  content: counter(tour-day);
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: var(--tour-cta);
  color: var(--tour-white);
  font-family: "Inter", Arial, sans-serif;
  font-weight: 900;
}

body.single-tour .itinerary-day__header::after {
  content: "+";
  margin-left: auto;
  color: var(--tour-cta);
  font-family: "Inter", Arial, sans-serif;
  font-size: 1.55rem;
  font-weight: 700;
  line-height: 1;
}

body.single-tour .itinerary-day[open] .itinerary-day__header::after {
  content: "\2212";
}

body.single-tour .itinerary-day__title {
  margin: 0;
  color: var(--tour-text);
  font-size: clamp(1.2rem, 2vw, 1.55rem);
}

body.single-tour .itinerary-day__body {
  padding: 0 22px 22px 98px;
}

body.single-tour .itinerary-day__body > :last-child {
  margin-bottom: 0;
}

/* Included and excluded lists */
body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content[data-tab="3"] ul,
body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content[data-tab="4"] ul {
  columns: 2;
  column-gap: 35px;
  padding-left: 0;
  list-style: none;
}

body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content[data-tab="3"] li,
body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content[data-tab="4"] li {
  position: relative;
  break-inside: avoid;
  margin-bottom: 12px;
  padding-left: 28px;
}

body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content[data-tab="3"] li::before,
body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content[data-tab="4"] li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--tour-gold);
  font-weight: 900;
}

/* Pods gallery and map */
body.single-tour .elementor-element.elementor-element-e65e288 .gallery {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 12px;
}

body.single-tour .elementor-element.elementor-element-e65e288 .gallery-item {
  width: 100% !important;
  max-width: none;
  margin: 0;
}

body.single-tour .elementor-element.elementor-element-e65e288 .gallery-icon,
body.single-tour .elementor-element.elementor-element-e65e288 .gallery-icon a {
  display: block;
  height: 100%;
}

body.single-tour .elementor-element.elementor-element-e65e288 .gallery img {
  width: 100%;
  height: 210px;
  object-fit: cover;
  border: 0;
  border-radius: 14px;
}

body.single-tour .elementor-element.elementor-element-e65e288 .gallery-item:first-child {
  grid-row: span 2;
}

body.single-tour .elementor-element.elementor-element-e65e288 .gallery-item:first-child img {
  height: 432px;
}

body.single-tour .elementor-element.elementor-element-e65e288 iframe {
  width: 100%;
  min-height: 360px;
  border: 0;
  border-radius: 16px;
}

/* Related tours */
body.single-tour .elementor-element.elementor-element-1f6cfce {
  padding-top: 80px;
  padding-bottom: 80px;
}

body.single-tour .elementor-element.elementor-element-1f6cfce > .elementor-container {
  width: min(1180px, calc(100% - 36px));
}

body.single-tour .elementor-element.elementor-element-600c908 .elementor-heading-title {
  color: var(--tour-text);
  font-size: clamp(2rem, 4vw, 3.2rem);
}

body.single-tour .elementor-element.elementor-element-14da04c .elementor-posts-container {
  gap: 24px;
}

body.single-tour .elementor-element.elementor-element-14da04c article.elementor-post {
  overflow: hidden;
  background: var(--tour-white);
  border: 1px solid var(--tour-border);
  border-radius: 18px;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

body.single-tour .elementor-element.elementor-element-14da04c article.elementor-post:hover {
  transform: translateY(-6px);
  box-shadow: var(--tour-shadow);
}

body.single-tour .elementor-element.elementor-element-14da04c .elementor-post__thumbnail img {
  width: 100%;
  height: 230px;
  object-fit: cover;
}

body.single-tour .elementor-element.elementor-element-14da04c .elementor-post__text {
  padding: 22px;
}

body.single-tour .elementor-element.elementor-element-14da04c .elementor-post__title a {
  color: var(--tour-text);
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.45rem;
  line-height: 1.2;
}

body.single-tour .elementor-element.elementor-element-14da04c .elementor-post__meta-data {
  color: var(--tour-gold);
  font-size: 0.82rem;
  font-weight: 800;
  text-transform: uppercase;
}

/* Booking */
body.single-tour .elementor-element.elementor-element-990fa5d {
  padding-top: 80px;
  padding-bottom: 80px;
  background: var(--tour-text);
  color: var(--tour-white);
}

body.single-tour .elementor-element.elementor-element-990fa5d > .elementor-container {
  width: min(1180px, calc(100% - 36px));
  gap: 50px;
  align-items: flex-start;
}

body.single-tour .elementor-element.elementor-element-7417bc0 .elementor-heading-title {
  color: var(--tour-white);
  font-size: clamp(2.2rem, 5vw, 4rem);
}

body.single-tour .elementor-element.elementor-element-243fe70,
body.single-tour .elementor-element.elementor-element-243fe70 p {
  color: #E7DDD5;
}

body.single-tour .elementor-element.elementor-element-cc13386 > .elementor-widget-wrap {
  padding: 28px;
  border-radius: var(--tour-radius);
  background: var(--tour-white);
  color: var(--tour-text);
}

body.single-tour .elementor-element.elementor-element-ae0815b .fluentform .ff-el-form-control {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid var(--tour-border);
  border-radius: 10px;
  background: var(--tour-white);
  color: var(--tour-text);
  box-shadow: none;
}

body.single-tour .elementor-element.elementor-element-ae0815b .fluentform textarea.ff-el-form-control {
  min-height: 120px;
}

body.single-tour .elementor-element.elementor-element-ae0815b .fluentform .ff-el-form-control:focus {
  border-color: var(--tour-gold);
  box-shadow: 0 0 0 3px rgba(156, 122, 60, 0.14);
}

body.single-tour .elementor-element.elementor-element-ae0815b .fluentform label {
  color: var(--tour-text);
  font-weight: 700;
}

body.single-tour .elementor-element.elementor-element-ae0815b .fluentform .ff-btn-submit {
  width: 100%;
  min-height: 50px;
  border: 0;
  border-radius: 999px;
  background: var(--tour-cta);
  color: var(--tour-white);
  font-weight: 800;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

body.single-tour .elementor-element.elementor-element-ae0815b .fluentform .ff-btn-submit:hover,
body.single-tour .elementor-element.elementor-element-ae0815b .fluentform .ff-btn-submit:focus {
  background: var(--tour-cta-hover);
  transform: translateY(-2px);
}

/* Tablet */
@media (max-width: 1024px) {
  .tour-summary {
    margin-top: -35px;
  }

  .tour-fact {
    border-bottom: 1px solid var(--tour-border);
  }

  .tour-fact:nth-child(2n) {
    border-right: 0;
  }

  .tour-two-col > .e-con-inner,
  .tour-two-col > .elementor-container,
  .tour-two-col {
    gap: 32px;
  }

  .tour-intro .elementor-widget-image img,
  .tour-overview-image img {
    min-height: 380px;
  }

  .tour-gallery .gallery,
  .tour-gallery .elementor-gallery__container {
    grid-template-columns: 1fr 1fr;
  }

  body.single-tour .elementor-element.elementor-element-ffab273 > .elementor-container {
    flex-wrap: wrap;
  }

  body.single-tour .elementor-element.elementor-element-ffab273 > .elementor-container > .elementor-column {
    width: 50%;
    border-bottom: 1px solid var(--tour-border);
  }

  body.single-tour .elementor-element.elementor-element-ffab273 > .elementor-container > .elementor-column:nth-child(2n) {
    border-right: 0;
  }

  body.single-tour .elementor-element.elementor-element-2dd3a9e > .elementor-container,
  body.single-tour .elementor-element.elementor-element-990fa5d > .elementor-container {
    flex-wrap: wrap;
    gap: 32px;
  }

  body.single-tour .elementor-element.elementor-element-aa22abe,
  body.single-tour .elementor-element.elementor-element-dc76730,
  body.single-tour .elementor-element.elementor-element-cfa098f,
  body.single-tour .elementor-element.elementor-element-cc13386 {
    width: 100%;
  }

  body.single-tour .elementor-element.elementor-element-9f97547 img {
    height: 380px;
  }

  body.single-tour .elementor-element.elementor-element-e65e288 .gallery {
    grid-template-columns: 1fr 1fr;
  }

  body.single-tour .elementor-element.elementor-element-e65e288 .gallery-item:first-child {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  body.single-tour .elementor-element.elementor-element-e65e288 .gallery-item:first-child img {
    height: 330px;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .tour-hero {
    min-height: 66vh;
  }

  .tour-hero > .e-con-inner,
  .tour-hero > .elementor-container,
  .tour-hero__content {
    padding-top: 70px;
    padding-bottom: 55px;
  }

  .tour-hero__title .elementor-heading-title,
  .tour-hero__title {
    font-size: clamp(2.35rem, 12vw, 4rem);
  }

  .tour-summary {
    margin-top: -28px;
  }

  .tour-fact {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid var(--tour-border);
  }

  .tour-fact:last-child {
    border-bottom: 0;
  }

  .tour-intro {
    padding-top: 65px;
    padding-bottom: 40px;
  }

  .tour-intro .elementor-widget-image img,
  .tour-overview-image img {
    min-height: 280px;
  }

  .tour-tabs-section {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .tour-tabs .elementor-tab-content,
  .tour-tabs .e-n-tabs-content > div {
    padding: 24px 18px;
  }

  .tour-day {
    grid-template-columns: 1fr;
  }

  .tour-check-list ul,
  .tour-tabs .elementor-tab-content ul {
    columns: 1;
  }

  .tour-gallery .gallery,
  .tour-gallery .elementor-gallery__container {
    grid-template-columns: 1fr;
  }

  .tour-related,
  .tour-booking {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .tour-booking__form {
    padding: 22px !important;
  }

  body.single-tour .elementor-element.elementor-element-8a69f73 {
    min-height: 66vh;
  }

  body.single-tour .elementor-element.elementor-element-8a69f73 > .elementor-container {
    padding-top: 70px;
    padding-bottom: 55px;
  }

  body.single-tour .elementor-element.elementor-element-b732ed3 .elementor-heading-title {
    font-size: clamp(2.35rem, 12vw, 4rem);
  }

  body.single-tour .elementor-element.elementor-element-ffab273 {
    margin-top: -28px;
  }

  body.single-tour .elementor-element.elementor-element-ffab273 > .elementor-container > .elementor-column {
    width: 100%;
    min-height: auto;
    border-right: 0;
  }

  body.single-tour .elementor-element.elementor-element-2dd3a9e {
    padding-top: 65px;
    padding-bottom: 40px;
  }

  body.single-tour .elementor-element.elementor-element-9f97547 img {
    height: 280px;
  }

  body.single-tour .elementor-element.elementor-element-5c49424 {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content {
    padding: 24px 18px;
  }

  body.single-tour .itinerary-day__header {
    align-items: flex-start;
    padding: 18px;
  }

  body.single-tour .itinerary-day__header::before {
    width: 48px;
    height: 48px;
    flex-basis: 48px;
    border-radius: 14px;
  }

  body.single-tour .itinerary-day__body {
    padding: 0 18px 20px;
  }

  body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content[data-tab="3"] ul,
  body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content[data-tab="4"] ul {
    columns: 1;
  }

  body.single-tour .elementor-element.elementor-element-e65e288 .gallery {
    grid-template-columns: 1fr;
  }

  body.single-tour .elementor-element.elementor-element-e65e288 .gallery-item:first-child {
    grid-column: auto;
  }

  body.single-tour .elementor-element.elementor-element-e65e288 .gallery img,
  body.single-tour .elementor-element.elementor-element-e65e288 .gallery-item:first-child img {
    height: 240px;
  }

  body.single-tour .elementor-element.elementor-element-1f6cfce,
  body.single-tour .elementor-element.elementor-element-990fa5d {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  body.single-tour .elementor-element.elementor-element-cc13386 > .elementor-widget-wrap {
    padding: 22px;
  }
}/* End custom CSS */
/* Start custom CSS *//*
 * Tour Itineraries Template CSS
 * Template: tour-itineraries-template
 * Brand: African Real Nature
 *
 * Recommended Elementor CSS classes:
 * Hero section: tour-hero
 * Hero inner container: tour-hero__content
 * Eyebrow heading: tour-eyebrow
 * Hero title: tour-hero__title
 * CTA button widget: tour-btn
 * Summary section: tour-summary
 * Summary inner container: tour-summary__grid
 * Each icon box column/container: tour-fact
 * Overview section: tour-intro
 * Overview wrapper: tour-two-col
 * Locations wrapper: tour-locations
 * Each location item: tour-pill
 * Tabs section: tour-tabs-section
 * Tabs widget: tour-tabs
 * Itinerary wrapper: tour-timeline
 * Each day item: tour-day
 * Day number: tour-day__number
 * Related section: tour-related
 * Related posts widget: tour-cards
 * Booking section: tour-booking
 * Booking wrapper: tour-booking__grid
 * Booking form column/container: tour-booking__form
 */

:root {
  --tour-cta: #A0522D;
  --tour-cta-hover: #7A3E20;
  --tour-gold: #9C7A3C;
  --tour-text: #2A1E14;
  --tour-secondary: #5C3D1E;
  --tour-light: #F7F2EC;
  --tour-border: #E8DDC8;
  --tour-white: #FFFFFF;
  --tour-shadow: 0 18px 50px rgba(42, 30, 20, 0.12);
  --tour-radius: 20px;
}

/* Base typography */
body.single-tours,
body.single-tour,
.tour-template {
  color: var(--tour-text);
  font-family: "Inter", Arial, sans-serif;
  line-height: 1.6;
}

body.single-tours h1,
body.single-tours h2,
body.single-tours h3,
body.single-tour h1,
body.single-tour h2,
body.single-tour h3,
.tour-template h1,
.tour-template h2,
.tour-template h3 {
  font-family: "Playfair Display", Georgia, serif;
  line-height: 1.15;
}

/* Hero */
.tour-hero {
  min-height: 72vh;
  display: flex;
  align-items: flex-end;
  position: relative;
  overflow: hidden;
  color: var(--tour-white);
}

.tour-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(20, 12, 7, 0.18) 0%,
    rgba(20, 12, 7, 0.76) 100%
  );
  z-index: 1;
  pointer-events: none;
}

.tour-hero > .e-con-inner,
.tour-hero > .elementor-container,
.tour-hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1180px;
  margin-inline: auto;
  padding-top: 90px;
  padding-bottom: 70px;
}

.tour-eyebrow .elementor-heading-title,
.tour-eyebrow {
  color: #F2DDBC;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.78rem;
  font-weight: 800;
}

.tour-hero__title .elementor-heading-title,
.tour-hero__title {
  color: var(--tour-white);
  font-size: clamp(2.7rem, 7vw, 5.6rem);
  line-height: 1.05;
  max-width: 950px;
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.28);
}

.tour-hero .elementor-widget-text-editor,
.tour-hero .elementor-widget-text-editor p {
  color: #F8EFE8;
  font-size: 1.08rem;
  max-width: 700px;
}

/* Buttons */
.tour-btn .elementor-button,
.tour-template .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--tour-cta);
  color: var(--tour-white);
  padding: 14px 22px;
  border-radius: 999px;
  border: 0;
  font-weight: 800;
  box-shadow: none;
  transition: background-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.tour-btn .elementor-button:hover,
.tour-btn .elementor-button:focus,
.tour-template .elementor-button:hover,
.tour-template .elementor-button:focus {
  background: var(--tour-cta-hover);
  color: var(--tour-white);
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(122, 62, 32, 0.22);
}

/* Summary information cards */
.tour-summary {
  position: relative;
  z-index: 5;
  width: min(1180px, calc(100% - 36px));
  margin-inline: auto;
  margin-top: -48px;
}

.tour-summary__grid > .e-con-inner,
.tour-summary__grid > .elementor-container,
.tour-summary__grid {
  background: var(--tour-white);
  border: 1px solid var(--tour-border);
  border-radius: var(--tour-radius);
  box-shadow: var(--tour-shadow);
  overflow: hidden;
}

.tour-fact {
  min-height: 118px;
  padding: 24px !important;
  border-right: 1px solid var(--tour-border);
  background: var(--tour-white);
  transition: background-color 0.2s ease;
}

.tour-fact:last-child {
  border-right: 0;
}

.tour-fact:hover {
  background: #FCF9F5;
}

.tour-fact .elementor-icon,
.tour-fact .elementor-icon-box-icon .elementor-icon {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: var(--tour-light);
  color: var(--tour-gold);
  fill: var(--tour-gold);
}

.tour-fact .elementor-icon-box-title,
.tour-fact .elementor-icon-box-title a {
  color: var(--tour-text);
  font-family: "Inter", Arial, sans-serif;
  font-size: 1rem;
  font-weight: 800;
}

.tour-fact .elementor-icon-box-description {
  color: #816B5A;
  font-size: 0.82rem;
  line-height: 1.5;
}

/* Overview section */
.tour-intro {
  padding-top: 88px;
  padding-bottom: 52px;
}

.tour-two-col > .e-con-inner,
.tour-two-col > .elementor-container,
.tour-two-col {
  width: min(1180px, calc(100% - 36px));
  margin-inline: auto;
  gap: 56px;
  align-items: center;
}

.tour-kicker .elementor-heading-title,
.tour-kicker {
  color: var(--tour-gold);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-family: "Inter", Arial, sans-serif;
  font-weight: 800;
  font-size: 0.78rem;
}

.tour-intro h2,
.tour-intro .elementor-heading-title {
  color: var(--tour-text);
}

.tour-intro .elementor-widget-image img,
.tour-overview-image img {
  width: 100%;
  min-height: 470px;
  object-fit: cover;
  border-radius: var(--tour-radius);
  box-shadow: var(--tour-shadow);
}

/* Locations */
.tour-locations {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
  margin-bottom: 24px;
}

.tour-pill,
.tour-locations a,
.tour-locations span {
  display: inline-flex;
  align-items: center;
  background: var(--tour-light);
  border: 1px solid var(--tour-border);
  color: var(--tour-secondary);
  padding: 9px 13px;
  border-radius: 999px;
  font-weight: 700;
  line-height: 1.2;
}

/* Tabs */
.tour-tabs-section {
  background: var(--tour-light);
  padding-top: 70px;
  padding-bottom: 70px;
}

.tour-tabs-section > .e-con-inner,
.tour-tabs-section > .e-con {
  width: min(1180px, calc(100% - 36px));
  margin-inline: auto;
}

.tour-tabs .elementor-tabs,
.tour-tabs .e-n-tabs {
  background: var(--tour-white);
  border: 1px solid var(--tour-border);
  border-radius: var(--tour-radius);
  box-shadow: var(--tour-shadow);
  overflow: hidden;
}

.tour-tabs .elementor-tabs-wrapper,
.tour-tabs .e-n-tabs-heading {
  display: flex;
  overflow-x: auto;
  background: var(--tour-white);
  border-bottom: 1px solid var(--tour-border);
  scrollbar-width: thin;
}

.tour-tabs .elementor-tab-title,
.tour-tabs .e-n-tab-title {
  flex: 0 0 auto;
  padding: 18px 22px;
  color: var(--tour-secondary);
  font-family: "Inter", Arial, sans-serif;
  font-weight: 800;
  white-space: nowrap;
  border: 0 !important;
}

.tour-tabs .elementor-tab-title.elementor-active,
.tour-tabs .e-n-tab-title[aria-selected="true"] {
  color: var(--tour-cta);
  box-shadow: inset 0 -3px var(--tour-cta);
}

.tour-tabs .elementor-tab-content,
.tour-tabs .e-n-tabs-content > div {
  padding: 34px;
  border: 0 !important;
  color: var(--tour-text);
}

.tour-tabs .elementor-tab-content h3,
.tour-tabs .e-n-tabs-content h3 {
  color: var(--tour-text);
  font-size: 2rem;
}

/* Itinerary */
.tour-timeline {
  display: grid;
  gap: 18px;
}

.tour-day {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
  padding: 22px;
  border: 1px solid var(--tour-border);
  border-radius: 16px;
  background: var(--tour-white);
}

.tour-day__number {
  width: 68px;
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: var(--tour-cta);
  color: var(--tour-white);
  font-family: "Inter", Arial, sans-serif;
  font-weight: 900;
  text-align: center;
  padding: 8px;
}

.tour-day h3,
.tour-day .elementor-heading-title {
  margin-top: 0;
  color: var(--tour-text);
  font-size: 1.55rem;
}

/* Includes / excludes */
.tour-check-list ul,
.tour-tabs .elementor-tab-content ul {
  columns: 2;
  column-gap: 35px;
  padding-left: 0;
  list-style: none;
}

.tour-check-list li,
.tour-tabs .elementor-tab-content li {
  position: relative;
  break-inside: avoid;
  margin-bottom: 12px;
  padding-left: 28px;
}

.tour-check-list li::before,
.tour-tabs .elementor-tab-content li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--tour-gold);
  font-weight: 900;
}

/* Gallery */
.tour-gallery .gallery,
.tour-gallery .elementor-gallery__container {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 12px;
}

.tour-gallery img,
.tour-gallery .e-gallery-image {
  width: 100%;
  min-height: 210px;
  object-fit: cover;
  border-radius: 14px;
}

/* Map */
.tour-map iframe,
.tour-map .elementor-widget-google_maps iframe {
  width: 100%;
  min-height: 360px;
  border: 0;
  border-radius: 16px;
}

/* Related tours */
.tour-related {
  padding-top: 80px;
  padding-bottom: 80px;
}

.tour-related > .e-con-inner,
.tour-related > .e-con {
  width: min(1180px, calc(100% - 36px));
  margin-inline: auto;
}

.tour-related h2,
.tour-related .elementor-heading-title {
  color: var(--tour-text);
}

.tour-cards .elementor-posts-container,
.tour-cards .elementor-loop-container {
  gap: 24px;
}

.tour-cards article.elementor-post,
.tour-cards .e-loop-item {
  overflow: hidden;
  background: var(--tour-white);
  border: 1px solid var(--tour-border);
  border-radius: 18px;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.tour-cards article.elementor-post:hover,
.tour-cards .e-loop-item:hover {
  transform: translateY(-6px);
  box-shadow: var(--tour-shadow);
}

.tour-cards .elementor-post__thumbnail img,
.tour-cards .elementor-loop-container img {
  width: 100%;
  min-height: 230px;
  object-fit: cover;
}

.tour-cards .elementor-post__text {
  padding: 22px;
}

.tour-cards .elementor-post__title,
.tour-cards .elementor-post__title a {
  color: var(--tour-text);
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.45rem;
  line-height: 1.2;
}

.tour-cards .elementor-post__meta-data {
  color: var(--tour-gold);
  font-size: 0.82rem;
  font-weight: 800;
  text-transform: uppercase;
}

/* Booking */
.tour-booking {
  background: var(--tour-text);
  color: var(--tour-white);
  padding-top: 80px;
  padding-bottom: 80px;
}

.tour-booking__grid > .e-con-inner,
.tour-booking__grid > .elementor-container,
.tour-booking__grid {
  gap: 50px;
  align-items: flex-start;
}

.tour-booking__grid > .e-con-inner,
.tour-booking__grid > .e-con {
  width: min(1180px, calc(100% - 36px));
  margin-inline: auto;
}

.tour-booking h2,
.tour-booking .elementor-heading-title {
  color: var(--tour-white);
}

.tour-booking p {
  color: #E7DDD5;
}

.tour-booking__form {
  background: var(--tour-white);
  color: var(--tour-text);
  border-radius: var(--tour-radius);
  padding: 28px !important;
}

/* Fluent Forms */
.tour-booking__form .fluentform .ff-el-form-control {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid var(--tour-border);
  border-radius: 10px;
  background: var(--tour-white);
  color: var(--tour-text);
  box-shadow: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.tour-booking__form .fluentform textarea.ff-el-form-control {
  min-height: 120px;
}

.tour-booking__form .fluentform .ff-el-form-control:focus {
  border-color: var(--tour-gold);
  box-shadow: 0 0 0 3px rgba(156, 122, 60, 0.14);
}

.tour-booking__form .fluentform label {
  color: var(--tour-text);
  font-weight: 700;
}

.tour-booking__form .fluentform .ff-btn-submit {
  width: 100%;
  min-height: 50px;
  border: 0;
  border-radius: 999px;
  background: var(--tour-cta);
  color: var(--tour-white);
  font-weight: 800;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.tour-booking__form .fluentform .ff-btn-submit:hover,
.tour-booking__form .fluentform .ff-btn-submit:focus {
  background: var(--tour-cta-hover);
  transform: translateY(-2px);
}

/* Links */
.tour-template a:not(.elementor-button),
body.single-tours main a:not(.elementor-button),
body.single-tour main a:not(.elementor-button) {
  color: var(--tour-gold);
  transition: color 0.2s ease;
}

.tour-template a:not(.elementor-button):hover,
body.single-tours main a:not(.elementor-button):hover,
body.single-tour main a:not(.elementor-button):hover {
  color: var(--tour-cta-hover);
}

/*
 * Elementor template bindings
 * These body.elementor-page-459s bind the reusable tour-* design system above to the
 * element IDs in tour-itineraries-template-v1.json.
 */

/* Hero */
body.single-tour .elementor-element.elementor-element-8a69f73 {
  min-height: 72vh;
  display: flex;
  align-items: flex-end;
  position: relative;
  overflow: hidden;
  color: var(--tour-white);
}

body.single-tour .elementor-element.elementor-element-8a69f73::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    180deg,
    rgba(20, 12, 7, 0.18) 0%,
    rgba(20, 12, 7, 0.76) 100%
  );
  pointer-events: none;
}

body.single-tour .elementor-element.elementor-element-8a69f73 > .elementor-container {
  position: relative;
  z-index: 2;
  width: min(1180px, calc(100% - 36px));
  padding-top: 90px;
  padding-bottom: 70px;
}

body.single-tour .elementor-element.elementor-element-f304a46 .elementor-heading-title {
  color: #F2DDBC;
  font-family: "Inter", Arial, sans-serif;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

body.single-tour .elementor-element.elementor-element-b732ed3 .elementor-heading-title {
  max-width: 950px;
  color: var(--tour-white);
  font-size: clamp(2.7rem, 7vw, 5.6rem);
  line-height: 1.05;
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.28);
}

body.single-tour .elementor-element.elementor-element-8ee21d3 .elementor-button {
  padding: 14px 22px;
  border: 0;
  border-radius: 999px;
  background: var(--tour-cta);
  color: var(--tour-white);
  font-weight: 800;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

body.single-tour .elementor-element.elementor-element-8ee21d3 .elementor-button:hover,
body.single-tour .elementor-element.elementor-element-8ee21d3 .elementor-button:focus {
  background: var(--tour-cta-hover);
  color: var(--tour-white);
  transform: translateY(-2px);
}

/* Tour facts */
body.single-tour .elementor-element.elementor-element-ffab273 {
  position: relative;
  z-index: 5;
  width: min(1180px, calc(100% - 36px));
  margin: -48px auto 0;
}

body.single-tour .elementor-element.elementor-element-ffab273 > .elementor-container {
  overflow: hidden;
  background: var(--tour-white);
  border: 1px solid var(--tour-border);
  border-radius: var(--tour-radius);
  box-shadow: var(--tour-shadow);
}

body.single-tour .elementor-element.elementor-element-ffab273 > .elementor-container > .elementor-column {
  min-height: 118px;
  background: var(--tour-white);
  border-right: 1px solid var(--tour-border);
  transition: background-color 0.2s ease;
}

body.single-tour .elementor-element.elementor-element-ffab273 > .elementor-container > .elementor-column:last-child {
  border-right: 0;
}

body.single-tour .elementor-element.elementor-element-ffab273 > .elementor-container > .elementor-column:hover {
  background: #FCF9F5;
}

body.single-tour .elementor-element.elementor-element-ffab273 .elementor-icon {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: var(--tour-light);
  color: var(--tour-gold);
  fill: var(--tour-gold);
}

body.single-tour .elementor-element.elementor-element-ffab273 .elementor-icon-box-title {
  color: var(--tour-text);
  font-family: "Inter", Arial, sans-serif;
  font-size: 1rem;
  font-weight: 800;
}

body.single-tour .elementor-element.elementor-element-ffab273 .elementor-icon-box-description {
  color: #816B5A;
  font-size: 0.82rem;
  line-height: 1.5;
}

/* Overview */
body.single-tour .elementor-element.elementor-element-2dd3a9e {
  padding-top: 88px;
  padding-bottom: 52px;
}

body.single-tour .elementor-element.elementor-element-2dd3a9e > .elementor-container {
  width: min(1180px, calc(100% - 36px));
  gap: 56px;
  align-items: center;
}

body.single-tour .elementor-element.elementor-element-3b88f70 .elementor-heading-title {
  color: var(--tour-gold);
  font-family: "Inter", Arial, sans-serif;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

body.single-tour .elementor-element.elementor-element-b48f78b .elementor-heading-title {
  color: var(--tour-text);
  font-size: clamp(2rem, 4vw, 3.4rem);
}

body.single-tour .elementor-element.elementor-element-4e5b341 {
  margin: 24px 0;
}

body.single-tour .elementor-element.elementor-element-4e5b341 .elementor-shortcode {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

body.single-tour .elementor-element.elementor-element-4e5b341 a {
  display: inline-flex;
  align-items: center;
  padding: 9px 13px;
  border: 1px solid var(--tour-border);
  border-radius: 999px;
  background: var(--tour-light);
  color: var(--tour-secondary);
  font-weight: 700;
  line-height: 1.2;
}

body.single-tour .elementor-element.elementor-element-9f97547 img {
  width: 100%;
  height: 470px;
  object-fit: cover;
  border-radius: var(--tour-radius);
  box-shadow: var(--tour-shadow);
}

/* Details tabs */
body.single-tour .elementor-element.elementor-element-5c49424 {
  padding-top: 70px;
  padding-bottom: 70px;
  background: var(--tour-light);
}

body.single-tour .elementor-element.elementor-element-5c49424 > .elementor-container {
  width: min(1180px, calc(100% - 36px));
}

body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tabs {
  overflow: hidden;
  background: var(--tour-white);
  border: 1px solid var(--tour-border);
  border-radius: var(--tour-radius);
  box-shadow: var(--tour-shadow);
}

body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tabs-wrapper {
  display: flex;
  overflow-x: auto;
  background: var(--tour-white);
  border-bottom: 1px solid var(--tour-border);
  scrollbar-width: thin;
}

body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-title {
  flex: 0 0 auto;
  padding: 18px 22px;
  border: 0;
  color: var(--tour-secondary);
  font-family: "Inter", Arial, sans-serif;
  font-weight: 800;
  white-space: nowrap;
}

body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-title.elementor-active {
  color: var(--tour-cta);
  box-shadow: inset 0 -3px var(--tour-cta);
}

body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content {
  padding: 34px;
  border: 0;
  color: var(--tour-text);
}

/* Repeatable itinerary accordion */
body.single-tour .tour-itinerary {
  display: grid;
  gap: 18px;
  counter-reset: tour-day;
}

body.single-tour .tour-itinerary__summary {
  margin: 0 0 4px;
  color: var(--tour-gold);
  font-family: "Inter", Arial, sans-serif;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.single-tour .itinerary-day {
  overflow: hidden;
  background: var(--tour-white);
  border: 1px solid var(--tour-border);
  border-radius: 16px;
  counter-increment: tour-day;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body.single-tour .itinerary-day[open] {
  border-color: rgba(160, 82, 45, 0.42);
  box-shadow: 0 12px 30px rgba(42, 30, 20, 0.08);
}

body.single-tour .itinerary-day__header {
  display: flex;
  align-items: center;
  gap: 18px;
  min-height: 82px;
  padding: 18px 22px;
  cursor: pointer;
  list-style: none;
}

body.single-tour .itinerary-day__header::-webkit-details-marker {
  display: none;
}

body.single-tour .itinerary-day__header::before {
  content: counter(tour-day);
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: var(--tour-cta);
  color: var(--tour-white);
  font-family: "Inter", Arial, sans-serif;
  font-weight: 900;
}

body.single-tour .itinerary-day__header::after {
  content: "+";
  margin-left: auto;
  color: var(--tour-cta);
  font-family: "Inter", Arial, sans-serif;
  font-size: 1.55rem;
  font-weight: 700;
  line-height: 1;
}

body.single-tour .itinerary-day[open] .itinerary-day__header::after {
  content: "\2212";
}

body.single-tour .itinerary-day__title {
  margin: 0;
  color: var(--tour-text);
  font-size: clamp(1.2rem, 2vw, 1.55rem);
}

body.single-tour .itinerary-day__body {
  padding: 0 22px 22px 98px;
}

body.single-tour .itinerary-day__body > :last-child {
  margin-bottom: 0;
}

/* Included and excluded lists */
body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content[data-tab="3"] ul,
body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content[data-tab="4"] ul {
  columns: 2;
  column-gap: 35px;
  padding-left: 0;
  list-style: none;
}

body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content[data-tab="3"] li,
body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content[data-tab="4"] li {
  position: relative;
  break-inside: avoid;
  margin-bottom: 12px;
  padding-left: 28px;
}

body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content[data-tab="3"] li::before,
body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content[data-tab="4"] li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--tour-gold);
  font-weight: 900;
}

/* Pods gallery and map */
body.single-tour .elementor-element.elementor-element-e65e288 .gallery {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 12px;
}

body.single-tour .elementor-element.elementor-element-e65e288 .gallery-item {
  width: 100% !important;
  max-width: none;
  margin: 0;
}

body.single-tour .elementor-element.elementor-element-e65e288 .gallery-icon,
body.single-tour .elementor-element.elementor-element-e65e288 .gallery-icon a {
  display: block;
  height: 100%;
}

body.single-tour .elementor-element.elementor-element-e65e288 .gallery img {
  width: 100%;
  height: 210px;
  object-fit: cover;
  border: 0;
  border-radius: 14px;
}

body.single-tour .elementor-element.elementor-element-e65e288 .gallery-item:first-child {
  grid-row: span 2;
}

body.single-tour .elementor-element.elementor-element-e65e288 .gallery-item:first-child img {
  height: 432px;
}

body.single-tour .elementor-element.elementor-element-e65e288 iframe {
  width: 100%;
  min-height: 360px;
  border: 0;
  border-radius: 16px;
}

/* Related tours */
body.single-tour .elementor-element.elementor-element-1f6cfce {
  padding-top: 80px;
  padding-bottom: 80px;
}

body.single-tour .elementor-element.elementor-element-1f6cfce > .elementor-container {
  width: min(1180px, calc(100% - 36px));
}

body.single-tour .elementor-element.elementor-element-600c908 .elementor-heading-title {
  color: var(--tour-text);
  font-size: clamp(2rem, 4vw, 3.2rem);
}

body.single-tour .elementor-element.elementor-element-14da04c .elementor-posts-container {
  gap: 24px;
}

body.single-tour .elementor-element.elementor-element-14da04c article.elementor-post {
  overflow: hidden;
  background: var(--tour-white);
  border: 1px solid var(--tour-border);
  border-radius: 18px;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

body.single-tour .elementor-element.elementor-element-14da04c article.elementor-post:hover {
  transform: translateY(-6px);
  box-shadow: var(--tour-shadow);
}

body.single-tour .elementor-element.elementor-element-14da04c .elementor-post__thumbnail img {
  width: 100%;
  height: 230px;
  object-fit: cover;
}

body.single-tour .elementor-element.elementor-element-14da04c .elementor-post__text {
  padding: 22px;
}

body.single-tour .elementor-element.elementor-element-14da04c .elementor-post__title a {
  color: var(--tour-text);
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.45rem;
  line-height: 1.2;
}

body.single-tour .elementor-element.elementor-element-14da04c .elementor-post__meta-data {
  color: var(--tour-gold);
  font-size: 0.82rem;
  font-weight: 800;
  text-transform: uppercase;
}

/* Booking */
body.single-tour .elementor-element.elementor-element-990fa5d {
  padding-top: 80px;
  padding-bottom: 80px;
  background: var(--tour-text);
  color: var(--tour-white);
}

body.single-tour .elementor-element.elementor-element-990fa5d > .elementor-container {
  width: min(1180px, calc(100% - 36px));
  gap: 50px;
  align-items: flex-start;
}

body.single-tour .elementor-element.elementor-element-7417bc0 .elementor-heading-title {
  color: var(--tour-white);
  font-size: clamp(2.2rem, 5vw, 4rem);
}

body.single-tour .elementor-element.elementor-element-243fe70,
body.single-tour .elementor-element.elementor-element-243fe70 p {
  color: #E7DDD5;
}

body.single-tour .elementor-element.elementor-element-cc13386 > .elementor-widget-wrap {
  padding: 28px;
  border-radius: var(--tour-radius);
  background: var(--tour-white);
  color: var(--tour-text);
}

body.single-tour .elementor-element.elementor-element-ae0815b .fluentform .ff-el-form-control {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid var(--tour-border);
  border-radius: 10px;
  background: var(--tour-white);
  color: var(--tour-text);
  box-shadow: none;
}

body.single-tour .elementor-element.elementor-element-ae0815b .fluentform textarea.ff-el-form-control {
  min-height: 120px;
}

body.single-tour .elementor-element.elementor-element-ae0815b .fluentform .ff-el-form-control:focus {
  border-color: var(--tour-gold);
  box-shadow: 0 0 0 3px rgba(156, 122, 60, 0.14);
}

body.single-tour .elementor-element.elementor-element-ae0815b .fluentform label {
  color: var(--tour-text);
  font-weight: 700;
}

body.single-tour .elementor-element.elementor-element-ae0815b .fluentform .ff-btn-submit {
  width: 100%;
  min-height: 50px;
  border: 0;
  border-radius: 999px;
  background: var(--tour-cta);
  color: var(--tour-white);
  font-weight: 800;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

body.single-tour .elementor-element.elementor-element-ae0815b .fluentform .ff-btn-submit:hover,
body.single-tour .elementor-element.elementor-element-ae0815b .fluentform .ff-btn-submit:focus {
  background: var(--tour-cta-hover);
  transform: translateY(-2px);
}

/* Tablet */
@media (max-width: 1024px) {
  .tour-summary {
    margin-top: -35px;
  }

  .tour-fact {
    border-bottom: 1px solid var(--tour-border);
  }

  .tour-fact:nth-child(2n) {
    border-right: 0;
  }

  .tour-two-col > .e-con-inner,
  .tour-two-col > .elementor-container,
  .tour-two-col {
    gap: 32px;
  }

  .tour-intro .elementor-widget-image img,
  .tour-overview-image img {
    min-height: 380px;
  }

  .tour-gallery .gallery,
  .tour-gallery .elementor-gallery__container {
    grid-template-columns: 1fr 1fr;
  }

  body.single-tour .elementor-element.elementor-element-ffab273 > .elementor-container {
    flex-wrap: wrap;
  }

  body.single-tour .elementor-element.elementor-element-ffab273 > .elementor-container > .elementor-column {
    width: 50%;
    border-bottom: 1px solid var(--tour-border);
  }

  body.single-tour .elementor-element.elementor-element-ffab273 > .elementor-container > .elementor-column:nth-child(2n) {
    border-right: 0;
  }

  body.single-tour .elementor-element.elementor-element-2dd3a9e > .elementor-container,
  body.single-tour .elementor-element.elementor-element-990fa5d > .elementor-container {
    flex-wrap: wrap;
    gap: 32px;
  }

  body.single-tour .elementor-element.elementor-element-aa22abe,
  body.single-tour .elementor-element.elementor-element-dc76730,
  body.single-tour .elementor-element.elementor-element-cfa098f,
  body.single-tour .elementor-element.elementor-element-cc13386 {
    width: 100%;
  }

  body.single-tour .elementor-element.elementor-element-9f97547 img {
    height: 380px;
  }

  body.single-tour .elementor-element.elementor-element-e65e288 .gallery {
    grid-template-columns: 1fr 1fr;
  }

  body.single-tour .elementor-element.elementor-element-e65e288 .gallery-item:first-child {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  body.single-tour .elementor-element.elementor-element-e65e288 .gallery-item:first-child img {
    height: 330px;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .tour-hero {
    min-height: 66vh;
  }

  .tour-hero > .e-con-inner,
  .tour-hero > .elementor-container,
  .tour-hero__content {
    padding-top: 70px;
    padding-bottom: 55px;
  }

  .tour-hero__title .elementor-heading-title,
  .tour-hero__title {
    font-size: clamp(2.35rem, 12vw, 4rem);
  }

  .tour-summary {
    margin-top: -28px;
  }

  .tour-fact {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid var(--tour-border);
  }

  .tour-fact:last-child {
    border-bottom: 0;
  }

  .tour-intro {
    padding-top: 65px;
    padding-bottom: 40px;
  }

  .tour-intro .elementor-widget-image img,
  .tour-overview-image img {
    min-height: 280px;
  }

  .tour-tabs-section {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .tour-tabs .elementor-tab-content,
  .tour-tabs .e-n-tabs-content > div {
    padding: 24px 18px;
  }

  .tour-day {
    grid-template-columns: 1fr;
  }

  .tour-check-list ul,
  .tour-tabs .elementor-tab-content ul {
    columns: 1;
  }

  .tour-gallery .gallery,
  .tour-gallery .elementor-gallery__container {
    grid-template-columns: 1fr;
  }

  .tour-related,
  .tour-booking {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .tour-booking__form {
    padding: 22px !important;
  }

  body.single-tour .elementor-element.elementor-element-8a69f73 {
    min-height: 66vh;
  }

  body.single-tour .elementor-element.elementor-element-8a69f73 > .elementor-container {
    padding-top: 70px;
    padding-bottom: 55px;
  }

  body.single-tour .elementor-element.elementor-element-b732ed3 .elementor-heading-title {
    font-size: clamp(2.35rem, 12vw, 4rem);
  }

  body.single-tour .elementor-element.elementor-element-ffab273 {
    margin-top: -28px;
  }

  body.single-tour .elementor-element.elementor-element-ffab273 > .elementor-container > .elementor-column {
    width: 100%;
    min-height: auto;
    border-right: 0;
  }

  body.single-tour .elementor-element.elementor-element-2dd3a9e {
    padding-top: 65px;
    padding-bottom: 40px;
  }

  body.single-tour .elementor-element.elementor-element-9f97547 img {
    height: 280px;
  }

  body.single-tour .elementor-element.elementor-element-5c49424 {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content {
    padding: 24px 18px;
  }

  body.single-tour .itinerary-day__header {
    align-items: flex-start;
    padding: 18px;
  }

  body.single-tour .itinerary-day__header::before {
    width: 48px;
    height: 48px;
    flex-basis: 48px;
    border-radius: 14px;
  }

  body.single-tour .itinerary-day__body {
    padding: 0 18px 20px;
  }

  body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content[data-tab="3"] ul,
  body.single-tour .elementor-element.elementor-element-e65e288 .elementor-tab-content[data-tab="4"] ul {
    columns: 1;
  }

  body.single-tour .elementor-element.elementor-element-e65e288 .gallery {
    grid-template-columns: 1fr;
  }

  body.single-tour .elementor-element.elementor-element-e65e288 .gallery-item:first-child {
    grid-column: auto;
  }

  body.single-tour .elementor-element.elementor-element-e65e288 .gallery img,
  body.single-tour .elementor-element.elementor-element-e65e288 .gallery-item:first-child img {
    height: 240px;
  }

  body.single-tour .elementor-element.elementor-element-1f6cfce,
  body.single-tour .elementor-element.elementor-element-990fa5d {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  body.single-tour .elementor-element.elementor-element-cc13386 > .elementor-widget-wrap {
    padding: 22px;
  }
}/* End custom CSS */