/* Travel Style landing page v1.4.16. Fully scoped: other pages untouched. */
body.hvts-active { background:#fff; }
body.hvts-active #page,
body.hvts-active #page.grid-container,
body.hvts-active .site.grid-container { width:100%!important;max-width:none!important; }
body.hvts-active #content.site-content { display:block!important;width:100%;max-width:none;padding:0!important;margin:0!important; }
body.hvts-active #primary.hvts { float:none!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important; }
.hvts { --hvts-green:#075a36; --hvts-deep:#073d2b; --hvts-dark:#0d3326; --hvts-gold:#dfae41; --hvts-ink:#193a2c; --hvts-muted:#65766a; color:var(--hvts-ink);background:#fff;font-size:15px;line-height:1.6;font-family:inherit;overflow:hidden; }
.hvts *,.hvts *::before,.hvts *::after { box-sizing:border-box; }
.hvts h1,.hvts h2,.hvts h3,.hvts p { margin:0; }
.hvts h1,.hvts h2,.hvts h3 { font-family:Georgia,'Times New Roman',serif;line-height:1.22;letter-spacing:-.028em;color:var(--hvts-dark); }
.hvts a { text-decoration:none; }
.hvts img { display:block;width:100%;height:100%;object-fit:cover; }
.hvts svg { flex-shrink:0; }
.hvts a:focus-visible { outline:3px solid #f0be51;outline-offset:4px; }
.hvts .hvts-container { width:min(1160px,calc(100% - 48px));margin-left:auto;margin-right:auto; }
.hvts .hvts-button { display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 22px;min-height:47px;border-radius:8px;font-size:13px;line-height:1.25;font-weight:750;white-space:normal;text-align:center;border:1px solid transparent;transition:transform .18s ease,background .18s ease,box-shadow .18s ease; }
.hvts .hvts-button:hover { transform:translateY(-2px); }
.hvts .hvts-button-primary { background:var(--hvts-green);color:#fff;box-shadow:0 5px 14px rgba(4,66,35,.14); }
.hvts .hvts-button-primary:hover { background:#06492c;color:#fff;box-shadow:0 9px 20px rgba(4,66,35,.2); }
.hvts .hvts-button-white { background:#fff;color:#15422c;border-color:rgba(255,255,255,.95); }
.hvts .hvts-button-white:hover { background:#f7faf4;color:#0c3d26; }
.hvts .hvts-button-dark-outline { border-color:rgba(255,255,255,.85); }

/* Panoramic hero uses real image element: title is HTML, never baked into photo. */
.hvts .hvts-hero { position:relative;isolation:isolate;display:flex;align-items:center;min-height:405px;color:#fff;background:#234d37; }
.hvts .hvts-hero-photo,.hvts .hvts-hero-shade { position:absolute;inset:0;width:100%;height:100%;z-index:-1; }
.hvts .hvts-hero-photo { object-position:center 54%; }
.hvts .hvts-hero-shade { background:linear-gradient(90deg,rgba(5,30,25,.80) 0%,rgba(8,39,31,.51) 43%,rgba(6,40,30,.08) 100%),linear-gradient(0deg,rgba(1,40,19,.22),transparent 60%); }
.hvts .hvts-hero-inner { padding-top:35px;padding-bottom:46px; }
.hvts .hvts-hero .hv-breadcrumb { margin:0 0 25px;padding:0;background:transparent;border:0;color:#f7f9f4;font-size:12px; }
.hvts .hvts-hero .hv-breadcrumb :is(a,span,svg) { color:#f7f9f4; }
.hvts .hvts-hero .hv-breadcrumb a:hover { color:#f4cf76; }
.hvts .hvts-hero-eyebrow { display:flex;align-items:center;gap:9px;font-size:11px;line-height:1.6;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:#faf8e9;margin-bottom:13px; }
.hvts .hvts-hero-eyebrow span { display:block;width:4px;height:19px;background:var(--hvts-gold);border-radius:2px; }
.hvts .hvts-hero h1 { color:#fff;font-size:clamp(33px,4.1vw,56px);font-weight:600;max-width:810px;text-wrap:balance; }
.hvts .hvts-hero-description { color:#f4f5eb;max-width:610px;font-size:clamp(14px,1.35vw,17px);line-height:1.7;margin-top:13px; }
.hvts .hvts-hero-actions { display:flex;flex-wrap:wrap;gap:12px;margin-top:23px; }

/* Six travel styles: image-forward cards that are entire accessible links. */
.hvts .hvts-explore { padding-top:47px; }
.hvts .hvts-section-heading { text-align:center;margin-bottom:25px; }
.hvts .hvts-kicker { display:flex;align-items:center;justify-content:center;gap:12px;font-size:10px;text-transform:uppercase;letter-spacing:.18em;font-weight:850;color:#13583b;margin-bottom:12px; }
.hvts .hvts-kicker::before,.hvts .hvts-kicker::after { content:"";width:34px;height:1px;background:#d9a847; }
.hvts .hvts-section-heading h2 { font-size:clamp(29px,3.2vw,42px);font-weight:600; }
.hvts .hvts-section-heading>p:last-child { font-size:14px;color:var(--hvts-muted);margin-top:9px;max-width:670px;margin-left:auto;margin-right:auto; }
.hvts .hvts-style-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px; }
.hvts .hvts-style-card { position:relative;isolation:isolate;min-width:0;aspect-ratio:1.61;overflow:hidden;border-radius:12px;background:#527e6d;color:#fff;box-shadow:0 5px 13px rgba(25,56,38,.09); }
.hvts .hvts-style-card img,.hvts .hvts-style-gradient { position:absolute;inset:0;width:100%;height:100%;z-index:-1; }
.hvts .hvts-style-card img { transition:transform .35s ease; }
.hvts .hvts-style-gradient { background:linear-gradient(0deg,rgba(3,33,26,.90) 0%,rgba(5,41,29,.36) 44%,rgba(13,50,36,.01) 82%); }
.hvts .hvts-style-card:hover img { transform:scale(1.055); }
.hvts .hvts-style-card:hover .hvts-style-link { color:#ffe39a; }
.hvts .hvts-style-text { position:absolute;inset:auto 0 0;padding:21px 22px 19px;display:flex;flex-direction:column;gap:4px; }
.hvts .hvts-style-heading { display:flex;align-items:center;gap:11px;color:#fff; }
.hvts .hvts-style-heading strong { font-family:Georgia,'Times New Roman',serif;font-size:clamp(19px,1.9vw,24px);line-height:1.2;letter-spacing:-.015em;font-weight:650; }
.hvts .hvts-style-subtitle { display:block;color:#f1f5ed;font-size:12px;padding-left:37px; }
.hvts .hvts-style-link { display:inline-flex;align-items:center;gap:7px;margin-top:6px;padding-left:37px;color:#ffe2a0;font-size:12px;font-weight:800; }

/* Benefits band. */
.hvts .hvts-values { margin-top:21px;padding:22px 25px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-radius:12px;overflow:hidden;color:#fff;background:linear-gradient(100deg,#074c34,#0d583a 68%,#1b6b3e); }
.hvts .hvts-value { display:flex;align-items:center;justify-content:center;gap:16px;border-right:1px solid rgba(255,255,255,.25);padding:0 18px; }
.hvts .hvts-value:last-child { border:0; }
.hvts .hvts-value>svg { color:#f2c561; }
.hvts .hvts-value h3 { font:600 19px/1.3 Georgia,serif;color:#fff; }
.hvts .hvts-value p { font-size:12px;color:#e7f2e7;line-height:1.5;margin-top:3px; }

/* Featured live WooCommerce tours, not mock products. */
.hvts .hvts-featured { padding-top:56px;padding-bottom:30px; }
.hvts .hvts-tour-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px; }
.hvts .hvts-tour-card { display:flex;flex-direction:column;min-width:0;overflow:hidden;border-radius:13px;border:1px solid #e3e9df;background:#fff;box-shadow:0 8px 21px rgba(21,56,33,.09);transition:transform .2s,box-shadow .2s; }
.hvts .hvts-tour-card:hover { transform:translateY(-3px);box-shadow:0 14px 29px rgba(21,56,33,.13); }
.hvts .hvts-tour-image { display:block;position:relative;aspect-ratio:1.88;overflow:hidden;background:#e1e9df; }
.hvts .hvts-tour-image img { transition:transform .35s; }
.hvts .hvts-tour-card:hover .hvts-tour-image img { transform:scale(1.04); }
.hvts .hvts-tour-badge { position:absolute;top:13px;left:13px;color:#105334;background:#f6fbf1;font-weight:800;font-size:10px;border-radius:30px;padding:5px 11px;box-shadow:0 2px 8px rgba(0,0,0,.12); }
.hvts .hvts-tour-details { padding:17px 19px 20px;display:flex;flex-direction:column;flex:1;gap:10px; }
.hvts .hvts-tour-details h3 { font-size:clamp(19px,1.75vw,23px);line-height:1.25; }
.hvts .hvts-tour-details h3 a { color:#19372b; }
.hvts .hvts-tour-details h3 a:hover { color:#08723d; }
.hvts .hvts-tour-facts { display:flex;flex-wrap:wrap;column-gap:15px;row-gap:4px;color:#526b5c;font-size:12px; }
.hvts .hvts-tour-facts span { display:flex;gap:5px;align-items:center; }
.hvts .hvts-tour-facts svg { color:#1c6847; }
.hvts .hvts-tour-summary { color:#68776b;font-size:12px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden; }
.hvts .hvts-price-label { font-size:14px;font-weight:800;color:#0e5c33;margin-top:auto; }
.hvts .hvts-tour-action { align-self:flex-start;min-height:40px;font-size:12px;padding:10px 18px; }
.hvts .hvts-no-tours { border-radius:13px;background:#f5f8f1;border:1px solid #e1ecdf;text-align:center;padding:36px 20px; }
.hvts .hvts-no-tours p { margin-bottom:15px;color:#617769; }

/* Bottom guided-trip CTA. */
.hvts .hvts-closing { display:grid;grid-template-columns:39% 1fr;min-height:215px;margin-top:12px;margin-bottom:57px;border-radius:14px;overflow:hidden;background:linear-gradient(110deg,#edf5e8,#f8faf4); }
.hvts .hvts-closing-media { position:relative;min-height:215px;overflow:hidden; }
.hvts .hvts-closing-media::after { content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,rgba(237,245,232,.93)); }
.hvts .hvts-closing-media img { object-position:center 53%; }
.hvts .hvts-closing-copy { display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:27px 38px 27px 24px; }
.hvts .hvts-closing-copy .hvts-kicker { justify-content:flex-start;margin-bottom:3px; }
.hvts .hvts-closing-copy .hvts-kicker::before { display:none; }
.hvts .hvts-closing h2 { font-size:clamp(26px,2.75vw,37px);font-weight:600; }
.hvts .hvts-closing-copy>p:not(.hvts-kicker) { margin-top:7px;font-size:13px;color:#4f6759; }
.hvts .hvts-closing-actions { margin-top:17px;display:flex;align-items:center;flex-wrap:wrap;gap:20px; }
.hvts .hvts-text-link { display:inline-flex;align-items:center;gap:7px;color:#164b32;font-size:13px;font-weight:800;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#c5a04b; }
.hvts .hvts-text-link:hover { color:#0a7a40; }

@media(max-width:980px) {
    .hvts .hvts-container { width:min(100% - 36px,920px); }
    .hvts .hvts-style-grid { gap:12px; }
    .hvts .hvts-style-card { aspect-ratio:1.26; }
    .hvts .hvts-style-text { padding:17px 16px; }
    .hvts .hvts-style-heading { gap:7px; }
    .hvts .hvts-style-heading strong { font-size:19px; }
    .hvts .hvts-style-subtitle,.hvts .hvts-style-link { padding-left:32px; }
    .hvts .hvts-value { gap:11px;padding:0 10px; }
    .hvts .hvts-value h3 { font-size:17px; }
    .hvts .hvts-tour-grid { gap:13px; }
    .hvts .hvts-tour-details { padding:16px 14px 18px; }
}
@media(max-width:740px) {
    .hvts .hvts-container { width:calc(100% - 30px); }
    .hvts .hvts-hero { min-height:440px; }
    .hvts .hvts-hero-shade { background:linear-gradient(90deg,rgba(5,30,25,.83),rgba(8,39,31,.36)),linear-gradient(0deg,rgba(0,20,17,.31),transparent); }
    .hvts .hvts-hero-inner { padding:34px 0 49px; }
    .hvts .hvts-hero h1 { font-size:37px; }
    .hvts .hvts-style-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .hvts .hvts-style-card { aspect-ratio:1.08; }
    .hvts .hvts-values { grid-template-columns:1fr;gap:0;padding:6px 20px; }
    .hvts .hvts-value { justify-content:flex-start;border-right:0;border-bottom:1px solid rgba(255,255,255,.22);padding:13px 3px; }
    .hvts .hvts-value:last-child { border:0; }
    .hvts .hvts-tour-grid { grid-template-columns:1fr;max-width:520px;margin-inline:auto;gap:18px; }
    .hvts .hvts-tour-image { aspect-ratio:1.9; }
    .hvts .hvts-closing { grid-template-columns:1fr; }
    .hvts .hvts-closing-media { height:160px;min-height:160px; }
    .hvts .hvts-closing-media::after { background:linear-gradient(0deg,rgba(237,245,232,.85),transparent 65%); }
    .hvts .hvts-closing-copy { padding:17px 24px 29px; }
}
@media(max-width:450px) {
    .hvts .hvts-hero { min-height:470px; }
    .hvts .hvts-hero h1 { font-size:33px; }
    .hvts .hvts-hero-actions { gap:10px; }
    .hvts .hvts-hero-actions .hvts-button { width:100%; }
    .hvts .hvts-explore { padding-top:39px; }
    .hvts .hvts-section-heading h2 { font-size:31px; }
    .hvts .hvts-style-grid { gap:10px; }
    .hvts .hvts-style-card { aspect-ratio:.91; }
    .hvts .hvts-style-text { padding:12px 11px 14px; }
    .hvts .hvts-style-heading { display:block; }
    .hvts .hvts-style-heading svg { display:none; }
    .hvts .hvts-style-heading strong { font-size:18px; }
    .hvts .hvts-style-subtitle,.hvts .hvts-style-link { padding-left:0;font-size:11px; }
    .hvts .hvts-featured { padding-top:43px; }
    .hvts .hvts-closing h2 { font-size:29px; }
}
@media(prefers-reduced-motion:reduce) {
    .hvts .hvts-button,.hvts .hvts-style-card img,.hvts .hvts-tour-card,.hvts .hvts-tour-image img { transition:none; }
}
