.tripstack-search{width:100%;container-type:inline-size}.tripstack-search__form{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-bottom:20px}.tripstack-search__form label{display:flex;flex:1 1 160px;flex-direction:column;gap:5px}.tripstack-search__form input,.tripstack-search__form select{width:100%;min-height:42px}.tripstack-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 18px;border:0;border-radius:var(--ttt-button-radius,6px);background:var(--ttt-brand-primary,#222);color:#fff;text-decoration:none;cursor:pointer}.tripstack-results{display:grid;grid-template-columns:repeat(var(--tripstack-columns,3),minmax(0,1fr));gap:20px}.tripstack-result-card{min-width:0;overflow:hidden;border:1px solid rgba(0,0,0,.1);border-radius:var(--ttt-card-radius,10px);background:var(--ttt-brand-background,#fff)}.tripstack-result-card__media{display:block;aspect-ratio:16/10;overflow:hidden}.tripstack-result-card__media img{width:100%;height:100%;object-fit:cover}.tripstack-result-card__body{padding:18px}.tripstack-result-card__type{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.tripstack-result-card h3{margin:.35em 0}.tripstack-result-card__meta{opacity:.75}.tripstack-result-card__price{font-size:1.1rem;font-weight:700;margin:10px 0}.tripstack-search__summary{margin:0 0 12px}.tripstack-trip-summary{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;padding:14px 18px;border:1px solid rgba(0,0,0,.1);border-radius:var(--ttt-card-radius,10px)}.tripstack-trip-summary__facts{display:flex;flex-wrap:wrap;gap:8px 16px}.tripstack-trip-page{max-width:1200px;margin:0 auto;padding:32px 20px}.tripstack-trip-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:28px;align-items:center}.tripstack-trip-hero__image{width:100%;height:auto;border-radius:var(--ttt-card-radius,10px)}@media(max-width:767px){.tripstack-results{grid-template-columns:1fr}.tripstack-search__form>*{flex-basis:100%}.tripstack-trip-hero{grid-template-columns:1fr}}

/* Tripstack 1.0 Beta shared presentation contract. Brand presets affect new widgets
   only; legacy Travel Trove selectors are deliberately untouched. */
.tripstack-result-card,
.tripstack-trip-summary,
.tripstack-search__form,
.tripstack-trip-section {
  border: var(--tripstack-card-border, 1px solid rgba(17,24,39,.1));
  box-shadow: var(--tripstack-card-shadow, 0 10px 30px rgba(17,24,39,.08));
}
.tripstack-result-card__media { aspect-ratio: var(--tripstack-media-ratio, 16/10); overflow: hidden; }
.tripstack-result-card__media img { width: 100%; height: 100%; object-fit: cover; }
.tripstack-trip-section { margin-block: var(--ttt-space-lg,24px); padding: var(--ttt-space-lg,24px); border-radius: var(--ttt-brand-card-radius,16px); background: var(--ttt-brand-background,#fff); }
.tripstack-trip-summary { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:var(--ttt-space-md,16px); padding:var(--ttt-space-md,16px); border-radius:var(--ttt-brand-card-radius,16px); background:var(--ttt-brand-background,#fff); }
.tripstack-trip-summary__fact { display:flex; flex-direction:column; gap:4px; }
.tripstack-trip-summary__fact small { color:var(--ttt-brand-muted,#6b7280); }
.tripstack-itinerary-list { list-style:none; margin:0; padding:0; display:grid; gap:var(--ttt-space-md,16px); }
.tripstack-itinerary-list > li { display:grid; grid-template-columns:minmax(70px,auto) 1fr; gap:var(--ttt-space-md,16px); align-items:start; }
.tripstack-itinerary-list__day { font-weight:700; color:var(--ttt-brand-accent,#0ea5e9); }
.tripstack-itinerary-list small { display:block; color:var(--ttt-brand-muted,#6b7280); margin-top:3px; }
.tripstack-itinerary-activities { margin:.55em 0 0 1.2em; padding:0; }
.tripstack-trip-ship__grid { display:grid; grid-template-columns:minmax(180px,320px) 1fr; gap:var(--ttt-space-lg,24px); align-items:start; }
.tripstack-trip-ship__image { width:100%; height:auto; border-radius:var(--ttt-brand-card-radius,16px); }
@media (max-width: 767px) {
  .tripstack-trip-section { padding:var(--ttt-space-md,16px); }
  .tripstack-trip-ship__grid { grid-template-columns:1fr; }
  .tripstack-itinerary-list > li { grid-template-columns:1fr; gap:4px; }
}

/* Universal deal carousel */
.tripstack-deal-widget{position:relative;min-width:0}.tripstack-deal-widget.is-carousel{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem}.tripstack-deal-cards--carousel{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--tripstack-gap,1rem) * (var(--tripstack-columns,3) - 1)))/var(--tripstack-columns,3));grid-template-columns:none;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scrollbar-width:none;gap:var(--tripstack-gap,1rem);padding:.25rem}.tripstack-deal-cards--carousel::-webkit-scrollbar{display:none}.tripstack-deal-cards--carousel>.tripstack-result-card{scroll-snap-align:start;min-width:0}.tripstack-carousel-nav{width:2.5rem;height:2.5rem;border-radius:999px;border:1px solid var(--tripstack-border,#d8dee5);background:var(--tripstack-surface,#fff);color:inherit;font-size:1.5rem;line-height:1;cursor:pointer}.tripstack-carousel-nav:disabled{opacity:.35;cursor:default}.tripstack-deal-cards--compact .tripstack-result-card__media{aspect-ratio:16/8}.tripstack-deal-cards--compact .tripstack-result-card__body{padding:.8rem}.tripstack-deal-cards--compact h3{font-size:1rem}.tripstack-results{gap:var(--tripstack-gap,1rem)}
@media(max-width:767px){.tripstack-deal-widget.is-carousel{grid-template-columns:minmax(0,1fr)}.tripstack-carousel-nav{display:none}.tripstack-deal-cards--carousel{grid-auto-columns:88%;--tripstack-columns:1}}
@media(prefers-reduced-motion:reduce){.tripstack-deal-cards--carousel{scroll-behavior:auto}}

/* build 100004: universal Deal Cards layout hardening.
   Full and compact modes share one carousel engine and never rely on fixed legacy card widths. */
.tripstack-deal-widget{
  --tripstack-deal-button-bg:var(--ttt-fc-button-bg,#10191d);
  --tripstack-deal-button-text:#fff;
  --tripstack-deal-button-hover-bg:#a62635;
  --tripstack-deal-button-hover-text:#fff;
  --tripstack-deal-button-radius:12px;
  position:relative;
  width:100%;
  min-width:0;
  max-width:100%;
}
.tripstack-deal-widget.is-carousel{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:.35rem;
}
.tripstack-deal-widget.is-carousel.no-navigation{grid-template-columns:minmax(0,1fr)}
.tripstack-deal-cards--carousel{
  display:grid!important;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - (var(--tripstack-gap,1rem) * (var(--tripstack-columns,2) - 1)))/var(--tripstack-columns,2));
  grid-template-columns:none!important;
  align-items:start;
  width:100%;
  min-width:0;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-inline:contain;
  scroll-snap-type:inline mandatory;
  scrollbar-width:none;
  gap:var(--tripstack-gap,1rem);
  padding:.25rem;
}
.tripstack-deal-cards--carousel::-webkit-scrollbar{display:none}
.tripstack-deal-cards--carousel>.tripstack-result-card,
.tripstack-deal-cards--carousel>.ttt-feature-card{
  scroll-snap-align:start;
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  box-sizing:border-box;
  align-self:start;
}
.tripstack-deal-cards--grid{
  display:grid!important;
  grid-template-columns:repeat(var(--tripstack-columns,2),minmax(0,1fr))!important;
  align-items:start;
  min-width:0;
}
.tripstack-deal-cards--grid>.ttt-feature-card,
.tripstack-deal-cards--grid>.tripstack-result-card{min-width:0;width:100%;max-width:100%;margin:0;box-sizing:border-box}

/* The legacy full Deal Card was originally designed for wide rows. Container
   rules let it safely live in any Elementor column or carousel width. */
.tripstack-deal-widget .ttt-feature-card{container-type:inline-size;max-width:100%}
@container (max-width:560px){
  .tripstack-deal-widget .ttt-fc-head{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important}
  .tripstack-deal-widget .ttt-fc-price-block{width:100%!important;min-width:0!important;text-align:left!important;box-sizing:border-box}
  .tripstack-deal-widget .ttt-fc-price-line{justify-content:flex-start!important}
  .tripstack-deal-widget .ttt-fc-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tripstack-deal-widget .ttt-fc-score-panel{grid-template-columns:1fr!important;gap:14px!important}
  .tripstack-deal-widget .ttt-fc-primary-score{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.12)!important;padding:0 0 14px!important}
  .tripstack-deal-widget .ttt-fc-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;align-items:stretch!important}
  .tripstack-deal-widget .ttt-fc-actions .ttt-fc-button,
  .tripstack-deal-widget .ttt-fc-actions .ttt-fc-breakdown-trigger{width:100%!important;min-width:0!important;box-sizing:border-box!important}
}
@container (max-width:400px){
  .tripstack-deal-widget .ttt-fc-body{padding:18px!important}
  .tripstack-deal-widget .ttt-fc-title{font-size:clamp(24px,9cqw,32px)!important;overflow-wrap:anywhere}
  .tripstack-deal-widget .ttt-fc-metrics{grid-template-columns:1fr!important}
}

/* Compact means compact everywhere, including carousel. */
.tripstack-deal-cards--compact .ttt-fc-layout-compact{height:auto!important}
.tripstack-deal-cards--compact .ttt-fc-layout-compact .ttt-fc-media{min-height:180px}
.tripstack-deal-cards--compact .ttt-fc-layout-compact .ttt-fc-body{padding:16px 18px 18px}
.tripstack-deal-cards--compact .ttt-fc-layout-compact .ttt-fc-title{font-size:clamp(22px,5cqw,28px);line-height:1.08}
.tripstack-deal-cards--compact .tripstack-result-card__media{aspect-ratio:16/8}
.tripstack-deal-cards--compact .tripstack-result-card__body{padding:.8rem}
.tripstack-deal-cards--compact .tripstack-result-card h3{font-size:1rem}

/* Carousel navigation defaults to bare editable icons. No circles, pills or
   forced background colours. Elementor controls may intentionally add them. */
.tripstack-carousel-nav{
  display:grid!important;
  place-items:center!important;
  width:38px;
  height:38px;
  padding:0!important;
  border:0!important;
  border-radius:0;
  background:transparent;
  color:#781521;
  box-shadow:none!important;
  font:inherit;
  font-size:26px;
  line-height:1;
  cursor:pointer;
  transition:color .18s ease,background-color .18s ease,opacity .18s ease,transform .18s ease;
}
.tripstack-carousel-nav svg{display:block;width:1em;height:1em;fill:currentColor}
.tripstack-carousel-nav:hover,.tripstack-carousel-nav:focus-visible{color:#a62635;background:transparent;outline:2px solid transparent;transform:scale(1.08)}
.tripstack-carousel-nav:disabled{opacity:.3;cursor:default;transform:none}

/* Keep all card CTAs inside Tripstack's own colour contract. This prevents
   Elementor/theme global link hover colours (including pink) leaking into the cards. */
.tripstack-deal-widget .ttt-fc-button,
.tripstack-deal-widget .ttt-fc-breakdown-trigger,
.tripstack-deal-widget .tripstack-button{
  background:var(--tripstack-deal-button-bg)!important;
  border-color:var(--tripstack-deal-button-bg)!important;
  color:var(--tripstack-deal-button-text)!important;
  border-radius:var(--tripstack-deal-button-radius)!important;
  text-decoration:none!important;
}
.tripstack-deal-widget .ttt-fc-button *,
.tripstack-deal-widget .ttt-fc-breakdown-trigger *,
.tripstack-deal-widget .tripstack-button *{color:inherit!important}
.tripstack-deal-widget .ttt-fc-button:hover,
.tripstack-deal-widget .ttt-fc-button:focus-visible,
.tripstack-deal-widget .ttt-fc-button:active,
.tripstack-deal-widget .ttt-fc-breakdown-trigger:hover,
.tripstack-deal-widget .ttt-fc-breakdown-trigger:focus-visible,
.tripstack-deal-widget .ttt-fc-breakdown-trigger:active,
.tripstack-deal-widget .tripstack-button:hover,
.tripstack-deal-widget .tripstack-button:focus-visible,
.tripstack-deal-widget .tripstack-button:active{
  background:var(--tripstack-deal-button-hover-bg)!important;
  border-color:var(--tripstack-deal-button-hover-bg)!important;
  color:var(--tripstack-deal-button-hover-text)!important;
  text-decoration:none!important;
}

@media(max-width:767px){
  .tripstack-deal-widget.is-carousel{grid-template-columns:minmax(0,1fr)}
  .tripstack-carousel-nav{display:none!important}
  .tripstack-deal-cards--carousel{grid-auto-columns:88%;--tripstack-columns:1}
  .tripstack-deal-cards--grid{grid-template-columns:1fr!important}
}
@media(prefers-reduced-motion:reduce){
  .tripstack-deal-cards--carousel{scroll-behavior:auto!important}
  .tripstack-carousel-nav{transition:none!important}
}

/* build 100018: purpose-built compact/minimal deal cards. */
.tripstack-compact-card{display:grid;grid-template-columns:minmax(120px,32%) minmax(0,1fr);min-width:0;overflow:hidden;background:var(--tripstack-surface,#fff);border:1px solid var(--tripstack-border,#d8dee5);border-radius:16px;box-shadow:0 6px 20px rgba(16,25,29,.06)}
.tripstack-compact-card__media{display:block;min-height:150px;background-size:cover;background-position:center;text-decoration:none}
.tripstack-compact-card__body{display:flex;flex-direction:column;gap:.55rem;padding:16px 18px;min-width:0}
.tripstack-compact-card__top{display:flex;align-items:center;justify-content:space-between;gap:12px;text-transform:uppercase;letter-spacing:.04em;font-weight:700;font-size:.78rem}
.tripstack-compact-card__top small{font-weight:600;opacity:.65;white-space:nowrap}
.tripstack-compact-card h3{font-size:1.15rem!important;line-height:1.15!important;margin:0!important;overflow-wrap:anywhere}
.tripstack-compact-card__meta{font-size:.9rem;line-height:1.45;opacity:.76;overflow-wrap:anywhere}
.tripstack-compact-card__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}
.tripstack-compact-card__price{font-size:1.15rem}
.tripstack-compact-card .tripstack-button{display:inline-flex;align-items:center;justify-content:center;padding:.65rem .9rem;white-space:nowrap}
.tripstack-compact-card.is-minimal{display:block}
.tripstack-compact-card.is-minimal .tripstack-compact-card__body{padding:14px 16px}
.tripstack-compact-card.is-minimal h3{font-size:1rem!important}
.tripstack-compact-card.is-minimal .tripstack-compact-card__foot{margin-top:.15rem}
.tripstack-deal-cards--carousel>.tripstack-compact-card{scroll-snap-align:start;width:100%;max-width:100%;box-sizing:border-box}
@media(max-width:600px){.tripstack-compact-card{grid-template-columns:1fr}.tripstack-compact-card__media{min-height:145px}.tripstack-compact-card__foot{align-items:flex-end}}

/* build 100018: universal widget branding and theme-isolation layer.
   All values fall back to the agency-wide Tripstack design system. Elementor
   widget overrides simply replace the CSS variables on that widget wrapper. */
.tripstack-style-scope-on{
  --tsu-primary:var(--ttt-brand-primary,#111827);--tsu-secondary:var(--ttt-brand-secondary,#374151);--tsu-accent:var(--ttt-brand-accent,#0ea5e9);
  --tsu-background:var(--ttt-brand-background,#fff);--tsu-surface:var(--tsu-background);--tsu-text:var(--ttt-brand-text,#111827);--tsu-heading:var(--tsu-text);--tsu-muted:var(--ttt-brand-muted,#6b7280);
  --tsu-link:var(--tsu-accent);--tsu-link-hover:var(--tsu-primary);--tsu-border-colour:rgba(17,24,39,.12);--tsu-border-width:1px;--tsu-border-style:solid;
  --tsu-radius-tl:var(--ttt-brand-card-radius,16px);--tsu-radius-tr:var(--ttt-brand-card-radius,16px);--tsu-radius-br:var(--ttt-brand-card-radius,16px);--tsu-radius-bl:var(--ttt-brand-card-radius,16px);
  --tsu-gap:var(--ttt-space-md,16px);--tsu-pad-top:var(--ttt-space-md,16px);--tsu-pad-right:var(--ttt-space-md,16px);--tsu-pad-bottom:var(--ttt-space-md,16px);--tsu-pad-left:var(--ttt-space-md,16px);
  --tsu-width:100%;--tsu-max-width:100%;--tsu-align:left;--tsu-field-height:44px;--tsu-field-bg:#fff;--tsu-field-text:var(--tsu-text);--tsu-field-placeholder:var(--tsu-muted);--tsu-field-border:var(--tsu-border-colour);--tsu-field-focus:var(--tsu-accent);--tsu-field-radius:8px;
  --tsu-field-pad-top:9px;--tsu-field-pad-right:12px;--tsu-field-pad-bottom:9px;--tsu-field-pad-left:12px;
  --tsu-button-bg:var(--tsu-primary);--tsu-button-text:#fff;--tsu-button-border:var(--tsu-button-bg);--tsu-button-hover-bg:var(--tsu-accent);--tsu-button-hover-text:#fff;--tsu-button-hover-border:var(--tsu-button-hover-bg);--tsu-button-radius:var(--ttt-brand-button-radius,8px);
  --tsu-button-pad-top:10px;--tsu-button-pad-right:18px;--tsu-button-pad-bottom:10px;--tsu-button-pad-left:18px;--tsu-media-ratio:var(--tripstack-media-ratio,16/10);--tsu-media-fit:cover;--tsu-media-x:50%;--tsu-media-y:50%;--tsu-badge-bg:rgba(14,165,233,.10);--tsu-badge-text:var(--tsu-primary);--tsu-price:var(--tsu-primary);--tsu-empty:var(--tsu-muted);--tsu-focus:var(--tsu-accent);
  width:var(--tsu-width);max-width:var(--tsu-max-width);color:var(--tsu-text);text-align:var(--tsu-align);box-sizing:border-box;
}
.tripstack-style-scope-on :where(*, *::before, *::after){box-sizing:border-box}
.tripstack-style-scope-on :where(h1,h2,h3,h4,h5,h6,.tripstack-trip-summary__title){color:var(--tsu-heading)}
.tripstack-style-scope-on :where(a:not(.tripstack-button):not(.tripstack-carousel-nav)){color:var(--tsu-link)}
.tripstack-style-scope-on :where(a:not(.tripstack-button):not(.tripstack-carousel-nav)):hover{color:var(--tsu-link-hover)}
.tripstack-style-scope-on :where(.tripstack-results,.tripstack-deal-cards--grid,.tripstack-deal-cards--carousel,.tripstack-search__form,.tripstack-itinerary-list,.tripstack-trip-summary__facts){gap:var(--tsu-gap)}
.tripstack-style-scope-on :where(.tripstack-result-card,.tripstack-compact-card,.tripstack-search__form,.tripstack-trip-summary,.tripstack-itinerary-list>li){
  background:var(--tsu-surface);border-color:var(--tsu-border-colour);border-width:var(--tsu-border-width);border-style:var(--tsu-border-style);border-radius:var(--tsu-radius-tl) var(--tsu-radius-tr) var(--tsu-radius-br) var(--tsu-radius-bl);color:var(--tsu-text)
}
.tripstack-style-scope-on :where(.tripstack-result-card__body,.tripstack-compact-card__body,.tripstack-trip-summary,.tripstack-itinerary-list>li){padding:var(--tsu-pad-top) var(--tsu-pad-right) var(--tsu-pad-bottom) var(--tsu-pad-left)}
.tripstack-style-scope-on :where(.tripstack-result-card__meta,.tripstack-compact-card__meta,.tripstack-search__summary,small,label>span){color:var(--tsu-muted)}
.tripstack-style-scope-on :where(.tripstack-result-card__media,.tripstack-compact-card__media){aspect-ratio:var(--tsu-media-ratio);overflow:hidden;border-radius:var(--tsu-media-radius-tl,0) var(--tsu-media-radius-tr,0) var(--tsu-media-radius-br,0) var(--tsu-media-radius-bl,0)}
.tripstack-style-scope-on :where(.tripstack-result-card__media img,.tripstack-trip-hero__image,.tripstack-trip-ship__image){object-fit:var(--tsu-media-fit);object-position:var(--tsu-media-x) var(--tsu-media-y)}
.tripstack-style-scope-on :where(input,select,textarea){width:100%;min-height:var(--tsu-field-height);padding:var(--tsu-field-pad-top) var(--tsu-field-pad-right) var(--tsu-field-pad-bottom) var(--tsu-field-pad-left);border:1px solid var(--tsu-field-border);border-radius:var(--tsu-field-radius);background:var(--tsu-field-bg);color:var(--tsu-field-text);box-shadow:none;outline:none}
.tripstack-style-scope-on :where(input,textarea)::placeholder{color:var(--tsu-field-placeholder);opacity:1}
.tripstack-style-scope-on :where(input,select,textarea):focus{border-color:var(--tsu-field-focus);box-shadow:0 0 0 2px color-mix(in srgb,var(--tsu-field-focus) 20%,transparent)}
.tripstack-style-scope-on :where(.tripstack-button,button:not(.tripstack-carousel-nav)){
  appearance:none!important;display:inline-flex;align-items:center;justify-content:center;min-height:var(--tsu-field-height);padding:var(--tsu-button-pad-top) var(--tsu-button-pad-right) var(--tsu-button-pad-bottom) var(--tsu-button-pad-left);border:1px solid var(--tsu-button-border)!important;border-radius:var(--tsu-button-radius)!important;background:var(--tsu-button-bg)!important;color:var(--tsu-button-text)!important;text-decoration:none!important;box-shadow:none;cursor:pointer
}
.tripstack-style-scope-on :where(.tripstack-button,button:not(.tripstack-carousel-nav)):hover,
.tripstack-style-scope-on :where(.tripstack-button,button:not(.tripstack-carousel-nav)):focus-visible{background:var(--tsu-button-hover-bg)!important;color:var(--tsu-button-hover-text)!important;border-color:var(--tsu-button-hover-border)!important}
.tripstack-style-scope-on :where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--tsu-focus)!important;outline-offset:2px}
.tripstack-style-scope-on :where(.tripstack-result-card__type,.tripstack-compact-card__badge){background:var(--tsu-badge-bg);color:var(--tsu-badge-text);border-radius:999px;padding:.28em .6em;width:max-content;max-width:100%}
.tripstack-style-scope-on :where(.tripstack-result-card__price,.tripstack-compact-card__price){color:var(--tsu-price)}
.tripstack-style-scope-on :where(.tripstack-empty){color:var(--tsu-empty)}
.elementor-widget.tripstack-motion-subtle :where(.tripstack-result-card,.tripstack-compact-card,.tripstack-button){transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,color .18s ease,border-color .18s ease}
.elementor-widget.tripstack-motion-lift :where(.tripstack-result-card,.tripstack-compact-card){transition:transform .18s ease,box-shadow .18s ease}.elementor-widget.tripstack-motion-lift :where(.tripstack-result-card,.tripstack-compact-card):hover{transform:translateY(-4px)}
.elementor-widget.tripstack-motion-zoom :where(.tripstack-result-card__media img){transition:transform .28s ease}.elementor-widget.tripstack-motion-zoom :where(.tripstack-result-card,.tripstack-compact-card):hover .tripstack-result-card__media img{transform:scale(1.04)}
@media(prefers-reduced-motion:reduce){.tripstack-style-scope-on *{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}

/* Trip Search editor layout controls. */
.tripstack-style-scope-on .tripstack-search__form{display:grid;grid-template-columns:repeat(var(--tripstack-search-columns,4),minmax(0,1fr));gap:var(--tripstack-search-gap,var(--tsu-gap));align-items:end;padding:var(--tsu-pad-top) var(--tsu-pad-right) var(--tsu-pad-bottom) var(--tsu-pad-left)}
.tripstack-style-scope-on .tripstack-search__form label{display:flex;flex-direction:column;gap:6px;min-width:0}
.tripstack-style-scope-on .tripstack-search__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0}
.tripstack-style-scope-on.tripstack-search-button-full .tripstack-search__actions{grid-column:1/-1}.tripstack-style-scope-on.tripstack-search-button-full .tripstack-search__actions .tripstack-button{width:100%}
.tripstack-style-scope-on .tripstack-search__reset{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tsu-field-height);padding:8px 4px;color:var(--tsu-link);text-decoration:underline;text-underline-offset:3px}
.tripstack-style-scope-on.tripstack-search-reset-outline .tripstack-search__reset{padding:var(--tsu-button-pad-top) var(--tsu-button-pad-right) var(--tsu-button-pad-bottom) var(--tsu-button-pad-left);border:1px solid var(--tsu-button-bg);border-radius:var(--tsu-button-radius);text-decoration:none}
.tripstack-style-scope-on.tripstack-search-reset-button .tripstack-search__reset{padding:var(--tsu-button-pad-top) var(--tsu-button-pad-right) var(--tsu-button-pad-bottom) var(--tsu-button-pad-left);border:1px solid var(--tsu-button-border);border-radius:var(--tsu-button-radius);background:var(--tsu-button-bg);color:var(--tsu-button-text);text-decoration:none}
.tripstack-style-scope-on.tripstack-search-reset-button .tripstack-search__reset:hover{background:var(--tsu-button-hover-bg);color:var(--tsu-button-hover-text);border-color:var(--tsu-button-hover-border)}
@media(max-width:767px){.tripstack-style-scope-on .tripstack-search__form{grid-template-columns:1fr}}

/* Trip Search result links: keep card UI clean regardless of theme link decoration. */
.tripstack-search .tripstack-result-card a,
.tripstack-search .tripstack-result-card a:hover,
.tripstack-search .tripstack-result-card a:focus,
.tripstack-search .tripstack-search__reset,
.tripstack-search .tripstack-search__reset:hover,
.tripstack-search .tripstack-search__reset:focus{
  text-decoration:none!important;
  text-decoration-line:none!important;
}
.tripstack-search .tripstack-result-card h3 a{display:inline;color:inherit}
.tripstack-search .tripstack-result-card__facts{display:grid;gap:8px;margin:10px 0 12px;color:var(--tsu-muted)}
.tripstack-search .tripstack-result-card__fact{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}
.tripstack-search .tripstack-result-card__fact-label{font-size:.78em;font-weight:700;line-height:1.35;opacity:.78;flex:0 0 auto}
.tripstack-search .tripstack-result-card__fact-value{font-size:.9em;line-height:1.35;text-align:right;min-width:0;overflow-wrap:anywhere}
.tripstack-search .tripstack-result-card__price{display:flex;align-items:baseline;flex-wrap:wrap;gap:.35em;margin-top:10px}
.tripstack-search .tripstack-result-card__price-basis{font-size:.72em;font-weight:500;color:var(--tsu-muted)}
.tripstack-search datalist{display:none}
@media(max-width:767px){
  .tripstack-search .tripstack-result-card__fact{display:block}
  .tripstack-search .tripstack-result-card__fact-label{display:block;margin-bottom:2px}
  .tripstack-search .tripstack-result-card__fact-value{text-align:left}
}

/* Tripstack canonical media geometry: visual height stays consistent even when an old/small source cannot be recropped. */
.tripstack-result-card__media,
.tripstack-deal-cards .ttt-fc-media,
.tripstack-compact-card__media{aspect-ratio:2 / 1;min-height:0!important;height:auto;overflow:hidden}
.tripstack-result-card__media img,
.tripstack-compact-card__media img{width:100%;height:100%;object-fit:cover;display:block}

/* build 100031: Deal Cards standard mode shares the same configurable card
   presentation contract as Trip Search. Keep the content renderer reusable
   without requiring the card to live inside .tripstack-search. */
.tripstack-deal-widget .tripstack-result-card a,
.tripstack-deal-widget .tripstack-result-card a:hover,
.tripstack-deal-widget .tripstack-result-card a:focus{color:inherit;text-decoration:none}
.tripstack-deal-widget .tripstack-result-card h3 a{display:inline;color:inherit}
.tripstack-deal-widget .tripstack-result-card__facts{display:grid;gap:8px;margin:10px 0 12px;color:var(--tsu-muted)}
.tripstack-deal-widget .tripstack-result-card__fact{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}
.tripstack-deal-widget .tripstack-result-card__fact-label{font-size:.78em;font-weight:700;line-height:1.35;opacity:.78;flex:0 0 auto}
.tripstack-deal-widget .tripstack-result-card__fact-value{font-size:.9em;line-height:1.35;text-align:right;min-width:0;overflow-wrap:anywhere}
.tripstack-deal-widget .tripstack-result-card__price{display:flex;align-items:baseline;flex-wrap:wrap;gap:.35em;margin-top:10px}
.tripstack-deal-widget .tripstack-result-card__price-basis{font-size:.72em;font-weight:500;color:var(--tsu-muted)}
@media(max-width:520px){
  .tripstack-deal-widget .tripstack-result-card__fact{display:block}
  .tripstack-deal-widget .tripstack-result-card__fact-label{display:block;margin-bottom:2px}
  .tripstack-deal-widget .tripstack-result-card__fact-value{text-align:left}
}

/* Trip product pages + modern Trip Summary, build 100032 */
.tripstack-trip-page{width:min(1240px,100%);max-width:none;margin:0 auto;padding:clamp(22px,4vw,54px) clamp(16px,3vw,34px)}
.tripstack-trip-page__inner{display:grid;gap:clamp(22px,3vw,38px)}
.tripstack-trip-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:clamp(24px,4vw,54px);align-items:center}
.tripstack-trip-hero__media{overflow:hidden;border-radius:var(--ttt-brand-card-radius,16px);background:#f3f4f6}
.tripstack-trip-hero__image{display:block;width:100%;aspect-ratio:16/10;height:auto;object-fit:cover}
.tripstack-trip-hero__content{min-width:0}.tripstack-trip-hero__content h1{margin:.18em 0 .35em;font-size:clamp(2rem,4vw,4rem);line-height:1.03}
.tripstack-trip-hero__eyebrow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.tripstack-trip-kicker,.tripstack-trip-collection{display:inline-flex;padding:.42em .75em;border-radius:999px;background:rgba(0,0,0,.06);font-size:.78rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase}
.tripstack-trip-hero__meta,.tripstack-trip-hero__route,.tripstack-trip-reference{margin:.45em 0;opacity:.78}.tripstack-trip-price{display:flex;gap:8px;align-items:baseline;margin:1em 0 0}.tripstack-trip-price span{font-size:clamp(1.5rem,3vw,2.35rem);font-weight:800}.tripstack-trip-price small{opacity:.72}
.tripstack-trip-actions-panel,.tripstack-actions{display:flex;flex-wrap:wrap;gap:10px}.tripstack-button--secondary,.tripstack-summary-bar__button--secondary{background:transparent;color:inherit;border:1px solid currentColor}
.tripstack-trip-section{min-width:0}.tripstack-trip-section>h2{margin:0 0 14px}.tripstack-trip-copy{max-width:82ch}
.tripstack-trip-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;padding:16px;border:1px solid rgba(0,0,0,.10);border-radius:var(--ttt-brand-card-radius,16px);background:var(--ttt-brand-background,#fff)}
.tripstack-trip-pricing__grid,.tripstack-stack-components__grid,.tripstack-trip-editorial__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.tripstack-price-option,.tripstack-trip-editorial__grid>div{display:grid;gap:5px;padding:16px;border:1px solid rgba(0,0,0,.10);border-radius:var(--ttt-brand-card-radius,14px);background:var(--ttt-brand-background,#fff)}.tripstack-price-option strong{font-size:1.35rem}.tripstack-price-option small,.tripstack-price-option span,.tripstack-trip-editorial__grid small{opacity:.72}
.tripstack-stack-component{display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px;align-items:center;overflow:hidden;border:1px solid rgba(0,0,0,.10);border-radius:var(--ttt-brand-card-radius,14px);background:var(--ttt-brand-background,#fff)}.tripstack-stack-component img{width:110px;height:100%;min-height:100px;object-fit:cover}.tripstack-stack-component>div{padding:12px 12px 12px 0}.tripstack-stack-component h3,.tripstack-stack-component p{margin:.25em 0}
.tripstack-trip-ship__grid{display:grid;grid-template-columns:minmax(220px,380px) minmax(0,1fr);gap:20px;align-items:center}.tripstack-trip-ship__image{width:100%;border-radius:var(--ttt-brand-card-radius,14px)}
.tripstack-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:0}.tripstack-facts>div{padding:14px;border:1px solid rgba(0,0,0,.10);border-radius:var(--ttt-brand-card-radius,12px)}.tripstack-facts dt{font-size:.8em;opacity:.7}.tripstack-facts dd{margin:4px 0 0;font-weight:700}

.tripstack-summary-bar.ttt-tour-bar{--ttt-bar-speed:250ms;--ttt-bar-exit-speed:250ms}.tripstack-summary-bar .ttt-tour-bar-panel{padding:12px 18px}.tripstack-summary-bar__layout{display:flex;align-items:center;gap:16px;min-width:0}.tripstack-summary-bar__image{flex:0 0 auto;display:block;overflow:hidden;border-radius:10px}.tripstack-summary-bar__image img{display:block;width:100%;height:100%;object-fit:cover}.tripstack-summary-bar__content{display:grid;gap:5px;min-width:0;flex:1 1 320px}.tripstack-summary-bar__title{font-size:1.08rem}.tripstack-summary-bar__title a{color:inherit;text-decoration:none}.tripstack-summary-bar__route{font-size:.9em;opacity:.76;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tripstack-summary-bar__price{display:grid;gap:1px;flex:0 0 auto}.tripstack-summary-bar__price strong{font-size:1.2rem}.tripstack-summary-bar__price small{font-size:.76em;opacity:.72}.tripstack-summary-bar__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto}.tripstack-summary-bar__button{white-space:nowrap}.tripstack-summary-bar--inline.ttt-tour-bar{position:relative;z-index:auto;inset:auto;width:100%;max-width:100%;opacity:1;visibility:visible;pointer-events:auto;transform:none}.tripstack-summary-bar--inline .ttt-tour-bar-panel{position:relative;opacity:1!important;transform:none!important;pointer-events:auto!important}
@media(max-width:900px){.tripstack-trip-hero{grid-template-columns:1fr}.tripstack-summary-bar__layout{flex-wrap:wrap}.tripstack-summary-bar__actions{width:100%;margin-left:0}.tripstack-summary-bar__actions>*{flex:1 1 180px}.tripstack-trip-ship__grid{grid-template-columns:1fr}}
@media(max-width:600px){.tripstack-summary-bar__image{display:none}.tripstack-summary-bar__price{width:100%}.tripstack-trip-actions-panel>*{width:100%}.tripstack-stack-component{grid-template-columns:90px minmax(0,1fr)}.tripstack-stack-component img{width:90px}}

/* Build 100033: destinations */
.tripstack-destination-link{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.tripstack-destination-link:hover{text-decoration-thickness:2px}.tripstack-destination-score-overall{display:flex;align-items:baseline;gap:4px;margin:0 0 18px}.tripstack-destination-score-overall strong{font-size:clamp(2.4rem,6vw,4.6rem);line-height:1}.tripstack-destination-score-overall span{font-size:1.1rem;opacity:.7}.tripstack-destination-page .tripstack-trip-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.tripstack-destination-page .tripstack-trip-summary__fact{min-height:92px}.tripstack-destination-page .tripstack-trip-summary__fact small{display:block;min-height:2.6em;line-height:1.3}.tripstack-destination-page .tripstack-trip-summary__fact strong{overflow-wrap:anywhere}

/* Build 100043: richer deal card media, responsive density and value hierarchy. */
.tripstack-result-card__gallery{display:block;overflow:hidden;background:var(--ttt-brand-background,#fff)}
.tripstack-result-card__gallery-strip{display:flex;gap:6px;padding:7px;overflow-x:auto;scrollbar-width:thin;background:rgba(0,0,0,.025)}
.tripstack-result-card__gallery-thumb{flex:0 0 54px;width:54px;height:38px;padding:0;border:2px solid transparent;border-radius:6px;overflow:hidden;background:transparent;cursor:pointer;opacity:.78}
.tripstack-result-card__gallery-thumb.is-active{border-color:var(--ttt-brand-primary,#781521);opacity:1}
.tripstack-result-card__gallery-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.tripstack-result-card__nights{margin:.2rem 0 .35rem;font-size:1.12rem;font-weight:800;line-height:1.1}
.tripstack-result-card__score{display:flex;align-items:baseline;gap:.16em;margin:0 0 .45rem;color:var(--ttt-brand-primary,#781521)}
.tripstack-result-card__score strong{font-size:1.35rem;line-height:1}.tripstack-result-card__score span{font-size:.8rem;font-weight:700}
.tripstack-result-card__pppn{margin-top:-7px;margin-bottom:10px;font-size:.82rem;font-weight:650;color:var(--tsu-muted,#667176)}
.tripstack-deal-widget.density-desktop-compact .tripstack-result-card__body{padding:12px}.tripstack-deal-widget.density-desktop-compact .tripstack-result-card__facts{gap:5px}.tripstack-deal-widget.density-desktop-compact .tripstack-result-card__media{aspect-ratio:16/8}
.tripstack-deal-widget.density-desktop-minimal .tripstack-result-card__facts,.tripstack-deal-widget.density-desktop-minimal .tripstack-result-card__type{display:none}.tripstack-deal-widget.density-desktop-minimal .tripstack-result-card__body{padding:10px}.tripstack-deal-widget.density-desktop-minimal .tripstack-result-card__gallery-strip{display:none}
@media(max-width:1024px){.tripstack-deal-widget.density-tablet-standard .tripstack-result-card__body{padding:18px}.tripstack-deal-widget.density-tablet-compact .tripstack-result-card__body{padding:12px}.tripstack-deal-widget.density-tablet-compact .tripstack-result-card__facts{gap:5px}.tripstack-deal-widget.density-tablet-compact .tripstack-result-card__media{aspect-ratio:16/8}.tripstack-deal-widget.density-tablet-minimal .tripstack-result-card__facts,.tripstack-deal-widget.density-tablet-minimal .tripstack-result-card__type{display:none}.tripstack-deal-widget.density-tablet-minimal .tripstack-result-card__body{padding:10px}.tripstack-deal-widget.density-tablet-minimal .tripstack-result-card__gallery-strip{display:none}}
@media(max-width:767px){.tripstack-deal-widget.density-mobile-standard .tripstack-result-card__body{padding:18px}.tripstack-deal-widget.density-mobile-compact .tripstack-result-card__body{padding:11px}.tripstack-deal-widget.density-mobile-compact .tripstack-result-card__facts{gap:4px}.tripstack-deal-widget.density-mobile-compact .tripstack-result-card__media{aspect-ratio:16/8}.tripstack-deal-widget.density-mobile-minimal .tripstack-result-card__facts,.tripstack-deal-widget.density-mobile-minimal .tripstack-result-card__type{display:none}.tripstack-deal-widget.density-mobile-minimal .tripstack-result-card__body{padding:9px}.tripstack-deal-widget.density-mobile-minimal .tripstack-result-card__gallery-strip{display:none}}
