body.product-refresh {
  --product-ink: #202020;
  --product-muted: #605b59;
  --product-line: #e0dcd9;
  --product-red: #790b20;
  --product-red-hover: #5f0718;
  --product-warm: #f7f5f3;
  --product-font: "Instrument Sans", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  color: var(--product-ink);
  background: white;
}

body.product-refresh .block-header {
  --background-color: #fff;
  --nav-link-text-color: #201f20;
  --nav-link-text-color-hover: var(--product-red);
}

body.product-refresh .vv-product {
  --brand: var(--product-red);
  box-sizing: border-box;
  width: min(100%, 1240px);
  max-width: 1240px;
  padding: clamp(18px, 2.6vw, 34px) clamp(18px, 4.5vw, 60px) 54px !important;
  font-family: var(--product-font);
  text-align: start;
}

body.product-refresh .vv-breadcrumb {
  margin: 0 0 clamp(18px, 2vw, 28px);
  gap: 8px;
  color: var(--product-muted);
  align-items: center;
}

body.product-refresh .vv-breadcrumb a:last-child { color: var(--product-ink); }
body.product-refresh .vv-product .vv-product-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(0, .93fr);
  align-items: start;
  gap: clamp(26px, 4vw, 60px);
}

body.product-refresh .vv-product .vv-product-summary {
  min-width: 0;
  border: none;
  border-radius: 0;
  background: white;
  padding: clamp(2px, 1vw, 14px) 0 0;
}

body.product-refresh .vv-eyebrow {
  font-size: .78rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .065em;
  color: var(--product-red) !important;
}

body.product-refresh .vv-product .vv-product-summary h1 {
  max-width: 24ch;
  margin: 8px 0 12px !important;
  font-size: clamp(1.82rem, 2.65vw, 2.65rem) !important;
  line-height: 1.14 !important;
  text-wrap: balance;
  overflow-wrap: break-word;
}

body.product-refresh .vv-product .vv-product-location {
  font-size: .92rem !important;
  line-height: 1.52 !important;
  color: var(--product-muted) !important;
  margin: 0 0 20px !important;
}

body.product-refresh .vv-gallery-open {
  border-radius: 16px;
  background: var(--product-warm);
}
body.product-refresh .vv-product .vv-gallery-main {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 4/3;
  background: var(--product-warm);
  object-fit: contain !important;
}

body.product-refresh .vv-gallery-controls { margin: 8px 0 4px; }
body.product-refresh .vv-gallery-controls button {
  min-height: 42px;
  min-width: 44px;
  border-color: var(--product-line);
  color: var(--product-ink);
}
body.product-refresh .vv-gallery-thumb[aria-pressed="true"] { border-color: var(--product-red); }
body.product-refresh .vv-gallery-thumbs { scroll-snap-type: x proximity; }
body.product-refresh .vv-gallery-thumb { scroll-snap-align: start; }
body.product-refresh .vv-product-price {
  padding-top: 18px;
  border-top: 1px solid var(--product-line);
  font-size: clamp(1.8rem, 3vw, 2.45rem);
  line-height: 1.16;
  font-weight: 740;
  color: var(--product-ink);
  letter-spacing: -.035em;
  font-variant-numeric: tabular-nums;
}

body.product-refresh .vv-product .vv-price-caption {
  font-size: .85rem;
  margin: 3px 0 17px !important;
  color: var(--product-muted) !important;
}

body.product-refresh .vv-product-summary select,
body.product-refresh .vv-booking :is(input:not([type="checkbox"]), select) {
  max-width: 100%;
  min-width: 0;
  min-height: 46px;
  background-color: white;
  border: 1px solid #a9a3a0;
  border-radius: 8px;
  color: var(--product-ink);
  font: 400 16px/1.45 var(--product-font);
}

body.product-refresh .vv-product-summary select {
  padding-right: 24px;
  width: 100%;
  cursor: pointer;
}

body.product-refresh .vv-product .vv-book-primary,
body.product-refresh .vv-booking .vv-next,
body.product-refresh .vx-mobile-bar button,
body.product-refresh .booking-demo-actions .primary {
  background: var(--product-red);
  border-color: var(--product-red);
  border-radius: 8px;
  color: white !important;
  min-height: 46px;
  font-family: var(--product-font) !important;
}

body.product-refresh .vv-product .vv-book-primary:hover,
body.product-refresh .vv-booking .vv-next:hover,
body.product-refresh .vx-mobile-bar button:hover,
body.product-refresh .booking-demo-actions .primary:hover {
  background: var(--product-red-hover);
}

body.product-refresh .vv-book-secondary {
  min-height: 44px;
  background: white;
  border-color: #c7bfbd;
  color: var(--product-ink);
}

body.product-refresh .vv-product-jumps,
body.product-refresh .vv-product[data-tomorrowland-v2] .vv-product-jumps {
  position: static;
  gap: 4px 22px;
  margin: clamp(26px, 4vw, 48px) 0;
  padding: 4px 0;
  border-color: var(--product-line);
  background: white;
}
body.product-refresh .vv-product-jumps a {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
}
body.product-refresh .vv-product section[id],
body.product-refresh .vv-full-details {
  scroll-margin-top: calc(var(--vv-utility-height, 44px) + 130px);
}
body.product-refresh .vv-package-module,
body.product-refresh .vx-inclusions article {
  background: var(--product-warm);
  border: 1px solid var(--product-line);
  border-radius: 12px;
  padding: clamp(17px, 2vw, 25px);
}
body.product-refresh .vv-package-module > span { display: none; }
body.product-refresh .vx-inclusions,
body.product-refresh .vv-package-modules { gap: 12px; }
body.product-refresh .vv-product .vx-inclusions h3,
body.product-refresh .vv-product .vv-package-module h3 { margin: 6px 0 10px !important; }

body.product-refresh .vv-booking {
  font-family: var(--product-font);
  border: 1px solid var(--product-line);
  padding: clamp(18px, 3vw, 32px);
  color: var(--product-ink);
  scrollbar-gutter: stable;
  overscroll-behavior: contain;
}
body.product-refresh .vv-booking::backdrop { background: rgb(20 16 17 / 65%); }
body.product-refresh .vv-booking h2,
body.product-refresh .vv-booking h3 { font-family: var(--product-font); }
body.product-refresh .vv-booking :is(legend, strong) { overflow-wrap: anywhere; }
body.product-refresh .vv-booking header button {
  min-height: 44px;
  min-width: 44px;
  background: var(--product-warm);
}
body.product-refresh .vv-booking fieldset {
  border-color: var(--product-line);
  padding: clamp(14px, 2.4vw, 23px);
}
body.product-refresh .vv-booking input[type="checkbox"] { accent-color: var(--product-red); }
body.product-refresh .vv-book-steps { flex-wrap: wrap; }
body.product-refresh .vv-book-steps li { flex: 1 1 75px; }
body.product-refresh .vv-book-steps li[aria-current="step"] {
  border-color: var(--product-red);
  color: var(--product-red);
}
body.product-refresh .vv-booking .vv-booking-preview {
  background: var(--product-warm);
  color: #55504f;
  border-inline-start: 3px solid #c6b5ad;
}
body.product-refresh .vv-booking dl { align-items: baseline; }
body.product-refresh .vv-booking .vv-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

body.product-refresh .product-share { margin: 12px 0; }
body.product-refresh .product-share button,
body.product-refresh .vv-inline-share,
body.product-refresh .booking-demo-actions button {
  appearance: none;
  min-height: 44px;
  padding: 9px 15px;
  border: 1px solid var(--product-line);
  border-radius: 8px;
  background: #fff;
  color: var(--product-red);
  font: 600 .875rem/1.42 var(--product-font);
  cursor: pointer;
}
body.product-refresh .booking-demo-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 20px 0;
}
body.product-refresh .booking-status,
body.product-refresh .ttr-info {
  color: var(--product-ink);
  background: var(--product-warm);
  border-inline-start: 3px solid var(--product-red);
  border-radius: 0 8px 8px 0;
  margin-block: 15px;
  padding: 14px 16px;
  overflow-wrap: anywhere;
}
body.product-refresh .demo-next-services { margin-block: 18px; padding-inline-start: 1.3rem; }
body.product-refresh .demo-next-services li { line-height: 1.55; margin-block: .45rem; }
body.product-refresh :is(.vv-product,.vv-booking,.vx-mobile-bar) :focus-visible {
  outline: 3px solid #934051;
  outline-offset: 3px;
}

@media (max-width: 800px) {
  body.product-refresh .vv-product { padding: 18px 20px 36px !important; }
  body.product-refresh .vv-product .vv-product-hero {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
  body.product-refresh .vv-product .vv-product-summary { display: contents; }
  body.product-refresh .vv-product-summary > * { order: 3; }
  body.product-refresh .vv-product-summary > :is(.vv-eyebrow,h1,.vx-product-sub,.vv-product-location) { order: 0; }
  body.product-refresh .vv-product-gallery {
    order: 1;
    margin: 0 0 9px;
  }
  body.product-refresh .vv-product .vv-product-summary h1 {
    font-size: clamp(1.58rem, 6.8vw, 2rem) !important;
    max-width: 100%;
  }
  body.product-refresh .vv-product .vv-product-location { margin-bottom: 14px !important; }
  body.product-refresh .vv-product .vv-gallery-main { max-height: min(350px, 62svh); }
  body.product-refresh .vv-product .vv-price-caption { margin-bottom: 8px !important; }
  body.product-refresh .vv-product-price { padding-top: 12px; }
  body.product-refresh .vv-product section[id],
  body.product-refresh .vv-full-details { scroll-margin-top: calc(var(--vv-utility-height, 44px) + 95px); }
  body.product-refresh .vv-booking .vv-form-grid { grid-template-columns: minmax(0, 1fr); }
  body.product-refresh .vv-booking dl { grid-template-columns: minmax(68px, auto) minmax(0, 1fr); }
  body.product-refresh .vv-booking { max-height: 92dvh; }
  body.product-refresh .vv-booking footer { flex-wrap: wrap; }
  body.product-refresh .vx-mobile-bar { background: white; border-color: var(--product-line); }
}

@media (max-width: 400px) {
  body.product-refresh .vv-product { padding-inline: 15px !important; }
  body.product-refresh .vv-booking { width: calc(100% - 14px); padding: 16px; }
  body.product-refresh .vv-booking fieldset { padding: 10px; }
  body.product-refresh .booking-demo-actions button { width: 100%; }
  body.product-refresh .vv-book-steps { gap: 6px; }
}

.transfer-extra{display:flex;align-items:flex-start;gap:.55rem;font-size:.9rem;line-height:1.5}.transfer-extra input{flex:0 0 auto;margin-top:.27rem}

.product-facts {position:relative;border-top:1px solid #d9cecf;margin:clamp(24px,4vw,50px) 0;padding-top:22px;scroll-margin-top:14px}
.product-facts > span[id] {position:absolute;top:0}
body.product-refresh .product-facts h2 {margin:0 0 15px!important;font-size:clamp(24px,2.7vw,34px)!important;line-height:1.2}
.fact-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.fact-card {border:1px solid #dcd4d2;border-radius:13px;padding:18px;background:#fff;scroll-margin-top:16px}
.fact-card.neutral {background:#fbf8f4}
.fact-card header {display:flex;align-items:center;justify-content:space-between;gap:7px;flex-wrap:wrap;margin:0 0 14px}
body.product-refresh .fact-card h3 {font-size:21px!important;margin:0!important;line-height:1.25}
.fact-card header span {font-size:12px;font-weight:700;padding:3px 8px;border-radius:5px;background:#e7efea;color:#285842}
.fact-card.neutral header span {background:#f2e6d9;color:#73451c}
.fact-card > strong {display:block;font-size:17px;line-height:1.48}
.fact-card dl,.fact-card dd {margin:0}.fact-card dl>div {padding-top:10px;margin-top:10px;border-top:1px solid #ebe5e3}
.fact-card dt {font-size:13px;color:#675c5a}.fact-card dd {font-size:15px;line-height:1.5;margin-top:3px}
.facts-link,.service-shortcuts a {color:#721b31;text-decoration:underline;text-underline-offset:3px}
.facts-link {display:inline-block;padding-top:12px}
.cash-deposit {display:flex;flex-wrap:wrap;gap:6px 13px;align-items:baseline;padding:13px 16px;border:1px solid #dbcac0;background:#faf5ee;border-radius:9px;margin-top:14px;line-height:1.55}
.cash-deposit strong {color:#71451f;white-space:nowrap}
.product-refresh .service-shortcuts {display:flex;flex-wrap:wrap;gap:9px;margin:8px 0 14px}
.service-shortcuts a {display:inline-flex;align-items:center;padding:5px 11px;min-height:36px;text-decoration:none;border:1px solid #e5dadd;border-radius:6px;background:#faf7f8;font-size:14px}
.product-refresh .service-shortcuts a:hover {text-decoration:underline}
.product-refresh .inclusion-line {font-size:15px;line-height:1.55;color:#433b3c}
@media(max-width:750px){.fact-grid{grid-template-columns:1fr}.fact-card{padding:15px}.fact-card header{margin-bottom:9px}.fact-card dl>div{display:grid;grid-template-columns:minmax(72px,26%) 1fr;gap:9px}.fact-card dd{margin:0}.cash-deposit{display:grid}.product-refresh .service-shortcuts a{min-height:42px}}
.product-refresh .facts-project {margin:0 0 5px;font-size:13px;color:#72545b;font-weight:600;line-height:1.45}
.facts-project span {color:#a6979a;margin:0 4px}
.card-more {margin-top:11px;font-size:14px}.card-more summary {color:#711c31;cursor:pointer;padding:4px 0;text-decoration:underline;text-underline-offset:3px}.card-more p {margin:7px 0;font-size:14px;line-height:1.5}
.vv-travel-link {margin-block:18px}.vv-travel-link a {color:#751c34;text-underline-offset:3px}
.vv-booking [data-order-notices] {margin-block:18px}.vv-booking [data-order-notices] details {padding:10px 0;border-top:1px solid #e5dadd}.vv-booking [data-order-notices] summary {cursor:pointer;color:#751c34;font-weight:650}.vv-booking [data-order-notices] details p {margin:.45em 0}
