/* KG Tour Theme — no framework, mobile-first, system fonts. */
:root {
  --kgt-primary: #df1731;
  --kgt-primary-dark: #b20f27;
  --kgt-accent: #0b6665;
  --kgt-text: #17333b;
  --kgt-ink: #102f37;
  --kgt-surface: #f8faf8;
  --kgt-white: #fff;
  --kgt-muted: #51646a;
  --kgt-border: #dce5e4;
  --kgt-shadow: 0 13px 35px rgba(17, 43, 49, .08);
  --kgt-font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --kgt-font-display: Georgia, "Times New Roman", serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 106px; }
body { margin: 0; font-family: var(--kgt-font-body); color: var(--kgt-text); background: var(--kgt-surface); line-height: 1.65; overflow-wrap: anywhere; }
body.kgt-menu-open { overflow: hidden; }
img, svg, video { max-width: 100%; height: auto; }
img { display: block; }
a { color: var(--kgt-primary-dark); text-underline-offset: 3px; }
a:hover { text-decoration-thickness: 2px; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid #de8600; outline-offset: 4px; }
::selection { color: #fff; background: #a20d22; }
.kgt-shell { width: min(100% - 36px, 1240px); margin-inline: auto; }
.kgt-narrow { max-width: 870px; }
.kgt-skip-link { position: fixed; z-index: 9999; top: -80px; left: 10px; padding: .8rem 1.2rem; background: #fff; color: #102f37; border: 2px solid #102f37; }
.kgt-skip-link:focus { top: 12px; }
h1, h2, h3, h4 { font-family: var(--kgt-font-display); color: var(--kgt-ink); line-height: 1.17; letter-spacing: -.025em; text-wrap: balance; }
h1 { font-size: clamp(2.25rem, 5vw, 4.2rem); }
h2 { font-size: clamp(1.9rem, 3.6vw, 3rem); }
h3 { font-size: clamp(1.3rem, 2vw, 1.6rem); }
p { margin-top: 0; }
.kgt-eyebrow { text-transform: uppercase; letter-spacing: .13em; font-weight: 750; font-size: .75rem; color: var(--kgt-accent); }
.kgt-button { display: inline-flex; gap: .75rem; align-items: center; justify-content: center; background: var(--kgt-primary); border: 2px solid var(--kgt-primary); padding: .8rem 1.35rem; color: #fff; border-radius: 6px; font-weight: 750; text-align: center; text-decoration: none; line-height: 1.25; min-height: 44px; transition: transform .2s ease, background-color .2s ease, border-color .2s ease; }
.kgt-button:hover { background: var(--kgt-primary-dark); border-color: var(--kgt-primary-dark); color: #fff; transform: translateY(-1px); }
.kgt-button-light { background: #fff; border-color: #fff; color: #102f37; }
.kgt-button-light:hover { background: #e8f1ef; border-color: #e8f1ef; color: #102f37; }
.kgt-button-outline-light { background: rgba(0,0,0,.09); color: #fff; border-color: rgba(255,255,255,.85); }
.kgt-button-outline-light:hover { background: #fff; color: #102f37; border-color: #fff; }
.kgt-text-link { font-weight: 750; text-decoration: none; }
.kgt-text-link:hover { text-decoration: underline; }
/* Header */
.kgt-site-header { position: sticky; z-index: 100; top: 0; background: rgba(255,255,255,.98); box-shadow: 0 2px 12px rgba(15,50,57,.055); isolation: isolate; }
.kgt-topbar { background: #102f37; color: #fff; font-size: .76rem; }
.kgt-topbar-inner { display: flex; gap: 1rem; justify-content: space-between; align-items: center; min-height: 31px; }
.kgt-topbar-contact { display: flex; flex-wrap: wrap; gap: .8rem; }
.kgt-topbar a { color: #fff; text-decoration: none; }
.kgt-topbar a:hover { text-decoration: underline; }
.kgt-social { display: flex; align-items: center; gap: .5rem; }
.kgt-social a { display: inline-grid; place-items: center; width: 27px; height: 27px; border-radius: 999px; color: inherit; border: 1px solid currentColor; text-decoration: none; font-size: .78rem; line-height: 1; }
.kgt-social a:hover { background: rgba(255,255,255,.14); }
.kgt-header-row { display: flex; gap: 1rem; align-items: center; justify-content: space-between; min-height: 78px; transition: min-height .2s ease; }
.kgt-site-header.is-scrolled .kgt-header-row { min-height: 62px; }
.kgt-brand { display: inline-flex; align-items: center; gap: .55rem; min-width: 0; max-width: 260px; color: var(--kgt-ink); text-decoration: none; }
.kgt-logo-image { width: auto; height: auto; max-height: 54px; max-width: 220px; object-fit: contain; }
.kgt-brand-symbol { width: 38px; height: 38px; display: inline-grid; flex: 0 0 auto; place-items: center; border-radius: 10px; background: var(--kgt-primary); color: #fff; font-size: 1.65rem; }
.kgt-brand-name { font-size: 1.2rem; font-weight: 850; letter-spacing: -.035em; line-height: 1.05; }
.kgt-desktop-nav { display: none; }
.kgt-menu { list-style: none; padding: 0; margin: 0; }
.kgt-menu a, .kgt-menu-label { text-decoration: none; }
.kgt-header-actions { display: flex; align-items: center; gap: .65rem; }
.kgt-header-cta { display: none; }
.kgt-language-menu { display: flex; gap: .6rem; }
.kgt-language-menu a { color: var(--kgt-ink); font-size: .83rem; font-weight: 750; }
.kgt-menu-toggle { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--kgt-border); background: #fff; border-radius: 8px; }
.kgt-hamburger { display: flex; flex-direction: column; gap: 5px; }
.kgt-hamburger span { display: block; width: 21px; height: 2px; background: var(--kgt-ink); border-radius: 2px; }
.kgt-mobile-panel { position: fixed; z-index: 110; top: var(--kgt-mobile-top, 78px); left: 0; right: 0; height: calc(100dvh - var(--kgt-mobile-top, 78px)); overflow-y: auto; overscroll-behavior: contain; background: #fff; padding: 1.25rem max(18px, calc((100vw - 1240px) / 2)); box-shadow: 0 15px 28px rgba(0,0,0,.13); }
.kgt-mobile-panel[hidden] { display: none !important; }
.kgt-mobile-menu > li { border-bottom: 1px solid var(--kgt-border); }
.kgt-mobile-menu > li > a, .kgt-mobile-menu > li > .kgt-menu-label { display: block; padding: .85rem 0; color: var(--kgt-ink); font-weight: 750; }
.kgt-mobile-menu .sub-menu { list-style: none; margin: 0 0 .7rem; padding: 0 0 0 1rem; border-left: 3px solid var(--kgt-border); }
.kgt-mobile-menu .sub-menu a { display: block; padding: .38rem; color: var(--kgt-text); }
.kgt-mobile-extra { padding-top: 1.3rem; display: flex; flex-direction: column; gap: .6rem; }
/* Hero */
.kgt-hero { position: relative; display: flex; align-items: center; min-height: 420px; padding: 2.15rem 0 3.25rem; background: radial-gradient(circle at 90% 10%, #2b807e 0, transparent 35%), linear-gradient(120deg,#10323c 0%,#194c56 50%,#396e63 100%); background-size: cover; background-position: center; color: #fff; overflow: hidden; isolation: isolate; }
.kgt-hero::after { position: absolute; z-index: 1; content: ''; inset: auto -8% -40% 40%; height: 110%; transform: rotate(-12deg); border: 1px solid rgba(255,255,255,.14); border-radius: 60%; pointer-events: none; }
.kgt-hero-video { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.kgt-hero:has(.kgt-hero-video)::before { content: ''; position: absolute; z-index: 1; inset: 0; background: linear-gradient(95deg,rgba(8,35,46,.88),rgba(8,35,46,.5)); }
.kgt-hero-inner { position: relative; z-index: 2; }
.kgt-hero h1 { color: #fff; max-width: 790px; margin: .25rem 0 .8rem; font-size: clamp(2.2rem, 4.6vw, 4.2rem); line-height: 1.04; }
.kgt-hero-eyebrow { margin: 0; font-size: .77rem; font-weight: 800; text-transform: uppercase; letter-spacing: .18em; color: #ffe5e8; }
.kgt-hero-intro { max-width: 670px; margin: 0; font-size: clamp(.95rem, 1.35vw, 1.07rem); line-height: 1.48; color: #f5ffff; }
.kgt-hero-actions { margin-top: 1.15rem; display: flex; flex-wrap: wrap; gap: .8rem; }
.kgt-hero-mark { position: absolute; z-index: 2; right: 6%; bottom: 2.5rem; font-size: .8rem; font-weight: 800; letter-spacing: .14em; opacity: .8; }
.kgt-hero-inner { display: grid; gap: 1.5rem; }
.kgt-hero-copy { min-width: 0; }
.kgt-hero-cards { position: relative; display: flex; align-items: center; justify-content: center; min-height: 210px; margin: .25rem 0 0; }
.kgt-hero-card { position: absolute; display: flex; flex-direction: column; width: min(45vw, 190px); overflow: hidden; color: var(--kgt-text); background: #fff; border: 3px solid rgba(255,255,255,.9); border-radius: 14px; box-shadow: 0 16px 38px rgba(4,25,32,.3); text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.kgt-hero-card:hover,.kgt-hero-card:focus-visible { z-index: 5; box-shadow: 0 22px 48px rgba(4,25,32,.4); }
.kgt-hero-card-1 { z-index: 3; transform: translate(-70%, 12px) rotate(-7deg); }
.kgt-hero-card-1:hover,.kgt-hero-card-1:focus-visible { transform: translate(-70%, 0) rotate(-4deg); }
.kgt-hero-card-2 { z-index: 4; transform: translateY(-4px); }
.kgt-hero-card-2:hover,.kgt-hero-card-2:focus-visible { transform: translateY(-12px); }
.kgt-hero-card-3 { z-index: 2; transform: translate(70%, 14px) rotate(7deg); }
.kgt-hero-card-3:hover,.kgt-hero-card-3:focus-visible { transform: translate(70%, 2px) rotate(4deg); }
.kgt-hero-card-image { aspect-ratio: 1.3; overflow: hidden; background: var(--kgt-soft); }
.kgt-hero-card-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.kgt-hero-card-copy { display: grid; gap: .25rem; padding: .55rem .65rem .65rem; }
.kgt-hero-card-tag { justify-self: start; padding: .16rem .38rem; border-radius: 999px; color: #fff; background: var(--kgt-accent); font-size: .58rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.kgt-hero-card-copy strong { font-size: .78rem; line-height: 1.2; }
.kgt-hero-card-meta { color: var(--kgt-muted); font-size: .68rem; }
@media (min-width: 992px) {
  .kgt-hero-inner { grid-template-columns: minmax(0,1.05fr) minmax(390px,.95fr); align-items: center; gap: 1rem; }
  .kgt-hero-copy { max-width: 670px; }
  .kgt-hero-cards { min-height: 300px; }
  .kgt-hero-card { width: clamp(155px,15vw,205px); }
  .kgt-hero-card-copy { padding: .62rem .72rem .72rem; }
  .kgt-hero-card-copy strong { font-size: .86rem; }
}
@media (min-width: 600px) and (max-width: 991px) {
  .kgt-hero-cards { min-height: 245px; margin-top: .5rem; }
  .kgt-hero-card { width: min(29vw,190px); }
}
@media (max-width: 599px) {
  .kgt-hero-cards { min-height: 190px; margin: .6rem 0 0; }
  .kgt-hero-card { width: min(43vw,165px); }
  .kgt-hero-card-copy { padding: .42rem .5rem .52rem; }
  .kgt-hero-card-copy strong { font-size: .7rem; }
}
/* Page and cards */
.kgt-section { padding: clamp(3.5rem, 7vw, 6rem) 0; }
.kgt-page-header { margin-bottom: 2.3rem; }
.kgt-page-header h1 { margin: .45rem 0 1.4rem; }
.kgt-section-title { display: flex; gap: 1rem; flex-wrap: wrap; justify-content: space-between; align-items: end; margin-bottom: 1.8rem; }
.kgt-section-title h2 { margin: 0; }
.kgt-card-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 1.5rem; }
.kgt-tour-card, .kgt-post-card { background: #fff; border-radius: 12px; overflow: hidden; border: 1px solid #e1e9e6; box-shadow: var(--kgt-shadow); min-width: 0; transition: transform .2s ease, box-shadow .2s ease; }
.kgt-tour-card:hover, .kgt-post-card:hover { transform: translateY(-3px); box-shadow: 0 17px 38px rgba(17,43,49,.13); }
.kgt-card-media { display: block; aspect-ratio: 1.55; overflow: hidden; text-decoration: none; background: linear-gradient(125deg,#10323c,#3b8780); }
.kgt-card-media img { width: 100%; height: 100%; object-fit: cover; }
.kgt-card-media:hover img { transform: scale(1.025); }
.kgt-card-media img { transition: transform .3s ease; }
.kgt-photo-placeholder { width: 100%; height: 100%; display: grid; place-items: center; font-size: 6rem; color: #e0f0e9; }
.kgt-card-copy { padding: 1.45rem; }
.kgt-card-copy h2, .kgt-card-copy h3 { margin: .5rem 0 .85rem; }
.kgt-card-copy h2 a, .kgt-card-copy h3 a { color: var(--kgt-ink); text-decoration: none; }
.kgt-card-copy h2 a:hover, .kgt-card-copy h3 a:hover { color: var(--kgt-primary-dark); }
.kgt-card-copy p { color: var(--kgt-muted); }
.kgt-card-facts { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .4rem; padding-top: 1rem; border-top: 1px solid var(--kgt-border); font-size: .91rem; }
.kgt-card-facts strong { color: var(--kgt-primary-dark); }
.kgt-empty-state { background: #fff; padding: 1.5rem; border: 1px dashed var(--kgt-border); border-radius: 10px; }
.kgt-home-inquiry { background: #e8f0ee; }
.kgt-prose { max-width: 100%; font-size: 1.06rem; }
.kgt-prose :is(p,ul,ol,blockquote) { max-width: 72ch; }
.kgt-prose img, .kgt-entry-cover img { border-radius: 10px; height: auto; }
.kgt-prose h2 { margin-top: 2.1rem; }
.kgt-prose h3 { margin-top: 1.6rem; }
.kgt-prose blockquote { border-left: 4px solid var(--kgt-primary); padding-left: 1.2rem; margin-left: 0; color: var(--kgt-muted); }
.kgt-entry-cover { margin-bottom: 2rem; }
.kgt-entry-meta { color: var(--kgt-muted); font-size: .9rem; }
.kgt-search-form { display: flex; flex-wrap: wrap; align-items: stretch; gap: .6rem; }
.kgt-search-form input { min-width: 0; flex: 1 1 210px; min-height: 44px; border: 1px solid #9cadaa; border-radius: 7px; padding: .7rem 1rem; }
.kgt-pagination ul { display: flex; gap: .5rem; flex-wrap: wrap; list-style: none; padding: 0; margin: 2rem 0; }
.kgt-pagination a, .kgt-pagination .current { display: inline-flex; min-width: 43px; min-height: 43px; justify-content: center; align-items: center; padding: .4rem .7rem; background: #fff; border: 1px solid var(--kgt-border); border-radius: 6px; }
.kgt-pagination .current { background: var(--kgt-ink); color: #fff; }
/* Footer */
.kgt-footer { background: #102f37; color: #dae5e6; }
.kgt-footer-grid { padding: 4rem 0; display: grid; grid-template-columns: 1fr; gap: 2.5rem; }
.kgt-footer h2 { font: 750 1.06rem var(--kgt-font-body); color: #fff; margin: .4rem 0 1.4rem; }
.kgt-footer a { color: #fff; }
.kgt-footer .kgt-brand { color: #fff; }
.kgt-footer .kgt-brand-name { color: #fff; }
.kgt-footer-about p { max-width: 30ch; margin: 1.3rem 0; }
.kgt-footer-menu li { margin: .55rem 0; }
.kgt-footer-menu a { text-decoration: none; }
.kgt-footer-menu a:hover { text-decoration: underline; }
.kgt-footer-bottom { border-top: 1px solid #345159; font-size: .84rem; }
.kgt-footer-bottom-inner { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .7rem; min-height: 80px; }
.kgt-footer-widget { margin-top: 1rem; }
.kgt-floating-whatsapp { position: fixed; right: max(14px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); z-index: 95; display: flex; align-items: center; gap: .6rem; padding: .75rem .95rem; border-radius: 999px; color: #fff; background: #087d59; box-shadow: 0 8px 25px rgba(0,0,0,.22); text-decoration: none; font-weight: 750; font-size: .9rem; }
.kgt-floating-whatsapp:hover { background: #05684b; color: #fff; }
.kgt-wa-symbol { font-size: 1.3rem; }
.kgt-cookie-notice { position: fixed; z-index: 120; left: 12px; bottom: 12px; width: min(calc(100% - 24px), 560px); padding: 1.25rem; box-shadow: 0 15px 45px rgba(0,0,0,.22); border: 1px solid var(--kgt-border); border-radius: 10px; background: #fff; display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; }
.kgt-cookie-notice[hidden] { display: none; }
.kgt-cookie-notice p { margin: 0; flex: 1 1 200px; }
.kgt-comments { margin-top: 4rem; border-top: 1px solid var(--kgt-border); }
.kgt-error-page { min-height: 60vh; }
/* Common WordPress media behavior */
.alignwide { max-width: 1200px; }
.alignfull { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); }
.wp-caption { max-width: 100%; }
.wp-caption-text, figcaption { color: var(--kgt-muted); font-size: .88rem; }
.screen-reader-text { position: absolute !important; height: 1px; width: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }
.screen-reader-text:focus { clip: auto; height: auto; width: auto; z-index: 10000; }
@media (min-width: 600px) {
  .kgt-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .kgt-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (min-width: 992px) {
  .kgt-topbar-inner { min-height: 35px; }
  .kgt-desktop-nav { display: block; margin-left: auto; }
  .kgt-main-menu { display: flex; align-items: center; gap: clamp(.65rem,1.35vw,1.5rem); }
  .kgt-main-menu > li { position: relative; }
  .kgt-main-menu > li > a, .kgt-main-menu > li > .kgt-menu-label { display: block; color: #1a3740; font-size: .85rem; font-weight: 750; padding: 1.2rem 0; white-space: nowrap; }
  .kgt-main-menu .sub-menu { display: none; position: absolute; top: 100%; left: -.8rem; z-index: 10; min-width: 205px; width: max-content; max-width: 270px; list-style: none; background: #fff; border: 1px solid var(--kgt-border); border-radius: 8px; padding: .45rem; box-shadow: var(--kgt-shadow); }
  .kgt-main-menu .sub-menu .sub-menu { top: 0; left: 100%; }
  .kgt-main-menu .sub-menu a { display: block; padding: .5rem .7rem; color: var(--kgt-ink); border-radius: 5px; font-size: .85rem; }
  .kgt-main-menu .sub-menu a:hover, .kgt-main-menu .sub-menu a:focus-visible { background: #eaf2f0; }
  .kgt-main-menu li:hover > .sub-menu, .kgt-main-menu li:focus-within > .sub-menu { display: block; }
  .kgt-header-cta { display: inline-flex; padding: .65rem .9rem; font-size: .82rem; }
  .kgt-menu-toggle, .kgt-mobile-panel { display: none !important; }
  .kgt-card-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .kgt-footer-grid { grid-template-columns: 1.35fr .9fr 1fr 1fr; }
  .kgt-hero-inner { padding-block: 0; }
}
@media (min-width: 992px) and (max-width: 1170px) {
  .kgt-header-cta { display: none; }
  .kgt-main-menu { gap: .65rem; }
  .kgt-brand { max-width: 200px; }
}
@media (max-width: 450px) {
  .kgt-topbar-inner .kgt-social { display: none; }
  .kgt-topbar-inner { justify-content: center; }
  .kgt-topbar-contact { justify-content: center; font-size: .71rem; }
  .kgt-brand-name { font-size: 1.04rem; }
  .kgt-logo-image { max-width: 178px; }
  .kgt-header-row { min-height: 70px; }
  .kgt-hero { padding-block: 2.1rem 2.8rem; min-height: 0; }
  .kgt-hero-mark { display: none; }
  .kgt-floating-whatsapp span:last-child { display: none; }
  .kgt-floating-whatsapp { padding: .8rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .kgt-hero-video { display: none; }
}

/* Keep the header below WordPress' logged-in admin toolbar. */
body.admin-bar .kgt-site-header { top: 32px; }
body.admin-bar .kgt-mobile-panel { top: calc(var(--kgt-mobile-top, 78px) + 32px); height: calc(100dvh - var(--kgt-mobile-top, 78px) - 32px); }
@media (max-width: 782px) {
  body.admin-bar .kgt-site-header { top: 46px; }
  body.admin-bar .kgt-mobile-panel { top: calc(var(--kgt-mobile-top, 78px) + 46px); height: calc(100dvh - var(--kgt-mobile-top, 78px) - 46px); }
}
/* === Phase 5: editorial homepage, discovery and archive filters === */
.kgt-hero-trust{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem 1.05rem;padding:0;margin:1.15rem 0 0;font-size:.83rem;font-weight:650;color:#fff}
.kgt-hero-trust li::before{content:'✓';color:#ffe9e9;margin-right:.5rem;font-weight:900}
.kgt-hero-trust a{color:#fff}
.kgt-discovery-wrap{position:relative;z-index:5;margin-top:-2.7rem}
.kgt-hero-search{background:#fff;border:1px solid var(--kgt-border);border-radius:14px;padding:.9rem 1rem;display:grid;gap:1rem;box-shadow:0 16px 42px rgba(8,39,44,.14);align-items:end}
.kgt-filter-field{display:flex;flex-direction:column;gap:.35rem;min-width:0;font-weight:720;color:var(--kgt-ink);font-size:.85rem}
.kgt-filter-field span{display:block}
.kgt-filter-field select,.kgt-filter-field input{background:#fff;width:100%;max-width:100%;min-height:46px;padding:.65rem .8rem;border:1px solid #bdcece;border-radius:7px;color:var(--kgt-ink);appearance:auto;font-weight:500}
.kgt-hero-search .kgt-button{min-height:46px;width:100%}
.kgt-section-soft{background:#f0f5f3}
.kgt-adventure-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1.1rem}
.kgt-adventure-card{background:#12454d;min-height:230px;border-radius:12px;position:relative;overflow:hidden;display:flex;align-items:end;color:#fff;text-decoration:none;isolation:isolate}
.kgt-adventure-media,.kgt-adventure-media::after{position:absolute;inset:0;z-index:-1}
.kgt-adventure-media{background:linear-gradient(125deg,#14444e,#338379)}
.kgt-adventure-media::after{content:'';background:linear-gradient(0deg,rgba(8,28,32,.9),rgba(0,0,0,.02) 80%)}
.kgt-adventure-card:nth-child(3n+2) .kgt-adventure-media{background:linear-gradient(120deg,#365751,#8f6446)}
.kgt-adventure-card:nth-child(3n+3) .kgt-adventure-media{background:linear-gradient(120deg,#193b64,#49736e)}
.kgt-adventure-media img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.kgt-adventure-card:hover img{transform:scale(1.04)}
.kgt-adventure-copy{padding:1.4rem;position:relative;width:100%;z-index:1}
.kgt-adventure-card h3{color:#fff;font-family:var(--kgt-font-display);margin:.25rem 0 .35rem;font-size:clamp(1.35rem,2.2vw,1.8rem);display:flex;justify-content:space-between;gap:.5rem}
.kgt-adventure-card:hover{color:#fff}
.kgt-adventure-quantity{font-size:.79rem;letter-spacing:.09em;text-transform:uppercase;font-weight:750;color:#f6eee8}
.kgt-departures-list{display:grid;gap:1rem}
.kgt-departure-row{background:#fff;border:1px solid var(--kgt-border);border-radius:12px;padding:1.2rem;display:grid;grid-template-columns:minmax(0,1fr);gap:.8rem;align-items:center}
.kgt-departure-date{display:flex;gap:.6rem;align-items:baseline;color:var(--kgt-primary-dark)}
.kgt-departure-date strong{font-family:var(--kgt-font-display);font-size:2rem;line-height:1}
.kgt-departure-date span{font-weight:750}
.kgt-departure-name h3{margin:0 0 .4rem;font-size:1.25rem}
.kgt-departure-name h3 a{color:var(--kgt-ink);text-decoration:none}
.kgt-departure-name>span{display:inline-block;margin-right:1rem;color:var(--kgt-muted);font-size:.9rem}
.kgt-departure-status{border-radius:999px;padding:.2rem .6rem;background:#e4f5ef;color:#11543d;font-size:.76rem!important;font-weight:750}
.kgt-departure-end{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;justify-content:space-between}
.kgt-departure-end strong{font-size:1.15rem;color:var(--kgt-primary-dark)}
.kgt-section-dark{background:#102f37;color:#e5f1ef}
.kgt-section-dark h2,.kgt-section-dark h3{color:#fff}
.kgt-section-dark .kgt-eyebrow{color:#a9ece3}
.kgt-values-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem;margin-top:2.2rem}
.kgt-values-grid>div>span{display:grid;place-items:center;width:48px;height:48px;border:1px solid #86b5b0;border-radius:12px;font-size:1.7rem;color:#bdfff0}
.kgt-values-grid h3{font-size:1.3rem;margin:.9rem 0 .5rem}
.kgt-values-grid p{color:#e2eded}
.kgt-blog-grid,.kgt-reviews-grid{display:grid;gap:1.4rem;grid-template-columns:minmax(0,1fr)}
.kgt-review-widget{background:#fff;padding:1.5rem;border-radius:12px;border:1px solid var(--kgt-border)}
.kgt-home-inquiry{background:#f0f5f3}
.kgt-home-inquiry-layout{display:grid;gap:1.8rem}
.kgt-inquiry-benefits{list-style:none;padding:0;margin:1.6rem 0 0}
.kgt-inquiry-benefits li{margin:.55rem 0}
.kgt-inquiry-benefits li::before{content:'✓';margin-right:.8rem;color:#14685b;font-weight:900}
.kgt-home-inquiry-form{min-width:0;background:#fff;border:1px solid var(--kgt-border);border-radius:12px;padding:1.2rem}
.kgt-catalog-layout{display:grid;gap:1.5rem;align-items:start}
.kgt-catalog-filters{background:#fff;border:1px solid var(--kgt-border);border-radius:12px;padding:1.2rem;display:grid;gap:1rem}
.kgt-catalog-filters h2{font-size:1.35rem;margin:0}
.kgt-catalog-filter-fields{display:grid;gap:.9rem}
.kgt-filter-reset{font-size:.9rem;text-align:center}
.kgt-catalog-results{min-width:0}
.kgt-catalog-results[aria-busy=true]{opacity:.6;transition:opacity .2s ease}
.kgt-result-count{font-weight:750;color:var(--kgt-muted);margin:0 0 1rem}
.kgt-empty-state{padding:1.5rem;background:#fff;border:1px dashed var(--kgt-border);border-radius:10px;grid-column:1/-1}
.kgt-catalog-page .kgt-card-grid{align-items:stretch}
.kgt-catalog-page .kgt-page-header h1{max-width:920px}
.kgt-catalog-results [role=alert]{background:#fff4f4;border-left:4px solid var(--kgt-primary);padding:1rem}
.kgt-pagination{margin-top:2rem}
.kgt-pagination ul{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;padding:0;margin:0}
.kgt-pagination li a,.kgt-pagination li span{display:grid;place-items:center;min-width:42px;min-height:42px;padding:0 .7rem;border:1px solid var(--kgt-border);border-radius:6px;background:#fff;text-decoration:none;color:var(--kgt-ink)}
.kgt-pagination li a[aria-current=page],.kgt-pagination li .current{background:var(--kgt-ink);color:#fff}
@media(min-width:650px){.kgt-adventure-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kgt-departure-row{grid-template-columns:105px minmax(0,1fr)}.kgt-departure-end{grid-column:2}.kgt-values-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kgt-blog-grid,.kgt-reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kgt-catalog-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:960px){.kgt-hero-search{grid-template-columns:repeat(3,minmax(0,1fr)) auto;padding:.9rem 1.15rem}.kgt-hero-search .kgt-button{width:auto}.kgt-adventure-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.kgt-departure-row{grid-template-columns:105px minmax(0,1fr) minmax(190px,auto)}.kgt-departure-end{grid-column:auto;justify-content:end}.kgt-values-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:2.4rem}.kgt-blog-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.kgt-reviews-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.kgt-home-inquiry-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:3.5rem}.kgt-home-inquiry-form{padding:2rem}.kgt-catalog-layout{grid-template-columns:265px minmax(0,1fr);gap:2rem}.kgt-catalog-filter-fields{grid-template-columns:minmax(0,1fr)}.kgt-catalog-page .kgt-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.kgt-adventure-media img,.kgt-tour-card{transition:none!important;transform:none!important}}

/* Phase 7: language switcher provided by Polylang or WPML. */
.kgt-language-shortcuts{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;list-style:none;padding:0;margin:0}
.kgt-language-shortcuts a{display:inline-flex;padding:.3rem .45rem;border-radius:.35rem;font-size:.78rem;font-weight:700;line-height:1.4}
.kgt-language-shortcuts a[aria-current="page"]{outline:2px solid currentColor;outline-offset:1px}
.kgt-language-shortcuts a:focus-visible{outline:3px solid var(--kgt-primary);outline-offset:3px}

/* Phase 8: simple editable information pages, 375px-first. */
.kgt-contact-layout {display:grid;grid-template-columns:minmax(0,1fr);gap:2rem;align-items:start;}
.kgt-contact-details {margin-top:2rem;background:#fff;border:1px solid var(--kgt-border);border-radius:12px;padding:1.5rem;}
.kgt-contact-details dl {margin:1rem 0;display:grid;grid-template-columns:minmax(0,1fr);gap:.25rem;}
.kgt-contact-details dt {font-weight:750;color:var(--kgt-ink);margin-top:.7rem;}
.kgt-contact-details dd {margin:0;overflow-wrap:anywhere;}
.kgt-contact-form-area {min-width:0;}
.kgt-reference-grid {display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;}
.kgt-reference-card {padding:1.4rem;border:1px solid var(--kgt-border);border-radius:12px;background:#fff;min-width:0;}
.kgt-reference-gallery {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}
.kgt-reference-gallery-item {display:block;background:#fff;border-radius:10px;overflow:hidden;text-decoration:none;border:1px solid var(--kgt-border);min-width:0;}
.kgt-reference-gallery-item img {display:block;width:100%;height:160px;object-fit:cover;}
.kgt-reference-gallery-item span {display:block;padding:.6rem .85rem;color:var(--kgt-ink);font-weight:700;}
@media(min-width:720px){.kgt-contact-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem}.kgt-reference-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.kgt-reference-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.kgt-reference-gallery-item img{height:220px}}
@media(min-width:1100px){.kgt-reference-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}}


/* OpenWay Travel v0.8.1: shorter, content-aware homepage hero. */
@media (min-width: 992px) {
  .kgt-hero { min-height: 420px; }
  .kgt-hero-inner { padding-block: 0; }
}
@media (min-width: 600px) and (max-width: 991px) {
  .kgt-hero { min-height: 0; padding-block: 2.5rem 3.55rem; }
  .kgt-hero h1 { font-size: clamp(2.6rem, 5.8vw, 3.8rem); max-width: 700px; }
  .kgt-discovery-wrap { margin-top: -2.4rem; }
}
@media (max-width: 599px) {
  .kgt-hero { min-height: 0; padding-block: 2rem 2.65rem; }
  .kgt-hero h1 { font-size: clamp(2.05rem, 8.5vw, 2.9rem); max-width: 100%; margin: .3rem 0 .7rem; line-height: 1.08; }
  .kgt-hero-intro { font-size: .96rem; line-height: 1.45; }
  .kgt-hero-actions { margin-top: 1rem; }
  .kgt-hero-actions .kgt-button { padding-block: .65rem; }
  .kgt-hero-trust { margin-top: .9rem; gap: .2rem .9rem; font-size: .76rem; }
  .kgt-discovery-wrap { margin-top: -.95rem; }
  .kgt-hero-search { padding: 1rem; gap: .75rem; }
}
