@font-face {
  font-family: "Figtree";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("../fonts/figtree-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Figtree";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("../fonts/figtree-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --kv-mist: oklch(0.96 0.012 145);
  --kv-sand: oklch(0.93 0.025 82);
  --kv-sage: oklch(0.58 0.055 145);
  --kv-sage-deep: oklch(0.35 0.05 145);
  --kv-ink: oklch(0.25 0.025 145);
  --kv-muted: oklch(0.43 0.022 145);
  --kv-cloud: oklch(0.985 0.006 145);
  --kv-field: oklch(0.997 0.003 145);
  --kv-line: color-mix(in oklab, var(--kv-sage) 35%, transparent);
  --kv-error: oklch(0.5 0.16 30);
  --kv-field-line: var(--kv-sage);
}
*, *::before, *::after { box-sizing: border-box; }
button, input, select, textarea { font: inherit; }
html { -webkit-text-size-adjust: 100%; }
body {
  display: flex;
  flex-direction: column;
  margin: 0;
  min-height: 100vh;
  background: var(--kv-mist);
  color: var(--kv-ink);
  font-family: "Figtree", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0;
}
img { max-width: 100%; height: auto; }
a { color: inherit; }
body > main { flex: 1 0 auto; }
h1, h2, h3, p { margin-top: 0; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }
:focus-visible { outline: 2px solid var(--kv-sage-deep); outline-offset: 2px; }
.kv-footer :focus-visible, .kv-skip:focus-visible { outline-color: var(--kv-cloud); }
.kv-skip { position: absolute; top: .75rem; left: -9999px; z-index: 30; padding: .75rem 1.25rem; border-radius: 2rem; background: var(--kv-sage-deep); color: var(--kv-cloud); font-weight: 600; text-decoration: none; }
.kv-skip:focus { left: 1rem; }

.kv-shell { width: min(calc(100% - 2rem), 1180px); margin-inline: auto; }
.kv-header { position: sticky; top: 0; z-index: 5; background: var(--kv-mist); transition: box-shadow .2s ease; }
.admin-bar .kv-header { top: var(--wp-admin--admin-bar--height, 0px); }
.tr-virs-nuotraukos .kv-header { position: absolute; top: 0; right: 0; left: 0; background: linear-gradient(color-mix(in oklab, var(--kv-cloud) 55%, transparent) 70%, transparent); }
.admin-bar.tr-virs-nuotraukos .kv-header { top: var(--wp-admin--admin-bar--height, 0px); }
body .kv-header.kv-header-prilipusi { background: var(--kv-mist); background-size: auto; box-shadow: 0 .25rem 1.25rem color-mix(in oklab, var(--kv-ink) 12%, transparent); }
.tr-virs-nuotraukos .kv-header.kv-header-prilipusi { position: fixed; }
@media (prefers-reduced-motion: reduce) { .kv-header { transition: none; } }
@media (max-width: 782px) { .admin-bar .kv-header, .admin-bar .kv-header.kv-header-prilipusi { top: 0; } }
.kv-nav { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; min-height: 4.5rem; gap: .75rem; }
.kv-logo { min-width: 0; color: var(--kv-ink); font-size: 1.125rem; font-weight: 650; text-decoration: none; }
.kv-nav-links { display: none; justify-content: flex-end; gap: .65rem; margin: 0; padding: 0; list-style: none; color: var(--kv-ink); font-size: 1rem; }
.kv-nav-links a { font-weight: 600; text-decoration: none; }
.tr-virs-nuotraukos .kv-logo, .tr-virs-nuotraukos .kv-nav-links a, .tr-virs-nuotraukos .kv-menu summary { text-shadow: 0 1px 10px var(--kv-cloud); }
.kv-menu { position: relative; justify-self: end; }
.kv-menu summary { display: inline-flex; align-items: center; gap: .6rem; min-height: 2.75rem; padding: 0 .25rem; color: var(--kv-ink); font-size: 1rem; font-weight: 600; list-style: none; cursor: pointer; }
.kv-menu summary::-webkit-details-marker { display: none; }
.kv-menu-icon { position: relative; width: 1.1rem; height: 2px; border-radius: 1px; background: currentColor; box-shadow: 0 -6px 0 currentColor, 0 6px 0 currentColor; }
.kv-menu[open] .kv-menu-icon { background: transparent; box-shadow: none; }
.kv-menu[open] .kv-menu-icon::before, .kv-menu[open] .kv-menu-icon::after { content: ""; position: absolute; inset: 0; border-radius: 1px; background: currentColor; transform: rotate(45deg); }
.kv-menu[open] .kv-menu-icon::after { transform: rotate(-45deg); }
.kv-menu-panel { position: absolute; margin: 0; list-style: none; top: calc(100% + .35rem); right: 0; z-index: 20; display: grid; min-width: 13rem; padding: .5rem; border-radius: 1.4rem; background: var(--kv-cloud); box-shadow: 0 .75rem 2.5rem color-mix(in oklab, var(--kv-ink) 18%, transparent); }
.kv-menu-panel a { display: flex; align-items: center; min-height: 2.75rem; padding: 0 1rem; border-radius: 1rem; color: var(--kv-ink); font-weight: 550; text-decoration: none; }
.kv-menu-panel a:hover { background: var(--kv-mist); }
.kv-nav-links a:hover, .kv-nav-links a[aria-current="page"] { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .45rem; }
.kv-menu-panel a[aria-current="page"] { background: var(--kv-mist); font-weight: 650; }

.kv-hero { display: grid; min-height: 100svh; background: var(--kv-sand); }
.kv-hero-image { display: block; width: 100%; height: 50svh; object-fit: cover; object-position: center; }
.kv-hero-copy { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 1.25rem; min-width: 0; padding: 2rem 1rem 2.5rem; }
.kv-hero-copy h1 { max-width: 100%; margin: 0; font-size: clamp(2.3rem, 8vw, 5.5rem); font-weight: 300; line-height: 1.04; text-wrap: balance; }
.kv-hero-lead { max-width: 32rem; margin: 0; color: var(--kv-muted); font-size: 1.05rem; line-height: 1.6; }

.kv-section { padding: 5rem 0; }
.kv-eyebrow { margin-bottom: 1rem; color: var(--kv-sage-deep); font-size: .75rem; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; }
.kv-title { max-width: 13ch; margin-bottom: 2.5rem; font-size: clamp(2.2rem, 7vw, 4.5rem); font-weight: 300; line-height: 1.08; }

.kv-day-grid { display: grid; gap: 1rem; }
.kv-day-card { overflow: hidden; min-height: 15rem; border-radius: 2rem; background: var(--kv-cloud); }
.kv-day-card:nth-child(2) { background: var(--kv-sand); }
.kv-day-card:nth-child(3) { background: color-mix(in oklab, var(--kv-sage) 24%, var(--kv-cloud)); }
.kv-day-card img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.kv-day-card > div { padding: 1.5rem; }
.kv-day-card h3 { margin-bottom: 1.5rem; font-size: .78rem; font-weight: 650; text-transform: uppercase; }
.kv-day-card p { margin-bottom: 0; font-size: 1.2rem; font-weight: 350; line-height: 1.55; }

.kv-trips { padding: 5rem 0; }
.kv-trip { position: relative; display: grid; min-height: 80svh; padding: 1rem 0 5rem; align-items: center; }
.kv-trip-link { color: inherit; text-decoration: none; }
.kv-trip-link::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.kv-trip-link:hover, .kv-trip:hover .kv-more { text-decoration: underline; text-underline-offset: .4rem; }
.kv-trip-image-wrap { overflow: hidden; border-radius: 2.5rem; }
.kv-trip-image { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.kv-trip-copy { padding: 2rem .5rem 0; }
.kv-trip-copy h3 { margin-bottom: 1rem; font-size: clamp(2rem, 8vw, 4rem); font-weight: 300; line-height: 1; }
.kv-trip-copy p { max-width: 34rem; color: var(--kv-muted); line-height: 1.7; }
.kv-trip:last-child { min-height: 0; padding-bottom: 0; }
.kv-trip-meta { display: flex; flex-wrap: wrap; gap: .4rem .75rem; margin: 1.5rem 0; font-size: 1rem; }
.kv-trip-meta span + span::before { content: "·"; margin-right: .75rem; color: var(--kv-sage); }
.kv-trip-meta span:last-child { font-weight: 650; }
.kv-more { display: inline-flex; align-items: center; min-height: 2.75rem; font-size: .95rem; font-weight: 650; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .35rem; }
.kv-trip.kv-trip-be-nuotraukos { display: block; min-height: 0; margin-top: 1rem; padding: 2rem 1.5rem; border-radius: 2.5rem; background: var(--kv-sand); }
.kv-trip-be-nuotraukos .kv-trip-copy { padding: 0; }
.kv-trip-be-nuotraukos .kv-trip-copy h3 { font-size: clamp(1.8rem, 6vw, 2.8rem); }
.kv-trip-be-nuotraukos .kv-trip-copy > :last-child { margin-bottom: 0; }

.kv-departures { background: var(--kv-cloud); }
.kv-departure-list { display: grid; }
.kv-departure { position: relative; display: grid; grid-template-columns: 1fr auto; gap: .7rem 1rem; padding: 1.4rem 0; border-bottom: 1px solid color-mix(in oklab, var(--kv-sage) 35%, transparent); align-items: center; }
.kv-departure time { font-size: 1rem; }
.kv-departure p { color: var(--kv-muted); font-size: .85rem; }
.kv-departure h3, .kv-departure p { margin-bottom: .25rem; }
.kv-departure h3 { font-size: 1.15rem; font-weight: 500; }
.kv-departure > strong { grid-column: 2; grid-row: 1; justify-self: end; font-size: 1.05rem; }
.kv-departure > a { grid-column: 2; justify-self: end; }
.kv-departure-link::after { content: ""; position: absolute; inset: 0; }
.kv-departure:hover .kv-departure-link { text-decoration-thickness: 2px; }
.kv-departure:hover h3 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .3rem; }
.kv-departure .kv-liko-mazai, .kv-date-option .kv-liko-mazai { color: var(--kv-sage-deep); font-weight: 650; }
.kv-note { display: inline-block; margin-bottom: .25rem; color: var(--kv-sage-deep); font-size: .75rem; font-weight: 600; }

.kv-about { background: var(--kv-sand); }
.kv-about-grid { display: grid; gap: 2.5rem; align-items: center; }
.kv-about-grid > img { display: block; width: 100%; height: auto; border-radius: 2.5rem; }
.kv-quote { max-width: 21ch; margin: 0 0 2rem; font-size: clamp(2rem, 6vw, 4.2rem); font-weight: 300; line-height: 1.25; }
.kv-about-copy { max-width: 42rem; font-size: 1rem; line-height: 1.8; }

.kv-reviews { background: var(--kv-cloud); }
.kv-review-videos { display: grid; grid-auto-flow: column; grid-auto-columns: 72%; gap: 1rem; margin-bottom: 2.5rem; padding-bottom: .5rem; overflow-x: auto; scroll-snap-type: x mandatory; }
.kv-review-video { margin: 0; scroll-snap-align: start; }
.kv-video-wrap { position: relative; }
.kv-video-play { position: absolute; top: 50%; left: 50%; display: grid; place-items: center; width: 4rem; height: 4rem; margin: -2rem 0 0 -2rem; padding: 0 0 0 .2rem; border: 0; border-radius: 50%; background: color-mix(in oklab, var(--kv-cloud) 88%, transparent); color: var(--kv-sage-deep); cursor: pointer; box-shadow: 0 .5rem 1.5rem color-mix(in oklab, var(--kv-ink) 25%, transparent); }
.kv-video-play:hover { background: var(--kv-cloud); }
.kv-video-play[hidden] { display: none; }
.kv-review-video video { display: block; width: 100%; aspect-ratio: 9 / 16; border-radius: 2rem; background: var(--kv-ink); object-fit: cover; }
.kv-review-video figcaption { margin-top: .75rem; font-size: .9rem; font-weight: 500; }
.kv-review-shots { columns: 1; column-gap: 1rem; margin-bottom: 1.5rem; }
.kv-review-shot { display: inline-block; width: 100%; margin: 0 0 1rem; padding: 1rem; border-radius: 1.4rem; background: var(--kv-field); break-inside: avoid; }
.kv-review-card { display: inline-block; width: 100%; margin: 0 0 1rem; padding: 1.5rem; border-radius: 1.6rem; background: var(--kv-sand); break-inside: avoid; }
.kv-review-card blockquote { margin: 0 0 1rem; font-size: 1.05rem; line-height: 1.6; }
.kv-review-card blockquote::before { content: "„"; }
.kv-review-card blockquote::after { content: "“"; }
.kv-review-card figcaption { color: var(--kv-muted); font-size: .9rem; }
.kv-review-card figcaption strong { color: var(--kv-ink); font-weight: 650; }
.kv-review-shot img { display: block; }

.kv-faq .kv-accordion-item, .kv-faq > p { max-width: 800px; }
.kv-accordion-item { margin-bottom: .65rem; padding: 0 1.2rem; border-radius: 1.4rem; background: var(--kv-cloud); }
.kv-accordion-trigger, .kv-content summary { display: flex; justify-content: space-between; align-items: center; gap: 1rem; min-height: 3.5rem; padding: 1rem 0; font-size: 1rem; font-weight: 500; line-height: 1.4; cursor: pointer; list-style: none; }
.kv-accordion-trigger::-webkit-details-marker, .kv-content summary::-webkit-details-marker { display: none; }
.kv-accordion-trigger::after, .kv-content summary::after { content: "+"; flex: none; color: var(--kv-sage-deep); font-size: 1.5rem; font-weight: 300; line-height: 1; }
details[open] > .kv-accordion-trigger::after, .kv-content details[open] > summary::after { content: "–"; }
.kv-accordion-content { padding-bottom: 1.2rem; color: var(--kv-muted); line-height: 1.65; }
.kv-accordion-content > :last-child { margin-bottom: 0; }

.kv-footer { padding: 4rem 0 2rem; background: var(--kv-sage-deep); color: var(--kv-cloud); }
.kv-footer-grid { display: grid; gap: 1.5rem; font-size: .95rem; line-height: 1.6; }
.kv-footer-grid p { margin-bottom: .35rem; }
.kv-footer-links, .kv-footer-contact { display: flex; flex-direction: column; gap: 0; }
.kv-footer-links > a, .kv-footer-contact > a, .kv-footer-links > .kv-footer-button { display: flex; align-items: center; min-height: 2.75rem; }
.kv-footer-bottom { margin-top: 3rem; padding-top: 1.25rem; border-top: 1px solid color-mix(in oklab, var(--kv-cloud) 22%, transparent); font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; }
.kv-footer-bottom p { margin: 0; }
.kv-footer-line { margin-bottom: 1.5rem; font-size: 1.5rem; font-weight: 300; }
.kv-footer-button { padding: 0; border: 0; background: none; color: inherit; font: inherit; text-align: left; text-decoration: underline; cursor: pointer; }
.kv-cookies { position: fixed; right: 1rem; bottom: 1rem; left: 1rem; z-index: 20; display: grid; gap: 1rem; max-width: 34rem; margin-left: auto; padding: 1.25rem; border-radius: 1.6rem; background: var(--kv-cloud); box-shadow: 0 .75rem 2.5rem color-mix(in oklab, var(--kv-ink) 20%, transparent); font-size: .9rem; line-height: 1.55; }
.kv-cookies[hidden] { display: none; }
.kv-i-virsu { position: fixed; right: 1rem; bottom: 1rem; z-index: 15; display: grid; place-items: center; width: 3rem; height: 3rem; border: 2px solid var(--kv-sage-deep); border-radius: 50%; background: var(--kv-cloud); color: var(--kv-sage-deep); box-shadow: 0 .5rem 1.5rem color-mix(in oklab, var(--kv-ink) 22%, transparent); opacity: 0; visibility: hidden; transform: translateY(.5rem); transition: opacity .2s ease, transform .2s ease, visibility .2s; }
.kv-i-virsu.kv-i-virsu-matomas { opacity: 1; visibility: visible; transform: none; }
.kv-i-virsu:hover { background: var(--kv-sand); }
.kv-i-virsu:focus-visible { outline-color: var(--kv-sage-deep); outline-offset: 3px; }
.kv-cookies p { margin: 0; }
.kv-cookies-virsus { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: -.5rem -.5rem -.5rem 0; }
.kv-cookies .kv-cookies-antraste { font-size: 1rem; font-weight: 700; }
.kv-cookies-uzdaryti { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--kv-ink); cursor: pointer; }
.kv-cookies-uzdaryti:hover { background: color-mix(in oklab, var(--kv-ink) 8%, transparent); }
.kv-cookies-uzdaryti:focus-visible { outline: 2px solid var(--kv-sage-deep); outline-offset: 2px; }
.kv-cookies .kv-button { width: 100%; min-height: 3rem; padding: 0 1rem; }

.kv-form { display: grid; gap: 1rem; max-width: 36rem; margin-top: 2.5rem; font-size: 1rem; line-height: 1.5; }
.kv-form p { margin: 0; }
.kv-form label { display: block; margin-bottom: .4rem; font-size: .85rem; font-weight: 600; }
.kv-form label span { color: var(--kv-sage-deep); }
.kv-form input, .kv-form textarea { width: 100%; min-height: 3.25rem; padding: .75rem 1rem; border: 1px solid var(--kv-field-line); border-radius: 1rem; background: var(--kv-field); color: var(--kv-ink); font: inherit; line-height: 1.4; }
.kv-form textarea { min-height: 9rem; resize: vertical; }
.kv-form input:focus, .kv-form textarea:focus { outline: 2px solid var(--kv-sage-deep); outline-offset: 1px; }
.kv-form [aria-invalid="true"] { border-color: var(--kv-error); }
.kv-form-field-error { display: block; margin-top: .4rem; color: var(--kv-error); font-size: .85rem; }
.kv-form-trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.kv-form-note { color: var(--kv-muted); font-size: .85rem; line-height: 1.6; }
.kv-form-ok, .kv-form-error { padding: 1rem 1.25rem; border-radius: 1.4rem; background: var(--kv-cloud); }
.kv-form-error { box-shadow: inset 0 0 0 1px var(--kv-error); }
.kv-form .kv-button { justify-self: start; }

.kv-detail-hero { background: var(--kv-sand); }
.kv-detail-hero .kv-detail-image { display: block; width: 100%; height: 64svh; object-fit: cover; }
.kv-detail-intro { width: min(calc(100% - 2rem), 670px); margin-inline: auto; padding: 5rem 0; }
.kv-detail-intro h1 { margin-bottom: 2rem; font-size: clamp(3rem, 10vw, 6rem); font-weight: 300; line-height: .98; }
.kv-detail-intro p:not(.kv-eyebrow) { color: var(--kv-muted); font-size: 1.08rem; line-height: 1.85; }
.kv-detail-cta { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.5rem; margin-top: 2rem; }
.kv-detail-intro .kv-detail-next { margin: 0; color: var(--kv-ink); font-size: .95rem; line-height: 1.5; }
[id] { scroll-margin-top: 5.5rem; }
.kv-facts-section { padding: 3.5rem 0; }
.kv-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin: 0; }
.kv-fact { display: grid; align-content: start; gap: .35rem; padding: 1.1rem 1.1rem 1.25rem; border-radius: 1.25rem; background: var(--kv-sand); }
.kv-fact dt { display: grid; gap: .7rem; color: var(--kv-muted); font-size: .8rem; font-weight: 550; }
.kv-fact .kv-icon { color: var(--kv-sage-deep); }
.kv-fact dd { margin: 0; color: var(--kv-ink); font-size: clamp(1.25rem, 5vw, 1.6rem); font-weight: 500; line-height: 1.2; }
.kv-fact dd small { display: block; margin-top: .45rem; color: var(--kv-muted); font-size: .8rem; font-weight: 450; line-height: 1.4; }
.kv-fact-kaina { background: var(--kv-sage-deep); }
.kv-fact-kaina dt, .kv-fact-kaina dd small { color: color-mix(in oklab, var(--kv-cloud) 82%, var(--kv-sage-deep)); }
.kv-fact-kaina .kv-icon, .kv-fact-kaina dd { color: var(--kv-cloud); }
.kv-reading { max-width: 760px; }
.kv-route-section, .kv-included-section { background: var(--kv-cloud); }
.kv-included { display: grid; gap: 2rem; }
.kv-included ul { margin: 0; padding-left: 1.2rem; color: var(--kv-muted); line-height: 2; }
.kv-neisk-title { margin: 1.5rem 0 .25rem; font-size: .76rem; font-weight: 650; }
.kv-pdf { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.kv-route-stats { margin: 2.5rem 0 0; }
.kv-route-stats > div { display: grid; grid-template-columns: minmax(0, 8.5rem) minmax(0, 1fr); gap: 1rem; padding: .9rem 0; border-top: 1px solid var(--kv-line); }
.kv-route-stats dt { color: var(--kv-muted); font-size: .85rem; line-height: 1.7; }
.kv-route-stats dd { margin: 0; }
.kv-plan { display: grid; gap: 1rem; }
.kv-plan .kv-title { margin-bottom: 1.5rem; }
.kv-days { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.kv-day { padding: 1.5rem; border-radius: 2rem; background: var(--kv-cloud); }
.kv-day h3 { margin-bottom: .75rem; font-size: 1.2rem; font-weight: 500; line-height: 1.3; }
.kv-day-nr { display: block; margin-bottom: .4rem; color: var(--kv-sage-deep); font-size: .7rem; font-weight: 650; text-transform: uppercase; }
.kv-day p { margin-bottom: .6rem; color: var(--kv-muted); line-height: 1.7; }
.kv-day p:last-child { margin-bottom: 0; }
.kv-gallery { display: grid; gap: 1rem; }
.kv-gallery img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; border-radius: 2rem; object-fit: cover; }

.kv-button { display: inline-flex; align-items: center; justify-content: center; min-height: 3.5rem; padding: 0 2.5rem; border: 0; border-radius: 2rem; background: var(--kv-sage-deep); color: var(--kv-cloud); font: inherit; font-weight: 550; text-decoration: none; cursor: pointer; }
.kv-button:hover { background: var(--kv-ink); }
.kv-button-light { background: var(--kv-sand); color: var(--kv-ink); box-shadow: inset 0 0 0 1.5px var(--kv-sage); }
.kv-button-pdf { gap: .6rem; padding: 0 1.75rem; }
.kv-button-pdf .kv-icon { flex: none; width: 1.25rem; height: 1.25rem; }
.kv-button-light:hover { background: color-mix(in oklab, var(--kv-sage) 25%, var(--kv-sand)); }

.kv-registration-section { padding: 6rem 0; background: var(--kv-sand); }
.kv-registration { width: min(calc(100% - 2rem), 720px); margin-inline: auto; text-align: center; }
.kv-registration h2 { margin-bottom: 2.5rem; font-size: clamp(2.4rem, 8vw, 4.5rem); font-weight: 300; line-height: 1.08; text-wrap: balance; }
.kv-date-options { display: grid; gap: .75rem; }
.kv-date-option { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: .8rem; min-height: 4.5rem; padding: .8rem 1.2rem; border-radius: 2.4rem; background: var(--kv-cloud); cursor: pointer; text-align: left; }
.kv-date-option input { width: 1.25rem; height: 1.25rem; margin: 0; accent-color: var(--kv-sage-deep); }
.kv-date-option > span { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .25rem 1rem; font-size: .9rem; }
.kv-date-option > span > span:last-child { color: var(--kv-muted); font-size: .8rem; }
.kv-date-option:has(input:checked) { outline: 2px solid var(--kv-sage-deep); }
.kv-date-option.is-sold { opacity: .48; cursor: not-allowed; }
.kv-counter-label { margin: 2rem 0 .8rem; font-size: .76rem; font-weight: 650; }
.kv-counter { display: grid; grid-template-columns: 3rem 4rem 3rem; justify-content: center; align-items: center; gap: .5rem; }
.kv-counter-button { width: 3rem; height: 3rem; padding: 0; border: 0; border-radius: 50%; background: var(--kv-cloud); color: var(--kv-ink); font: inherit; font-size: 1.3rem; cursor: pointer; }
.kv-counter-button:disabled { opacity: .4; cursor: default; }
.kv-counter-value { width: 4rem; border: 0; background: transparent; color: inherit; font: inherit; font-size: 1.2rem; text-align: center; -moz-appearance: textfield; }
.kv-counter-value::-webkit-outer-spin-button, .kv-counter-value::-webkit-inner-spin-button { margin: 0; -webkit-appearance: none; }
.kv-totals { margin: 2.5rem 0 0; padding: .35rem 1.5rem; border-radius: 1.4rem; background: var(--kv-cloud); }
.kv-total { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; padding: .8rem 0; color: var(--kv-muted); font-size: .95rem; text-align: left; }
.kv-total + .kv-total { border-top: 1px solid var(--kv-line); }
.kv-total-dabar { color: var(--kv-ink); font-size: 1.15rem; font-weight: 650; }
.kv-registration .kv-pay { margin-top: 1.5rem; }
.kv-policy { max-width: 33rem; margin: 2rem auto 0; color: var(--kv-muted); font-size: .8rem; line-height: 1.6; }

.kv-page { padding-bottom: 5rem; }
.kv-page-body { padding-top: 3rem; }
.kv-page-title { max-width: 18ch; margin-bottom: 2.5rem; font-size: clamp(2.4rem, 7vw, 4.5rem); font-weight: 300; line-height: 1.08; }
.kv-page-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2.5rem; }
.kv-page-links { display: flex; flex-wrap: wrap; gap: 0 1.5rem; margin: 2rem 0 0; }
.kv-page-image { display: block; width: 100%; max-width: 760px; height: auto; margin-bottom: 2.5rem; border-radius: 2rem; }
.kv-content { max-width: 760px; font-size: 1.05rem; line-height: 1.8; }
.kv-content > p, .kv-content > ul, .kv-content > ol, .kv-content > h2, .kv-content > h3, .kv-content > blockquote { max-width: 38rem; }
.kv-content h2 { margin: 3rem 0 1rem; font-size: clamp(1.6rem, 3.5vw, 2.25rem); font-weight: 300; line-height: 1.15; }
.kv-content ul, .kv-content ol { padding-left: 1.25rem; }
.kv-content li + li { margin-top: .6rem; }
.kv-content li::marker { color: var(--kv-sage-deep); }
.kv-content h3 { margin: 2rem 0 .75rem; font-size: 1.2rem; font-weight: 500; }
.kv-content figure { margin: 0 0 1.5rem; }
.kv-content img { display: block; border-radius: 2rem; }
.kv-content details { margin-bottom: .65rem; padding: 0 1.2rem; border-radius: 1.4rem; background: var(--kv-cloud); }
.kv-content summary { padding: 1.2rem 0; font-weight: 500; cursor: pointer; }
.kv-content details > :not(summary) { color: var(--kv-muted); }
.kv-content details > :last-child { padding-bottom: 1.2rem; margin-bottom: 0; }
.woocommerce-cart .kv-content, .woocommerce-checkout .kv-content, .woocommerce-account .kv-content { max-width: none; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button, .woocommerce-cart .return-to-shop a.button { border-radius: 2rem; background: var(--kv-sage-deep); color: var(--kv-cloud); font-weight: 550; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover, .woocommerce-cart .return-to-shop a.button:hover { background: var(--kv-ink); color: var(--kv-cloud); }
.woocommerce-cart .return-to-shop a.button { display: inline-flex; align-items: center; min-height: 3.5rem; padding: 0 2.5rem; }
.woocommerce-cart .woocommerce-info, .woocommerce-cart .cart-empty { margin: 0 0 1.5rem; padding: 1rem 1.25rem; border: 0; border-radius: 1.4rem; background: var(--kv-cloud); color: var(--kv-ink); list-style: none; }
.woocommerce-cart .woocommerce-info::before, .woocommerce-cart .cart-empty::before { display: none; }
.woocommerce-verify-email { display: grid; gap: 1rem; max-width: 28rem; padding: 1.5rem; border-radius: 1.6rem; background: var(--kv-cloud); }
.woocommerce-verify-email p { margin: 0; }
.woocommerce form.woocommerce-verify-email .form-row { margin: 0; padding: 0; }
.woocommerce-verify-email label { display: block; margin-bottom: .4rem; font-size: .85rem; font-weight: 600; }
.woocommerce form.woocommerce-verify-email .form-row .required { color: var(--kv-sage-deep); text-decoration: none; }
.woocommerce form.woocommerce-verify-email .form-row input.input-text { width: 100%; min-height: 3.25rem; padding: .75rem 1rem; border: 1px solid var(--kv-field-line); border-radius: 1rem; background: var(--kv-field); color: var(--kv-ink); }
.woocommerce form.woocommerce-verify-email button.button { display: inline-flex; align-items: center; justify-content: center; min-height: 3.5rem; padding: 0 2.5rem; border: 0; border-radius: 2rem; background: var(--kv-sage-deep); color: var(--kv-cloud); font-weight: 550; cursor: pointer; }
.woocommerce form.woocommerce-verify-email button.button:hover { background: var(--kv-ink); }

@media (max-width: 479px) {
  .kv-date-option > span { flex-direction: column; align-items: flex-start; }
}

@media (min-width: 760px) {
  .kv-shell { width: min(calc(100% - 4rem), 1180px); }
  .kv-i-virsu { right: 1.5rem; bottom: 1.5rem; }
  .kv-nav-links { display: flex; gap: 1.5rem; }
  .kv-menu { display: none; }
  .kv-hero { grid-template-columns: 1fr 1fr; }
  .kv-hero-image { height: 100svh; }
  .kv-hero-copy { gap: 1.75rem; padding: 4vw; }
  .kv-hero-lead { font-size: 1.2rem; }
  .home .kv-header { background-size: 50% 100%; background-repeat: no-repeat; }
  .kv-hero-copy h1 { font-size: clamp(2.25rem, 4.8vw, 5.5rem); }
  .kv-section { padding: 6rem 0; }
  .kv-trips { padding: 6rem 0; }
  .kv-trip.kv-trip-be-nuotraukos { max-width: 46rem; padding: 3rem; }
  .kv-day-grid { grid-template-columns: repeat(3, 1fr); gap: 1.3rem; }
  .kv-day-card { min-height: 22rem; }
  .kv-day-card p { font-size: 1.35rem; }
  .kv-trip { grid-template-columns: 1.15fr .85fr; min-height: 0; gap: 7vw; padding: 3rem 0; }
  .kv-trip:nth-child(even of .kv-trip) { grid-template-columns: .85fr 1.15fr; }
  .kv-trip:nth-child(even of .kv-trip) > :first-child { order: 2; }
  .kv-trip-copy { padding: 0; }
  .kv-trip-image { aspect-ratio: 1 / 1; }
  .kv-departure { grid-template-columns: 17rem minmax(0, 1fr) 6rem 6rem; gap: 1.5rem; }
  .kv-departure > strong, .kv-departure > a { grid-column: auto; grid-row: auto; }
  .kv-about-grid { grid-template-columns: 1fr 1fr; gap: 6vw; }
  .kv-review-videos { grid-auto-flow: row; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.3rem; overflow: visible; }
  .kv-review-shots { columns: 2; column-gap: 1.3rem; }
  .kv-footer-grid { grid-template-columns: 1fr 1.4fr 1fr; }
  .kv-detail-hero .kv-detail-image { height: min(78svh, 850px); }
  .kv-facts-section { padding: 5rem 0; }
  .kv-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
  .kv-fact { padding: 1.5rem 1.5rem 1.6rem; }
  .kv-included { grid-template-columns: .8fr 1.2fr; }
  .kv-pdf { grid-column: 2; }
  .kv-plan { grid-template-columns: .8fr 1.2fr; gap: 4rem; align-items: start; }
  .kv-plan > div:first-child { position: sticky; top: 6.5rem; }
  .kv-day { padding: 2rem; }
  .kv-gallery { grid-template-columns: 1.5fr 1fr; }
  .kv-gallery img:first-child { grid-row: span 2; height: 100%; min-height: 22rem; aspect-ratio: auto; contain: size; contain-intrinsic-size: none; }
  .kv-gallery:has(> img:nth-child(2):last-child) { grid-template-columns: 1fr 1fr; }
  .kv-gallery:has(> img:nth-child(2):last-child) img:first-child { grid-row: auto; height: auto; min-height: 0; aspect-ratio: 4 / 3; contain: none; }
  .kv-gallery > img:nth-child(4):last-child { grid-column: 1 / -1; aspect-ratio: 21 / 9; }
  .kv-keliones-puslapis .kv-departures .kv-title { max-width: none; font-size: clamp(1.8rem, 3.5vw, 2.6rem); }
  .kv-page-body { padding-top: 5rem; }
}
.kv-notices:empty { display: none; }
.kv-notices .woocommerce-error, .kv-notices .woocommerce-message, .kv-notices .woocommerce-info { margin: 0 0 2rem; padding: 1rem 1.2rem; border-radius: 1.4rem; background: var(--kv-cloud); list-style: none; text-align: left; }
.wc-block-components-product-details__data { display: none; }

.tr-atsiskaitymo-puslapis .woocommerce-notices-wrapper:empty { display: none; }
.tr-atsiskaitymo-puslapis .woocommerce-info, .tr-atsiskaitymo-puslapis .woocommerce-message, .tr-atsiskaitymo-puslapis .woocommerce-error { margin: 0 0 1rem; padding: 1rem 1.25rem; border-radius: 1.4rem; background: var(--kv-cloud); font-size: .95rem; line-height: 1.55; list-style: none; }
.tr-atsiskaitymo-puslapis .woocommerce-error { box-shadow: inset 0 0 0 1px var(--kv-error); }
.tr-atsiskaitymo-puslapis .woocommerce-error li + li { margin-top: .35rem; }
.tr-atsiskaitymo-puslapis .woocommerce-error a { text-decoration: none; }
.tr-atsiskaitymo-puslapis .showcoupon { color: var(--kv-sage-deep); font-weight: 600; text-underline-offset: .25rem; }
.tr-atsiskaitymo-puslapis .checkout_coupon { margin: 0 0 1rem; padding: 1rem 1.25rem; border-radius: 1.4rem; background: var(--kv-cloud); }
.tr-atsiskaitymo-puslapis .checkout_coupon p { margin: 0 0 .75rem; }
.tr-atsiskaitymo-puslapis .checkout_coupon p:last-of-type { margin-bottom: 0; }

.tr-atsiskaitymas { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; align-items: start; font-size: 1rem; line-height: 1.5; }
.tr-skyriai { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; min-width: 0; }
.tr-skyrius, .tr-suvestine { min-width: 0; padding: 1.25rem; border-radius: 1.6rem; background: var(--kv-cloud); }
.tr-suvestine { background: var(--kv-sand); }
.tr-atsiskaitymas .tr-skyriaus-antraste, .tr-atsiskaitymas .tr-suvestines-antraste { display: flex; align-items: center; gap: .75rem; margin: 0; font-size: 1.3rem; font-weight: 400; line-height: 1.2; }
.tr-atsiskaitymas .tr-suvestines-antraste { margin-bottom: 1rem; }
.tr-skyriaus-nr { display: grid; flex: none; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: var(--kv-sage-deep); color: var(--kv-cloud); font-size: .9rem; font-weight: 600; }
.tr-skyriaus-vidus { margin-top: 1.25rem; container-type: inline-size; }

#customer_details .woocommerce-billing-fields > h3 { display: none; }
.woocommerce-billing-fields__field-wrapper, .woocommerce-additional-fields__field-wrapper { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.woocommerce-additional-fields { margin-top: 1rem; }
.tr-atsiskaitymo-forma p.form-row { min-width: 0; margin: 0; }
.tr-atsiskaitymo-forma p.form-row-wide, .tr-atsiskaitymo-forma p.notes, .tr-atsiskaitymo-forma p.address-field { grid-column: 1 / -1; }
.tr-atsiskaitymo-forma .form-row label { display: block; margin-bottom: .4rem; font-size: .85rem; font-weight: 600; }
.tr-atsiskaitymo-forma .required { color: var(--kv-sage-deep); text-decoration: none; }
.form-row label .optional { display: none; }
.tr-atsiskaitymo-forma .woocommerce-input-wrapper { display: block; }
.tr-atsiskaitymo-forma input.input-text, .tr-atsiskaitymo-forma textarea, .tr-atsiskaitymo-forma select, .tr-atsiskaitymo-puslapis .checkout_coupon input.input-text { width: 100%; min-height: 3.25rem; padding: .75rem 1rem; border: 1px solid var(--kv-field-line); border-radius: 1rem; background: var(--kv-field); color: var(--kv-ink); font: inherit; font-size: 1rem; line-height: 1.4; }
.tr-atsiskaitymo-forma textarea { min-height: 7rem; resize: vertical; }
.tr-atsiskaitymo-forma input.input-text:focus, .tr-atsiskaitymo-forma textarea:focus, .tr-atsiskaitymo-forma select:focus, .tr-atsiskaitymo-puslapis .checkout_coupon input.input-text:focus { outline: 2px solid var(--kv-sage-deep); outline-offset: 1px; }
.tr-atsiskaitymo-forma .woocommerce-invalid input.input-text, .tr-atsiskaitymo-forma .woocommerce-invalid select { border-color: var(--kv-error); }
.tr-atsiskaitymo-forma .checkout-inline-error-message { margin: .4rem 0 0; color: var(--kv-error); font-size: .85rem; }
.tr-be-imones .tr-imones-laukas { display: none !important; }
.woocommerce-billing-fields .form-row label.checkbox { display: flex; align-items: center; gap: .65rem; min-height: 2.75rem; margin: 0; font-size: 1rem; font-weight: 500; cursor: pointer; }
.woocommerce-billing-fields .form-row .input-checkbox { flex: none; width: 1.25rem; height: 1.25rem; margin: 0; accent-color: var(--kv-sage-deep); }
.tr-adreso-pastaba { display: block; margin-bottom: .75rem; color: var(--kv-muted); font-size: .85rem; line-height: 1.5; }

.woocommerce-checkout-review-order-table, .woocommerce-checkout-review-order-table thead, .woocommerce-checkout-review-order-table tbody, .woocommerce-checkout-review-order-table tfoot { display: block; }
.woocommerce-checkout-review-order-table { font-size: .95rem; }
.woocommerce-checkout-review-order-table tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 1rem; padding: .7rem 0; }
.woocommerce-checkout-review-order-table thead tr { padding-top: 0; }
.woocommerce-checkout-review-order-table tbody tr, .woocommerce-checkout-review-order-table tfoot tr { border-top: 1px solid var(--kv-line); }
.woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td { display: block; padding: 0; font-weight: inherit; text-align: left; }
.woocommerce-checkout-review-order-table th:last-child, .woocommerce-checkout-review-order-table td:last-child { text-align: right; white-space: nowrap; }
.woocommerce-checkout-review-order-table thead th { color: var(--kv-muted); font-size: .75rem; font-weight: 650; text-transform: uppercase; }
.woocommerce-checkout-review-order-table .cart_item .product-name { grid-area: 1 / 1 / 2 / 3; font-weight: 600; }
.woocommerce-checkout-review-order-table .cart_item .product-total { grid-area: 1 / 2; }
.woocommerce-checkout-review-order-table .product-quantity { color: var(--kv-muted); font-weight: 400; }
.woocommerce-checkout-review-order-table dl.variation { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .3rem 1rem; margin: .7rem 0 0; font-size: .85rem; font-weight: 400; line-height: 1.45; }
.woocommerce-checkout-review-order-table dl.variation dt { color: var(--kv-muted); }
.woocommerce-checkout-review-order-table dl.variation dd { margin: 0; text-align: right; text-wrap: pretty; }
.woocommerce-checkout-review-order-table dl.variation p { margin: 0; }
.woocommerce-checkout-review-order-table .order-total { padding-top: .9rem; font-size: 1.15rem; font-weight: 600; }
.woocommerce-checkout-review-order-table .order-total strong { font-weight: inherit; }

#payment ul.payment_methods { margin: 0; padding: 0; list-style: none; }
#payment ul.payment_methods > li + li { margin-top: .75rem; }
#payment ul.payment_methods .woocommerce-info { margin: 0; background: var(--kv-mist); }
#payment ul.payment_methods label { font-weight: 600; cursor: pointer; }
#payment input[type="radio"], #payment input[type="checkbox"] { accent-color: var(--kv-sage-deep); }
#payment .payment_box { margin-top: .5rem; color: var(--kv-muted); font-size: .9rem; }
#payment .place-order { margin: 0; }
#payment .woocommerce-privacy-policy-text p, #payment .woocommerce-terms-and-conditions-wrapper .form-row { margin: 1rem 0 0; color: var(--kv-muted); font-size: .85rem; line-height: 1.6; }
#place_order, .tr-atsiskaitymo-puslapis .checkout_coupon .button { display: inline-flex; align-items: center; justify-content: center; min-height: 3.5rem; padding: 0 2.5rem; border: 0; border-radius: 2rem; background: var(--kv-sage-deep); color: var(--kv-cloud); font: inherit; font-weight: 550; cursor: pointer; }
#place_order { width: 100%; margin-top: 1.25rem; }
#place_order:hover, .tr-atsiskaitymo-puslapis .checkout_coupon .button:hover { background: var(--kv-ink); }

.tr-padeka { display: grid; gap: 1.25rem; max-width: 40rem; font-size: 1rem; line-height: 1.6; }
.tr-padeka p { margin: 0; }
.tr-padeka-ivadas { font-size: clamp(1.3rem, 4vw, 1.6rem); font-weight: 500; line-height: 1.3; }
.tr-padeka-toliau { color: var(--kv-muted); }
.tr-padeka-toliau strong { color: var(--kv-ink); font-weight: 600; overflow-wrap: anywhere; }
.tr-padeka-kortele { padding: 1.25rem; border-radius: 1.6rem; background: var(--kv-sand); }
.tr-padeka-kontaktai { display: grid; gap: .75rem; background: var(--kv-cloud); }
.tr-padeka .tr-padeka-antraste { margin: 0 0 1rem; font-size: 1.3rem; font-weight: 400; line-height: 1.2; }
.tr-padeka-kontaktai .tr-padeka-antraste { margin-bottom: 0; }
.tr-padeka-sarasas { margin: 0; }
.tr-padeka-sarasas > div { display: grid; grid-template-columns: minmax(0, 9rem) minmax(0, 1fr); gap: 1rem; padding: .7rem 0; border-top: 1px solid var(--kv-line); }
.tr-padeka-sarasas dt { color: var(--kv-muted); }
.tr-padeka-sarasas dd { margin: 0; text-align: right; text-wrap: pretty; }
.tr-padeka-sarasas .tr-padeka-avansas { font-size: 1.1rem; font-weight: 650; }
.tr-padeka-sarasas .tr-padeka-avansas dt { color: var(--kv-ink); }
.tr-padeka .tr-padeka-smulkiai { margin-top: 1rem; padding-top: .9rem; border-top: 1px solid var(--kv-line); color: var(--kv-muted); font-size: .85rem; }

@container (min-width: 30rem) {
  .woocommerce-billing-fields__field-wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 760px) {
  .tr-atsiskaitymas { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; }
  .tr-skyriai { grid-column: 1; grid-row: 1; gap: 1.5rem; }
  .tr-suvestine { position: sticky; top: 1.5rem; grid-column: 2; grid-row: 1; padding: 1.75rem; }
  .tr-skyrius { padding: 1.75rem; }
}

@media (min-width: 1024px) {
  .tr-atsiskaitymas { grid-template-columns: minmax(0, 1fr) minmax(0, 24rem); }
}
