/* =================================================================
   VM HEADER / NAV / FOOTER — clean custom system (2026-06-27)
   Replaces the theme superfish header. Self-contained, accessible.
   ================================================================= */
.vm-skip{position:absolute;left:-9999px;top:auto;background:var(--vm-saffron);color:var(--vm-indigo);
  padding:10px 16px;border-radius:4px;z-index:10000;font-weight:700;font-family:'Manrope',sans-serif;}
.vm-skip:focus{left:16px;top:12px;}

/* ---- Sticky header (in normal flow → never overlaps hero) ---- */
.vm-site-header{position:sticky;top:0;z-index:1000;font-family:'Manrope',sans-serif;}
.vm-site-header .vm-wrap{display:flex;}

/* top bar */
.vm-topbar{background:var(--vm-indigo-dark);color:var(--vm-sand-light);font-size:13px;
  border-bottom:1px solid rgba(255,180,0,.14);transition:height .3s ease,opacity .3s ease;}
.vm-topbar-inner{justify-content:space-between;align-items:center;min-height:40px;gap:18px;}
.vm-topbar a{color:var(--vm-sand-light);text-decoration:none;transition:color .18s;}
.vm-topbar a:hover{color:var(--vm-saffron);}
.vm-topbar-left{display:flex;gap:22px;}
.vm-topbar-left i{color:var(--vm-saffron);margin-right:5px;}
.vm-topbar-right{display:flex;align-items:center;gap:14px;}
.vm-social{display:inline-flex;gap:12px;}
.vm-social a{opacity:.85;}.vm-social a:hover{opacity:1;}

/* main navbar */
.vm-navbar{background:linear-gradient(180deg,#1B2D4A,#16263F);box-shadow:0 2px 18px rgba(15,28,48,.16);
  border-bottom:2px solid rgba(255,180,0,.55);}
.vm-navbar-inner{align-items:center;justify-content:space-between;min-height:74px;gap:18px;}
.vm-brand{display:inline-flex;align-items:center;flex:0 0 auto;}
.vm-brand img{height:54px;width:auto;display:block;transition:height .3s ease;}

/* scrolled state — compact, hide topbar */
.vm-site-header.vm-scrolled .vm-topbar{height:0;min-height:0;opacity:0;overflow:hidden;border:0;}
.vm-site-header.vm-scrolled .vm-navbar{background:rgba(20,33,55,.96);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);
  box-shadow:0 8px 26px rgba(15,28,48,.30);}
.vm-site-header.vm-scrolled .vm-navbar-inner{min-height:62px;}
.vm-site-header.vm-scrolled .vm-brand img{height:44px;}

/* desktop menu */
.vm-mainnav{flex:1 1 auto;display:flex;justify-content:center;}
.vm-menu{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0;}
.vm-menu .vm-top{display:flex;align-items:center;gap:5px;padding:12px 15px;color:var(--vm-sand-light);
  font-weight:600;font-size:15px;letter-spacing:.01em;text-decoration:none;border-radius:6px;
  transition:color .18s ease,background .18s ease;white-space:nowrap;}
.vm-menu .vm-top:hover,.vm-menu .vm-item.vm-current>.vm-top{color:var(--vm-saffron);}
.vm-caret{width:11px;height:8px;transition:transform .22s ease;opacity:.8;}
.vm-has-drop:hover .vm-caret,.vm-has-drop.vm-open .vm-caret{transform:rotate(180deg);}

/* dropdown — drops BELOW the bar, never covers sibling items */
.vm-has-drop{position:relative;}
.vm-drop{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);
  min-width:248px;padding-top:10px;opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .2s ease,transform .2s ease;z-index:1001;}
.vm-has-drop:hover .vm-drop,.vm-has-drop:focus-within .vm-drop,.vm-has-drop.vm-open .vm-drop{
  opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.vm-drop-inner{background:#fff;border-radius:10px;box-shadow:0 18px 44px rgba(15,28,48,.22);
  border-top:3px solid var(--vm-saffron);padding:8px;overflow:hidden;}
.vm-drop ul{list-style:none;margin:0;padding:0;}
.vm-drop a{display:block;padding:11px 16px;color:var(--vm-ink);font-size:14px;font-weight:500;
  text-decoration:none;border-radius:7px;transition:all .16s ease;white-space:nowrap;}
.vm-drop a:hover{background:var(--vm-sand-light);color:var(--vm-terracotta);padding-left:22px;}

/* nav actions (CTA + burger) */
.vm-nav-actions{display:flex;align-items:center;gap:14px;flex:0 0 auto;}
.vm-cta-btn{display:inline-block;background:var(--vm-terracotta);color:#fff;font-weight:700;font-size:14px;
  padding:11px 22px;border-radius:999px;text-decoration:none;letter-spacing:.01em;white-space:nowrap;
  box-shadow:0 4px 14px rgba(255,140,0,.32);transition:transform .15s ease,box-shadow .2s ease,background .2s ease;}
.vm-cta-btn:hover{background:var(--vm-terracotta-dark);transform:translateY(-1px);box-shadow:0 8px 22px rgba(255,140,0,.42);}

/* hamburger */
.vm-burger{display:none;width:46px;height:46px;border:0;background:rgba(255,255,255,.08);border-radius:10px;
  cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0;}
.vm-burger span{display:block;width:24px;height:2px;background:#fff;border-radius:2px;transition:.25s ease;}
.vm-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.vm-burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.vm-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* language switcher pill (header) */
.vm-lang-switcher{display:inline-flex;gap:2px;align-items:center;padding:2px;border-radius:999px;background:rgba(255,255,255,.08);}
.vm-lang-switcher a{font-size:12px;font-weight:600;padding:3px 9px;color:var(--vm-sand-light);opacity:.8;
  text-decoration:none;border-radius:999px;letter-spacing:.04em;transition:all .16s ease;}
.vm-lang-switcher a:hover{opacity:1;color:#fff;background:rgba(255,180,0,.22);}
.vm-lang-switcher a.active{opacity:1;color:var(--vm-indigo);background:var(--vm-saffron);font-weight:700;}

/* ---- Mobile drawer ---- */
.vm-drawer-overlay{position:fixed;inset:0;background:rgba(10,21,37,.55);z-index:1090;opacity:0;transition:opacity .3s ease;}
.vm-drawer-overlay.show{opacity:1;}
.vm-drawer{position:fixed;top:0;right:0;height:100%;width:min(86vw,360px);background:#14233B;color:#fff;
  z-index:1100;transform:translateX(100%);transition:transform .32s cubic-bezier(.4,0,.2,1);
  display:flex;flex-direction:column;box-shadow:-12px 0 40px rgba(0,0,0,.35);overflow-y:auto;}
.vm-drawer.open{transform:translateX(0);}
.vm-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;
  border-bottom:1px solid rgba(255,255,255,.1);position:sticky;top:0;background:#14233B;}
.vm-drawer-head img{height:42px;width:auto;}
.vm-drawer-close{width:42px;height:42px;border:0;background:rgba(255,255,255,.08);border-radius:10px;color:#fff;cursor:pointer;}
.vm-drawer-close svg{width:22px;height:22px;}
.vm-drawer-nav{padding:8px 0;flex:1 1 auto;}
.vm-mobile-menu{list-style:none;margin:0;padding:0;}
.vm-mobile-menu>li{border-bottom:1px solid rgba(255,255,255,.07);}
.vm-mitem>a,.vm-macc-link{display:block;padding:15px 22px;color:#fff;text-decoration:none;font-weight:600;font-size:16px;}
.vm-mitem>a:active,.vm-macc-link:active{background:rgba(255,255,255,.05);}
.vm-macc-row{display:flex;align-items:center;justify-content:space-between;}
.vm-macc-link{flex:1 1 auto;}
.vm-macc-btn{width:54px;align-self:stretch;border:0;background:transparent;color:#fff;cursor:pointer;
  border-left:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;}
.vm-macc-btn .vm-caret{width:14px;height:9px;transition:transform .24s ease;}
.vm-macc.open .vm-macc-btn .vm-caret{transform:rotate(180deg);}
.vm-macc-sub{list-style:none;margin:0;padding:0;max-height:0;overflow:hidden;background:rgba(0,0,0,.18);
  transition:max-height .3s ease;}
.vm-macc.open .vm-macc-sub{max-height:560px;}
.vm-macc-sub a{display:block;padding:12px 22px 12px 34px;color:rgba(255,255,255,.82);text-decoration:none;font-size:14.5px;}
.vm-macc-sub a:hover{color:var(--vm-saffron);}
.vm-drawer-foot{padding:18px 22px 26px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:14px;}
.vm-drawer-cta{display:block;text-align:center;background:var(--vm-terracotta);color:#fff;font-weight:700;
  padding:13px;border-radius:999px;text-decoration:none;}
.vm-drawer-lang{display:flex;gap:8px;}
.vm-drawer-lang a{flex:1;text-align:center;font-weight:600;font-size:13px;color:#fff;opacity:.85;
  padding:8px 0;border:1px solid rgba(255,255,255,.22);border-radius:8px;text-decoration:none;}
.vm-drawer-lang a.active{background:var(--vm-saffron);color:var(--vm-indigo);border-color:var(--vm-saffron);opacity:1;}
.vm-drawer-contact{display:flex;flex-direction:column;gap:8px;font-size:14px;}
.vm-drawer-contact a{color:rgba(255,255,255,.85);text-decoration:none;}
.vm-drawer-contact i{color:var(--vm-saffron);width:18px;}
.vm-drawer-social{display:flex;gap:16px;font-size:18px;}
.vm-drawer-social a{color:rgba(255,255,255,.8);}.vm-drawer-social a:hover{color:var(--vm-saffron);}

/* ---- accessibility: focus rings ---- */
.vm-menu .vm-top:focus-visible,.vm-drop a:focus-visible,.vm-cta-btn:focus-visible,
.vm-burger:focus-visible,.vm-lang-switcher a:focus-visible,.vm-drawer a:focus-visible,
.vm-drawer button:focus-visible{outline:3px solid var(--vm-saffron);outline-offset:2px;border-radius:6px;}

/* ---- Responsive breakpoints ---- */
@media (max-width:1080px){
  .vm-menu .vm-top{padding:12px 11px;font-size:14px;}
  .vm-topbar-left a:last-child{display:none;}
}
@media (max-width:999px){
  .vm-mainnav{display:none;}
  .vm-burger{display:flex;}
  .vm-cta-btn{display:none;}
  .vm-navbar-inner{min-height:64px;}
  .vm-topbar-left a:last-child{display:inline;}
}
@media (max-width:560px){
  .vm-wrap{padding:0 18px;}
  .vm-topbar{display:none;}
  .vm-navbar-inner{min-height:60px;}
  .vm-brand img{height:46px;}
}

/* =================================================================
   VM FOOTER — balanced grid, no empty space
   ================================================================= */
.vm-footer{background:linear-gradient(180deg,#16263F,#0F1C30);color:#b7c4d6;font-family:'Manrope',sans-serif;}
.vm-footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.2fr;gap:40px;padding:64px 30px 44px;}
.vm-footer-logo{height:58px;width:auto;margin-bottom:18px;}
.vm-footer-brand p{color:#9fb0c6;line-height:1.75;margin:0 0 18px;font-size:14.5px;max-width:34ch;}
.vm-footer-contact{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:9px;font-size:14px;}
.vm-footer-contact i{color:var(--vm-saffron);width:18px;margin-right:8px;}
.vm-footer-contact a{color:#cdd8e7;text-decoration:none;}.vm-footer-contact a:hover{color:var(--vm-saffron);}
.vm-foot-social{display:flex;gap:10px;}
.vm-foot-social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.08);color:#fff;transition:all .2s ease;}
.vm-foot-social a:hover{background:var(--vm-saffron);color:var(--vm-indigo);transform:translateY(-2px);}
.vm-footer-col h3.vm-footer-title{color:#fff;font-family:'Fraunces',serif !important;font-size:1.08rem;font-weight:600;
  margin:0 0 16px;padding-bottom:11px;position:relative;}
.vm-footer-title:after{content:"";position:absolute;left:0;bottom:0;width:32px;height:2px;background:var(--vm-saffron);}
.vm-footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.vm-footer-col a{color:#aebbcd;text-decoration:none;font-size:14px;transition:color .16s ease,padding .16s ease;}
.vm-footer-col a:hover{color:var(--vm-saffron);padding-left:4px;}
.vm-footer-meta{display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center;justify-content:space-between;
  padding:22px 30px;border-top:1px solid rgba(255,255,255,.09);}
.vm-footer-langlinks strong{color:#fff;font-size:13px;margin-right:12px;}
.vm-footer-langlinks a,.vm-footer-legal a{font-size:13px;color:#9fb0c6;margin-right:16px;text-decoration:none;}
.vm-footer-langlinks a:hover,.vm-footer-legal a:hover{color:var(--vm-saffron);}
.vm-footer-copyright{background:#0A1525;}
.vm-footer-copyright .vm-wrap{padding:16px 30px;color:#7c8ca6;font-size:13px;}
@media (max-width:900px){
  .vm-footer-grid{grid-template-columns:1fr 1fr;gap:34px 30px;padding:50px 26px 36px;}
  .vm-footer-brand{grid-column:1 / -1;}
}
@media (max-width:560px){
  .vm-footer-grid{grid-template-columns:1fr;gap:30px;}
  .vm-footer-meta{flex-direction:column;align-items:flex-start;gap:10px;}
}

/* ---- back-to-top button ---- */
.vm-totop{position:fixed;right:22px;bottom:88px;z-index:9998;width:46px;height:46px;border:0;border-radius:50%;
  background:var(--vm-indigo);color:#fff;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);
  transition:all .25s ease;box-shadow:0 6px 18px rgba(15,28,48,.3);display:flex;align-items:center;justify-content:center;}
.vm-totop.show{opacity:1;visibility:visible;transform:translateY(0);}
.vm-totop:hover{background:var(--vm-terracotta);}
.vm-totop svg{width:22px;height:22px;}

/* ============================ Premium tour-page components (v2) ========= */
.vm-trust-row{display:flex;flex-wrap:wrap;gap:10px 22px;margin:6px 0 26px;padding:14px 18px;
  background:#FAF6EE;border:1px solid #ece2cf;border-radius:12px;}
.vm-trust-row span{display:inline-flex;align-items:center;gap:8px;font-size:.86rem;font-weight:600;color:#1B2D4A;}
.vm-trust-row i{color:#ffb400;font-size:1rem;}

.vm-why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:10px;}
.vm-why-card{background:#fff;border:1px solid #ece2cf;border-radius:14px;padding:20px 20px 18px;}
.vm-why-card i{font-size:1.5rem;color:#ffb400;}
.vm-why-card h3{font-family:'Fraunces',serif;font-size:1.08rem;margin:10px 0 6px;color:#1A1410;}
.vm-why-card p{margin:0;font-size:.92rem;color:#5b5147;line-height:1.55;}

.vm-twocol{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:8px 0 4px;}
.vm-twocol p{font-size:.95rem;color:#4a4038;line-height:1.65;}

.vm-options{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.vm-option{border:1px solid #ece2cf;border-radius:14px;padding:18px 20px;background:#fff;}
.vm-option-lux{background:linear-gradient(180deg,#fff,#FAF6EE);border-color:#ffd98a;}
.vm-option h3{font-family:'Fraunces',serif;font-size:1.05rem;margin:0 0 6px;display:flex;align-items:center;gap:8px;}
.vm-option h3 i{color:#ffb400;}
.vm-option p{margin:0;font-size:.9rem;color:#5b5147;}

.vm-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.vm-gal-item{display:block;overflow:hidden;border-radius:10px;aspect-ratio:3/2;}
.vm-gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease;display:block;}
.vm-gal-item:hover img{transform:scale(1.07);}

.vm-gtk{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.vm-gtk>div{background:#FAF6EE;border:1px solid #ece2cf;border-radius:12px;padding:14px 16px;}
.vm-gtk span{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:#9a8e7c;margin-bottom:3px;}
.vm-gtk b{font-size:.92rem;color:#1B2D4A;}

.vm-reviews-summary{display:flex;align-items:center;gap:22px;background:#FAF6EE;border:1px solid #ece2cf;border-radius:14px;padding:18px 22px;flex-wrap:wrap;}
.vm-rev-score{text-align:center;line-height:1.1;}
.vm-rev-score strong{display:block;font-family:'Fraunces',serif;font-size:2.1rem;color:#1A1410;}
.vm-rev-score .vm-stars{color:#ffb400;font-size:1rem;letter-spacing:1px;}
.vm-rev-score small{display:block;color:#9a8e7c;font-size:.78rem;margin-top:2px;}
.vm-reviews-summary p{margin:0;flex:1 1 240px;font-size:.95rem;color:#4a4038;}

.vm-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.vm-step{display:flex;gap:14px;align-items:flex-start;}
.vm-step-n{flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#1B2D4A;color:#ffb400;
  font-weight:700;display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;}
.vm-step h3{margin:2px 0 4px;font-size:1rem;font-family:'Fraunces',serif;}
.vm-step p{margin:0;font-size:.9rem;color:#5b5147;}

.vm-policy{background:#f3f7f4;border:1px solid #d8e6dc;border-radius:12px;padding:16px 20px;margin-top:20px;}
.vm-policy h3{margin:0 0 6px;font-size:1rem;display:flex;align-items:center;gap:8px;}
.vm-policy h3 i{color:#3a9d6a;}
.vm-policy p{margin:0;font-size:.9rem;color:#4a4038;}

.vm-plan-links{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.vm-plan-link{display:flex;align-items:center;gap:10px;padding:12px 16px;border:1px solid #ece2cf;border-radius:10px;
  background:#fff;color:#1B2D4A;font-weight:600;font-size:.92rem;text-decoration:none;transition:.2s;}
.vm-plan-link:hover{border-color:#ffb400;background:#FAF6EE;}
.vm-plan-link i{color:#ffb400;}

.vm-cta-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  background:linear-gradient(120deg,#1B2D4A,#16263F);border-radius:16px;padding:26px 30px;margin:30px 0;}
.vm-cta-banner h2{color:#fff;font-family:'Fraunces',serif;font-size:1.4rem;margin:0 0 4px;}
.vm-cta-banner p{color:#c9d3e2;margin:0;font-size:.95rem;}
.vm-cta-banner .gdlr-core-button{white-space:nowrap;}

/* sticky mobile booking bar */
.vm-sticky-book{position:fixed;left:0;right:0;bottom:0;z-index:1080;background:#fff;
  border-top:1px solid #e6dcc9;box-shadow:0 -6px 24px rgba(15,28,48,.14);padding:10px 16px;
  transform:translateY(110%);transition:transform .3s ease;}
.vm-sticky-book.show{transform:translateY(0);}
.vm-sticky-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;max-width:680px;margin:0 auto;}
.vm-sticky-price{font-size:.9rem;color:#5b5147;}
.vm-sticky-price strong{font-size:1.3rem;color:#1A1410;margin-left:4px;}
.vm-sticky-btn{margin:0;white-space:nowrap;}

@media(max-width:880px){
  .vm-why-grid,.vm-twocol,.vm-options,.vm-gtk,.vm-steps,.vm-plan-links{grid-template-columns:1fr;}
  .vm-gallery{grid-template-columns:repeat(2,1fr);}
}
@media(min-width:881px){ .vm-sticky-book{display:none;} }

/* ============================ Gallery lightbox ========================== */
.vm-lb{position:fixed;inset:0;z-index:2000;background:rgba(11,19,32,.93);display:flex;
  align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .28s ease;}
.vm-lb.open{opacity:1;visibility:visible;}
.vm-lb-fig{margin:0;text-align:center;transform:scale(.93);transition:transform .28s ease;}
.vm-lb.open .vm-lb-fig{transform:scale(1);}
.vm-lb img{max-width:92vw;max-height:80vh;border-radius:10px;box-shadow:0 24px 70px rgba(0,0,0,.55);}
.vm-lb figcaption{color:#e9eef5;margin-top:14px;font-size:.92rem;letter-spacing:.01em;}
.vm-lb button{position:absolute;border:0;cursor:pointer;color:#fff;background:rgba(255,255,255,.13);
  border-radius:50%;display:flex;align-items:center;justify-content:center;transition:.2s;backdrop-filter:blur(4px);}
.vm-lb button:hover{background:#ffb400;color:#16263F;}
.vm-lb-close{top:18px;right:22px;width:48px;height:48px;font-size:1.9rem;line-height:1;}
.vm-lb-prev,.vm-lb-next{top:50%;transform:translateY(-50%);width:54px;height:54px;font-size:1.5rem;}
.vm-lb-prev{left:20px;} .vm-lb-next{right:20px;}
@media(max-width:600px){
  .vm-lb-prev,.vm-lb-next{width:44px;height:44px;font-size:1.2rem;}
  .vm-lb-prev{left:8px;} .vm-lb-next{right:8px;} .vm-lb-close{top:10px;right:12px;width:42px;height:42px;}
  .vm-lb img{max-height:72vh;}
}
.vm-gal-item{cursor:zoom-in;}

/* ============================ Interactive tour map ===================== */
.vm-map{height:430px;width:100%;border-radius:16px;overflow:hidden;border:1px solid #e6dcc9;
  box-shadow:0 6px 22px rgba(15,28,48,.08);margin-bottom:6px;background:#eef2f6;z-index:0;}
.vm-mk span{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#1B2D4A;color:#ffb400;border:2px solid #ffb400;border-radius:50%;font-weight:700;font-size:.82rem;font-family:'Fraunces',serif;box-shadow:0 2px 6px rgba(0,0,0,.3);}
.leaflet-popup-content{font-family:'Manrope',sans-serif;font-size:.9rem;}
@media(max-width:600px){.vm-map{height:340px;}}

/* ===================== Alternatives + enquiry form ===================== */
.vm-alts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:8px;}
.vm-alt{display:flex;flex-direction:column;gap:3px;padding:14px 16px;border:1px solid #ece2cf;
  border-radius:12px;background:#fff;text-decoration:none;transition:.2s;}
.vm-alt:hover{border-color:#ffb400;background:#FAF6EE;transform:translateY(-2px);}
.vm-alt small{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:#b8860b;font-weight:700;}
.vm-alt b{color:#1A1410;font-size:.95rem;line-height:1.3;}
.vm-alt span{font-size:.82rem;color:#7a6f60;}
.vm-alt-hub{justify-content:center;background:linear-gradient(180deg,#fff,#FAF6EE);}

.vm-form-wrap{margin-top:46px;}
.vm-form-card{background:linear-gradient(135deg,#1B2D4A,#16263F);border-radius:20px;padding:34px 34px 30px;}
.vm-form-card .vm-h2{color:#fff;margin-top:0;}
.vm-form-card .vm-h2::after{background:#ffb400;}
.vm-book-form{display:flex;flex-direction:column;gap:14px;max-width:640px;}
.vm-ff{display:flex;flex-direction:column;gap:5px;flex:1;}
.vm-ff-row{display:flex;gap:14px;flex-wrap:wrap;}
.vm-ff label{color:#c9d3e2;font-size:.82rem;font-weight:600;}
.vm-ff input,.vm-ff textarea{padding:11px 13px;border:1px solid #34466b;border-radius:9px;
  background:#0F1C30;color:#fff;font-family:inherit;font-size:.92rem;}
.vm-ff input:focus,.vm-ff textarea:focus{outline:2px solid #ffb400;border-color:#ffb400;}
.vm-form-card .vm-book-btn{align-self:flex-start;margin-top:4px;}
.vm-form-card .vm-booking-note{color:#9fb0c7;}
@media(max-width:880px){.vm-alts{grid-template-columns:1fr;}.vm-form-card{padding:24px 20px;}}

/* ===================== Accommodation table ============================= */
.vm-acc-note{font-size:.92rem;color:#5b5147;margin:0 0 14px;line-height:1.6;}
.vm-acc-wrap{overflow-x:auto;border-radius:14px;border:1px solid #ece2cf;}
.vm-acc-table{width:100%;border-collapse:collapse;font-size:.92rem;background:#fff;min-width:520px;}
.vm-acc-table th{background:#1B2D4A;color:#fff;text-align:left;padding:12px 16px;font-weight:600;font-size:.82rem;
  text-transform:uppercase;letter-spacing:.03em;}
.vm-acc-table td{padding:12px 16px;border-top:1px solid #f0e8d8;color:#3a3027;}
.vm-acc-table tbody tr:nth-child(even){background:#FAF6EE;}
.vm-acc-table td:first-child{font-weight:700;color:#b8860b;width:60px;}

/* ===================== E-E-A-T 'who we are' block ====================== */
.vm-eeat{background:#FAF6EE;border:1px solid #ece2cf;border-left:4px solid #ffb400;border-radius:14px;padding:24px 26px;}
.vm-eeat p{font-size:.95rem;color:#4a4038;line-height:1.7;margin:0 0 12px;}
.vm-eeat p:last-of-type{margin-bottom:16px;}
.vm-eeat-row{display:flex;flex-wrap:wrap;gap:10px 22px;padding-top:14px;border-top:1px dashed #d9cdb5;}
.vm-eeat-row span{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:700;color:#1B2D4A;}
.vm-eeat-row i{color:#ffb400;}

/* ===================== Video facade (lite YouTube) ==================== */
.vm-video{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;cursor:pointer;
  background:#000;border:1px solid #e6dcc9;box-shadow:0 6px 22px rgba(15,28,48,.10);}
.vm-video img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease,opacity .3s;}
.vm-video:hover img{transform:scale(1.04);opacity:.9;}
.vm-video-play{position:absolute;inset:0;margin:auto;width:68px;height:48px;border:0;background:transparent;
  cursor:pointer;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 2px 8px rgba(0,0,0,.4));transition:transform .2s;}
.vm-video:hover .vm-video-play{transform:scale(1.12);}
.vm-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

/* ===================== Map brand logo + TripAdvisor badge ============== */
.vm-map-logo{background:#fff;border-radius:12px;padding:3px;box-shadow:0 2px 10px rgba(15,28,48,.25);margin:10px;line-height:0;}
.vm-map-logo img{width:54px;height:54px;border-radius:9px;display:block;}
.vm-ta-badge{display:inline-flex;align-items:center;gap:8px;margin-top:10px;padding:9px 16px;border-radius:24px;
  background:#34e0a1;color:#003b2d;font-weight:700;font-size:.86rem;text-decoration:none;transition:.2s;}
.vm-ta-badge:hover{background:#1fc98a;transform:translateY(-1px);}
.vm-ta-badge i{font-size:1rem;}

/* ===== Mobile: clip the off-canvas drawer so it can't cause horizontal scroll.
   overflow-x:clip (not hidden) clips the off-screen drawer WITHOUT creating a
   scroll container, so the sticky header & booking box keep working. ===== */
html{overflow-x:clip;}
body.vm-body{overflow-x:clip;max-width:100%;}
/* extra safety: never let media/embeds exceed their container on small screens */
.vm-tour-main img,.vm-tour-main iframe,.vm-tour-main table{max-width:100%;}
.vm-page img{height:auto;}

/* ===== REAL mobile fix: let the tour column shrink below its content's
   intrinsic width (grid/flex items default to min-width:auto, which the wide
   accommodation table was forcing to 520px). Now content fits the viewport and
   the table scrolls inside its own .vm-acc-wrap. ===== */
.vm-tour-layout{min-width:0;}
.vm-tour-layout>*,.vm-tour-main,.vm-tour-aside{min-width:0;}
.vm-tour-main>*{max-width:100%;}
.vm-acc-table{min-width:480px;}   /* still scrolls within wrapper, just a touch narrower */

/* ===== Accessibility: honour reduced-motion preference (WCAG 2.3.3) ===== */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important;}
  .vm-gal-item:hover img,.vm-video:hover img,.vm-why-card:hover,.vm-alt:hover{transform:none!important;}
}
/* Accessibility: guarantee comfortable tap targets on touch devices */
@media (max-width:880px){
  .vm-macc-btn,.vm-drawer-close,.vm-burger,.vm-lb button,.vm-video-play{min-width:44px;min-height:44px;}
  .vm-mobile-menu a,.vm-macc-link{min-height:44px;display:flex;align-items:center;}
}

/* ===== Itinerary day icons (inline SVG, themed) ===== */
.vm-itin-item summary{display:flex;align-items:center;gap:4px;}
.vm-day-icon{flex:0 0 30px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:50%;background:#FAF6EE;border:1px solid #ece2cf;margin-right:8px;}
.vm-day-icon svg{width:16px;height:16px;fill:none;stroke:#e07b00;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}

/* accommodation: representative property examples */
.vm-acc-eg{display:block;font-size:.78rem;color:#9a8e7c;margin-top:3px;font-style:italic;}

/* ===== Author byline + bio box (E-E-A-T) + listing intro ===== */
.vm-byline{display:flex;align-items:center;gap:12px;margin:0 0 26px;}
.vm-byline-av{flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:#1B2D4A;color:#ffb400;
  display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-weight:700;font-size:1rem;}
.vm-byline-txt{display:flex;flex-direction:column;}
.vm-byline-txt b{color:#1A1410;font-size:.95rem;}
.vm-byline-txt small{color:#7a6f60;font-size:.82rem;}
.vm-authorbox{display:flex;gap:16px;align-items:flex-start;background:#FAF6EE;border:1px solid #ece2cf;
  border-left:4px solid #ffb400;border-radius:14px;padding:20px 22px;margin:40px 0 12px;}
.vm-authorbox-av{flex:0 0 52px;width:52px;height:52px;font-size:1.15rem;}
.vm-authorbox strong{display:block;margin-bottom:6px;color:#1A1410;}
.vm-authorbox p{margin:0;font-size:.92rem;color:#5b5147;line-height:1.6;}

/* official resources links in guides */
.vm-resources{background:#f3f7f4;border:1px solid #d8e6dc;border-radius:12px;padding:16px 20px;margin:30px 0 6px;}
.vm-resources h3{margin:0 0 8px;font-size:1rem;}
.vm-resources ul{margin:0;padding-left:18px;}
.vm-resources li{margin:5px 0;font-size:.92rem;}
.vm-resources a{color:#1B2D4A;}

/* author photo (round, when supplied) */
.vm-byline-photo{object-fit:cover;border:2px solid #ffb400;padding:0;}
img.vm-authorbox-av{object-fit:cover;}
