/* MARKO Traveling — client overlay for search, hotel card and inquiry. */

:root {
  --marko-ux-sans: "Golos Text", "Segoe UI", sans-serif;
  --marko-ux-serif: "Lora", Georgia, "Times New Roman", serif;
  --marko-ux-ink: #1c1612;
  --marko-ux-muted: #5a4e44;
  --marko-ux-gold: #8a5d24;
  --marko-ux-line: #c4a36a55;
  --marko-ux-paper: #fffaf4;
  --marko-ux-sand: #f4ebde;
  --marko-ux-display: clamp(40px, 4.6vw, 52px);
  --marko-ux-title: clamp(26px, 2.4vw, 30px);
  --marko-ux-section: 22px;
  --marko-ux-body: 17px;
  --marko-ux-meta: 14px;
  --marko-ux-kicker: 11px;
  --marko-ux-space: 8px;
  --marko-ux-scene: image-set(
    "/assets/marko-three-worlds/backgrounds/optimized/traveling-desktop-v3.avif" 1x type("image/avif"),
    "/assets/marko-three-worlds/backgrounds/optimized/traveling-desktop-v3.webp" 1x type("image/webp")
  );
}

/* v68: contrast belongs to each surface. Country guides use an ivory palette;
   utility/search cards keep their dark-on-paper palette. */
[class*="DestinationCountryGuide-module"][class*="__page"] {
  --marko-ux-ink: #fff8eb;
  --country-muted: #e8ddcd;
  --country-faint: #d4c4ae;
  --country-gold: #ebca95;
  color: #fff8eb;
}
[class*="DestinationCountryGuide-module"][class*="__backgroundVeil"] {
  background: linear-gradient(90deg, #18130fe8, #211a15c7 72%, #18130fdb);
}
[class*="DestinationCountryGuide-module"][class*="__page"] :is(h1, h2, h3) {
  color: #fff8eb;
  line-height: 1.16;
  overflow-wrap: anywhere;
  text-wrap: balance;
}
[class*="DestinationCountryGuide-module"][class*="__intro"] h1 { font-size: clamp(42px, 5.5vw, 76px); line-height: 1.1; }
[class*="DestinationCountryGuide-module"][class*="__lede"] { color: #f2e8d9; font-size: 17px; line-height: 1.65; }
[class*="DestinationCountryGuide-module"][class*="__total"] { position: static; display: block; text-align: left; max-width: 100%; margin-top: 20px; font-size: 12px; line-height: 1.6; letter-spacing: .06em; }
[class*="DestinationCountryGuide-module"][class*="__page"] :is([class*="__eyebrow"], [class*="__kicker"], [class*="__bodyLabel"], [class*="__cardAction"], [class*="__groupHeader"] small, [class*="__featureTile"] small, [class*="__areaCard"] small, [class*="__sightGrid"] small) {
  color: #ebca95;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: .06em;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}
[class*="DestinationCountryGuide-module"][class*="__page"] :is([class*="__sectionHeader"] > p, [class*="__featureTile"] > summary p, [class*="__featureLead"] p, [class*="__featurePlanning"] p, [class*="__areaBody"] p, [class*="__factBody"] > p, [class*="__featureAreas"] span, [class*="__textList"] li, [class*="__areaCard"] > summary > p, [class*="__sightGrid"] p) {
  color: #e8ddcd;
  font-size: 15px;
  line-height: 1.65;
}
[class*="DestinationCountryGuide-module"][class*="__featureLead"] > div > p { font-size: 21px; line-height: 1.45; }
[class*="DestinationCountryGuide-module"][class*="__featureGrid"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
[class*="DestinationCountryGuide-module"][class*="__featureTile"] > summary { grid-template-columns: 54px minmax(0, 1fr) 28px; min-height: 180px; }
[class*="DestinationCountryGuide-module"][class*="__page"] :is([class*="__featureTile"] h3, [class*="__areaCard"] h3, [class*="__sightGrid"] h3) { font-size: clamp(23px, 2.1vw, 30px); line-height: 1.2; }
[class*="DestinationCountryGuide-module"][class*="__page"] :is([class*="__areaCard"] > summary > p, [class*="__sightGrid"] p) { display: block; -webkit-line-clamp: unset; overflow: visible; }
[class*="DestinationCountryGuide-module"][class*="__page"] figcaption { color: #fff8eb; }
[class*="DestinationCountryGuide-module"][class*="__page"] figcaption :is(span, small) { color: #f2dfbc; font-size: 12px; line-height: 1.5; letter-spacing: .03em; }
[class*="DestinationCountryGuide-module"][class*="__leadMedia"] figcaption { top: auto; bottom: 0; left: 0; right: 0; padding: 16px 18px; background: #211a15eb; text-shadow: none; }
[class*="DestinationCountryGuide-module"][class*="__page"] :is([class*="__entryGuide"] > summary > span:first-child, [class*="__mapLink"], [class*="__footer"] a, [class*="__footer"] nav > span) { font-size: 12px; line-height: 1.5; letter-spacing: .04em; }
[class*="DestinationCountryGuide-module"][class*="__page"] :is(a, summary):focus-visible { outline: 3px solid #f5d59e; outline-offset: 4px; scroll-margin-block: 120px 36px; }
[class*="DestinationCountryGuide-module"][class*="__page"] [class*="__searchCta"] {
  position: static;
  width: fit-content;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  margin: 24px 0 0;
  padding: 14px 20px;
  min-height: 64px;
  color: #3e2c1b;
  background: #f6d39d;
}
[class*="DestinationCountryGuide-module"][class*="__page"] [class*="__searchCta"] small { font-size: 12px; line-height: 1.5; letter-spacing: .04em; white-space: normal; overflow: visible; }
[class*="DestinationCountryGuide-module"][class*="__page"] [class*="__searchCta"] > span { gap: 5px; font-size: 22px; line-height: 1.2; }
[class*="DestinationCountryGuide-module"][class*="__page"] [class*="CountryEntryGuidePanel-module"][class*="__panel"] {
  --entry-text: #fff8eb;
  --entry-muted: #e8ddcd;
  --entry-accent: #ebca95;
  --entry-line: #e1caa759;
  --entry-surface: #51402b66;
}
[class*="DestinationCountryGuide-module"][class*="__page"] [class*="CountryEntryGuidePanel-module"] :is(p, li, dd) { font-size: 15px; line-height: 1.65; }
[class*="DestinationCountryGuide-module"][class*="__page"] [class*="CountryEntryGuidePanel-module"] :is(small, dt, h4),
[class*="DestinationCountryGuide-module"][class*="__page"] [class*="CountryEntryGuidePanel-module"][class*="__intro"] > span,
[class*="DestinationCountryGuide-module"][class*="__page"] [class*="CountryEntryGuidePanel-module"][class*="__factGrid"] dd > span { font-size: 12px; line-height: 1.6; letter-spacing: .03em; }
[class*="DestinationCountryGuide-module"][class*="__page"] > [class*="TravelBoard-module"][class*="__boardHeader"],
[class*="TravelingCountryPicker-module"][class*="__interface"] > [class*="TravelBoard-module"][class*="__boardHeader"] { background: #f8f1e7 !important; color: #382a1e; border-bottom: 1px solid #d7c5ab; backdrop-filter: none; }
[class*="DestinationCountryGuide-module"][class*="__page"] > [class*="TravelBoard-module"][class*="__boardHeader"] img,
[class*="TravelingCountryPicker-module"][class*="__interface"] > [class*="TravelBoard-module"][class*="__boardHeader"] img { filter: none; }

/* The picker combines dark photographic tiles and light country panels. */
[class*="TravelingCountryPicker-module"][class*="__page"] :is([class*="__heading"] h1, [class*="__sectionHeading"] h2, [class*="__featuredCard"] h3),
[class*="DestinationRegionExplorer-module"][class*="__regionPlaque"] [class*="__regionName"] { color: #fff8eb; line-height: 1.16; overflow-wrap: anywhere; }
[class*="TravelingCountryPicker-module"][class*="__veil"] { background: linear-gradient(#211a15d1, #211a15cc); }
[class*="TravelingCountryPicker-module"][class*="__page"] :is([class*="__heading"] > span, [class*="__catalogCount"], [class*="__sectionHeading"] > div > span, [class*="__featuredMeta"], [class*="__featuredAction"]),
[class*="DestinationRegionExplorer-module"]:is([class*="__regionIndex"], [class*="__regionCount"], [class*="__regionAction"], [class*="__panelEyebrow"], [class*="__countryRegion"], [class*="__cardAction"]),
[class*="DestinationRegionExplorer-module"][class*="__countryPanelHeader"] > strong { font-size: 12px; line-height: 1.5; letter-spacing: .04em; }
[class*="TravelingCountryPicker-module"][class*="__featuredCard"] p,
[class*="DestinationRegionExplorer-module"][class*="__regionSummary"] { color: #eee1ce; font-size: 14px; line-height: 1.6; display: block; -webkit-line-clamp: unset; overflow: visible; }
[class*="TravelingCountryPicker-module"][class*="__featuredCard"] { min-height: 270px; }
[class*="TravelingCountryPicker-module"][class*="__featuredCard"]::before { background: linear-gradient(#18120dad, #18120ded); }
[class*="DestinationRegionExplorer-module"][class*="__countryPanel"] { background: #faf4e9; }
[class*="DestinationRegionExplorer-module"][class*="__countryPanel"] :is(h2, h3) { color: #34281d; line-height: 1.18; }
[class*="DestinationRegionExplorer-module"][class*="__countryPanel"] p { color: #564634; font-size: 14px; line-height: 1.6; }
[class*="DestinationRegionExplorer-module"][class*="__countryCard"] { min-height: 220px; }

/* Editorial/search information uses opaque paper, not text shadows on a photo. */
[class*="TravelBoard-module"][class*="__interiorPage"] [class*="__interiorHero"],
[class*="TravelBoard-module"][class*="__interiorPage"] [class*="__interiorContent"] { background: #fbf8f3; color: #1c1612; border: 1px solid #d7c5ab; border-radius: 20px; box-sizing: border-box; padding: clamp(24px, 3vw, 40px); }
[class*="TravelBoard-module"][class*="__interiorPage"] [class*="__interiorHero"] { margin-block: 24px; }
[class*="TravelBoard-module"][class*="__interiorPage"] [class*="__interiorHero"] p::before { display: none; }
[class*="TravelBoard-module"][class*="__interiorPage"] [class*="__interiorHero"] :is(h1, p) { text-shadow: none !important; }
[class*="TravelBoard-module"][class*="__interiorPage"] :is(h1, h2, h3) { overflow-wrap: anywhere; line-height: 1.2; }
[class*="TravelBoard-module"][class*="__goldButton"] { font-size: 12px; line-height: 1.4; }
[class*="TravelUtility-module"] :is(small, dt),
[class*="TravelUtility-module"]:is([class*="__collectionIndex"], [class*="__collectionAction"]),
[class*="TravelUtility-module"]:is([class*="__guideHeader"], [class*="__travelFaq"], [class*="__popularTours"], [class*="__guideEditorial"] section) > span,
[class*="TravelUtility-module"][class*="__guideEditorial"] li small { font-size: 12px; line-height: 1.5; color: #71502c; }
[class*="TravelUtility-module"][class*="__guideEditorial"] li strong { font-size: 14px; line-height: 1.5; }
[class*="TravelUtility-module"][class*="__contactLinks"] a { font-size: 14px; color: #6f4b26; }
[class*="TravelUtility-module"][class*="__collectionGrid"] > a { display: flex; flex-direction: column; }
[class*="TravelUtility-module"][class*="__collectionAction"] { position: static; align-self: flex-end; padding-top: 20px; margin-top: auto; }
[class*="TravelBoard-module"][class*="__formHint"] { font-size: 13px; line-height: 1.5; color: #584530; }
[class*="PopularTourStrip-module"] h2 { font-size: 17px; line-height: 1.3; }

@media (max-width: 680px) {
  [class*="DestinationCountryGuide-module"][class*="__featureGrid"] { grid-template-columns: minmax(0, 1fr); }
  [class*="DestinationCountryGuide-module"][class*="__intro"] h1 { font-size: clamp(40px, 11vw, 58px); }
  [class*="DestinationCountryGuide-module"][class*="__featureTile"] > summary { grid-template-columns: 46px minmax(0, 1fr) 28px; padding: 16px 14px; }
  [class*="DestinationCountryGuide-module"][class*="__page"] [class*="__searchCta"] { width: 100%; }
  [class*="DestinationCountryGuide-module"][class*="__leadMedia"] { aspect-ratio: auto; min-height: 290px; }
  [class*="DestinationCountryGuide-module"][class*="__footer"] { padding-bottom: max(24px, env(safe-area-inset-bottom)); }
  [class*="TravelBoard-module"][class*="__interiorPage"] [class*="__interiorHero"],
  [class*="TravelBoard-module"][class*="__interiorPage"] [class*="__interiorContent"] { padding: 22px 18px; border-radius: 16px; }
}

/* Brighter coast: more sea on the right, only a light warm veil. */
[class*="TravelResults-module"][class*="resultsPage"]:before,
[class*="TravelBoard-module"][class*="boardBackground"],
.marko-ux-scene {
  background-position: 72% center !important;
  filter: saturate(0.86) brightness(1.04) contrast(1.02) !important;
}

[class*="TravelResults-module"][class*="resultsPage"]:after {
  background:
    linear-gradient(180deg, #f7efe68f 0%, #f3e8d84d 28%, #eedfcd33 100%) !important;
}

[class*="TravelResults-module"][class*="offerCard"],
[class*="TravelResults-module"][class*="resultsAside"],
[class*="TravelResults-module"][class*="statusCard"],
[class*="TravelResults-module"][class*="emptyInline"] {
  background: #fffaf4f4 !important;
  backdrop-filter: blur(10px);
}

[class*="AnalyticsConsent-module"][class*="panel"] {
  z-index: 35 !important;
  right: 16px !important;
  bottom: 16px !important;
  width: min(360px, calc(100vw - 32px)) !important;
}

html[data-marko-ux-offer="open"] [class*="AnalyticsConsent-module"][class*="panel"] {
  display: none !important;
}

[class*="TravelBoard-module"][class*="returnLink"] {
  color: #fff8ee !important;
  background: #2a2118f2 !important;
  border-color: #f0e2c359 !important;
}

[class*="TravelBoard-module"][class*="returnLink"] span {
  color: #fff8ee !important;
}

.marko-ux-copy-badge {
  position: fixed;
  z-index: 20;
  right: 16px;
  left: auto;
  bottom: 16px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid #be94538a;
  background: #2b2118f0;
  color: #f6efe4;
  font: 650 12px/1.2 var(--marko-ux-sans);
  letter-spacing: 0.02em;
  pointer-events: none;
}

[data-traveling-typography="true"] {
  --font-sans: var(--marko-ux-sans) !important;
  --font-serif: var(--marko-ux-serif) !important;
  --travel-font-sans: var(--marko-ux-sans);
  --travel-font-serif: var(--marko-ux-serif);
  font-family: var(--marko-ux-sans);
  color: var(--marko-ux-ink);
}

[data-traveling-typography="true"] h1,
[data-traveling-typography="true"] h2,
[data-traveling-typography="true"] h3 {
  font-family: var(--marko-ux-serif);
  font-weight: 500;
  letter-spacing: -0.025em;
  color: var(--marko-ux-ink);
}

[class*="TravelBoard-module"][class*="interiorHero"] span,
[class*="TravelBoard-module"][class*="boardHeader"] span,
[class*="TravelBoard-module"][class*="heroCopy"] span {
  font-size: var(--marko-ux-kicker) !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  color: var(--marko-ux-gold) !important;
}

[class*="TravelBoard-module"][class*="interiorHero"] h1,
[class*="TravelBoard-module"][class*="heroCopy"] h1 {
  font-size: var(--marko-ux-display) !important;
  font-weight: 500 !important;
  line-height: 1.06 !important;
  text-shadow: 0 1px 0 #fffaf6cc, 0 10px 28px #fff4e280 !important;
}

[class*="TravelBoard-module"][class*="interiorHero"] p,
[class*="TravelBoard-module"][class*="heroCopy"] p,
[class*="TravelResults-module"][class*="resultsTopline"] p {
  color: var(--marko-ux-ink) !important;
  font-size: var(--marko-ux-body) !important;
  font-weight: 500 !important;
  line-height: 1.65 !important;
  max-width: 36rem;
  padding: 0 !important;
  background: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  text-shadow: 0 1px 0 #fffaf5, 0 0 16px #fff6e8f0, 0 0 28px #ffe9c8c7 !important;
}

[class*="TravelBoard-module"][class*="interiorContent"] p {
  font-size: var(--marko-ux-body) !important;
  line-height: 1.65 !important;
}

[class*="TourFilters-module"][class*="modeRow"] button,
[class*="TourFilters-module"][class*="quickFilters"] button {
  min-height: 40px !important;
  padding: 0 16px !important;
  font-size: var(--marko-ux-meta) !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em;
}

[class*="TourvisorWorkspace-module"][class*="toolTab"] {
  font-size: 14px !important;
}

/* Results: stop the sticky dates/country form */
[class*="TravelResults-module"][class*="stickySearch"] {
  position: static !important;
  top: auto !important;
  z-index: 4 !important;
  width: min(1260px, calc(100% - 32px)) !important;
  margin: 0 auto !important;
  padding: 12px 0 0 !important;
  background: none !important;
}

html[data-marko-ux-search="collapsed"] [class*="TravelResults-module"][class*="stickySearch"] {
  height: 76px !important;
  min-height: 76px !important;
  padding: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

html[data-marko-ux-search="expanded"] [class*="TravelResults-module"][class*="stickySearch"] {
  visibility: visible !important;
  height: auto !important;
  overflow: visible !important;
  pointer-events: auto !important;
  padding-top: 52px !important;
}

html[data-marko-ux-search="expanded"] #marko-ux-search-summary {
  background: transparent;
  border: 0;
  box-shadow: none;
  justify-content: flex-end;
  padding: 0;
}

html[data-marko-ux-search="expanded"] #marko-ux-search-summary > div:first-child {
  display: none;
}

html[data-marko-ux-search] [class*="TourFilters-module"][class*="quickFilters"] {
  display: none !important;
}

.marko-ux-filter-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  width: 100%;
}

.marko-ux-filter-chip {
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid var(--marko-ux-line);
  border-radius: 999px;
  background: #fffaf4;
  color: var(--marko-ux-ink);
  font: 600 13px/1 var(--marko-ux-sans);
  cursor: pointer;
}

.marko-ux-filter-chip[data-active="true"] {
  border-color: #b98847;
  background: #f0d3a2;
}

.marko-ux-filter-more {
  font-weight: 700;
}

#marko-ux-search-summary {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  z-index: 25;
  width: min(1260px, calc(100% - 32px));
  box-sizing: border-box;
}

.marko-ux-search-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
  padding: 18px 22px;
  border: 1px solid var(--marko-ux-line);
  border-radius: 20px;
  background: #fffaf4f2;
  box-shadow: 0 18px 40px #3d2e1f12;
}

.marko-ux-search-summary strong {
  display: block;
  font-family: var(--marko-ux-serif);
  font-size: 22px;
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: var(--marko-ux-ink);
}

.marko-ux-search-summary p {
  margin: 6px 0 0;
  color: var(--marko-ux-muted);
  font-size: var(--marko-ux-meta);
  line-height: 1.5;
}

.marko-ux-hot-refine {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  width: 100%;
  margin-top: 4px;
  align-items: flex-end;
}

.marko-ux-hot-refine label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: min(220px, 100%);
  flex: 1;
}

.marko-ux-hot-refine span {
  color: var(--marko-ux-gold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 650;
}

.marko-ux-hot-refine select {
  min-height: 46px;
  padding: 0 12px;
  border: 1px solid #c4a36a;
  border-radius: 12px;
  background: #fffdf9;
  color: var(--marko-ux-ink);
  font: 500 15px/1.2 var(--marko-ux-sans);
}

.marko-ux-hot-refine button {
  min-height: 46px;
}

.marko-ux-search-summary button,
.marko-ux-search-summary a {
  appearance: none;
  font: 600 14px/1 var(--marko-ux-sans);
  letter-spacing: 0.02em;
  color: #3a2a1b;
  background: #fffaf3;
  border: 1px solid #c4a36a;
  border-radius: 999px;
  min-height: 44px;
  padding: 0 18px;
  cursor: pointer;
}

.marko-ux-back {
  appearance: none;
  font: 600 14px/1 var(--marko-ux-sans);
  letter-spacing: 0.02em;
  color: #fff8ee !important;
  background: #2a2118f2 !important;
  border: 1px solid #f0e2c359 !important;
  border-radius: 999px;
  min-height: 44px;
  padding: 0 18px;
  cursor: pointer;
}

.marko-ux-search-editor {
  margin-top: 12px;
}

[class*="TravelResults-module"][class*="resultsLayout"] {
  width: min(1260px, calc(100% - 32px)) !important;
  padding-top: 22px !important;
}

html[data-marko-ux-search="collapsed"] [class*="TravelResults-module"][class*="resultsLayout"] {
  padding-top: 168px !important;
}

html[data-marko-ux-search="expanded"] [class*="TravelResults-module"][class*="resultsLayout"] {
  padding-top: 92px !important;
}

[class*="TravelResults-module"][class*="resultsTopline"] h1,
[class*="TravelResults-module"][class*="statusCard"] h1,
[class*="TravelResults-module"][class*="statusCard"] h2,
[class*="TravelResults-module"][class*="emptyInline"] h2 {
  font-family: var(--marko-ux-serif) !important;
  font-size: var(--marko-ux-display) !important;
  font-weight: 500 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.06 !important;
}

[class*="TravelResults-module"][class*="resultsTopline"] > div > span,
[class*="TravelResults-module"][class*="resultsAside"] > span {
  font-size: var(--marko-ux-kicker) !important;
  font-weight: 600 !important;
  letter-spacing: 0.16em !important;
}

[class*="TravelResults-module"][class*="resultsAside"] h2 {
  font-size: 26px !important;
  font-weight: 500 !important;
}

[class*="TravelResults-module"][class*="resultsAside"] p,
[class*="TravelResults-module"][class*="statusCard"] p,
[class*="TravelResults-module"][class*="emptyInline"] p {
  font-size: var(--marko-ux-body) !important;
  line-height: 1.65 !important;
}

[class*="TravelResults-module"][class*="resultsAside"] a,
[class*="TravelResults-module"][class*="statusCard"] > button,
[class*="TravelResults-module"][class*="statusCard"] > a {
  font-size: 14px !important;
}

[class*="TravelResults-module"][class*="resultsTopline"] label,
[class*="TravelResults-module"][class*="resultsTopline"] select {
  font-size: 14px !important;
}

[class*="TravelResults-module"][class*="offerList"] {
  gap: 24px !important;
}

[class*="TravelResults-module"][class*="offerCard"] {
  grid-template-columns: minmax(240px, 280px) minmax(0, 1fr) 220px !important;
  min-height: 248px !important;
  border-radius: 20px !important;
  border-color: var(--marko-ux-line) !important;
  cursor: pointer;
  box-shadow: 0 16px 36px #3d2e1f10 !important;
}

[class*="TravelResults-module"][class*="offerVisual"] {
  display: grid !important;
  padding: 12px !important;
}

[class*="TravelResults-module"][class*="offerImageFrame"],
[class*="TravelResults-module"][class*="offerImage"] {
  min-height: 188px !important;
  height: 100% !important;
  object-fit: cover !important;
}

[class*="TravelResults-module"][class*="mapButton"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 42px !important;
  padding: 0 12px !important;
  border: 1px solid rgba(150, 108, 55, 0.42) !important;
  border-radius: 10px !important;
  background: #fffaf2 !important;
  color: #5b432c !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.25 !important;
  text-align: center !important;
  text-decoration: none !important;
}

@media (max-width: 1180px) {
  [class*="TravelResults-module"][class*="offerCard"] {
    grid-template-columns: minmax(220px, 250px) minmax(0, 1fr) !important;
  }
}

@media (max-width: 640px) {
  [class*="TravelResults-module"][class*="offerCard"] {
    grid-template-columns: 1fr !important;
  }

  [class*="TravelResults-module"][class*="offerImageFrame"],
  [class*="TravelResults-module"][class*="offerImage"] {
    min-height: 210px !important;
  }
}

[class*="TravelResults-module"][class*="offerMain"] {
  padding: 28px 28px 24px !important;
}

[class*="TravelResults-module"][class*="offerTitle"] h2 {
  font-family: var(--marko-ux-serif) !important;
  font-size: var(--marko-ux-title) !important;
  font-weight: 500 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.03em;
}

[class*="TravelResults-module"][class*="offerTitle"] > div > span,
[class*="TravelResults-module"][class*="offerTitle"] small,
[class*="TravelResults-module"][class*="offerVisual"] span,
[class*="TravelResults-module"][class*="hotelMeta"] strong {
  font-size: var(--marko-ux-meta) !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  line-height: 1.45 !important;
  color: var(--marko-ux-muted) !important;
}

[class*="TravelResults-module"][class*="offerFacts"] dt,
[class*="TravelResults-module"][class*="detailBlock"] dt {
  font-size: var(--marko-ux-kicker) !important;
  letter-spacing: 0.12em !important;
  font-weight: 600 !important;
  color: var(--marko-ux-gold) !important;
}

[class*="TravelResults-module"][class*="offerFacts"] dd,
[class*="TravelResults-module"][class*="detailBlock"] dd,
[class*="TravelResults-module"][class*="providerVariants"] > div > span,
[class*="TravelResults-module"][class*="providerVariants"] strong {
  font-size: 15px !important;
  line-height: 1.5 !important;
}

[class*="TravelResults-module"][class*="offerPrice"] > span,
[class*="TravelResults-module"][class*="offerPrice"] small,
[class*="TravelResults-module"][class*="offerPrice"] button,
[class*="TravelResults-module"][class*="offerActions"] a,
[class*="TravelResults-module"][class*="availabilityMessage"] {
  font-size: var(--marko-ux-meta) !important;
  letter-spacing: 0.04em !important;
}

[class*="TravelResults-module"][class*="offerPrice"] strong {
  font-family: var(--marko-ux-serif) !important;
  font-size: 28px !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
}

[class*="TravelResults-module"][class*="primaryAction"],
[class*="TravelResults-module"][class*="offerActions"] button {
  min-height: 46px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.03em !important;
  padding: 0 18px !important;
}

[class*="TravelResults-module"][class*="detailBlock"] {
  padding: 24px 26px !important;
  border-radius: 16px !important;
}

[class*="TravelResults-module"][class*="detailBlock"] h3,
.marko-service-group h4,
.marko-room-types h4,
.marko-detail-gallery-heading {
  font-family: var(--marko-ux-serif) !important;
  font-size: var(--marko-ux-section) !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.2 !important;
  margin-bottom: 10px !important;
}

[class*="TravelResults-module"][class*="detailBlock"] p,
[class*="TravelResults-module"][class*="detailStatus"],
.marko-provider-note {
  font-size: var(--marko-ux-body) !important;
  line-height: 1.7 !important;
  font-weight: 400 !important;
  color: var(--marko-ux-ink) !important;
}

[class*="TravelResults-module"][class*="serviceTags"] span,
.marko-gallery-count,
.marko-gallery-all,
.marko-flight-show-all {
  font-size: 13px !important;
}

[class*="TravelResults-module"][class*="flightVariant"] > strong {
  font-size: 22px !important;
}

[class*="TravelResults-module"][class*="flightVariant"] span,
[class*="TravelResults-module"][class*="flightVariant"] small,
[class*="TravelResults-module"][class*="flightVariant"] b {
  font-size: 14px !important;
  line-height: 1.45 !important;
}

html[data-marko-ux-offer="open"],
html[data-marko-ux-offer="open"] body {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  height: auto !important;
  max-height: none !important;
}

html[data-marko-ux-offer="open"] [data-traveling-typography],
html[data-marko-ux-offer="open"] [class*="TravelResults-module"][class*="resultsPage"],
html[data-marko-ux-offer="open"] [class*="TravelBoard-module"][class*="boardHome"],
html[data-marko-ux-offer="open"] [class*="TravelBoard-module"][class*="interiorPage"] {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
  min-height: 100svh;
}

/* Dedicated offer page: hide the list chrome, keep one hotel */
html[data-marko-ux-offer="open"] [class*="TravelResults-module"][class*="stickySearch"],
html[data-marko-ux-offer="open"] [class*="TravelResults-module"][class*="resultsAside"],
html[data-marko-ux-offer="open"] [class*="TravelResults-module"][class*="resultsTopline"],
html[data-marko-ux-offer="open"] [class*="TravelResults-module"][class*="offerCard"]:not(.marko-ux-offer-active),
html[data-marko-ux-offer="open"] #marko-ux-search-summary {
  display: none !important;
}

html[data-marko-ux-offer="open"] {
  scroll-padding-top: 160px;
}

html[data-marko-ux-offer="open"] [class*="TravelResults-module"][class*="resultsLayout"] {
  grid-template-columns: minmax(0, 1fr) !important;
  width: min(1100px, calc(100% - 28px)) !important;
  padding-top: 88px !important;
}

html[data-marko-ux-offer="open"] [class*="TravelResults-module"][class*="resultsMain"] {
  display: block !important;
}

.marko-ux-offer-toolbar {
  display: none;
}

html[data-marko-ux-offer="open"] .marko-ux-offer-toolbar {
  display: flex;
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  top: 92px;
  z-index: 45;
  width: min(1100px, calc(100% - 28px));
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  pointer-events: none;
}

html[data-marko-ux-offer="open"] .marko-ux-offer-toolbar .marko-ux-back {
  pointer-events: auto;
}

[class*="TravelResults-module"][class*="offerCard"].marko-ux-offer-active {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  max-height: none !important;
  cursor: default;
  overflow: visible !important;
  box-shadow: 0 22px 60px #3d2e1f1f !important;
}

[class*="TravelResults-module"][class*="offerCard"].marko-ux-offer-active [class*="offerVisual"] {
  width: 100%;
  min-height: 0;
  max-height: none;
  padding: 12px 12px 0 !important;
}

[class*="TravelResults-module"][class*="offerCard"].marko-ux-offer-active [class*="offerImageFrame"] {
  width: 100%;
  height: min(46vw, 440px);
  min-height: 340px !important;
  max-height: 480px;
  margin: 0;
}

[class*="TravelResults-module"][class*="offerCard"].marko-ux-offer-active [class*="offerImage"],
[class*="TravelResults-module"][class*="offerCard"].marko-ux-offer-active [class*="offerImageFrame"] img {
  width: 100%;
  height: 100%;
  min-height: 0 !important;
  object-fit: cover;
  object-position: center;
}

[class*="TravelResults-module"][class*="offerCard"].marko-ux-offer-active [class*="offerMain"] {
  padding: 36px 36px 12px !important;
}

[class*="TravelResults-module"][class*="offerCard"].marko-ux-offer-active [class*="offerTitle"] h2 {
  font-size: clamp(36px, 4.2vw, 48px) !important;
  font-weight: 500 !important;
}

[class*="TravelResults-module"][class*="offerCard"].marko-ux-offer-active [class*="offerPrice"] {
  padding: 8px 28px 12px;
}

[class*="TravelResults-module"][class*="offerCard"].marko-ux-offer-active [class*="expandedOffer"],
[class*="TravelResults-module"][class*="offerCard"].marko-ux-offer-active [class*="tourSheet"] {
  padding: 8px 28px 32px !important;
  background: transparent !important;
  border-top: 0 !important;
  gap: 18px !important;
}

[class*="TravelResults-module"][class*="sheetTabs"] {
  max-width: 640px;
}

[class*="TravelResults-module"][class*="sheetTabs"] button {
  min-height: 44px !important;
  font-size: 14px !important;
  font-family: var(--marko-ux-sans, inherit) !important;
}

[class*="TravelResults-module"][class*="sheetPanelHead"] h3 {
  font-size: clamp(28px, 3vw, 36px) !important;
}

[class*="TravelResults-module"][class*="sheetBook"] .primaryAction,
[class*="TravelResults-module"][class*="sheetBook"] button {
  min-height: 54px !important;
  font-size: 16px !important;
}

body.marko-ux-offer-lock {
  overflow: auto;
}

@media (max-width: 900px) {
  [class*="TravelResults-module"][class*="offerCard"] {
    grid-template-columns: 1fr !important;
  }

  [class*="TravelResults-module"][class*="resultsLayout"] {
    grid-template-columns: 1fr !important;
  }

  [class*="TravelResults-module"][class*="offerCard"].marko-ux-offer-active [class*="offerImageFrame"] {
    width: 100%;
    height: min(58vw, 320px);
    min-height: 250px !important;
    max-height: 340px;
  }
}

.marko-ux-tour-extra {
  width: min(1100px, calc(100% - 28px));
  margin: 8px auto 64px;
  padding: 28px 30px 32px;
  border: 1px solid var(--marko-ux-line);
  border-radius: 20px;
  background: #fffaf4f7;
  box-shadow: 0 18px 40px #3d2e1f12;
}

.marko-ux-tour-extra[hidden] {
  display: none !important;
}

.marko-ux-tour-extra [hidden] {
  display: none !important;
}

.marko-ux-tour-extra__head span {
  color: var(--marko-ux-gold);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 650;
}

.marko-ux-tour-extra__head h3 {
  font-family: var(--marko-ux-serif);
  font-size: 28px;
  font-weight: 500;
  letter-spacing: -0.03em;
  margin: 8px 0 0;
}

.marko-ux-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 24px;
  margin: 18px 0 8px;
}

.marko-ux-facts dt {
  color: var(--marko-ux-gold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 650;
}

.marko-ux-facts dd {
  margin: 4px 0 0;
  font-size: 17px;
  line-height: 1.45;
}

.marko-ux-tour-extra__note,
.marko-ux-copy p,
.marko-ux-leg p {
  font-size: 17px;
  line-height: 1.65;
  color: var(--marko-ux-ink);
}

.marko-ux-flight {
  margin-top: 18px;
  padding: 18px 20px;
  border: 1px solid #c4a36a40;
  border-radius: 16px;
  background: #fffdf9;
}

.marko-ux-flight header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
  font-size: 15px;
}

.marko-ux-flight__dates,
.marko-ux-leg small {
  color: var(--marko-ux-muted);
  font-size: 14px;
}

.marko-ux-leg {
  margin-top: 14px;
}

.marko-ux-leg strong {
  display: block;
  font-size: 18px;
  margin-bottom: 4px;
}

[class*="TravelResults-module"][class*="flightVariant"] {
  padding: 16px 0 !important;
}

[class*="TravelResults-module"][class*="flightVariant"] > strong {
  font-size: 20px !important;
}

[class*="TravelResults-module"][class*="flightVariant"] b {
  display: block;
  font-size: 16px !important;
  line-height: 1.5 !important;
  font-weight: 600 !important;
}

[data-traveling-typography="true"] button,
[data-traveling-typography="true"] input,
[data-traveling-typography="true"] select,
[data-traveling-typography="true"] textarea,
[data-traveling-typography="true"] a {
  font-family: var(--marko-ux-sans);
}

.marko-ux-partial {
  width: min(1260px, calc(100% - 32px));
  margin: 0 auto 18px;
  padding: 16px 20px;
  border: 1px solid #c4a36a88;
  border-radius: 16px;
  background: #fff6e8;
  color: var(--marko-ux-ink);
}

.marko-ux-partial strong {
  display: block;
  font-family: var(--marko-ux-serif);
  font-size: 20px;
  font-weight: 500;
}

.marko-ux-partial p {
  margin: 6px 0 0;
  font-size: 15px;
  line-height: 1.55;
  color: var(--marko-ux-muted);
}

html[data-marko-ux-offer="open"] .marko-ux-partial {
  display: none !important;
}

.marko-ux-hotel-miss {
  display: none !important;
}

.marko-ux-hotel-filter {
  width: min(1260px, calc(100% - 32px));
  margin: 0 auto 18px;
  padding: 16px 20px;
  border: 1px solid #c4a36a88;
  border-radius: 16px;
  background: #fff6e8;
}

.marko-ux-hotel-filter strong {
  display: block;
  font-family: var(--marko-ux-serif);
  font-size: 20px;
  font-weight: 500;
}

.marko-ux-hotel-filter p {
  margin: 6px 0 0;
  font-size: 15px;
  line-height: 1.55;
  color: var(--marko-ux-muted);
}

html[data-marko-ux-offer="open"] .marko-ux-hotel-filter {
  display: none !important;
}

.marko-ux-ask {
  margin: 8px 0 4px;
}

.marko-ux-ask-flights,
.marko-ux-lead-inline button,
.marko-ux-lead__actions a {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid #c4a36a;
  background: #fffaf3;
  color: #3a2a1b;
  font: 600 14px/1 var(--marko-ux-sans);
  letter-spacing: 0.02em;
  text-decoration: none;
  cursor: pointer;
}

.marko-ux-ask-flights:disabled {
  opacity: 0.55;
  cursor: wait;
}

.marko-ux-tour-extra__note--error {
  color: #6a3a1c;
}

.marko-ux-lead-inline {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--marko-ux-line);
}

.marko-ux-lead-inline p,
.marko-ux-inquiry p,
.marko-ux-lead__dialog p {
  font-size: 16px;
  line-height: 1.6;
  color: var(--marko-ux-muted);
}

.marko-ux-inquiry {
  position: relative;
  z-index: 36;
  width: min(720px, calc(100% - 28px));
  margin: 18px auto 28px;
  padding: 28px 28px 26px;
  border: 1px solid var(--marko-ux-line);
  border-radius: 20px;
  background: #fffaf4f7;
  box-shadow: 0 18px 40px #3d2e1f12;
}

@media (min-width: 1100px) {
  .marko-ux-inquiry {
    width: min(640px, calc(100% - 400px));
    margin-left: max(16px, calc((100% - 860px) / 2));
    margin-right: auto;
  }
}

.marko-ux-inquiry span,
.marko-ux-lead__dialog span {
  color: var(--marko-ux-gold);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 650;
}

.marko-ux-inquiry h2,
.marko-ux-lead__dialog h2 {
  font-family: var(--marko-ux-serif);
  font-size: clamp(28px, 3vw, 36px);
  font-weight: 500;
  letter-spacing: -0.03em;
  margin: 8px 0 0;
}

.marko-ux-lead__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.marko-ux-lead__primary {
  background: #2a2118 !important;
  color: #fff8ee !important;
  border-color: #2a2118 !important;
}

.marko-ux-lead {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: end center;
  padding: 16px;
  background: #1c161266;
}

.marko-ux-lead[hidden] {
  display: none !important;
}

.marko-ux-lead__dialog {
  position: relative;
  width: min(640px, 100%);
  max-height: min(88vh, 760px);
  overflow: auto;
  margin-bottom: 8px;
  padding: 28px 26px 24px;
  border-radius: 22px 22px 16px 16px;
  background: #fffaf4;
  box-shadow: 0 24px 60px #1c161240;
}

.marko-ux-lead__close {
  position: absolute;
  top: 12px;
  right: 14px;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 999px;
  background: #f4ebde;
  color: #2a2118;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

.marko-ux-lead__dialog small {
  display: block;
  margin-top: 14px;
  color: var(--marko-ux-muted);
  font-size: 13px;
  line-height: 1.45;
}

html[data-marko-ux-mode="hotel"] [class*="searchRefinementBar"] {
  display: none !important;
}

html[data-marko-ux-datepicker] [class*="TravelBoard-module"][class*="boardHome"],
html[data-marko-ux-datepicker] [class*="TravelBoard-module"][class*="interiorPage"],
html[data-marko-ux-datepicker] [class*="TravelBoard-module"][class*="boardHero"],
html[data-marko-ux-datepicker] [class*="TravelBoard-module"][class*="searchForm"],
html[data-marko-ux-datepicker] [class*="TravelBoard-module"][class*="searchAnchor"],
html[data-marko-ux-datepicker] [class*="TravelResults-module"][class*="resultsPage"],
html[data-marko-ux-datepicker] [class*="TravelResults-module"][class*="stickySearch"] {
  overflow: visible !important;
}

html[data-marko-ux-datepicker] #marko-ux-hotel-panel,
html[data-marko-ux-datepicker] #marko-ux-search-summary,
html[data-marko-ux-datepicker] .marko-ux-copy-badge {
  z-index: 1 !important;
}

[class*="TravelBoard-module"][class*="datePickerBackdrop"] {
  z-index: 1110 !important;
}

/* Travelers and nights must stay on screen even when the search form is near
   the bottom of the viewport. Their native anchored panels can extend below it. */
[class*="TravelBoard-module"][class*="pickerPanel"]:not([class*="datePickerPanel"]) {
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 1120 !important;
  width: min(520px, calc(100vw - 24px)) !important;
  max-height: calc(100dvh - 24px - env(safe-area-inset-bottom, 0px)) !important;
  overflow: auto !important;
  transform: translate(-50%, -50%) !important;
  margin: 0 !important;
}

@media (max-width: 900px) {
  [class*="TravelBoard-module"][class*="pickerPanel"]:not([class*="datePickerPanel"]) {
    top: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    transform: none !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    padding-bottom: calc(20px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

[class*="TravelBoard-module"][class*="datePickerPanel"],
[class*="TravelResults-module"][class*="datePickerPanel"] {
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 1120 !important;
  width: min(560px, calc(100vw - 24px)) !important;
  max-height: min(88dvh, calc(100dvh - 24px - env(safe-area-inset-bottom, 0px))) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  transform: translate(-50%, -50%) !important;
  margin: 0 !important;
  pointer-events: auto !important;
}

@media (max-width: 900px) {
  [class*="TravelBoard-module"][class*="datePickerPanel"],
  [class*="TravelResults-module"][class*="datePickerPanel"] {
    top: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-height: min(86dvh, calc(100dvh - 64px - env(safe-area-inset-bottom, 0px))) !important;
    transform: none !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    padding-bottom: calc(20px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

form[aria-label="Поиск туров"] .marko-ux-hotel-panel,
.marko-ux-hotel-panel {
  width: 100%;
  box-sizing: border-box;
  margin: 10px 0 4px;
  padding: 18px 18px 16px;
  border: 1px solid var(--marko-ux-line);
  border-radius: 16px;
  background: #fffaf4;
  box-shadow: none;
}

.marko-ux-hotel-panel span {
  color: var(--marko-ux-gold);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 650;
}

.marko-ux-hotel-panel h2 {
  font-family: var(--marko-ux-serif);
  font-size: clamp(28px, 3vw, 36px);
  font-weight: 500;
  letter-spacing: -0.03em;
  margin: 8px 0 0;
}

.marko-ux-hotel-panel > p {
  font-size: 16px;
  line-height: 1.6;
  color: var(--marko-ux-muted);
}

.marko-ux-hotel-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 16px;
}

.marko-ux-hotel-field span {
  letter-spacing: 0.08em;
}

.marko-ux-hotel-field input:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  background: #f4ebde;
}

.marko-ux-hotel-field input,
.marko-ux-hotel-field select {
  min-height: 52px;
  padding: 0 16px;
  border: 1px solid #c4a36a;
  border-radius: 14px;
  background: #fffdf9;
  color: var(--marko-ux-ink);
  font: 500 17px/1.2 var(--marko-ux-sans);
}

.marko-ux-hotel-actions {
  margin-top: 14px;
}

.marko-ux-hotel-actions button,
.marko-ux-hotel-list button {
  appearance: none;
  min-height: 46px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid #c4a36a;
  background: #2a2118;
  color: #fff8ee;
  font: 600 14px/1 var(--marko-ux-sans);
  cursor: pointer;
}

.marko-ux-hotel-list {
  display: grid;
  gap: 8px;
  margin-top: 16px;
}

.marko-ux-hotel-hit {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start !important;
  width: 100%;
  padding: 12px 16px !important;
  border-radius: 14px !important;
  background: #fffdf9 !important;
  color: var(--marko-ux-ink) !important;
  text-align: left;
}

.marko-ux-hotel-hit strong {
  font-size: 16px;
}

.marko-ux-hotel-hit span,
.marko-ux-hotel-empty {
  color: var(--marko-ux-muted);
  font-size: 14px;
}

@media (max-width: 700px) {
  .marko-ux-facts {
    grid-template-columns: 1fr;
  }

  .marko-ux-lead__actions,
  .marko-ux-inquiry .marko-ux-lead__actions {
    flex-direction: column;
  }

  .marko-ux-lead__actions a {
    width: 100%;
  }

  .marko-detail-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .marko-gallery-stage {
    grid-template-columns: 42px minmax(0, 1fr) 42px;
  }
}

[class*="offerCard"].marko-ux-offer-active [class*="offerImageFrame"],
[class*="offerCard"].marko-ux-offer-active [class*="offerVisual"] {
  position: relative;
}

.marko-ux-gallery-open,
button.marko-gallery-count.marko-ux-gallery-open {
  position: absolute !important;
  right: 12px;
  bottom: 12px;
  z-index: 3;
  appearance: none;
  border: 1px solid #ffffff52;
  border-radius: 999px;
  padding: 7px 12px;
  background: #251b12d9;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700;
  letter-spacing: 0.03em;
  cursor: zoom-in;
}

.marko-ux-gallery-block {
  margin: 18px 0 8px;
}

.marko-detail-gallery {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.marko-gallery-thumb {
  appearance: none;
  border: 1px solid #966c3745;
  background: #e5d8c7;
  border-radius: 9px;
  aspect-ratio: 4 / 3;
  min-width: 0;
  padding: 0;
  overflow: hidden;
  cursor: zoom-in;
}

.marko-gallery-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.marko-gallery-all {
  margin-top: 12px;
  border: 1px solid #9c713866;
  border-radius: 999px;
  padding: 9px 14px;
  background: #fffaf2;
  color: #6e4b22;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.marko-gallery-lightbox {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 12px;
  padding: 18px;
  background: #17120feb;
  color: #fff;
}

.marko-gallery-lightbox[hidden],
.marko-gallery-lightbox [hidden] {
  display: none !important;
}

[data-marko-ux-gallery-error] {
  padding: 32px 12px;
  text-align: center;
  color: #fff;
}

.marko-gallery-lightbox-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: min(1500px, 100%);
  margin: 0 auto;
}

.marko-gallery-lightbox-header strong {
  font-family: var(--marko-ux-serif);
  font-size: 22px;
  font-weight: 500;
}

.marko-gallery-lightbox-header button,
.marko-gallery-arrow {
  min-width: 44px;
  min-height: 44px;
  border: 1px solid #ffffff66;
  border-radius: 999px;
  background: #2a211bd9;
  color: #fff;
  font-size: 22px;
  cursor: pointer;
}

.marko-gallery-stage {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) 52px;
  align-items: center;
  gap: 12px;
  width: min(1600px, 100%);
  margin: 0 auto;
  min-height: 0;
}

.marko-gallery-stage > img {
  width: 100%;
  height: 100%;
  max-height: 72vh;
  object-fit: contain;
  border-radius: 10px;
}

.marko-gallery-strip {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  width: min(1500px, 100%);
  margin: 0 auto;
  padding: 3px 3px 8px;
}

.marko-gallery-strip button {
  flex: 0 0 88px;
  height: 62px;
  padding: 0;
  overflow: hidden;
  border: 2px solid transparent;
  border-radius: 7px;
  background: #2a211b;
  cursor: pointer;
}

.marko-gallery-strip button[data-selected="true"] {
  border-color: #e3bd7e;
}

.marko-gallery-strip img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

a[href="/traveling/cheap-tours"][class*="directionsLink"],
[class*="directionsLink"][href="/traveling/cheap-tours"] {
  display: none !important;
}

@media (max-width: 560px) {
  [class*="TravelResults-module"][class*="resultsPage"],
  [class*="TravelBoard-module"][class*="interiorContent"] {
    padding-bottom: 96px !important;
  }
}

body[data-date-picker-open="true"] [class*="AnalyticsConsent"] {
  visibility: hidden !important;
  pointer-events: none !important;
}

#marko-ux-book {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: grid;
  place-items: end center;
  padding: 16px;
  background: rgba(18, 12, 8, 0.55);
}

#marko-ux-book[hidden] {
  display: none !important;
}

.marko-ux-book__dialog {
  width: min(720px, 100%);
  max-height: min(92vh, 920px);
  overflow: auto;
  padding: 20px 18px 24px;
  border-radius: 22px 22px 16px 16px;
  background: #1b140f;
  color: #f7efdf;
  border: 1px solid #c4a36a88;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.45);
}

.marko-ux-book__dialog > span {
  display: block;
  margin-bottom: 6px;
  color: #e3bd7e;
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.marko-ux-book__dialog h2 {
  margin: 0 0 10px;
  font-size: 24px;
  line-height: 1.2;
}

.marko-ux-book__close {
  float: right;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 999px;
  background: #2a2118;
  color: #f7efdf;
  font-size: 22px;
  cursor: pointer;
}

.marko-ux-book__status,
.marko-ux-book__error {
  margin: 0 0 14px;
  color: #f0e2c3;
}

.marko-ux-book__error {
  color: #ffb4a2;
}

.marko-ux-book__form {
  display: grid;
  gap: 14px;
}

.marko-ux-book__set {
  margin: 0;
  padding: 12px;
  border: 1px solid #c4a36a40;
  border-radius: 14px;
}

.marko-ux-book__set legend {
  padding: 0 6px;
  color: #e3bd7e;
}

.marko-ux-book__set label {
  display: grid;
  gap: 4px;
  margin-top: 10px;
  font-size: 13px;
}

.marko-ux-book__hint {
  color: #cbb79a;
  font-size: 11px;
  line-height: 1.4;
}

.marko-ux-book__set input,
.marko-ux-book__set select,
.marko-ux-book__set textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid #c4a36a66;
  background: #120e0a;
  color: #f7efdf;
}

.marko-ux-book__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.marko-ux-book__primary,
.marko-ux-book-inline,
.marko-ux-book__secondary,
#marko-ux-tour-extra [data-marko-ux="open-book"] {
  appearance: none;
  border-radius: 999px;
  padding: 12px 18px;
  border: 1px solid #c4a36a;
  background: linear-gradient(180deg, #e3bd7e, #be9453);
  color: #1b140f;
  font-weight: 700;
  cursor: pointer;
}

.marko-ux-book__secondary {
  background: transparent;
  color: #f7efdf;
}

.marko-ux-book__success {
  padding: 12px;
  border-radius: 14px;
  border: 1px solid #c4a36a66;
  background: #24190f;
}

html[data-marko-ux-book="open"] {
  overflow: hidden;
}

/* Audit 2026-09-06: compact search and one scroll area per native dialog. */
.marko-ux-search-actions { display: none; }

html[data-marko-search-dialog],
html[data-marko-search-dialog] body {
  overflow: hidden !important;
  overscroll-behavior: none;
}

[data-marko-search-dialog-panel] {
  box-sizing: border-box !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain;
  scroll-padding-block: 20px 90px;
}

[data-marko-search-dialog-panel] :is(fieldset, select, input) {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}

[data-marko-search-dialog-panel] fieldset { min-inline-size: 0; }
[data-marko-search-dialog-panel] details > input[class*="listSearch"] {
  width: calc(100% - 36px);
  max-width: calc(100% - 36px);
}
[data-marko-search-dialog-panel] [class*="footer"] { box-sizing: border-box; max-width: 100%; }

[data-marko-date-apply] {
  position: static !important;
  flex-shrink: 0;
  margin-top: 12px !important;
}

[data-marko-search-dialog-panel] > p { margin-bottom: 12px !important; }

@media (max-width: 760px) {
  [class*="TravelBoard-module"][class*="boardHero"] {
    margin-top: 26px !important;
    padding-top: 0 !important;
  }
  [class*="TravelBoard-module"][class*="heroCopy"] { margin-bottom: 20px !important; }
  [class*="TravelBoard-module"][class*="heroCopy"] h1 {
    font-size: clamp(28px, 8vw, 34px) !important;
    line-height: 1.12 !important;
  }
  [class*="TravelBoard-module"][class*="heroCopy"] p {
    margin: 12px auto 0 !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
  }
  form:is([data-marko-compact-search], [class*="TravelBoard-module__"][class*="__searchForm"]) { padding: 12px !important; }
  form:is([data-marko-compact-search], [class*="TravelBoard-module__"][class*="__searchForm"]) > [class*="modeRow"] {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
    margin-bottom: 12px !important;
  }
  form:is([data-marko-compact-search], [class*="TravelBoard-module__"][class*="__searchForm"]) > [class*="modeRow"] button {
    min-width: 0 !important;
    min-height: 44px !important;
    padding: 5px 6px !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
  }
  form:is([data-marko-compact-search], [class*="TravelBoard-module__"][class*="__searchForm"]) > [class*="quickFilters"] { display: none !important; }
  form:is([data-marko-compact-search], [class*="TravelBoard-module__"][class*="__searchForm"]) > [class*="searchBar"] {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
  }
  form:is([data-marko-compact-search], [class*="TravelBoard-module__"][class*="__searchForm"]) > [class*="searchBar"] > * {
    min-width: 0;
    grid-column: 1 / -1;
  }
  form:is([data-marko-compact-search], [class*="TravelBoard-module__"][class*="__searchForm"]) > [class*="searchBar"] > [class*="searchField"] {
    min-height: 65px !important;
    padding: 10px 12px !important;
  }
  form:is([data-marko-compact-search], [class*="TravelBoard-module__"][class*="__searchForm"]) > [class*="searchBar"] > :nth-child(4),
  form:is([data-marko-compact-search], [class*="TravelBoard-module__"][class*="__searchForm"]) > [class*="searchBar"] > :nth-child(5) { grid-column: auto; }
  form:is([data-marko-compact-search], [class*="TravelBoard-module__"][class*="__searchForm"]) [class*="fieldLabel"] { font-size: 10px !important; }
  form:is([data-marko-compact-search], [class*="TravelBoard-module__"][class*="__searchForm"]) [class*="fieldButton"] { min-height: 34px !important; }
  form:is([data-marko-compact-search], [class*="TravelBoard-module__"][class*="__searchForm"]) [class*="fieldButton"] > span,
  form:is([data-marko-compact-search], [class*="TravelBoard-module__"][class*="__searchForm"]) [class*="fieldControl"] > input {
    font-size: 16px !important;
    line-height: 1.3 !important;
  }
  form:is([data-marko-compact-search], [class*="TravelBoard-module__"][class*="__searchForm"]) [class*="fieldButton"] { grid-template-columns: 16px minmax(0, 1fr) 12px !important; gap: 5px !important; }
  form:is([data-marko-compact-search], [class*="TravelBoard-module__"][class*="__searchForm"]) [class*="fieldButton"] > svg { width: 16px; height: 16px; flex-shrink: 0; }
  form:is([data-marko-compact-search], [class*="TravelBoard-module__"][class*="__searchForm"]) [class*="fieldButton"] > span { white-space: normal; overflow-wrap: normal; }
  form:is([data-marko-compact-search], [class*="TravelBoard-module__"][class*="__searchForm"]) [class*="searchSubmit"] {
    min-height: 52px !important;
    margin-top: 8px !important;
    border-radius: 12px !important;
  }
  .marko-ux-search-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0 4px;
  }
  /* Reserve the same 44px controls + 16px margins before JS commits. */
  form:is([data-marko-compact-search], [class*="TravelBoard-module__"][class*="__searchForm"]):not(:has(> .marko-ux-search-actions)) > [class*="searchBar"]::after {
    content: "";
    grid-column: 1 / -1;
    height: 60px;
  }
  .marko-ux-search-actions button {
    flex: 1;
    min-height: 44px;
    padding: 8px 10px;
    border: 1px solid #c9aa80;
    border-radius: 12px;
    background: #fffaf4;
    color: #5f421e;
    font: 600 13px/1.3 var(--marko-ux-sans);
    cursor: pointer;
  }
  .marko-ux-search-actions button[hidden] { display: none; }
  .marko-ux-search-actions button[aria-expanded="true"] { background: #efd4a8; }
  .marko-ux-search-actions button:focus-visible { outline: 2px solid #76501f; outline-offset: 3px; }
  form:is([data-marko-compact-search], [class*="TravelBoard-module__"][class*="__searchForm"]):not([data-marko-refinement-open]) > [class*="searchRefinementBar"] { display: none !important; }
  form:is([data-marko-compact-search], [class*="TravelBoard-module__"][class*="__searchForm"]) [class*="searchRefinementIntro"] { display: none; }
  form:is([data-marko-compact-search], [class*="TravelBoard-module__"][class*="__searchForm"]) [class*="formHint"] {
    font-size: 12px !important;
    line-height: 1.45 !important;
    margin: 8px 4px 0 !important;
  }
  [data-marko-search-dialog-panel] {
    width: 100% !important;
    max-width: 100% !important;
    padding: 18px 16px calc(20px + env(safe-area-inset-bottom, 0px)) !important;
  }
  [data-marko-search-dialog-panel] h2 {
    font-size: 27px !important;
    line-height: 1.15 !important;
  }
  [data-marko-search-dialog-panel] [role="grid"] button { min-height: 40px; }
  [data-marko-search-dialog-panel] > p { font-size: 12px !important; line-height: 1.45 !important; }
}

/* v68 final overrides for the existing compact form/header rules above. */
header[class*="TravelBoard-module"][class*="__boardHeader"] :is(a, button),
header[class*="TravelBoard-module"][class*="__boardHeader"] :is(a, button) span { font-size: 12px !important; }
[class*="TravelBoard-module"][class*="__heroCopy"] { background: #fbf8f3; border: 1px solid #d7c5ab; border-radius: 18px; box-sizing: border-box; padding: 22px 24px; }
[class*="TravelBoard-module"][class*="__heroCopy"] :is(h1, p) { text-shadow: none !important; }
[class*="TravelBoard-module"][class*="__heroCopy"] h1 em { color: #704a22; }
[class*="TravelBoard-module"][class*="__heroCopy"] > span { font-size: 12px !important; }
#popular-tour-strip-title { color: #34291e !important; background: #fbf8f3; padding: 10px 14px; border: 1px solid #d7c5ab; border-radius: 10px; font-size: 17px !important; line-height: 1.3 !important; text-shadow: none; }
[class*="PopularTourStrip-module"] small { font-size: 12px; color: #71502c; }
[class*="CheapTours-module"][class*="__facts"] dt { color: #71502c; font-size: 12px; line-height: 1.5; }
[class*="PopularTourStrip-module"] a small { color: #71502c; font-size: 12px; line-height: 1.5; }
[class*="TravelBoard-module"][class*="__directionsLinkCopy"] > small { color: #71502c; font-size: 12px; line-height: 1.5; }
/* The document theme also colors headings; light explorer panels need their own ink. */
[class*="DestinationRegionExplorer-module"][class*="__countryPanel"] :is(h2, h3) { color: #34281d !important; }
[class*="DestinationRegionExplorer-module"]:is([class*="__panelEyebrow"], [class*="__countryRegion"], [class*="__cardAction"]),
[class*="DestinationRegionExplorer-module"][class*="__countryPanelHeader"] > strong { color: #71502c; }
[class*="TourFilters-module"][class*="__panel"] :is(header > div > span, label > span, small, p, footer button) { font-size: 12px; line-height: 1.5; }
[class*="TourFilters-module"][class*="__panel"] :is(header > div > span, legend) { color: #71502c; }
[class*="TourFilters-module"][class*="__panel"] :is(label > span, small, p) { color: #625143; }
[class*="TourFilters-module"][class*="__panel"] :is(input, select) { font-size: 16px; }
[class*="TourFilters-module"][class*="__panel"] > footer { z-index: 2; background: #f8f2e8; border-top: 1px solid #dac6a9; }
[class*="TourFilters-module"][class*="__panel"] > footer button { min-height: 44px; background: #765020; color: #fffaf2; }
[class*="TravelBoard-module"][class*="__pickerHeading"] > div > span,
[class*="TravelUtility-module"][class*="__guideFacts"] > article > span,
[class*="TravelUtility-module"][class*="__guideEditorial"] > section > span,
[class*="TravelUtility-module"][class*="__providerStatus"] > strong { color: #71502c; font-size: 12px; line-height: 1.5; }
[class*="TravelBoard-module"]:is([class*="__pickerDone"], [class*="__goldButton"]) { min-height: 44px; font-size: 12px; line-height: 1.5; background: #765020; color: #fffaf2; }
[class*="TravelBoard-module"][class*="__menuPanel"] { background: #fbf8f3; }
[class*="TravelBoard-module"][class*="__menuPanel"] :is(h2, h3) { color: #34281d !important; }
[class*="TravelBoard-module"][class*="__menuNavigation"] h3,
[class*="TravelBoard-module"][class*="__menuTopline"] > div > span,
[class*="TravelBoard-module"][class*="__menuFooter"] p { font-size: 12px; line-height: 1.5; }
[class*="TravelBoard-module"][class*="__menuFooter"] :is(p, a) { color: #71502c; }
[class*="TravelingCountryPicker-module"][class*="__featuredMeta"],
[class*="TravelingCountryPicker-module"][class*="__featuredMeta"] :is(span, small) { color: #fff1dc; opacity: 1; }
[class*="TravelingCountryPicker-module"][class*="__featuredMeta"] { background: #211a15; padding: 6px 8px; border-radius: 6px; }
[class*="DestinationCountryGuide-module"][class*="__page"] > [class*="TravelBoard-module"][class*="__boardHeader"] :is(a, button),
[class*="TravelingCountryPicker-module"][class*="__interface"] > [class*="TravelBoard-module"][class*="__boardHeader"] :is(a, button) { color: #65451f; }
[class*="DestinationCountryGuide-module"][class*="__page"] > [class*="TravelBoard-module"][class*="__boardHeader"] :is(a, button) span,
[class*="TravelingCountryPicker-module"][class*="__interface"] > [class*="TravelBoard-module"][class*="__boardHeader"] :is(a, button) span { color: inherit; }
/* The photo enhancement arrives after hydration; its text needs a stable surface too. */
[class*="DestinationCountryGuide-module"][class*="__featureTile"] > summary[data-mtw-ai-cover] > div { background: #211a15ed; border-radius: 12px; padding: 14px; box-sizing: border-box; }
@media (max-width: 680px) {
  [class*="TravelBoard-module"][class*="__heroCopy"] { padding: 18px 16px; }
  #popular-tour-strip-title { font-size: 15px !important; padding: 9px 10px; }
}
@media (max-width: 340px) {
  [data-traveling-typography="true"] header[class*="TravelBoard-module"][class*="__boardHeader"] > a[class*="__travelLogo"] { left: -18px !important; }
}
