/**
 * Grasp the Adventure — trip CPT V4 skin (Figma 1979:2177)
 * Isolated overlay. Loads after trip-detail.css. Does not change ajax hooks.
 */

@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;700&family=Spline+Sans:wght@300;400;500;600;700&display=swap");

body.tbp-trip-detail-view {
  --gta-brand: #d75327;
  --gta-ink: #0c0c0c;
  --gta-teal: #075056;
  --gta-yellow: #ffde59;
  --gta-surface: #ecf0f1;
  --gta-neutral: #c9c9c9;
  --gta-white: #ffffff;
  --gta-font: "Spline Sans", "Inter", system-ui, sans-serif;
  --gta-font-ui: "Poppins", "Spline Sans", sans-serif;
  --tbp-detail-max-width: 1540px;
  --tbp-detail-gutter: 24px;
}

@media (min-width: 768px) {
  body.tbp-trip-detail-view {
    --tbp-detail-gutter: 40px;
  }
}

@media (min-width: 1025px) {
  body.tbp-trip-detail-view {
    --tbp-detail-gutter: 80px;
  }
}

@media (min-width: 1580px) {
  body.tbp-trip-detail-view {
    --tbp-detail-gutter: max(0px, calc((100vw - 1540px) / 2));
  }
}

body.tbp-trip-detail-view .tbp-detail-page.gta-trip-v4 {
  font-family: var(--gta-font);
  color: var(--gta-ink);
  background: var(--gta-surface);
  padding: 0 0 80px;
}

/* Flush hero under the V3 header. Astra customizer sets
   .ast-plain-container.ast-no-sidebar #primary { margin-top: 60px } at ≥1200px. */
body.tbp-trip-detail-view.ast-plain-container.ast-no-sidebar #primary {
  margin-top: 0 !important;
}

body.tbp-trip-detail-view .gta-trip-v4 .tbp-detail-container {
  box-sizing: border-box;
  width: 100%;
  max-width: 1540px;
  margin-top: 0 !important;
  margin-left: auto;
  margin-right: auto;
  padding: 0 24px;
}

@media (min-width: 768px) {
  body.tbp-trip-detail-view .gta-trip-v4 .tbp-detail-container {
    padding: 0 40px;
  }
}

@media (min-width: 1580px) {
  body.tbp-trip-detail-view .gta-trip-v4 .tbp-detail-container {
    padding: 0;
  }
}

/* -------------------------------------------------------------------------
   Hero — full-bleed overlay title + GALLERY
   ------------------------------------------------------------------------- */

.gta-trip-v4 .gta-hero-bleed {
  position: relative;
  width: 100%;
  margin: 0 0 28px;
}

.gta-trip-v4 .tbp-detail-gallery,
.gta-trip-v4 .tbp-detail-gallery--solo {
  --tbp-gallery-height: min(919px, 72vw);
  height: var(--tbp-gallery-height);
  margin: 0;
}

.gta-trip-v4 .tbp-detail-gallery-main {
  border-radius: 0;
  height: 100%;
}

.gta-trip-v4 .gta-hero-sa .tbp-detail-gallery-main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 35%;
}

.gta-trip-v4 .tbp-detail-gallery-main::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 52%;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.72) 100%);
  pointer-events: none;
  z-index: 1;
}

.gta-trip-v4 .gta-hero-bleed .tbp-detail-hero {
  position: absolute;
  left: var(--tbp-detail-gutter);
  right: 240px;
  bottom: 56px;
  z-index: 2;
  margin: 0;
  text-align: left;
}

.gta-trip-v4 .tbp-detail-title {
  font-family: var(--gta-font);
  font-weight: 500;
  font-size: clamp(34px, 4.2vw, 64px);
  line-height: 1.02;
  color: rgba(255, 255, 255, 0.92);
}

.gta-trip-v4 .gta-hero-lead,
.gta-trip-v4 .gta-hero-place {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}

.gta-trip-v4 .gta-hero-lead {
  color: rgba(255, 255, 255, 0.92);
}

.gta-trip-v4 .gta-hero-place {
  color: var(--gta-yellow);
}

.gta-trip-v4 .tbp-detail-gallery-see-more {
  right: var(--tbp-detail-gutter);
  bottom: 56px;
  z-index: 3;
  gap: 18px;
  min-height: 46px;
  padding: 12px 28px;
  border-radius: 50px;
  background: rgba(255, 222, 89, 0.6) !important;
  color: #000 !important;
  font-family: var(--gta-font-ui);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
  transition: background 0.25s ease, background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.gta-trip-v4 .tbp-detail-gallery-see-more:hover,
.gta-trip-v4 .tbp-detail-gallery-see-more:focus {
  background: var(--gta-white) !important;
  color: #000 !important;
}

.gta-trip-v4 .tbp-detail-gallery-see-more-arrow {
  display: block;
  width: 28px;
  max-width: 28px;
  height: 14.7279px;
  filter: none;
}

.gta-trip-v4 .gta-hero-bleed--plain {
  background: var(--gta-teal);
  min-height: 220px;
  display: flex;
  align-items: flex-end;
  padding: 40px var(--tbp-detail-gutter) 48px;
}

.gta-trip-v4 .gta-hero-bleed--plain .tbp-detail-hero {
  position: static;
  margin: 0;
  text-align: left;
}

/* -------------------------------------------------------------------------
   Pills
   ------------------------------------------------------------------------- */

.gta-trip-v4 .tbp-detail-nav {
  position: sticky;
  top: var(--tbp-sticky-top, 0px);
  z-index: 60;
  background: var(--gta-surface);
  margin: 8px 0 36px;
  padding: 8px 0;
}

.gta-trip-v4 .tbp-detail-nav-track {
  gap: 10px;
}

.gta-trip-v4 .tbp-detail-nav-link,
body.tbp-trip-detail-view .gta-trip-v4 .tbp-detail-nav-link {
  min-height: 41px;
  padding: 8px 18px;
  border-radius: 50px;
  background: #000;
  color: var(--gta-white);
  font-family: var(--gta-font);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.56;
  text-transform: none;
  transition: background 0.25s ease, background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

body.tbp-trip-detail-view .gta-trip-v4 .tbp-detail-nav-link.is-active,
body.tbp-trip-detail-view .gta-trip-v4 .tbp-detail-nav-link.is-active:hover,
body.tbp-trip-detail-view .gta-trip-v4 .tbp-detail-nav-link.is-active:focus {
  background: var(--gta-brand);
  color: var(--gta-white);
}

/* Hover only on devices that really hover; :focus/sticky touch-hover made a tapped pill look active. */
@media (hover: hover) and (pointer: fine) {
  body.tbp-trip-detail-view .gta-trip-v4 .tbp-detail-nav-link:not(.is-active):hover {
    background: var(--gta-brand);
    color: var(--gta-white);
  }
}

/* -------------------------------------------------------------------------
   Glance 3×2
   ------------------------------------------------------------------------- */

.gta-trip-v4 .tbp-detail-experience-section {
  margin-bottom: 0;
}

.gta-trip-v4 .tbp-detail-experience-section > h2,
.gta-trip-v4 .gta-glance-title {
  margin: 0 0 24px;
  font-family: var(--gta-font);
  font-weight: 500;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.2;
  color: var(--gta-ink);
}

.gta-trip-v4 .gta-glance-grid,
.gta-trip-v4 .tbp-detail-experience-list.gta-glance-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  width: 100%;
  max-width: 892px;
  margin: 0 0 70px;
}

.gta-trip-v4 .gta-glance-grid .tbp-detail-experience-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  min-height: 198px;
  padding: 38px 16px 20px;
  border: 2px solid #d0d0d0;
  border-radius: 10px;
  background: var(--gta-white);
  text-align: center;
}

.gta-trip-v4 .gta-glance-grid .tbp-detail-experience-icon,
.gta-trip-v4 .gta-glance-grid .tbp-detail-section .tbp-detail-experience-icon {
  order: 1;
  width: 42px;
  max-width: 42px;
  height: 45px;
  margin: 0 auto 22px;
  object-fit: contain;
  filter: none;
}

.gta-trip-v4 .gta-glance-grid .tbp-detail-experience-label {
  order: 2;
  display: block;
  font-family: var(--gta-font);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.56;
  color: var(--gta-ink);
}

.gta-trip-v4 .gta-glance-grid .tbp-detail-experience-value {
  order: 3;
  display: block;
  margin-top: 0;
  font-family: var(--gta-font);
  font-size: 21px;
  font-weight: 600;
  line-height: 1.56;
  color: var(--gta-ink);
  text-align: center;
}

/* -------------------------------------------------------------------------
   Two-column + accordion heads
   ------------------------------------------------------------------------- */

@media (min-width: 961px) {
  body.tbp-trip-detail-view .gta-trip-v4 .tbp-detail-layout,
  body.tbp-trip-detail-view .gta-trip-v4 .gta-layout-glance {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 451px !important;
    gap: 68px;
    align-items: start;
  }

  body.tbp-trip-detail-view .gta-trip-v4 .tbp-detail-sidebar {
    position: sticky !important;
    top: calc(var(--tbp-sticky-top, 0px) + var(--tbp-detail-nav-height, 56px) + 12px);
    align-self: start;
    width: 451px !important;
    max-width: 451px !important;
    justify-self: stretch !important;
  }
}

.gta-trip-v4 .tbp-detail-section {
  margin-bottom: 0;
}

.gta-trip-v4 details.gta-acc {
  margin: 0;
  border: 0;
}

.gta-trip-v4 details.gta-acc > summary.gta-acc-head {
  list-style: none;
  cursor: pointer;
}

.gta-trip-v4 details.gta-acc > summary.gta-acc-head::-webkit-details-marker,
.gta-trip-v4 details.gta-acc > summary.gta-acc-head::marker {
  display: none;
  content: none;
}

.gta-trip-v4 .gta-acc-head {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  height: 60px;
  min-height: 60px;
  max-height: 60px;
  margin: 0 0 42px;
  padding: 0 20px 0 24px;
  border-radius: 50px;
  background: var(--gta-brand);
}

.gta-trip-v4 .gta-acc-panel {
  padding: 0 4px 8px;
}

.gta-trip-v4 .gta-acc-head h2,
.gta-trip-v4 .tbp-detail-section .gta-acc-head h2,
.gta-trip-v4 .tbp-detail-brochure .gta-acc-head h2 {
  margin: 0;
  flex: 1 1 auto;
  font-family: var(--gta-font);
  font-size: 24px;
  font-weight: 500;
  line-height: 1.02;
  color: var(--gta-white);
}

@property --gta-acc-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 90deg;
}

.gta-trip-v4 img.gta-acc-toggle {
  display: block;
  flex: 0 0 31px;
  width: 31px;
  height: 31px;
  border: 0;
  background: transparent;
  transform-origin: 50% 50%;
  /* Spec: 0deg = top-facing, 90deg = left (closed), 180deg = down (open).
     SVG is drawn pointing down, so visual rotate = 180deg − spec.
     Close interpolates 180 → 90 only (not 180 → 270 → 0). */
  --gta-acc-angle: 90deg;
  transform: rotate(calc(180deg - var(--gta-acc-angle)));
  transition: --gta-acc-angle 0.25s ease, transform 0.25s ease, background 0.25s ease, background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.gta-trip-v4 details.gta-acc[open] img.gta-acc-toggle {
  --gta-acc-angle: 180deg;
}

.gta-trip-v4 details.gta-acc:not([open]) img.gta-acc-toggle {
  --gta-acc-angle: 90deg;
}

.gta-trip-v4 .tbp-detail-section-head {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  margin-bottom: 8px;
}

.gta-trip-v4 .tbp-detail-section-head .gta-acc-head {
  margin-bottom: 0;
}

.gta-trip-v4 .tbp-detail-download-btn,
.gta-trip-v4 .tbp-detail-brochure,
.gta-trip-v4 #tbp-section-brochure,
.gta-trip-v4 .tbp-detail-events-banner {
  display: none !important;
}

.gta-trip-v4 .tbp-detail-rich-text,
.gta-trip-v4 .tbp-detail-rich-text p,
.gta-trip-v4 .tbp-detail-rich-text li,
.gta-trip-v4 .tbp-detail-description-section {
  font-family: var(--gta-font);
  font-size: 18px;
  line-height: 1.56;
  color: var(--gta-ink);
}

.gta-trip-v4 .tbp-detail-rich-text p,
.gta-trip-v4 .tbp-detail-rich-text li {
  color: var(--gta-ink) !important;
}

.gta-trip-v4 .tbp-detail-rich-text h2,
.gta-trip-v4 .tbp-detail-rich-text h3,
.gta-trip-v4 .tbp-detail-rich-text h4,
.gta-trip-v4 .tbp-detail-rich-text h2 *,
.gta-trip-v4 .tbp-detail-rich-text h3 *,
.gta-trip-v4 .tbp-detail-rich-text h4 *,
.gta-trip-v4 .gta-itinerary p > strong,
.gta-trip-v4 .gta-itinerary p > strong *,
.gta-trip-v4 .tbp-detail-rich-text p:has(> strong:only-child),
.gta-trip-v4 .tbp-detail-rich-text p:has(> strong:only-child) * {
  font-family: var(--gta-font) !important;
  color: var(--gta-brand) !important;
  font-weight: 600 !important;
}

.gta-trip-v4 .tbp-detail-rich-text a {
  color: var(--gta-brand);
}

.gta-trip-v4 .tbp-detail-rich-text div[style*="flex-wrap"] {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px !important;
  margin: 24px 0 !important;
  width: 100%;
  max-width: 100%;
}

.gta-trip-v4 .tbp-detail-rich-text div[style*="flex-wrap"] > p {
  display: none !important;
}

.gta-trip-v4 .tbp-detail-rich-text div[style*="flex: 1 1 260px"] {
  background: var(--gta-white) !important;
  border: 2px solid #d0d0d0 !important;
  border-radius: 10px !important;
  padding: 20px 16px !important;
  text-align: center !important;
  flex: none !important;
  min-width: 0 !important;
}

.gta-trip-v4 .tbp-detail-rich-text div[style*="flex: 1 1 260px"] h4 {
  color: var(--gta-brand) !important;
  font-family: var(--gta-font) !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  margin: 0 0 8px !important;
}

.gta-trip-v4 .tbp-detail-rich-text div[style*="flex: 1 1 260px"] p {
  color: var(--gta-ink) !important;
  font-size: inherit !important;
  margin: 0 !important;
}

.gta-trip-v4 .gta-split-lists {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 20px;
}

.gta-trip-v4 .gta-split-lists h3,
.gta-trip-v4 .gta-itinerary h3 {
  margin: 0 0 12px;
  font-family: var(--gta-font);
  font-size: 21px;
  font-weight: 600;
  line-height: 1.56;
  color: var(--gta-brand);
}

.gta-trip-v4 .gta-packing h3 {
  margin: 0 0 20px;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.56;
  color: var(--gta-brand);
}

.gta-trip-v4 .gta-packing > div > ul + h3 {
  margin-top: 36px;
}

.gta-trip-v4 #tbp-section-packing .gta-acc-panel > p {
  margin: 0 0 36px;
}

.gta-trip-v4 .gta-packing .gta-plain-list li {
  margin: 0 0 13px;
  font-size: 18px;
  line-height: 1.56;
}

.gta-trip-v4 .gta-packing .gta-plain-list li:last-child {
  margin-bottom: 0;
}

.gta-trip-v4 .gta-inc-exc h3 {
  padding-bottom: 10px;
  margin-bottom: 22px;
  border-bottom: 2px solid #787878;
}

.gta-trip-v4 .gta-icon-list,
.gta-trip-v4 .gta-plain-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.gta-trip-v4 .gta-icon-list li {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin: 0 0 22px;
  padding: 0;
  font-size: 18px;
  line-height: 1.4;
  color: var(--gta-ink);
}

.gta-trip-v4 .gta-icon-list .gta-li-icon {
  flex: 0 0 auto;
  margin-top: 4px;
}

.gta-trip-v4 .gta-plain-list li {
  margin: 0 0 6px;
  padding: 0;
  font-size: 18px;
  line-height: 1.56;
  color: var(--gta-ink);
}

.gta-trip-v4 .gta-itinerary h3 {
  margin: 0 0 10px;
}

.gta-trip-v4 .gta-itinerary p {
  margin: 0 0 28px;
  font-size: 18px;
  line-height: 1.56;
  color: var(--gta-ink);
}

.gta-trip-v4 .gta-cancel h3,
.gta-trip-v4 .gta-cancel .tbp-detail-rich-text h3 {
  margin: 8px 0 10px;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.56;
  color: var(--gta-brand);
}

.gta-trip-v4 .gta-cancel p {
  margin: 0 0 22px;
}

.gta-trip-v4 .gta-cancel ul {
  margin: 0 0 22px;
  padding-left: 1.3em;
}

.gta-trip-v4 .gta-acc-panel,
.gta-trip-v4 .gta-cancel .gta-acc-panel,
.gta-trip-v4 .gta-cancel .tbp-detail-rich-text,
.gta-trip-v4 .gta-cancel li,
.gta-trip-v4 .gta-cancel p {
  overflow: visible !important;
  max-height: none !important;
  height: auto !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  text-overflow: unset !important;
  white-space: normal !important;
}

.gta-trip-v4 .tbp-detail-section-divider {
  display: none;
}

/* -------------------------------------------------------------------------
   Booking card — teal header
   ------------------------------------------------------------------------- */

.gta-trip-v4 .tbp-detail-sidebar {
  width: 100%;
  max-width: 451px !important;
  justify-self: stretch !important;
}

.gta-trip-v4 .tbp-detail-booking-card {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  overflow: hidden;
  padding: 0;
  border-radius: 10px;
  background: var(--gta-white);
}

.gta-trip-v4 .gta-booking-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 82px;
  min-height: 82px;
  padding: 8px 20px 6px;
  border-radius: 10px 10px 2px 2px;
  background: var(--gta-teal);
  color: var(--gta-white);
  text-align: center;
}

.gta-trip-v4 .gta-booking-title {
  margin: 0;
  font-family: var(--gta-font);
  font-size: 30px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--gta-yellow);
}

.gta-trip-v4 .gta-booking-dates {
  margin: 4px 0 0;
  font-family: var(--gta-font);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.56;
  color: var(--gta-white);
}

.gta-trip-v4 .gta-booking-body {
  padding: 17px 30px 18px;
}

.gta-trip-v4 .tbp-detail-date-badge {
  display: none;
}

.gta-trip-v4 .tbp-detail-sidebar-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
}

.gta-trip-v4 .tbp-detail-sidebar-item {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px;
  min-height: 36px;
  padding: 0;
  font-family: var(--gta-font);
  font-size: 15px;
}

.gta-trip-v4 .tbp-detail-sidebar-item-main {
  display: flex;
  align-items: center;
  gap: 20px;
}

.gta-trip-v4 .tbp-detail-sidebar-icon {
  width: 20px;
  height: 20px;
  object-fit: contain;
}

.gta-trip-v4 .tbp-detail-sidebar-label {
  font-weight: 500;
  line-height: 36px;
  color: #000;
}

.gta-trip-v4 .tbp-detail-sidebar-value {
  font-weight: 400;
  text-align: right;
  color: #000;
}

.gta-trip-v4 .tbp-detail-price-block {
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  margin: 0 0 14px;
  padding-top: 14px;
  border-top: 1px solid #111;
  font-family: var(--gta-font);
}

.gta-trip-v4 .tbp-detail-price-value,
.gta-trip-v4 .tbp-detail-early-bird-amount {
  font-size: 30px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--gta-brand);
}

.gta-trip-v4 .tbp-detail-early-bird {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-size: 14px;
  font-weight: 500;
}

.gta-trip-v4 .tbp-detail-early-bird-base {
  order: -1;
  margin: 0 0 2px;
  font-size: 18px;
  font-weight: 600;
  color: #111;
  text-decoration: line-through;
  text-decoration-color: #ff3737;
}

.gta-trip-v4 .tbp-detail-early-bird-expiry,
.gta-trip-v4 .tbp-detail-price-sub {
  font-family: var(--gta-font);
  font-size: 12px;
  font-weight: 400;
  line-height: 14px;
  color: #111;
}

.gta-trip-v4 .tbp-detail-early-bird-kicker {
  font-weight: 500;
}

.gta-trip-v4 .tbp-detail-early-bird-until {
  font-weight: 400;
}

.gta-trip-v4 .tbp-detail-sidebar-policies,
.gta-trip-v4 .tbp-detail-guide-note {
  display: none !important;
}

.gta-trip-v4 .gta-booking-deposit {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin: 0 0 22px;
  padding-top: 16px;
  border-top: 1px solid #111;
  font-family: var(--gta-font);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.4;
  color: var(--gta-ink);
}

.gta-trip-v4 .gta-booking-deposit img {
  width: 20px;
  height: 20px;
  margin-top: 1px;
  object-fit: contain;
}

.gta-trip-v4 .tbp-detail-book-btn,
.gta-trip-v4 a.tbp-detail-book-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 243.6px;
  max-width: 100%;
  min-height: 60px;
  height: 60px;
  margin: 0 auto 18px;
  padding: 0 28px;
  border-radius: 60px;
  background: var(--gta-brand);
  font-family: var(--gta-font-ui);
  font-size: 21px;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
  transition: background 0.25s ease, background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.gta-trip-v4 .tbp-detail-book-btn:hover,
.gta-trip-v4 .tbp-detail-book-btn:focus {
  background: #000;
  color: var(--gta-white);
}

.gta-trip-v4 .tbp-detail-book-btn-label {
  flex: 0 1 auto;
  text-align: center;
}

.gta-trip-v4 .tbp-detail-book-btn-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  margin-left: 10px;
}

.gta-trip-v4 .tbp-detail-book-btn-icon img {
  display: block;
  width: 18.4615px;
  max-width: 18.4615px;
  height: 20px;
  transform: rotate(90deg);
  filter: none;
}

.gta-trip-v4 .gta-booking-extras {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 20px;
}

.gta-trip-v4 .gta-booking-extra {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-family: var(--gta-font);
  font-size: 15px;
  line-height: 1.56;
  color: var(--gta-ink);
}

.gta-trip-v4 .gta-booking-extra img {
  width: 21px;
  height: 21px;
  object-fit: contain;
}

.gta-trip-v4 .tbp-detail-sidebar-footer-divider {
  display: none;
}

.gta-trip-v4 .tbp-detail-sidebar-footer-text {
  margin: 0 0 14px;
  font-family: var(--gta-font);
  font-size: 16px;
  line-height: 1.56;
  text-align: center;
  color: var(--gta-ink);
}

.gta-trip-v4 .tbp-detail-sidebar-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.gta-trip-v4 .tbp-detail-sidebar-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  height: 56px;
  padding: 0 12px;
  border-radius: 50px;
  font-family: var(--gta-font-ui);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.2;
  text-transform: capitalize;
  text-decoration: none;
  transition: background 0.25s ease, background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.gta-trip-v4 .gta-booking-footnote {
  margin: 14px 0 0;
  font-family: var(--gta-font);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.56;
  text-align: center;
  color: var(--gta-ink);
}

.gta-trip-v4 .tbp-detail-sidebar-action--enquiry {
  background: #0e0e0e;
  border-color: #0e0e0e;
  color: var(--gta-white);
}

.gta-trip-v4 .tbp-detail-sidebar-action--enquiry:hover,
.gta-trip-v4 .tbp-detail-sidebar-action--enquiry:focus {
  background: var(--gta-brand);
  border-color: var(--gta-brand);
  color: var(--gta-white);
}

.gta-trip-v4 .tbp-detail-sidebar-action--call {
  background: #d9d9d9;
  border-color: #d9d9d9;
  color: #000;
}

.gta-trip-v4 .tbp-detail-sidebar-action--call:hover,
.gta-trip-v4 .tbp-detail-sidebar-action--call:focus {
  background: #000;
  border-color: #000;
  color: var(--gta-white);
}

/* -------------------------------------------------------------------------
   More trips chrome
   ------------------------------------------------------------------------- */

.gta-trip-v4 .tbp-detail-more-trips {
  margin-top: 103px;
  padding-top: 95px;
  border-top: 1px solid rgba(12, 12, 12, 0.18);
}

.gta-trip-v4 .gta-more-kicker {
  display: none !important;
}

.gta-trip-v4 .tbp-detail-more-trips h2 {
  margin: 0 0 71px;
  font-family: var(--gta-font);
  font-size: 48px;
  font-weight: 500;
  line-height: 1.02;
  color: #d75327;
  text-align: center;
}

.gta-trip-v4 .tbp-detail-more-carousel .tbp-detail-more-track,
.gta-trip-v4 .tbp-detail-more-carousel.is-static .tbp-detail-more-track {
  display: flex !important;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: flex-start;
  gap: 21px !important;
  width: max-content !important;
  max-width: none !important;
  grid-template-columns: none !important;
}

.gta-trip-v4 .tbp-detail-more-carousel .tbp-card,
.gta-trip-v4 .tbp-detail-more-carousel.is-static .tbp-card,
.gta-trip-v4 .tbp-detail-more-carousel.is-static .tbp-card:only-child {
  flex: 0 0 369px !important;
  width: 369px !important;
  max-width: 369px !important;
  min-width: 369px;
  height: 517px !important;
  min-height: 517px;
}

.gta-trip-v4 .tbp-detail-more-carousel .tbp-cards-scroll-viewport {
  min-height: 517px;
}

.gta-trip-v4 .tbp-detail-more-trips .tbp-card {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  background: #111;
}

.gta-trip-v4 .tbp-detail-more-trips .tbp-card-body {
  display: block;
  position: relative;
  min-height: 517px;
  height: 517px;
}

.gta-trip-v4 .tbp-detail-more-trips .tbp-card-image,
.gta-trip-v4 .tbp-detail-more-carousel .tbp-card-image {
  position: absolute !important;
  inset: 0 !important;
  flex: none !important;
  max-width: none !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: 0 !important;
}

.gta-trip-v4 .tbp-detail-more-trips .tbp-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gta-trip-v4 .tbp-detail-more-trips .tbp-card-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 80, 86, 0) 42%, rgba(7, 80, 86, 0.92) 100%);
}

.gta-trip-v4 .tbp-detail-more-trips .tbp-card-info {
  position: relative;
  z-index: 2;
  display: block;
  min-height: 517px;
  height: 517px;
  padding: 0;
  color: #fff;
}

.gta-trip-v4 .tbp-detail-more-trips .tbp-card-desc,
.gta-trip-v4 .tbp-detail-more-trips .tbp-card-meta,
.gta-trip-v4 .tbp-detail-more-trips .tbp-card-price-badge,
.gta-trip-v4 .tbp-detail-more-trips .tbp-card-tags,
.gta-trip-v4 .tbp-detail-more-trips .tbp-card-header-row {
  display: none;
}

.gta-trip-v4 .tbp-detail-more-trips .gta-more-chip {
  position: absolute;
  top: 30px;
  left: 30px;
  display: flex;
  align-items: center;
  height: 41px;
  max-width: calc(100% - 80px);
  z-index: 3;
}

.gta-trip-v4 .tbp-detail-more-trips .gta-more-chip-pin {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 41px;
  width: 41px;
  height: 41px;
  border-radius: 20.5px;
  background: var(--gta-brand);
  z-index: 1;
}

.gta-trip-v4 .tbp-detail-more-trips .gta-more-chip-pin img {
  display: block;
  width: 27.3px;
  height: 17.57px;
}

.gta-trip-v4 .tbp-detail-more-trips .gta-more-chip-label {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  height: 41px;
  min-width: 160px;
  margin-left: -25px;
  padding: 0 18px 0 35px;
  border-radius: 10px 50px 50px 10px;
  background: rgba(0, 0, 0, 0.6);
  color: var(--gta-yellow);
  font-family: var(--gta-font);
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  text-transform: none;
  white-space: nowrap;
}

.gta-trip-v4 .tbp-detail-more-trips .gta-more-heart-btn {
  position: absolute;
  top: 36px;
  right: 17px;
  left: auto;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 27px;
  height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.gta-trip-v4 .tbp-detail-more-trips .gta-more-heart {
  display: block;
  width: 27px;
  height: 24px;
}

.gta-trip-v4 .tbp-card-title,
.gta-trip-v4 .tbp-detail-more-trips .tbp-card-title {
  position: absolute;
  top: 353px;
  left: 30px;
  right: 30px;
  height: 71px;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  font-family: var(--gta-font);
  font-size: 30px;
  font-weight: 600;
  line-height: normal;
  color: #fff;
  text-align: left;
}

.gta-trip-v4 .tbp-detail-more-trips .gta-more-footer {
  position: static;
}

.gta-trip-v4 .tbp-card-date-badge,
.gta-trip-v4 .tbp-detail-more-trips .tbp-card-date-badge {
  position: absolute;
  top: auto;
  bottom: 30px;
  left: 30px;
  right: 168px;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  background: transparent;
  color: #fff;
  font-family: var(--gta-font);
  font-size: 15px;
  font-weight: 400;
  line-height: 22px;
}

.gta-trip-v4 .tbp-detail-more-trips .tbp-card-btn {
  position: absolute;
  top: 452px;
  right: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex: 0 0 129px;
  width: 129.18px;
  min-width: 129.18px;
  min-height: 35px;
  height: 35px;
  padding: 0 14px;
  border: 0;
  border-radius: 50px;
  background: var(--gta-brand);
  color: #fff;
  font-family: var(--gta-font);
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  transition: background 0.25s ease, background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.gta-trip-v4 .tbp-detail-more-trips .tbp-card-btn:hover,
.gta-trip-v4 .tbp-detail-more-trips .tbp-card-btn:focus {
  background: #000;
  border: 0;
  color: #fff;
}

.gta-trip-v4 .tbp-detail-more-trips .tbp-card-btn span:first-child {
  font-size: 15px;
}

.gta-trip-v4 .tbp-detail-more-trips .gta-more-grasp-icon {
  display: block;
  width: 14px;
  height: 15px;
  transform: rotate(90deg);
}

.gta-trip-v4 .tbp-detail-more-trips .tbp-card-btn-arrow {
  display: none;
}

/* -------------------------------------------------------------------------
   Brochure / enquiry (light restyle, hooks unchanged)
   ------------------------------------------------------------------------- */

.gta-trip-v4 .tbp-detail-brochure {
  margin-top: 8px;
}

.gta-trip-v4 .tbp-enquiry-submit,
.gta-trip-v4 .tbp-detail-brochure-btn {
  border-radius: 50px;
  background: var(--gta-brand);
  font-family: var(--gta-font-ui);
  font-weight: 700;
  text-transform: uppercase;
}

/* -------------------------------------------------------------------------
   Breakpoints — laptop 1366 / tablet 1024 / mobile 767
   ------------------------------------------------------------------------- */

@media (max-width: 1366px) {
  .gta-trip-v4 .tbp-detail-gallery,
  .gta-trip-v4 .tbp-detail-gallery--solo {
    --tbp-gallery-height: min(680px, 58vw);
  }

  .gta-trip-v4 .gta-hero-bleed .tbp-detail-hero,
  .gta-trip-v4 .tbp-detail-gallery-see-more {
    bottom: 36px;
  }
}

@media (max-width: 1024px) {
  .gta-trip-v4 .gta-glance-grid,
  .gta-trip-v4 .tbp-detail-experience-list.gta-glance-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gta-trip-v4 .gta-glance-grid .tbp-detail-experience-item {
    min-height: 170px;
  }

  .gta-trip-v4 .gta-hero-bleed .tbp-detail-hero {
    right: 28px;
    bottom: 88px;
  }

  .gta-trip-v4 .tbp-detail-gallery-see-more {
    bottom: 24px;
  }
}

@media (max-width: 767px) {
  body.tbp-trip-detail-view .tbp-detail-page.gta-trip-v4 {
    padding-bottom: 120px;
  }

  .gta-trip-v4 .tbp-detail-gallery,
  .gta-trip-v4 .tbp-detail-gallery--solo {
    --tbp-gallery-height: min(300px, 68vw);
  }

  .gta-trip-v4 .gta-hero-bleed .tbp-detail-hero {
    left: 16px;
    right: 16px;
    bottom: 56px;
  }

  .gta-trip-v4 .tbp-detail-gallery-see-more {
    right: 12px;
    bottom: 14px;
    min-height: 34px;
    padding: 8px 14px;
    font-size: 14px;
    gap: 10px;
  }

  .gta-trip-v4 .tbp-detail-gallery-see-more-arrow {
    width: 20px;
    max-width: 20px;
    height: 11px;
  }

  .gta-trip-v4 .gta-split-lists {
    grid-template-columns: 1fr;
  }

  .gta-trip-v4 .gta-glance-grid,
  .gta-trip-v4 .tbp-detail-experience-list.gta-glance-grid {
    grid-template-columns: 1fr;
    gap: 8px;
    margin-bottom: 36px;
  }

  .gta-trip-v4 .gta-glance-grid .tbp-detail-experience-item {
    min-height: 108px;
    padding: 16px 12px 12px;
  }

  .gta-trip-v4 .gta-glance-grid .tbp-detail-experience-icon,
  .gta-trip-v4 .gta-glance-grid .tbp-detail-section .tbp-detail-experience-icon {
    width: 28px;
    max-width: 28px;
    height: 30px;
    margin: 0 auto 10px;
  }

  .gta-trip-v4 .gta-acc-head {
    height: 42px;
    min-height: 42px;
    max-height: 42px;
    margin-bottom: 16px;
    padding: 0 12px 0 14px;
    border-radius: 40px;
    gap: 10px;
  }

  .gta-trip-v4 img.gta-acc-toggle {
    flex-basis: 22px;
    width: 22px;
    height: 22px;
  }

  .gta-trip-v4 .gta-acc-head h2,
  .gta-trip-v4 .tbp-detail-section .gta-acc-head h2 {
    font-size: 16px;
  }

  .gta-trip-v4 .gta-booking-head {
    height: 56px;
    min-height: 56px;
    padding: 6px 14px 4px;
  }

  .gta-trip-v4 .gta-booking-title {
    font-size: 18px;
  }

  .gta-trip-v4 .gta-booking-body {
    padding: 12px 16px 14px;
  }

  .gta-trip-v4 .tbp-detail-sidebar-item {
    min-height: 30px;
  }

  .gta-trip-v4 .tbp-detail-book-btn,
  .gta-trip-v4 a.tbp-detail-book-btn {
    width: 200px;
    min-height: 46px;
    height: 46px;
    margin-bottom: 12px;
    padding: 0 18px;
    font-size: 16px;
  }

  .gta-trip-v4 .tbp-detail-sidebar-action {
    min-height: 44px;
    height: 44px;
    font-size: 14px;
  }

  .gta-trip-v4 .tbp-detail-nav-link,
  body.tbp-trip-detail-view .gta-trip-v4 .tbp-detail-nav-link {
    min-height: 32px;
    font-size: 14px;
    padding: 6px 12px;
  }

  .gta-trip-v4 .tbp-detail-booking-card {
    scroll-margin-top: 72px;
  }
}

@media (max-width: 768px) {
  .gta-trip-v4 .tbp-detail-more-carousel .tbp-cards-scroll-viewport {
    min-height: 0;
    overflow-x: hidden;
  }

  .gta-trip-v4 .tbp-detail-more-carousel .tbp-detail-more-track,
  .gta-trip-v4 .tbp-detail-more-carousel.is-static .tbp-detail-more-track {
    flex-wrap: wrap !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 16px !important;
  }

  .gta-trip-v4 .tbp-detail-more-carousel .tbp-card,
  .gta-trip-v4 .tbp-detail-more-carousel.is-static .tbp-card,
  .gta-trip-v4 .tbp-detail-more-carousel.is-static .tbp-card:only-child {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 517px !important;
    min-height: 517px !important;
  }

  .gta-trip-v4 .tbp-detail-more-trips .tbp-card-body,
  .gta-trip-v4 .tbp-detail-more-trips .tbp-card-info {
    min-height: 517px !important;
    height: 517px !important;
  }
}

@media (max-width: 767px) {
  .gta-trip-v4 .tbp-detail-more-trips h2 {
    font-size: 22px;
    margin-bottom: 24px;
  }

  .gta-trip-v4 .tbp-detail-more-trips {
    margin-top: 40px;
    padding-top: 28px;
  }

  /* Mobile type + boxes only. Desktop stays on the base rules.
     Body/UI floor 14px. Headings remain larger than body. */
  .gta-trip-v4 .tbp-detail-title {
    font-size: clamp(22px, 6.4vw, 26px);
  }

  .gta-trip-v4 .tbp-detail-experience-section > h2,
  .gta-trip-v4 .gta-glance-title {
    font-size: 20px;
  }

  .gta-trip-v4 .gta-glance-grid .tbp-detail-experience-label {
    font-size: 14px;
  }

  .gta-trip-v4 .gta-glance-grid .tbp-detail-experience-value {
    font-size: 16px;
  }

  .gta-trip-v4 .tbp-detail-rich-text,
  .gta-trip-v4 .tbp-detail-rich-text p,
  .gta-trip-v4 .tbp-detail-description-section,
  .gta-trip-v4 .gta-packing .gta-plain-list li,
  .gta-trip-v4 .gta-icon-list li,
  .gta-trip-v4 .gta-plain-list li,
  .gta-trip-v4 .gta-itinerary p {
    font-size: 14px;
  }

  .gta-trip-v4 .gta-split-lists h3,
  .gta-trip-v4 .gta-itinerary h3,
  .gta-trip-v4 .gta-packing h3,
  .gta-trip-v4 .gta-cancel h3,
  .gta-trip-v4 .gta-cancel .tbp-detail-rich-text h3 {
    font-size: 16px;
  }

  .gta-trip-v4 .tbp-detail-price-value,
  .gta-trip-v4 .tbp-detail-early-bird-amount {
    font-size: 20px;
  }

  .gta-trip-v4 .tbp-detail-early-bird-base {
    font-size: 14px;
  }

  .gta-trip-v4 .tbp-detail-sidebar-item,
  .gta-trip-v4 .gta-booking-deposit,
  .gta-trip-v4 .gta-booking-extra,
  .gta-trip-v4 .tbp-detail-sidebar-footer-text {
    font-size: 14px;
  }

  .gta-trip-v4 .tbp-detail-more-trips .gta-more-chip-label,
  .gta-trip-v4 .tbp-card-date-badge,
  .gta-trip-v4 .tbp-detail-more-trips .tbp-card-date-badge,
  .gta-trip-v4 .tbp-detail-more-trips .tbp-card-btn,
  .gta-trip-v4 .tbp-detail-more-trips .tbp-card-btn span:first-child {
    font-size: 14px;
  }

  .gta-trip-v4 .tbp-detail-more-carousel .tbp-card,
  .gta-trip-v4 .tbp-detail-more-carousel.is-static .tbp-card,
  .gta-trip-v4 .tbp-detail-more-carousel.is-static .tbp-card:only-child {
    height: 400px !important;
    min-height: 400px !important;
  }

  .gta-trip-v4 .tbp-detail-more-trips .tbp-card-body,
  .gta-trip-v4 .tbp-detail-more-trips .tbp-card-info {
    min-height: 400px !important;
    height: 400px !important;
  }

  .gta-trip-v4 .tbp-card-title,
  .gta-trip-v4 .tbp-detail-more-trips .tbp-card-title {
    top: auto;
    bottom: 58px;
    height: auto;
    max-height: 52px;
    font-size: 20px;
  }

  .gta-trip-v4 .tbp-detail-more-trips .tbp-card-btn {
    top: auto;
    bottom: 14px;
  }

  .gta-trip-v4 .tbp-card-date-badge,
  .gta-trip-v4 .tbp-detail-more-trips .tbp-card-date-badge {
    bottom: 16px;
  }

  .gta-trip-v4 .tbp-detail-more-trips .gta-more-chip {
    top: 16px;
    height: 34px;
  }

  .gta-trip-v4 .tbp-detail-more-trips .gta-more-chip-pin {
    flex-basis: 34px;
    width: 34px;
    height: 34px;
  }

  .gta-trip-v4 .tbp-detail-more-trips .gta-more-chip-label {
    height: 34px;
    min-width: 0;
    font-size: 14px;
  }

  .gta-trip-v4 .tbp-detail-more-trips .gta-more-heart-btn {
    top: 20px;
    right: 14px;
  }

  .gta-trip-v4 .tbp-detail-rich-text div[style*="flex-wrap"] {
    grid-template-columns: 1fr;
  }

  .gta-trip-v4 .tbp-detail-rich-text div[style*="flex: 1 1 260px"] h4 {
    font-size: 16px !important;
  }
}

/* Mobile-only sticky Grasp It — Figma 2564:700 / 2578:3373. Hidden ≥768px. */
.gta-sticky-grasp {
  display: none;
}

@media (max-width: 767px) {
  .gta-sticky-grasp {
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 80;
    box-sizing: border-box;
    height: 58px;
    padding: 6px 30px calc(7px + env(safe-area-inset-bottom, 0px));
    background: rgba(255, 255, 255, 0.8);
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
    transition: transform 0.25s ease, opacity 0.25s ease;
  }

  .gta-sticky-grasp.is-hidden {
    transform: translateY(110%);
    opacity: 0;
    pointer-events: none;
  }

  .gta-sticky-grasp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    box-sizing: border-box;
    width: 100%;
    max-width: 343px;
    height: 45px;
    min-height: 45px;
    padding: 0 18px;
    border: 0;
    border-radius: 60px;
    background: var(--gta-brand);
    color: var(--gta-white);
    font-family: var(--gta-font-ui);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.25s ease, color 0.25s ease;
  }

  .gta-sticky-grasp-btn:hover,
  .gta-sticky-grasp-btn:focus {
    background: #000;
    color: var(--gta-white);
  }

  .gta-sticky-grasp-icon {
    display: block;
    width: 20px;
    height: 18.46px;
    transform: rotate(90deg);
    filter: none;
  }
}

@media (min-width: 768px) {
  .gta-sticky-grasp {
    display: none !important;
  }
}

/* more-chip-20261004 */
/* hover-20261005 */
/* acc90b-20261005 */
/* morecards-20261005 */
/* type-m-20261005 */
/* stickym-20261006 */
/* tripfix-20261006 */
/* headfix-20261006 */

/* Inactive pills stay black after a tap (touch devices keep :hover/:focus on the tapped pill; plugin CSS turned that grey). */
body.tbp-trip-detail-view .gta-trip-v4 .tbp-detail-nav-link:not(.is-active),
body.tbp-trip-detail-view .gta-trip-v4 .tbp-detail-nav-link:not(.is-active):hover,
body.tbp-trip-detail-view .gta-trip-v4 .tbp-detail-nav-link:not(.is-active):focus {
  background: #000;
  color: var(--gta-white);
}
@media (hover: hover) and (pointer: fine) {
  body.tbp-trip-detail-view .gta-trip-v4 .tbp-detail-nav-link:not(.is-active):hover {
    background: var(--gta-brand);
    color: var(--gta-white);
  }
}

/* More Trips: one pass of cards (no clones), scrollable / draggable carousel. */
@media (min-width: 769px) {
  .gta-trip-v4 .tbp-detail-more-carousel .tbp-cards-scroll-viewport {
    overflow-x: auto !important;
    scrollbar-width: none;
    cursor: grab;
    scroll-snap-type: x proximity;
  }
  .gta-trip-v4 .tbp-detail-more-carousel .tbp-cards-scroll-viewport::-webkit-scrollbar { display: none; }
  .gta-trip-v4 .tbp-detail-more-carousel .tbp-cards-scroll-viewport.is-dragging { cursor: grabbing; scroll-snap-type: none; }
  .gta-trip-v4 .tbp-detail-more-carousel .tbp-card { scroll-snap-align: start; }
}

/* ---- Mobile: glance cards as slim rectangles; price card + price under sticky GRASP IT ---- */
.gta-trip-v4 .gta-glance-grid .gta-glance-price { display: none; }
@media (max-width: 767px) {
  .gta-trip-v4 .gta-glance-grid .gta-glance-price { display: flex; }
  .gta-trip-v4 .gta-glance-grid .tbp-detail-experience-item {
    flex-direction: row; align-items: center; justify-content: flex-start; gap: 12px;
    min-height: 0; padding: 12px 16px; text-align: left;
  }
  .gta-trip-v4 .gta-glance-grid .tbp-detail-experience-icon,
  .gta-trip-v4 .gta-glance-grid .tbp-detail-section .tbp-detail-experience-icon {
    flex: 0 0 28px; width: 28px; max-width: 28px; height: 30px; margin: 0;
  }
  .gta-trip-v4 .gta-glance-grid .tbp-detail-experience-label { flex: 0 1 auto; font-size: 14px; line-height: 1.3; }
  .gta-trip-v4 .gta-glance-grid .tbp-detail-experience-value {
    flex: 1 1 auto; margin-left: auto; font-size: 15px; line-height: 1.3; text-align: right;
  }
  .gta-sticky-grasp { flex-direction: column; gap: 3px; height: auto; padding: 8px 30px calc(8px + env(safe-area-inset-bottom, 0px)); }
  .gta-sticky-grasp-price { display: block; font-family: var(--gta-font); font-size: 13px; line-height: 1.2; color: var(--gta-ink); text-align: center; }
  .gta-sticky-grasp-price strong { font-weight: 700; font-size: 14px; }
}

/* ---- Same card size everywhere: 369x517 desktop/tablet, full-width x 460 on phones ---- */
@media (max-width: 767px) {
  .gta-trip-v4 .tbp-detail-more-trips { margin-left: -8px; margin-right: -8px; width: calc(100% + 16px); max-width: none; }
  .gta-trip-v4 .tbp-detail-more-carousel .tbp-card,
  .gta-trip-v4 .tbp-detail-more-carousel.is-static .tbp-card,
  .gta-trip-v4 .tbp-detail-more-carousel.is-static .tbp-card:only-child { height: 460px !important; min-height: 460px !important; }
  .gta-trip-v4 .tbp-detail-more-trips .tbp-card-body,
  .gta-trip-v4 .tbp-detail-more-trips .tbp-card-info { min-height: 460px !important; height: 460px !important; }
}

/* ---- Sticky Grasp panel: shorter button, slightly larger price ---- */
@media (max-width: 767px) {
  .gta-sticky-grasp-btn { height: 38px; min-height: 38px; font-size: 16px; }
  .gta-sticky-grasp-icon { width: 17px; height: 15.7px; }
  .gta-sticky-grasp { gap: 4px; padding-top: 7px; padding-bottom: calc(7px + env(safe-area-inset-bottom, 0px)); }
  .gta-sticky-grasp-price { font-size: 14px; }
  .gta-sticky-grasp-price strong { font-size: 15px; }
}
