/**

 * Safari detail — reference SafariDetailPage layout.

 */



.tour-single {

  --ts-font: var(--font-body);

  font-family: var(--ts-font);

}



/* Hero */

.tour-single__hero {

  background: var(--forest-900, var(--swt-palette-102820, #102820));

  color: #fff;

  display: flex;

  align-items: flex-end;

  margin-top: calc(-1 * var(--header-height, 72px));

  min-height: clamp(35rem, 88vh, 51rem);

  max-height: 51.25rem;

  overflow: hidden;

  padding: calc(var(--header-height, 72px) + 3rem) 0 3rem;

  position: relative;

}

.tour-single__hero.has-media::after {

  background: linear-gradient(0deg, var(--swt-palette-102820-a920, rgba(16, 40, 32, .92)) 0%, var(--swt-palette-102820-a350, rgba(16, 40, 32, .35)) 45%, var(--swt-palette-102820-a400, rgba(16, 40, 32, .4)) 100%);

  content: "";

  inset: 0;

  position: absolute;

}

.tour-single__hero-image {

  height: 100%;

  inset: 0;

  object-fit: cover;

  position: absolute;

  width: 100%;

}

.tour-single__hero-content {

  position: relative;

  z-index: 1;

  width: 100%;

}

.tour-single__hero .breadcrumbs,

.tour-single__hero .breadcrumbs a { color: rgba(255, 255, 255, .78); }

.tour-single__badges {

  display: flex;

  flex-wrap: wrap;

  gap: .5rem;

  margin-top: 1.25rem;

}

.tour-single__code-pill {

  background: var(--swt-palette-faf6ef-a950, rgba(250, 246, 239, .95));

  border-radius: 999px;

  color:var(--swt-accent-text, var(--clay, var(--swt-palette-8a3a1c, #8a3a1c)));

  font-family: var(--font-body);

  font-size: .66rem;

  font-weight: 600;

  letter-spacing: .15em;

  padding: .35rem .65rem;

  text-transform: uppercase;

}

.tour-single__badge {

  align-items: center;

  backdrop-filter: blur(8px);

  background: var(--swt-palette-102820-a400, rgba(16, 40, 32, .4));

  border-radius: 999px;

  color: #fff;

  display: inline-flex;

  font-size: .72rem;

  gap: .35rem;

  padding: .35rem .65rem;

}

.tour-single__badge-icon { color:var(--swt-accent-text, var(--brass, var(--swt-palette-b88a3e, #b88a3e))); font-size: .65rem; }

.tour-single__hero h1 {

  color: #fff;

  font-family: var(--font-display);

  font-size: clamp(2.4rem, 5vw, 4.5rem);

  font-weight: 500;

  letter-spacing: -.02em;

  line-height: 1.02;

  margin-top: 1rem;

  max-width: 20ch;

}

.tour-single__descriptor {

  color: rgba(255, 255, 255, .85);

  font-size: .97rem;

  line-height: 1.6;

  margin-top: 1rem;

  max-width: 36rem;

}



/* Sticky bar */

.tour-single__sticky-bar {

  backdrop-filter: blur(12px);

  background: var(--swt-palette-faf6ef-a950, rgba(250, 246, 239, .95));

  border-bottom: 1px solid var(--swt-palette-1c2421-a80, rgba(28, 36, 33, .08));

  position: sticky;

  top: var(--header-height, 72px);

  z-index: 35;

}

.admin-bar .tour-single__sticky-bar { top: calc(var(--header-height, 72px) + 32px); }

.tour-single__sticky-inner {

  align-items: center;

  display: flex;

  gap: 1rem;

  justify-content: space-between;

  padding-block: .75rem;

}

.tour-single__sticky-title {

  font-family: var(--font-display);

  font-size: 1rem;

  font-weight: 500;

  margin: 0;

  overflow: hidden;

  text-overflow: ellipsis;

  white-space: nowrap;

}

.tour-single__sticky-meta {

  color: var(--muted, var(--swt-palette-66716b, #66716b));

  font-size: .75rem;

  margin: .15rem 0 0;

}

.tour-single__sticky-actions {

  align-items: center;

  display: flex;

  flex-shrink: 0;

  gap: .5rem;

}

.tour-single__pill-btn {

  appearance: none;

  background: transparent;

  border: 1px solid var(--swt-palette-1c2421-a120, rgba(28, 36, 33, .12));

  border-radius: 999px;

  color: var(--forest-900, var(--swt-palette-102820, #102820));

  cursor: pointer;

  display: none;

  font: inherit;

  font-size: .78rem;

  font-weight: 600;

  gap: .35rem;

  padding: .45rem .85rem;

}

.tour-single__pill-btn:hover { background: var(--swt-palette-1c2421-a40, rgba(28, 36, 33, .04)); }



/* Body layout */

.tour-single__body { padding-block: clamp(3rem, 5vw, 4rem); }

.tour-single__layout {

  align-items: start;

  display: grid;

  gap: 3rem;

  grid-template-columns: minmax(0, 1fr) 22.5rem;

}

.tour-single__block + .tour-single__block { margin-top: 3rem; }

.tour-single__eyebrow {

  color:var(--swt-accent-text, var(--clay, var(--swt-palette-8a3a1c, #8a3a1c)));

  font-size: .68rem;

  font-weight: 600;

  letter-spacing: .14em;

  margin: 0;

  text-transform: uppercase;

}

.tour-single__section-title {

  font-family: var(--font-display);

  font-size: clamp(1.85rem, 3vw, 2.5rem);

  font-weight: 500;

  line-height: 1.15;

  margin: .75rem 0 0;

  max-width: 22ch;

}

.tour-single__section-title--sm {

  font-size: clamp(1.6rem, 2.5vw, 2rem);

  max-width: none;

}

.tour-single__prose {

  color: var(--swt-palette-1c2421-a850, rgba(28, 36, 33, .85));

  font-size: .97rem;

  line-height: 1.65;

  margin-top: 1.25rem;

  max-width: 42rem;

}

.tour-single__prose p { margin: 0 0 1rem; }



/* Highlights */

.tour-single__highlight-grid {

  display: grid;

  gap: .75rem;

  grid-template-columns: repeat(2, minmax(0, 1fr));

  margin-top: 1.5rem;

}

.tour-single__highlight-card {

  align-items: flex-start;

  background: #fff;

  border: 1px solid var(--swt-palette-1c2421-a80, rgba(28, 36, 33, .08));

  border-radius: .85rem;

  display: flex;

  gap: .75rem;

  padding: 1rem;

}

.tour-single__highlight-num {

  align-items: center;

  background: var(--swt-palette-8a3a1c-a100, rgba(138, 58, 28, .1));

  border-radius: 999px;

  color:var(--swt-accent-text, var(--clay, var(--swt-palette-8a3a1c, #8a3a1c)));

  display: inline-flex;

  flex-shrink: 0;

  font-family: var(--font-body);

  font-size: .68rem;

  font-weight: 600;

  height: 1.75rem;

  justify-content: center;

  width: 1.75rem;

}

.tour-single__highlight-card p {

  color: var(--swt-palette-1c2421-a850, rgba(28, 36, 33, .85));

  font-size: .88rem;

  line-height: 1.45;

  margin: 0;

}



/* Tabs */

.tour-single__tablist {

  border-bottom: 1px solid var(--swt-palette-1c2421-a80, rgba(28, 36, 33, .08));

  display: flex;

  gap: .25rem;

  overflow-x: auto;

  scrollbar-width: thin;

}

.tour-single__tab {

  appearance: none;

  background: transparent;

  border: 0;

  color: var(--muted, var(--swt-palette-66716b, #66716b));

  cursor: pointer;

  flex-shrink: 0;

  font: inherit;

  font-size: .8125rem;

  font-weight: 600;

  letter-spacing: .04em;

  padding: .75rem 1rem;

  position: relative;

}

.tour-single__tab.is-active { color:var(--swt-accent-text, var(--clay, var(--swt-palette-8a3a1c, #8a3a1c))); }

.tour-single__tab.is-active::after {

  background: var(--clay, var(--swt-palette-8a3a1c, #8a3a1c));

  bottom: 0;

  content: "";

  height: 2px;

  left: .75rem;

  position: absolute;

  right: .75rem;

}

.tour-single__tabpanels { margin-top: 2rem; }

.tour-single__tabpanel[hidden] { display: none !important; }



/* Itinerary accordions */

.tour-single__itinerary,

.tour-single__faq-list { display: grid; gap: .5rem; }

.tour-single__day-card,

.tour-single__faq {

  background: #fff;

  border: 1px solid var(--swt-palette-1c2421-a100, rgba(28, 36, 33, .1));

  border-radius: .75rem;

  overflow: hidden;

}

.tour-single__day-toggle,

.tour-single__faq-toggle {

  align-items: center;

  appearance: none;

  background: transparent;

  border: 0;

  cursor: pointer;

  display: flex;

  gap: 1rem;

  padding: 1rem 1.25rem;

  text-align: left;

  width: 100%;

}

.tour-single__day-badge {

  align-items: center;

  background: var(--clay, var(--swt-palette-8a3a1c, #8a3a1c));

  border-radius: 999px;

  color: #fff;

  display: inline-flex;

  flex-shrink: 0;

  font-family: var(--font-body);

  font-size: .82rem;

  font-weight: 600;

  height: 2.75rem;

  justify-content: center;

  line-height: 1;

  width: 2.75rem;

}

.tour-single__day-copy {

  display: grid;

  flex: 1;

  gap: .2rem;

  min-width: 0;

}

.tour-single__day-copy strong {

  color: var(--forest-900, var(--swt-palette-102820, #102820));

  font-family: var(--font-display);

  font-size: 1.06rem;

  font-weight: 500;

  line-height: 1.25;

}

.tour-single__day-copy span {

  color: var(--muted, var(--swt-palette-66716b, #66716b));

  font-size: .75rem;

  line-height: 1.35;

}

.tour-single__day-chevron {

  border-right: 1.5px solid var(--swt-palette-1c2421-a350, rgba(28, 36, 33, .35));

  border-top: 1.5px solid var(--swt-palette-1c2421-a350, rgba(28, 36, 33, .35));

  flex-shrink: 0;

  height: .45rem;

  margin-right: .15rem;

  transform: rotate(135deg);

  transition: transform .2s ease;

  width: .45rem;

}

.tour-single__day-card.is-open .tour-single__day-chevron,

.tour-single__faq.is-open .tour-single__day-chevron { transform: rotate(-45deg); }

.tour-single__day-body,

.tour-single__faq-body {

  display: none;

  padding: 0 1.25rem 1.25rem 5rem;

}

.tour-single__day-card.is-open .tour-single__day-body,

.tour-single__faq.is-open .tour-single__faq-body { display: block; }

.tour-single__day-body p,

.tour-single__faq-body p {

  color: var(--swt-palette-1c2421-a850, rgba(28, 36, 33, .85));

  font-size: .875rem;

  line-height: 1.6;

  margin: 0;

}

.tour-single__day-pills {

  display: flex;

  flex-wrap: wrap;

  gap: .5rem;

  margin-top: .75rem;

}

.tour-single__day-pill {

  border-radius: 999px;

  display: inline-flex;

  font-size: .75rem;

  font-weight: 500;

  line-height: 1.2;

  padding: .3rem .65rem;

}

.tour-single__day-pill--meals {

  background: var(--swt-palette-d9c5a0-a450, rgba(217, 197, 160, .45));

  color: var(--acacia, var(--swt-palette-4a5b48, #4a5b48));

}

.tour-single__day-pill--stay {

  background: var(--swt-palette-1c2421-a60, rgba(28, 36, 33, .06));

  color: var(--muted, var(--swt-palette-66716b, #66716b));

}

.tour-single__faq-toggle strong {

  flex: 1;

  font-family: var(--font-display);

  font-size: 1rem;

  font-weight: 500;

  line-height: 1.3;

}

.tour-single__faq-body { padding-left: 1.25rem; }



/* Inclusions */

.tour-single__lists {

  display: grid;

  gap: 1.25rem;

  grid-template-columns: repeat(2, minmax(0, 1fr));

}

.tour-single__list-kicker {

  color: var(--muted, var(--swt-palette-66716b, #66716b));

  font-size: .75rem;

  font-weight: 600;

  letter-spacing: .14em;

  margin: 0 0 .75rem;

  text-transform: uppercase;

}

.tour-single__list-kicker--included { color:var(--swt-accent-text, var(--clay, var(--swt-palette-8a3a1c, #8a3a1c))); }

.tour-single__check,

.tour-single__cross {

  display: grid;

  gap: .5rem;

  list-style: none;

  margin: 0;

  padding: 0;

}

.tour-single__check li,

.tour-single__cross li {

  color: var(--swt-palette-1c2421-a850, rgba(28, 36, 33, .85));

  font-size: .84rem;

  line-height: 1.45;

  padding-left: 1.35rem;

  position: relative;

}

.tour-single__check li::before {

  color:var(--swt-accent-text, var(--clay, var(--swt-palette-8a3a1c, #8a3a1c)));

  content: "✓";

  font-weight: 700;

  left: 0;

  position: absolute;

}

.tour-single__cross li {

  color: var(--muted, var(--swt-palette-66716b, #66716b));

}

.tour-single__cross li::before {

  color: var(--swt-palette-1c2421-a350, rgba(28, 36, 33, .35));

  content: "–";

  font-weight: 700;

  left: .15rem;

  position: absolute;

}



/* Route map */

.tour-single__route-map {

  aspect-ratio: 16 / 9;

  background: linear-gradient(135deg, var(--swt-palette-dccdac, #dccdac) 0%, var(--swt-palette-efe7d9, #efe7d9) 50%, var(--swt-palette-faf6ef, #faf6ef) 100%);

  border: 1px solid var(--swt-palette-1c2421-a80, rgba(28, 36, 33, .08));

  border-radius: 1rem;

  margin-top: 1.5rem;

  overflow: hidden;

  position: relative;

}

.tour-single__route-map-inner {

  align-items: flex-end;

  background: linear-gradient(0deg, var(--swt-palette-102820-a400, rgba(16, 40, 32, .4)) 0%, transparent 60%);

  display: flex;

  flex-direction: column;

  gap: .75rem;

  height: 100%;

  justify-content: flex-end;

  padding: 1rem;

}

.tour-single__route-label {

  color: rgba(255, 255, 255, .9);

  font-size: .88rem;

  font-weight: 600;

  margin: 0;

  text-shadow: 0 1px 8px rgba(0, 0, 0, .35);

}

.tour-single__route-pills {

  display: flex;

  flex-wrap: wrap;

  gap: .5rem;

}

.tour-single__route-pill {

  align-items: center;

  background: var(--swt-palette-faf6ef-a950, rgba(250, 246, 239, .95));

  border-radius: 999px;

  color: var(--forest-900, var(--swt-palette-102820, #102820));

  display: inline-flex;

  font-size: .72rem;

  font-weight: 600;

  gap: .35rem;

  padding: .4rem .75rem;

}

.tour-single__route-pill-num {

  color:var(--swt-accent-text, var(--clay, var(--swt-palette-8a3a1c, #8a3a1c)));

  font-family: var(--font-body);

}



/* Sidebar */

.tour-single__sidebar-sticky {

  display: grid;

  gap: 1rem;

  position: sticky;

  top: calc(var(--header-height, 72px) + 5.5rem);

}

.admin-bar .tour-single__sidebar-sticky { top: calc(var(--header-height, 72px) + 7.5rem); }

.tour-single__pricing-card {

  background: #fff;

  border: 1px solid var(--swt-palette-1c2421-a80, rgba(28, 36, 33, .08));

  border-radius: 1rem;

  box-shadow: 0 18px 48px var(--swt-palette-102820-a80, rgba(16, 40, 32, .08));

  padding: 1.5rem;

}

.tour-single__pricing-head {

  align-items: baseline;

  display: flex;

  justify-content: space-between;

}

.tour-single__pricing-kicker {

  color: var(--muted, var(--swt-palette-66716b, #66716b));

  font-size: .68rem;

  font-weight: 600;

  letter-spacing: .16em;

  margin: 0;

  text-transform: uppercase;

}

.tour-single__pricing-amount {

  font-family: var(--font-display);

  font-size: 1.75rem;

  font-weight: 500;

  margin: .25rem 0 0;

}

.tour-single__pricing-pill {

  background: var(--swt-palette-4a5b48-a150, rgba(74, 91, 72, .15));

  border-radius: 999px;

  color: var(--acacia, var(--swt-palette-4a5b48, #4a5b48));

  font-size: .66rem;

  font-weight: 600;

  letter-spacing: .12em;

  padding: .35rem .65rem;

  text-transform: uppercase;

}

.tour-single__pricing-copy {

  color: var(--muted, var(--swt-palette-66716b, #66716b));

  font-size: .78rem;

  line-height: 1.5;

  margin: .75rem 0 0;

}

.tour-single__pricing-actions {

  display: grid;

  gap: .5rem;

  margin-top: 1.25rem;

}

.btn--block { width: 100%; }

.tour-single__sidebar-meta {

  border-top: 1px solid var(--swt-palette-1c2421-a80, rgba(28, 36, 33, .08));

  display: grid;

  gap: .5rem;

  list-style: none;

  margin: 1.25rem 0 0;

  padding: 1rem 0 0;

}

.tour-single__sidebar-meta li {

  align-items: center;

  color: var(--muted, var(--swt-palette-66716b, #66716b));

  display: flex;

  font-size: .78rem;

  gap: .5rem;

}

.tour-single__sidebar-meta-icon { color:var(--swt-accent-text, var(--clay, var(--swt-palette-8a3a1c, #8a3a1c))); }

.tour-single__consultant-card {

  background: var(--forest-900, var(--swt-palette-102820, #102820));

  border-radius: 1rem;

  color: #fff;

  padding: 1.5rem;

}

.tour-single__consultant-kicker {

  color:var(--swt-accent-text, var(--swt-palette-b88a3e-a850, rgba(184, 138, 62, .85)));

  font-size: .68rem;

  font-weight: 600;

  letter-spacing: .18em;

  margin: 0;

  text-transform: uppercase;

}

.tour-single__consultant-title {

  font-family: var(--font-display);

  font-size: 1.125rem;

  line-height: 1.3;

  margin: .5rem 0 0;

}

.tour-single__consultant-copy {

  color: rgba(255, 255, 255, .7);

  font-size: .78rem;

  line-height: 1.5;

  margin: .5rem 0 0;

}

.tour-single__consultant-link {

  color:var(--swt-accent-text, var(--brass, var(--swt-palette-b88a3e, #b88a3e)));

  display: inline-flex;

  font-size: .81rem;

  font-weight: 600;

  gap: .35rem;

  margin-top: 1rem;

  text-decoration: none;

}

.tour-single__consultant-link:hover { text-decoration: underline; }



/* Related */

.tour-single__related {

  background: var(--swt-palette-dccdac-a250, rgba(220, 205, 172, .25));

  padding-block: clamp(4rem, 6vw, 5rem);

}

.tour-single__related-head {

  align-items: flex-end;

  display: flex;

  gap: 1rem;

  justify-content: space-between;

}

.tour-single__related-grid {

  display: grid;

  gap: 1.25rem;

  grid-template-columns: repeat(4, minmax(0, 1fr));

  margin-top: 2.5rem;

}



/* Enquiry sheet */

.tour-single__sheet {

  border: 0;

  border-radius: 1.25rem 1.25rem 0 0;

  max-width: 100%;

  padding: 1rem 1rem 1.5rem;

  width: min(100%, 28rem);

}

.tour-single__sheet::backdrop { background: var(--swt-palette-0a1410-a550, rgba(10, 20, 16, .55)); }

.tour-single__sheet-close {

  display: flex;

  justify-content: flex-end;

  margin: 0 0 .35rem;

}

.tour-single__sheet-close button {

  appearance: none;

  background: transparent;

  border: 0;

  cursor: pointer;

  font-size: 1.5rem;

  line-height: 1;

}



.tour-enquiry {

  background: #fff;

  border: 1px solid var(--swt-palette-1c2421-a80, rgba(28, 36, 33, .08));

  border-radius: 1.2rem;

  padding: 1.35rem;

}

.tour-enquiry__kicker {

  color:var(--swt-accent-text, var(--clay, var(--swt-palette-8a3a1c, #8a3a1c)));

  font-size: .7rem;

  font-weight: 700;

  letter-spacing: .1em;

  margin: 0 0 .55rem;

  text-transform: uppercase;

}

.tour-enquiry__title {

  font-family: var(--font-display);

  font-size: 1.45rem;

  font-weight: 500;

  margin: 0;

}

.tour-enquiry__lede {

  color: var(--muted, var(--swt-palette-66716b, #66716b));

  font-size: .92rem;

  line-height: 1.45;

  margin: .55rem 0 1.15rem;

}

.tour-enquiry__form { display: grid; gap: .75rem; }

.tour-enquiry__row {

  display: grid;

  gap: .75rem;

  grid-template-columns: 1.3fr .7fr;

}

.tour-enquiry__field label {

  color: var(--swt-palette-1c2421-a580, rgba(28, 36, 33, .58));

  display: block;

  font-size: .68rem;

  font-weight: 700;

  letter-spacing: .08em;

  margin-bottom: .35rem;

  text-transform: uppercase;

}

.tour-enquiry__field input,

.tour-enquiry__field textarea {

  background: var(--swt-palette-f7f6f3, #f7f6f3);

  border: 1px solid var(--swt-palette-1c2421-a100, rgba(28, 36, 33, .1));

  border-radius: .7rem;

  font: inherit;

  min-height: 2.75rem;

  padding: .7rem .85rem;

  width: 100%;

}

.tour-enquiry__field textarea { min-height: 6.5rem; resize: vertical; }

.tour-enquiry__field input:focus,

.tour-enquiry__field textarea:focus {

  border-color: var(--clay, var(--swt-palette-8a3a1c, #8a3a1c));

  box-shadow: 0 0 0 3px var(--swt-palette-8a3a1c-a160, rgba(138, 58, 28, .16));

  outline: 0;

}

.tour-enquiry__check {

  align-items: flex-start;

  color: var(--swt-palette-1c2421-a720, rgba(28, 36, 33, .72));

  display: flex;

  font-size: .86rem;

  gap: .55rem;

  line-height: 1.4;

}

.tour-enquiry__submit { width: 100%; }

.tour-enquiry__links {

  border-top: 1px solid var(--swt-palette-1c2421-a80, rgba(28, 36, 33, .08));

  display: grid;

  gap: .45rem;

  margin-top: 1rem;

  padding-top: 1rem;

}

.tour-enquiry__links a {

  color: var(--forest-900, var(--swt-palette-102820, #102820));

  font-size: .9rem;

  font-weight: 600;

  text-decoration: none;

}

.tour-enquiry__success,

.tour-enquiry__errors {

  border-radius: .85rem;

  margin-bottom: .85rem;

  padding: 1rem;

}



@media (min-width: 640px) {

  .tour-single__pill-btn { display: inline-flex; }

}



@media (max-width: 1024px) {

  .tour-single__layout { grid-template-columns: 1fr; }

  .tour-single__sidebar { order: 2; }

  .tour-single__sidebar-sticky { position: static; }

  .tour-single__related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

}



@media (max-width: 768px) {

  .tour-single__hero {

    margin-top: calc(-1 * var(--header-height, 64px));

    min-height: 28rem;

    padding-top: calc(var(--header-height, 64px) + 2rem);

  }

  .tour-single__sticky-inner {

    align-items: flex-start;

    flex-direction: column;

  }

  .tour-single__sticky-actions {

    flex-wrap: wrap;

    width: 100%;

  }

  .tour-single__sticky-actions .btn--primary { flex: 1; }

  .tour-single__highlight-grid { grid-template-columns: 1fr; }

  .tour-single__lists { grid-template-columns: 1fr; }

  .tour-single__related-head {

    align-items: flex-start;

    flex-direction: column;

  }

  .tour-single__day-body { padding-left: 1.25rem; padding-right: 1.25rem; }

}



@media (max-width: 640px) {

  .tour-single__related-grid { grid-template-columns: 1fr; }

  .tour-enquiry__row { grid-template-columns: 1fr; }

}

