/*
Theme Name: VAS Stotis
Theme URI: https://autobusustotis.lt
Author: Vilniaus autobusų stotis
Description: Vilniaus autobusų stoties block tema. Industry dizaino sistema, SEO/GEO struktūriniai duomenys, slapukų sutikimas (Consent Mode v2), 301 nukreipimai, gyva išvykimų/atvykimų lenta, Tikit.lt įskiepio vieta.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: vas
*/

:root{
  --vas-bg:#f2f2f3;--vas-surface:#e9e9ea;--vas-text:#1d1f20;
  --vas-accent:#5980a6;--vas-a100:#eef6ff;--vas-a200:#d6ebff;--vas-a300:#b5d9fd;--vas-a500:#749dc4;--vas-a600:#597ea3;--vas-a700:#416180;--vas-a800:#2c455d;--vas-a900:#1d2d3d;
  --vas-n600:#7a7a7d;--vas-n700:#5d5d60;--vas-n800:#424244;
  --vas-divider:color-mix(in srgb,#1d1f20 16%,transparent);
  --vas-head:"Barlow Condensed",system-ui,sans-serif;--vas-body:Barlow,system-ui,sans-serif;
  --vas-pad:clamp(16px,4vw,48px);--vas-wide:1320px;
  --vas-ease:cubic-bezier(.2,.7,.2,1);
  --vas-top:var(--wp-admin--admin-bar--height,0px);
  --vas-on:#f2f2f3;
  color-scheme:light;
}
html[data-theme=dark]{
  color-scheme:dark;
  --vas-bg:#0e141a;--vas-surface:#172029;--vas-text:#e6eaee;
  --vas-a600:#6b93ba;--vas-a700:#94bce3;--vas-a800:#b5d9fd;--vas-a900:#16212c;
  --vas-n600:#8e8e91;--vas-n700:#a9a9ac;--vas-n800:#c9c9cc;
  --vas-divider:color-mix(in srgb,#e6eaee 16%,transparent);
  --wp--preset--color--bg:#0e141a;--wp--preset--color--surface:#172029;--wp--preset--color--text:#e6eaee;
  --wp--preset--color--accent-700:#94bce3;--wp--preset--color--accent-800:#b5d9fd;--wp--preset--color--accent-900:#16212c;--wp--preset--color--neutral-700:#a9a9ac;
}
html[data-theme=dark] body{background:var(--vas-bg)!important;color:var(--vas-text)}
html[data-theme=dark] .vas-tag.is-accent{background:#2c455d;color:#d6ebff}
html[data-theme=dark] .vas-tag.is-neutral{background:#2b2b2d;color:#d4d4d7}
html[data-theme=dark] .vas-consent,html[data-theme=dark] .vas-nav .sub-menu{box-shadow:0 12px 32px rgba(0,0,0,.55)}
html[data-theme=dark] .vas-board,html[data-theme=dark] .vas-dark,html[data-theme=dark] .vas-footer{box-shadow:inset 0 0 0 1px color-mix(in srgb,#e6eaee 8%,transparent)}
html[data-theme=dark] .vas-notice{background:#16212c;border-bottom:1px solid var(--vas-divider)}
html.vas-theming,html.vas-theming *{transition:background-color .35s ease,color .35s ease,border-color .35s ease!important}
.vas-theme-btn .i-sun{display:none}
html[data-theme=dark] .vas-theme-btn .i-sun{display:block}
html[data-theme=dark] .vas-theme-btn .i-moon{display:none}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--vas-bg);color:var(--vas-text);font-family:var(--vas-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
:focus{outline:none}:focus-visible{outline:2px solid var(--vas-accent);outline-offset:2px}
::selection{background:color-mix(in srgb,var(--vas-accent) 30%,transparent)}
img{max-width:100%;height:auto}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.vas-skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--vas-accent);color:var(--vas-on);padding:10px 16px}
.vas-skip:focus{left:8px}

/* ── blueprint frame (corner registration marks, no extra markup) ── */
.vas-bp,.is-style-blueprint{position:relative;border:1px solid var(--vas-divider);border-radius:0}
.vas-bp::before,.is-style-blueprint::before{content:"";position:absolute;inset:-6px;pointer-events:none;--c:color-mix(in srgb,var(--vas-text) 55%,transparent);
  background:
   linear-gradient(var(--c),var(--c)) 5px 0/1px 11px no-repeat,linear-gradient(var(--c),var(--c)) 0 5px/11px 1px no-repeat,
   linear-gradient(var(--c),var(--c)) calc(100% - 5px) 0/1px 11px no-repeat,linear-gradient(var(--c),var(--c)) 100% 5px/11px 1px no-repeat,
   linear-gradient(var(--c),var(--c)) 5px 100%/1px 11px no-repeat,linear-gradient(var(--c),var(--c)) 0 calc(100% - 5px)/11px 1px no-repeat,
   linear-gradient(var(--c),var(--c)) calc(100% - 5px) 100%/1px 11px no-repeat,linear-gradient(var(--c),var(--c)) 100% calc(100% - 5px)/11px 1px no-repeat}
.vas-dark .vas-bp::before,.vas-bp.is-dark::before,.vas-dark .is-style-blueprint::before{--c:var(--vas-a300)}
.wp-block-button.is-style-blueprint{border:0}
.wp-block-button.is-style-blueprint::before{inset:-6px}

/* ── type utilities ── */
.vas-kicker{font-size:11px!important;letter-spacing:.14em;text-transform:uppercase;color:var(--vas-n700);margin:0}
.vas-kicker.is-accent,.vas-num{color:var(--vas-a700)}
.vas-num{font-family:var(--vas-head);font-size:20px}
.vas-display{font-size:clamp(54px,8.4vw,124px)!important;line-height:.88!important;letter-spacing:-.03em!important}
.vas-page-title{font-size:clamp(44px,6.5vw,96px)!important;line-height:.9!important;letter-spacing:-.03em!important;margin:0}
.vas-lead{font-size:clamp(16px,1.4vw,18px);line-height:1.5;color:var(--vas-n800);max-width:52ch;text-wrap:pretty}
.vas-muted{color:var(--vas-n700)}
.vas-accent-text{color:var(--vas-a700)}
h1,h2,h3,h4{text-wrap:balance}
p{text-wrap:pretty}

/* ── buttons ── */
.vas-btn,.wp-element-button,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border:1px solid var(--vas-accent);border-radius:0;background:var(--vas-accent);color:var(--vas-on);font-family:var(--vas-head);font-weight:600;font-size:16px;line-height:1.1;text-decoration:none;cursor:pointer;transition:background .2s}
.vas-btn:hover,.wp-block-button__link:hover{background:var(--vas-a600);color:var(--vas-on)}
.vas-btn:active,.wp-block-button__link:active{background:var(--vas-a700)}
.vas-btn.is-secondary,.is-style-outline .wp-block-button__link{background:transparent;color:var(--vas-text);border-color:var(--vas-divider)}
.vas-btn.is-secondary:hover,.is-style-outline .wp-block-button__link:hover{background:color-mix(in srgb,var(--vas-text) 7%,transparent);color:var(--vas-text)}
.vas-btn.is-icon{width:44px;padding:0}
.vas-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.vas-tag{display:inline-flex;align-items:center;font-family:var(--vas-body);font-size:11px;font-weight:500;letter-spacing:.04em;padding:3px 10px;white-space:nowrap}
.vas-tag.is-accent{background:var(--vas-a100);color:var(--vas-a800)}
.vas-tag.is-neutral{background:#f5f5f8;color:var(--vas-n800)}
.vas-tag.is-outline{border:1px solid var(--vas-accent);color:var(--vas-a300)}

/* ── forms ── */
.vas-field{display:flex;flex-direction:column;gap:5px;min-width:0}
.vas-field>span,.vas-field>label{font-size:12px;color:color-mix(in srgb,var(--vas-text) 70%,transparent)}
.vas-input,.vas-tikit input:not([type=radio]):not([type=checkbox]),.vas-tikit select{width:100%;min-height:44px;padding:8px 12px;font:inherit;font-size:16px;color:var(--vas-text);background:var(--vas-surface);border:1px solid var(--vas-divider);border-radius:0}
.vas-input:hover{border-color:color-mix(in srgb,var(--vas-text) 45%,transparent)}
.vas-input:focus-visible{border-color:var(--vas-accent);outline-offset:0}

/* ── header ── */
.wp-site-blocks>header{position:sticky;top:var(--vas-top);z-index:50}
.vas-header{background:color-mix(in srgb,var(--vas-bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--vas-divider);position:relative}
.vas-header__in{max-width:var(--vas-wide);margin:0 auto;padding:0 var(--vas-pad);min-height:64px;display:flex;align-items:center;gap:24px}
.vas-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--vas-text);margin-right:auto;min-width:0}
.vas-brand__mark{flex:none;width:34px;height:34px;display:grid;place-items:center;font-family:var(--vas-head);font-weight:600;font-size:15px;letter-spacing:.04em;color:var(--vas-a700)}
.vas-brand__name{display:flex;flex-direction:column;line-height:1.05}
.vas-brand__name b{font-family:var(--vas-head);font-weight:600;font-size:18px;white-space:nowrap}
.vas-brand__name small{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--vas-n700)}
.vas-nav ul{list-style:none;margin:0;padding:0}
.vas-nav>ul{display:flex;gap:22px;align-items:center}
.vas-nav a{color:var(--vas-text);text-decoration:none;font-size:14px;padding:8px 0;display:inline-flex}
.vas-nav a:hover,.vas-nav .current-menu-item>a,.vas-nav .current-menu-ancestor>a{color:var(--vas-a700)}
.vas-nav li{position:relative}
.vas-nav .sub-menu{position:absolute;left:-16px;top:100%;min-width:260px;background:var(--vas-bg);border:1px solid var(--vas-divider);box-shadow:0 12px 32px color-mix(in srgb,#2b2b2d 22%,transparent);padding:8px 0;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s,transform .2s,visibility .2s}
.vas-nav li:hover>.sub-menu,.vas-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.vas-nav .sub-menu a{display:flex;padding:9px 16px;width:100%}
.vas-nav .sub-menu a:hover{background:color-mix(in srgb,var(--vas-accent) 8%,transparent)}
.vas-clock{font-family:var(--vas-head);font-size:18px;font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--vas-a700);min-width:48px;text-align:right}
.vas-lang{display:flex;border:1px solid var(--vas-divider);list-style:none;margin:0;padding:0;font-size:12px}
.vas-lang li+li{border-left:1px solid var(--vas-divider)}
.vas-lang a{display:block;padding:6px 9px;color:var(--vas-text);text-decoration:none;text-transform:uppercase}
.vas-lang .current-lang a,.vas-lang a[aria-current]{background:var(--vas-accent);color:var(--vas-on)}
.vas-menu-toggle{display:none}
.vas-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--vas-accent);transform-origin:0 50%;transform:scaleX(0)}
@media (max-width:1023px){
  .vas-clock,.vas-header .vas-buy{display:none}
  .vas-menu-toggle{display:inline-flex}
  .vas-nav{position:absolute;left:0;right:0;top:100%;background:var(--vas-bg);border-bottom:1px solid var(--vas-divider);padding:8px var(--vas-pad) 24px;display:none;max-height:calc(100vh - 64px - var(--vas-top));overflow:auto}
  .vas-nav.is-open{display:block;animation:vasDrop .25s ease both}
  .vas-nav>ul{flex-direction:column;align-items:stretch;gap:0}
  .vas-nav>ul>li>a{min-height:56px;align-items:center;font-family:var(--vas-head);font-weight:600;font-size:24px;text-transform:uppercase;border-bottom:1px solid var(--vas-divider);width:100%}
  .vas-nav .sub-menu{position:static;opacity:1;visibility:visible;transform:none;border:0;box-shadow:none;padding:4px 0 12px;min-width:0;background:transparent}
  .vas-nav .sub-menu a{padding:10px 0;font-size:16px;min-height:44px;align-items:center}
  .vas-nav .vas-nav__buy{display:flex;margin-top:20px}
}
@media (min-width:1024px){.vas-nav .vas-nav__buy{display:none}}

/* ── site notice (new website) ── */
.vas-notice{background:var(--vas-a900);color:var(--vas-a100);font-size:14px}
.vas-notice__in{max-width:var(--vas-wide);margin:0 auto;padding:10px var(--vas-pad);display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.vas-notice b{font-family:var(--vas-head);font-weight:600;font-size:16px;color:var(--vas-on);text-transform:uppercase;letter-spacing:.02em}
.vas-notice a{color:var(--vas-on);text-underline-offset:3px}
.vas-notice button{margin-left:auto;background:transparent;border:1px solid color-mix(in srgb,var(--vas-on) 30%,transparent);color:var(--vas-on);min-height:36px;padding:0 12px;cursor:pointer;font:inherit}
.vas-notice button:hover{background:color-mix(in srgb,var(--vas-on) 10%,transparent)}

/* ── layout helpers ── */
.vas-wrap{max-width:var(--vas-wide);margin-left:auto;margin-right:auto;padding-left:var(--vas-pad);padding-right:var(--vas-pad)}
.vas-section{padding-top:clamp(64px,8vw,120px)!important;padding-bottom:clamp(64px,8vw,120px)!important}
.vas-section-head{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:20px 64px;align-items:end;margin-bottom:48px}
.vas-section-head h2{margin:0}
.vas-hgroup{display:flex;gap:20px;align-items:baseline}
.vas-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--min,260px)),1fr));gap:28px}
.vas-dark{background:var(--vas-a900);color:var(--vas-on)}
.vas-dark .vas-lead,.vas-dark p{color:var(--vas-a200)}
.vas-dark .vas-num,.vas-dark .vas-kicker{color:var(--vas-a300)}
.vas-dark a{color:var(--vas-a200)}
.vas-rule-y{border-top:1px solid var(--vas-divider);border-bottom:1px solid var(--vas-divider)}
main>.wp-block-post-content>*:first-child{margin-top:0}

/* hero */
.vas-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,500px),1fr));gap:clamp(32px,5vw,72px);align-items:start;padding-top:clamp(28px,6vw,88px)!important;padding-bottom:clamp(48px,6vw,96px)!important}
.vas-hero>*{min-width:0}
.vas-hero__copy{display:flex;flex-direction:column;gap:clamp(20px,3vw,28px)}
.vas-hero__copy>*{margin:0!important}
.vas-hero h1 .vas-accent-text{display:block}
.vas-rise{animation:vasRise .9s var(--vas-ease) both}

/* ticket search (fallback + Tikit plugin wrapper) */
.vas-tikit{position:relative;scroll-margin-top:90px}
.vas-search{padding:clamp(16px,2.4vw,24px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:14px;align-items:end}
.vas-search__head{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.vas-search__head strong{font-family:var(--vas-head);font-weight:600;font-size:22px;text-transform:uppercase}
.vas-search__route{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);gap:8px;align-items:end}
.vas-search__note{grid-column:1/-1;font-size:12px;color:var(--vas-n700)}
.vas-seg{display:inline-flex;border:1px solid var(--vas-divider)}
.vas-seg label{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;font-size:13px;cursor:pointer}
.vas-seg label+label{border-left:1px solid var(--vas-divider)}
.vas-seg input{position:absolute;opacity:0;width:0;height:0}
.vas-seg label:has(input:checked){background:var(--vas-accent);color:var(--vas-on)}
.vas-seg label:has(input:focus-visible){outline:2px solid var(--vas-accent);outline-offset:-2px}
.vas-stepper{display:grid;grid-template-columns:44px 1fr 44px;border:1px solid var(--vas-divider);background:var(--vas-surface);height:44px}
.vas-stepper button{border:0;background:transparent;cursor:pointer;font-size:20px;color:var(--vas-text)}
.vas-stepper button:hover{background:color-mix(in srgb,var(--vas-text) 7%,transparent)}
.vas-stepper output{display:grid;place-items:center;font-family:var(--vas-head);font-weight:600;font-size:18px;border-left:1px solid var(--vas-divider);border-right:1px solid var(--vas-divider)}
.vas-swap{transition:transform .35s var(--vas-ease)}

/* departures board */
.vas-board{background:var(--vas-a900);color:var(--vas-on)}
.vas-board::before{--c:var(--vas-a300)}
.vas-board__head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding:20px clamp(14px,2vw,24px) 14px;border-bottom:1px solid color-mix(in srgb,var(--vas-on) 16%,transparent)}
.vas-board__live{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--vas-a300)}
.vas-board__live i{font-style:normal;animation:vasBlink 1.6s steps(2) infinite}
.vas-board__title{margin:4px 0 0!important;font-family:var(--vas-head);font-weight:600;font-size:clamp(26px,3vw,36px)!important;line-height:1!important;text-transform:uppercase;color:var(--vas-on)}
.vas-board__clock{font-family:var(--vas-head);font-size:clamp(28px,3.4vw,40px);line-height:1;font-variant-numeric:tabular-nums;color:var(--vas-a200)}
.vas-board__bar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:end;padding:14px clamp(14px,2vw,24px) 0}
.vas-board__tabs{display:flex;border:1px solid color-mix(in srgb,var(--vas-on) 22%,transparent)}
.vas-board__tabs button{border:0;background:transparent;color:var(--vas-a200);min-height:44px;padding:0 16px;font-family:var(--vas-head);font-weight:600;font-size:16px;text-transform:uppercase;cursor:pointer}
.vas-board__tabs button+button{border-left:1px solid color-mix(in srgb,var(--vas-on) 22%,transparent)}
.vas-board__tabs button[aria-selected=true]{background:var(--vas-accent);color:var(--vas-on)}
.vas-board__filter{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--vas-a300);width:min(100%,280px)}
.vas-board__filter input{min-height:44px;padding:8px 12px;font:inherit;font-size:16px;background:color-mix(in srgb,var(--vas-on) 8%,transparent);border:1px solid color-mix(in srgb,var(--vas-on) 22%,transparent);color:var(--vas-on);border-radius:0}
.vas-board table{width:100%;border-collapse:collapse;margin:6px 0 10px}
.vas-board th{text-align:left;font-weight:400;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--vas-a300);padding:10px 6px}
.vas-board td{padding:7px 6px;border-top:1px solid color-mix(in srgb,var(--vas-on) 8%,transparent);font-family:var(--vas-head);font-weight:600;font-size:19px;text-transform:uppercase;vertical-align:middle}
.vas-board th:first-child,.vas-board td:first-child{padding-left:clamp(14px,2vw,24px)}
.vas-board th:last-child,.vas-board td:last-child{padding-right:clamp(14px,2vw,24px)}
.vas-board tr:hover td{background:color-mix(in srgb,var(--vas-on) 5%,transparent)}
.vas-board .c-car{font-family:var(--vas-body);font-weight:400;font-size:13px;text-transform:none;color:var(--vas-a200);white-space:nowrap}
.vas-board .sub{display:none;font-family:var(--vas-body);font-weight:400;font-size:11.5px;text-transform:none;color:var(--vas-a200);margin-top:3px}
.vas-board__foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;min-height:48px;padding:8px clamp(14px,2vw,24px);border-top:1px solid color-mix(in srgb,var(--vas-on) 16%,transparent);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--vas-a300)}
.vas-board__foot a{color:var(--vas-a200);text-decoration:none}
.vas-board__foot a:hover{color:var(--vas-on)}
.vas-board__empty td{font-family:var(--vas-body);font-weight:400;text-transform:none;color:var(--vas-a200);padding:28px clamp(14px,2vw,24px)}
.flap{display:inline-flex;gap:2px}
.flap>span{display:inline-flex;align-items:center;justify-content:center;width:.74em;height:1.4em;background:linear-gradient(transparent calc(50% - .5px),var(--vas-a900) calc(50% - .5px),var(--vas-a900) calc(50% + .5px),transparent calc(50% + .5px)),color-mix(in srgb,var(--vas-on) 8%,transparent)}
.flap>span.is-new{animation:vasFlip 560ms cubic-bezier(.3,.7,.3,1) both}
@media (max-width:899px){
  .vas-board .hide-sm{display:none}
  .vas-board .sub{display:block}
  .vas-board td{font-size:16px}
}

/* facts strip */
.vas-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.vas-fact{padding:24px 20px 24px 0;display:flex;flex-direction:column;gap:6px;border-bottom:1px solid var(--vas-divider);margin:0 0 -1px}
.vas-fact dt{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--vas-n700)}
.vas-fact dd{margin:0;font-family:var(--vas-head);font-weight:600;font-size:30px;line-height:1.05}
.vas-fact dd+dd{font-family:var(--vas-body);font-weight:400;font-size:13px;color:var(--vas-n700)}
.vas-fact a{color:inherit;text-decoration:none}

/* cards */
.vas-card{padding:26px!important;display:flex;flex-direction:column;gap:14px;min-height:clamp(220px,24vw,300px);transition:background .25s;margin:0!important}
.vas-card:hover{background:color-mix(in srgb,var(--vas-accent) 7%,transparent)}
.vas-card>*{margin:0!important}
.vas-card__top{display:flex;justify-content:space-between;align-items:flex-start;color:var(--vas-a700)}
.vas-card__top svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.vas-card h3{margin-top:auto!important;font-size:28px}
.vas-card h3 a{color:inherit;text-decoration:none}
.vas-card h3 a::after{content:"";position:absolute;inset:0}
.vas-card p{font-size:14px}
.vas-card .vas-meta{font-size:12px;color:var(--vas-n700)}
.vas-link-card{padding:22px!important;display:flex!important;justify-content:space-between;align-items:center;gap:16px;min-height:96px}
.vas-link-card h3{margin:0!important;font-size:24px}
.vas-link-card p{margin:4px 0 0!important;font-size:14px;color:var(--vas-n700)}

/* network map */
.vas-map{background-image:linear-gradient(color-mix(in srgb,var(--vas-on) 6%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--vas-on) 6%,transparent) 1px,transparent 1px);background-size:40px 40px;border-color:color-mix(in srgb,var(--vas-on) 18%,transparent)!important}
.vas-map svg{display:block;width:100%;height:auto;font-family:var(--vas-head)}
.vas-map__note{position:absolute;left:14px;bottom:10px;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--vas-a300)}
.vas-chips{display:flex;flex-wrap:wrap;gap:6px}
.vas-chips span{font-size:12px;padding:4px 10px;border:1px solid color-mix(in srgb,var(--vas-on) 22%,transparent);color:var(--vas-a100)}
@keyframes vasPulse{0%{r:7;opacity:.9}100%{r:30;opacity:0}}

/* news */
.vas-news .wp-block-post-template{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:0 48px;border-top:1px solid var(--vas-divider);list-style:none;padding:0;margin:0}
.vas-news .wp-block-post{display:flex;flex-direction:column;gap:12px;padding:28px 0;border-bottom:1px solid var(--vas-divider)}
.vas-news .wp-block-post>*{margin:0}
.vas-news .wp-block-post-title{font-size:30px;line-height:1.05;text-transform:none;letter-spacing:-.01em}
.vas-news .wp-block-post-title a{color:var(--vas-text);text-decoration:none}
.vas-news .wp-block-post-title a:hover{color:var(--vas-a700)}
.vas-news .wp-block-post-date{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--vas-a700)}
.vas-news .wp-block-post-excerpt__excerpt{margin:0;color:var(--vas-n800);max-width:60ch}
.wp-block-query-pagination{margin-top:32px;gap:12px;font-family:var(--vas-head);font-size:18px}

/* faq (core/details) */
.wp-block-details{border-bottom:1px solid var(--vas-divider);padding:0;margin:0!important}
.wp-block-details:first-of-type{border-top:1px solid var(--vas-divider)}
.wp-block-details summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:16px 0;font-family:var(--vas-head);font-weight:600;font-size:clamp(20px,2vw,24px);line-height:1.15}
.wp-block-details summary::-webkit-details-marker{display:none}
.wp-block-details summary::after{content:"+";flex:none;width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--vas-divider);font-family:var(--vas-body);font-weight:400;font-size:20px;transition:transform .3s var(--vas-ease)}
.wp-block-details[open] summary::after{transform:rotate(45deg)}
.wp-block-details summary:hover{color:var(--vas-a700)}
.wp-block-details>:not(summary){margin:0 0 20px;max-width:68ch;color:var(--vas-n800);font-size:16px;line-height:1.6}

/* tables */
.wp-block-table table{border-collapse:collapse;width:100%;font-size:15px}
.wp-block-table th{text-align:left;font-weight:400;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--vas-text) 60%,transparent);padding:10px 8px;border:0;border-bottom:1px solid var(--vas-divider)}
.wp-block-table td{padding:16px 8px;border:0;border-bottom:1px solid color-mix(in srgb,var(--vas-text) 8%,transparent);vertical-align:top}
.wp-block-table td:first-child{font-family:var(--vas-head);font-weight:600;font-size:18px}
.wp-block-table tbody tr:hover{background:color-mix(in srgb,var(--vas-text) 4%,transparent)}
.wp-block-table{overflow-x:auto}

/* steps */
.vas-step{display:flex;flex-direction:column;gap:12px;padding-top:20px;border-top:2px solid var(--vas-accent)}
.vas-step>*{margin:0!important}
.vas-step .vas-step__n{font-family:var(--vas-head);font-weight:600;font-size:64px;line-height:.9;color:var(--vas-a700)}

/* breadcrumbs + page header */
.vas-crumbs ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--vas-n700)}
.vas-crumbs li+li::before{content:"/";margin-right:6px;color:var(--vas-n600)}
.vas-crumbs a{color:var(--vas-n700);text-decoration:none}
.vas-crumbs a:hover{color:var(--vas-a700)}
.vas-page-head{padding-top:clamp(28px,5vw,72px)!important;padding-bottom:clamp(24px,4vw,48px)!important;display:flex;flex-direction:column;gap:16px}
.vas-page-head>*{margin:0!important}
.vas-page-body{padding-bottom:clamp(64px,8vw,120px)!important}
.vas-page-body h2{font-size:clamp(30px,3.6vw,44px);margin-top:1.6em}
.vas-page-body h3{font-size:24px;margin-top:1.4em}
.vas-page-body p,.vas-page-body li{font-size:17px;line-height:1.65}

/* footer */
.vas-footer{background:var(--vas-a900);color:var(--vas-a200);font-size:14px}
.vas-footer__in{max-width:var(--vas-wide);margin:0 auto;padding:56px var(--vas-pad) 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:32px}
.vas-footer b{font-family:var(--vas-head);font-weight:600;font-size:24px;color:var(--vas-on);text-transform:uppercase;display:block;margin-bottom:8px}
.vas-footer h2{font-family:var(--vas-body);font-weight:400;font-size:11px!important;letter-spacing:.14em;color:var(--vas-a300);margin:0 0 10px;text-transform:uppercase}
.vas-footer ul{list-style:none;margin:0;padding:0}
.vas-footer li a,.vas-footer a{color:var(--vas-a100);text-decoration:none;display:inline-flex;min-height:32px;align-items:center}
.vas-footer a:hover{color:var(--vas-on)}
.vas-footer p{margin:0 0 4px}
.vas-footer__base{max-width:var(--vas-wide);margin:0 auto;padding:16px var(--vas-pad) 32px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid color-mix(in srgb,var(--vas-on) 14%,transparent);font-size:12px;color:var(--vas-a300)}
.vas-footer__base button{background:none;border:0;padding:0;color:var(--vas-a100);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px;min-height:32px}

/* consent banner */
.vas-consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:200;max-width:560px;margin-left:auto;background:var(--vas-bg);border:1px solid var(--vas-divider);box-shadow:0 12px 32px color-mix(in srgb,#2b2b2d 22%,transparent);padding:24px;display:flex;flex-direction:column;gap:14px;animation:vasRise .5s var(--vas-ease) both}
.vas-consent[hidden]{display:none}
.vas-consent h2{margin:0;font-size:24px!important;line-height:1.1!important}
.vas-consent p{margin:0;font-size:15px;line-height:1.55;color:var(--vas-n800)}
.vas-consent__opts{display:none;flex-direction:column;border-top:1px solid var(--vas-divider)}
.vas-consent.is-custom .vas-consent__opts{display:flex}
.vas-consent__opt{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--vas-divider);font-size:14px}
.vas-consent__opt small{display:block;color:var(--vas-n700);font-size:12px}
.vas-switch{position:relative;flex:none;width:48px;height:28px}
.vas-switch input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.vas-switch span{position:absolute;inset:0;border:1px solid var(--vas-divider);background:var(--vas-surface);transition:background .2s}
.vas-switch span::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:var(--vas-n600);transition:transform .2s,background .2s}
.vas-switch input:checked+span{background:var(--vas-accent);border-color:var(--vas-accent)}
.vas-switch input:checked+span::after{transform:translateX(20px);background:var(--vas-bg)}
.vas-switch input:disabled+span{opacity:.6}
.vas-switch input:focus-visible+span{outline:2px solid var(--vas-accent);outline-offset:2px}
.vas-consent__btns{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}

.vas-link-card h3 a{color:inherit;text-decoration:none}
.vas-link-card h3 a::after{content:"";position:absolute;inset:0}
.vas-link-card::after{content:"→";font-family:var(--vas-head);font-size:22px;color:var(--vas-a700);transition:transform .25s var(--vas-ease)}
.vas-link-card:hover{background:color-mix(in srgb,var(--vas-accent) 7%,transparent)}
.vas-link-card:hover::after{transform:translateX(4px)}
.vas-dark .vas-hero.vas-section{padding-top:clamp(64px,8vw,120px)!important;padding-bottom:clamp(64px,8vw,120px)!important;align-items:center}
.vas-page-body .vas-grid{margin:32px 0}
.vas-page-body .vas-rule-y{margin:0 0 32px}
.vas-page-body .vas-facts{padding:0}

/* header search */
.vas-hsearch{display:flex;border:1px solid var(--vas-divider);background:var(--vas-surface);height:40px}
.vas-hsearch input{width:140px;border:0;background:transparent;padding:0 10px;font:inherit;font-size:14px;color:var(--vas-text);transition:width .3s var(--vas-ease)}
.vas-hsearch input:focus{width:200px}
.vas-hsearch button{width:40px;border:0;border-left:1px solid var(--vas-divider);background:transparent;cursor:pointer;display:grid;place-items:center;color:var(--vas-text)}
.vas-hsearch button:hover{background:color-mix(in srgb,var(--vas-text) 7%,transparent)}
.vas-hsearch svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5}
@media (max-width:1023px){.vas-hsearch{display:none}}
.vas-nav .vas-hsearch-m{display:none}
/* updated date, changes feed, site tree */
.vas-updated{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--vas-n700);border-top:1px solid var(--vas-divider);padding:14px 0 48px;margin:0}
.vas-changes{display:flex;flex-direction:column;border-top:1px solid var(--vas-divider);margin-bottom:32px}
.vas-change{display:grid;grid-template-columns:110px minmax(0,1fr);gap:4px 24px;padding:18px 0;border-bottom:1px solid var(--vas-divider)}
.vas-change time{font-size:12px;letter-spacing:.1em;color:var(--vas-a700);padding-top:4px}
.vas-change h3{margin:0;font-size:22px;text-transform:none;letter-spacing:0}
.vas-change h3 a{color:var(--vas-text);text-decoration:none}
.vas-change h3 a:hover{color:var(--vas-a700)}
.vas-change p{grid-column:2;margin:0;font-size:15px;color:var(--vas-n800)}
@media (max-width:599px){.vas-change{grid-template-columns:1fr}.vas-change p{grid-column:1}}
.vas-changes>p{margin-top:20px}
.vas-tree ul{list-style:none;margin:0;padding:0}
.vas-tree ul ul{padding-left:24px;border-left:1px solid var(--vas-divider);margin:4px 0 8px 4px}
.vas-tree li a{display:inline-flex;min-height:36px;align-items:center;color:var(--vas-text);text-decoration:none;font-size:17px}
.vas-tree>ul>li>a{font-family:var(--vas-head);font-weight:600;font-size:22px;text-transform:uppercase}
.vas-tree a:hover{color:var(--vas-a700)}

/* 404 */
.vas-404 .vas-display{color:var(--vas-a700)}

/* reveal & motion */
.vas-reveal{opacity:0;transform:translateY(32px);transition:opacity .9s var(--vas-ease),transform .9s var(--vas-ease)}
.vas-reveal.is-in{opacity:1;transform:none}
.no-js .vas-reveal{opacity:1;transform:none}
@keyframes vasFlip{0%{transform:perspective(200px) rotateX(-92deg);opacity:.15}60%{transform:perspective(200px) rotateX(12deg);opacity:1}100%{transform:none;opacity:1}}
@keyframes vasRise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes vasBlink{50%{opacity:.25}}
@keyframes vasDrop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .vas-reveal{opacity:1;transform:none}
}
@media print{.vas-header,.vas-notice,.vas-consent,.vas-footer{display:none}}
