/* Source-faithful internal Tour information layout. */
.ht-tour-gallery { padding-top: 14px; }
.ht-tour-gallery__grid {
  display: grid;
  grid-template-columns: minmax(130px, .42fr) minmax(0, 1.18fr) minmax(160px, .48fr);
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 8px;
  height: clamp(340px, 34vw, 500px);
}
.ht-tour-gallery__item {
  position: relative;
  min-width: 0;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  border-radius: 10px;
  background: #dcd7cf;
}
.ht-tour-gallery--count-5 .ht-tour-gallery__item--1 { grid-column: 1; grid-row: 1; }
.ht-tour-gallery--count-5 .ht-tour-gallery__item--2 { grid-column: 1; grid-row: 2; }
.ht-tour-gallery--count-5 .ht-tour-gallery__item--3 { grid-column: 2; grid-row: 1 / 3; }
.ht-tour-gallery--count-5 .ht-tour-gallery__item--4 { grid-column: 3; grid-row: 1; }
.ht-tour-gallery--count-5 .ht-tour-gallery__item--5 { grid-column: 3; grid-row: 2; }
.ht-tour-gallery--count-4 .ht-tour-gallery__grid {
  grid-template-columns: minmax(0, 1.45fr) minmax(180px, .55fr);
  grid-template-rows: repeat(3, minmax(0, 1fr));
}
.ht-tour-gallery--count-4 .ht-tour-gallery__item--1 { grid-column: 1; grid-row: 1 / 4; }
.ht-tour-gallery--count-4 .ht-tour-gallery__item--2 { grid-column: 2; grid-row: 1; }
.ht-tour-gallery--count-4 .ht-tour-gallery__item--3 { grid-column: 2; grid-row: 2; }
.ht-tour-gallery--count-4 .ht-tour-gallery__item--4 { grid-column: 2; grid-row: 3; }
.ht-tour-gallery--count-3 .ht-tour-gallery__grid {
  grid-template-columns: minmax(0, 1.55fr) minmax(220px, .65fr);
  grid-template-rows: repeat(2, minmax(0, 1fr));
  height: clamp(330px, 32vw, 470px);
}
.ht-tour-gallery--count-3 .ht-tour-gallery__item--1 { grid-column: 1; grid-row: 1 / 3; }
.ht-tour-gallery--count-3 .ht-tour-gallery__item--2 { grid-column: 2; grid-row: 1; }
.ht-tour-gallery--count-3 .ht-tour-gallery__item--3 { grid-column: 2; grid-row: 2; }
.ht-tour-gallery--count-2 .ht-tour-gallery__grid {
  grid-template-columns: minmax(0, 1.62fr) minmax(260px, 1fr);
  grid-template-rows: 1fr;
  height: clamp(300px, 29vw, 420px);
}
.ht-tour-gallery--count-2 .ht-tour-gallery__item--1 { grid-column: 1; grid-row: 1; }
.ht-tour-gallery--count-2 .ht-tour-gallery__item--2 { grid-column: 2; grid-row: 1; }
.ht-tour-gallery--count-1 .ht-tour-gallery__grid {
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  height: clamp(300px, 30vw, 430px);
}
.ht-tour-gallery--count-1 .ht-tour-gallery__item--1 { grid-column: 1; grid-row: 1; }
.ht-tour-gallery__item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s cubic-bezier(.22, 1, .36, 1), filter .7s ease;
}
.ht-tour-lightbox-trigger {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  border-radius: inherit;
  background: transparent;
  color: inherit;
  cursor: zoom-in;
}
.ht-tour-lightbox-trigger:focus-visible {
  outline: 3px solid var(--ht-orange, #e85002);
  outline-offset: -3px;
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .ht-tour-gallery__item:hover img { transform: scale(1.035); filter: saturate(1.04); }
}

@media (max-width: 860px) {
  .ht-tour-gallery__grid { height: clamp(330px, 58vw, 470px); }
  .ht-tour-gallery--count-5 .ht-tour-gallery__grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1.25fr .75fr;
  }
  .ht-tour-gallery--count-5 .ht-tour-gallery__item--1,
  .ht-tour-gallery--count-5 .ht-tour-gallery__item--4 { display: none; }
  .ht-tour-gallery--count-5 .ht-tour-gallery__item--3 { grid-column: 1 / 3; grid-row: 1; }
  .ht-tour-gallery--count-5 .ht-tour-gallery__item--2 { grid-column: 1; grid-row: 2; }
  .ht-tour-gallery--count-5 .ht-tour-gallery__item--5 { grid-column: 2; grid-row: 2; }
  .ht-tour-gallery--count-4 .ht-tour-gallery__grid,
  .ht-tour-gallery--count-3 .ht-tour-gallery__grid { height: clamp(330px, 58vw, 460px); }
  .ht-tour-gallery--count-2 .ht-tour-gallery__grid {
    grid-template-columns: 1.35fr 1fr;
    height: clamp(300px, 48vw, 390px);
  }
}

.ht-tour-information {
  --ht-tour-ink: var(--ht-ink, #07111a);
  --ht-tour-accent: var(--ht-orange, #e85002);
  --ht-tour-heading: var(--ht-font-heading, "Space Grotesk");
}

.ht-tour-price--tiers {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .15em;
  line-height: 1.15;
}
.ht-tour-price__primary { display: inline-flex; align-items: baseline; gap: .35em; flex-wrap: wrap; }
.ht-tour-price__amount { font-size: 1.35em; font-weight: 700; letter-spacing: -.02em; }
.ht-tour-price__unit { font-size: .72em; }
.ht-tour-price__reference { font-size: .68em; line-height: 1.35; }

.ht-tour-information .ht-tour-section {
  position: relative;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 22px;
  padding: 56px 0 0;
}

.ht-tour-information .ht-tour-section + .ht-tour-section { margin-top: 12px; }
.ht-tour-information .ht-tour-section__index {
  padding-top: 31px;
  color: rgba(7, 17, 26, .25);
  font-family: var(--ht-tour-heading);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .12em;
}
.ht-tour-information .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  color: var(--ht-tour-accent);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.ht-tour-information .eyebrow::before {
  content: "";
  width: 28px;
  height: 1px;
  background: currentColor;
}
.ht-tour-information .ht-tour-section h2 {
  margin: 0 0 20px;
  color: var(--ht-tour-ink);
  font-family: var(--ht-tour-heading);
  font-size: clamp(1.75rem, 2.6vw, 2.65rem);
  line-height: 1.05;
  letter-spacing: -.045em;
}
.ht-tour-information .ht-tour-section p {
  max-width: 760px;
  margin: 0 0 16px;
  color: rgba(7, 17, 26, .66);
  font-size: 1rem;
  line-height: 1.76;
}

.ht-tour-information :is(.ht-tour-included__grid, .ht-tour-excluded__grid, .ht-tour-bring__grid) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 760px;
  overflow: hidden;
  border: 1px solid rgba(7, 17, 26, .1);
  border-radius: 14px;
  background: rgba(255, 255, 255, .7);
}
.ht-tour-information :is(.ht-tour-included__item, .ht-tour-excluded__item, .ht-tour-bring__item) {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  padding: 15px 18px;
  border-bottom: 1px solid rgba(7, 17, 26, .075);
}
.ht-tour-information :is(.ht-tour-included__item, .ht-tour-excluded__item, .ht-tour-bring__item):nth-child(odd) { border-right: 1px solid rgba(7, 17, 26, .075); }
.ht-tour-information :is(.ht-tour-included__item, .ht-tour-excluded__item, .ht-tour-bring__item):nth-last-child(-n+2) { border-bottom: 0; }
.ht-tour-information :is(.ht-tour-included__item, .ht-tour-excluded__item, .ht-tour-bring__item) > span {
  flex: 0 0 19px;
  display: grid;
  place-items: center;
  width: 19px;
  height: 19px;
  margin-top: 1px;
  border-radius: 50%;
  background: rgba(232, 80, 2, .1);
  color: var(--ht-tour-accent);
  font-size: .7rem;
  font-weight: 800;
}
.ht-tour-information :is(.ht-tour-included__item, .ht-tour-excluded__item, .ht-tour-bring__item) p {
  margin: 0;
  color: var(--ht-tour-ink);
  font-size: .85rem;
  line-height: 1.5;
}

.ht-tour-information .ht-tour-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  max-width: 810px;
  margin: 28px 0 0;
}
.ht-tour-information .ht-tour-facts__item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px;
  border: 1px solid rgba(7, 17, 26, .1);
  border-radius: 12px;
  background: rgba(255, 255, 255, .65);
}
.ht-tour-information .ht-tour-facts__icon { flex: 0 0 24px; width: 24px; color: var(--ht-tour-accent); }
.ht-tour-information .ht-tour-facts dt { color: rgba(7, 17, 26, .55); font-size: .68rem; text-transform: uppercase; letter-spacing: .06em; }
.ht-tour-information .ht-tour-facts dd { margin: 3px 0 0; color: var(--ht-tour-ink); font-size: .88rem; font-weight: 700; }
.ht-tour-information .ht-tour-pricing { max-width: 760px; overflow-x: auto; }
.ht-tour-information .ht-tour-pricing table { width: 100%; border-collapse: collapse; color: var(--ht-tour-ink); }
.ht-tour-information .ht-tour-pricing th,
.ht-tour-information .ht-tour-pricing td { padding: 13px 16px; border-bottom: 1px solid rgba(7, 17, 26, .1); text-align: left; }
.ht-tour-information .ht-tour-pricing thead th { color: rgba(7, 17, 26, .55); font-size: .72rem; text-transform: uppercase; letter-spacing: .07em; }

.ht-tour-information .ht-tour-itinerary__list {
  max-width: 810px;
  border-top: 1px solid rgba(7, 17, 26, .1);
}
.ht-tour-information .ht-tour-day { border-bottom: 1px solid rgba(7, 17, 26, .1); }
.ht-tour-information .ht-tour-day summary {
  position: relative;
  display: grid;
  grid-template-columns: 18px 72px minmax(0, 1fr) 26px;
  align-items: center;
  gap: 12px;
  padding: 24px 0;
  cursor: pointer;
  list-style: none;
}
.ht-tour-information .ht-tour-day summary::-webkit-details-marker { display: none; }
.ht-tour-information .ht-tour-day__marker {
  width: 9px;
  height: 9px;
  border: 1.5px solid var(--ht-tour-ink);
  border-radius: 50%;
  transition: background .25s ease, border-color .25s ease;
}
.ht-tour-information .ht-tour-day__day {
  width: max-content;
  padding: 5px 8px;
  border: 1px solid rgba(7, 17, 26, .1);
  border-radius: 999px;
  color: rgba(7, 17, 26, .55);
  font-size: .59rem;
  letter-spacing: .04em;
}
.ht-tour-information .ht-tour-day summary strong {
  color: var(--ht-tour-ink);
  font-family: var(--ht-tour-heading);
  font-size: 1rem;
  font-weight: 650;
  letter-spacing: -.025em;
}
.ht-tour-information .ht-tour-day__toggle {
  position: relative;
  width: 18px;
  height: 18px;
  justify-self: end;
}
.ht-tour-information .ht-tour-day__toggle::before,
.ht-tour-information .ht-tour-day__toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 11px;
  height: 1px;
  background: var(--ht-tour-ink);
  transform: translate(-50%, -50%);
  transition: transform .25s ease;
}
.ht-tour-information .ht-tour-day__toggle::after { transform: translate(-50%, -50%) rotate(90deg); }
.ht-tour-information .ht-tour-day[open] .ht-tour-day__toggle::after { transform: translate(-50%, -50%) rotate(0); }
.ht-tour-information .ht-tour-day[open] .ht-tour-day__marker {
  border-color: var(--ht-tour-accent);
  background: var(--ht-tour-accent);
}
.ht-tour-information .ht-tour-day__content { padding: 0 38px 28px 102px; }
.ht-tour-information .ht-tour-day__content p { max-width: 650px; margin: 0; }
.ht-tour-information .ht-tour-day__gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  margin-top: 22px;
}
.ht-tour-information .ht-tour-day__gallery img {
  width: 100%;
  aspect-ratio: 1.45 / 1;
  object-fit: cover;
  border-radius: 9px;
}
.ht-tour-information .ht-tour-day__gallery .ht-tour-lightbox-trigger { aspect-ratio: 1.45 / 1; }

.ht-tour-lightbox[hidden] { display: none; }
.ht-tour-lightbox {
  position: fixed;
  z-index: 100000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: clamp(1rem, 4vw, 3rem);
  background: rgba(7, 17, 26, .92);
}
.ht-tour-lightbox__figure { max-width: min(92vw, 1200px); margin: 0; text-align: center; }
.ht-tour-lightbox__image { display: block; max-width: 100%; max-height: 82vh; margin: auto; object-fit: contain; }
.ht-tour-lightbox__status { margin: .75rem 0 0; color: #fff; font-size: .875rem; }
.ht-tour-lightbox__control {
  position: fixed;
  display: grid;
  place-items: center;
  min-width: 2.75rem;
  min-height: 2.75rem;
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 999px;
  background: rgba(7,17,26,.72);
  color: #fff;
  cursor: pointer;
}
.ht-tour-lightbox__control:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.ht-tour-lightbox__close { top: 1rem; right: 1rem; font-size: 1.5rem; }
.ht-tour-lightbox__previous { top: 50%; left: 1rem; transform: translateY(-50%); font-size: 1.5rem; }
.ht-tour-lightbox__next { top: 50%; right: 1rem; transform: translateY(-50%); font-size: 1.5rem; }
.ht-tour-lightbox__control[hidden] { display: none; }
body.ht-tour-lightbox-open { overflow: hidden; }

@media (max-width: 620px) {
	.ht-tour-gallery {
		width: min(calc(100% - 28px), var(--ht-container, 1240px));
		padding-top: 8px;
	}
	.ht-tour-gallery__grid,
	.ht-tour-gallery--count-2 .ht-tour-gallery__grid,
	.ht-tour-gallery--count-3 .ht-tour-gallery__grid,
	.ht-tour-gallery--count-4 .ht-tour-gallery__grid,
	.ht-tour-gallery--count-5 .ht-tour-gallery__grid {
		grid-template-columns: 1fr;
		grid-template-rows: none;
		grid-auto-rows: minmax(190px, 54vw);
		height: auto;
		max-height: none;
		gap: 6px;
	}
	.ht-tour-gallery__item,
	.ht-tour-gallery--count-1 .ht-tour-gallery__item--1,
	.ht-tour-gallery--count-2 .ht-tour-gallery__item--1,
	.ht-tour-gallery--count-2 .ht-tour-gallery__item--2,
	.ht-tour-gallery--count-3 .ht-tour-gallery__item--1,
	.ht-tour-gallery--count-3 .ht-tour-gallery__item--2,
	.ht-tour-gallery--count-3 .ht-tour-gallery__item--3,
	.ht-tour-gallery--count-4 .ht-tour-gallery__item--1,
	.ht-tour-gallery--count-4 .ht-tour-gallery__item--2,
	.ht-tour-gallery--count-4 .ht-tour-gallery__item--3,
	.ht-tour-gallery--count-4 .ht-tour-gallery__item--4,
	.ht-tour-gallery--count-5 .ht-tour-gallery__item--1,
	.ht-tour-gallery--count-5 .ht-tour-gallery__item--2,
	.ht-tour-gallery--count-5 .ht-tour-gallery__item--3,
	.ht-tour-gallery--count-5 .ht-tour-gallery__item--4,
	.ht-tour-gallery--count-5 .ht-tour-gallery__item--5 {
		display: block;
		grid-column: auto;
		grid-row: auto;
		border-radius: 10px;
	}
	.ht-tour-gallery--count-3 .ht-tour-gallery__grid,
	.ht-tour-gallery--count-4 .ht-tour-gallery__grid,
	.ht-tour-gallery--count-5 .ht-tour-gallery__grid {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}
	.ht-tour-gallery--count-3 .ht-tour-gallery__grid::-webkit-scrollbar,
	.ht-tour-gallery--count-4 .ht-tour-gallery__grid::-webkit-scrollbar,
	.ht-tour-gallery--count-5 .ht-tour-gallery__grid::-webkit-scrollbar { display: none; }
	.ht-tour-gallery--count-3 .ht-tour-gallery__item,
	.ht-tour-gallery--count-4 .ht-tour-gallery__item,
	.ht-tour-gallery--count-5 .ht-tour-gallery__item {
		flex: 0 0 86%;
		min-height: 280px;
		aspect-ratio: 4 / 3;
		scroll-snap-align: start;
	}
	.ht-tour-gallery--count-2 .ht-tour-gallery__grid {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-auto-rows: minmax(210px, 58vw);
	}
  .ht-tour-information .ht-tour-section {
    grid-template-columns: 1fr;
    gap: 0;
    padding-top: 48px;
  }
  .ht-tour-information .ht-tour-section__index { display: none; }
  .ht-tour-information :is(.ht-tour-included__grid, .ht-tour-excluded__grid, .ht-tour-bring__grid) { grid-template-columns: 1fr; }
  .ht-tour-information .ht-tour-facts { grid-template-columns: 1fr 1fr; }
  .ht-tour-information :is(.ht-tour-included__item, .ht-tour-excluded__item, .ht-tour-bring__item),
  .ht-tour-information :is(.ht-tour-included__item, .ht-tour-excluded__item, .ht-tour-bring__item):nth-child(odd),
  .ht-tour-information :is(.ht-tour-included__item, .ht-tour-excluded__item, .ht-tour-bring__item):nth-last-child(-n+2) {
    border-right: 0;
    border-bottom: 1px solid rgba(7, 17, 26, .075);
  }
  .ht-tour-information :is(.ht-tour-included__item, .ht-tour-excluded__item, .ht-tour-bring__item):last-child { border-bottom: 0; }
  .ht-tour-information .ht-tour-day summary {
    grid-template-columns: 16px 62px minmax(0, 1fr) 20px;
    gap: 9px;
    padding: 20px 0;
  }
  .ht-tour-information .ht-tour-day summary strong { font-size: .9rem; }
  .ht-tour-information .ht-tour-day__content { padding: 0 0 23px 87px; }
  .ht-tour-information .ht-tour-day__gallery { grid-template-columns: 1fr 1fr; }
  .ht-tour-information .ht-tour-day__gallery img:last-child { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.ht-tour-gallery__item img,
  .ht-tour-information .ht-tour-day__marker,
  .ht-tour-information .ht-tour-day__toggle::after { transition: none; }
}
