/* Shared discovery pages: emerald, warm ivory and restrained gold. */
.ve56-page, .ve-modern-home { --discovery-ink:#173d35; --discovery-muted:#63736b; --discovery-gold:#ddbd79; --discovery-line:#e1e7df; background:#f6f7f2; color:var(--discovery-ink); }
.ve56-search-hero { position:relative; isolation:isolate; overflow:hidden; padding:88px 0 76px; background:radial-gradient(ellipse at 90% 15%,#286e59 0,transparent 50%),linear-gradient(115deg,#102f2b,#154c3e); color:#fff; }
.ve56-search-hero::after { content:""; position:absolute; z-index:-1; width:540px; height:540px; border:1px solid #d7c18d40; border-radius:50%; right:-100px; top:-170px; box-shadow:0 0 0 55px #d7c18d0a,0 0 0 110px #d7c18d0a,0 0 0 165px #d7c18d08; pointer-events:none; }
.ve56-event-search .ve56-search-hero { background:radial-gradient(ellipse at 90% 20%,#78553c,transparent 55%),linear-gradient(115deg,#24342f,#33463a); }
.ve56-tour-search .ve56-search-hero { background:radial-gradient(ellipse at 90% 20%,#4f7260,transparent 55%),linear-gradient(115deg,#102f2b,#214d45); }
.ve56-eyebrow { display:block; color:#e8cf99; font-size:11px; font-weight:700; letter-spacing:.2em; margin-bottom:22px; }
.ve56-search-hero h1 { max-width:790px; margin:0 0 24px; color:#fffdf6; font:normal clamp(40px,5.5vw,76px)/1.08 Georgia,serif; letter-spacing:-.045em; text-wrap:balance; }
.ve56-search-hero p { max-width:570px; color:#d9e6dd; font-size:17px; line-height:1.8; margin-bottom:26px; }
.ve56-hero-stats { display:flex; flex-wrap:wrap; gap:10px; }
.ve56-hero-chip { padding:8px 15px; border:1px solid #ffffff30; border-radius:30px; background:#ffffff08; color:#f1eee4; font-size:12px; }
.ve56-explore-link { display:inline-flex; align-items:center; gap:20px; margin-top:30px; color:#eed49e; font-weight:600; font-size:13px; }
.ve56-explore-link:hover { color:#fff; }
.ve56-search-shell { padding:48px 0 72px; scroll-margin-top:110px; }
.ve56-page .bravo_filter { background:#fff; border:1px solid var(--discovery-line); border-radius:20px; padding:22px 16px; margin-bottom:28px; box-shadow:0 8px 28px #183d3505; }
.ve56-page .bravo_filter .sidenav { border:0!important; }
.ve56-page .bravo_filter input:not([type=checkbox]):not([type=radio]), .ve56-page .bravo_filter select { border-radius:8px; }
.ve56-page .bravo_filter .btn-primary { background:#18533f; border-color:#18533f; border-radius:10px; }
.ve56-page .topbar-search { min-height:48px; gap:16px; flex-wrap:wrap; }
.ve56-page .topbar-search h3 { color:#173d35; font-size:21px; letter-spacing:-.025em; }
.ve56-page .topbar-search select { border:1px solid var(--discovery-line); border-radius:10px; padding:10px; background:#fff; }
.ve56-card { display:flex; flex-direction:column; height:100%; background:#fff; border:1px solid #e1e7df; border-radius:18px; overflow:hidden; box-shadow:0 6px 20px #183d3505; transition:transform .25s ease,box-shadow .25s ease; }
.ve56-card:hover { transform:translateY(-5px); box-shadow:0 18px 38px #183d3512; }
.ve56-card__media { position:relative; aspect-ratio:4/3; background:#edf0e9; overflow:hidden; }
.ve56-card__media > a { display:block; height:100%; }
.ve56-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.ve56-card:hover .ve56-card__media img { transform:scale(1.035); }
.ve56-badges { position:absolute; inset:14px 62px auto 14px; display:flex; flex-wrap:wrap; gap:6px; pointer-events:none; }
.ve56-badge { display:inline-block; padding:5px 9px; border-radius:6px; background:#173d35; color:#fff; font-size:11px; font-weight:700; }
.ve56-badge--gold { color:#3e321b; background:#edd6a3; }
.ve56-wish { position:absolute; top:12px; right:12px; width:40px; height:40px; border:1px solid #ffffff80; border-radius:50%; background:#fffffff0; color:#26473a; cursor:pointer; }
.ve56-wish.active, .ve56-wish:hover { background:#173d35; color:#fff; }
.ve56-card__body { display:flex; flex-direction:column; flex:1; padding:22px; min-width:0; }
.ve56-card__meta { display:flex; flex-wrap:wrap; gap:8px; color:#68786f; font-size:12px; margin-bottom:10px; }
.ve56-card__title { display:block; color:#173d35; font-size:20px; font-weight:700; line-height:1.35; letter-spacing:-.025em; margin-bottom:18px; overflow-wrap:anywhere; }
.ve56-card__title:hover { color:#8c6526; }
.ve56-specs { display:flex; flex-wrap:wrap; gap:8px 14px; margin-bottom:22px; }
.ve56-spec { color:#607267; font-size:12px; }
.ve56-spec i { margin-inline-end:4px; }
.ve56-card__footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px; border-top:1px solid #e8ece5; padding-top:17px; margin-top:auto; }
.ve56-price { min-width:0; overflow-wrap:anywhere; }
.ve56-price small { display:block; font-size:11px; color:#69776e; }
.ve56-price strong { color:#173d35; font-size:20px; font-weight:700; }
.ve56-card__cta { display:inline-flex; align-items:center; gap:10px; color:#194c38; font-size:12px; font-weight:700; }
.ve56-card__cta:hover { color:#8c6526; }
.ve56-page a:focus-visible, .ve56-page button:focus-visible, .ve-modern-home a:focus-visible { outline:3px solid #bc8d36; outline-offset:4px; }
/* Higher specificity keeps home refinements above the existing inline theme. */
.ve-modern-home.ve-home { background:#f6f7f2; }
.ve-modern-home .ve-home-hero { min-height:680px; }
.ve-modern-home .ve-home-hero__inner { padding:120px 0 160px; }
.ve-modern-home .ve-home-hero__bottom { height:80px; background:#f6f7f2; clip-path:ellipse(75% 65% at 50% 100%); }
.ve-modern-home .ve-home-hero__kicker { border-radius:6px; font-weight:600; }
.ve-modern-home .ve-home-dock { border-radius:20px; background:#fffffff5; box-shadow:0 20px 60px #102f2b14; }
.ve-modern-home .ve-home-dock__item { border-radius:12px; min-height:90px; }
.ve-modern-home .ve-home-dock__item:hover { background:#edf2e9; }
.ve56-home-future-band { width:min(100% - 48px,1240px); margin:48px auto 20px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.ve56-home-future-card { display:grid; grid-template-columns:42px 1fr; gap:8px 16px; padding:26px; border:1px solid #dfe6db; border-radius:16px; background:#fcfdf9; }
.ve56-home-future-card > i { grid-row:span 2; display:grid; place-items:center; width:42px; height:42px; border-radius:12px; background:#eaf0e3; color:#426346; font-size:18px; }
.ve56-home-future-card strong { color:#173d35; font-size:16px; }
.ve56-home-future-card span { color:#627166; font-size:13px; line-height:1.7; }
.ve-modern-home .ve-home-content { padding-top:24px; }
.ve-modern-home .ve-home-content .section-title { letter-spacing:-.035em; }
/* Existing tour markup also appears in CMS blocks; keep overrides scoped. */
.ve56-page .modern-tour-card, .ve-modern-home .modern-tour-card { max-width:none; height:auto; min-height:100%; margin-bottom:0; border:1px solid #e1e7df; border-radius:18px; box-shadow:0 6px 20px #183d3505; }
.ve56-page .tour-content, .ve-modern-home .tour-content { padding:22px; }
.ve56-page .tour-image, .ve-modern-home .tour-image { height:auto; aspect-ratio:4/3; flex-shrink:0; }
.ve56-page .tour-image > a, .ve-modern-home .tour-image > a { display:block; height:100%; }
.ve56-page .tour-image::before, .ve-modern-home .tour-image::before { pointer-events:none; }
.ve56-page .tour-title a, .ve-modern-home .tour-title a { color:#173d35; font-size:20px; line-height:1.35; }
.ve56-page .tour-footer, .ve-modern-home .tour-footer { margin-top:auto; border-top:1px solid #e8ece5; }
.ve56-page .book-now-btn, .ve-modern-home .book-now-btn { background:#194c38; color:#fff; border-radius:10px; animation:none; }
@media (max-width:991px) {
 .ve56-search-hero { padding:60px 0; }
 .ve56-home-future-band { gap:14px; }
 .ve56-home-future-card { display:flex; flex-direction:column; padding:20px; }
 .ve56-search-shell { padding-top:28px; }
}
@media (max-width:575px) {
 .ve56-search-hero { padding:46px 0; }
 .ve56-search-hero h1 { font-size:42px; }
 .ve56-search-hero p { font-size:15px; }
 .ve56-eyebrow { font-size:10px; letter-spacing:.15em; }
 .ve56-hero-chip { padding:6px 10px; font-size:11px; }
 .ve56-home-future-band { grid-template-columns:1fr; width:calc(100% - 32px); margin-top:28px; }
 .ve56-home-future-card { display:grid; }
 .ve-modern-home .ve-home-hero { min-height:560px; }
 .ve-modern-home .ve-home-hero__inner { padding:80px 0 120px; }
 .ve-modern-home .ve-home-dock-wrap { padding:0 16px; }
 .ve56-card__body { padding:20px; }
}
@media (prefers-reduced-motion:reduce) {
 .ve56-page *, .ve56-card, .ve56-card *, .ve-modern-home * { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
 .ve56-card:hover { transform:none; }
}
