/* Pierline Inlay — presentation only. Provider visibility and interaction stay native. */
.tmb-site :is([data-tsva-surface], .travelspark-widget, .travelspark-live-search, .travelspark-expedia, .travelspark-hotel-cards, .travelspark-hotels-index, .tsva-sticky-cta, .tsva-exit-cta) {
  --ts-primary: #142f43;
  --ts-primary-color: #142f43;
  --ts-accent: #c73d35;
  --ts-accent-color: #c73d35;
  --ts-button-bg: #c73d35;
  --ts-button-text: #f7faf8;
  --ts-bg: #f7faf8;
  --ts-widget-bg: #f7faf8;
  --ts-card-bg: #fff;
  --ts-border: #dad1bb;
  --ts-card-border: #dad1bb;
  --ts-muted: #24586d;
  --ts-radius: 8px;
  --ts-card-radius: 8px;
  --ts-shadow: none;
  --ts-card-shadow: none;
  --ts-heading-font: "Bricolage Grotesque", Arial, sans-serif;
  --ts-body-font: "Hanken Grotesk", Arial, sans-serif;
  --ts-font-heading: "Bricolage Grotesque", Arial, sans-serif;
  --ts-font-body: "Hanken Grotesk", Arial, sans-serif;
  --ts-hotel-primary: #c73d35;
  --ts-hotel-ink: #142f43;
  --ts-hotel-muted: #24586d;
  --ts-hotel-bg: #f7faf8;
  --ts-hotel-card: #fff;
  --ts-hotel-border: #dad1bb;
  --ts-hotel-radius: 8px;
  --tse-primary: #142f43;
  --tse-accent: #c73d35;
  --tse-bg: #f7faf8;
  --tse-soft-bg: #bde8ed;
  --tse-card-bg: #fff;
  --tse-border: #dad1bb;
  --tse-muted: #24586d;
  --tse-button-bg: #c73d35;
  --tse-button-text: #f7faf8;
  --tse-radius: 8px;
  --tse-shadow: none;
  color: #142f43;
  font-family: "Hanken Grotesk", Arial, sans-serif;
  min-width: 0;
  max-width: 100%;
}

/* The native renderer may return hotels first. Reorder only its intact roots. */
.tmb-site .tmb-provider-sidebar {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  min-width: 0;
}
.tmb-site .tmb-provider-sidebar > :is(.tsva-sidebar, [data-tsva-surface="tour-sidebar-widget"]) { order: 10; }
.tmb-site .tmb-provider-sidebar > :is(.travelspark-hotel-cards, .travelspark-expedia, [data-tsva-surface^="hotel-"], [data-tsva-surface^="expedia-hotel-"]) { order: 20; }
.tmb-site .tmb-provider-sidebar > :is(.travelspark-surface, .travelspark-expedia, .travelspark-hotel-cards) { margin-block: 0; }

/* Complete cards share a photograph, measured reading block and clear action. */
.tmb-site :is(.travelspark-card, .travelspark-live-card, .travelspark-hotel-card, .travelspark-expedia-box) {
  background: #fff;
  border: 1px solid #dad1bb;
  border-radius: 8px;
  box-shadow: none;
  min-width: 0;
  overflow: hidden;
}
.tmb-site :is(.travelspark-card, .travelspark-live-card, .travelspark-hotel-card, .travelspark-expedia-box):hover {
  box-shadow: none;
  border-color: #24586d;
}
.tmb-site .travelspark-widget.tsva-widget {
  padding: clamp(1rem, 2.5vw, 1.75rem);
  margin-block: 2.5rem;
  background: #f7faf8;
  border: 1px solid #dad1bb;
  border-radius: 8px;
  box-shadow: none;
}
.tmb-site .travelspark-sidebar-widget.tsva-sidebar {
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.tmb-site .travelspark-widget.travelspark-widget .travelspark-widget__title {
  font-size: clamp(1.4rem, 2.1vw, 1.9rem) !important;
  line-height: 1.14 !important;
  letter-spacing: -.02em !important;
}
.tmb-site .travelspark-sidebar-widget.travelspark-widget .travelspark-widget__title {
  font-size: 1.25rem !important;
  padding-bottom: .8rem !important;
}
.tmb-site .travelspark-widget.travelspark-widget .travelspark-card__title {
  font-size: 1.2rem !important;
  line-height: 1.22 !important;
  margin-bottom: .65rem !important;
}
.tmb-site :is(.travelspark-live-card__title, .travelspark-hotel-card__body h3, .travelspark-expedia__title) {
  font-family: "Bricolage Grotesque", Arial, sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.22;
  color: #142f43;
  margin: 0 0 .65rem;
  overflow-wrap: anywhere;
}
.tmb-site :is(.travelspark-card__title, .travelspark-live-card__title, .travelspark-hotel-card__body h3, .travelspark-expedia__title) a {
  color: #142f43;
  text-decoration: none;
}
.tmb-site .travelspark-widget.travelspark-widget .travelspark-card__content.tsva-card-body,
.tmb-site :is(.travelspark-live-card__body, .travelspark-hotel-card__body, .travelspark-expedia__body) {
  padding: 1.15rem;
  min-width: 0;
  gap: .55rem;
}
.tmb-site .travelspark-widget.travelspark-widget .travelspark-card__description,
.tmb-site :is(.travelspark-live-card__why, .travelspark-expedia__description, .travelspark-hotel-card__description) {
  color: #24586d;
  font-size: .96rem !important;
  line-height: 1.5 !important;
  margin: 0 0 .75rem !important;
  overflow-wrap: anywhere;
}
/* Native sidebar CSS hides tour descriptions; the data is already in the DOM. */
.tmb-site .travelspark-sidebar-widget .travelspark-card__description {
  display: block;
}
.tmb-site :is(.travelspark-card__rating, .travelspark-live-card__rating, .travelspark-hotel-card__rating) {
  color: #24586d;
  font-size: .9rem;
  line-height: 1.4;
  font-weight: 650;
}
.tmb-site :is(.travelspark-card__price, .travelspark-live-card__price-row strong, .travelspark-hotel-card__price strong) {
  color: #142f43;
  font-size: 1.15rem;
  line-height: 1.25;
}
.tmb-site :is(.travelspark-card__footer, .travelspark-live-card__footer, .travelspark-hotel-card__booking) {
  gap: .8rem;
  margin-top: auto;
}
.tmb-site .travelspark-widget.travelspark-widget .travelspark-card__footer {
  flex-wrap: wrap;
}
.tmb-site .travelspark-card__media,
.tmb-site .travelspark-live-card__media,
.tmb-site .travelspark-hotel-card__media {
  min-width: 0;
  background: #bde8ed;
  border-radius: 0;
}
.tmb-site .travelspark-widget.travelspark-widget .travelspark-card__image-link.tsva-image-link {
  aspect-ratio: 4 / 3 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none;
}
.tmb-site .travelspark-widget.travelspark-widget .travelspark-card__image {
  object-fit: cover !important;
  border-radius: 0 !important;
}
.tmb-site :is(.travelspark-live-card__image, .travelspark-hotel-card__image-link) {
  aspect-ratio: 4 / 3;
  border-radius: 0;
}
.tmb-site :is(.travelspark-hotel-card__image, .travelspark-expedia__media img) {
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 0;
}
.tmb-site .travelspark-sidebar-widget .travelspark-card {
  grid-template-columns: minmax(0, 1fr);
}
.tmb-site .travelspark-widget__grid--sidebar,
.tmb-site .travelspark-hotel-cards--sidebar .travelspark-hotel-card-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 1.2rem;
}
.tmb-site .tmb-provider-sidebar .travelspark-expedia-box {
  grid-template-columns: minmax(0, 1fr);
}

/* Action geometry and contrast are shared; native URLs and handlers are untouched. */
.tmb-site :is(.travelspark-card__button.tsva-button, .travelspark-live-card__cta, .travelspark-hotel-button, .travelspark-expedia__button, .tsva-sticky-cta > a, .tsva-exit-cta .tsva-button) {
  background: #c73d35;
  color: #f7faf8 !important;
  border: 1.5px solid #c73d35;
  border-radius: 4px;
  min-height: 44px;
  padding: .8rem 1rem;
  font: 650 .96rem/1.2 "Hanken Grotesk", Arial, sans-serif;
  text-align: center;
  text-decoration: none;
  box-shadow: none;
}
.tmb-site .travelspark-widget.travelspark-widget .travelspark-card__button {
  white-space: normal !important;
  line-height: 1.2 !important;
  min-width: 0;
}
.tmb-site :is(.travelspark-card__button, .travelspark-live-card__cta, .travelspark-hotel-button, .travelspark-expedia__button, .tsva-sticky-cta > a, .tsva-exit-cta .tsva-button):hover {
  background: #142f43;
  border-color: #142f43;
  color: #f7faf8 !important;
}
.tmb-site :is([data-tsva-surface], .travelspark-live-search, .travelspark-hotel-cards, .travelspark-expedia, .tsva-sticky-cta, .tsva-exit-cta) :is(a, button, input, select, textarea):focus-visible {
  outline: 3px solid #24586d;
  outline-offset: 3px;
}
.tmb-site :is(.travelspark-card__meta, .travelspark-hotel-card__amenities, .travelspark-live-card__flags) {
  font: 400 .85rem/1.4 "Hanken Grotesk", Arial, sans-serif;
}
.tmb-site :is(.tsva-powered, .travelspark-live-search__disclosure) {
  color: #24586d;
  font-size: .83rem;
  line-height: 1.5;
}

/* Every native Tours component stays present, with a practical search-first order. */
.tmb-site [data-tsva-surface="tours-index"] {
  background: #f7faf8;
  max-width: 1240px;
  margin-inline: auto;
}
.tmb-site .travelspark-tours-index__hero {
  background: #f7ca51;
  border: 0;
  border-radius: 0;
  padding: clamp(1.25rem, 4vw, 3rem);
  color: #142f43;
  box-shadow: none;
}
.tmb-site .travelspark-tours-index__hero h1 {
  font-family: "Bricolage Grotesque", Arial, sans-serif;
  font-size: clamp(2.15rem, 4.4vw, 3.75rem);
  font-weight: 700;
  line-height: 1.07;
  letter-spacing: -.035em;
  color: #142f43;
  max-width: 18ch;
}
.tmb-site .travelspark-tours-index__hero p { color: #142f43; }
.tmb-site .travelspark-tours-index__hero-panel > div {
  background: #f7faf8;
  border: 1px solid #dad1bb;
  border-radius: 0;
  box-shadow: none;
}
.tmb-site .travelspark-tours-index__section {
  border-radius: 0;
  box-shadow: none;
}
.tmb-site :is(.travelspark-tours-index__section h2, .travelspark-live-search__toolbar h2, .travelspark-hotel-cards__header h2) {
  font-family: "Bricolage Grotesque", Arial, sans-serif;
  color: #142f43;
  line-height: 1.15;
}
.tmb-site :is(.travelspark-tours-index__topic, .travelspark-tours-index__guide) {
  background: transparent;
  border: 0;
  border-top: 1px solid #dad1bb;
  border-radius: 0;
  box-shadow: none;
}
.tmb-site .travelspark-live-search__main { min-width: 0; }
.tmb-site .travelspark-live-search :is(input, select) {
  border-radius: 4px;
  min-height: 44px;
  color: #142f43;
  background-color: #fff;
  border-color: #dad1bb;
}

/* Native fixed bars keep their show/hide state, breakpoints and storage keys. */
.tmb-site :is(.tsva-sticky-cta, .tsva-exit-cta) {
  background: #f7faf8;
  border-color: #dad1bb;
  box-shadow: 0 4px 24px rgb(20 47 67 / 14%);
}
.tmb-site .tsva-sticky-cta {
  gap: .75rem;
  padding: .85rem 3.4rem max(.85rem, env(safe-area-inset-bottom));
}
.tmb-site .tsva-sticky-cta > span {
  color: #142f43;
  font-family: "Hanken Grotesk", Arial, sans-serif;
  font-size: .9rem;
  line-height: 1.3;
}
.tmb-site .tsva-sticky-cta > a {
  white-space: normal;
  flex: 0 1 9rem;
}
.tmb-site :is(.tsva-sticky-cta, .tsva-exit-cta) > img {
  border-radius: 0;
  object-fit: cover;
}
.tmb-site .tsva-exit-cta {
  border-radius: 8px;
  padding: 1rem;
  max-height: calc(100dvh - 2rem);
  overflow-y: auto;
}
.tmb-site .tsva-exit-cta h2 {
  font-family: "Bricolage Grotesque", Arial, sans-serif;
  color: #142f43;
  font-size: 1.3rem;
  line-height: 1.15;
}
.tmb-site .tsva-exit-cta p { color: #24586d; }
.tmb-site :is(.tsva-sticky-close, .tsva-exit-close) {
  width: 44px;
  height: 44px;
  min-width: 44px;
  border: 1px solid #dad1bb;
  background: #f7faf8;
  color: #142f43;
  border-radius: 4px;
  box-shadow: none;
  font-size: 1.5rem;
}
.tmb-site .tsva-sticky-close { top: .55rem; right: .4rem; }
.tmb-site .tsva-exit-close { top: .4rem; right: .4rem; }

@media (max-width: 760px) {
  .tmb-site .travelspark-widget.tsva-widget { padding: 1rem; }
  .tmb-site .travelspark-sidebar-widget.tsva-sidebar { padding: 0; }
  .tmb-site .tsva-sticky-cta { gap: .5rem; padding: .6rem 3.4rem max(.6rem, env(safe-area-inset-bottom)) .65rem; }
  .tmb-site .tsva-sticky-cta > img { width: 44px; height: 56px; flex-basis: 44px; }
  .tmb-site .tsva-sticky-cta > span { font-size: .8rem; line-height: 1.3; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
  .tmb-site .tsva-sticky-cta.tsva-sticky-cta > a { font-size: .85rem; line-height: 1.2; padding: .55rem .5rem; flex: 0 0 7.6rem; }
  .tmb-site .tsva-exit-cta { right: .75rem; width: calc(100vw - 1.5rem); }
  .tmb-site .travelspark-widget.travelspark-widget .travelspark-card__title { font-size: 1.13rem !important; }
}
@media (prefers-reduced-motion: reduce) {
  .tmb-site :is(.tsva-exit-cta, .travelspark-hotel-card__image) { transition: none; }
}
