/*
Theme Name: VIMA
Template: astra
Author: KAMA
Description: VIMA.lt storefront — implements the "VIMA.lt Interactive Prototype" Claude Design
  (project a5a24f8c-6c92-4aca-8bd4-565a3a8150e1) natively in WooCommerce.
Version: 1.2.12
*/

/* ── design tokens, lifted from the prototype ───────────────────────────── */
:root{
  --ac:#0A5CFF;              /* accent  */
  --ink:#14171A;             /* text / dark surfaces */
  --muted:#6B7280;
  --muted-2:#4B5563;
  --faint:#9CA3AF;           /* ≥4.5:1 only on the dark surfaces — see --faint-on-light */
  /* #9CA3AF is 2.5:1 on white: fine as a hint on --ink panels, a WCAG 1.4.3 failure as
     body text on light ones. Light-surface uses take this instead (4.8:1). */
  --faint-on-light:#6B7280;
  --line:#E9EBEE;
  --line-2:#D8DCE1;
  --surf:#F2F4F6;
  --surf-2:#F7F8F9;
  --surf-3:#FAFBFC;
  --ok:#0BA05B;              /* fills/dots only — 3.4:1 on white */
  --ok-text:#067A44;         /* the same green as text: 5.3:1 on white, 4.9:1 on #E6F7EF */
  --wrap:1200px;
  --fh:'Space Grotesk',system-ui,sans-serif;   /* headings, prices, logo */
  --fb:'Archivo',system-ui,sans-serif;          /* body */
}

body,.ast-container{font-family:var(--fb);color:var(--ink);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.vm-h{font-family:var(--fh);letter-spacing:-.02em;font-weight:700}
a{color:var(--ink);text-decoration:none}
a:hover{color:var(--ac)}
.vm-wrap{max-width:var(--wrap);margin:0 auto;padding-left:24px;padding-right:24px}

/* Astra chrome we replace with our own header/footer */
.site-header,.ast-above-header,.ast-below-header,.site-footer{display:none!important}
#page{padding-top:0}

/* Astra's plain-container layout makes .ast-container a flex ROW; the sections we inject
   via woocommerce_before_main_content are its direct children, so they'd render as
   side-by-side columns (hero squashed, product grid pushed off-screen). Stack them. */
.ast-plain-container .site-content .ast-container{display:block}
.ast-container{max-width:1248px;padding-left:24px;padding-right:24px}

/* ── announcement bar ───────────────────────────────────────────────────── */
.vm-bar{background:var(--ink);color:#fff;font-size:13px;text-align:center;padding:9px 40px;position:relative;font-weight:500}
.vm-bar__x{position:absolute;right:10px;top:4px;background:none;border:none;color:var(--faint);font-size:18px;cursor:pointer;padding:4px;line-height:1}

/* ── header ─────────────────────────────────────────────────────────────── */
.vm-head{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.vm-head__in{max-width:var(--wrap);margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.vm-logo{display:inline-flex;align-items:center;gap:9px;font-family:var(--fh);font-weight:700;font-size:27px;letter-spacing:-.04em;color:var(--ink);line-height:1}
/* the mark is an inline SVG, so it inherits the flex item sizing unless pinned */
.vm-logo .vm-mark,.vm-foot__logo .vm-mark{flex:none;display:block}
.vm-logo__t{color:var(--ink)}
.vm-logo__t span{color:var(--ac)}
.vm-nav{display:flex;gap:18px;font-size:14.5px;font-weight:600}
.vm-nav a{padding:6px 0}
.vm-nav a.is-guide{color:var(--ac)}
.vm-nav a.is-on{box-shadow:inset 0 -2px 0 var(--ac)}
.vm-pay-ico{height:20px;width:auto;vertical-align:middle;margin-left:6px;display:inline-block}
.vm-search{flex:1;min-width:170px;position:relative}
.vm-search input{width:100%;background:var(--surf);border:1px solid transparent;border-radius:10px;padding:10px 14px;font-size:14px;font-family:inherit;outline:none;box-sizing:border-box}
.vm-search input:focus{border-color:var(--ac);background:#fff}
.vm-cart{position:relative;background:var(--ink);color:#fff;border:none;border-radius:10px;padding:10px 16px;font-size:14px;font-weight:600;display:inline-block}
.vm-cart:hover{color:#fff;filter:brightness(1.15)}
.vm-cart__n{position:absolute;top:-7px;right:-7px;background:var(--ac);color:#fff;font-size:11.5px;font-weight:700;min-width:20px;height:20px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}

/* ── buttons ────────────────────────────────────────────────────────────── */
.vm-btn{display:inline-block;border:none;border-radius:12px;padding:14px 26px;font-size:15.5px;font-weight:600;cursor:pointer;font-family:inherit;line-height:1.2}
.vm-btn--p{background:var(--ac);color:#fff}
.vm-btn--p:hover{filter:brightness(1.08);color:#fff}
.vm-btn--s{background:#fff;color:var(--ink);border:1.5px solid var(--line-2)}
.vm-btn--s:hover{border-color:var(--ink)}

/* ── hero ───────────────────────────────────────────────────────────────── */
.vm-hero{max-width:var(--wrap);margin:0 auto;padding:48px 24px 8px;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;align-items:center}
.vm-pill{display:inline-block;background:var(--surf);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;color:var(--muted-2);margin-bottom:18px}
.vm-hero h1{font-size:clamp(34px,5vw,54px);line-height:1.05;letter-spacing:-.03em;margin:0 0 16px}
.vm-hero p{font-size:17px;line-height:1.55;color:var(--muted-2);margin:0 0 26px;max-width:440px}
.vm-hero__img{aspect-ratio:4/3;min-height:260px;border-radius:18px;overflow:hidden;background:var(--surf-2)}
.vm-hero__img img{width:100%;height:100%;object-fit:cover}

/* ── dark CTA panel ─────────────────────────────────────────────────────── */
.vm-cta{background:var(--ink);border-radius:20px;padding:34px 32px;display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.vm-cta h2{color:#fff;font-size:26px;margin:0 0 8px}
.vm-cta p{color:var(--faint);font-size:15px;margin:0;line-height:1.5}
.vm-cta__t{flex:1;min-width:260px}

/* ── category tiles ─────────────────────────────────────────────────────── */
.vm-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.vm-tile__img{aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:var(--surf-2)}
.vm-tile__img img{width:100%;height:100%;object-fit:cover}
.vm-tile__t{font-family:var(--fh);font-size:19px;font-weight:600;margin-top:12px;color:var(--ink)}
.vm-tile__s{font-size:13.5px;color:var(--muted);margin-top:3px}

/* ── section heads ──────────────────────────────────────────────────────── */
.vm-sec{max-width:var(--wrap);margin:0 auto;padding:16px 24px 48px}
.vm-sec__h{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:20px}
.vm-sec__h h2{font-size:27px;margin:0}
.vm-link{font-size:14.5px;font-weight:600;color:var(--ac)}

/* ── product cards (WooCommerce loop) ───────────────────────────────────── */
ul.products{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:18px;margin:0;padding:0;list-style:none}
ul.products::before,ul.products::after{display:none!important}
ul.products li.product{width:auto!important;margin:0!important;float:none!important;
  border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;
  display:flex;flex-direction:column;transition:box-shadow .15s}
ul.products li.product:hover{box-shadow:0 6px 24px rgba(20,23,26,.09)}
ul.products li.product a.woocommerce-LoopProduct-link{display:block}
ul.products li.product img{aspect-ratio:1;object-fit:contain;background:var(--surf-2);margin:0;width:100%}
ul.products li.product .woocommerce-loop-product__title{font-family:var(--fb)!important;font-size:14.5px!important;font-weight:600;line-height:1.35;color:var(--ink);padding:14px 16px 0!important;margin:0}
ul.products li.product .price{font-family:var(--fh);font-size:17.5px!important;font-weight:700;color:var(--ink)!important;padding:0 16px;margin:8px 0 0;display:block}
ul.products li.product .price del{font-size:13px;color:var(--faint);font-weight:500}
ul.products li.product .price ins{text-decoration:none}
ul.products li.product .button{margin:12px 16px 16px!important;background:var(--ink)!important;color:#fff!important;border-radius:9px!important;padding:8px 14px!important;font-size:13px!important;font-weight:600!important;font-family:inherit!important;align-self:flex-start}
ul.products li.product .button:hover{background:var(--ac)!important}
ul.products li.product .onsale{position:absolute;top:10px;left:10px;background:var(--ac);color:#fff;font-size:11.5px;font-weight:700;padding:4px 9px;border-radius:6px;margin:0;min-height:0;line-height:1.4}
ul.products li.product .vm-loc-badge{position:absolute;top:10px;right:10px;background:#E6F7EF;color:var(--ok-text);font-size:11px;font-weight:700;padding:4px 9px;border-radius:6px;line-height:1.4}
.woocommerce ul.products li.product .star-rating{display:none}
/* Astra's per-card category label surfaces junk import categories ("All Products") */
.woocommerce ul.products li.product .ast-woo-product-category,
ul.products li.product .ast-woo-product-category{display:none!important}

/* ── archive header + facets ────────────────────────────────────────────── */
.vm-arch{max-width:var(--wrap);margin:0 auto;padding:32px 24px 8px}
.vm-arch h1{font-size:30px;margin:0 0 4px}
.vm-arch__n{font-size:14px;color:var(--muted);margin:0 0 22px}
.vm-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px;align-items:center}
.vm-chips__l{font-size:12.5px;font-weight:700;color:var(--faint-on-light);text-transform:uppercase;letter-spacing:.05em;margin-right:2px}
.vm-chip{background:#fff;color:var(--ink);border:1px solid var(--line-2);border-radius:999px;padding:8px 16px;font-size:13.5px;font-weight:600;display:inline-block}
.vm-chip:hover{border-color:var(--ink);color:var(--ink)}
.vm-chip.is-on{background:var(--ink);color:#fff;border-color:var(--ink)}
.vm-chip.is-on:hover{color:#fff}
/* archives use the vm-arch header instead of a breadcrumb; keep it on product pages */
.archive nav.woocommerce-breadcrumb,.search nav.woocommerce-breadcrumb{display:none}
.single-product nav.woocommerce-breadcrumb{font-size:12.5px;color:var(--faint);margin:4px 0 14px}
.single-product nav.woocommerce-breadcrumb a{color:var(--muted)}
.woocommerce-ordering{margin:0 0 14px}
.woocommerce .woocommerce-ordering select,.woocommerce-ordering select{background:#fff;border:1px solid var(--line-2);border-radius:999px;padding:8px 14px;font-size:13.5px;font-weight:600;font-family:var(--fb);color:var(--ink);cursor:pointer;outline:none;height:auto}
/* lift the sort control into the empty right half of the archive header row */
@media(min-width:783px){.woocommerce .woocommerce-ordering{margin:-58px 0 10px}}

/* ── single product ─────────────────────────────────────────────────────── */
.single-product div.product .product_title{font-family:var(--fh);font-size:27px;line-height:1.2}
.single-product div.product p.price{font-family:var(--fh);font-size:32px!important;font-weight:700;color:var(--ink)!important}
.single-product div.product .single_add_to_cart_button{background:var(--ac)!important;color:#fff!important;border-radius:12px!important;padding:15px 20px!important;font-size:16px!important;font-weight:700!important}
.single-product div.product .single_add_to_cart_button:hover{filter:brightness(1.08)}
.vm-dlvr{margin:2px 0 4px;font-size:13.5px}
.vm-dlvr__title{margin:0 0 6px;font-weight:600;color:var(--muted-2)}
.vm-dlvr__list{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.vm-dlvr__list li{display:flex;align-items:center;gap:8px;color:var(--faint-on-light)}
.vm-dlvr__list li.is-active{color:var(--ink);font-weight:600}
.vm-dlvr__dot{width:8px;height:8px;border-radius:50%;background:var(--line-2);flex:0 0 auto}
.vm-dlvr__list li.is-active .vm-dlvr__dot--local{background:var(--ok)}
.vm-dlvr__list li.is-active .vm-dlvr__dot--supplier{background:var(--ac)}
/* single-line variant: the title carried the "which of these two applies" framing, so with only
   the applicable row left there is nothing above the dot to space away from */
.vm-dlvr--one{margin:6px 0 10px}
/* imported Shopify descriptions open by repeating the product title as a heading */
.woocommerce-Tabs-panel--description>h1:first-of-type,
.woocommerce-Tabs-panel--description>h2:first-of-type{display:none}
/* prose readability — imported descriptions otherwise run the full 1200px wrap */
.woocommerce-Tabs-panel--description{max-width:860px}
.vm-benefit{font-size:15.5px;line-height:1.5;color:#374151;background:#F2F7FF;border-radius:12px;padding:13px 16px;margin:0 0 18px}
.vm-trust{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;font-weight:600;color:var(--muted-2);margin:16px 0 24px}

/* ── classic cart / checkout ────────────────────────────────────────────── */
.woocommerce-cart .cart-empty,.woocommerce-cart .return-to-shop{text-align:center}
.woocommerce table.shop_table{border:1px solid var(--line);border-radius:14px;border-collapse:separate;border-spacing:0}
.woocommerce table.shop_table th{font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.woocommerce .cart .button,.woocommerce a.checkout-button,.woocommerce #place_order{background:var(--ac)!important;color:#fff!important;border-radius:12px!important;font-weight:600!important}
.woocommerce a.checkout-button:hover,.woocommerce #place_order:hover{filter:brightness(1.08)}

/* ── shipping-method rows ───────────────────────────────────────────────── */
/* Both carriers inject their own terminal picker after the radio label (LP Express a bare
   <select>, Omniva a bordered box with an orange button), so the two rows sat at different
   left offsets in different styles. Normalise them into one indented full-width block. */
#shipping_method{list-style:none;margin:0;padding:0;display:grid;gap:12px}
#shipping_method li{display:block;margin:0;padding:0;line-height:1.45}
#shipping_method li>input.shipping_method{margin:0 8px 0 0;vertical-align:baseline}
#shipping_method li>label[for^="shipping_method_"]{display:inline;font-size:14.5px;font-weight:600;color:var(--ink)}
#shipping_method li>br{display:none}
/* The LP plugin injects a Unisend/LPEXPRESS logo into the label from JS (not in the markup,
   so it can only be hidden after the fact). The label already reads "LP Express paštomatas";
   the logo still says UNISEND and is the only carrier badge in the list. */
#shipping_method img.woo-lithuaniapost-logo{display:none}
#shipping_method li>label[for="woo_lithuaniapost_lpexpress_terminal_id"]{display:block}
/* Astra hangs the radio off the list item with `ul#shipping_method li{text-indent:-22px;
   padding-left:22px}` (inline stylesheet). text-indent inherits, so the carrier pickers dragged
   their own first line 22px left — the Omniva label painted *outside* its bordered box.
   Element boxes stay put, only the glyphs move: measure with a Range, not getBoundingClientRect. */
#shipping_method .woo_lithuaniapost_lpexpress_terminal_select_container,
#shipping_method .omnivalt_terminal_container{display:block;box-sizing:border-box;width:auto;margin:8px 0 0;padding:0;text-indent:0}
#shipping_method select.woo_lithuaniapost_lpexpress_terminal_id{width:100%!important;box-sizing:border-box;height:auto;background:#fff;border:1px solid var(--line-2);border-radius:10px;padding:9px 12px;font-family:var(--fb);font-size:14px;color:var(--ink);outline:none}
/* the plugin drives its own accents off this custom property — an id in the selector beats
   its :root definition, which loads after ours */
/* The plugin draws its own frame+padding on this container; zero them explicitly rather than
   just dropping ours, or Omniva keeps a card LP Express has no equivalent of. */
#shipping_method .omnivalt_terminal_container_map{--omniva-color-main:var(--ac);border:0;padding:0;background:none}
/* Omniva keeps its picker state in a readout line above the button; LP Express keeps it in
   the button itself. picker-text.js mirrors the readout into the button, so hiding the line
   makes both carriers read the same text in the same place — and drops the 28px that made
   Omniva's row taller. Hidden, not removed: the plugin still writes the selection into it. */
#shipping_method .omnivalt_terminal_container_map .tmjs-selected-terminal{display:none}
/* One button for both carriers.
   Omniva ships a real <a> (.tmjs-open-modal-btn) that opens its map modal. LP Express has no
   map to open — its terminals carry no coordinates (the plugin table is terminal_id/name/
   address/city only), so Select2 owns its trigger and the same styling is applied to
   .select2-selection--single instead. Same box, same accent; behind LP's is a searchable
   list rather than a map. Select2 replaces the native <select>, so the rule on
   select.woo_lithuaniapost_lpexpress_terminal_id above only survives for the no-JS case. */
#shipping_method .omnivalt_terminal_container_map .tmjs-open-modal-btn,
#shipping_method .woo_lithuaniapost_lpexpress_terminal_select_container .select2-container--default .select2-selection--single{
  display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:37px;
  /* Select2 gives its selection `margin-bottom:-4px`, so the container measured 33px around a
     37px button and the LP row came out 4px shorter than Omniva's. Zero it for both. */
  background:var(--ac);border:1px solid var(--ac);border-radius:10px;margin:0;padding:9px 12px;
  font-family:var(--fb);font-size:14px;font-weight:600;line-height:1.2;color:#fff;text-align:center;outline:none}
/* Both darken on hover instead. Omniva used to invert to accent-on-white, which since the
   button went solid blue meant blue text on a blue fill — the label vanished under the cursor. */
#shipping_method .omnivalt_terminal_container_map .tmjs-open-modal-btn:hover,
#shipping_method .omnivalt_terminal_container_map .tmjs-open-modal-btn:focus,
#shipping_method .woo_lithuaniapost_lpexpress_terminal_select_container .select2-container--default .select2-selection--single:hover{
  background:#0a52e6;border-color:#0a52e6;color:#fff}
#shipping_method .woo_lithuaniapost_lpexpress_terminal_select_container .select2-container{width:100%!important}
#shipping_method .woo_lithuaniapost_lpexpress_terminal_select_container .select2-container--default .select2-selection--single .select2-selection__rendered{
  padding:0;color:#fff;font:inherit;line-height:inherit;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Select2's caret would break the silhouette — the Omniva button has none. */
#shipping_method .woo_lithuaniapost_lpexpress_terminal_select_container .select2-container--default .select2-selection--single .select2-selection__arrow{display:none}
#shipping_method .woo_lithuaniapost_lpexpress_terminal_select_container .select2-container--default.select2-container--open .select2-selection--single{background:#0a52e6;border-color:#0a52e6}
/* mobile: the totals cell floats its own "Pristatymas:" label through ::before, and the grid
   above establishes a BFC — so the list sat *beside* the float instead of under it, squeezed to
   ~150px of a 270px cell, and the Omniva box overflowed its own border. Clear it, full width. */
@media (max-width:600px){
.cart_totals tr.woocommerce-shipping-totals td,
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td{text-align:left}
.cart_totals tr.woocommerce-shipping-totals td::before,
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td::before{float:none;display:block;margin:0 0 8px;text-align:left}
#shipping_method{clear:both;width:100%;text-align:left}
#shipping_method .woo_lithuaniapost_lpexpress_terminal_select_container,
#shipping_method .omnivalt_terminal_container{margin-left:0;width:100%}
#shipping_method .omnivalt_terminal_container_map .tmjs-open-modal-btn{display:block;width:100%;box-sizing:border-box}
.cart_totals .woocommerce-shipping-destination,
.cart_totals .woocommerce-shipping-calculator,
.cart_totals .shipping-calculator-button{text-align:left;display:block}
}
/* checkout keeps a real 2-column table on mobile (no floated ::before), so the picker column
   is whatever the auto layout leaves it — ~144px, which clips the Omniva button. Pin the row's
   label column to its min width, floor the picker column, and let the button wrap. */
@media (max-width:600px){
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th{white-space:nowrap;vertical-align:top;width:1%}
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td{text-align:left}
.woocommerce-checkout-review-order-table #shipping_method{min-width:170px}
.woocommerce-checkout-review-order-table #shipping_method .omnivalt_terminal_container{margin-left:0;width:100%}
#shipping_method .omnivalt_terminal_container_map .tmjs-open-modal-btn,
#shipping_method .woo_lithuaniapost_lpexpress_terminal_select_container .select2-container--default .select2-selection--single,
#shipping_method .woo_lithuaniapost_lpexpress_terminal_select_container .select2-container--default .select2-selection--single .select2-selection__rendered{white-space:normal;text-align:center;height:auto;min-height:37px}
}

/* ── expected delivery date ─────────────────────────────────────────────── */
.vm-eta th,.vm-eta td{font-size:14px}
.vm-eta__d{font-weight:600;color:var(--ink);white-space:nowrap}
.vm-eta__n{display:block;margin-top:2px;font-size:12.5px;font-weight:400;color:var(--faint-on-light)}

/* ── trust strip ────────────────────────────────────────────────────────── */
.vm-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surf-3)}
.vm-strip__in{max-width:var(--wrap);margin:0 auto;padding:22px 24px;display:flex;gap:28px;flex-wrap:wrap;align-items:center;justify-content:space-between;font-size:13.5px;font-weight:600;color:var(--muted-2)}
.vm-strip__in .dim{color:var(--faint-on-light)}

/* ── finder ─────────────────────────────────────────────────────────────── */
.vm-finder{max-width:860px;margin:0 auto;padding:40px 24px 64px}
.vm-finder h1{font-size:32px;margin:0 0 6px;text-align:center}
.vm-finder__sub{font-size:15px;color:var(--muted);text-align:center;margin:0 0 32px}
.vm-step{font-size:13px;font-weight:700;color:var(--faint-on-light);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}
.vm-opt{background:#fff;color:var(--ink);border:1.5px solid var(--line-2);border-radius:14px;padding:14px 22px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit}
.vm-opt:hover{border-color:var(--ink)}
.vm-opt.is-on{background:var(--ink);color:#fff;border-color:var(--ink)}
.vm-rec{background:var(--ink);border-radius:20px;padding:28px 30px;margin:26px 0;display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.vm-rec__w{font-family:var(--fh);font-size:42px;font-weight:700;color:#fff;line-height:1}
.vm-rec__k{font-size:13px;font-weight:600;color:var(--faint);margin-bottom:4px}
.vm-rec__n{flex:1;min-width:240px;font-size:14.5px;line-height:1.55;color:#D1D5DB;margin:0}

/* ── return form (/grazinimas/) ─────────────────────────────────────────── */
.vm-return{background:var(--surf-3);border:1px solid var(--line);border-radius:16px;padding:24px;margin:26px 0}
.vm-return__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.vm-return label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--muted-2)}
.vm-return__wide{grid-column:1/-1}
.vm-return input,.vm-return textarea{background:#fff;border:1px solid var(--line-2);border-radius:10px;padding:10px 12px;font-size:14px;font-family:var(--fb);color:var(--ink);outline:none}
.vm-return input:focus,.vm-return textarea:focus{border-color:var(--ac)}
.vm-return__ok{margin:12px 0 0;font-size:13.5px;font-weight:600;color:var(--ok-text)}

/* ── cookie consent banner ──────────────────────────────────────────────── */
.vm-ck{position:fixed;left:16px;right:16px;bottom:16px;z-index:90;display:flex;justify-content:center}
/* the display rules on .vm-btn/.vm-ck__opts would beat the UA [hidden] default */
.vm-ck[hidden],.vm-ck [hidden],.vm-return [hidden]{display:none!important}
.vm-ck__in{background:var(--ink);color:#fff;border-radius:16px;padding:20px 22px;max-width:920px;width:100%;
  display:flex;align-items:center;gap:22px;flex-wrap:wrap;box-shadow:0 12px 40px rgba(20,23,26,.35)}
.vm-ck__t{flex:1;min-width:260px}
.vm-ck__t strong{font-family:var(--fh);font-size:16px}
.vm-ck__t p{margin:6px 0 0;font-size:13px;line-height:1.55;color:#B7BDC6}
.vm-ck__t a{color:#fff;text-decoration:underline}
.vm-ck__opts{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;font-size:13px;font-weight:600}
.vm-ck__opts label{display:flex;align-items:center;gap:6px;color:#E5E7EB}
.vm-ck__btns{display:flex;gap:10px;flex-wrap:wrap}
.vm-ck__btns .vm-btn{padding:11px 18px;font-size:14px}
.vm-ck__ghost{background:transparent;color:#fff;border:1.5px solid #3a4048}
.vm-ck__ghost:hover{border-color:#fff;color:#fff}

/* ── footer ─────────────────────────────────────────────────────────────── */
.vm-foot{background:var(--ink);color:#B7BDC6;margin-top:auto}
.vm-foot__in{max-width:var(--wrap);margin:0 auto;padding:44px 24px 30px}
.vm-foot__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px;padding-bottom:32px;border-bottom:1px solid #2A2F35}
.vm-foot__logo{display:flex;align-items:center;gap:9px;font-family:var(--fh);font-weight:700;font-size:24px;letter-spacing:-.04em;color:#fff;margin-bottom:12px}
.vm-foot__logo>span{color:#fff}
.vm-foot__logo>span span{color:var(--ac)}
.vm-foot h4{font-size:12.5px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.06em;margin:0 0 12px;font-family:var(--fb)}
.vm-foot a{color:#B7BDC6}
.vm-foot a:hover{color:#fff}
.vm-foot__links{display:flex;flex-direction:column;gap:8px;font-size:13.5px}
.vm-foot__legal{font-size:12px;line-height:1.65;color:#8A929C;margin:18px 0 0}
.vm-foot__legal a{color:#8A929C;text-decoration:underline}
.vm-todo{background:#3a2a00;color:#ffd479;border:1px dashed #7a5a00;border-radius:8px;padding:10px 12px;font-size:12.5px;line-height:1.5}

@media(max-width:782px){
  .vm-nav{order:3;width:100%;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;
    /* the row scrolls; fade the right edge so it reads as "more this way" */
    -webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
  .vm-nav::-webkit-scrollbar{display:none}
  .vm-nav a{white-space:nowrap}
  .vm-search{order:4;width:100%;flex-basis:100%}
  /* The header was un-stuck on phones because three stacked rows ate the screen. Instead:
     stay sticky, and collapse the nav + search rows away once the page is scrolled, so the
     logo and the cart stay reachable from anywhere in a 997-product grid. */
  .vm-head{position:sticky}
  .vm-head__in{padding:10px 16px;gap:12px}
  .vm-logo{font-size:23px}
  body.vm-scrolled .vm-nav,body.vm-scrolled .vm-search{display:none}
}

/* ── product specifications ─────────────────────────────────────────────── */
.vm-spectiles{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}
.vm-spectile{flex:1 1 120px;border:1px solid #E9EBEE;border-radius:12px;padding:10px 12px;background:#FAFBFC}
.vm-spectile__k{display:block;font-size:12px;color:#6B7280;letter-spacing:.02em}
.vm-spectile__v{display:block;font-family:var(--fh);font-size:17px;font-weight:600;color:#14171A;margin-top:2px}
.vm-specs{margin:36px 0 8px;clear:both}
.vm-specs h2{font-family:var(--fh);font-size:21px;margin:0 0 14px}
.vm-specs__t{width:100%;border-collapse:collapse;font-size:14.5px}
.vm-specs__t th,.vm-specs__t td{text-align:left;padding:10px 12px;border-bottom:1px solid #E9EBEE;vertical-align:top}
.vm-specs__t th{width:38%;font-weight:500;color:#6B7280}
.vm-specs__t tr:last-child th,.vm-specs__t tr:last-child td{border-bottom:0}
@media(max-width:600px){.vm-specs__t th{width:46%}}

/* ── archive facets ─────────────────────────────────────────────────────── */
/* The old layout printed every option of every facet as a chip above the grid — ~60 chips on
   /ikrovikliai/, brand list included, nothing collapsible. The full set now lives in the
   sidebar below; the header keeps only the category chips plus two curated power shortcuts. */
.vm-chip--q{font-size:13px;padding:6px 12px}
.vm-facets__note{margin:10px 0 0;font-size:12.5px;color:var(--faint-on-light)}

/* Two-column shop layout. This is NOT a direct child of .site-content .ast-container, so the
   display:block override up top does not apply to it and its flex context stands on its own. */
.vm-has-filters #primary{margin-top:26px}
.vm-shop-layout{max-width:var(--wrap);margin:0 auto;padding:0 24px;
  display:flex;align-items:flex-start;gap:34px}
.vm-fside{flex:0 0 258px}
.vm-shop-main{flex:1 1 auto;min-width:0}
/* the sort dropdown is pulled up beside the archive header on the old single-column layout */
.vm-shop-main .woocommerce-ordering{margin:0 0 14px!important}

/* drawer plumbing — inert on desktop, but the checkbox stays focusable so the label can
   inherit a visible ring from it (labels themselves never take keyboard focus) */
.vm-fdrawer-cb{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;
  clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.vm-fdrawer-btn{display:none;align-items:center;gap:8px;padding:11px 18px;font-size:14px}
.vm-fdrawer-btn__n{background:var(--ac);color:#fff;border-radius:999px;
  min-width:20px;height:20px;line-height:20px;text-align:center;font-size:12px;padding:0 6px}
.vm-fside__bg,.vm-fside__x{display:none}

.vm-fside__panel{border:1px solid var(--line);border-radius:14px;padding:6px 16px 10px;background:#fff}
.vm-fside__head{display:none;align-items:center;justify-content:space-between;
  padding:14px 0 10px;border-bottom:1px solid var(--line)}
.vm-fside__t{font-family:var(--fh);font-weight:700;font-size:17px}

/* applied filters */
.vm-factive{padding:14px 0 4px;border-bottom:1px solid var(--line);
  display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.vm-factive__k{flex:1 0 100%;font-size:11.5px;font-weight:700;color:var(--faint-on-light);
  text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}
.vm-achip{display:inline-flex;align-items:center;gap:6px;background:var(--ink);color:#fff;
  border-radius:999px;padding:5px 11px;font-size:12.5px;font-weight:600}
.vm-achip:hover{color:#fff;filter:brightness(1.35)}
.vm-achip__x{font-size:14px;line-height:1;opacity:.75}
.vm-fclear{flex:1 0 100%;margin:6px 0 10px;font-size:13px;color:var(--muted)}
.vm-fclear:hover{color:var(--ac)}

/* collapsible groups */
.vm-fgroup{border-bottom:1px solid var(--line)}
.vm-fgroup:last-child{border-bottom:0}
.vm-fgroup > summary{list-style:none;cursor:pointer;padding:13px 0;
  font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:space-between}
.vm-fgroup > summary::-webkit-details-marker{display:none}
.vm-fgroup > summary::after{content:'';width:8px;height:8px;flex:0 0 8px;margin-left:10px;
  border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);
  transform:rotate(45deg) translate(-2px,-2px);transition:transform .15s}
.vm-fgroup[open] > summary::after{transform:rotate(-135deg) translate(-2px,-2px)}
.vm-flist{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:1px}

/* Styled as a checkbox row, but it is an <a>: a real checkbox in a GET form submits
   filter_galia[]=a&filter_galia[]=b, which Woo's filter_<slug> reader cannot parse, so
   filtering would break with JS off. .vm-fopt__b is decorative; selection is announced by the
   visually-hidden ", pasirinkta" the PHP appends. */
.vm-fopt{display:flex;align-items:center;gap:10px;padding:6px 6px 6px 0;
  font-size:13.5px;color:var(--muted-2);border-radius:8px}
.vm-fopt:hover{color:var(--ink)}
.vm-fopt__b{flex:0 0 17px;width:17px;height:17px;border:1.5px solid var(--line-2);
  border-radius:5px;background:#fff;position:relative}
.vm-fopt.is-radio .vm-fopt__b{border-radius:50%}
.vm-fopt:hover .vm-fopt__b{border-color:var(--muted)}
.vm-fopt.is-on{color:var(--ink);font-weight:600}
.vm-fopt.is-on .vm-fopt__b{background:var(--ac);border-color:var(--ac)}
.vm-fopt.is-on .vm-fopt__b::after{content:'';position:absolute;left:5px;top:1px;
  width:4px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(42deg)}
.vm-fopt.is-radio.is-on .vm-fopt__b::after{left:4px;top:4px;width:7px;height:7px;
  border:0;border-radius:50%;background:#fff;transform:none}
.vm-fopt__l{flex:1 1 auto;min-width:0}
.vm-fopt__n{color:var(--faint-on-light);font-size:11.5px;font-weight:400}

.vm-fmore > summary{list-style:none;cursor:pointer;font-size:13px;font-weight:600;
  color:var(--ac);padding:0 0 12px}
.vm-fmore > summary::-webkit-details-marker{display:none}
.vm-fmore[open] > summary{padding-bottom:8px}

/* ≤900px: the sidebar becomes a full-height drawer, opened by the checkbox alone */
@media(max-width:900px){
  .vm-shop-layout{display:block;padding:0}
  .vm-fdrawer-btn{display:inline-flex;margin:0 24px 16px}
  .vm-fside{position:fixed;inset:0;z-index:100;visibility:hidden}
  .vm-fdrawer-cb:checked ~ .vm-fside{visibility:visible}
  .vm-fside__bg{display:block;position:absolute;inset:0;background:rgba(20,23,26,.45);opacity:0;
    transition:opacity .2s}
  .vm-fdrawer-cb:checked ~ .vm-fside .vm-fside__bg{opacity:1}
  .vm-fside__panel{position:absolute;inset:0 auto 0 0;width:min(88vw,360px);
    overflow-y:auto;border:0;border-radius:0;padding:0 18px 24px;
    transform:translateX(-100%);transition:transform .2s}
  .vm-fdrawer-cb:checked ~ .vm-fside .vm-fside__panel{transform:none}
  .vm-fside__head{display:flex;position:sticky;top:0;background:#fff;z-index:1}
  .vm-fside__x{display:block;cursor:pointer;font-size:26px;line-height:1;
    color:var(--muted);padding:0 4px}
  .vm-shop-main{padding:0 24px}
}


/* ── focus visibility (WCAG 2.4.7) ──────────────────────────────────────── */
/* Astra sets a blanket `input{outline:none}` and the components below reset it again, so a
   keyboard user had no visible focus on search, the sort dropdown or the return form.
   :focus-visible only paints for keyboard/AT focus, so pointer users see no change. */
.vm-btn:focus-visible,.vm-chip:focus-visible,.vm-opt:focus-visible,.vm-cart:focus-visible,
.vm-link:focus-visible,.vm-logo:focus-visible,.vm-nav a:focus-visible,.vm-foot a:focus-visible,
.vm-bar__x:focus-visible,.vm-search__go:focus-visible,
.vm-fopt:focus-visible,.vm-achip:focus-visible,.vm-fclear:focus-visible,
.vm-fgroup > summary:focus-visible,.vm-fmore > summary:focus-visible,
.vm-fdrawer-cb:focus-visible + .vm-fdrawer-btn,
.vm-search input:focus-visible,.vm-return input:focus-visible,.vm-return textarea:focus-visible,
.woocommerce-ordering select:focus-visible,
ul.products li.product a:focus-visible,ul.products li.product .button:focus-visible,
.woocommerce .button:focus-visible,.woocommerce a.checkout-button:focus-visible,
.woocommerce #place_order:focus-visible{
  outline:3px solid var(--ac);outline-offset:2px;border-radius:6px}
/* on the dark panels a blue ring on near-black has no contrast — use white */
.vm-foot a:focus-visible,.vm-ck .vm-btn:focus-visible,.vm-cta .vm-btn:focus-visible,
.vm-bar__x:focus-visible{outline-color:#fff}

/* Astra ships .screen-reader-text, but the facet labels depend on it being right — state it
   here so a parent-theme change cannot silently start printing ", pasirinkta" on screen. */
.screen-reader-text{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;
  border:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap}

/* ── header search submit ───────────────────────────────────────────────── */
.vm-search__go{position:absolute;right:4px;top:50%;transform:translateY(-50%);
  width:34px;height:34px;display:flex;align-items:center;justify-content:center;
  background:none;border:none;border-radius:8px;color:var(--muted);cursor:pointer;padding:0}
.vm-search__go:hover{color:var(--ink);background:rgba(20,23,26,.06)}
.vm-search input{padding-right:42px}

/* ── home teaser exit ───────────────────────────────────────────────────── */
.vm-more{margin:28px 0 0;text-align:center}

/* Respect a reduced-motion preference for the one animated affordance we add. */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;
    scroll-behavior:auto!important}
}

/* ── Guide posts ──────────────────────────────────────────────────────────────
   The guides carry comparison tables, which Astra leaves unstyled. Left alone a
   three-column table overflows the viewport on a phone, so the wrapper scrolls
   rather than the page. Scoped to .entry-content on singular posts so nothing
   here can reach Woo's own shop_table markup. */
.single-post .entry-content{max-width:46rem}
.single-post .entry-content h2{margin-top:2.2em;margin-bottom:.6em;font-size:1.45rem;line-height:1.25}
.single-post .entry-content h3{margin-top:1.6em;margin-bottom:.4em;font-size:1.12rem}
.single-post .entry-content p,
.single-post .entry-content li{line-height:1.7}
.single-post .entry-content ul,
.single-post .entry-content ol{margin-bottom:1.4em}
.single-post .entry-content li{margin-bottom:.35em}
.single-post .entry-content code{background:#f4f4f5;border-radius:5px;padding:.12em .4em;font-size:.92em}

.single-post .entry-content table{
  display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;
  border-collapse:collapse;margin:1.6em 0;font-size:.95rem}
.single-post .entry-content table th,
.single-post .entry-content table td{
  border-bottom:1px solid var(--line,#e5e5e5);padding:.65em .8em;text-align:left;vertical-align:top}
.single-post .entry-content table th{
  font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;
  color:var(--muted,#666);white-space:nowrap}
.single-post .entry-content table tr:last-child td{border-bottom:0}

/* The guides all sit in the stock "Uncategorized" term, which Astra prints above every
   title on /patarimai/ and on each post. The link points at a noindexed duplicate of this
   same list, so hide it rather than invent a taxonomy for five posts. The author/date
   byline stays — it is the only real signal there. */
.blog .cat-links,
.single-post .cat-links,
.archive .cat-links{display:none}
