/* Tour details v5 — layout and components. Scoped to body.fz-td5. */
body.fz-td5 {
   --td5-navy: #002147;
   --td5-navy-2: #0a3364;
   --td5-navy-soft: #eef3f9;
   --td5-gold: #c8a84b;
   --td5-gold-dark: #a8862a;
   --td5-gold-soft: #fbf6e8;
   --td5-ink: #1a2433;
   --td5-text: #3b4554;
   --td5-muted: #667085;
   --td5-line: #e8ebf0;
   --td5-bg: #f7f8fa;
   --td5-radius: 16px;
   --td5-shadow: 0 1px 2px rgba(16, 24, 40, 0.04), 0 8px 24px rgba(16, 24, 40, 0.06);
   background: #fff;
   color: var(--td5-text);
}

/* Set on <html> by tour-details-5.js; must not be redeclared on body or the JS values are shadowed. */
html {
   --td5-sticky-top: 0px;
   --td5-tabs-h: 56px;
}

/* overflow-x:hidden on html/body (main.css) makes body a scroll container and breaks position:sticky. */
html:has(> body.fz-td5),
body.fz-td5 {
   overflow-x: clip !important;
}

body.fz-td5 #has-smooth-wrap {
   overflow: visible;
}

body.fz-td5 .td5-section[id],
body.fz-td5 section[id^="tour-"],
body.fz-td5 #tour-reviews {
   scroll-margin-top: calc(var(--td5-sticky-top) + var(--td5-tabs-h) + 16px);
}

/* ---------- Buttons ---------- */
.fz-td5 .td5-btn {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 0.5rem;
   min-height: 48px;
   padding: 0 1.25rem;
   border-radius: 999px;
   border: 1.5px solid transparent;
   font-size: 0.95rem;
   font-weight: 700;
   letter-spacing: 0.01em;
   text-decoration: none;
   cursor: pointer;
   transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.fz-td5 .td5-btn--primary {
   background: linear-gradient(135deg, #d6b85e 0%, var(--td5-gold) 45%, var(--td5-gold-dark) 100%);
   color: #fff;
   box-shadow: 0 6px 16px rgba(168, 134, 42, 0.3);
}

.fz-td5 .td5-btn--primary:hover {
   color: #fff;
   transform: translateY(-1px);
   box-shadow: 0 10px 22px rgba(168, 134, 42, 0.38);
}

.fz-td5 .td5-btn--outline {
   background: #fff;
   border-color: var(--td5-navy);
   color: var(--td5-navy);
}

.fz-td5 .td5-btn--outline:hover {
   background: var(--td5-navy);
   color: #fff;
}

.fz-td5 .td5-btn--ghost {
   background: rgba(255, 255, 255, 0.12);
   border-color: rgba(255, 255, 255, 0.45);
   color: #fff;
}

.fz-td5 .td5-btn--ghost:hover {
   background: #fff;
   color: var(--td5-navy);
}

.fz-td5 .td5-btn--whatsapp {
   background: #25d366;
   color: #fff;
}

.fz-td5 .td5-btn--whatsapp:hover {
   background: #1ebe5a;
   color: #fff;
}

.fz-td5 .td5-btn:focus-visible,
.fz-td5 .td5-icon-btn:focus-visible,
.fz-td5 .td5-tabs a:focus-visible,
.fz-td5 summary:focus-visible,
.fz-td5 .td5-gallery__item:focus-visible {
   outline: 3px solid var(--td5-gold);
   outline-offset: 2px;
}

.fz-td5 .td5-icon-btn {
   display: inline-flex;
   align-items: center;
   gap: 0.45rem;
   height: 42px;
   padding: 0 1rem;
   border: 1px solid var(--td5-line);
   border-radius: 999px;
   background: #fff;
   color: var(--td5-ink);
   font-size: 0.9rem;
   font-weight: 600;
   transition: border-color 0.2s ease, background 0.2s ease;
}

.fz-td5 .td5-icon-btn:hover {
   border-color: var(--td5-navy);
   background: var(--td5-navy-soft);
}

.fz-td5 .td5-link-btn {
   border: 0;
   background: none;
   padding: 0.4rem 0.2rem;
   color: var(--td5-navy);
   font-size: 0.9rem;
   font-weight: 600;
   text-decoration: underline;
   text-underline-offset: 3px;
}

.fz-td5 .td5-pill-btn {
   display: inline-flex;
   align-items: center;
   gap: 0.45rem;
   height: 40px;
   padding: 0 1rem;
   border: 1px solid var(--td5-navy);
   border-radius: 999px;
   background: #fff;
   color: var(--td5-navy);
   font-size: 0.88rem;
   font-weight: 600;
   transition: background 0.2s ease, color 0.2s ease;
}

.fz-td5 .td5-pill-btn:hover {
   background: var(--td5-navy);
   color: #fff;
}

/* ---------- Title block ---------- */
.fz-td5 .td5-head {
   padding: 1.25rem 0 1rem;
}

.fz-td5 .td5-crumbs ol {
   display: flex;
   flex-wrap: nowrap;
   gap: 0.4rem;
   margin: 0 0 0.9rem;
   padding: 0;
   list-style: none;
   overflow-x: auto;
   scrollbar-width: none;
   font-size: 0.82rem;
   color: var(--td5-muted);
   white-space: nowrap;
}

.fz-td5 .td5-crumbs ol::-webkit-scrollbar {
   display: none;
}

.fz-td5 .td5-crumbs li + li::before {
   content: "›";
   margin-right: 0.4rem;
   color: #a0a8b4;
}

.fz-td5 .td5-crumbs a {
   color: var(--td5-muted);
   text-decoration: none;
}

.fz-td5 .td5-crumbs a:hover {
   color: var(--td5-navy);
   text-decoration: underline;
}

.fz-td5 .td5-crumbs li[aria-current] {
   color: var(--td5-ink);
   overflow: hidden;
   text-overflow: ellipsis;
   max-width: 40ch;
}

.fz-td5 .td5-head__row {
   display: flex;
   align-items: flex-end;
   justify-content: space-between;
   gap: 1rem 2rem;
   flex-wrap: wrap;
}

.fz-td5 .td5-head__main {
   flex: 1 1 520px;
   min-width: 0;
}

.fz-td5 .td5-head__title {
   margin: 0 0 0.6rem;
   font-size: clamp(1.6rem, 1.1rem + 1.8vw, 2.6rem);
   line-height: 1.15;
   color: var(--td5-ink);
}

.fz-td5 .td5-head__meta {
   display: flex;
   flex-wrap: wrap;
   gap: 0.4rem 1.25rem;
   margin: 0;
   padding: 0;
   list-style: none;
   font-size: 0.95rem;
   color: var(--td5-text);
}

.fz-td5 .td5-head__meta li {
   display: inline-flex;
   align-items: center;
   gap: 0.4rem;
}

.fz-td5 .td5-head__meta .bi {
   color: var(--td5-gold-dark);
}

.fz-td5 .td5-head__meta a {
   color: var(--td5-navy);
}

.fz-td5 .td5-head__rating .bi {
   color: #f5b301;
}

.fz-td5 .td5-head__actions {
   display: flex;
   align-items: center;
   gap: 0.5rem;
}

/* ---------- Gallery ---------- */
.fz-td5 .td5-gallery {
   margin-bottom: 1.5rem;
}

.fz-td5 .td5-gallery__frame {
   position: relative;
}

.fz-td5 .td5-gallery__grid {
   position: relative;
   display: grid;
   gap: 8px;
   height: clamp(280px, 38vw, 480px);
   border-radius: var(--td5-radius);
   overflow: hidden;
   grid-template-columns: 1fr;
}

.fz-td5 .td5-gallery__grid--1 {
   grid-template-columns: 2fr 1fr;
}

.fz-td5 .td5-gallery__grid--2 {
   grid-template-columns: 2fr 1fr;
   grid-template-rows: 1fr 1fr;
}

.fz-td5 .td5-gallery__grid--3 {
   grid-template-columns: 2fr 1fr 1fr;
   grid-template-rows: 1fr 1fr;
}

.fz-td5 .td5-gallery__grid--3 .td5-gallery__item:nth-of-type(2) {
   grid-column: 2 / span 2;
}

.fz-td5 .td5-gallery__grid--4 {
   grid-template-columns: 2fr 1fr 1fr;
   grid-template-rows: 1fr 1fr;
}

.fz-td5 .td5-gallery__item--main {
   grid-row: 1 / -1;
}

.fz-td5 .td5-gallery__item {
   position: relative;
   display: block;
   min-height: 0;
   overflow: hidden;
   background: #e9edf2;
}

.fz-td5 .td5-gallery__item picture,
.fz-td5 .td5-gallery__item img {
   display: block;
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1), filter 0.3s ease;
}

.fz-td5 .td5-gallery__item:hover img {
   transform: scale(1.04);
   filter: brightness(0.95);
}

.fz-td5 .td5-gallery__overlay {
   position: absolute;
   right: 14px;
   bottom: 14px;
   display: flex;
   gap: 0.5rem;
   z-index: 2;
}

.fz-td5 .td5-gallery__btn {
   display: inline-flex;
   align-items: center;
   gap: 0.45rem;
   height: 40px;
   padding: 0 1rem;
   border: 0;
   border-radius: 999px;
   background: rgba(255, 255, 255, 0.95);
   color: var(--td5-ink);
   font-size: 0.88rem;
   font-weight: 600;
   text-decoration: none;
   box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
   backdrop-filter: blur(6px);
}

.fz-td5 .td5-gallery__btn:hover {
   background: #fff;
   color: var(--td5-navy);
}

@media (max-width: 767.98px) {
   .fz-td5 .td5-gallery .container {
      padding-left: 0;
      padding-right: 0;
   }

   .fz-td5 .td5-gallery__grid {
      display: flex;
      height: 260px;
      gap: 6px;
      border-radius: 0;
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      scrollbar-width: none;
   }

   .fz-td5 .td5-gallery__grid::-webkit-scrollbar {
      display: none;
   }

   .fz-td5 .td5-gallery__item {
      flex: 0 0 88%;
      scroll-snap-align: start;
   }

   .fz-td5 .td5-gallery__item:last-child {
      scroll-snap-align: end;
   }

   .fz-td5 .td5-gallery__overlay {
      right: 12px;
      bottom: 12px;
   }

   .fz-td5 .td5-gallery__btn {
      height: 36px;
      font-size: 0.82rem;
   }
}

/* ---------- Booking card ---------- */
.fz-td5 .td5-book {
   padding: 1.4rem;
   border: 1px solid var(--td5-line);
   border-radius: var(--td5-radius);
   background: #fff;
   box-shadow: var(--td5-shadow);
}

.fz-td5 .td5-book__price {
   padding-bottom: 1rem;
   margin-bottom: 1rem;
   border-bottom: 1px dashed var(--td5-line);
}

.fz-td5 .td5-book__price-top {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 0.5rem;
   margin-bottom: 0.15rem;
}

.fz-td5 .td5-book__from {
   font-size: 0.8rem;
   font-weight: 600;
   letter-spacing: 0.08em;
   text-transform: uppercase;
   color: var(--td5-muted);
}

.fz-td5 .td5-book__offer {
   margin: 0;
}

.fz-td5 .td5-book__amount-row {
   display: flex;
   align-items: baseline;
   flex-wrap: wrap;
   gap: 0.35rem;
}

.fz-td5 .td5-book__amount {
   font-size: 2rem;
   font-weight: 800;
   line-height: 1.1;
   letter-spacing: -0.02em;
   color: var(--td5-navy);
}

.fz-td5 .td5-book__per {
   font-size: 0.95rem;
   font-weight: 600;
   color: var(--td5-muted);
}

.fz-td5 .td5-book__was-row {
   display: flex;
   align-items: center;
   flex-wrap: wrap;
   gap: 0.5rem;
   margin-top: 0.35rem;
}

.fz-td5 .td5-book__was {
   font-size: 0.95rem;
   font-weight: 600;
   color: #b42332;
}

.fz-td5 .td5-book__save {
   padding: 0.2rem 0.6rem;
   border-radius: 999px;
   background: #ecfdf3;
   color: #067647;
   font-size: 0.8rem;
   font-weight: 700;
}

.fz-td5 .td5-book__price--none .td5-book__from {
   font-size: 1.1rem;
   letter-spacing: 0;
   text-transform: none;
   color: var(--td5-ink);
}

.fz-td5 .td5-book__lead {
   margin: 0.4rem 0 0;
   font-size: 0.88rem;
   color: var(--td5-muted);
}

.fz-td5 .td5-book__facts {
   display: flex;
   flex-wrap: wrap;
   gap: 0.4rem 1rem;
   margin: 0 0 1rem;
   padding: 0;
   list-style: none;
   font-size: 0.9rem;
   color: var(--td5-text);
}

.fz-td5 .td5-book__facts li {
   display: inline-flex;
   align-items: center;
   gap: 0.4rem;
}

.fz-td5 .td5-book__facts .bi {
   color: var(--td5-gold-dark);
}

.fz-td5 .td5-book__ctas {
   display: grid;
   gap: 0.6rem;
}

.fz-td5 .td5-book__quick {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
   gap: 0.4rem;
   margin-top: 1rem;
}

.fz-td5 .td5-book__quick-link {
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 0.25rem;
   padding: 0.6rem 0.25rem;
   border: 1px solid var(--td5-line);
   border-radius: 12px;
   background: var(--td5-bg);
   color: var(--td5-ink);
   font-size: 0.78rem;
   font-weight: 600;
   text-decoration: none;
   transition: border-color 0.2s ease, background 0.2s ease;
}

.fz-td5 .td5-book__quick-link .bi {
   font-size: 1.1rem;
   color: var(--td5-navy);
}

.fz-td5 .td5-book__quick-link .bi-whatsapp {
   color: #25d366;
}

.fz-td5 .td5-book__quick-link:hover {
   border-color: var(--td5-navy);
   background: #fff;
   color: var(--td5-navy);
}

.fz-td5 .td5-book__trust {
   display: grid;
   gap: 0.45rem;
   margin: 1rem 0 0;
   padding: 1rem 0 0;
   border-top: 1px solid var(--td5-line);
   list-style: none;
   font-size: 0.85rem;
   color: var(--td5-text);
}

.fz-td5 .td5-book__trust li {
   display: flex;
   align-items: flex-start;
   gap: 0.5rem;
}

.fz-td5 .td5-book__trust .bi {
   margin-top: 0.1rem;
   color: #067647;
}

.fz-td5 .td5-mobile-book {
   margin-bottom: 1.25rem;
}

/* ---------- Section tabs ---------- */
.fz-td5 .td5-tabs {
   position: sticky;
   top: var(--td5-sticky-top);
   z-index: 30;
   margin-bottom: 1.5rem;
   background: rgba(255, 255, 255, 0.96);
   border-bottom: 1px solid var(--td5-line);
   backdrop-filter: saturate(1.4) blur(8px);
   transition: box-shadow 0.2s ease;
}

.fz-td5 .td5-tabs.is-stuck {
   box-shadow: 0 6px 16px rgba(16, 24, 40, 0.06);
}

.fz-td5 .td5-tabs__list {
   display: flex;
   gap: 0.25rem;
   margin: 0;
   padding: 0;
   list-style: none;
   overflow-x: auto;
   scrollbar-width: none;
}

.fz-td5 .td5-tabs__list::-webkit-scrollbar {
   display: none;
}

.fz-td5 .td5-tabs__list a {
   position: relative;
   display: block;
   padding: 1rem 0.9rem;
   color: var(--td5-muted);
   font-size: 0.92rem;
   font-weight: 600;
   white-space: nowrap;
   text-decoration: none;
   transition: color 0.2s ease;
}

.fz-td5 .td5-tabs__list a::after {
   content: "";
   position: absolute;
   left: 0.9rem;
   right: 0.9rem;
   bottom: -1px;
   height: 3px;
   border-radius: 3px 3px 0 0;
   background: var(--td5-gold);
   transform: scaleX(0);
   transition: transform 0.25s ease;
}

.fz-td5 .td5-tabs__list a:hover {
   color: var(--td5-ink);
}

.fz-td5 .td5-tabs__list a.is-active {
   color: var(--td5-navy);
}

.fz-td5 .td5-tabs__list a.is-active::after {
   transform: scaleX(1);
}

/* ---------- Layout ---------- */
.fz-td5 .td5-layout {
   --bs-gutter-x: 2.5rem;
   padding-bottom: 3rem;
}

body.fz-td5 #tour-details-sidebar.td5-aside {
   position: sticky;
   top: calc(var(--td5-sticky-top) + var(--td5-tabs-h) + 16px);
   max-height: none;
   overflow: visible;
   z-index: 1;
   display: grid;
   gap: 1rem;
}

.fz-td5 .td5-aside__card {
   padding: 1.2rem 1.25rem;
   border: 1px solid var(--td5-line);
   border-radius: var(--td5-radius);
   background: var(--td5-bg);
}

.fz-td5 .td5-aside__title {
   margin: 0 0 0.75rem;
   font-family: 'Facebook Sans', sans-serif !important;
   font-size: 1rem;
   font-weight: 700 !important;
   color: var(--td5-ink);
}

.fz-td5 .td5-aside__muted {
   margin: -0.4rem 0 0.75rem;
   font-size: 0.85rem;
   color: var(--td5-muted);
}

.fz-td5 .td5-services {
   display: grid;
   gap: 0.5rem;
}

.fz-td5 .td5-services .togo-sidebar-service-card {
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding: 0.75rem 0.9rem;
   border: 1px solid var(--td5-line);
   border-radius: 12px;
   background: #fff;
   color: var(--td5-ink);
   text-decoration: none;
   transition: border-color 0.2s ease, transform 0.2s ease;
}

.fz-td5 .td5-services .togo-sidebar-service-card:hover {
   border-color: var(--td5-gold);
   transform: translateX(2px);
}

.fz-td5 .td5-services .togo-sidebar-service-card__title {
   display: inline-flex;
   align-items: center;
   gap: 0.55rem;
   font-size: 0.9rem;
   font-weight: 600;
}

.fz-td5 .td5-services .togo-sidebar-service-card__title .bi {
   color: var(--td5-gold-dark);
}

.fz-td5 .td5-contact {
   display: grid;
   gap: 0.4rem;
   margin: 0;
   padding: 0;
   list-style: none;
}

.fz-td5 .td5-contact a,
.fz-td5 .td5-contact button {
   display: inline-flex;
   align-items: center;
   gap: 0.55rem;
   padding: 0.3rem 0;
   border: 0;
   background: none;
   color: var(--td5-navy);
   font-size: 0.92rem;
   font-weight: 600;
   text-decoration: none;
}

.fz-td5 .td5-contact a:hover,
.fz-td5 .td5-contact button:hover {
   text-decoration: underline;
}

/* ---------- Sections ---------- */
.fz-td5 .td5-section {
   padding: 2rem 0;
   border-bottom: 1px solid var(--td5-line);
}

.fz-td5 .td5-main > .td5-section:first-child {
   padding-top: 0;
}

.fz-td5 .td5-section__title {
   margin: 0 0 1.1rem;
   font-size: clamp(1.4rem, 1.1rem + 0.9vw, 1.85rem);
   line-height: 1.2;
   color: var(--td5-ink);
}

.fz-td5 .td5-section__head {
   display: flex;
   align-items: center;
   justify-content: space-between;
   flex-wrap: wrap;
   gap: 0.75rem;
   margin-bottom: 1.1rem;
}

.fz-td5 .td5-section__head .td5-section__title {
   margin: 0;
}

.fz-td5 .td5-section__tools {
   display: flex;
   align-items: center;
   gap: 0.75rem;
}

.fz-td5 .td5-section__intro {
   margin: -0.3rem 0 1.25rem;
   max-width: 70ch;
   color: var(--td5-muted);
}

/* Quick facts */
.fz-td5 .td5-facts {
   display: grid;
   grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
   gap: 0.75rem;
   margin: 0 0 1.5rem;
}

.fz-td5 .td5-fact {
   padding: 0.85rem 1rem;
   border: 1px solid var(--td5-line);
   border-radius: 12px;
   background: var(--td5-bg);
}

.fz-td5 .td5-fact dt {
   display: flex;
   align-items: center;
   gap: 0.4rem;
   margin-bottom: 0.2rem;
   font-size: 0.75rem;
   font-weight: 600;
   letter-spacing: 0.06em;
   text-transform: uppercase;
   color: var(--td5-muted);
}

.fz-td5 .td5-fact dt .bi {
   font-size: 0.9rem;
   color: var(--td5-gold-dark);
}

.fz-td5 .td5-fact dd {
   margin: 0;
   font-size: 0.98rem;
   font-weight: 700;
   line-height: 1.35;
   color: var(--td5-ink);
}

/* Overview prose + read more */
.fz-td5 .td5-prose {
   font-size: 1rem;
   line-height: 1.75;
   color: var(--td5-text);
}

.fz-td5 .td5-prose p {
   margin: 0 0 0.9rem;
}

.fz-td5 .td5-prose ul,
.fz-td5 .td5-prose ol {
   padding-left: 1.2rem;
   margin: 0 0 0.9rem;
}

.fz-td5 .td5-prose a {
   color: var(--td5-navy);
   text-decoration: underline;
}

.fz-td5 .td5-readmore.is-clamped:not(.is-open) .td5-readmore__body {
   position: relative;
   max-height: 11.5em;
   overflow: hidden;
}

.fz-td5 .td5-readmore.is-clamped:not(.is-open) .td5-readmore__body::after {
   content: "";
   position: absolute;
   left: 0;
   right: 0;
   bottom: 0;
   height: 4.5em;
   background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff);
}

.fz-td5 .td5-readmore__btn {
   margin-top: 0.25rem;
   padding: 0;
   border: 0;
   background: none;
   color: var(--td5-navy);
   font-weight: 700;
   text-decoration: underline;
   text-underline-offset: 3px;
}

.fz-td5 .td5-tags {
   margin-top: 1.25rem;
}

.fz-td5 .td5-tags .badge {
   display: inline-flex;
   align-items: center;
   gap: 0.35rem;
}

.fz-td5 .td5-fixed-dep {
   margin: 1.5rem 0 0;
}

/* Itinerary */
.fz-td5 .td5-itin {
   position: relative;
   margin: 0;
   padding: 0;
   list-style: none;
}

.fz-td5 .td5-itin::before {
   content: "";
   position: absolute;
   left: 31px;
   top: 24px;
   bottom: 24px;
   width: 2px;
   background: repeating-linear-gradient(to bottom, var(--td5-line) 0 6px, transparent 6px 12px);
}

.fz-td5 .td5-itin__day {
   position: relative;
   margin-bottom: 0.75rem;
}

.fz-td5 .td5-itin__details {
   border: 1px solid var(--td5-line);
   border-radius: 14px;
   background: #fff;
   transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.fz-td5 .td5-itin__details[open] {
   border-color: rgba(200, 168, 75, 0.5);
   box-shadow: var(--td5-shadow);
}

.fz-td5 .td5-itin__summary {
   display: flex;
   align-items: center;
   gap: 0.9rem;
   padding: 0.9rem 1rem;
   cursor: pointer;
   list-style: none;
}

.fz-td5 .td5-itin__summary::-webkit-details-marker {
   display: none;
}

.fz-td5 .td5-itin__badge {
   position: relative;
   z-index: 1;
   flex: 0 0 auto;
   min-width: 64px;
   padding: 0.35rem 0.6rem;
   border-radius: 999px;
   background: var(--td5-navy);
   color: #fff;
   font-size: 0.78rem;
   font-weight: 700;
   text-align: center;
   letter-spacing: 0.02em;
}

.fz-td5 .td5-itin__details[open] .td5-itin__badge {
   background: var(--td5-gold);
}

.fz-td5 .td5-itin__title {
   flex: 1 1 auto;
   margin: 0;
   font-family: 'Facebook Sans', sans-serif !important;
   font-size: 1rem;
   font-weight: 700 !important;
   line-height: 1.4;
   color: var(--td5-ink);
}

.fz-td5 .td5-itin__chev {
   flex: 0 0 auto;
   color: var(--td5-muted);
   transition: transform 0.25s ease;
}

.fz-td5 .td5-itin__details[open] .td5-itin__chev {
   transform: rotate(180deg);
}

.fz-td5 .td5-itin__body {
   padding: 0 1.1rem 1.1rem calc(64px + 1.9rem);
   font-size: 0.95rem;
   line-height: 1.7;
}

.fz-td5 .td5-itin__img {
   display: block;
   width: 100%;
   max-height: 300px;
   margin-bottom: 0.9rem;
   border-radius: 12px;
   object-fit: cover;
}

.fz-td5 .td5-itin__note {
   margin: 0 0 0.6rem;
   padding: 0.6rem 0.8rem;
   border-left: 3px solid var(--td5-gold);
   border-radius: 0 8px 8px 0;
   background: var(--td5-gold-soft);
   font-size: 0.9rem;
}

.fz-td5 .td5-itin__list {
   margin: 0 0 0.6rem;
   padding-left: 1.1rem;
}

.fz-td5 .td5-itin__list li {
   margin-bottom: 0.3rem;
}

.fz-td5 .td5-itin__meals {
   display: inline-flex;
   align-items: center;
   gap: 0.4rem;
   margin: 0;
   padding: 0.35rem 0.75rem;
   border-radius: 999px;
   background: var(--td5-navy-soft);
   color: var(--td5-navy);
   font-size: 0.85rem;
}

@media (max-width: 575.98px) {
   .fz-td5 .td5-itin::before {
      display: none;
   }

   .fz-td5 .td5-itin__body {
      padding: 0 1rem 1rem;
   }

   .fz-td5 .td5-itin__badge {
      min-width: 56px;
   }
}

/* Inclusions */
.fz-td5 .td5-perks {
   display: flex;
   flex-wrap: wrap;
   gap: 0.5rem;
   margin: 0 0 1.25rem;
   padding: 0;
   list-style: none;
}

.fz-td5 .td5-perks li {
   display: inline-flex;
   align-items: center;
   gap: 0.5rem;
   padding: 0.45rem 0.9rem 0.45rem 0.45rem;
   border: 1px solid var(--td5-line);
   border-radius: 999px;
   background: #fff;
   font-size: 0.9rem;
   font-weight: 600;
   color: var(--td5-ink);
}

.fz-td5 .td5-perks__icon {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 28px;
   height: 28px;
   border-radius: 50%;
   background: var(--td5-gold-soft);
   color: var(--td5-gold-dark);
   font-size: 0.85rem;
}

.fz-td5 .td5-incexc {
   display: grid;
   gap: 1rem;
}

.fz-td5 .td5-incexc--two {
   grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 767.98px) {
   .fz-td5 .td5-incexc--two {
      grid-template-columns: 1fr;
   }
}

.fz-td5 .td5-incexc__col {
   padding: 1.1rem 1.2rem;
   border: 1px solid var(--td5-line);
   border-radius: 14px;
}

.fz-td5 .td5-incexc__col--inc {
   background: #f6fbf8;
   border-color: #d3eedd;
}

.fz-td5 .td5-incexc__col--exc {
   background: #fdf7f7;
   border-color: #f3dcdc;
}

.fz-td5 .td5-incexc__title {
   display: flex;
   align-items: center;
   gap: 0.5rem;
   margin: 0 0 0.75rem;
   font-family: 'Facebook Sans', sans-serif !important;
   font-size: 1rem;
   font-weight: 700 !important;
   color: var(--td5-ink);
}

.fz-td5 .td5-incexc__col--inc .td5-incexc__title .bi {
   color: #12a150;
}

.fz-td5 .td5-incexc__col--exc .td5-incexc__title .bi {
   color: #d14343;
}

.fz-td5 .td5-incexc__col ul {
   margin: 0;
   padding: 0;
   list-style: none;
}

.fz-td5 .td5-incexc__col li {
   position: relative;
   padding: 0.35rem 0 0.35rem 1.5rem;
   font-size: 0.93rem;
   line-height: 1.55;
}

.fz-td5 .td5-incexc__col li::before {
   content: "";
   position: absolute;
   left: 0;
   top: 0.7rem;
   width: 14px;
   height: 14px;
   border-radius: 50%;
   background-position: center;
   background-repeat: no-repeat;
   background-size: 10px;
}

.fz-td5 .td5-incexc__col--inc li::before {
   background-color: #dcf5e6;
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2312a150'%3E%3Cpath d='M13.485 3.929a1 1 0 0 1 0 1.414l-6.364 6.364a1 1 0 0 1-1.414 0L2.515 8.515a1 1 0 1 1 1.414-1.414l2.485 2.485 5.657-5.657a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E");
}

.fz-td5 .td5-incexc__col--exc li::before {
   background-color: #fbe3e3;
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23d14343'%3E%3Cpath d='M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z' stroke='%23d14343' stroke-width='1.2'/%3E%3C/svg%3E");
}

/* Help band */
.fz-td5 .td5-help {
   display: flex;
   align-items: center;
   justify-content: space-between;
   flex-wrap: wrap;
   gap: 1.25rem;
   margin: 2rem 0;
   padding: 1.75rem;
   border-radius: var(--td5-radius);
   background: linear-gradient(135deg, var(--td5-navy) 0%, var(--td5-navy-2) 100%);
   color: rgba(255, 255, 255, 0.85);
}

.fz-td5 .td5-help__copy {
   flex: 1 1 320px;
}

.fz-td5 .td5-help__title {
   margin: 0 0 0.35rem;
   font-size: 1.5rem;
   color: #fff;
}

.fz-td5 .td5-help p {
   margin: 0;
   font-size: 0.95rem;
   color: rgba(255, 255, 255, 0.82) !important;
}

.fz-td5 .td5-help__actions {
   display: flex;
   flex-wrap: wrap;
   gap: 0.6rem;
}

/* FAQ */
.fz-td5 .td5-faq {
   display: grid;
   gap: 0.6rem;
}

.fz-td5 .td5-faq__item {
   border: 1px solid var(--td5-line);
   border-radius: 12px;
   background: #fff;
}

.fz-td5 .td5-faq__item[open] {
   background: var(--td5-bg);
}

.fz-td5 .td5-faq__q {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 1rem;
   padding: 1rem 1.1rem;
   cursor: pointer;
   list-style: none;
}

.fz-td5 .td5-faq__q::-webkit-details-marker {
   display: none;
}

.fz-td5 .td5-faq__q h3 {
   margin: 0;
   font-family: 'Facebook Sans', sans-serif !important;
   font-size: 1rem;
   font-weight: 600 !important;
   line-height: 1.45;
   color: var(--td5-ink);
}

.fz-td5 .td5-faq__q .bi {
   flex: 0 0 auto;
   color: var(--td5-navy);
   transition: transform 0.25s ease;
}

.fz-td5 .td5-faq__item[open] .td5-faq__q .bi {
   transform: rotate(45deg);
}

.fz-td5 .td5-faq__a {
   padding: 0 1.1rem 1.1rem;
   font-size: 0.95rem;
   line-height: 1.7;
}

.fz-td5 .td5-faq__a p,
.fz-td5 .td5-faq__a ul {
   margin: 0;
}

.fz-td5 .td5-qa:not(:empty) {
   padding-top: 2rem;
}

/* Related + reviews */
.fz-td5 .td5-related {
   padding: 3.5rem 0;
   background: var(--td5-bg);
}

.fz-td5 .td5-related__head {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 1rem;
   margin-bottom: 1.5rem;
}

.fz-td5 .td5-skeleton {
   border-radius: 6px;
   background: linear-gradient(90deg, #e8e8e8 25%, #f0f0f0 50%, #e8e8e8 75%);
   background-size: 200% 100%;
   animation: td5-shimmer 1.4s ease-in-out infinite;
}

.fz-td5 .td5-skeleton--img {
   height: 190px;
   border-radius: 17px 17px 0 0;
}

.fz-td5 .td5-skeleton--line {
   height: 16px;
   width: 85%;
   margin-bottom: 10px;
}

.fz-td5 .td5-skeleton--short {
   width: 55%;
}

@keyframes td5-shimmer {
   0% { background-position: 200% 0; }
   100% { background-position: -200% 0; }
}

/* Share modal */
.fz-td5 .td5-share-modal {
   border-radius: var(--td5-radius);
}

.fz-td5 .td5-share-list {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 0.5rem;
   margin: 0;
   padding: 0;
   list-style: none;
}

.fz-td5 .td5-share-list a {
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 0.35rem;
   padding: 0.85rem 0.25rem;
   border: 1px solid var(--td5-line);
   border-radius: 12px;
   color: var(--td5-ink);
   font-size: 0.82rem;
   font-weight: 600;
   text-decoration: none;
}

.fz-td5 .td5-share-list a .bi {
   font-size: 1.3rem;
   color: var(--td5-navy);
}

.fz-td5 .td5-share-list a:hover {
   border-color: var(--td5-navy);
   background: var(--td5-navy-soft);
}

/* The sidebar replaces the sticky bar on desktop; keep the bar for small screens. */
@media (min-width: 992px) {
   body.fz-td5 #fz-sticky-book-bar {
      display: none !important;
   }
}

@media (max-width: 991.98px) {
   .fz-td5 .td5-layout {
      --bs-gutter-x: 1.5rem;
   }

   .fz-td5 .td5-head__row {
      align-items: flex-start;
   }

   .fz-td5 .td5-help {
      padding: 1.4rem;
   }

   .fz-td5 .td5-help__actions,
   .fz-td5 .td5-help__actions .td5-btn {
      width: 100%;
   }
}

@media (prefers-reduced-motion: reduce) {
   .fz-td5 *,
   .fz-td5 *::before,
   .fz-td5 *::after {
      transition: none !important;
      animation: none !important;
      scroll-behavior: auto !important;
   }
}
