/* Explore Experiences: an editorial collection, independent of the adventure catalogue. */
.vv-variant--local-experiences {
  --vv-local-ink: #243b30;
  --vv-local-muted: #5c675b;
  --vv-local-accent: #645336;
  --vv-local-line: #c7c7b8;
  --vv-local-surface: #f2efe8;
  --vv-local-button: #254635;
  --vv-local-on-button: #f5f0e5;
  padding-block: calc(clamp(2.8rem, 4.6vw, 5rem) * var(--vv-rhythm, 1) * var(--vv-mobile-rhythm, 1));
  background: var(--vv-local-surface);
  color: var(--vv-local-ink);
}
.vv-variant--local-experiences.vv-background--forest,
.vv-adventures-page .vv-variant--local-experiences.vv-background--none {
  --vv-local-ink: #f2ebdd;
  --vv-local-muted: #c3cbbd;
  --vv-local-accent: #dcc59c;
  --vv-local-line: #465c50;
  --vv-local-surface: #102923;
  --vv-local-button: #e1cda6;
  --vv-local-on-button: #142a20;
}
.vv-variant--local-experiences.vv-background--none { background: transparent; color: inherit; }
.vv-variant--local-experiences.vv-background--image,
.vv-variant--local-experiences.vv-background--video { --vv-local-ink: #f2ebdd; --vv-local-muted: #e1e3d7; --vv-local-accent: #e2cfae; --vv-local-line: #778474; --vv-local-button: #e1cda6; --vv-local-on-button: #142a20; }
.vv-variant--local-experiences > .vv-section__inner { display: block; }
.vv-variant--local-experiences .vv-adventure-icon { display: inline-block; flex: 0 0 auto; width: 1.05rem; height: 1.05rem; vertical-align: middle; }
.vv-local-section-heading { max-width: 52rem; margin-bottom: clamp(1.5rem, 2.6vw, 2.4rem); }
.vv-local-section-heading .vv-local-eyebrow { margin: 0 0 0.65rem; color: var(--vv-local-accent); font: 500 0.62rem/1.5 var(--vv-sans); letter-spacing: 0.24em; text-transform: uppercase; }
.vv-local-section-heading h2, .vv-editor-section.vv-variant--local-experiences > .vv-section__inner > h2 { margin: 0; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2rem, 3.3vw, 3.2rem); font-weight: 400; line-height: 1.08; letter-spacing: -0.035em; }
.vv-local-section-heading p:not(.vv-local-eyebrow) { max-width: 63ch; margin: 0.9rem 0 0; color: var(--vv-local-muted); font-family: var(--vv-sans); font-size: 0.86rem; line-height: 1.7; }
.vv-local-sample-note { margin: 0 0 1.2rem; color: var(--vv-local-muted); font: 400 0.7rem/1.6 var(--vv-sans); }
.vv-local-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.3rem 1.5rem; padding: 0; margin: 0; list-style: none; }
.vv-local-card { min-width: 0; scroll-margin-top: 7rem; }
.vv-local-card article { position: relative; display: flex; flex-direction: column; height: 100%; }
.vv-local-card__story { display: block; color: inherit; text-decoration: none; }
.vv-local-card__story::after { content: ''; position: absolute; z-index: 1; inset: 0; }
.vv-local-card__media { position: relative; isolation: isolate; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 0.15rem; background: #c5cdbb; }
.vv-local-card__image { display: block; width: 100%; height: 100%; object-fit: cover; }
.vv-local-card__media.is-empty { display: grid; place-items: center; color: #3b5644; background: linear-gradient(130deg, #d6dacb, #b4c0aa); }
.vv-local-card__media.is-empty > .vv-adventure-icon { width: 3.5rem; height: 3.5rem; }
.vv-local-card__image-action { position: absolute; right: 0.8rem; bottom: 0.8rem; display: grid; place-items: center; width: 2.15rem; height: 2.15rem; border: 1px solid rgb(255 250 238 / 75%); border-radius: 50%; background: rgb(8 29 23 / 48%); color: #fff8e9; }
.vv-local-card__image-action .vv-adventure-icon { width: 1.1rem; height: 1.1rem; }
.vv-local-card__copy { padding-top: 1rem; }
.vv-local-card__meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.25rem 0.6rem; margin: 0 0 0.6rem; color: var(--vv-local-accent); font: 500 0.6rem/1.55 var(--vv-sans); letter-spacing: 0.075em; text-transform: uppercase; }
.vv-local-card__meta span + span::before { content: '·'; margin-right: 0.6rem; }
.vv-local-card h3 { margin: 0; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.2rem, 1.7vw, 1.7rem); font-weight: 400; line-height: 1.2; letter-spacing: -0.02em; }
.vv-local-card__description { margin: 0.7rem 0 0; color: var(--vv-local-muted); font-family: var(--vv-sans); font-size: 0.875rem; line-height: 1.65; }
.vv-local-card__reason { margin: 0.75rem 0 0; color: var(--vv-local-accent); font-family: var(--vv-sans); font-size: 0.68rem; line-height: 1.55; }
.vv-local-card__footer { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0.4rem 0.65rem; margin-top: auto; padding-top: 0.9rem; padding-bottom: 0.35rem; border-bottom: 1px solid var(--vv-local-line); }
.vv-local-card__invitation { display: inline-flex; align-items: center; gap: 0.45rem; min-height: 44px; color: var(--vv-local-accent); font: 500 0.68rem/1.4 var(--vv-sans); }
.vv-local-card__invitation .vv-adventure-icon { width: 1rem; }
.vv-local-card__add { position: relative; z-index: 2; display: inline-flex; align-items: center; justify-content: center; gap: 0.6rem; min-height: 44px; max-width: 100%; padding: 0.6rem 0.9rem; border: 1px solid var(--vv-local-line); border-radius: 2rem; color: inherit; background: transparent; font: 500 0.7rem/1.4 var(--vv-sans); text-decoration: none; }
.vv-local-card__add > span[aria-hidden] { font-size: 1.1rem; line-height: 1; }
.vv-variant--local-experiences.vv-ctastyle--primary .vv-local-card__add { color: var(--vv-local-on-button); border-color: var(--vv-local-button); background: var(--vv-local-button); }
.vv-variant--local-experiences.vv-ctastyle--text .vv-local-card__add { padding-inline: 0; border-color: transparent; border-radius: 0; text-decoration: underline; text-underline-offset: 0.35rem; }
.vv-local-card__add[aria-busy="true"] { cursor: progress; }
.vv-local-card__add[data-vv-added] { border-color: currentColor; }
.vv-local-card__add[data-vv-added] > span[aria-hidden] { display: none; }
.vv-local-status { margin: 1.1rem 0 0; padding: 0.7rem 0.9rem; border-left: 2px solid var(--vv-local-accent); color: var(--vv-local-ink); font: 400 0.875rem/1.6 var(--vv-sans); }
.vv-local-status:empty { display: none; }
.vv-variant--local-experiences :is(a,button):focus-visible { outline: 2px solid var(--vv-local-ink); outline-offset: 4px; }
.vv-local-card__story:hover h3 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
.vv-local-empty { display: flex; align-items: center; gap: 1.25rem; padding: 1.7rem 0; border-block: 1px solid var(--vv-local-line); }
.vv-local-empty > .vv-adventure-icon { flex: 0 0 auto; width: 2.1rem; height: 2.1rem; color: var(--vv-local-accent); }
.vv-local-empty p { max-width: 55ch; margin: 0; font: 400 0.9rem/1.7 var(--vv-sans); }
.vv-variant--local-experiences .vv-rail-controls { color: var(--vv-local-accent); }
.vv-variant--local-experiences .vv-rail-controls button { border-color: var(--vv-local-line); }
.vv-variant--local-experiences .vv-rail-track { background: var(--vv-local-line); }
.vv-variant--local-experiences.vv-align--center .vv-local-section-heading { margin-inline: auto; }
.vv-variant--local-experiences.vv-align--center .vv-local-section-heading p { margin-inline: auto; }
.vv-variant--local-experiences.vv-align--center .vv-local-card__meta { justify-content: center; }
.vv-variant--local-experiences.vv-typography--editorial :is(.vv-local-section-heading h2,.vv-local-card h3) { font-family: var(--vv-serif); font-style: italic; }
.vv-variant--local-experiences.vv-typography--editorial .vv-local-card h3 { font-size: clamp(1.5rem, 2.1vw, 2rem); }
.vv-variant--local-experiences.vv-layout--wide .vv-local-grid { display: flex; gap: 1.5rem; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; padding: 0.2rem 0 0.7rem; scrollbar-width: thin; scrollbar-color: var(--vv-local-accent) transparent; }
.vv-variant--local-experiences.vv-layout--wide .vv-local-card { flex: 0 0 38%; scroll-snap-align: start; }
.vv-variant--local-experiences.vv-layout--wide .vv-local-card__media { aspect-ratio: 16 / 9; }
@media (min-width: 701px) and (max-width: 1100px) {
  .vv-local-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.9rem 1.2rem; }
  .vv-variant--local-experiences.vv-layout--wide .vv-local-card { flex-basis: 58%; }
  .vv-local-card h3 { font-size: 1.3rem; }
}
@media (max-width: 700px) {
  .vv-variant--local-experiences { padding-block: calc(2.6rem * var(--vv-rhythm, 1) * var(--vv-mobile-rhythm, 1)); }
  .vv-local-section-heading h2 { font-size: 2rem; }
  .vv-local-section-heading p:not(.vv-local-eyebrow) { font-size: 0.83rem; }
  .vv-local-grid, .vv-variant--local-experiences.vv-layout--wide .vv-local-grid { display: flex; gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; padding: 0.2rem 1.35rem 0.7rem 0; margin-right: -1.35rem; scrollbar-width: thin; scrollbar-color: var(--vv-local-accent) transparent; }
  .vv-local-card, .vv-variant--local-experiences.vv-layout--wide .vv-local-card { flex: 0 0 82%; scroll-snap-align: start; }
  .vv-local-card__media { aspect-ratio: 5 / 4; }
  .vv-variant--local-experiences.vv-layout--wide .vv-local-card { flex-basis: 92%; }
  .vv-variant--local-experiences.vv-layout--wide .vv-local-card__media { aspect-ratio: 16 / 10; }
  .vv-local-card h3 { font-size: 1.35rem; }
  .vv-local-card__description { font-size: 0.875rem; }
  .vv-local-card__meta { font-size: 0.6rem; }
  .vv-local-card__footer { gap: 0.3rem 0.7rem; }
  .vv-local-card__invitation { font-size: 0.66rem; }
  .vv-local-card__add { font-size: 0.68rem; padding-inline: 0.75rem; }
  .vv-variant--local-experiences.vv-mobile--compact { --vv-mobile-rhythm: 0.84; }
  .vv-variant--local-experiences.vv-mobile--compact .vv-local-card__media { aspect-ratio: 16 / 10; }
}
@media (prefers-reduced-motion: no-preference) {
  .vv-variant--local-experiences:not([data-vv-animation="none"]) .vv-local-card__image { transition: transform 360ms ease; }
  .vv-variant--local-experiences:not([data-vv-animation="none"]) .vv-local-card__story:hover .vv-local-card__image { transform: scale(1.025); }
  .vv-variant--local-experiences:not([data-vv-animation="none"]) .vv-local-card__add { transition: background-color 180ms ease, border-color 180ms ease; }
}
.vv-editor-section.vv-variant--local-experiences .vv-local-section-heading { max-width: none; }


/* Stay experience modal + persistent booking tray (0.24.8). */
body.vv-modal-open { overflow: hidden; }
.vv-local-card__open { position:relative; z-index:2; appearance:none; border:0; padding:0; background:none; cursor:pointer; text-align:left; }
.vv-experience-modal,
.vv-stay-trip-summary { width:min(1120px,calc(100vw - 28px)); max-width:none; max-height:calc(100dvh - 28px); margin:auto; padding:0; border:0; border-radius:2px; background:#f5f1e8; color:#17372d; box-shadow:0 28px 90px rgb(4 21 17 / 38%); overflow:auto; }
.vv-experience-modal::backdrop,
.vv-stay-trip-summary::backdrop { background:rgb(3 22 17 / 72%); backdrop-filter:blur(4px); }
.vv-experience-modal__shell { position:relative; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr); min-height:min(720px,calc(100dvh - 28px)); }
.vv-experience-modal__close,
.vv-stay-trip-summary__close { position:absolute; z-index:5; top:16px; right:16px; display:grid; place-items:center; width:44px; height:44px; border:1px solid rgb(255 255 255 / 55%); border-radius:50%; background:rgb(12 40 31 / 76%); color:#fff; font:300 28px/1 sans-serif; cursor:pointer; }
.vv-experience-modal__gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:minmax(180px,1fr); gap:4px; min-height:100%; background:#d9d6ca; }
.vv-experience-modal__gallery figure { margin:0; min-height:220px; overflow:hidden; }
.vv-experience-modal__gallery figure.is-primary { grid-column:1 / -1; min-height:360px; }
.vv-experience-modal__gallery img { width:100%; height:100%; object-fit:cover; display:block; }
.vv-experience-modal__content { align-self:center; padding:clamp(42px,6vw,84px) clamp(28px,5vw,68px); }
.vv-experience-modal__meta { margin:0 0 12px; color:#9a5e35; font:600 11px/1.5 var(--vv-sans); letter-spacing:.15em; text-transform:uppercase; }
.vv-experience-modal__head h2 { margin:0; font-family:Georgia,'Times New Roman',serif; font-size:clamp(38px,5vw,68px); font-weight:400; line-height:.98; letter-spacing:-.045em; }
.vv-experience-modal__lead { margin:22px 0 0; max-width:58ch; color:#4d5b53; font:400 15px/1.75 var(--vv-sans); }
.vv-experience-modal__overview { margin:24px 0 0; padding-top:22px; border-top:1px solid #d3cec0; color:#344a40; font:400 14px/1.75 var(--vv-sans); }
.vv-experience-modal__facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; margin:26px 0 0; border-block:1px solid #d3cec0; }
.vv-experience-modal__facts div { padding:14px 12px 14px 0; border-bottom:1px solid #ded9cc; }
.vv-experience-modal__facts div:nth-last-child(-n+2) { border-bottom:0; }
.vv-experience-modal__facts dt { color:#7a7468; font:600 10px/1.4 var(--vv-sans); letter-spacing:.12em; text-transform:uppercase; }
.vv-experience-modal__facts dd { margin:5px 0 0; font:600 13px/1.5 var(--vv-sans); }
.vv-experience-modal__lists { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; margin-top:26px; }
.vv-experience-modal__lists h3 { margin:0 0 10px; font:500 16px/1.3 Georgia,'Times New Roman',serif; }
.vv-experience-modal__lists ul { margin:0; padding-left:18px; color:#4d5b53; font:400 13px/1.7 var(--vv-sans); }
.vv-experience-modal__actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:30px; }
.vv-experience-modal__add,
.vv-stay-trip-summary__book { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:50px; padding:0 22px; border-radius:28px; background:#173f32; color:#fff7e8; font:700 12px/1 var(--vv-sans); text-decoration:none; }
.vv-experience-modal__add[data-vv-added] { background:#9a5e35; }
.vv-experience-modal__continue { min-height:48px; padding:0 12px; border:0; background:transparent; color:#17372d; font:600 12px/1 var(--vv-sans); text-decoration:underline; text-underline-offset:5px; cursor:pointer; }

.vv-stay-trip-tray { position:fixed; z-index:120; left:50%; bottom:18px; transform:translateX(-50%); display:flex; align-items:center; justify-content:space-between; gap:28px; width:min(900px,calc(100vw - 28px)); padding:12px 14px 12px 20px; border:1px solid rgb(255 255 255 / 12%); border-radius:10px; background:rgb(10 43 34 / 96%); color:#fff; box-shadow:0 18px 55px rgb(0 0 0 / 28%); backdrop-filter:blur(12px); }
.vv-stay-trip-tray[hidden] { display:none!important; }
.vv-stay-trip-tray__copy { display:grid; gap:1px; min-width:0; }
.vv-stay-trip-tray__copy span { color:#d4b47d; font:700 9px/1.4 var(--vv-sans); letter-spacing:.16em; }
.vv-stay-trip-tray__copy strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font:600 14px/1.35 var(--vv-sans); }
.vv-stay-trip-tray__copy small { color:#b9c9c1; font:500 11px/1.4 var(--vv-sans); }
.vv-stay-trip-tray__actions { display:flex; align-items:center; gap:8px; flex:0 0 auto; }
.vv-stay-trip-tray__actions button,
.vv-stay-trip-tray__actions a { min-height:42px; padding:0 16px; border-radius:24px; font:700 11px/1 var(--vv-sans); cursor:pointer; text-decoration:none; }
.vv-stay-trip-tray__actions button { border:1px solid #6c8b7f; background:transparent; color:#fff; }
.vv-stay-trip-tray__actions a { display:inline-flex; align-items:center; gap:10px; border:1px solid #e0c18b; background:#e0c18b; color:#12372d; }
.vv-has-stay-trip-tray { padding-bottom:92px; }

.vv-stay-trip-summary { width:min(620px,calc(100vw - 28px)); }
.vv-stay-trip-summary__shell { position:relative; padding:clamp(32px,6vw,58px); }
.vv-stay-trip-summary__close { background:#173f32; }
.vv-stay-trip-summary__shell>p { margin:0 0 8px; color:#9a5e35; font:700 10px/1.4 var(--vv-sans); letter-spacing:.16em; }
.vv-stay-trip-summary h2 { margin:0 0 24px; font:400 clamp(34px,5vw,52px)/1 Georgia,'Times New Roman',serif; }
.vv-stay-trip-summary__item { display:grid; grid-template-columns:90px 1fr auto; gap:12px; align-items:center; padding:14px 0; border-top:1px solid #d8d2c5; }
.vv-stay-trip-summary__item span { color:#8b806f; font:700 9px/1.4 var(--vv-sans); letter-spacing:.12em; text-transform:uppercase; }
.vv-stay-trip-summary__item strong { font:600 13px/1.4 var(--vv-sans); }
.vv-stay-trip-summary__item button { border:0; background:transparent; color:#7b4c34; font:600 11px/1 var(--vv-sans); text-decoration:underline; cursor:pointer; }
.vv-stay-trip-summary__empty { padding:22px 0; color:#5f675f; }
.vv-stay-trip-summary__book { margin-top:26px; }

@media(max-width:760px){
  .vv-experience-modal { width:100vw; max-height:100dvh; height:100dvh; border-radius:0; }
  .vv-experience-modal__shell { display:block; min-height:100%; }
  .vv-experience-modal__gallery { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; min-height:0; }
  .vv-experience-modal__gallery figure,.vv-experience-modal__gallery figure.is-primary { flex:0 0 88vw; min-height:300px; aspect-ratio:4/3; scroll-snap-align:start; }
  .vv-experience-modal__content { padding:30px 22px 90px; }
  .vv-experience-modal__head h2 { font-size:42px; }
  .vv-experience-modal__facts,.vv-experience-modal__lists { grid-template-columns:1fr; }
  .vv-experience-modal__facts div:nth-last-child(-n+2) { border-bottom:1px solid #ded9cc; }
  .vv-experience-modal__facts div:last-child { border-bottom:0; }
  .vv-stay-trip-tray { bottom:10px; gap:10px; padding:10px 10px 10px 14px; }
  .vv-stay-trip-tray__copy span { display:none; }
  .vv-stay-trip-tray__copy strong { max-width:38vw; font-size:12px; }
  .vv-stay-trip-tray__actions button { display:none; }
  .vv-stay-trip-tray__actions a { padding:0 14px; }
  .vv-stay-trip-summary__item { grid-template-columns:1fr auto; }
  .vv-stay-trip-summary__item span { grid-column:1/-1; }
}

/* 0.25.0: compact experience detail overlay. Keep the decision surface within one viewport. */
.vv-experience-modal { width:min(1060px,calc(100vw - 36px)); max-height:min(86dvh,760px); overflow:hidden; }
.vv-experience-modal__shell { min-height:0; height:min(86dvh,760px); grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr); }
.vv-experience-modal__gallery { grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:minmax(0,1fr) 126px; grid-auto-rows:126px; min-height:0; height:100%; }
.vv-experience-modal__gallery figure { min-height:0; }
.vv-experience-modal__gallery figure.is-primary { grid-column:1 / -1; min-height:0; }
.vv-experience-modal__gallery figure:nth-child(n+5) { display:none; }
.vv-experience-modal__content { align-self:stretch; overflow:auto; padding:clamp(32px,4vw,54px) clamp(28px,4vw,52px); }
.vv-experience-modal__head h2 { font-size:clamp(36px,4.2vw,58px); }
.vv-experience-modal__lead { margin-top:14px; line-height:1.6; }
.vv-experience-modal__overview { margin-top:16px; padding-top:16px; line-height:1.6; }
.vv-experience-modal__facts { margin-top:18px; }
.vv-experience-modal__facts div { padding:10px 10px 10px 0; }
.vv-experience-modal__lists { gap:18px; margin-top:18px; }
.vv-experience-modal__lists ul { line-height:1.55; }
.vv-experience-modal__actions { position:sticky; bottom:-1px; z-index:2; margin:20px -4px -4px; padding:12px 4px 4px; background:linear-gradient(to bottom,rgb(245 241 232 / 0%),#f5f1e8 24%); }
@media(max-width:760px){
  .vv-experience-modal { width:100vw; max-height:100dvh; height:100dvh; }
  .vv-experience-modal__shell { height:100%; }
  .vv-experience-modal__gallery { display:flex; height:auto; overflow-x:auto; }
  .vv-experience-modal__gallery figure:nth-child(n+5) { display:block; }
}

/* 0.25.1: Stay experience cards are modal triggers, never navigation links. */
.vv-stay-page .vv-local-card__story--popup{display:block;width:100%;margin:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer;-webkit-appearance:none;appearance:none}
.vv-stay-page .vv-local-card__story--popup:focus-visible{outline:2px solid currentColor;outline-offset:4px}


/* 0.25.2: complete experience-in-modal + party-aware add-to-plan. */
.vv-local-card__add:is(button){cursor:pointer;-webkit-appearance:none;appearance:none}
.vv-experience-modal__section{margin-top:20px;padding-top:18px;border-top:1px solid #d3cec0}
.vv-experience-modal__section>h3{margin:0 0 10px;font:500 17px/1.25 Georgia,'Times New Roman',serif}
.vv-experience-modal__section .vv-experience-modal__overview{margin:0;padding:0;border:0}
.vv-experience-modal__page-content{color:#405047;font:400 13px/1.65 var(--vv-sans)}
.vv-experience-modal__page-content :is(h1,h2,h3,h4){margin:18px 0 8px;color:#17372d;font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.15}
.vv-experience-modal__page-content :is(h1,h2){font-size:22px}.vv-experience-modal__page-content h3{font-size:17px}
.vv-experience-modal__page-content :is(p,ul,ol){margin:0 0 10px}.vv-experience-modal__page-content img{max-width:100%;height:auto}
.vv-experience-modal__page-content .wp-block-cover,.vv-experience-modal__page-content .wp-block-media-text{min-height:0!important}
.vv-experience-modal__booking{position:sticky;bottom:-1px;z-index:4;margin:24px -12px -4px;padding:16px 12px 4px;border-top:1px solid #d3cec0;background:linear-gradient(to bottom,rgb(245 241 232 / 0%),#f5f1e8 12%,#f5f1e8 100%)}
.vv-experience-modal__pricing{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 14px;margin-bottom:12px}
.vv-experience-modal__pricing>span{width:100%;color:#8a7768;font:700 9px/1.3 var(--vv-sans);letter-spacing:.14em;text-transform:uppercase}
.vv-experience-modal__pricing strong{font:700 13px/1.3 var(--vv-sans)}.vv-experience-modal__pricing small{color:#6b756f;font-weight:500}
.vv-experience-modal__party{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.vv-experience-modal__party label{display:grid;gap:6px;color:#59665e;font:700 10px/1.3 var(--vv-sans);letter-spacing:.05em;text-transform:uppercase}
.vv-experience-modal__party label>span{display:grid;grid-template-columns:38px 1fr 38px;min-height:42px;border:1px solid #c9c3b6;background:#fff}
.vv-experience-modal__party button{border:0;background:transparent;color:#17372d;font:500 20px/1 sans-serif;cursor:pointer}
.vv-experience-modal__party input{width:100%;min-width:0;border:0;border-inline:1px solid #e0dbd0;background:#fff;color:#17372d;text-align:center;font:700 13px/1 var(--vv-sans);appearance:textfield}
.vv-experience-modal__party input::-webkit-inner-spin-button{appearance:none}
.vv-experience-modal__estimate{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:10px;padding:9px 0;border-bottom:1px solid #d3cec0}
.vv-experience-modal__estimate span{color:#6d776f;font:600 11px/1.3 var(--vv-sans)}.vv-experience-modal__estimate strong{font:700 15px/1.3 var(--vv-sans)}
.vv-experience-modal__booking .vv-experience-modal__actions{position:static;margin:12px 0 0;padding:0;background:none}
.vv-experience-modal__add:is(button){border:0;cursor:pointer}
.vv-stay-trip-summary__item strong small{display:block;margin-top:3px;color:#69746d;font:500 10px/1.4 var(--vv-sans)}
@media(max-width:760px){
 .vv-experience-modal__party{grid-template-columns:1fr 1fr}
 .vv-experience-modal__booking{margin-inline:-4px;padding-inline:4px}
}

/* 0.25.3: true slider gallery + fixed decision dock. */
.vv-experience-modal__shell{overflow:hidden}
.vv-experience-modal__gallery{position:relative;display:block!important;min-width:0;height:100%;overflow:hidden;background:#d7d2c6}
.vv-experience-modal__slides{position:absolute;inset:0;overflow:hidden}
.vv-experience-modal__slide,.vv-experience-modal__gallery figure,.vv-experience-modal__gallery figure.is-primary{position:absolute;inset:0;display:block!important;margin:0;min-height:0!important;opacity:0;visibility:hidden;transition:opacity .24s ease;background:#d7d2c6;overflow:hidden}
.vv-experience-modal__slide.is-active{opacity:1;visibility:visible;z-index:1}
.vv-experience-modal__slide::before{content:"";position:absolute;inset:-24px;background-image:var(--vv-gallery-bg);background-size:cover;background-position:center;filter:blur(22px);opacity:.2;transform:scale(1.08)}
.vv-experience-modal__slide img{position:relative;z-index:1;width:100%;height:100%;display:block;object-position:center}
.vv-experience-modal__slide.is-portrait img{object-fit:cover}
.vv-experience-modal__slide.is-landscape img{object-fit:contain}
.vv-experience-modal__slide.is-square img{object-fit:cover}
.vv-experience-modal__gallery-nav{position:absolute;z-index:3;top:50%;display:grid;place-items:center;width:42px;height:42px;margin-top:-21px;border:1px solid rgb(255 255 255 / 60%);border-radius:50%;background:rgb(13 42 33 / 72%);color:#fff;font:300 30px/1 sans-serif;cursor:pointer;backdrop-filter:blur(8px)}
.vv-experience-modal__gallery-nav--prev{left:16px}.vv-experience-modal__gallery-nav--next{right:16px}
.vv-experience-modal__gallery-status{position:absolute;z-index:3;left:50%;bottom:16px;transform:translateX(-50%);padding:7px 11px;border-radius:18px;background:rgb(13 42 33 / 72%);color:#fff;font:700 10px/1 var(--vv-sans);letter-spacing:.08em;backdrop-filter:blur(8px)}
.vv-experience-modal__content{display:grid;grid-template-rows:minmax(0,1fr) auto;align-self:stretch;overflow:hidden;padding:0!important}
.vv-experience-modal__scroll{min-height:0;overflow:auto;overscroll-behavior:contain;padding:clamp(32px,4vw,54px) clamp(28px,4vw,52px) 28px;scrollbar-gutter:stable}
.vv-experience-modal__booking{position:relative!important;bottom:auto!important;z-index:5;margin:0!important;padding:14px clamp(28px,4vw,52px) 16px!important;border-top:1px solid #d3cec0;background:#f5f1e8!important;box-shadow:0 -14px 28px rgb(23 55 45 / 7%)}
.vv-experience-modal__booking .vv-experience-modal__actions{margin-top:10px}
.vv-experience-modal__pricing{margin-bottom:9px}.vv-experience-modal__party label>span{min-height:40px}.vv-experience-modal__estimate{margin-top:8px;padding:7px 0}
@media(max-width:760px){
 .vv-experience-modal__shell{display:grid;grid-template-rows:minmax(220px,34dvh) minmax(0,1fr);height:100%}
 .vv-experience-modal__gallery{height:100%!important;overflow:hidden!important}
 .vv-experience-modal__slides{position:absolute}
 .vv-experience-modal__slide,.vv-experience-modal__gallery figure,.vv-experience-modal__gallery figure.is-primary{position:absolute!important;inset:0!important;flex:none!important;aspect-ratio:auto!important;min-height:0!important}
 .vv-experience-modal__scroll{padding:26px 20px 22px}
 .vv-experience-modal__booking{padding:12px 20px 14px!important}
 .vv-experience-modal__gallery-nav{width:38px;height:38px;margin-top:-19px}
}

/* 0.25.4 final pass: hard separation between scrollable story and fixed booking dock. */
.vv-experience-modal__shell{min-height:0!important;overflow:hidden!important}
.vv-experience-modal__content{position:relative!important;display:grid!important;grid-template-rows:minmax(0,1fr) max-content!important;height:100%!important;min-height:0!important;overflow:hidden!important;padding:0!important}
.vv-experience-modal__scroll{grid-row:1;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;padding-bottom:34px!important;scroll-padding-bottom:34px}
.vv-experience-modal__booking{grid-row:2;position:relative!important;inset:auto!important;z-index:8!important;flex:0 0 auto;max-height:none!important;margin:0!important;background:#f5f1e8!important;box-shadow:0 -12px 30px rgb(23 55 45 / 10%)}
.vv-experience-modal__booking::before{content:none!important}
.vv-experience-modal__page-content{overflow:visible}
@media(max-width:760px){
 .vv-experience-modal__content{height:100%!important;min-height:0!important}
 .vv-experience-modal__scroll{padding-bottom:28px!important}
 .vv-experience-modal__booking{position:relative!important;max-height:46dvh;overflow:auto}
}
