/* VM Platform — components rendered by shortcodes (tour cards, search, switches, account dialog).
   Colours come from the Elementor kit (Site Settings → Global Colors) with the design-system value as fallback. */
:root{
  --vm-clay:var(--e-global-color-primary,#B4552F);--vm-clay-600:var(--e-global-color-vmclay600,#95431F);--vm-clay-700:var(--e-global-color-vmclay700,#733319);
  --vm-ink-900:var(--e-global-color-secondary,#1A1714);--vm-ink-700:var(--e-global-color-text,#332F2C);--vm-muted:var(--e-global-color-vmink500,#6F6862);
  --vm-camel:var(--e-global-color-accent,#C9925C);--vm-camel-50:var(--e-global-color-vmcamel50,#FBF6EE);--vm-camel-100:var(--e-global-color-vmcamel100,#F5E8D3);
  --vm-card:var(--e-global-color-vmwhite,#fff);--vm-border:var(--e-global-color-vmink100,#F1EAE2);--vm-border-d:var(--e-global-color-vmink200,#E2D9CE);--vm-page:var(--e-global-color-vmink50,#FAF6F1);
  --vm-mono:"JetBrains Mono","SFMono-Regular",Menlo,monospace;
  --vm-shadow-sm:0 1px 3px rgba(26,23,20,.07),0 1px 2px rgba(26,23,20,.04);--vm-shadow-lg:0 12px 32px rgba(26,23,20,.10);--vm-shadow-xl:0 24px 60px rgba(26,23,20,.14);
  --vm-focus:0 0 0 3px rgba(180,85,47,.38);--vm-ease:cubic-bezier(.4,0,.2,1);
}
.vm-ic{flex:0 0 auto;display:inline-block;vertical-align:middle}

/* Tour grid + card (design-system TourCard) */
.vm-grid{display:grid;grid-template-columns:repeat(var(--vm-cols,4),minmax(0,1fr));gap:24px}
@media (max-width:1100px){.vm-grid{grid-template-columns:repeat(min(var(--vm-cols,4),3),minmax(0,1fr))}}
@media (max-width:860px){.vm-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media (max-width:560px){.vm-grid{grid-template-columns:minmax(0,1fr)}}
.vm-card{position:relative;display:flex;flex-direction:column;overflow:hidden;background:var(--vm-card);border:1px solid var(--vm-border);border-radius:16px;box-shadow:var(--vm-shadow-sm);transition:box-shadow 220ms var(--vm-ease),transform 220ms var(--vm-ease)}
.vm-card:hover{box-shadow:var(--vm-shadow-lg);transform:translateY(-2px)}
.vm-card__link{position:absolute;inset:0;z-index:2;border-radius:16px}
.vm-card__link:focus-visible{outline:none;box-shadow:var(--vm-focus)}
.vm-card__media{position:relative;aspect-ratio:4/3;background:var(--vm-camel-100);overflow:hidden}
.vm-card__img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 700ms cubic-bezier(.16,1,.3,1)}
.vm-card:hover .vm-card__img{transform:scale(1.04)}
.vm-card__ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:#B27A45}
.vm-badge{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--vm-card);color:var(--vm-clay-700);font-size:13px;font-weight:600;line-height:1.3;box-shadow:var(--vm-shadow-sm)}
.vm-card__body{display:flex;flex-direction:column;gap:10px;flex:1;min-width:0;padding:20px 20px 22px}
.vm-card__title{margin:0;font-size:18px;line-height:1.25;font-weight:700;letter-spacing:-.01em;color:var(--vm-ink-900);text-wrap:pretty}
.vm-card__meta{display:flex;flex-wrap:wrap;gap:14px;color:var(--vm-muted);font-size:13px}
.vm-card__meta span{display:inline-flex;align-items:center;gap:5px}
.vm-rating{display:inline-flex;align-items:center;gap:8px}
.vm-rating__stars{display:inline-flex;gap:2px;color:var(--vm-camel)}
.vm-rating__stars .is-off{opacity:.28}
.vm-rating__val{font-family:var(--vm-mono);font-size:13px;font-weight:500;color:var(--vm-ink-900)}
.vm-rating__count{font-size:13px;color:var(--vm-muted)}
.vm-card__foot{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:auto;padding-top:8px}
.vm-price{display:flex;flex-direction:column;gap:2px}
.vm-price__amt{font-family:var(--vm-mono);font-weight:700;font-size:22px;letter-spacing:-.02em;color:var(--vm-ink-900);font-variant-numeric:tabular-nums}
.vm-price__unit{font-size:11px;letter-spacing:.04em;text-transform:uppercase;font-weight:600;color:var(--vm-muted)}
.vm-card__cta{display:inline-flex;align-items:center;gap:5px;color:var(--vm-clay-600);font-size:13px;font-weight:600}
.vm-empty{padding:16px 18px;border-radius:12px;background:var(--vm-camel-50);color:var(--vm-ink-700)}

/* Hero search bar */
.vm-search{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:16px;align-items:end;padding:20px;background:var(--vm-card);border-radius:24px;box-shadow:var(--vm-shadow-xl)}
.vm-search__f{display:flex;flex-direction:column;gap:6px;margin:0;font-size:13px;font-weight:600;color:var(--vm-ink-900)}
.vm-search__in{position:relative;display:flex;align-items:center}
.vm-search__in .vm-ic{position:absolute;left:14px;color:var(--vm-muted);pointer-events:none}
.vm-search__in input,.vm-search__in select{width:100%;height:44px;margin:0;padding:0 14px 0 40px;border:1px solid var(--vm-border-d);border-radius:8px;background:var(--vm-card);font:inherit;font-weight:400;font-size:15px;color:var(--vm-ink-900);appearance:none;-webkit-appearance:none}
.vm-search__in input::placeholder{color:#9C9288}
.vm-search__in input:focus,.vm-search__in select:focus{outline:none;border-color:var(--vm-clay);box-shadow:var(--vm-focus)}
@media (max-width:900px){.vm-search{grid-template-columns:minmax(0,1fr);padding:16px;border-radius:20px}}

/* Buttons used by shortcodes (Elementor buttons are styled in the kit) */
.vm-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 22px;border-radius:999px;border:1px solid transparent;font:inherit;font-size:15px;font-weight:600;letter-spacing:-.005em;white-space:nowrap;cursor:pointer;text-decoration:none;transition:background-color 140ms var(--vm-ease),border-color 140ms var(--vm-ease),color 140ms var(--vm-ease)}
.vm-btn--primary{background:var(--vm-clay);border-color:var(--vm-clay);color:#fff;box-shadow:0 1px 2px rgba(26,23,20,.06)}
.vm-btn--primary:hover{background:var(--vm-clay-600);border-color:var(--vm-clay-600);color:#fff}
.vm-btn:focus-visible{outline:none;box-shadow:var(--vm-focus)}
.vm-btn:active{transform:scale(.985)}

/* EN|FR and EUR|USD segmented switches */
.vm-seg{display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:rgba(255,255,255,.08)}
.vm-seg__btn{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:28px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.02em;color:var(--vm-on-seg,#CFC7BE);text-decoration:none}
.vm-seg__btn:hover{color:#fff;text-decoration:none}
.vm-seg__btn.is-on{background:#fff;color:var(--vm-ink-900)}
.vm-seg--light{background:var(--vm-page);border:1px solid var(--vm-border-d)}
.vm-seg--light .vm-seg__btn{color:var(--vm-ink-700)}
.vm-seg--light .vm-seg__btn.is-on{background:var(--vm-ink-900);color:#fff}

/* Registration popup (native <dialog>) */
.vm-dialog{width:min(440px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:0;border:0;border-radius:24px;background:var(--vm-card);box-shadow:var(--vm-shadow-xl);overflow:auto}
.vm-dialog::backdrop{background:rgba(20,17,14,.45)}
.vm-dialog[open]{animation:vm-in 220ms cubic-bezier(.16,1,.3,1)}
.vm-dialog__close{position:absolute;top:18px;right:18px;z-index:2;width:32px;height:32px;border:0;border-radius:999px;background:none;color:var(--vm-muted);font-size:22px;line-height:1;cursor:pointer}
.vm-dialog__close:hover{background:var(--vm-page);color:var(--vm-ink-900)}
.vm-dialog__close:focus-visible{outline:none;box-shadow:var(--vm-focus)}
@keyframes vm-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.vm-dialog[open]{animation:none}.vm-card,.vm-card__img{transition:none}}
/* Header language dropdown */
.vm-langdd{position:relative}
.vm-langdd__btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:1px solid var(--vm-border);border-radius:999px;background:var(--vm-card);font:inherit;font-size:13px;font-weight:700;color:var(--vm-ink-900);cursor:pointer}
.vm-langdd__btn:hover{background:var(--vm-page)}
.vm-langdd__btn .vm-ic:last-child{transition:transform 140ms var(--vm-ease)}
.vm-langdd:hover .vm-langdd__btn .vm-ic:last-child,.vm-langdd:focus-within .vm-langdd__btn .vm-ic:last-child{transform:rotate(180deg)}
.vm-langdd__panel{position:absolute;top:100%;right:0;z-index:70;min-width:150px;margin-top:6px;padding:6px;background:var(--vm-card);border:1px solid var(--vm-border);border-radius:12px;box-shadow:var(--vm-shadow-lg);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity 180ms cubic-bezier(.16,1,.3,1),transform 180ms cubic-bezier(.16,1,.3,1),visibility 180ms}
.vm-langdd__panel:before{content:"";position:absolute;left:0;right:0;top:-8px;height:8px}
.vm-langdd:hover .vm-langdd__panel,.vm-langdd:focus-within .vm-langdd__panel{opacity:1;visibility:visible;transform:none}
.vm-langdd__panel a{display:block;padding:8px 10px;border-radius:8px;font-size:14px;color:var(--vm-ink-900);text-decoration:none}
.vm-langdd__panel a.is-on{font-weight:700}
.vm-langdd__panel a:hover{background:var(--vm-page);text-decoration:none}
/* Theme button reset for plugin controls (Astra styles every <button>) */
button.vm-langdd__btn,button.vm-langdd__btn:hover,button.vm-langdd__btn:focus{background:var(--vm-card)!important;color:var(--vm-ink-900)!important;padding:0 10px!important;border:1px solid var(--vm-border)!important;line-height:1!important;box-shadow:none;font-size:13px!important}
button.vm-langdd__btn:hover{background:var(--vm-page)!important}
button.vm-dialog__close,button.vm-dialog__close:hover{padding:0!important;background:none!important;color:var(--vm-muted)!important;border:0!important}
button.vm-dialog__close:hover{background:var(--vm-page)!important;color:var(--vm-ink-900)!important}
.vm-search button.vm-search__go{padding:0 22px!important;line-height:1!important}

/* ---- Page sections built in Elementor (home and landing pages) ---- */
body.page,body.single-tour,body.post-type-archive-tour{background:var(--vm-page)}
.vm-home-search{position:relative;z-index:3}
/* Horizontal tracks: destination tiles and partner brands (arrows use .vm-scroll-prev/.vm-scroll-next) */
.elementor .vm-track{overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:none;padding-bottom:4px}
.elementor .vm-track::-webkit-scrollbar{display:none}
.elementor .vm-tile{flex:0 0 calc((100% - 60px)/4)!important;width:auto!important;aspect-ratio:3/4;scroll-snap-align:start;overflow:hidden;text-decoration:none;transition:transform 220ms var(--vm-ease),box-shadow 220ms var(--vm-ease)}
.elementor .vm-tile:hover{transform:translateY(-2px);box-shadow:var(--vm-shadow-lg)}
.elementor .vm-tile:focus-visible{outline:none;box-shadow:var(--vm-focus)}
@media (max-width:1024px){.elementor .vm-tile{flex-basis:calc((100% - 40px)/3)!important}}
@media (max-width:767px){.elementor .vm-tile{flex-basis:78%!important}}
.elementor .vm-track--brands{scroll-snap-type:x proximity;padding:4px 2px}
.elementor .vm-brand{flex:0 0 158px!important;width:158px!important;height:84px;padding:14px!important;scroll-snap-align:start;background:var(--vm-card);border:1px solid var(--vm-border);border-radius:16px;filter:grayscale(1);opacity:.64;transition:opacity 220ms var(--vm-ease),filter 220ms var(--vm-ease),transform 220ms cubic-bezier(.16,1,.3,1),box-shadow 220ms var(--vm-ease)}
.elementor .vm-brand:hover{opacity:1;filter:none;transform:translateY(-3px);box-shadow:var(--vm-shadow-lg)}
.elementor .vm-scroll-prev .elementor-icon,.elementor .vm-scroll-next .elementor-icon{border-color:var(--vm-border-d)!important;box-shadow:0 1px 2px rgba(26,23,20,.05);transition:background 140ms var(--vm-ease),color 140ms var(--vm-ease)}
.elementor .vm-scroll-prev .elementor-icon:hover,.elementor .vm-scroll-next .elementor-icon:hover{background:var(--vm-ink-900)!important;color:#fff!important;fill:#fff}
.elementor .vm-scroll-prev .elementor-icon:hover svg,.elementor .vm-scroll-next .elementor-icon:hover svg{fill:#fff}
.elementor .vm-avatar .elementor-heading-title{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--e-global-color-vmclay100,#F4DCD0)}
/* Header: XPRO responsive drawer — icons, full-height panel, and no off-canvas overflow while closed */
.xpro-elementor-horizontal-menu-toggler svg,.xpro-elementor-horizontal-menu-close svg{width:20px!important;height:20px!important;fill:currentColor}
.xpro-elementor-horizontal-menu-toggler i,.xpro-elementor-horizontal-menu-close i{font-size:20px}
@media (max-width:1024px){
 .xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-navbar-wrapper{height:100vh;height:100dvh;overflow-y:auto;visibility:hidden;transition:transform .3s cubic-bezier(.16,1,.3,1),visibility 0s linear .3s}
 .xpro-elementor-horizontal-menu-responsive-tablet.xpro-elementor-horizontal-navbar-wrapper.active{visibility:visible;transition:transform .3s cubic-bezier(.16,1,.3,1),visibility 0s}
}
html,body{overflow-x:clip}
button.xpro-elementor-horizontal-menu-toggler,button.xpro-elementor-horizontal-menu-close{padding:0!important;display:inline-flex!important;align-items:center;justify-content:center;width:42px;height:42px;line-height:1!important}
.xpro-elementor-horizontal-menu-toggler svg,.xpro-elementor-horizontal-menu-close svg{flex:0 0 20px}

/* Explore Morocco block */
.elementor .vm-explore-pill .elementor-button{transition:background 140ms var(--vm-ease),color 140ms var(--vm-ease),border-color 140ms var(--vm-ease),box-shadow 220ms var(--vm-ease),transform 220ms cubic-bezier(.16,1,.3,1);white-space:nowrap}
.elementor .vm-explore-pill .elementor-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(26,23,20,.10)}
.elementor .vm-explore-pill .elementor-button-icon svg{fill:var(--vm-clay-600)}
.elementor .vm-explore-pill .elementor-button:hover .elementor-button-icon svg{fill:#fff}
.elementor .vm-explore-stripe{background:repeating-linear-gradient(90deg,#EBD2AB 0 10px,transparent 10px 20px);opacity:.7;height:6px;min-height:6px!important}
.xpro-elementor-horizontal-menu-close{color:#fff!important}

/* Registration popup */
.vm-dialog .vm-account-popup .elementor-button{width:100%}
.vm-dialog .vm-login-line a{color:var(--vm-clay-600);text-decoration:none}
.vm-dialog .elementor-divider__text{padding:0 10px}
.vm-dialog .e-con{--padding-top:0}

/* WPForms in the design system (contact and tailor-made enquiries) */
.vm-form-card .wpforms-container{margin:0!important}
.vm-form-card .wpforms-form .wpforms-field{padding:0 0 16px!important}
.vm-form-card .wpforms-form .wpforms-field-label{font-size:13px!important;font-weight:600!important;color:var(--vm-ink-900)!important;margin:0 0 6px!important}
.vm-form-card .wpforms-form input[type=text],.vm-form-card .wpforms-form input[type=email],.vm-form-card .wpforms-form input[type=number],.vm-form-card .wpforms-form input[type=date],.vm-form-card .wpforms-form select,.vm-form-card .wpforms-form textarea{width:100%!important;max-width:100%!important;height:44px;padding:0 14px!important;border:1px solid var(--vm-border-d)!important;border-radius:8px!important;background:var(--vm-card)!important;font:inherit;font-size:15px!important;color:var(--vm-ink-900)!important;box-shadow:none!important}
.vm-form-card .wpforms-form textarea{height:110px!important;padding:12px 14px!important}
.vm-form-card .wpforms-form input:focus,.vm-form-card .wpforms-form select:focus,.vm-form-card .wpforms-form textarea:focus{outline:none;border-color:var(--vm-clay)!important;box-shadow:var(--vm-focus)!important}
.vm-form-card .wpforms-form .vm-consent li{display:flex;gap:8px;align-items:flex-start}
.vm-form-card .wpforms-form .vm-consent label{font-size:14px!important;line-height:1.45;color:var(--vm-ink-700)!important}
.vm-form-card .wpforms-form .vm-consent input{accent-color:var(--vm-clay);margin-top:3px!important}
.vm-form-card .wpforms-form .vm-consent a{color:var(--vm-clay-600)}
.vm-form-card .wpforms-form .vm-consent{padding-bottom:6px!important}
.vm-form-card .wpforms-submit-container{padding-top:8px!important}
.vm-form-card .wpforms-form button[type=submit]{height:44px!important;padding:0 22px!important;border-radius:999px!important;background:var(--vm-clay)!important;border:1px solid var(--vm-clay)!important;color:#fff!important;font-size:15px!important;font-weight:600!important;line-height:1!important}
.vm-form-card .wpforms-form button[type=submit]:hover{background:var(--vm-clay-600)!important;border-color:var(--vm-clay-600)!important}
.vm-form-card .wpforms-confirmation-container-full{background:#E9F4EC!important;border:1px solid #BFDCC6!important;border-radius:12px;color:#1F5A33!important}
.vm-form-card .vm-note{margin:0 0 4px}
@media (max-width:600px){.vm-form-card .wpforms-form .wpforms-one-half,.vm-form-card .wpforms-form .wpforms-one-third{width:100%!important;margin-left:0!important}}
.elementor .vm-ci>.elementor-widget-icon{flex:0 0 auto!important;width:auto!important}
.elementor .vm-ci>.e-con{flex:1 1 0!important;min-width:0;width:auto!important}

/* Inner pages */
.elementor .vm-link a{color:var(--vm-clay-600);text-decoration:none}
.elementor .vm-link a:hover{text-decoration:underline}
.elementor .vm-ph--dark{background-color:rgba(255,255,255,.08)!important}
.elementor .vm-ph--dark .elementor-heading-title{color:var(--e-global-color-vmcamel200,#EBD2AB)!important}
.elementor .vm-map iframe{display:block;border:0}
.elementor .vm-office-links .elementor-icon-list-item a{text-decoration:none}
.elementor .vm-office-links .elementor-icon-list-item:first-child .elementor-icon-list-text{font-family:'JetBrains Mono',monospace}

.elementor .e-con.vm-tag{width:auto!important;flex:0 0 auto!important;--width:auto}

/* Multi-step enquiry forms: step labels, conditional fields, choice chips */
.vm-form-card .wpforms-form .vm-step,.vm-form-card .wpforms-form .vm-step-pair{position:relative;margin-top:14px;padding-top:58px!important}
.vm-form-card .wpforms-form .vm-step:before{position:absolute;left:0;top:10px;white-space:nowrap;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--vm-clay-600)}
.vm-form-card .wpforms-form .vm-step:after{content:"";position:absolute;left:0;right:-2000px;top:0;border-top:1px solid var(--vm-border)}
.vm-form-card .wpforms-form .wpforms-field-container{overflow:hidden}
.vm-form-card .wpforms-form .wpforms-field:first-child.vm-step,.vm-form-card .wpforms-form .wpforms-field:nth-child(2).vm-step-pair{margin-top:0}
.vm-form-card .wpforms-form .wpforms-field:first-child.vm-step:after{display:none}
.vm-step-1:before{content:"Step 1 · Your details"}.vm-step-2:before{content:"Step 2 · Travellers"}.vm-step-3:before{content:"Step 3 · Your trip"}.vm-step-4:before{content:"Step 4 · Your dream trip"}
.vm-step-t1:before{content:"Step 1"}.vm-step-t2:before{content:"Step 2"}.vm-step-t3:before{content:"Step 3"}.vm-step-t4:before{content:"Step 4"}
html[lang^=fr] .vm-step-1:before{content:"Étape 1 · Vos coordonnées"}html[lang^=fr] .vm-step-2:before{content:"Étape 2 · Voyageurs"}html[lang^=fr] .vm-step-3:before{content:"Étape 3 · Votre voyage"}html[lang^=fr] .vm-step-4:before{content:"Étape 4 · Votre voyage idéal"}
html[lang^=fr] .vm-step-t1:before{content:"Étape 1"}html[lang^=fr] .vm-step-t2:before{content:"Étape 2"}html[lang^=fr] .vm-step-t3:before{content:"Étape 3"}html[lang^=fr] .vm-step-t4:before{content:"Étape 4"}
.vm-form-card .wpforms-form .vm-if{display:none!important}
.vm-form-card .wpforms-form .vm-if.is-on{display:block!important}
.vm-form-card .wpforms-form .vm-chips ul{display:flex!important;flex-wrap:wrap;gap:10px}
.vm-form-card .wpforms-form .vm-chips li{margin:0!important;padding:0!important}
.vm-form-card .wpforms-form .vm-chips input{position:absolute;opacity:0;pointer-events:none}
.vm-form-card .wpforms-form .vm-chips label{display:inline-flex!important;align-items:center;height:40px;padding:0 16px!important;border:1px solid var(--vm-border-d);border-radius:999px;background:var(--vm-card);font-size:14px!important;font-weight:600;color:var(--vm-ink-700)!important;cursor:pointer}
.vm-form-card .wpforms-form .vm-chips input:checked+label{background:var(--vm-ink-900);border-color:var(--vm-ink-900);color:#fff!important}
.vm-form-card .wpforms-form .vm-chips input:focus-visible+label{box-shadow:var(--vm-focus)}
.vm-form-card .wpforms-field-description{font-size:12px!important;color:var(--vm-muted)!important}
.elementor .vm-bc a{color:var(--vm-muted);text-decoration:none}.elementor .vm-bc a:hover{color:var(--vm-ink-900)}.elementor .vm-bc span{margin:0 4px}.elementor .vm-bc .vm-bc-cur{color:var(--vm-ink-900);margin:0}
.elementor .vm-flags--dark .vm-tag{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.14)!important}.elementor .vm-flags--dark .vm-tag .elementor-heading-title{color:#EDE6DD!important}
.elementor .vm-flags .vm-tag{padding:2px 9px!important}.elementor .vm-flags .vm-tag .elementor-heading-title{font-size:12px!important}

/* FAQ ([vm_faq]) */
.vm-faq--page{display:flex;flex-wrap:wrap;gap:40px;align-items:flex-start}
.vm-faq__toc{flex:1 1 240px;max-width:300px;position:sticky;top:120px;display:flex;flex-direction:column;gap:2px;padding:16px;background:var(--vm-camel-50);border-radius:16px}
.vm-faq__toc p{margin:0 0 8px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--vm-clay-600)}
.vm-faq__toc a{display:flex;justify-content:space-between;gap:10px;padding:7px 10px;border-radius:6px;font-size:14px;line-height:1.35;color:var(--vm-ink-900);text-decoration:none}
.vm-faq__toc a:hover{background:var(--vm-camel-100)}
.vm-faq__n{font-family:var(--vm-mono);font-size:11px;color:var(--vm-muted)}
.vm-faq--page .vm-faq__list{flex:999 1 480px;min-width:0;max-width:820px}
.vm-faq__list{display:flex;flex-direction:column;gap:44px}
.vm-faq__group{scroll-margin-top:120px}
.vm-faq__h{margin:0 0 16px!important;font-size:18px!important;line-height:1.25;font-weight:700;letter-spacing:-.01em;color:var(--vm-ink-900)}
.vm-faq__items{display:grid;gap:10px}
.vm-faq__item{background:var(--vm-card);border:1px solid var(--vm-border);border-radius:12px;scroll-margin-top:120px}
.vm-faq__item summary{cursor:pointer;list-style:none;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 18px;font-size:15px;line-height:1.45;font-weight:600;color:var(--vm-ink-900);border-radius:12px}
.vm-faq__item summary::-webkit-details-marker{display:none}
.vm-faq__item summary:focus-visible{outline:none;box-shadow:var(--vm-focus)}
.vm-faq__item summary i{flex:0 0 auto;position:relative;width:24px;height:24px;margin-top:-1px;border-radius:999px;background:var(--vm-camel-50);color:var(--vm-clay-600)}
.vm-faq__item summary i:before,.vm-faq__item summary i:after{content:"";position:absolute;left:7px;top:11px;width:10px;height:2px;border-radius:2px;background:currentColor;transition:transform 140ms var(--vm-ease)}
.vm-faq__item summary i:after{transform:rotate(90deg)}
.vm-faq__item[open] summary i:after{transform:rotate(0)}
.vm-faq__a{padding:0 18px 18px;display:grid;gap:10px;max-width:78ch;font-size:14px;line-height:1.65;color:var(--vm-ink-700)}
.vm-faq__a p,.vm-faq__a ul{margin:0}
.vm-faq__a ul{padding-left:20px;display:grid;gap:6px}
.vm-faq__a strong{color:var(--vm-ink-900)}
.elementor .vm-faq-after{max-width:820px;margin-left:auto!important}
@media (max-width:900px){.vm-faq__toc{position:static;max-width:none}.elementor .vm-faq-after{margin-left:0!important}}
.elementor .vm-bc--bottom{padding-top:20px;border-top:1px solid var(--vm-border)}
/* Legal pages */
.elementor .vm-legal-toc{position:sticky;top:120px}
.elementor .vm-legal-toc-list .elementor-icon-list-item a{padding:4px 6px;border-radius:6px}
.elementor .vm-legal-toc-list .elementor-icon-list-item a:hover{background:var(--vm-camel-100)}
.elementor .vm-legal-sec{scroll-margin-top:120px}
.elementor .vm-legal-body p{margin:0 0 12px}.elementor .vm-legal-body ul{margin:0 0 12px;padding-left:20px;display:grid;gap:7px}
.elementor .vm-todo{display:none;margin-top:8px;padding:12px 14px;border:1px dashed #D08A12;border-radius:12px;background:#FDF1D8}
body.logged-in .elementor .vm-todo{display:block}
.elementor .vm-todo p{margin:0 0 6px}.elementor .vm-todo ul{margin:0;padding-left:18px;display:grid;gap:4px}
@media (max-width:767px){.elementor .vm-legal-toc{position:static}}
.vm-faq__toc a{color:var(--vm-ink-900)!important}

.vm-step-p1:before{content:"Step 1 \00b7 Dates"}.vm-step-p2:before{content:"Step 2 \00b7 Interests"}.vm-step-p3:before{content:"Step 3 \00b7 Destinations"}.vm-step-p4:before{content:"Step 4 \00b7 Travel style"}.vm-step-p5:before{content:"Step 5 \00b7 Travellers"}.vm-step-p6:before{content:"Your details"}

html{scroll-behavior:smooth}#vm-planner{scroll-margin-top:120px}

.elementor-widget-icon.elementor-view-default .elementor-icon-wrapper{text-align:start}
.elementor .vm-avatar .elementor-heading-title{font-size:13px!important}

/* ---- Category listing pages ---- */
.vm-catform{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;margin:0 0 36px}
.vm-catform label{display:block;margin:0 0 6px;font-size:14px;font-weight:600;color:var(--vm-ink-900)}
.vm-catform__q{flex:2 1 340px;min-width:0}
.vm-catform__f{flex:1 1 200px;min-width:0}
.vm-catform__in{position:relative;display:block}
.vm-catform__in svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--vm-muted);pointer-events:none}
.vm-catform input[type=search]{width:100%;height:52px;padding:0 18px 0 46px;border-radius:999px;border:1px solid var(--vm-border-d);background:var(--vm-card);font:inherit;font-size:16px;color:var(--vm-ink-900);box-shadow:0 1px 2px rgba(26,23,20,.05)}
.vm-catform select{width:100%;height:52px;padding:0 40px 0 16px;border-radius:12px;border:1px solid var(--vm-border-d);background:var(--vm-card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b635a' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center;-webkit-appearance:none;appearance:none;font:inherit;font-size:15px;color:var(--vm-ink-900)}
.vm-catform input:focus,.vm-catform select:focus{outline:none;border-color:var(--vm-clay);box-shadow:var(--vm-focus)}
.vm-catres{margin-top:8px;scroll-margin-top:120px}
.vm-catres__h{margin:0 0 20px!important;font-size:26px!important;font-weight:700!important;letter-spacing:-.012em;color:var(--vm-ink-900)}
.vm-catres__h span{font-family:var(--vm-mono);font-size:13px;font-weight:600;color:var(--vm-muted);letter-spacing:0}
.vm-note-box{display:flex;flex-wrap:wrap;align-items:center;gap:14px;background:var(--vm-camel-50);border-radius:16px;padding:20px 24px}
.vm-note-box p{margin:0;flex:1 1 280px;font-size:15px;color:var(--vm-ink-700)}
.vm-note-box--dashed{display:block;border:1px dashed var(--vm-border-d);padding:28px 24px;max-width:64ch}
.vm-note-box--dashed p{margin:0 0 20px;font-size:14px;line-height:1.55}
.vm-note-box--dashed .vm-note-box__t{margin:0 0 8px;font-size:17px;font-weight:600;color:var(--vm-ink-900)}
.vm-btn--dark{background:var(--vm-ink-900);border-color:var(--vm-ink-900);color:#fff}
.vm-btn--dark:hover{background:#000;color:#fff}
.vm-topics{flex-wrap:wrap!important}
.vm-topic .elementor-button{min-height:40px}
.vm-btn-clay-outline .elementor-button{white-space:normal;text-align:left}
.vm-bc--bottom{padding-top:20px;border-top:1px solid var(--vm-border)}
@media (max-width:767px){.vm-catform{gap:12px}.vm-catform__q,.vm-catform__f{flex-basis:100%}}
.vm-btn-clay-outline .elementor-button{background:var(--vm-card)!important;border-color:var(--vm-clay)!important;color:var(--vm-clay)!important}
.vm-btn-clay-outline .elementor-button:hover{background:var(--vm-camel-50)!important;color:var(--vm-clay-700)!important}

/* ---- Single tour page ---- */
.vm-tour-page .site-content>.ast-container{max-width:100%;padding:0;display:block}
.vm-tour-page .entry-content{margin:0}
.vm-pd{max-width:1200px;margin:0 auto;padding:32px 20px 96px;color:var(--vm-ink-700)}
.vm-pd h2{margin:0 0 14px;font-size:24px;line-height:1.25;font-weight:700;letter-spacing:-.012em;color:var(--vm-ink-900)}
.vm-pd p{margin:0}
.vm-pd__back{margin:0 0 14px!important;font-size:14px}
.vm-pd__back a{display:inline-flex;align-items:center;gap:4px;font-weight:600;color:var(--vm-ink-700);text-decoration:none}
.vm-pd__back a:hover{color:var(--vm-clay)}
.vm-pd__title{margin:0 0 14px;max-width:28ch;font-size:clamp(1.9rem,3.6vw,2.6rem);line-height:1.1;letter-spacing:-.02em;font-weight:800;color:var(--vm-ink-900);text-wrap:pretty}
.vm-pd__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:0 0 24px;font-size:14px;color:var(--vm-ink-700)}
.vm-pd__meta>span{display:inline-flex;align-items:center;gap:6px}
.vm-pd__meta .vm-ic{color:var(--vm-muted)}
.vm-mono{font-family:var(--vm-mono);font-variant-numeric:tabular-nums}
.vm-pd__kind{padding:3px 10px;border-radius:999px;background:var(--vm-camel-50);color:var(--vm-clay-700);font-size:12px;font-weight:700;letter-spacing:.02em}
.vm-pd__promo{padding:3px 10px;border-radius:999px;background:var(--vm-clay);color:#fff;font-size:12px;font-weight:700}
.vm-pd__gallery{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:12px;height:420px;margin:0 0 36px}
.vm-pd__g{position:relative;border-radius:16px;overflow:hidden;background:#F5E8D3;display:flex;align-items:center;justify-content:center}
.vm-pd__g--lead{grid-row:span 2}
.vm-pd__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vm-pd__ph{padding:12px;text-align:center;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#B27A45}
.vm-pd__grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:40px;align-items:start}
.vm-pd__nav{position:sticky;top:0;z-index:5;display:flex;gap:6px;overflow-x:auto;padding:10px 0 14px;margin-bottom:4px;border-bottom:1px solid var(--vm-border);background:var(--vm-page,#fff)}
.vm-pd__nav a{flex:0 0 auto;padding:7px 14px;border-radius:999px;font-size:14px;font-weight:600;color:var(--vm-ink-700)!important;text-decoration:none;white-space:nowrap}
.vm-pd__nav a:hover{background:var(--vm-camel-50)}
.vm-pd__sec{padding:28px 0;border-bottom:1px solid var(--vm-border);scroll-margin-top:90px}
.vm-pd__lead{font-size:17px;line-height:1.65;color:var(--vm-ink-700)}
.vm-pd__key{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px 32px;padding:24px 0;border-bottom:1px solid var(--vm-border)}.vm-pd__keycol{display:grid;gap:20px;align-content:start}.vm-pd__keyi>div{min-width:0;padding-top:1px}.vm-pd__keyt,.vm-pd__keys{margin:0}
.vm-pd__keyi{display:flex;gap:14px;align-items:flex-start}
.vm-pd__keyic{flex:0 0 40px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:var(--vm-camel-50);color:var(--vm-clay-700)}
.vm-pd__keyt{font-size:16px;font-weight:700;color:var(--vm-ink-900)}
.vm-pd__keys{margin-top:2px!important;font-size:14px;line-height:1.5;color:var(--vm-muted)}
.vm-pd__list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.vm-pd__list li{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.55}
.vm-pd__li-ic{flex:0 0 22px;display:inline-flex;justify-content:center;padding-top:2px}
.vm-pd__list.is-check .vm-pd__li-ic{color:#2F7D4F}
.vm-pd__list.is-cross .vm-pd__li-ic{color:#B3261E}
.vm-pd__list.is-slash .vm-pd__li-ic{color:var(--vm-muted)}
.vm-pd__sechead{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.vm-pd__sechead h2{margin:0}
.vm-pd__expand{border:none;background:none;padding:0;cursor:pointer;font:inherit;font-size:14px;font-weight:600;color:var(--vm-clay);text-decoration:underline;text-underline-offset:3px}
.vm-pd__days{display:grid;gap:10px}
.vm-pd__day{border:1px solid var(--vm-border);border-radius:14px;background:var(--vm-card);overflow:hidden}
.vm-pd__day summary{display:flex;align-items:center;gap:14px;padding:16px 18px;cursor:pointer;list-style:none}
.vm-pd__day summary::-webkit-details-marker{display:none}
.vm-pd__day summary .vm-ic{margin-left:auto;flex:0 0 auto;color:var(--vm-muted);transition:transform .15s}
.vm-pd__day[open] summary .vm-ic{transform:rotate(180deg)}
.vm-pd__dayn{flex:0 0 auto;font-family:var(--vm-mono);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--vm-clay-700)}
.vm-pd__dayt{font-size:16px;font-weight:700;color:var(--vm-ink-900)}
.vm-pd__dayb{padding:0 18px 18px;font-size:15px;line-height:1.65}
.vm-pd__daym{margin-top:8px!important;font-size:13px;color:var(--vm-muted)}
.vm-pd__steps{list-style:none;margin:0;padding:0;display:grid;gap:0}
.vm-pd__steps li{display:flex;gap:14px;padding:0 0 20px;position:relative}
.vm-pd__steps li:not(:last-child)::before{content:"";position:absolute;left:15px;top:34px;bottom:4px;width:1px;background:var(--vm-border-d)}
.vm-pd__stepn{flex:0 0 32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--vm-ink-900);color:#fff;font-size:13px;font-weight:700}
.vm-pd__stepr{font-family:var(--vm-mono);font-size:12px;color:var(--vm-clay-700);font-weight:700}
.vm-pd__stept{font-size:16px;font-weight:700;color:var(--vm-ink-900);margin:2px 0 4px!important}
.vm-pd__steps p{font-size:15px;line-height:1.6}
.vm-pd__inc{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.vm-pd__inc h2{font-size:20px}
.vm-pd__ta{padding:22px 24px;border-radius:16px;background:var(--vm-camel-50)}
.vm-pd__ta p{font-size:15px;line-height:1.55;margin-bottom:14px!important}
.vm-pd__ta-links{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px}
.vm-pd__talink{font-weight:600;color:var(--vm-clay)!important}
.vm-btn--outline{background:transparent;border-color:var(--vm-border-d);color:var(--vm-ink-900)!important}
.vm-btn--outline:hover{background:#fff}
.vm-btn--full{display:flex;width:100%}
.vm-pd__aside{position:sticky;top:24px;scroll-margin-top:90px}
.vm-pd__box{padding:24px;border:1px solid var(--vm-border);border-radius:20px;background:var(--vm-card);box-shadow:var(--vm-shadow-lg)}
.vm-pd__from{font-size:13px;color:var(--vm-muted)}
.vm-pd__price{margin:2px 0 6px!important;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}
.vm-pd__price span{font-size:30px;font-weight:800;letter-spacing:-.02em;color:var(--vm-ink-900);font-variant-numeric:tabular-nums}
.vm-pd__price small{font-size:13px;color:var(--vm-muted)}
.vm-pd__note{margin:4px 0 16px!important;font-size:13px;line-height:1.45;color:var(--vm-muted)}
.vm-pd__note--sm{margin:12px 0 0!important}
.vm-pd__ask{display:inline-block;margin-top:14px;font-size:14px;font-weight:600;color:var(--vm-clay)!important}
.vm-pd__rel{margin-top:64px}
.vm-pd__arrows{display:flex;gap:10px}
.vm-pd__arrows button{width:44px;height:44px;border-radius:999px;border:1px solid var(--vm-border-d);background:var(--vm-card);color:var(--vm-ink-900);font-size:22px;line-height:1;cursor:pointer;padding:0}
.vm-pd__arrows button:hover{background:var(--vm-camel-50)}
.vm-pd__track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 72px)/4);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;scrollbar-width:none}
.vm-pd__track::-webkit-scrollbar{display:none}
.vm-pd__slide{scroll-snap-align:start;display:flex}
.vm-pd__slide .vm-card{width:100%}
.vm-pd__mbar{display:none}
@media (max-width:1024px){.vm-pd__grid{grid-template-columns:minmax(0,1fr) 300px;gap:28px}.vm-pd__track{grid-auto-columns:calc((100% - 24px)/2)}}
@media (max-width:767px){
.vm-pd{padding:20px 16px 110px}
.vm-pd__gallery{grid-template-columns:1fr;grid-template-rows:auto;height:auto}
.vm-pd__g{min-height:120px}.vm-pd__g--lead{grid-row:auto;min-height:240px}
.vm-pd__gallery .vm-pd__g:not(.vm-pd__g--lead){display:none}
.vm-pd__grid{grid-template-columns:1fr}
.vm-pd__aside{position:static}
.vm-pd__inc{grid-template-columns:1fr;gap:20px}
.vm-pd__track{grid-auto-columns:85%}
.vm-pd__mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--vm-card);border-top:1px solid var(--vm-border);box-shadow:0 -6px 18px rgba(26,23,20,.08)}
.vm-pd__mprice{font-size:18px;font-weight:800;color:var(--vm-ink-900)}
.vm-pd__munit{font-size:12px;color:var(--vm-muted)}
}

.vm-tour-page .entry-header,.vm-tour-page .ast-single-related-posts-container,.vm-tour-page #comments{display:none!important}
.vm-tour-page .ast-article-single,.vm-tour-page .site-main>article{padding:0!important;margin:0!important;background:none!important;border:0!important}
.vm-tour-page #primary{margin:0!important;padding:0!important}
.vm-pd a{text-decoration:none!important}
.vm-pd a.vm-btn--primary,.vm-pd a.vm-btn--primary:hover{color:#fff!important}
.vm-pd .vm-card__link{text-decoration:none!important}
.vm-pd button.vm-pd__expand{background:none!important;border:0!important;padding:0!important;color:var(--vm-clay)!important;text-decoration:underline;box-shadow:none!important;border-radius:0!important;font-size:14px!important}
.vm-pd .vm-pd__arrows button{padding:0!important;color:var(--vm-ink-900)!important;background:var(--vm-card)!important;border:1px solid var(--vm-border-d)!important}
.vm-pd .vm-pd__arrows button:hover{background:var(--vm-camel-50)!important}
@media (max-width:767px){.vm-pd__grid{grid-template-columns:minmax(0,1fr)}}

/* ---- Tours catalogue / search results ---- */
.vm-tours-page .site-content>.ast-container{max-width:100%;padding:0;display:block}
.vm-tours{max-width:1200px;margin:0 auto;padding:32px 20px 96px;width:100%}
.vm-eyebrow{margin:0 0 8px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--vm-clay-600)}
.vm-tours__h{margin:0 0 6px;font-size:clamp(1.9rem,3.4vw,2.5rem);line-height:1.1;letter-spacing:-.012em;font-weight:700;color:var(--vm-ink-900)}
.vm-tours__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 20px;font-size:13px;color:var(--vm-muted)}
.vm-tours__ctx{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px}
.vm-tours__ctx a:first-of-type{display:inline-flex;padding:3px 11px;border-radius:999px;background:var(--vm-camel-50);border:1px solid var(--vm-camel-100);font-weight:600;color:var(--vm-ink-900)!important;text-decoration:none!important}
.vm-tours__clear{font-weight:600;color:var(--vm-clay)!important}
.vm-tours__search{margin:0 0 32px}
.vm-tours__search .vm-search{box-shadow:var(--vm-shadow-sm);border:1px solid var(--vm-border)}
.vm-list{display:grid;gap:20px}
.vm-list .vm-card{flex-direction:row}
.vm-list .vm-card__media{flex:0 0 320px;aspect-ratio:auto;min-height:220px}
.vm-list .vm-card__body{padding:22px 24px}
.vm-list .vm-card__title{font-size:20px}
.vm-tours__empty{background:var(--vm-camel-50);border:1px solid var(--vm-border);border-radius:24px;padding:clamp(24px,4vw,40px)}
.vm-tours__empty h2{margin:0 0 10px;max-width:30ch;font-size:26px;font-weight:700;color:var(--vm-ink-900)}
.vm-tours__empty>p:not(.vm-eyebrow){margin:0 0 24px;max-width:62ch;font-size:16px;line-height:1.6;color:var(--vm-ink-700)}
.vm-tours__sugg{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}
.vm-tours__sugg a{padding:9px 16px;border:1px solid var(--vm-border-d);border-radius:999px;background:var(--vm-card);font-size:14px;font-weight:600;color:var(--vm-ink-700)!important;text-decoration:none!important}
.vm-tours__cta{display:flex;flex-wrap:wrap;gap:12px}
.vm-tours a.vm-btn--primary{color:#fff!important;text-decoration:none!important}
.vm-tours a.vm-btn--outline{text-decoration:none!important}
@media (max-width:767px){.vm-tours{padding:24px 16px 72px}.vm-list .vm-card{flex-direction:column}.vm-list .vm-card__media{flex:none;aspect-ratio:4/3;min-height:0}}

/* ---- Destination guides, topic, discover, Marrakech hub ---- */
.vm-guide-page .site-content>.ast-container{max-width:100%;padding:0;display:block}
.vm-g{max-width:1200px;margin:0 auto;padding:32px 20px 80px;width:100%;color:var(--vm-ink-700)}
.vm-g a{text-decoration:none!important}
.vm-g h2,.vm-cintro h2{margin:0 0 18px;font-size:clamp(1.4rem,2.4vw,1.75rem);line-height:1.2;font-weight:700;letter-spacing:-.012em;color:var(--vm-ink-900)}
.vm-g__h1{margin:0 0 10px;max-width:24ch;font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.08;letter-spacing:-.02em;font-weight:800;color:var(--vm-ink-900);text-wrap:pretty}
.vm-g__lead{margin:0 0 18px;max-width:64ch;font-size:17px;line-height:1.6;color:var(--vm-ink-700)}
.vm-g__h2{margin-top:36px!important}
.vm-g__count{margin:0 0 20px;font-size:13px;color:var(--vm-muted)}
.vm-gbc{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 20px;font-size:13px;color:var(--vm-muted)}
.vm-gbc a{color:var(--vm-ink-700)!important}.vm-gbc a:hover{color:var(--vm-clay)!important}
.vm-gbc__cur{color:var(--vm-ink-900)}
.vm-ttdm>.vm-gbc{margin-top:44px;padding-top:20px;border-top:1px solid var(--vm-border)}
.vm-gsec{margin-top:56px}
.vm-gph{position:relative;display:flex;align-items:center;justify-content:center;background:#F5E8D3;border-radius:20px;overflow:hidden;text-align:center}
.vm-gph span{padding:12px;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#B27A45}
.vm-dhero{position:relative;min-height:440px;border-radius:24px;overflow:hidden;display:flex;align-items:flex-end}
.vm-dhero__ph{position:absolute;inset:0;border-radius:0;align-items:flex-start;padding-top:24px}
.vm-dhero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,23,20,0) 30%,rgba(26,23,20,.72) 100%)}
.vm-dhero__body{position:relative;padding:clamp(24px,4vw,44px);color:#fff;max-width:760px}
.vm-dhero__eyebrow{margin:0 0 8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#F1D9B5}
.vm-dhero h1{margin:0 0 10px;font-size:clamp(2rem,4.6vw,3.2rem);line-height:1.05;letter-spacing:-.02em;font-weight:800;color:#fff}
.vm-dhero__tag{margin:0 0 22px;font-size:18px;line-height:1.5;color:rgba(255,255,255,.9)}
.vm-dhero__cta{display:flex;flex-wrap:wrap;gap:12px}
.vm-g a.vm-btn--primary,.vm-ke a.vm-btn--primary{color:#fff!important}
.vm-btn--ondark{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.55);color:#fff!important}
.vm-btn--ondark:hover{background:rgba(255,255,255,.22)}
.vm-g a.vm-btn--dark{color:#fff!important}
.vm-dintro{max-width:760px}
.vm-dintro p{margin:0 0 14px;font-size:17px;line-height:1.7}
.vm-dguide{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.vm-dguide__i{padding:22px;border:1px solid var(--vm-border);border-radius:16px;background:var(--vm-card)}
.vm-dguide__i h3{margin:0 0 8px;font-size:16px;font-weight:700;color:var(--vm-ink-900)}
.vm-dguide__i p{margin:0;font-size:15px;line-height:1.6}
.vm-datt,.vm-dindex{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}
.vm-datt__c{display:flex;flex-direction:column;border:1px solid var(--vm-border);border-radius:16px;overflow:hidden;background:var(--vm-card);box-shadow:var(--vm-shadow-sm);transition:box-shadow .2s,transform .2s;color:inherit!important}
.vm-datt__c:hover{box-shadow:var(--vm-shadow-lg);transform:translateY(-2px)}
.vm-datt__ph{border-radius:0;aspect-ratio:4/3}
.vm-datt__b{padding:18px 18px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.vm-datt__b h3{margin:0;font-size:17px;font-weight:700;color:var(--vm-ink-900)}
.vm-datt__b p{margin:0;font-size:14px;line-height:1.55}
.vm-datt__b .vm-eyebrow{margin:0}
.vm-datt__b span{margin-top:auto;font-size:13px;font-weight:600;color:var(--vm-clay-600)}
.vm-chips-row{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}
.vm-chip{display:inline-flex;align-items:center;min-height:40px;padding:8px 16px;border:1px solid var(--vm-border-d);border-radius:999px;background:var(--vm-card);font:inherit;font-size:14px;font-weight:600;color:var(--vm-ink-700)!important;cursor:pointer}
.vm-chip:hover{background:var(--vm-camel-50)}
button.vm-chip{padding:8px 16px!important;border:1px solid var(--vm-border-d)!important;background:var(--vm-card)!important;color:var(--vm-ink-700)!important;line-height:1.3!important;border-radius:999px!important}
button.vm-chip.is-on{background:var(--vm-ink-900)!important;color:#fff!important;border-color:var(--vm-ink-900)!important}
.vm-dfaq{display:grid;gap:10px;max-width:860px}
.vm-dfaq details{border:1px solid var(--vm-border);border-radius:14px;background:var(--vm-card)}
.vm-dfaq summary{padding:16px 18px;cursor:pointer;font-weight:700;color:var(--vm-ink-900)}
.vm-dfaq details p{margin:0;padding:0 18px 18px;font-size:15px;line-height:1.6}
.vm-gnone{background:var(--vm-camel-50);border:1px dashed var(--vm-border-d);border-radius:16px;padding:28px 24px;max-width:72ch}
.vm-gnone p{margin:0 0 16px;font-size:15px;line-height:1.55}
.vm-gnone__t{font-size:17px!important;font-weight:600;color:var(--vm-ink-900);margin-bottom:8px!important}
.vm-gnone .vm-chips-row{margin:0 0 22px}
.vm-topic__ph{min-height:320px;margin:8px 0 12px}
.vm-topic__more h2{margin-top:32px}
.vm-topic__more p{margin-top:28px}
.vm-cintro{background:var(--vm-camel-50);border-bottom:1px solid var(--vm-border)}
.vm-cintro--in{background:none;border:0;margin-top:56px}
.vm-cintro__in{max-width:1200px;margin:0 auto;padding:48px 20px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:center}
.vm-cintro--in .vm-cintro__in{padding:0}
.vm-cintro p:not(.vm-eyebrow){margin:0;font-size:16px;line-height:1.65}
.vm-cintro__ph{min-height:300px}
/* "Keep exploring" (vm_keep_exploring() in destinations.php) — ONE design for every page that shows it: tour pages of
   every type, destination and topic pages, Things to do and discovery pages. Source of truth: the corrected Multi-Day
   tour version (white band, underline tabs that scroll sideways, numbered pill tags). */
.vm-ke.vm-ke{background:var(--vm-card);border-top:1px solid var(--vm-border)}
.vm-ke .vm-ke__in{max-width:1200px;margin:0 auto;padding:48px 20px 56px}
.vm-ke.vm-ke h2{margin:0 0 20px;font-size:clamp(1.15rem,1.8vw,1.35rem);line-height:1.2;font-weight:700;letter-spacing:-.012em;color:var(--vm-ink-900)}
.vm-ke .vm-ke__tabs{display:flex;flex-wrap:nowrap;gap:28px;overflow-x:auto;overflow-y:hidden;border-bottom:1px solid var(--vm-border);margin-bottom:24px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.vm-ke .vm-ke__tabs button{flex:0 0 auto;background:none!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;padding:0 2px 12px!important;margin:0!important;font:inherit;font-size:14px!important;font-weight:600;line-height:1.2;white-space:nowrap;color:var(--vm-muted)!important;cursor:pointer;box-shadow:none!important}
.vm-ke .vm-ke__tabs button[aria-selected=true]{color:var(--vm-ink-900)!important;font-weight:700;border-bottom-color:var(--vm-clay)!important}
.vm-ke .vm-ke__panel{display:flex;flex-wrap:wrap;gap:10px;animation:vmFade .25s ease}
.vm-ke .vm-ke__panel[hidden]{display:none}
.vm-ke .vm-ke__panel a{display:inline-flex;align-items:center;gap:9px;padding:8px 14px 8px 10px;border-radius:999px;border:1px solid var(--vm-border);background:var(--vm-page);font-size:14px;font-weight:400;color:var(--vm-ink-900)!important;text-decoration:none!important;transition:background .14s var(--vm-ease),border-color .14s var(--vm-ease)}
.vm-ke .vm-ke__panel a:hover{background:#F3EDE6;border-color:var(--vm-border-d);color:var(--vm-ink-900)!important}
.vm-ke .vm-ke__panel a span{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:16px;font-family:var(--vm-mono);font-size:11px;font-weight:400;color:var(--vm-muted)}
@media (max-width:767px){.vm-ke .vm-ke__in{padding:36px 16px 44px}}
@keyframes vmFade{from{opacity:0}to{opacity:1}}
.vm-ttdm__hero{text-align:center;padding:24px 0 8px}
.vm-ttdm__hero h1{margin:0 0 8px;font-size:clamp(2rem,4.4vw,3rem);font-weight:800;letter-spacing:-.02em;color:var(--vm-ink-900)}
.vm-ttdm__hero>h2{font-size:20px!important;font-weight:600!important;color:var(--vm-clay-600)!important;margin:0 0 36px!important}
.vm-ttdm__feat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;text-align:left}
.vm-ttdm__feat h3{margin:12px 0 8px;font-size:18px;font-weight:700;color:var(--vm-ink-900)}
.vm-ttdm__feat p{margin:0;font-size:15px;line-height:1.6}
.vm-ttdm__ic{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:var(--vm-camel-50);color:var(--vm-clay-700)}
.vm-top10__track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 72px)/4);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:8px}
.vm-top10__track::-webkit-scrollbar{display:none}
.vm-top10__track>*{scroll-snap-align:start}
.vm-xgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px;margin-top:24px}
.vm-xcard{display:flex;flex-direction:column;border:1px solid var(--vm-border);border-radius:16px;overflow:hidden;background:var(--vm-card);box-shadow:var(--vm-shadow-sm);color:inherit!important;transition:box-shadow .2s}
.vm-xcard:hover{box-shadow:var(--vm-shadow-lg)}
.vm-xcard[hidden]{display:none}
.vm-xcard__m{position:relative;aspect-ratio:4/3;background:var(--vm-camel-100)}
.vm-xcard__m img{width:100%;height:100%;object-fit:cover}
.vm-xcard__m .vm-badge{position:absolute;left:12px;top:12px}
.vm-xcard__b{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.vm-xcard__r{margin:0;font-size:13px;color:var(--vm-muted);display:flex;align-items:center;gap:6px}
.vm-xcard__r .vm-rating__stars{color:#D98B2B;display:inline-flex}
.vm-xcard h3{margin:0;font-size:17px;line-height:1.3;font-weight:700;color:var(--vm-ink-900)}
.vm-xcard__meta{margin:0;display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12px;color:var(--vm-muted)}
.vm-xcard__meta span{display:inline-flex;align-items:center;gap:4px}
.vm-xcard__ov{margin:0;font-size:14px;line-height:1.5}
.vm-xcard__f{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding-top:6px}
.vm-xcard__f p{margin:0}
.vm-xcard__from,.vm-xcard__unit{font-size:12px;color:var(--vm-muted)}
.vm-xcard__price{font-size:20px;font-weight:800;color:var(--vm-ink-900)}
.vm-xcard__cta{font-size:13px;font-weight:600;color:var(--vm-clay-600)}
.vm-ttdm__conf{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:32px;padding:36px;border-radius:24px;background:var(--vm-camel-50)}
.vm-ttdm__confg{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}
.vm-ttdm__confg h3{margin:0 0 6px;font-size:16px;font-weight:700;color:var(--vm-ink-900)}
.vm-ttdm__confg p{margin:0;font-size:14px;line-height:1.55}
.vm-revs{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.vm-rev{margin:0;padding:24px;border:1px solid var(--vm-border);border-radius:16px;background:var(--vm-card)}
.vm-rev__stars{margin:0 0 10px;color:#D98B2B;display:flex;gap:2px}
.vm-rev blockquote{margin:0 0 14px;padding:0;border:0;font-size:15px;line-height:1.6;font-style:normal;color:var(--vm-ink-700)}
.vm-rev figcaption{font-size:13px;color:var(--vm-muted)}
.vm-rev figcaption strong{color:var(--vm-ink-900)}
@media (max-width:1024px){.vm-top10__track{grid-auto-columns:calc((100% - 24px)/2)}.vm-ttdm__feat{grid-template-columns:1fr}}
@media (max-width:767px){.vm-g{padding:20px 16px 64px}.vm-dhero{min-height:380px}.vm-cintro__in{grid-template-columns:1fr;gap:24px;padding:36px 16px}.vm-cintro__ph{min-height:220px}.vm-top10__track{grid-auto-columns:85%}.vm-ttdm__conf{grid-template-columns:1fr;padding:24px}.vm-topic__ph{min-height:220px}}
.vm-g .vm-pd__arrows button{width:44px;height:44px;padding:0!important;border-radius:999px!important;color:var(--vm-ink-900)!important;background:var(--vm-card)!important;border:1px solid var(--vm-border-d)!important;font-size:22px!important;line-height:1!important}
.vm-g .vm-pd__arrows button:hover{background:var(--vm-camel-50)!important}
@media (max-width:767px){.vm-dhero__ph span{display:none}.vm-dhero{min-height:420px}}

/* ---- Cookie consent ---- */
.vm-cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:9990;max-width:560px;margin-left:auto;padding:20px;border-radius:16px;background:var(--vm-card);border:1px solid var(--vm-border);box-shadow:var(--vm-shadow-xl);display:grid;gap:12px;font-family:inherit}
.vm-cookie[hidden]{display:none}
.vm-cookie p{margin:0}
.vm-cookie__t{font-size:16px;font-weight:700;color:var(--vm-ink-900)}
.vm-cookie__x{font-size:14px;line-height:1.55;color:var(--vm-ink-700)}
.vm-cookie__x a{color:var(--vm-clay)!important}
.vm-cookie__opts{display:grid;gap:8px;padding:12px;border-radius:12px;background:var(--vm-page,#FAF7F2)}
.vm-cookie__opts[hidden]{display:none}
.vm-cookie__opts label{display:flex;gap:8px;align-items:flex-start;font-size:14px;line-height:1.45;color:var(--vm-ink-700);margin:0}
.vm-cookie__opts input{margin-top:3px;accent-color:var(--vm-clay)}
.vm-cookie__btns{display:flex;flex-wrap:wrap;gap:8px}
.vm-cookie .vm-cookie__b{display:inline-flex;align-items:center;min-height:38px;padding:0 16px!important;border-radius:999px!important;font:inherit;font-size:14px!important;font-weight:600;line-height:1!important;cursor:pointer;box-shadow:none!important}
.vm-cookie__b[hidden]{display:none!important}
.vm-cookie .vm-cookie__b--primary{background:var(--vm-clay)!important;border:1px solid var(--vm-clay)!important;color:#fff!important}
.vm-cookie .vm-cookie__b--outline{background:transparent!important;border:1px solid var(--vm-border-d)!important;color:var(--vm-ink-900)!important}
.vm-cookie .vm-cookie__b--ghost{background:transparent!important;border:1px solid transparent!important;color:var(--vm-clay-600)!important}
.vm-consent-embed{position:relative}
.vm-consent-embed__ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;text-align:center;background:var(--vm-camel-50);border-radius:inherit}
.vm-consent-embed__ph p{margin:0;font-size:13px;color:var(--vm-muted)}
.vm-consent-embed.is-on .vm-consent-embed__ph{display:none}
.vm-consent-embed .vm-consent-embed__btn{padding:10px 18px!important;border-radius:999px!important;background:var(--vm-ink-900)!important;color:#fff!important;border:0!important;font-size:14px!important;font-weight:600;cursor:pointer}

/* ---- Tour page: description, itinerary stops + map, meeting point, important information ---- */
.vm-pd__desc p{max-width:66ch;margin:0 0 14px!important;font-size:16px;line-height:1.65;color:var(--vm-ink-700);text-wrap:pretty}
.vm-pd__desc p:last-child{margin-bottom:0!important}
.vm-pd__itin{max-width:720px}
.vm-pd__itin.is-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:28px;align-items:start;max-width:none}
.vm-pd__stops{list-style:none;margin:0;padding:0}
.vm-pd__stop{display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;margin:0 -8px!important;padding:6px 8px 0;border-radius:10px;transition:background 140ms var(--vm-ease)}
.vm-pd__stop.is-map{cursor:pointer}
.vm-pd__stop.is-map:hover{background:var(--vm-page)}
.vm-pd__stop.is-on{background:var(--vm-camel-50);box-shadow:inset 3px 0 0 var(--vm-clay)}
.vm-pd__stop:focus-visible{outline:none;box-shadow:var(--vm-focus)}
.vm-pd__stopcol{display:flex;flex-direction:column;align-items:center}
.vm-pd__stopdot{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--vm-ink-900);color:#fff;font-family:var(--vm-mono);font-size:12px;font-weight:700;flex:0 0 auto}
.vm-pd__stopdot.is-start{background:#fff;border:2px solid var(--vm-clay);color:var(--vm-clay)}
.vm-pd__stopdot.is-main{background:var(--vm-clay)}
.vm-pd__stopline{flex:1;width:2px;margin:4px 0;background:var(--vm-border-d)}
.vm-pd__stop:last-child .vm-pd__stopline{background:transparent}
.vm-pd__stopb{padding:2px 0 18px;min-width:0}
.vm-pd__stoprole{margin:0 0 2px!important;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--vm-clay-600)}
.vm-pd__stopname{margin:0!important;font-size:16px;font-weight:700;color:var(--vm-ink-900)}
.vm-pd__stoptext{margin:3px 0 0!important;font-size:14px;line-height:1.55;color:var(--vm-ink-700)}
.vm-pd__stopmeta{margin:5px 0 0!important;font-family:var(--vm-mono);font-size:12px;color:var(--vm-muted)}
.vm-pd__itinmap{position:sticky;top:110px;min-width:0}
.vm-pd__mapbox{position:relative;border-radius:16px}
.vm-pd__mapbox--lg{height:460px}
.vm-pd__mapbox--md{height:260px}
.vm-pd__mapbox vm-route-map{display:block;height:100%}
.vm-pd__maphint{margin:8px 0 0!important;font-size:12px;line-height:1.45;color:var(--vm-muted)}
.vm-pd__places{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin:16px 0 4px;padding:12px 0;border-top:1px solid var(--vm-border);border-bottom:1px solid var(--vm-border)}
.vm-pd__chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}
.vm-pd__chipic{display:flex;color:var(--vm-muted)}
.vm-pd .vm-pd__chip{display:inline-flex;align-items:center;gap:6px;height:auto!important;min-height:0!important;padding:4px 10px 4px 4px!important;border-radius:999px!important;border:1px solid var(--vm-border-d)!important;background:var(--vm-card)!important;color:var(--vm-ink-700)!important;font:inherit;font-size:12px!important;font-weight:600;line-height:1.2!important;cursor:pointer;box-shadow:none!important}
.vm-pd__chip span{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--vm-clay);color:#fff;font-family:var(--vm-mono);font-size:10px}
.vm-pd .vm-pd__chip.is-on{background:var(--vm-ink-900)!important;border-color:var(--vm-ink-900)!important;color:#fff!important}
.vm-pd__chip.is-on span{background:#fff;color:var(--vm-ink-900)}
.vm-pd .vm-pd__onmap{display:inline-flex;align-items:center;gap:6px;padding:0!important;border:0!important;background:none!important;color:var(--vm-clay)!important;font:inherit;font-size:14px!important;font-weight:700;cursor:pointer;box-shadow:none!important}
.vm-pd .vm-pd__onmap:hover{text-decoration:underline;text-underline-offset:3px}
.vm-pd__meet{display:flex;gap:12px;align-items:flex-start}
.vm-pd__meetic{display:flex;padding-top:2px;color:var(--vm-clay-600)}
.vm-pd__meetname{margin:0 0 3px!important;font-size:16px;font-weight:700;color:var(--vm-ink-900)}
.vm-pd .vm-pd__meetname.is-link{display:inline-flex;align-items:center;gap:7px;padding:0!important;border:0!important;background:none!important;color:var(--vm-clay)!important;font:inherit;font-size:16px!important;font-weight:700;text-align:left;text-decoration:underline;text-underline-offset:3px;cursor:pointer;box-shadow:none!important;line-height:1.4!important}
.vm-pd .vm-pd__meetname.is-link:hover{color:var(--vm-clay-700)!important}
.vm-pd__meetaddr{margin:0 0 6px!important;font-size:14px;color:var(--vm-muted)}
.vm-pd__meettext{margin:0!important;max-width:60ch;font-size:14px;line-height:1.55;color:var(--vm-ink-700)}
.vm-pd__imp{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:20px}
.vm-pd__impcard{padding:20px;border:1px solid var(--vm-border);border-radius:16px;background:var(--vm-card)}
.vm-pd__impcard h3{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:18px;font-weight:700;color:var(--vm-ink-900)}
.vm-pd__impcard ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.vm-pd__impcard li{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.55;color:var(--vm-ink-700)}
.vm-pd__impic{display:inline-flex;flex:0 0 auto;padding-top:3px;color:var(--vm-clay-600)}
/* Meeting point map dialog */
.vm-pd__modal{width:min(640px,calc(100vw - 32px));padding:20px 20px 18px}
.vm-pd__modalh{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.vm-pd__modalt{margin:0!important;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--vm-clay-600)}
.vm-pd__modaln{margin:0 0 4px!important;font-size:18px;font-weight:700;color:var(--vm-ink-900)}
.vm-pd__modalx{margin:0 0 12px!important;font-size:14px;line-height:1.55;color:var(--vm-ink-700)}
.vm-pd__gmap{height:340px;border-radius:14px;overflow:hidden;background:var(--vm-camel-50)}
.vm-pd__gmap iframe{display:block;width:100%;height:100%;border:0}
.vm-pd__dir{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:14px;font-weight:600;color:var(--vm-clay)!important}

/* ---- Booking box ---- */
.vm-pd__cutoff{display:flex;gap:6px;align-items:flex-start;margin:0 0 14px!important;font-size:12px;line-height:1.45;color:var(--vm-ink-700)}
.vm-pd__cutoff .vm-ic{margin-top:1px;flex:0 0 auto}
.vm-bx{display:grid;gap:8px}
.vm-bx__f{position:relative}
.vm-pd .vm-bx__btn,.vm-bx__sel select{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;height:44px!important;min-height:0!important;padding:0 12px!important;border:1px solid var(--vm-border-d)!important;border-radius:12px!important;background:var(--vm-card)!important;color:var(--vm-ink-700)!important;font:inherit;font-size:14px!important;line-height:1.2!important;text-align:left;cursor:pointer;box-shadow:none!important;letter-spacing:0}
.vm-pd .vm-bx__btn:hover,.vm-bx__sel select:hover{border-color:var(--vm-ink-700)!important}
.vm-pd .vm-bx__btn:focus-visible,.vm-bx__sel select:focus-visible{outline:none;box-shadow:var(--vm-focus)!important}
.vm-bx__v{display:flex;align-items:center;gap:8px;min-width:0}
.vm-bx__v .vm-ic{color:var(--vm-ink-700)}
.vm-bx__t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--vm-muted)}
.vm-bx__t.is-set{color:var(--vm-ink-900);font-weight:600}
.vm-bx__pop{position:absolute;z-index:40;top:calc(100% + 6px);left:0;right:0;min-width:260px;padding:14px;background:var(--vm-card);border:1px solid var(--vm-border);border-radius:16px;box-shadow:var(--vm-shadow-xl)}
.vm-bx__pop[hidden]{display:none}
.vm-bx__cal{left:auto;right:0;width:300px;max-width:calc(100vw - 40px);min-width:0;padding:12px}
.vm-bx__intro{margin:0 0 8px!important;font-size:12px;line-height:1.5;color:var(--vm-ink-700)}
.vm-bx__row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--vm-border)}
.vm-bx__row:last-of-type{border-bottom:0}
.vm-bx__rl{margin:0!important;font-size:14px;font-weight:600;color:var(--vm-ink-900)}
.vm-bx__ra{margin:0!important;font-size:12px;color:var(--vm-muted)}
.vm-bx__ctr{display:flex;align-items:center;gap:10px}
.vm-bx__n{min-width:18px;text-align:center;font-family:var(--vm-mono);font-weight:700;color:var(--vm-ink-900)}
.vm-pd .vm-bx__ib{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px!important;min-height:0!important;padding:0!important;border-radius:999px!important;border:1px solid var(--vm-border-d)!important;background:var(--vm-card)!important;color:var(--vm-ink-900)!important;cursor:pointer;box-shadow:none!important;line-height:1!important}
.vm-pd .vm-bx__ib:hover:not(:disabled){background:var(--vm-camel-50)!important}
.vm-pd .vm-bx__ib:disabled{opacity:.4;cursor:not-allowed}
.vm-pd .vm-bx__ib.is-ghost{border-color:transparent!important;background:transparent!important}
.vm-pd .vm-bx__ib:focus-visible{outline:none;box-shadow:var(--vm-focus)!important}
.vm-bx__pnote{margin:10px 0 0!important;font-size:12px;line-height:1.5;color:var(--vm-muted)}
.vm-bx__calh{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.vm-bx__month{margin:0!important;font-size:14px;font-weight:700;color:var(--vm-ink-900);text-transform:capitalize}
.vm-bx__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.vm-bx__dow{text-align:center;padding:2px 0 4px;font-size:11px;font-weight:600;color:var(--vm-muted)}
.vm-pd .vm-bx__day{display:flex;align-items:center;justify-content:center;height:36px!important;min-height:0!important;padding:0!important;border-radius:10px!important;border:1px solid var(--vm-border-d)!important;background:var(--vm-card)!important;color:var(--vm-ink-900)!important;font:inherit;font-size:13px!important;font-weight:600;cursor:pointer;box-shadow:none!important;line-height:1!important}
.vm-pd .vm-bx__day:hover:not(:disabled){border-color:var(--vm-ink-900)!important}
.vm-pd .vm-bx__day.is-on{background:var(--vm-clay)!important;border-color:var(--vm-clay)!important;color:#fff!important}
.vm-pd .vm-bx__day:disabled{background:transparent!important;border-color:transparent!important;color:var(--vm-muted)!important;opacity:.55;text-decoration:line-through;cursor:not-allowed}
.vm-bx__load{grid-column:1/-1;margin:12px 0!important;font-size:13px;color:var(--vm-muted);text-align:center}
.vm-bx__calnote{display:flex;align-items:center;gap:6px;margin:10px 0 0!important;padding-top:10px;border-top:1px solid var(--vm-border);font-size:12px;color:var(--vm-muted)}
.vm-bx__calnone{margin:6px 0 0!important;font-size:12px;color:var(--vm-muted)}
.vm-bx__sel{position:relative;display:block;margin:0}
.vm-bx__sel>.vm-ic{position:absolute;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--vm-ink-700);z-index:1}
.vm-bx__sel>.vm-ic:first-child{left:12px}
.vm-bx__sel>.vm-ic:last-child{right:12px}
.vm-bx__sel select{padding:0 34px 0 36px!important;appearance:none;-webkit-appearance:none;color:var(--vm-muted)!important}
.vm-bx__sel select.is-set{color:var(--vm-ink-900)!important;font-weight:600}
.vm-bx__go{margin-top:4px}
.vm-pd .vm-btn:disabled{opacity:.5;cursor:not-allowed}
.vm-pd .vm-btn.is-busy{opacity:.7;cursor:progress}
.vm-bx__miss{margin:0!important;font-size:12px;color:var(--vm-muted)}
.vm-bx__miss[hidden]{display:none}
.vm-pd__cancel{display:flex;gap:9px;align-items:flex-start;margin-top:14px;padding-top:14px;border-top:1px solid var(--vm-border)}
.vm-pd__cancelic{display:inline-flex;padding-top:1px;color:#2F7D4F}
.vm-pd__cancel p{margin:0!important;font-size:12px;line-height:1.5;color:var(--vm-muted)}
.vm-pd__cancel strong{font-weight:700;color:var(--vm-ink-900)}
.vm-pd__cancel a{font-weight:600;color:var(--vm-clay)!important;text-decoration:underline!important;text-underline-offset:3px}
.vm-pd__cancelsub{margin-top:1px!important}
.vm-pd__ask{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font-size:12px}

/* ---- Options after "Check availability" ---- */
.vm-pd__opts{padding:24px 0 8px;scroll-margin-top:90px}
.vm-pd__opts[hidden]{display:none}
.vm-pd__optsum{margin:0!important;font-size:12px;color:var(--vm-muted)}
.vm-pd__optlist{display:grid;gap:14px}
.vm-pd__optnone{margin:0!important;padding:16px 18px;border:1px dashed var(--vm-border-d);border-radius:16px;font-size:14px;color:var(--vm-muted)}
.vm-pd__optnone a{color:var(--vm-clay)!important;font-weight:600}
.vm-pd__opt{padding:20px;border:1px solid var(--vm-border);border-radius:16px;background:var(--vm-card);box-shadow:var(--vm-shadow-sm)}
.vm-pd__optop{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 20px}
.vm-pd__opinfo{flex:1 1 320px;min-width:0}
.vm-pd__opinfo h3{margin:0 0 6px;font-size:18px;font-weight:700;color:var(--vm-ink-900)}
.vm-pd__optx{margin:0 0 12px!important;font-size:14px;line-height:1.55;color:var(--vm-ink-700)}
.vm-pd__opfacts{display:grid;gap:7px;font-size:14px;color:var(--vm-ink-700)}
.vm-pd__opfacts p{display:flex;gap:8px;align-items:flex-start;margin:0!important;line-height:1.5}
.vm-pd__opfacts strong{font-weight:600;color:var(--vm-ink-900)}
.vm-pd__opic{display:flex;padding-top:2px;color:var(--vm-clay-600)}
.vm-pd__opic.is-ok{color:#2F7D4F}
.vm-pd .vm-pd__oplink{display:inline;padding:0!important;border:0!important;background:none!important;color:var(--vm-clay)!important;font:inherit;font-size:inherit!important;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer;box-shadow:none!important;line-height:inherit!important}
.vm-pd__opprice{flex:0 0 auto;text-align:right}
.vm-pd__optot{margin:0!important;font-family:var(--vm-mono);font-size:24px;font-weight:700;color:var(--vm-ink-900)}
.vm-pd__optot.is-req{font-family:inherit;font-size:16px}
.vm-pd__opbr{margin:2px 0 0!important;max-width:260px;font-size:12px;color:var(--vm-muted)}
.vm-pd__opfoot{margin-top:16px;padding-top:14px;border-top:1px solid var(--vm-border)}
.vm-pd__optl{margin:0 0 8px!important;font-size:12px;font-weight:600;color:var(--vm-ink-900)}
.vm-pd__times{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.vm-pd .vm-pd__time{height:36px!important;min-height:0!important;padding:0 14px!important;border-radius:999px!important;border:1px solid var(--vm-border-d)!important;background:var(--vm-card)!important;color:var(--vm-ink-900)!important;font:inherit;font-family:var(--vm-mono);font-size:13px!important;font-weight:600;cursor:pointer;box-shadow:none!important;line-height:1!important}
.vm-pd .vm-pd__time:hover{border-color:var(--vm-ink-900)!important}
.vm-pd .vm-pd__time.is-on{background:var(--vm-ink-900)!important;border-color:var(--vm-ink-900)!important;color:#fff!important}
.vm-pd__opact{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}
.vm-pd__bookhint{font-size:12px;color:var(--vm-muted)}
.vm-pd__bookhint[hidden]{display:none}

/* ---- Booking page (?book=1) ---- */
.vm-bk__h1{max-width:34ch}
.vm-bk__steps{list-style:none;display:flex;flex-wrap:wrap;gap:8px 20px;margin:0 0 24px;padding:0 0 14px;border-bottom:1px solid var(--vm-border)}
.vm-bk__steps li{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--vm-muted)}
.vm-bk__steps li span{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:1px solid var(--vm-border-d);font-family:var(--vm-mono);font-size:12px}
.vm-bk__steps li.is-on{color:var(--vm-ink-900)}
.vm-bk__steps li.is-on span{background:var(--vm-clay);border-color:var(--vm-clay);color:#fff}
.vm-bk__steps li.is-done span{background:var(--vm-camel-50);border-color:var(--vm-camel);color:var(--vm-clay-700)}
.vm-bk__step[hidden]{display:none}
.vm-bk__step>h2{margin:0 0 16px}
.vm-bk__block{padding:18px 20px;margin:0 0 16px;border:1px solid var(--vm-border);border-radius:16px;background:var(--vm-card)}
.vm-bk__block h3{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:16px;font-weight:700;color:var(--vm-ink-900)}
.vm-bk__block h3 .vm-ic{color:var(--vm-clay-600)}
.vm-bk__sub{margin:0 0 10px!important;font-size:13px;line-height:1.5;color:var(--vm-muted)}
.vm-bk__cal{max-width:340px}
.vm-bk__beds{margin:10px 0 0!important;font-size:13px;font-weight:600;color:#B3261E}
.vm-bk__beds.is-ok{color:#2F7D4F}
.vm-bk__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px 16px}
.vm-bk__fld{display:grid;gap:5px;margin:0;font-size:13px;font-weight:600;color:var(--vm-ink-900)}
.vm-bk__fld i{font-style:normal;color:#B3261E}
.vm-bk__fld input,.vm-bk__fld textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--vm-border-d);border-radius:12px;background:#fff;font:inherit;font-size:15px;font-weight:400;color:var(--vm-ink-900)}
.vm-bk__fld input:focus,.vm-bk__fld textarea:focus{outline:none;border-color:var(--vm-clay);box-shadow:var(--vm-focus)}
.vm-bk__fld input[aria-invalid=true]{border-color:#B3261E}
.vm-bk__err{font-style:normal;font-size:12px;font-weight:500;color:#B3261E}
.vm-bk__err[hidden]{display:none}
.vm-bk__hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.vm-bk__chk{display:flex;gap:10px;align-items:flex-start;margin:8px 0;font-size:14px;line-height:1.5;color:var(--vm-ink-700)}
.vm-bk__chk input{margin-top:3px;accent-color:var(--vm-clay)}
.vm-bk__chk a{color:var(--vm-clay)!important;text-decoration:underline!important}
.vm-bk__rev{display:grid;grid-template-columns:minmax(120px,auto) minmax(0,1fr);gap:8px 16px;margin:0 0 16px;padding:18px 20px;border:1px solid var(--vm-border);border-radius:16px;background:var(--vm-card);font-size:14px}
.vm-bk__rev dt,.vm-bk__sumdl dt{color:var(--vm-muted)}
.vm-bk__rev dd,.vm-bk__sumdl dd{margin:0;color:var(--vm-ink-900);font-weight:600;overflow-wrap:anywhere}
.vm-bk__nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:8px}
.vm-bk__nav[hidden]{display:none}
.vm-bk__alert{margin:0 0 16px!important;padding:10px 14px;border-radius:12px;background:#FCEDEA;color:#B3261E;font-size:14px;font-weight:600}
.vm-bk__alert[hidden]{display:none}
.vm-bk__done{padding:28px 24px;border:1px solid var(--vm-border);border-radius:16px;background:var(--vm-card);text-align:left}
.vm-bk__done p{max-width:60ch;font-size:15px;line-height:1.6;color:var(--vm-ink-700)}
.vm-bk__doneic{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;margin-bottom:12px;border-radius:50%;background:#E7F3EC;color:#2F7D4F}
.vm-bk__sumt{margin:0!important;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--vm-clay-600)}
.vm-bk__sumtour{margin:4px 0 12px!important;font-size:16px;font-weight:700;line-height:1.35;color:var(--vm-ink-900)}
.vm-bk__sumdl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 12px;margin:0 0 12px;font-size:13px}
.vm-bk__lines{display:grid;gap:6px;padding-top:12px;border-top:1px solid var(--vm-border);font-size:13px;color:var(--vm-ink-700)}
.vm-bk__lines p{display:flex;justify-content:space-between;gap:12px;margin:0!important}
.vm-bk__lines p span:last-child{font-family:var(--vm-mono);white-space:nowrap}
.vm-bk__tot{padding-top:8px;border-top:1px solid var(--vm-border);font-size:16px;font-weight:800;color:var(--vm-ink-900)}
.vm-bk__due{font-size:12px;color:var(--vm-muted)}
.vm-bk__req{display:block!important;font-size:13px;color:var(--vm-ink-700)}
.vm-bk__req a{color:var(--vm-clay)!important;font-weight:600}
.vm-bk__aside.is-done{opacity:.85}

/* Layout: the itinerary splits only when its column is wide enough; sticky parts only where there is room. */
@media (max-width:1180px){.vm-pd__itin.is-split{grid-template-columns:minmax(0,1fr)}.vm-pd__itinmap{position:static}.vm-pd__mapbox--lg{height:360px}}
@media (max-width:767px){.vm-pd__mapbox--lg{height:320px}.vm-pd__mapbox--md{height:220px}.vm-pd__opprice{text-align:left}.vm-pd__opt{padding:16px}.vm-bk__rev{grid-template-columns:minmax(0,1fr)}.vm-bk__rev dd{margin-bottom:6px}.vm-bk__block{padding:16px}.vm-bk__nav .vm-btn{flex:1 1 auto}}
/* Stray empty paragraphs added by the_content formatting inside flex rows */
.vm-pd__meet>p:empty,.vm-pd__meet>div>p:empty,.vm-pd__cancel>p:empty,.vm-bx__f>p:empty,.vm-bx__calh>p:empty:not([data-bk-month]),.vm-pd__cancel>div>p:empty{display:none}
/* Sticky offsets follow the theme's sticky header (--vm-hdr is set by vm-tour.js) */
.vm-pd__nav{top:var(--vm-hdr,0px)}
.vm-pd__aside{top:calc(var(--vm-hdr,0px) + 16px)}
.vm-pd__aside.is-tall{position:static}
.vm-pd__itinmap{top:calc(var(--vm-hdr,0px) + 80px)}
.vm-pd__sec,.vm-pd__opts,.vm-pd__aside{scroll-margin-top:calc(var(--vm-hdr,0px) + 80px)}
@media (max-width:767px){.vm-pd__aside{position:static}}
/* Multi-Day: grouped inclusions, Where you'll stay, accommodation per itinerary day (prototype pd.incSections / pd.stays / dy.accs). */
.vm-pd__igl{border-top:1px solid var(--vm-border)}
.vm-pd__ig{border-bottom:1px solid var(--vm-border)}
.vm-pd__ig summary{display:flex;align-items:center;gap:14px;padding:16px 0;cursor:pointer;list-style:none}
.vm-pd__ig summary::-webkit-details-marker{display:none}
.vm-pd__ig summary>.vm-ic{margin-left:auto;flex:0 0 auto;color:var(--vm-ink-700);transition:transform .15s}
.vm-pd__ig[open] summary>.vm-ic{transform:rotate(180deg)}
.vm-pd__igic{flex:0 0 36px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--vm-camel-50);color:var(--vm-clay-700)}
.vm-pd__ig.is-exc .vm-pd__igic{background:#FBE9E7;color:#B3261E}
.vm-pd__igt{flex:1;min-width:0;font-size:17px;font-weight:700;color:var(--vm-ink-900)}
.vm-pd__igb{display:grid;gap:10px;padding:0 0 20px 50px}
.vm-pd__igb p{margin:0}
.vm-pd__iglead{font-size:15px;font-weight:700;line-height:1.5;color:var(--vm-ink-900)}
.vm-pd__igp{max-width:72ch;font-size:14px;line-height:1.6;color:var(--vm-ink-700)}
.vm-pd__igpairs{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:10px 16px;margin-top:4px}
.vm-pd__igpair{padding:10px 12px;border-radius:10px;background:var(--vm-page)}
.vm-pd__igk{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--vm-clay-700)}
.vm-pd__igv{margin-top:2px!important;font-size:14px;font-weight:600;color:var(--vm-ink-900)}
.vm-pd__iglinks{display:flex;flex-wrap:wrap;gap:8px}
.vm-pd__iglinks a{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border:1px solid var(--vm-border-d);border-radius:999px;background:var(--vm-card);font-size:14px;font-weight:600;color:var(--vm-ink-700);text-decoration:none;transition:background 140ms,color 140ms}
.vm-pd__iglinks a:hover{background:var(--vm-ink-900);border-color:var(--vm-ink-900);color:#fff}
.vm-pd__stayshead{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 20px;margin-bottom:18px}
.vm-pd__stayshead h2{margin:0 0 4px}
.vm-pd__stayssub{margin:0;font-size:14px;color:var(--vm-muted)}
.vm-pd__staysnav{display:flex;gap:10px}
.vm-pd button.vm-pd__ib{display:inline-flex!important;align-items:center;justify-content:center;width:44px;height:44px;padding:0!important;border-radius:999px!important;border:1px solid var(--vm-border-d)!important;background:var(--vm-card)!important;color:var(--vm-ink-900)!important;box-shadow:none!important;cursor:pointer}
.vm-pd button.vm-pd__ib:hover{background:var(--vm-page)!important}
.vm-pd__staystrack{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,calc((100% - 40px)/3));gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:4px 2px 14px;margin:0 -2px;scrollbar-width:none}
.vm-pd__staystrack::-webkit-scrollbar{display:none}
.vm-pd__acc{scroll-snap-align:start;min-width:0;display:flex;flex-direction:column;background:var(--vm-card);border:1px solid var(--vm-border);border-radius:14px;box-shadow:var(--vm-shadow-sm);overflow:hidden}
.vm-pd__acc.is-row{flex-direction:row;flex-wrap:wrap;box-shadow:none}
.vm-pd__accimg{position:relative;aspect-ratio:4/3;background:var(--vm-camel-100);overflow:hidden}
.vm-pd__acc.is-row .vm-pd__accimg{flex:1 1 200px;aspect-ratio:auto;min-height:150px}
.vm-pd__accimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vm-pd__accb{display:grid;gap:6px;align-content:start;padding:16px 18px 18px}
.vm-pd__acc.is-row .vm-pd__accb{flex:2 1 260px;min-width:0;align-content:center}
.vm-pd__accb p{margin:0}
.vm-pd__accdays{font-size:12px;font-weight:600;color:var(--vm-clay-700)}
.vm-pd__accname{font-size:15px;font-weight:700;line-height:1.35;color:var(--vm-ink-900);text-wrap:pretty}
.vm-pd__accstars{display:inline-flex;gap:2px;color:var(--vm-camel)}
.vm-pd__accstars .vm-ic{fill:currentColor}
.vm-pd__acccity{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--vm-muted)}
.vm-pd__accup{justify-self:start;display:inline-flex;align-items:center;gap:6px;margin-top:2px;padding:4px 11px;border-radius:999px;background:var(--vm-camel-50);border:1px solid #EBD3B0;font-size:12px;font-weight:600;color:var(--vm-ink-900)}
.vm-pd__dayacc{display:grid;gap:12px;margin-top:16px}
.vm-pd__dayacch{margin:0!important;display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--vm-ink-900)}
.vm-pd__dayacch .vm-ic{color:var(--vm-clay-700)}
@media (max-width:760px){.vm-pd__staystrack{grid-auto-columns:82%}.vm-pd__igb{padding-left:0}}
/* Booking page: sign-in gate for signed-out visitors (customer account required before booking). */
.vm-bk__gate{margin-top:8px;padding:24px;border:1px solid var(--vm-border);border-radius:16px;background:var(--vm-card);box-shadow:var(--vm-shadow-sm)}
.vm-bk__gate>h2{margin:0 0 6px}
.vm-bk__gateforms{margin-top:18px}
.vm-bk__gateforms .u-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;float:none;width:auto}
.vm-bk__gateforms .u-columns::before,.vm-bk__gateforms .u-columns::after{display:none}
.vm-bk__gateforms .u-column1,.vm-bk__gateforms .u-column2{float:none;width:auto;padding:0}
.vm-bk__gateforms h2{font-size:20px;margin:0 0 12px}
.vm-bk__gateforms form.login,.vm-bk__gateforms form.register{margin:0;padding:18px;border:1px solid var(--vm-border);border-radius:12px}
.vm-bk__gateforms input.input-text{width:100%;height:44px;padding:0 12px;border:1px solid var(--vm-border-d);border-radius:8px}
.vm-bk__gateforms .woocommerce-button,.vm-bk__gateforms button.button{height:44px;padding:0 22px;border-radius:999px;background:var(--vm-clay);border-color:var(--vm-clay);color:#fff;font-weight:600}
@media (max-width:760px){.vm-bk__gateforms .u-columns{grid-template-columns:1fr}.vm-bk__gate{padding:18px}}
/* Tour page: website reviews approved in the CRM. */
.vm-pd__revs{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:16px;margin-bottom:20px}
.vm-pd__rev{display:grid;gap:8px;align-content:start;padding:18px;border:1px solid var(--vm-border);border-radius:14px;background:var(--vm-card)}
.vm-pd__rev p{margin:0}
.vm-pd__revt{font-size:15px;line-height:1.6;color:var(--vm-ink-700)}
.vm-pd__reva{font-size:13px;color:var(--vm-muted)}
.vm-pd__reva b{color:var(--vm-ink-900)}
/* Reviews approved in the CRM ([vm_reviews]). */
.vm-rvs{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:20px}
.vm-rvs--home{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.vm-rv{display:flex;flex-direction:column;justify-content:space-between;gap:16px;padding:22px;border:1px solid var(--vm-border);border-radius:16px;background:var(--vm-card);box-shadow:var(--vm-shadow-sm)}
.vm-rv p{margin:0}
.vm-rv__t{font-size:15px;line-height:1.65;color:var(--vm-ink-700)}
.vm-rv__by{display:flex;align-items:center;gap:12px}
.vm-rv__av{flex:0 0 40px;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--vm-camel-100);color:var(--vm-clay-700);font-weight:700;font-size:14px}
.vm-rv__by>div{flex:1;min-width:0}
.vm-rv__n{font-weight:700;color:var(--vm-ink-900);font-size:15px}
.vm-rv__m{font-size:13px;color:var(--vm-muted)}
.vm-rv__m a{color:inherit}
.vm-rv__st{display:inline-flex;gap:2px;color:var(--vm-camel)}
.vm-rv__st .vm-ic{fill:currentColor}
.vm-rvs__f{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:0 0 20px}
.vm-rvs__f label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600;color:var(--vm-ink-900)}
.vm-rvs__f select{height:40px;padding:0 10px;border:1px solid var(--vm-border-d);border-radius:8px;background:var(--vm-card)}
.vm-rvs__empty{padding:16px 18px;border-radius:12px;background:var(--vm-camel-50);color:var(--vm-ink-700)}
/* My Account: booking details and payments. */
.vm-acct-bk{margin:0 0 28px;padding:20px;border:1px solid var(--vm-border);border-radius:14px;background:var(--vm-card)}
.vm-acct-bk__dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0 0 12px}
.vm-acct-bk__dl dt{font-weight:600;color:var(--vm-muted)}
.vm-acct-bk__dl dd{margin:0}
.vm-acct-bk__pays{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.vm-acct-bk__pays li{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:space-between;padding:10px 12px;border-radius:10px;background:var(--vm-page)}
.vm-acct-bk__note{margin:10px 0 0;color:var(--vm-muted);font-size:14px}
.vm-bk__paynow{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.vm-acct-form label{display:flex;flex-direction:column;gap:4px;font-weight:600}
.vm-acct-form input[type=text],.vm-acct-form textarea,.vm-acct-form select{width:100%;max-width:520px;padding:8px 10px;border:1px solid var(--vm-border-d);border-radius:8px;font-weight:400}
.vm-acct-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:720px}
@media (max-width:600px){.vm-acct-row{grid-template-columns:1fr}}
/* ---- Round 3: saved tours, account security, PDFs, reviews on tour pages, AI planner chat ---- */
.vm-btn--sm{height:36px;padding:0 16px;font-size:14px}
.vm-btn--ghost{background:transparent;border-color:transparent;color:var(--vm-ink-900)}
.vm-btn--ghost:hover{background:var(--vm-camel-50)}
:is(.vm-ai,.woocommerce-MyAccount-content,.vm-pd__rvbox,.vm-bk__gate) button.vm-btn{line-height:1!important;border-radius:999px!important;box-shadow:none}
:is(.vm-ai,.woocommerce-MyAccount-content,.vm-pd__rvbox,.vm-bk__gate) button.vm-btn--primary{background:var(--vm-clay)!important;border:1px solid var(--vm-clay)!important;color:#fff!important;padding:0 22px!important}
:is(.vm-ai,.woocommerce-MyAccount-content,.vm-pd__rvbox,.vm-bk__gate) button.vm-btn--primary:hover{background:var(--vm-clay-600)!important}
:is(.vm-ai,.woocommerce-MyAccount-content,.vm-pd__rvbox,.vm-bk__gate) button.vm-btn--primary[disabled]{opacity:.6;cursor:default}
:is(.vm-ai,.woocommerce-MyAccount-content,.vm-pd__rvbox,.vm-bk__gate) button.vm-btn--outline{background:transparent!important;border:1px solid var(--vm-border-d)!important;color:var(--vm-ink-900)!important;padding:0 22px!important}
:is(.vm-ai,.woocommerce-MyAccount-content,.vm-pd__rvbox,.vm-bk__gate) button.vm-btn--outline:hover{background:#fff!important}
:is(.vm-ai,.woocommerce-MyAccount-content,.vm-pd__rvbox,.vm-bk__gate) button.vm-btn--ghost{background:transparent!important;border:1px solid transparent!important;color:var(--vm-ink-900)!important;padding:0 16px!important}
:is(.vm-ai,.woocommerce-MyAccount-content,.vm-pd__rvbox,.vm-bk__gate) button.vm-btn--ghost:hover{background:var(--vm-camel-50)!important}
:is(.vm-ai,.woocommerce-MyAccount-content,.vm-pd__rvbox,.vm-bk__gate) button.vm-btn--sm{padding:0 16px!important}
:is(.vm-ai,.woocommerce-MyAccount-content,.vm-pd__rvbox,.vm-bk__gate) button.vm-btn--danger,:is(.vm-ai,.woocommerce-MyAccount-content,.vm-pd__rvbox,.vm-bk__gate) a.vm-btn--danger{color:var(--vm-clay-700)!important}
.vm-toast{position:fixed;left:50%;bottom:24px;z-index:100000;transform:translate(-50%,20px);max-width:min(560px,calc(100% - 32px));padding:12px 18px;border-radius:12px;background:var(--vm-ink-900);color:#fff;font-size:14px;line-height:1.45;box-shadow:var(--vm-shadow-lg);opacity:0;pointer-events:none;transition:opacity 180ms var(--vm-ease),transform 180ms var(--vm-ease)}
.vm-toast.is-on{opacity:1;transform:translate(-50%,0)}
/* Tour page ♡ Save (prototype pill under the title) */
.vm-save-wrap{margin:-4px 0 12px}
button.vm-save{display:inline-flex!important;align-items:center;gap:6px;padding:6px 14px!important;border-radius:999px!important;border:1px solid var(--vm-border-d)!important;background:var(--vm-card)!important;cursor:pointer;font:inherit;font-size:14px!important;font-weight:600!important;line-height:1.3!important;color:var(--vm-clay)!important;box-shadow:none!important}
button.vm-save:hover{background:var(--vm-camel-50)!important}
button.vm-save:focus-visible{outline:none;box-shadow:var(--vm-focus)!important}
/* My Account additions */
.vm-saved{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:20px}
.vm-saved__item{display:grid;gap:8px;align-content:start}
.vm-saved__act{display:flex;gap:8px;flex-wrap:wrap}
.vm-saved__act form{margin:0}
.vm-acct-empty,.vm-acct-card{margin:0 0 18px;padding:18px;border-radius:14px;background:var(--vm-card);border:1px solid var(--vm-border)}
.vm-acct-empty__t{margin:0 0 4px;font-weight:700;color:var(--vm-ink-900)}
.vm-acct-empty p{margin:0 0 12px;color:var(--vm-ink-700)}
.vm-acct-card h3{margin:0 0 10px;font-size:17px}
.vm-acct-card--danger{border-color:#EBC9B8}
.vm-acct-tag{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;background:#FBEDE3;color:var(--vm-clay-700)}
.vm-acct-tag.is-ok{background:#E8F3EA;color:#2F6B3A}
.vm-acct-actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0}
.vm-acct-actions form{margin:0}
.vm-acct-det{margin-top:12px}
.vm-acct-det summary{cursor:pointer;font-weight:600;color:var(--vm-clay-700)}
.vm-acct-det form{margin-top:10px}
.vm-acct-verify{margin:0 0 18px;padding:14px 16px;border-radius:12px;background:var(--vm-camel-50);border:1px solid var(--vm-camel-100)}
.vm-acct-verify p{margin:0 0 10px}
.vm-acct-form input[type=email],.vm-acct-form input[type=password]{width:100%;max-width:520px;padding:8px 10px;border:1px solid var(--vm-border-d);border-radius:8px;font-weight:400}
.vm-acct-docs{display:flex;flex-wrap:wrap;gap:8px;margin:-12px 0 24px}
/* Tour page reviews: sort + star filter */
.vm-pd__rvtools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px}
.vm-pd__rvsort{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--vm-ink-900)}
.vm-pd__rvsort select{height:40px;padding:0 10px;border:1px solid var(--vm-border-d);border-radius:8px;background:var(--vm-card);font:inherit;font-weight:400}
.vm-pd__rvstars{display:flex;flex-wrap:wrap;gap:8px}
.vm-pd__rvstars button.vm-chip{min-height:36px;padding:6px 12px!important;font-size:13px}
.vm-pd__rvnone{padding:14px 16px;border-radius:12px;background:var(--vm-camel-50);color:var(--vm-ink-700)}
.vm-pd .vm-pd__rvmore{margin:16px 0 0}
/* AI Trip Planner chat (prototype: chat panel + "Your trip so far") */
.vm-ai{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start;margin:0 0 40px;scroll-margin-top:90px}
.vm-ai__panel{flex:999 1 520px;min-width:0;display:flex;flex-direction:column;background:var(--vm-card);border:1px solid var(--vm-border);border-radius:24px;box-shadow:var(--vm-shadow-sm);overflow:hidden}
.vm-ai__head{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--vm-border)}
.vm-ai__av{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;background:var(--vm-camel-50);font-size:19px;line-height:1;flex:none}
.vm-ai__t{margin:0!important;font-size:16px;font-weight:700;color:var(--vm-ink-900)}
.vm-ai__s{margin:0!important;font-size:13px;color:var(--vm-muted)}
.vm-ai__log{display:grid;align-content:start;gap:16px;padding:20px;max-height:min(620px,64vh);min-height:280px;overflow-y:auto;overscroll-behavior:contain}
.vm-ai__row{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.vm-ai__row.is-user{align-items:flex-end}
.vm-ai__bub{max-width:min(560px,92%);padding:12px 16px;font-size:16px;line-height:1.55;white-space:pre-line;text-wrap:pretty;background:var(--vm-camel-50);color:var(--vm-ink-900);border-radius:4px 16px 16px 16px}
.vm-ai__row.is-user .vm-ai__bub{background:var(--vm-ink-900);color:#fff;border-radius:16px 4px 16px 16px}
.vm-ai__bub[dir=rtl]{text-align:right}
.vm-ai__opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:14px;width:100%;margin-top:4px}
.vm-ai__opt{display:flex;flex-direction:column;gap:8px;min-width:0}
.vm-ai__kind{margin:0!important;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--vm-clay-600)}
.vm-ai__why{margin:0!important;font-size:14px;line-height:1.5;color:var(--vm-ink-700)}
.vm-ai__quick{display:flex;flex-wrap:wrap;gap:8px}
.vm-ai__quick button.vm-chip{min-height:38px;padding:7px 14px!important;white-space:nowrap;max-width:100%;color:var(--vm-ink-900)!important}
.vm-ai__busy{margin:0;display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--vm-muted)}
.vm-ai__form{display:flex;gap:10px;align-items:center;padding:14px 16px;border-top:1px solid var(--vm-border);background:var(--vm-page);margin:0}
.vm-ai__form input{flex:1 1 auto;min-width:0;height:48px!important;padding:0 16px!important;border-radius:999px!important;border:1px solid var(--vm-border-d)!important;background:var(--vm-card)!important;font:inherit;font-size:16px!important;color:var(--vm-ink-900)}
.vm-ai__form button.vm-btn{height:48px}
.vm-ai__aside{flex:1 1 260px;min-width:0;display:flex;flex-direction:column;gap:16px;padding:20px;border-radius:24px;background:var(--vm-camel-50)}
.vm-ai__eyebrow{margin:0!important;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--vm-clay-600)}
.vm-ai__empty{margin:0!important;font-size:14px;line-height:1.55;color:var(--vm-ink-700)}
.vm-ai__prof{margin:0;display:grid;gap:10px}
.vm-ai__prof div{display:grid;gap:2px}
.vm-ai__prof dt{font-size:13px;color:var(--vm-muted);font-weight:400}
.vm-ai__prof dd{margin:0;font-size:14px;font-weight:600;color:var(--vm-ink-900)}
.vm-ai__acts{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid var(--vm-border-d)}
.vm-ai__acts .vm-btn{width:100%}
.vm-ai__wiz{align-self:center;font-size:14px;font-weight:600;color:var(--vm-clay-700)!important}
.vm-ai__note{margin:0!important;font-size:12px;line-height:1.5;color:var(--vm-muted)}
@media (max-width:600px){.vm-ai__log{padding:16px;max-height:70vh}.vm-ai__form{padding:12px}.vm-ai__form button.vm-btn{padding:0 16px!important}}
.vm-ai [hidden],.vm-pd__rvbox [hidden],.vm-acct-verify [hidden],.vm-saved [hidden]{display:none!important}
.vm-acct-bk__dl dd{min-width:0;overflow-wrap:anywhere}.vm-acct-card .vm-acct-bk__dl{grid-template-columns:minmax(0,max-content) minmax(0,1fr)}@media (max-width:480px){.vm-acct-card .vm-acct-bk__dl{grid-template-columns:minmax(0,1fr);gap:2px}.vm-acct-card .vm-acct-bk__dl dd{margin-bottom:8px}}
/* ===== Round 4 — Multi-Day tour page (prototype parity) + global footer ===== */
/* Booking box: availability result */
.vm-bx__miss.is-err{padding:10px 12px;border-radius:10px;background:#FBEDEA;color:#8A2A12;font-size:13px;line-height:1.5}
.vm-pd .vm-bx__missbtn,.vm-bx__missbtn{display:inline;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;font:inherit;font-weight:700;color:var(--vm-clay-700)!important;text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:0!important;height:auto!important}
/* Itinerary (multi-day): rows with a bottom rule, "Day n" pill, cities before the accommodation */
.vm-pd__days{gap:0;border-top:1px solid var(--vm-border)}
.vm-pd__day{border:0;border-bottom:1px solid var(--vm-border);border-radius:0;background:none;overflow:visible}
.vm-pd__day summary{gap:16px;padding:18px 0}
.vm-pd__day summary .vm-ic{color:var(--vm-ink-700)}
.vm-pd__days .vm-pd__dayn{padding:5px 12px;border-radius:999px;background:var(--vm-camel-50);border:1px solid #EBD3B0;font-size:12px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--vm-ink-900);white-space:nowrap}
.vm-pd__days .vm-pd__dayt{flex:1;min-width:0;font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.3;text-wrap:pretty}
.vm-pd__days .vm-pd__dayb{padding:0 0 26px}
.vm-pd__days .vm-pd__dayb>p:first-child{max-width:75ch;margin:0 0 8px}
.vm-pd__days .vm-pd__daym{margin:0!important;font-family:var(--vm-mono);font-size:12px}
.vm-pd__days .vm-pd__places{margin:16px 0 18px}
.vm-pd__days .vm-pd__dayacc{margin-top:0}
.vm-pd__acc.is-row{box-shadow:var(--vm-shadow-sm)}
.vm-pd__accimg.is-ph{display:flex;align-items:center;justify-content:center}
.vm-pd__accph{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:80%;text-align:center;font-size:13px;line-height:1.35;color:var(--vm-muted)}
.vm-pd__accph .vm-ic{color:var(--vm-muted);opacity:.8}
.vm-pd__acc.is-row .vm-pd__accimg.is-ph{min-height:150px}
.vm-pd__accup .vm-ic{color:var(--vm-camel)}
.vm-tour-multi .vm-pd button.vm-pd__expand{text-decoration:none;font-weight:700!important}
.vm-tour-multi .vm-pd button.vm-pd__expand:hover{text-decoration:underline;text-underline-offset:3px}
/* Gallery → lightbox */
.vm-pd__gallery{position:relative}
.vm-pd .vm-pd__gbtn{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0!important;border:0!important;border-radius:inherit!important;background:transparent!important;box-shadow:none!important;cursor:zoom-in}
.vm-pd .vm-pd__gbtn:focus-visible{outline:none;box-shadow:inset 0 0 0 3px rgba(180,85,47,.6)!important}
.vm-pd .vm-pd__gall{position:absolute;right:14px;bottom:14px;z-index:2;display:inline-flex;align-items:center;gap:8px;min-height:0!important;height:auto!important;padding:8px 14px!important;border-radius:999px!important;border:1px solid var(--vm-border-d)!important;background:var(--vm-card)!important;color:var(--vm-ink-900)!important;font:inherit;font-size:13px!important;font-weight:700;line-height:1.2!important;box-shadow:var(--vm-shadow-sm)!important;cursor:pointer}
.vm-pd .vm-pd__gall:hover{background:var(--vm-page)!important}
html.vm-lb-open{overflow:hidden}
.vm-lb{position:fixed;inset:0;width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:rgba(15,13,11,.94);color:#fff;display:none}
.vm-lb[open]{display:flex;flex-direction:column}
.vm-lb::backdrop{background:rgba(15,13,11,.94)}
.vm-lb__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px}
.vm-lb__count{margin:0;font-family:var(--vm-mono);font-size:13px;color:rgba(255,255,255,.8)}
.vm-lb__stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;gap:12px;padding:0 12px 18px}
.vm-lb__fig{flex:1;min-width:0;height:100%;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}
.vm-lb__img{max-width:100%;max-height:calc(100% - 34px);width:auto;height:auto;object-fit:contain;border-radius:10px;background:rgba(255,255,255,.04)}
.vm-lb__cap{margin:0;font-size:14px;color:rgba(255,255,255,.82);text-align:center}
.vm-lb__cap[hidden]{display:none}
.vm-lb .vm-lb__btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:0;padding:0;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;box-shadow:none}
.vm-lb .vm-lb__btn:hover{background:rgba(255,255,255,.18)}
.vm-lb .vm-lb__btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(201,146,92,.7)}
.vm-lb.is-one .vm-lb__nav{visibility:hidden}
@media (max-width:760px){.vm-lb__stage{padding:0 0 14px;gap:0;position:relative}.vm-lb .vm-lb__nav{position:absolute;bottom:22px;z-index:1}.vm-lb .vm-lb__nav.is-prev{left:16px}.vm-lb .vm-lb__nav.is-next{right:16px}.vm-lb__img{max-height:calc(100% - 90px);border-radius:0}.vm-lb__cap{padding:0 70px}.vm-pd .vm-pd__gall{right:10px;bottom:10px}}
/* Reviews (multi-day): prototype ReviewCard, Sort by / Filter by rating */
.vm-pd__rvbox .vm-pd__rvh{margin:24px 0 14px;font-size:clamp(1.05rem,1.6vw,1.25rem);font-weight:700;color:var(--vm-ink-900)}
.vm-pd__rvbox .vm-pd__rvtools{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:14px;max-width:520px;margin:0 0 20px}
.vm-pd__rvsel{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--vm-ink-900)}
.vm-pd__rvsel select{height:44px;padding:0 12px;border:1px solid var(--vm-border-d);border-radius:10px;background:var(--vm-card);font:inherit;font-size:15px;font-weight:400;color:var(--vm-ink-900)}
.vm-pd__rvbox .vm-pd__revs{grid-template-columns:1fr;gap:16px;margin-bottom:0}
.vm-pd__rvbox .vm-rv{justify-content:flex-start;gap:12px;padding:22px}
.vm-rv__q{display:inline-flex;color:var(--vm-camel)}
.vm-pd__rvbox .vm-rv__t{font-size:16px}
.vm-pd__rvbox .vm-rv__by{margin-top:auto;padding-top:4px}
.vm-pd__rvbox .vm-rv__av{flex:0 0 38px;width:38px;height:38px;font-size:12px;background:#F6E3DA}
.vm-pd__rvbox .vm-rv__n{font-size:14px;font-weight:600}
.vm-pd__rvbox .vm-rv__m{font-size:12px}
.vm-pd__rvbox .vm-rv__st{margin-left:auto;align-self:center}
.vm-pd__rvphs{display:flex;flex-wrap:wrap;gap:8px}
.vm-pd .vm-pd__rvph{width:72px;height:72px;min-height:0!important;padding:0!important;border:1px solid var(--vm-border)!important;border-radius:10px!important;overflow:hidden;background:var(--vm-camel-100)!important;cursor:zoom-in;box-shadow:none!important}
.vm-pd__rvph img{display:block;width:100%;height:100%;object-fit:cover}
.vm-pd__rvbox .vm-pd__rvnone{margin:0}
.vm-pd__rvbox .vm-pd__rvmore{margin-top:20px}
/* Footer (global, EN + FR templates) */
.vm-footer .vm-pay{--icon-size:20px!important;--grid-column-gap:6px!important;--grid-row-gap:6px!important}
.vm-footer .vm-pay .elementor-grid{display:flex!important;flex-wrap:wrap;gap:6px!important;max-width:218px}
.vm-footer .vm-pay .elementor-social-icon{width:50px!important;height:32px!important;border-radius:6px!important;--icon-padding:0px}
.vm-footer .vm-pay .elementor-social-icon i{font-size:20px!important}
.vm-footer .vm-pay .elementor-social-icon svg{width:20px!important;height:20px!important}
.vm-footer .elementor-element-9b35417{flex-direction:row!important;flex-wrap:nowrap!important;align-items:flex-start;gap:14px 20px!important}
.vm-footer .elementor-element-9b35417>.e-con{--width:auto;width:auto!important;max-width:none;flex:0 0 auto!important}
.vm-footer .vm-fabout .elementor-icon-list-items{flex-wrap:nowrap!important;white-space:nowrap;margin-inline:-7px!important}
.vm-footer .vm-fabout .elementor-icon-list-items .elementor-icon-list-item{margin-inline:7px!important}
.vm-footer .vm-fabout .elementor-icon-list-items .elementor-icon-list-item:after{inset-inline-end:-7px!important}
.vm-footer .elementor-element-d0f35e3>.e-con-inner{flex-wrap:wrap;justify-content:space-between;align-items:center}
.vm-footer .vm-flegal .elementor-icon-list-items{justify-content:flex-end}
@media (max-width:760px){.vm-footer .elementor-element-d0f35e3>.e-con-inner{justify-content:center}.vm-footer .vm-copy{text-align:center;width:100%}.vm-footer .vm-flegal{width:100%}.vm-footer .vm-flegal .elementor-icon-list-items{justify-content:center}}
.vm-acct-rvph{display:flex;flex-wrap:wrap;gap:8px}.vm-acct-rvph img{width:64px;height:64px;object-fit:cover;border-radius:8px}
.vm-lb .vm-lb__btn:hover,.vm-lb .vm-lb__btn:focus{background:rgba(255,255,255,.18)!important;color:#fff!important;border-color:rgba(255,255,255,.4)!important}
.vm-footer .elementor-element-9b35417,.vm-footer .elementor-element-9b35417>.e-con{--padding-left:0px;--padding-right:0px;padding-left:0!important;padding-right:0!important}
/* ===== One-page Multi-Day booking (?book=1) — "MULTI-TOUR Details and availability" ===== */
.vm-ob{padding-top:28px}
.vm-ob__grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:28px;align-items:start}
.vm-ob__main{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;min-width:0;margin:0} /* minmax: long FR labels no longer widen the single column past a 320px screen */
.vm-ob__side{position:sticky;top:calc(var(--vm-hdr,0px) + 16px);display:grid;gap:16px;min-width:0}
.vm-ob__card{background:var(--vm-card);border:1px solid var(--vm-border);border-radius:16px;box-shadow:0 1px 2px rgba(26,23,20,.05);padding:clamp(18px,2.4vw,26px)}
.vm-ob__card[hidden]{display:none}
.vm-ob .vm-ob__card h2{display:flex;align-items:center;gap:12px;margin:0 0 18px;font-size:1.25rem;letter-spacing:-.005em;font-weight:700;line-height:1.3;color:var(--vm-ink-900)}
.vm-ob__num{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--vm-ink-900);color:#fff;font-family:var(--vm-mono);font-size:12px;font-weight:700}
.vm-ob p{margin:0}
.vm-ob__pax{display:grid;gap:10px}
.vm-ob__paxrow{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:6px 0}
.vm-ob__rt{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:15px;font-weight:700;color:var(--vm-ink-900)}
.vm-ob__paxrow .vm-ob__rt{font-weight:600}
.vm-ob__rs{margin-top:3px!important;font-size:12px;line-height:1.5;color:var(--vm-muted)}
.vm-ob__rows .vm-ob__rs{color:var(--vm-ink-700)}
.vm-ob__pill{padding:1px 8px;border-radius:999px;background:var(--vm-page);font-size:11px;font-weight:600;color:var(--vm-muted)}
.vm-ob__subrow{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin:-6px 0 14px}
.vm-ob__subrow p,.vm-ob__sub{font-size:14px;color:var(--vm-ink-700)}
.vm-ob__sub{margin:-6px 0 12px!important}
.vm-ob button.vm-ob__link{padding:0!important;border:0!important;background:none!important;box-shadow:none!important;min-height:0!important;height:auto!important;font:inherit;font-size:14px!important;font-weight:600;color:var(--vm-clay)!important;cursor:pointer}
.vm-ob__rows{display:grid}
.vm-ob__row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:14px 0;border-bottom:1px solid var(--vm-border)}
.vm-ob__row:last-child{border-bottom:0}
.vm-ob__row.is-on{box-shadow:inset 3px 0 0 var(--vm-clay);padding-left:12px}
.vm-ob__rinfo{flex:1 1 200px;min-width:0}
.vm-ob__rprice{flex:0 0 120px}
.vm-ob__rprice p{font-family:var(--vm-mono);font-size:15px;font-weight:700;color:var(--vm-ink-900)}
.vm-ob__rprice small{font-size:11px;color:var(--vm-muted)}
.vm-ob__sel{flex:0 0 165px;display:grid;gap:5px;margin:0;font-size:12px;font-weight:600;color:var(--vm-ink-900)}
.vm-ob__selw{position:relative;display:block}
.vm-ob__selw select{width:100%;height:44px;padding:0 34px 0 12px;border:1px solid var(--vm-border-d);border-radius:12px;background:#fff;font:inherit;font-size:14px;font-weight:400;color:var(--vm-ink-900);-webkit-appearance:none;appearance:none;cursor:pointer}
.vm-ob__selw select:focus{outline:none;border-color:var(--vm-clay);box-shadow:var(--vm-focus)}
.vm-ob__selw .vm-ic{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--vm-ink-700)}
.vm-ob__assign{margin-top:12px!important;font-size:14px;font-weight:600}
.vm-ob__assign.is-ok{color:#2F7A4B}.vm-ob__assign.is-err{color:#B3261E}
.vm-ob__note{margin:-6px 0 18px!important;padding:10px 14px;border-radius:12px;background:var(--vm-camel-50);font-size:14px;color:var(--vm-ink-700)}
.vm-ob__note.is-secure{display:flex;gap:8px;align-items:flex-start;margin-bottom:16px!important}
.vm-ob__lock{display:flex;padding-top:1px;color:#2F7A4B}
.vm-ob__notice{margin:0 0 10px!important;padding:10px 12px;border-radius:12px;background:#F5EDE3;font-size:14px;line-height:1.5;color:var(--vm-ink-900)}
.vm-ob__forms{display:grid;gap:26px}
.vm-ob__trav{margin:0;padding:0;border:0;min-width:0}
.vm-ob__trav legend{padding:0;margin:0 0 4px;font-size:15px;font-weight:700;color:var(--vm-ink-900)}
.vm-ob__fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px 14px;margin-top:8px}
.vm-ob .vm-bk__fld span{font-size:12px}
.vm-ob .vm-bk__fld input::placeholder{color:#A8A09A}
.vm-ob__health{display:block;margin-top:12px}
.vm-ob__hl{display:block;margin:0 0 4px;font-size:12px;font-weight:600;color:var(--vm-ink-900)}
.vm-ob__hl small{font-weight:400;color:var(--vm-muted)}
.vm-ob__hh{display:block;margin:0 0 6px;font-size:12px;line-height:1.5;color:var(--vm-muted)}
.vm-ob__health textarea{width:100%;min-height:84px;padding:10px 12px;border:1px solid var(--vm-border-d);border-radius:12px;background:#fff;font:inherit;font-size:14px;color:var(--vm-ink-900);resize:vertical}
.vm-ob__health textarea:focus{outline:none;border-color:var(--vm-clay);box-shadow:var(--vm-focus)}
.vm-ob__small{margin-top:10px!important;font-size:12px;color:var(--vm-muted)}
.vm-ob__trav>.vm-ob__small{margin:0 0 4px!important}
.vm-ob__methods{display:grid;gap:10px}
.vm-ob__method{padding:14px 16px;border-radius:14px;background:var(--vm-card);border:1px solid var(--vm-border)}
.vm-ob__method.is-on{border:2px solid var(--vm-clay);padding:13px 15px}
.vm-ob__method>label{display:flex;align-items:center;gap:10px;cursor:pointer;margin:0}
.vm-ob__method>label span{flex:1;font-size:15px;font-weight:600;color:var(--vm-ink-900)}
.vm-ob__method>label small{font-size:11px;color:var(--vm-muted)}
.vm-ob__method input[type=radio],.vm-ob__terms input{width:18px;height:18px;margin:0;accent-color:var(--vm-clay);flex:0 0 auto}
.vm-ob__cardf{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:12px;margin-top:14px}
.vm-ob__method:not(.is-on) .vm-ob__cardf{display:none}
.vm-ob__cardf input:disabled{background:#fff;opacity:1;cursor:not-allowed}
.vm-ob__cardf .vm-ob__cardoff{grid-column:1/-1;margin:0!important}
.vm-ob__method [data-ob-show][hidden]{display:none}
.vm-ob__method p[data-ob-show]{margin:10px 0 0 28px!important}
.vm-ob__terms{display:flex;gap:10px;align-items:flex-start;margin:20px 0 18px;cursor:pointer;font-size:14px;line-height:1.55;color:var(--vm-ink-700)}
.vm-ob__terms input{margin-top:2px}
.vm-ob__terms a{font-weight:600;color:var(--vm-clay)!important}
.vm-ob__problems{margin:0 0 14px;padding:12px 14px;border-radius:12px;border:1px solid #F1C7C3;background:#FDF1F0}
.vm-ob__problems[hidden]{display:none}
.vm-ob__problems p{font-size:14px;font-weight:700;color:var(--vm-ink-900)}
.vm-ob__problems ul{margin:6px 0 0;padding-left:18px;font-size:14px;color:var(--vm-ink-700)}
.vm-ob button.vm-ob__book{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:52px!important;border-radius:999px!important;font-size:16px!important;font-weight:700}
.vm-ob__charge{margin-top:10px!important;text-align:center;font-size:12px;color:var(--vm-muted)}
.vm-ob__trip{padding:0;overflow:hidden}
.vm-ob__img{position:relative;aspect-ratio:16/9;background:var(--vm-camel-100);display:flex;align-items:center;justify-content:center;overflow:hidden}
.vm-ob__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vm-ob__ph{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:80%;text-align:center;font-size:12px;color:var(--vm-muted)}
.vm-ob__tripb{padding:18px 20px 20px}
.vm-ob__eyebrow{margin-bottom:4px!important;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--vm-clay-700)}
.vm-ob h1.vm-ob__title{margin:0 0 12px;font-size:1.25rem;line-height:1.3;font-weight:700;color:var(--vm-ink-900);text-wrap:pretty}
.vm-ob__facts{display:grid;gap:7px;margin:0;padding:0 0 12px;border-bottom:1px solid var(--vm-border)}
.vm-ob__facts div{display:flex;justify-content:space-between;gap:12px;font-size:14px}
.vm-ob__facts dt{color:var(--vm-muted);font-weight:400}
.vm-ob__facts dd{margin:0;font-family:var(--vm-mono);text-align:right;color:var(--vm-ink-900)}
.vm-ob__label{margin:12px 0 6px!important;font-size:12px;font-weight:600;color:var(--vm-ink-900)}
.vm-ob__datemsg{margin-top:8px!important;font-size:12px;line-height:1.5;color:var(--vm-muted)}
.vm-ob__datemsg.is-err{padding:8px 10px;border-radius:10px;background:#FBEDEA;color:#8A2A12}
.vm-ob__datemsg[hidden]{display:none}
.vm-ob .vm-ob__price h2,.vm-ob .vm-ob__why h2{margin-bottom:12px}
.vm-ob__paxline{margin-bottom:10px!important;font-size:14px;color:var(--vm-ink-700)}
.vm-ob__lines{display:grid;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--vm-border)}
.vm-ob__lines p,.vm-ob__tot p{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:var(--vm-ink-700)}
.vm-ob__lines p span:last-child,.vm-ob__tot p span:last-child{font-family:var(--vm-mono);color:var(--vm-ink-900);white-space:nowrap}
.vm-ob__tot{display:grid;gap:8px;padding-top:12px}
.vm-ob__tot .is-total{font-size:15px;font-weight:700}
.vm-ob__tot .is-total span{color:var(--vm-ink-900)}
.vm-ob__tot .is-due span{color:var(--vm-clay)!important;font-weight:600}
.vm-ob__tot .is-due span:last-child{font-weight:700}
.vm-ob__tot .is-bal span{color:var(--vm-muted)!important}
.vm-ob__why ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.vm-ob__why li{display:flex;gap:10px;font-size:14px;line-height:1.5;color:var(--vm-ink-700)}
.vm-ob__why li strong{color:var(--vm-ink-900)}
.vm-ob__whyic{flex:0 0 auto;display:flex;padding-top:2px;color:var(--vm-clay)}
.vm-ob__tel{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-size:14px;font-weight:600;color:var(--vm-clay)!important;text-decoration:none!important}
.vm-ob .vm-bk__done{border:1px solid var(--vm-border)}
@media (max-width:980px){.vm-ob__grid{grid-template-columns:minmax(0,1fr)}.vm-ob__side{position:static;order:-1}}
@media (max-width:560px){.vm-ob__rprice{flex:1 1 auto}.vm-ob__sel{flex:1 1 100%}}
@media (max-width:1180px) and (min-width:981px){.vm-ob__grid{grid-template-columns:minmax(0,1fr) 330px;gap:22px}}
/* ===== Round 6 — AI Trip Planner: step-by-step planner (prototype plannerVals) ===== */
html.vm-ai-js #vm-planner:not(.is-open){display:none!important}
.vm-ai-herobtns[hidden],.vm-ai[hidden],.vm-aw[hidden],.vm-aw__busy[hidden],.vm-awr[hidden],.vm-aw [hidden]{display:none!important}
.vm-ai-herobtns .vm-ai-wizbtn .elementor-button{background:transparent!important;color:var(--vm-clay-600)!important;border:1px solid transparent!important;box-shadow:none!important}
.vm-ai-herobtns .vm-ai-wizbtn .elementor-button:hover,.vm-ai-herobtns .vm-ai-wizbtn .elementor-button:focus-visible{background:#FBF1EC!important;color:var(--vm-clay-600)!important}
.vm-aw{display:flex;flex-direction:column;gap:24px;margin:0 0 40px;padding:clamp(20px,3vw,36px);background:var(--vm-card);border:1px solid var(--vm-border);border-radius:24px;box-shadow:var(--vm-shadow-sm);scroll-margin-top:90px;outline:none}
.vm-aw__steps{display:flex;align-items:center;margin:0!important;padding:0!important;list-style:none}
.vm-aw__step{display:flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0;margin:0!important}
.vm-aw__step:first-child{flex:0 0 auto}
.vm-aw__step+.vm-aw__step:before{content:"";flex:1 1 auto;min-width:12px;height:1px;margin:0 10px 0 2px;background:var(--vm-border-d)}
.vm-aw__step.is-on:before,.vm-aw__step.is-done:before{background:var(--vm-clay)}
.vm-aw__num{flex:none;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:1px solid #C7BDB1;background:var(--vm-card);color:var(--vm-muted);font-family:var(--vm-mono);font-size:13px;font-weight:700}
.vm-aw__num .vm-ic{display:none;stroke-width:3}
.vm-aw__step.is-on .vm-aw__num,.vm-aw__step.is-done .vm-aw__num{background:var(--vm-clay);border-color:var(--vm-clay);color:#fff}
.vm-aw__step.is-done .vm-aw__n{display:none}.vm-aw__step.is-done .vm-aw__num .vm-ic{display:block}
.vm-aw__sl{font-size:13px;font-weight:500;color:var(--vm-muted);white-space:nowrap}
.vm-aw__step.is-on .vm-aw__sl{font-weight:600;color:var(--vm-ink-900)}
.vm-aw__panel{display:flex;flex-direction:column;gap:0}
.vm-aw__panel--style{gap:26px}.vm-aw__panel--pax{gap:22px}
.vm-aw .vm-aw__q{margin:0 0 6px!important;font-size:1.125rem!important;line-height:1.35!important;font-weight:700!important;letter-spacing:0!important;color:var(--vm-ink-900)!important}
.vm-aw__panel--style .vm-aw__q+.vm-aw__grid,.vm-aw__panel--pax .vm-aw__q+.vm-aw__grid{margin-top:14px}
.vm-aw__hint{margin:0 0 14px!important;font-size:14px;color:var(--vm-muted)}
.vm-aw__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:10px}
.vm-aw__grid--210{grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr))}
.vm-aw__grid--200{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr))}
.vm-aw__grid--150{grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr))}
.vm-aw button.vm-aw__opt{display:flex;align-items:center;gap:10px;min-height:52px;margin:0;padding:12px 14px!important;text-align:left;cursor:pointer;font:inherit;font-size:14px!important;font-weight:600!important;line-height:1.3!important;letter-spacing:0!important;text-transform:none!important;border-radius:12px!important;border:1px solid var(--vm-border)!important;background:var(--vm-card)!important;color:var(--vm-ink-900)!important;box-shadow:none!important;transition:border-color 140ms,background 140ms,box-shadow 140ms;white-space:normal}
.vm-aw button.vm-aw__opt:hover{border-color:var(--vm-border-d)!important;background:var(--vm-card)!important;color:var(--vm-ink-900)!important}
.vm-aw button.vm-aw__opt.is-on{padding:11px 13px!important;border:2px solid var(--vm-clay)!important;background:var(--vm-camel-50)!important;box-shadow:var(--vm-shadow-sm)!important}
.vm-aw button.vm-aw__opt:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(180,85,47,.38)!important}
.vm-aw button.vm-aw__opt.has-sub{flex-direction:column;align-items:flex-start;gap:4px}
.vm-aw__optl{display:flex;align-items:center;gap:8px}
.vm-aw__ic{display:inline-flex;flex:none;color:var(--vm-clay)}
.vm-aw__sub{font-size:13px;font-weight:400;line-height:1.45;color:var(--vm-muted)}
.vm-aw__dates{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px;max-width:560px;margin:12px 0 18px}
.vm-aw__field{display:flex;flex-direction:column;gap:6px;margin:0}
.vm-aw__field span{font-size:13px;font-weight:600;color:var(--vm-ink-900)}
.vm-aw__field input{height:48px!important;padding:0 14px!important;border:1px solid var(--vm-border-d)!important;border-radius:12px!important;background:var(--vm-card)!important;font:inherit;font-size:16px!important;color:var(--vm-ink-900)!important;box-shadow:none!important;width:100%}
.vm-aw__field input:focus{outline:none;border-color:var(--vm-clay)!important;box-shadow:0 0 0 3px rgba(180,85,47,.38)!important}
.vm-aw__days{display:flex;flex-wrap:wrap;align-items:center;gap:14px;max-width:560px;padding:14px 16px;border-radius:12px;background:var(--vm-camel-50)}
.vm-aw__dayst{flex:1 1 220px;font-size:15px;font-weight:600;color:var(--vm-ink-900)}
.vm-aw__stepper{display:inline-flex;align-items:center;gap:6px}
.vm-aw button.vm-aw__pm{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-height:0;margin:0;padding:0!important;border-radius:999px!important;border:1px solid var(--vm-border-d)!important;background:var(--vm-card)!important;color:var(--vm-ink-900)!important;box-shadow:none!important;cursor:pointer}
.vm-aw button.vm-aw__pm:hover{background:#FAF6F1!important}
.vm-aw button.vm-aw__pm[disabled]{opacity:.45;cursor:not-allowed}
.vm-aw__daysn{min-width:34px;text-align:center;font-family:var(--vm-mono);font-size:1.125rem;font-weight:700;color:var(--vm-ink-900)}
.vm-aw__pax{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px;margin-top:10px}
.vm-aw__paxrow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1px solid var(--vm-border);border-radius:12px}
.vm-aw__paxrow>span:first-child{font-size:14px;font-weight:600;color:var(--vm-ink-900)}
.vm-aw__paxn{min-width:24px;text-align:center;font-family:var(--vm-mono);font-weight:700;color:var(--vm-ink-900)}
.vm-aw__err{margin:14px 0 0!important;padding:10px 12px;border-radius:10px;background:#FBEDEA;color:#8A2A12;font-size:14px;line-height:1.5}
.vm-aw__nav{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding-top:18px;border-top:1px solid var(--vm-border)}
.vm-aw__sp{flex:1 1 auto}
.vm-aw button.vm-aw__back,.vm-aw button.vm-aw__next,.vm-awr button.vm-aw__create,.vm-aw button.vm-aw__create,.vm-awr button.vm-awr__out{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;min-height:0;margin:0;padding:0 20px!important;border-radius:999px!important;font:inherit;font-size:15px!important;font-weight:600!important;line-height:1!important;letter-spacing:-.005em;text-transform:none!important;white-space:nowrap;cursor:pointer;box-shadow:none!important}
.vm-aw button.vm-aw__back{background:transparent!important;border:1px solid transparent!important;color:var(--vm-clay-600)!important}
.vm-aw button.vm-aw__back:hover{background:#FBF1EC!important}
.vm-aw button.vm-aw__next,.vm-aw button.vm-aw__create,.vm-awr button.vm-aw__create{background:var(--vm-clay)!important;border:1px solid var(--vm-clay)!important;color:#fff!important;box-shadow:0 1px 2px rgba(26,23,20,.06)!important}
.vm-aw button.vm-aw__next:hover,.vm-aw button.vm-aw__create:hover,.vm-awr button.vm-aw__create:hover{background:var(--vm-clay-600)!important;border-color:var(--vm-clay-600)!important}
.vm-aw button.vm-aw__create{height:52px;padding:0 28px!important;gap:10px;font-size:17px!important}
.vm-awr button.vm-awr__out{background:transparent!important;border:1px solid #C7BDB1!important;color:var(--vm-ink-900)!important}
.vm-awr button.vm-awr__out:hover{background:#FAF6F1!important}
.vm-aw__busy{display:flex;align-items:center;gap:14px;margin:0 0 40px;padding:28px;border-radius:24px;background:var(--vm-camel-50);color:var(--vm-clay)}
.vm-aw__busy p{margin:0!important;font-size:17px;font-weight:600;color:var(--vm-ink-900)}
.vm-aw__busy .vm-ic{animation:vmAwPulse 1.2s ease-in-out infinite}
@keyframes vmAwPulse{50%{opacity:.35}}
.vm-awr{display:flex;flex-direction:column;gap:32px;margin:0 0 40px;scroll-margin-top:90px;outline:none}
.vm-awr__sum{padding:clamp(22px,3.4vw,40px);border-radius:24px;background:#0F2A28;color:#fff}
.vm-awr__eb{margin:0 0 8px!important;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:#DFB780}
.vm-awr .vm-awr__sum h2{margin:0 0 10px!important;font-size:1.75rem!important;line-height:1.2!important;letter-spacing:-.02em;font-weight:800!important;color:#fff!important}
.vm-awr__route{margin:0 0 6px!important;font-family:var(--vm-mono);font-size:14px;color:#EBD2AB}
.vm-awr__lead{margin:10px 0 0!important;max-width:70ch;font-size:17px;line-height:1.55;color:rgba(255,255,255,.9)}
.vm-awr__why{margin:8px 0 0!important;max-width:70ch;font-size:15px;line-height:1.55;color:rgba(255,255,255,.8)}
.vm-awr__src{margin:14px 0 0!important;display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#DFB780}
.vm-awr__refine{display:flex;flex-wrap:wrap;gap:8px}
.vm-awr button.vm-awr__chip{display:inline-flex;align-items:center;gap:7px;min-height:40px;margin:0;padding:8px 14px!important;border-radius:999px!important;border:1px solid var(--vm-border-d)!important;background:var(--vm-card)!important;font:inherit;font-size:14px!important;font-weight:600!important;line-height:1.2!important;text-transform:none!important;color:var(--vm-ink-900)!important;box-shadow:none!important;cursor:pointer}
.vm-awr button.vm-awr__chip:hover{background:#FAF6F1!important}
.vm-awr button.vm-awr__chip .vm-ic{color:var(--vm-clay)}
.vm-awr .vm-awr__h{margin:0 0 16px!important;font-size:1.375rem!important;font-weight:700!important;letter-spacing:-.012em;color:var(--vm-ink-900)!important}
.vm-awr__days{list-style:none;margin:0!important;padding:0!important;display:grid;gap:12px}
.vm-awr__day{margin:0!important;padding:16px;border:1px solid var(--vm-border);border-radius:16px;background:var(--vm-card)}
.vm-awr__dn{margin:0 0 2px!important;font-family:var(--vm-mono);font-size:13px;font-weight:600;color:var(--vm-clay-600)}
.vm-awr__dt{margin:0 0 4px!important;font-size:15px;font-weight:700;color:var(--vm-ink-900)}
.vm-awr__dx{margin:0!important;font-size:14px;line-height:1.55;color:var(--vm-ink-700)}
.vm-awr__tour{display:inline-flex;align-items:center;gap:5px;margin-top:8px;font-size:14px;font-weight:600;color:var(--vm-clay-700)!important}
.vm-awr__recs{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,272px),1fr));gap:24px}
.vm-awr__rec{display:flex;flex-direction:column;gap:8px;min-width:0}
.vm-awr__rd{margin:0!important;font-size:13px;line-height:1.5;color:var(--vm-muted)}
.vm-awr__none{margin:0!important;padding:16px 18px;border-radius:12px;background:var(--vm-camel-50);color:var(--vm-ink-700)}
.vm-awr__cta{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px}
.vm-awr__make,.vm-awr__exp{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:clamp(20px,3vw,32px);border-radius:24px}
.vm-awr__make{background:var(--vm-camel-50)}.vm-awr__exp{border:1px solid var(--vm-border);background:var(--vm-card)}
.vm-awr .vm-awr__make h2{margin:0!important;font-size:1.375rem!important;font-weight:800!important;letter-spacing:-.015em;color:var(--vm-ink-900)!important}
.vm-awr .vm-awr__exp h2{margin:0!important;font-size:1.125rem!important;font-weight:700!important;color:var(--vm-ink-900)!important}
.vm-awr__make p,.vm-awr__exp p{margin:0 0 6px!important;font-size:15px;line-height:1.55;color:var(--vm-ink-700)}
.vm-awr button.vm-aw__create--md{height:44px;padding:0 20px!important;font-size:15px!important}
@media (max-width:640px){.vm-aw__step:not(.is-on) .vm-aw__sl{display:none}.vm-aw__step+.vm-aw__step:before{margin:0 6px}.vm-aw__nav{gap:8px}.vm-aw button.vm-aw__create{width:100%;padding:0 18px!important;font-size:16px!important}.vm-aw__nav .vm-aw__sp{display:none}.vm-aw button.vm-aw__next{margin-left:auto}}

/* ==== Round 9 — responsive header / footer fixes ====
   Header root cause: the right-hand group (.vm-hdr-right: language, account, Tripadvisor badge, menu button) is stored in
   Elementor with width 100% of the row, flex-shrink 0 and an invalid margin-left ("autopx"). It therefore started right after
   the logo/nav and ran past the right edge: the menu button was off-screen on 320px phones, and the language switch, account
   and Tripadvisor badge were cut off on every desktop width (EN and FR). Same pattern for the top bar's contact block. */
.vm-header .vm-hdr-right{--width:auto;width:auto!important;max-width:100%;margin-left:auto!important;--padding-left:0px;--padding-right:0px;padding-left:0!important;padding-right:0!important;flex-wrap:nowrap!important}
.vm-topbar .elementor-element-fc22a26{--width:auto;width:auto!important;margin-left:auto!important;flex:0 1 auto!important;min-width:0}
/* Desktop main nav: may shrink; a label wraps onto two centred lines only when the row is too narrow (long FR labels). */
@media (min-width:1025px){
	.vm-header .vm-mainnav{--flex-shrink:1;flex:1 1 auto!important;min-width:0}
	.vm-header .vm-mainnav .xpro-elementor-horizontal-navbar-nav{flex-wrap:nowrap!important}
	.vm-header .vm-mainnav .xpro-elementor-horizontal-navbar-nav>li{flex:0 1 auto;min-width:0}
	.vm-header .vm-mainnav .xpro-elementor-horizontal-navbar-nav>li>a{display:flex;align-items:center;justify-content:center;min-height:60px;min-width:0!important;max-width:100%;margin:0 2px!important;padding:0 10px!important;white-space:normal!important;text-align:center;line-height:1.25!important;text-wrap:balance}
}
@media (min-width:1025px) and (max-width:1199px){
	.vm-header .vm-mainnav .xpro-elementor-horizontal-navbar-nav>li>a{margin:0 1px!important;padding:0 7px!important}
	.vm-header .elementor-element-4aed2b4>.e-con-inner{--gap:12px;gap:12px!important}
	.vm-topbar .elementor-element-fc22a26{display:none!important} /* Same as tablet: contact details stay in the footer / Contact page. */
}
@media (max-width:1199px){.vm-topbar .vm-utility .xpro-elementor-horizontal-navbar-nav>li>a{margin-left:3px!important;margin-right:3px!important}} /* "Contact us" was cut off at 768px. */
@media (max-width:767px){.vm-header .vm-hdr-right{--gap:8px;gap:8px!important}}
@media (max-width:374px){
	.vm-header .elementor-element-4aed2b4>.e-con-inner{--gap:10px;gap:10px!important}
	.vm-header .vm-hdr-right{--gap:4px;gap:4px!important}
}
/* Footer (mobile): contact blocks use the desktop icon-left layout and the full column width; long e-mails wrap at "@"
   (see vm.js) instead of running out of the column; legal links lose their dangling "|" separators when they wrap and get
   32px tap height; payment icons align left like the rest of the column. */
.vm-footer a[href^="mailto:"]{overflow-wrap:break-word}
@media (max-width:767px){
	.vm-footer a[href^="mailto:"]{white-space:normal!important}
	.vm-footer .elementor-element-dd65eb4{--padding-left:0px;--padding-right:0px;padding-left:0!important;padding-right:0!important}
	.vm-footer .vm-fbox .elementor-icon-box-wrapper{display:flex!important;flex-direction:row!important;align-items:flex-start;text-align:left!important;gap:12px}
	.vm-footer .vm-fbox .elementor-icon-box-icon{margin:1px 0 0!important;flex:0 0 auto}
	.vm-footer .vm-fbox .elementor-icon-box-content{min-width:0;flex:1 1 auto}
	.vm-footer .vm-pay .elementor-grid{justify-content:flex-start!important}
	.vm-footer .vm-flegal .elementor-icon-list-items{column-gap:18px;row-gap:0;margin-inline:0!important}
	.vm-footer .vm-flegal .elementor-icon-list-item{margin-inline:0!important;padding:0!important}
	.vm-footer .vm-flegal .elementor-icon-list-item:after{display:none!important}
	.vm-footer .vm-flegal .elementor-icon-list-item>a{display:inline-flex;align-items:center;min-height:32px}
}
/* "Explore" pills (home, Things to do): the nowrap label made the longest pills wider than a 320–360px screen. */
.elementor .vm-explore-pill{max-width:100%}
.elementor .vm-explore-pill .elementor-button{max-width:100%}
@media (max-width:420px){.elementor .vm-explore-pill .elementor-button{white-space:normal;text-align:left}}
/* Fixed-width Elementor containers (e.g. 760/820/880/1000px content columns on FAQ, Contact, Legal, Team, Tailor-made)
   had no tablet override and ran past the screen at 768–1024px. Cap them to their parent; :where() keeps specificity low so
   the platform's own max-width rules (e.g. .vm-faq-after) still win. */
.elementor :where(.e-con.e-con-full){max-width:100%}
/* Legal pages: the 700px text column did not shrink next to the table of contents on tablets. */
.elementor .vm-legal-content{--flex-shrink:1;flex-shrink:1!important;min-width:0}
/* Tap targets (mobile/tablet): footer menu links and the Tripadvisor link were 20–23px tall; the padding is cancelled by an
   equal negative margin so the visual spacing is unchanged while the touch area becomes ~32px. */
@media (max-width:1024px){
	.vm-footer nav li>a{display:inline-block;padding-block:6px;margin-block:-6px}
	.vm-pd__talink{display:inline-block;padding-block:5px;margin-block:-5px}
}
/* Heading levels (v1.14.1): card titles that sit directly under the page H1 are H2 — same look as the H3 titles before. */
.vm-card h2.vm-card__title{margin:0;font-size:22px;line-height:1.2em;letter-spacing:-.012em}
.vm-list .vm-card h2.vm-card__title{font-size:20px}
.vm-dindex .vm-datt__b h2{margin:0;font-size:22px;line-height:1.2em;letter-spacing:-.012em;font-weight:700}

/* ==== Round 10 — header / footer (Tripadvisor badge and mobile account icon removed from the header templates) ====
   Hamburger mode (≤1024px, where the main navigation becomes the menu button): the top bar is shown on every size and
   holds "Contact us" + the language switch; its other links (Things to do, Tailor-made, About us, Our team) are in the
   menu. The account control stays on desktop; in hamburger mode the menu's own "Log in or sign up" item replaces it. */
.vm-langdd.is-open .vm-langdd__panel{opacity:1;visibility:visible;transform:none}
.vm-langdd.is-open .vm-langdd__btn .vm-ic:last-child{transform:rotate(180deg)}
.vm-langdd__btn:focus-visible,.vm-langdd__panel a:focus-visible{outline:2px solid var(--vm-clay-700,#8A3B1E);outline-offset:2px}
@media (max-width:1024px){
	.vm-topbar .vm-topbar-inner>.e-con-inner{justify-content:flex-end!important;--gap:12px;gap:12px!important}
	.vm-topbar .vm-utility{--flex-grow:0;flex:0 1 auto!important;min-width:0;width:auto!important}
	.vm-topbar .vm-utility .xpro-elementor-horizontal-navbar-nav>li:not(.vm-contact-item){display:none!important}
	.vm-topbar .vm-utility .xpro-elementor-horizontal-navbar-nav>li.vm-contact-item>a{display:flex!important;align-items:center;min-height:40px;padding-top:0!important;padding-bottom:0!important;margin:0!important}
	.vm-topbar .vm-langctl--top{flex:0 0 auto}
	.vm-topbar .vm-langctl--top .vm-langdd__btn{height:36px}
	.vm-topbar .vm-langctl--top .vm-langdd__panel{z-index:80}
}
@media (max-width:767px){.vm-topbar .vm-topbar-inner>.e-con-inner{padding-left:16px!important;padding-right:16px!important}}
/* Footer contact information (between the main footer and the "Proudly creating…" line): four blocks side by side when
   they fit at their natural width (addresses never cut), 2 × 2 on tablets and small laptops, one column on phones. */
.vm-footer .vm-fcontact>.e-con-inner{display:grid!important;grid-template-columns:repeat(4,max-content);justify-content:space-between;align-items:start;gap:24px 40px}
.vm-footer .vm-fcontact .vm-fbox{width:auto!important;max-width:100%;min-width:0;margin:0!important}
@media (max-width:1199px){.vm-footer .vm-fcontact>.e-con-inner{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}}
@media (max-width:639px){.vm-footer .vm-fcontact>.e-con-inner{grid-template-columns:minmax(0,1fr);gap:20px}}
.vm-footer .vm-fcontact .vm-fphone a[href^="tel:"]{display:inline-flex;align-items:center;min-height:32px;white-space:nowrap}
.vm-footer .vm-fcontact a[href^="mailto:"]{display:inline-block;padding-block:4px}
.vm-footer .vm-wa-mini{position:relative}
.vm-footer .vm-wa-mini:after{content:"";position:absolute;inset:-4px} /* 34px tap area, same 26px icon */
/* Main footer: the Contact us column now holds the two offices; it gets the width they need so "M’hamid El Ghizlane office"
   and its address stay on one line each on desktop. Between 1025 and 1199px four columns were too narrow (the About links
   and the language/currency row ran out of their columns), so the footer uses the tablet 2 × 2 layout there. */
.vm-footer .elementor-element-dd65eb4{--padding-left:0px;--padding-right:0px;padding-left:0!important;padding-right:0!important}
@media (min-width:1200px){.vm-footer .elementor-element-3cb5faa>.e-con-inner{grid-template-columns:minmax(0,1fr) minmax(0,.75fr) minmax(0,1.4fr) minmax(0,.85fr)!important}}
@media (min-width:1025px) and (max-width:1199px){.vm-footer .elementor-element-3cb5faa>.e-con-inner{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
/* Menu panel (hamburger): the header's frosted-glass backdrop-filter made it the containing block of the fixed panel, so
   once the top bar had scrolled away the panel started 41px above the screen (close button cut off, bottom strip uncovered).
   The filter is paused while the menu is open (class set by vm.js); the panel is also never wider than the screen. */
.vm-menu-open .vm-header{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
/* Menu panel (hamburger): never wider than the screen (it is 360px wide, more than a 320px phone). */
.vm-drawer .xpro-elementor-horizontal-navbar-wrapper{max-width:100vw}
