/* VMON Evolution 3.1 — brand/editorial layer. No template replacement. */
:root{
  --vmon-navy:#0c1f3d;--vmon-ink:#15233b;--vmon-blue:#1b63e9;--vmon-blue2:#4b7cff;
  --vmon-cyan:#43b8d4;--vmon-yellow:#ffd11a;--vmon-sand:#f7f4ee;--vmon-soft:#f4f7fb;
  --vmon-white:#fff;--vmon-muted:#667085;--vmon-line:#dfe6ef;--vmon-line2:#cbd6e5;
  --vmon-radius:22px;--vmon-radius-sm:14px;--vmon-pill:999px;
  --vmon-shadow-sm:0 10px 30px rgba(13,35,69,.08);--vmon-shadow:0 22px 70px rgba(13,35,69,.14);
  --vmon-max:1320px;--vmon-reading:860px;
  --vmon-display:Arial Black,Arial,sans-serif;--vmon-body:Arial,Helvetica,sans-serif;
}
html{scroll-behavior:smooth}body.vmone{background:#fff;color:var(--vmon-ink);font-family:var(--vmon-body);-webkit-font-smoothing:antialiased}
body.vmone *{box-sizing:border-box}body.vmone img{max-width:100%;height:auto}
body.vmone ::selection{background:var(--vmon-blue);color:#fff}
body.vmone :where(a,button,input,select,textarea):focus-visible{outline:3px solid rgba(27,99,233,.28)!important;outline-offset:2px}

/* Parent shell: polish, don't reconstruct. */
body.vmone :is(.site-header,.h-header,.header-wrapper){border-bottom:1px solid rgba(12,31,61,.08)!important;background:rgba(255,255,255,.96)!important;box-shadow:0 7px 24px rgba(13,35,69,.055);backdrop-filter:blur(14px)}
body.vmone :is(.h-navigation,.h-menu,.menu,.header-navigation) a{color:var(--vmon-navy)!important;font-weight:800!important;text-decoration:none!important}
body.vmone :is(.h-navigation,.h-menu,.menu,.header-navigation) a:hover{color:var(--vmon-blue)!important}
body.vmone :is(.site-header,.h-header) :is(.sub-menu,.dropdown-menu){border:1px solid var(--vmon-line)!important;border-radius:18px!important;background:#fff!important;box-shadow:var(--vmon-shadow)!important;padding:10px!important}
body.vmone :is(.site-header,.h-header) :is(.sub-menu,.dropdown-menu) a{border-radius:11px!important;padding:10px 12px!important}

/* The current HTML home already has its own campaign system. Keep it strong. */
body.vmone .topline{background:var(--vmon-navy)!important;color:#fff!important;font-size:12px;font-weight:800;letter-spacing:.01em}
body.vmone .topline a{color:#fff!important}
body.vmone .site-header{z-index:90}
body.vmone .hero,body.vmone .hero-campaign{position:relative;overflow:hidden}
body.vmone .hero h1,body.vmone .hero-campaign h1{font-family:var(--vmon-display)!important;font-size:clamp(48px,7vw,104px)!important;line-height:.88!important;letter-spacing:-.065em!important;color:var(--vmon-navy)!important;text-wrap:balance}
body.vmone .hero :is(.lead,.hero-lead),body.vmone .hero-campaign :is(.lead,.hero-lead){font-size:clamp(17px,1.55vw,22px)!important;line-height:1.5!important;color:#41516b!important}
body.vmone .hero :is(.btn,.button,.h-button,.btn-primary),body.vmone .hero-campaign :is(.btn,.button,.h-button,.btn-primary){border-radius:var(--vmon-pill)!important;background:var(--vmon-blue)!important;color:#fff!important;font-weight:900!important;box-shadow:0 12px 30px rgba(27,99,233,.22)!important}
body.vmone .hero :is(.btn,.button,.h-button,.btn-primary):hover,body.vmone .hero-campaign :is(.btn,.button,.h-button,.btn-primary):hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(27,99,233,.28)!important}

/* Consistent section rhythm for the current HTML and Colibri blocks. */
body.vmone :is(.section,.h-section){position:relative}
body.vmone .section{padding-top:clamp(58px,7vw,105px);padding-bottom:clamp(58px,7vw,105px)}
body.vmone :is(.container,.wrap){max-width:var(--vmon-max)}
body.vmone :is(.section-head,.search-head){display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:34px;align-items:end;margin-bottom:34px}
body.vmone :is(.section-head,.search-head) h2{font-family:var(--vmon-display)!important;font-size:clamp(40px,5vw,76px)!important;line-height:.92!important;letter-spacing:-.055em!important;color:var(--vmon-navy)!important;margin:0}
body.vmone :is(.section-head,.search-head)>p{max-width:520px;color:var(--vmon-muted);font-size:16px;line-height:1.55}
body.vmone :is(.kicker,.eyebrow){display:inline-block;margin-bottom:10px;color:var(--vmon-blue)!important;font-size:11px!important;font-weight:950!important;letter-spacing:.12em!important;text-transform:uppercase!important}

/* Existing trip cards from the HTML prototype. */
body.vmone .trip-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important}
body.vmone .md-trip-card{overflow:hidden;border:1px solid var(--vmon-line)!important;border-radius:var(--vmon-radius)!important;background:#fff!important;box-shadow:var(--vmon-shadow-sm)!important;transition:transform .22s ease,box-shadow .22s ease}
body.vmone .md-trip-card:hover{transform:translateY(-5px);box-shadow:var(--vmon-shadow)!important}
body.vmone .md-trip-card__media img{width:100%!important;aspect-ratio:16/10!important;object-fit:cover!important}
body.vmone .md-trip-card h3{font-family:var(--vmon-display)!important;font-size:21px!important;line-height:1.04!important;letter-spacing:-.035em!important;color:var(--vmon-navy)!important}
body.vmone .trip-meta{color:var(--vmon-muted)!important;font-size:12px!important;font-weight:750!important}
body.vmone .chip{border:1px solid #dbe5f4!important;background:#f4f8ff!important;color:#345179!important;border-radius:var(--vmon-pill)!important;font-size:10px!important;font-weight:900!important}

/* Ages: keep the commercial dimension visible and scannable. */
body.vmone .section-blue{background:linear-gradient(135deg,#0f3575 0%,#155ee7 58%,#4f7cff 100%)!important;color:#fff!important}
body.vmone .section-blue :is(h2,h3,p,.kicker){color:#fff!important}
body.vmone :is(.age-grid,.ages-grid){display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
body.vmone :is(.age-card,.age-item){border:1px solid rgba(255,255,255,.24)!important;border-radius:20px!important;background:rgba(255,255,255,.10)!important;backdrop-filter:blur(10px);transition:transform .2s ease,background .2s ease}
body.vmone :is(.age-card,.age-item):hover{transform:translateY(-4px);background:rgba(255,255,255,.16)!important}

/* FAQ / contact / account-like panels. */
body.vmone details{border-bottom:1px solid var(--vmon-line)}body.vmone details summary{cursor:pointer;padding:18px 0;color:var(--vmon-navy);font-weight:900}body.vmone details p{padding:0 0 18px;color:var(--vmon-muted);line-height:1.7}
body.vmone :is(.contact-card,.final-cta,.specialist,.adult){border-radius:28px!important}

/* Editorial pages: make old copy readable before we rewrite it. */
body.vmone.vmone-reading-page :is(.entry-content,.page-content,.h-page-content,.content){max-width:var(--vmon-reading);margin-left:auto!important;margin-right:auto!important}
body.vmone.vmone-reading-page :is(.entry-content,.page-content,.h-page-content,.content) :where(p,li){font-size:clamp(17px,1.25vw,19px)!important;line-height:1.78!important;color:#34445d!important}
body.vmone.vmone-reading-page :is(.entry-content,.page-content,.h-page-content,.content) h1{font-family:var(--vmon-display)!important;font-size:clamp(44px,6vw,82px)!important;line-height:.94!important;letter-spacing:-.055em!important;color:var(--vmon-navy)!important;margin-bottom:.45em!important}
body.vmone.vmone-reading-page :is(.entry-content,.page-content,.h-page-content,.content) h2{font-family:var(--vmon-display)!important;font-size:clamp(30px,4vw,50px)!important;line-height:1!important;letter-spacing:-.04em!important;color:var(--vmon-navy)!important;margin:1.45em 0 .55em!important}
body.vmone.vmone-reading-page :is(.entry-content,.page-content,.h-page-content,.content) h3{font-size:clamp(22px,2.5vw,30px)!important;color:var(--vmon-navy)!important;margin:1.35em 0 .45em!important}
body.vmone.vmone-reading-page :is(.entry-content,.page-content,.h-page-content,.content) img{border-radius:22px!important;box-shadow:var(--vmon-shadow-sm)}
body.vmone.vmone-reading-page blockquote{margin:34px 0;padding:24px 28px;border-left:6px solid var(--vmon-blue);border-radius:16px;background:#f3f7ff;color:var(--vmon-navy);font-size:1.15em;font-weight:700}

/* Parent footer: improve, don't replace. */
body.vmone :is(.site-footer,.h-footer,.page-footer){background:radial-gradient(700px 280px at 15% 0%,rgba(27,99,233,.3),transparent 70%),#081a34!important;color:rgba(255,255,255,.8)!important}
body.vmone :is(.site-footer,.h-footer,.page-footer) :is(h2,h3,h4,h5,h6){color:#fff!important}
body.vmone :is(.site-footer,.h-footer,.page-footer) :is(p,li){color:rgba(255,255,255,.72)!important}
body.vmone :is(.site-footer,.h-footer,.page-footer) a{color:rgba(255,255,255,.92)!important;text-decoration:none!important}
body.vmone :is(.site-footer,.h-footer,.page-footer) a:hover{color:#fff!important;text-decoration:underline!important}

/* Cookies: no visual relics. */
body.vmone .cmplz-cookiebanner{border:1px solid var(--vmon-line)!important;border-radius:22px!important;background:rgba(255,255,255,.98)!important;box-shadow:var(--vmon-shadow)!important}

@media(min-width:1350px){body.vmone .trip-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:1020px){body.vmone :is(.section-head,.search-head){grid-template-columns:1fr}body.vmone .trip-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.vmone :is(.age-grid,.ages-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:650px){body.vmone .section{padding-top:52px;padding-bottom:52px}body.vmone .hero h1,body.vmone .hero-campaign h1{font-size:clamp(46px,14vw,66px)!important}body.vmone .trip-grid,body.vmone :is(.age-grid,.ages-grid){grid-template-columns:1fr!important}body.vmone :is(.section-head,.search-head) h2{font-size:clamp(38px,11vw,56px)!important}}
@media(prefers-reduced-motion:reduce){body.vmone *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
