/* Combined Valgusallikad frontend CSS v5.1.60 */

/* === 01-base.css === */
/*!
 * Valgusallikad theme — 01-base.css
 * Base tokens, layout, header, hero, cards, single product, footer + initial responsive + admin (v1.0–v1.4.1).
 * (Source: original theme.css lines 1–1241)
 *
 * Maintenance note: parts are concatenated in numeric order at runtime.
 * Editing this file affects only the rules originally in this epoch.
 */

:root {
  --vlg-primary: #f28a00;
  --vlg-primary-2: #ffb34d;
  --vlg-dark: #071224;
  --vlg-dark-2: #0f1e33;
  --vlg-text: #172033;
  --vlg-muted: #697589;
  --vlg-line: #e8edf4;
  --vlg-soft: #f6f8fb;
  --vlg-card: #ffffff;
  --vlg-radius: 18px;
  --vlg-shadow: 0 18px 55px rgba(12, 26, 48, .10);
  --vlg-shadow-soft: 0 10px 30px rgba(12, 26, 48, .08);
  --vlg-container: 1320px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.vlg-theme, body {
  margin: 0;
  color: var(--vlg-text);
  background: linear-gradient(180deg, #fff 0%, #f8fafc 42%, #fff 100%);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.55;
}
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; transition: color .18s ease, border-color .18s ease, background .18s ease, transform .18s ease; }
a:hover { color: var(--vlg-primary); }
button, input, textarea, select { font: inherit; }
.screen-reader-text, .skip-link {
  border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important;
}
.skip-link:focus { clip: auto; clip-path: none; display: block; height: auto; left: 18px; padding: 12px 16px; top: 18px; width: auto; z-index: 9999; background: #fff; border-radius: 10px; box-shadow: var(--vlg-shadow); }
.vlg-container { width: min(var(--vlg-container), calc(100% - 40px)); margin: 0 auto; }

/* Header */
.vlg-site-header { background: #fff; position: relative; z-index: 50; box-shadow: 0 1px 0 rgba(11, 25, 45, .08); }
.vlg-sticky-header .vlg-site-header { position: sticky; top: 0; }
.vlg-topbar { background: var(--vlg-dark); color: #f3f6fb; font-size: 14px; }
.vlg-topbar-inner { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.vlg-topbar-contact { display: flex; gap: 22px; align-items: center; white-space: nowrap; }
.vlg-topbar a { color: #f3f6fb; opacity: .95; }
.vlg-topbar a:hover { color: var(--vlg-primary-2); }
.vlg-main-header { background: #fff; }
.vlg-main-header-inner { min-height: 92px; display: grid; grid-template-columns: auto 1fr auto; gap: 30px; align-items: center; }
.vlg-brand { min-width: 250px; }
.custom-logo { display: block; max-height: 70px; width: auto; }
.vlg-logo-fallback { display: flex; align-items: center; gap: 12px; color: #222c3d; }
.vlg-logo-bulb { width: 56px; height: 56px; border: 3px solid #1e293b; border-radius: 50% 50% 44% 44%; display: grid; place-items: center; background: #fff; font-size: 28px; box-shadow: 0 8px 18px rgba(12, 26, 48, .08); }
.vlg-logo-text strong { display: block; font-size: 27px; line-height: 1; letter-spacing: -.04em; }
.vlg-logo-text small { display: block; color: var(--vlg-primary); font-weight: 800; font-size: 10px; text-transform: uppercase; letter-spacing: .14em; margin-top: 3px; }
.vlg-header-search { min-width: 0; }
.vlg-search { display: flex; align-items: center; gap: 8px; border: 1px solid var(--vlg-line); background: #fff; border-radius: 999px; padding: 6px 7px 6px 18px; box-shadow: 0 6px 22px rgba(17, 32, 55, .05); }
.vlg-search-icon { color: var(--vlg-muted); font-size: 22px; line-height: 1; }
.vlg-search input[type="search"] { border: 0; outline: 0; flex: 1; min-width: 0; height: 42px; color: var(--vlg-text); background: transparent; }
.vlg-search input[type="search"]::placeholder { color: #9aa5b5; }
.vlg-search button { border: 0; border-radius: 999px; padding: 12px 26px; background: linear-gradient(135deg, var(--vlg-primary), #d96b00); color: #fff; font-weight: 800; cursor: pointer; box-shadow: 0 10px 20px rgba(242, 138, 0, .22); }
.vlg-search button:hover { transform: translateY(-1px); filter: brightness(.98); }
.vlg-header-actions { display: flex; align-items: center; gap: 18px; }
.vlg-header-actions a { display: inline-flex; align-items: center; gap: 8px; color: #152033; position: relative; font-weight: 700; font-size: 14px; }
.vlg-header-actions small { display: block; color: var(--vlg-muted); font-weight: 500; font-size: 12px; line-height: 1.1; }
.vlg-icon { font-size: 24px; line-height: 1; }
.vlg-badge { position: absolute; top: -11px; left: 14px; min-width: 18px; height: 18px; display: grid; place-items: center; border-radius: 99px; background: var(--vlg-primary); color: #fff; font-size: 11px; font-weight: 900; padding: 0 5px; }
.vlg-cart-link strong { color: var(--vlg-primary); display: block; margin-top: -2px; }
.vlg-mobile-toggle { display: none; width: 52px; height: 52px; border: 1px solid var(--vlg-line); border-radius: 12px; background: #fff; color: var(--vlg-dark); cursor: pointer; font-size: 22px; }
.vlg-nav { background: #fff; border-top: 1px solid var(--vlg-line); border-bottom: 1px solid var(--vlg-line); }
.vlg-nav-inner { min-height: 58px; display: flex; align-items: center; gap: 28px; }
.vlg-category-menu { position: relative; }
.vlg-category-button { display: flex; align-items: center; gap: 12px; min-width: 250px; border: 0; border-radius: 12px; background: var(--vlg-dark); color: #fff; padding: 15px 22px; font-weight: 900; cursor: pointer; box-shadow: 0 10px 24px rgba(7, 18, 36, .20); }
.vlg-category-dropdown { position: absolute; left: 0; top: calc(100% + 10px); width: 300px; background: #fff; border: 1px solid var(--vlg-line); border-radius: 18px; box-shadow: var(--vlg-shadow); padding: 10px; display: none; z-index: 70; }
.vlg-category-menu.is-open .vlg-category-dropdown { display: block; }
.vlg-cat-dropdown-list, .vlg-primary-menu, .vlg-footer-menu { list-style: none; padding: 0; margin: 0; }
.vlg-cat-dropdown-list li a { display: flex; justify-content: space-between; gap: 12px; padding: 11px 12px; border-radius: 12px; font-weight: 700; color: #263247; }
.vlg-cat-dropdown-list li a:hover { background: #fff5e8; color: var(--vlg-primary); }
.vlg-cat-dropdown-list li span { color: var(--vlg-muted); font-size: 12px; }
.vlg-primary-menu { display: flex; align-items: center; gap: 34px; flex-wrap: wrap; }
.vlg-primary-menu a { font-weight: 800; color: #213047; }
.vlg-primary-menu .current-menu-item > a, .vlg-primary-menu a:hover { color: var(--vlg-primary); }

/* Hero / home */
.vlg-home { padding-bottom: 28px; }
.vlg-hero { margin: 28px 0 18px; min-height: 310px; border-radius: 20px; overflow: hidden; background-size: cover; background-position: center; display: grid; grid-template-columns: minmax(0, 1fr) 320px; align-items: center; gap: 30px; padding: 42px 52px; color: #fff; box-shadow: var(--vlg-shadow-soft); }
.vlg-kicker { display: inline-flex; color: var(--vlg-primary-2); font-size: 13px; font-weight: 900; text-transform: uppercase; letter-spacing: .10em; margin-bottom: 12px; }
.vlg-hero h1 { max-width: 650px; font-size: clamp(34px, 4.4vw, 58px); line-height: .98; letter-spacing: -.05em; margin: 0 0 18px; }
.vlg-hero p { max-width: 640px; margin: 0 0 24px; color: #dbe5f2; font-size: 19px; }
.vlg-hero-actions { display: flex; gap: 14px; flex-wrap: wrap; }
.vlg-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 12px; padding: 14px 24px; font-weight: 900; border: 1px solid transparent; cursor: pointer; }
.vlg-btn-primary { background: linear-gradient(135deg, var(--vlg-primary), #d96b00); color: #fff; box-shadow: 0 14px 26px rgba(242, 138, 0, .25); }
.vlg-btn-primary:hover { color: #fff; transform: translateY(-1px); }
.vlg-btn-ghost { color: #fff; border-color: rgba(255,255,255,.28); background: rgba(255,255,255,.08); backdrop-filter: blur(8px); }
.vlg-btn-ghost:hover { border-color: var(--vlg-primary-2); color: #fff; }
.vlg-btn-outline { border-color: var(--vlg-line); background: #fff; color: #263247; }
.vlg-hero-benefits { border: 1px solid rgba(255,255,255,.16); background: rgba(12, 24, 43, .74); border-radius: 18px; padding: 16px 20px; box-shadow: inset 0 1px 0 rgba(255,255,255,.08); backdrop-filter: blur(10px); }
.vlg-hero-benefits div { display: grid; grid-template-columns: 42px 1fr; column-gap: 14px; align-items: center; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.vlg-hero-benefits div:last-child { border-bottom: 0; }
.vlg-hero-benefits span { grid-row: span 2; width: 42px; height: 42px; display: grid; place-items: center; background: rgba(242,138,0,.14); border-radius: 50%; }
.vlg-hero-benefits strong { display: block; }
.vlg-hero-benefits small { color: #cbd5e1; }
.vlg-trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--vlg-line); border: 1px solid var(--vlg-line); border-radius: 18px; overflow: hidden; box-shadow: var(--vlg-shadow-soft); margin-bottom: 24px; }
.vlg-trust-item { display: flex; align-items: center; gap: 16px; padding: 22px 26px; background: #fff; }
.vlg-trust-item > span { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 50%; background: #fff3e4; color: var(--vlg-primary); font-size: 26px; flex: 0 0 auto; }
.vlg-trust-item strong { display: block; color: #1d293b; }
.vlg-trust-item small { display: block; color: var(--vlg-muted); }
.vlg-section { margin: 26px 0; }
.vlg-section-head { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 14px; }
.vlg-section-head h1, .vlg-section-head h2 { margin: 0; letter-spacing: -.035em; line-height: 1.1; }
.vlg-section-head a { color: var(--vlg-dark); font-weight: 900; }
.vlg-category-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
.vlg-category-card { display: grid; grid-template-columns: 90px 1fr; gap: 16px; align-items: center; background: #fff; border: 1px solid var(--vlg-line); border-radius: 16px; padding: 16px; min-height: 130px; box-shadow: 0 8px 24px rgba(17, 32, 55, .05); }
.vlg-category-card:hover { transform: translateY(-2px); box-shadow: var(--vlg-shadow-soft); }
.vlg-category-card img { width: 90px; height: 90px; object-fit: contain; }
.vlg-category-card strong { display: block; color: #172033; line-height: 1.2; }
.vlg-category-card small { display: block; margin: 5px 0; color: var(--vlg-muted); font-size: 13px; }
.vlg-category-card span { display: inline-block; color: var(--vlg-dark); font-size: 13px; font-weight: 900; }

/* Product cards */
ul.products, .vlg-products-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; }
ul.products::before, ul.products::after { display: none !important; }
.vlg-product-card.product { float: none !important; width: auto !important; margin: 0 !important; }
.vlg-product-card { position: relative; display: flex; flex-direction: column; min-height: 100%; background: #fff; border: 1px solid var(--vlg-line); border-radius: 16px; overflow: hidden; box-shadow: 0 8px 26px rgba(17, 32, 55, .05); transition: transform .18s ease, box-shadow .18s ease; }
.vlg-product-card:hover { transform: translateY(-3px); box-shadow: var(--vlg-shadow-soft); }
.vlg-product-link { display: flex; flex-direction: column; color: inherit; min-height: 100%; }
.vlg-card-image-wrap { position: relative; display: grid; place-items: center; aspect-ratio: 1.18 / 1; background: radial-gradient(circle at center, #fff 0%, #f8fafc 60%, #f1f5f9 100%); padding: 18px; }
.vlg-card-image-wrap img { max-height: 190px; width: auto; object-fit: contain; transition: transform .22s ease; }
.vlg-product-card:hover .vlg-card-image-wrap img { transform: scale(1.035); }
.vlg-sale-badge, .onsale.vlg-sale-badge { position: absolute !important; left: 12px !important; top: 12px !important; min-height: auto !important; min-width: auto !important; line-height: 1 !important; padding: 8px 10px !important; border-radius: 999px !important; background: var(--vlg-primary) !important; color: #fff !important; font-weight: 900 !important; font-size: 12px !important; z-index: 3; }
.vlg-card-content { padding: 14px 16px 6px; flex: 1; }
.vlg-card-category { display: inline-block; color: var(--vlg-primary); font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 6px; }
.vlg-card-content h2, .woocommerce-loop-product__title { margin: 0 0 8px !important; padding: 0 !important; font-size: 16px !important; color: #172033; line-height: 1.25; font-weight: 900; min-height: 40px; }
.vlg-card-rating { min-height: 16px; margin-bottom: 6px; }
.star-rating { color: var(--vlg-primary); font-size: 12px; }
.vlg-card-price, .vlg-card-price .price { font-weight: 900; color: var(--vlg-primary); }
.vlg-card-price del { color: var(--vlg-muted); font-size: 12px; margin-right: 6px; }
.vlg-card-price ins { text-decoration: none; }
.vlg-card-actions { padding: 10px 16px 16px; margin-top: auto; }
.vlg-card-cart, .vlg-card-actions .button, a.added_to_cart { width: 100%; display: inline-flex !important; justify-content: center; align-items: center; border: 0 !important; border-radius: 12px !important; background: linear-gradient(135deg, var(--vlg-primary), #d96b00) !important; color: #fff !important; padding: 11px 12px !important; font-weight: 900 !important; line-height: 1.1 !important; }
a.added_to_cart { margin-top: 8px; }

/* Shop */
.vlg-shop-page, .vlg-single-product-page, .vlg-page-wrap, .vlg-content-layout { padding: 24px 0 48px; }
.vlg-breadcrumbs { color: var(--vlg-muted); font-size: 14px; margin: 0 0 16px; }
.vlg-breadcrumbs a { color: #566276; }
.vlg-shop-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 18px; background: #fff; border: 1px solid var(--vlg-line); border-radius: 18px; padding: 24px; box-shadow: 0 8px 26px rgba(17,32,55,.04); }
.vlg-shop-head h1 { font-size: clamp(28px, 3vw, 44px); margin: 0; line-height: 1.05; letter-spacing: -.04em; }
.vlg-shop-head .term-description { color: var(--vlg-muted); max-width: 720px; }
.vlg-shop-tools { display: flex; align-items: center; gap: 16px; }
.woocommerce-result-count { color: var(--vlg-muted); margin: 0 !important; font-size: 14px; }
.woocommerce-ordering { margin: 0 !important; }
.woocommerce-ordering select { border: 1px solid var(--vlg-line); border-radius: 12px; padding: 10px 36px 10px 12px; background: #fff; color: #263247; }
.vlg-shop-layout { display: grid; grid-template-columns: 270px minmax(0,1fr); gap: 24px; align-items: start; }
.vlg-shop-sidebar { display: grid; gap: 16px; }
.vlg-widget { background: #fff; border: 1px solid var(--vlg-line); border-radius: 16px; padding: 18px; box-shadow: 0 8px 24px rgba(17,32,55,.04); }
.vlg-widget h3, .vlg-widget-title { margin: 0 0 12px; font-size: 18px; line-height: 1.2; }
.vlg-shop-products ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.woocommerce-pagination { margin-top: 28px; }
.woocommerce-pagination ul { border: 0 !important; display: flex; gap: 8px; justify-content: center; }
.woocommerce-pagination li { border: 0 !important; }
.woocommerce-pagination a, .woocommerce-pagination span { border-radius: 10px; background: #fff; border: 1px solid var(--vlg-line); color: var(--vlg-text); padding: 10px 14px !important; min-width: 42px; text-align: center; }
.woocommerce-pagination span.current { background: var(--vlg-dark); color: #fff; }

/* Single product */
.vlg-product-main-grid { display: grid; grid-template-columns: minmax(360px, 1.05fr) minmax(360px, .95fr) 270px; gap: 18px; align-items: stretch; }
.vlg-product-gallery-card, .vlg-product-summary-card, .vlg-product-sidecard { background: #fff; border: 1px solid var(--vlg-line); border-radius: 20px; box-shadow: 0 12px 34px rgba(17,32,55,.06); }
.vlg-product-gallery-card { position: relative; padding: 24px; min-height: 480px; display: grid; align-items: center; }
.vlg-product-gallery-card .woocommerce-product-gallery { width: 100% !important; float: none !important; margin: 0 !important; }
.vlg-product-gallery-card .woocommerce-product-gallery__image { text-align: center; }
.vlg-product-gallery-card .woocommerce-product-gallery__image img { margin: 0 auto; max-height: 420px; object-fit: contain; }
.vlg-product-gallery-card .flex-control-thumbs { display: flex; gap: 10px; padding: 12px 0 0 !important; margin: 0 !important; }
.vlg-product-gallery-card .flex-control-thumbs li { width: 72px !important; border: 1px solid var(--vlg-line); border-radius: 10px; overflow: hidden; padding: 4px; }
.vlg-product-summary-card { padding: 28px; }
.vlg-pill { display: inline-flex; padding: 6px 10px; border-radius: 999px; background: #fff1df; color: var(--vlg-primary); text-transform: uppercase; font-weight: 900; font-size: 12px; letter-spacing: .08em; margin-bottom: 10px; }
.vlg-product-summary-card h1 { margin: 0 0 10px; font-size: clamp(27px, 3.1vw, 42px); line-height: 1.06; letter-spacing: -.045em; }
.vlg-product-rating-row { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; margin: 6px 0 14px; }
.vlg-product-rating-row .woocommerce-product-rating { margin: 0 !important; display: flex; gap: 8px; align-items: center; }
.vlg-stock-ok { color: #16a34a; font-weight: 900; }
.vlg-product-price .price, .vlg-product-price p.price { color: var(--vlg-primary); font-size: 28px !important; font-weight: 900; margin: 8px 0; }
.vlg-product-price del { color: var(--vlg-muted); font-size: 17px; }
.vlg-product-price ins { text-decoration: none; }
.vlg-product-excerpt { color: var(--vlg-muted); margin: 14px 0; }
.vlg-product-specs { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; margin: 18px 0; }
.vlg-product-specs div { background: #f8fafc; border: 1px solid var(--vlg-line); border-radius: 12px; padding: 10px 12px; }
.vlg-product-specs span { display: block; color: var(--vlg-muted); font-size: 12px; }
.vlg-product-specs strong { color: #172033; }
.vlg-product-buybox { margin: 18px 0; display: grid; gap: 12px; }
.vlg-product-buybox form.cart { display: flex; gap: 10px; margin: 0 !important; flex-wrap: wrap; }
.quantity .qty { height: 48px; width: 78px !important; border: 1px solid var(--vlg-line); border-radius: 12px; text-align: center; font-weight: 900; }
.single_add_to_cart_button { flex: 1; min-width: 210px; border-radius: 999px !important; border: 0 !important; background: linear-gradient(135deg, var(--vlg-primary), #d96b00) !important; color: #fff !important; font-weight: 900 !important; min-height: 48px; box-shadow: 0 14px 24px rgba(242,138,0,.20); }
.product_meta { color: var(--vlg-muted); font-size: 13px; display: grid; gap: 6px; }
.product_meta a { font-weight: 800; color: #263247; }
.vlg-product-sidecard { padding: 20px; align-self: start; }
.vlg-side-feature { display: grid; grid-template-columns: 44px 1fr; gap: 12px; align-items: start; padding: 14px 0; border-bottom: 1px solid var(--vlg-line); }
.vlg-side-feature > span { width: 44px; height: 44px; border-radius: 50%; background: #f1f5f9; display: grid; place-items: center; }
.vlg-side-feature strong { display: block; line-height: 1.2; }
.vlg-side-feature small { color: var(--vlg-muted); }
.vlg-payment-badges { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 16px; }
.vlg-payment-badges span { display: inline-flex; align-items: center; min-height: 28px; padding: 4px 9px; border-radius: 7px; background: #fff; border: 1px solid #dbe3ef; box-shadow: 0 4px 12px rgba(17,32,55,.05); color: #172033; font-size: 12px; font-weight: 900; }
.vlg-product-tabs { margin: 18px 0 24px; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 14px; }
.vlg-product-tab { background: #fff; border: 1px solid var(--vlg-line); border-radius: 16px; box-shadow: 0 8px 24px rgba(17,32,55,.04); overflow: hidden; }
.vlg-product-tab summary { cursor: pointer; padding: 18px 22px; font-weight: 900; list-style: none; display: flex; justify-content: space-between; }
.vlg-product-tab summary::-webkit-details-marker { display: none; }
.vlg-product-tab summary::after { content: '⌄'; color: var(--vlg-muted); }
.vlg-product-tab[open] summary::after { transform: rotate(180deg); }
.vlg-tab-content { padding: 0 22px 22px; color: #3f4b5f; }
.related.products, .up-sells.products { margin-top: 28px; }
.related.products > h2, .up-sells.products > h2 { margin: 0 0 14px; letter-spacing: -.035em; }

/* Content pages */
.vlg-page-card, .vlg-post-card, .vlg-page-content { background: #fff; border: 1px solid var(--vlg-line); border-radius: 18px; padding: 28px; box-shadow: 0 8px 24px rgba(17,32,55,.04); }
.vlg-page-card h1 { margin-top: 0; font-size: clamp(30px, 4vw, 48px); letter-spacing: -.04em; line-height: 1.05; }
.vlg-entry-content a, .vlg-page-content a { color: var(--vlg-primary); font-weight: 800; }
.vlg-post-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.vlg-post-card img { width: 100%; border-radius: 14px; aspect-ratio: 16 / 10; object-fit: cover; }
.vlg-post-card h2 { line-height: 1.15; letter-spacing: -.03em; }
.vlg-text-link { font-weight: 900; color: var(--vlg-primary); }
.vlg-empty { background: #fff; border: 1px solid var(--vlg-line); border-radius: 18px; padding: 32px; }

/* Footer */
.vlg-footer { position: relative; overflow: hidden; background: radial-gradient(circle at 0% 100%, rgba(242,138,0,.28) 0%, transparent 28%), linear-gradient(180deg, #071224 0%, #06101f 100%); color: #e7edf6; margin-top: 36px; padding: 42px 0 18px; }
.vlg-footer::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 18% 0%, rgba(255,255,255,.06), transparent 36%); pointer-events: none; }
.vlg-footer > .vlg-container { position: relative; z-index: 1; }
.vlg-footer-grid { display: grid; grid-template-columns: 1.35fr .85fr .85fr .95fr; gap: 52px; padding-bottom: 34px; border-bottom: 1px solid rgba(255,255,255,.10); }
.vlg-footer .vlg-logo-fallback { color: #fff; }
.vlg-footer .vlg-logo-bulb { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.55); }
.vlg-footer p, .vlg-footer li, .vlg-footer small { color: #cbd5e1; }
.vlg-footer h3 { margin: 0 0 14px; font-size: 14px; text-transform: uppercase; letter-spacing: .15em; color: #fff; }
.vlg-footer-menu { display: grid; gap: 8px; }
.vlg-footer-menu a { color: #cbd5e1; }
.vlg-footer-menu a:hover { color: var(--vlg-primary-2); }
.vlg-socials { display: flex; gap: 10px; margin-top: 18px; }
.vlg-socials a { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; color: #fff; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.06); font-weight: 900; }
.vlg-socials a:hover { background: var(--vlg-primary); color: #fff; }
.vlg-footer-bottom { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 20px; padding-top: 18px; color: #aebbd0; font-size: 13px; }

/* Admin page */
.vlg-admin-wrap { max-width: 1180px; }
.vlg-admin-hero { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin: 20px 0; padding: 24px; border-radius: 18px; background: linear-gradient(135deg, var(--vlg-dark), #10223d); color: #fff; box-shadow: var(--vlg-shadow-soft); }
.vlg-admin-hero h1 { margin: 4px 0; color: #fff; font-size: 34px; line-height: 1; }
.vlg-admin-hero p { margin: 0; color: #d5deeb; max-width: 760px; }
.vlg-admin-kicker { color: var(--vlg-primary-2); font-weight: 900; text-transform: uppercase; letter-spacing: .12em; font-size: 12px; }
.vlg-admin-card { background: #fff; border: 1px solid #dce3ee; border-radius: 16px; margin: 14px 0; box-shadow: 0 8px 24px rgba(17,32,55,.04); overflow: hidden; }
.vlg-admin-card summary { cursor: pointer; padding: 18px 20px; font-weight: 900; font-size: 16px; background: #f8fafc; }
.vlg-admin-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; padding: 18px 20px; }
.vlg-admin-field { display: grid; gap: 7px; }
.vlg-admin-field-wide { grid-column: 1 / -1; }
.vlg-admin-field span { font-weight: 800; color: #172033; }
.vlg-admin-field input[type="text"], .vlg-admin-field input[type="url"], .vlg-admin-field input[type="email"], .vlg-admin-field input[type="color"], .vlg-admin-field textarea { width: 100%; max-width: none; border: 1px solid #dce3ee; border-radius: 10px; padding: 10px 12px; }
.vlg-admin-field input[type="color"] { height: 44px; padding: 4px; }
.vlg-admin-field small, .vlg-admin-card .description { color: #697589; }
.vlg-admin-checkbox { grid-template-columns: auto 1fr; align-items: center; align-content: center; padding-top: 23px; }
.vlg-media-row { display: flex; gap: 8px; }
.vlg-media-preview { margin-top: 10px; max-width: 340px; border-radius: 12px; border: 1px solid #dce3ee; }

/* Responsive */
@media (max-width: 1200px) {
  .vlg-main-header-inner { grid-template-columns: auto 1fr; gap: 20px; }
  .vlg-header-search { grid-column: 1 / -1; order: 3; }
  .vlg-brand { min-width: 0; }
  .vlg-category-grid { grid-template-columns: repeat(3, 1fr); }
  .vlg-product-main-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .vlg-product-sidecard { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 0 18px; }
  .vlg-payment-badges { grid-column: 1 / -1; }
  .vlg-shop-products ul.products, ul.products, .vlg-products-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .vlg-container { width: min(100% - 28px, var(--vlg-container)); }
  .vlg-topbar-inner { justify-content: center; text-align: center; }
  .vlg-topbar-contact { display: none; }
  .vlg-main-header-inner { min-height: 78px; grid-template-columns: auto 1fr; }
  .vlg-mobile-toggle { display: grid; place-items: center; }
  .vlg-header-actions { justify-content: flex-end; gap: 10px; }
  .vlg-account-link span:not(.vlg-icon), .vlg-wishlist-link span:not(.vlg-icon):not(.vlg-badge), .vlg-cart-link .vlg-link-label, .vlg-cart-link strong { display: none; }
  .vlg-nav { display: none; }
  .vlg-nav.is-open { display: block; }
  .vlg-nav-inner { align-items: stretch; flex-direction: column; padding: 14px 0; }
  .vlg-category-button { width: 100%; justify-content: space-between; }
  .vlg-category-dropdown { position: static; width: 100%; display: block; margin-top: 8px; box-shadow: none; }
  .vlg-primary-menu { flex-direction: column; align-items: stretch; gap: 4px; }
  .vlg-primary-menu a { display: block; padding: 10px 0; }
  .vlg-hero { grid-template-columns: 1fr; padding: 32px 24px; }
  .vlg-hero-benefits { max-width: 420px; }
  .vlg-trust-grid { grid-template-columns: repeat(2, 1fr); }
  .vlg-category-grid { grid-template-columns: repeat(2, 1fr); }
  .vlg-shop-layout { grid-template-columns: 1fr; }
  .vlg-shop-sidebar { order: 2; }
  .vlg-shop-head { display: grid; }
  .vlg-product-main-grid { grid-template-columns: 1fr; }
  .vlg-product-sidecard { display: block; }
  .vlg-product-tabs { grid-template-columns: 1fr; }
  .vlg-footer-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 28px; }
  .vlg-footer-bottom { flex-direction: column; }
  .vlg-post-list { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .vlg-logo-text strong { font-size: 20px; }
  .vlg-logo-bulb { width: 46px; height: 46px; font-size: 23px; }
  .vlg-header-actions .vlg-icon { font-size: 22px; }
  .vlg-search { border-radius: 14px; padding-left: 12px; }
  .vlg-search button { padding: 10px 15px; }
  .vlg-hero h1 { font-size: 34px; }
  .vlg-trust-grid, .vlg-category-grid, .vlg-shop-products ul.products, ul.products, .vlg-products-grid, .vlg-footer-grid, .vlg-admin-grid { grid-template-columns: 1fr; }
  .vlg-category-card { grid-template-columns: 76px 1fr; }
  .vlg-category-card img { width: 76px; height: 76px; }
  .vlg-product-specs { grid-template-columns: 1fr; }
  .vlg-product-gallery-card, .vlg-product-summary-card { padding: 18px; }
  .vlg-footer { padding-top: 32px; }
}

/* Header refinement to match provided layout */
.vlg-topbar-inner { justify-content: space-between; }
.vlg-topbar-inner > span { display: inline-flex; align-items: center; gap: 16px; }
.vlg-main-header-inner {
  min-height: 92px;
  display: grid;
  grid-template-columns: auto minmax(420px, 1fr) auto;
  gap: 34px;
  align-items: center;
}
.vlg-header-brand-row { display: flex; align-items: center; gap: 22px; min-width: 0; }
.vlg-menu-trigger,
.vlg-mobile-toggle {
  width: 52px;
  height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--vlg-line);
  border-radius: 14px;
  background: #fff;
  color: var(--vlg-dark);
  box-shadow: 0 8px 22px rgba(17,32,55,.06);
  cursor: pointer;
  font-size: 22px;
  flex: 0 0 auto;
}
.vlg-mobile-toggle { display: none; }
.vlg-brand { min-width: 0; }
.vlg-brand .custom-logo-link,
.vlg-brand .vlg-logo-fallback { display: flex; align-items: center; }
.vlg-header-actions { gap: 24px; justify-content: flex-end; }
.vlg-header-actions a { white-space: nowrap; }
.vlg-nav { background: #fff; border-top: 1px solid var(--vlg-line); border-bottom: 1px solid var(--vlg-line); }
.vlg-nav-inner { min-height: 68px; display: flex; align-items: center; gap: 36px; }
.vlg-category-button {
  min-width: 272px;
  min-height: 54px;
  justify-content: space-between;
  border-radius: 14px;
  background: linear-gradient(180deg, #08152a 0%, #06101f 100%);
}
.vlg-category-button span { flex: 1; text-align: left; }
.vlg-category-button::before { content: '☰'; font-size: 18px; line-height: 1; }
.vlg-category-button::after { content: '⌄'; font-size: 15px; opacity: .92; }
.vlg-primary-menu {
  display: flex;
  align-items: center;
  gap: 38px;
  flex-wrap: nowrap;
}
.vlg-primary-menu,
.vlg-primary-menu ul { list-style: none; margin: 0; padding: 0; }
.vlg-primary-menu > li { position: relative; }
.vlg-primary-menu > li > a {
  display: inline-flex;
  align-items: center;
  min-height: 68px;
  font-size: 16px;
  font-weight: 800;
  color: #1b2740;
}
.vlg-primary-menu > .menu-item-has-children > a::after {
  content: '⌄';
  font-size: 12px;
  color: #68758a;
  margin-left: 10px;
}
.vlg-primary-menu .sub-menu {
  position: absolute;
  top: calc(100% - 8px);
  left: 0;
  min-width: 250px;
  background: #fff;
  border: 1px solid var(--vlg-line);
  border-radius: 16px;
  box-shadow: 0 18px 45px rgba(17,32,55,.12);
  padding: 10px;
  display: none;
  z-index: 80;
}
.vlg-primary-menu .sub-menu li { display: block; }
.vlg-primary-menu .sub-menu a {
  display: block;
  padding: 12px 14px;
  border-radius: 12px;
  font-weight: 700;
  color: #1f2b42;
  white-space: nowrap;
}
.vlg-primary-menu .sub-menu a:hover { background: #fff5e8; color: var(--vlg-primary); }
.vlg-primary-menu > li:hover > .sub-menu,
.vlg-primary-menu > li:focus-within > .sub-menu { display: block; }

@media (max-width: 1200px) {
  .vlg-main-header-inner { grid-template-columns: 1fr auto; gap: 20px; }
  .vlg-header-search { grid-column: 1 / -1; order: 3; }
  .vlg-menu-trigger { display: none; }
  .vlg-mobile-toggle { display: inline-flex; }
  .vlg-nav { display: none; }
  .vlg-nav.is-open { display: block; }
  .vlg-nav-inner { min-height: 0; padding: 14px 0; flex-direction: column; align-items: stretch; gap: 16px; }
  .vlg-category-button { width: 100%; min-width: 0; }
  .vlg-primary-menu { display: grid; gap: 0; }
  .vlg-primary-menu > li > a { min-height: 44px; }
  .vlg-primary-menu .sub-menu { position: static; display: block; box-shadow: none; border: 0; padding: 0 0 0 14px; margin-bottom: 8px; }
}

@media (max-width: 767px) {
  .vlg-header-actions { gap: 14px; }
  .vlg-header-actions a span:not(.vlg-icon):not(.vlg-badge) { display: none; }
  .vlg-topbar-inner { flex-direction: column; justify-content: center; align-items: flex-start; padding: 8px 0; }
}

/* More accurate header / navigation polish */
.vlg-site-header {
  background: #fff;
}
.vlg-topbar {
  background: linear-gradient(180deg, #04101f 0%, #061427 100%);
}
.vlg-topbar-inner {
  min-height: 36px;
  font-size: 13px;
  letter-spacing: .01em;
}
.vlg-topbar-inner > span::before {
  content: '⚡';
  color: var(--vlg-primary);
  margin-right: 10px;
}
.vlg-topbar-contact a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.vlg-main-header {
  background: #fff;
}
.vlg-brand img.custom-logo {
  max-height: 78px;
}
.vlg-search {
  min-height: 58px;
  padding-left: 18px;
}
.vlg-search button {
  min-width: 90px;
  min-height: 46px;
}
.vlg-header-actions .vlg-account-link,
.vlg-header-actions .vlg-wishlist-link,
.vlg-header-actions .vlg-cart-link {
  min-height: 46px;
}
.vlg-nav-inner {
  justify-content: flex-start;
}
.vlg-primary-menu > li.current-menu-item > a,
.vlg-primary-menu > li.current_page_item > a {
  color: var(--vlg-primary);
}
.vlg-primary-menu > li > a:hover {
  color: var(--vlg-primary);
}
.vlg-category-dropdown {
  top: calc(100% + 8px);
}
.vlg-category-dropdown:empty {
  display: none !important;
}

@media (max-width: 991px) {
  .vlg-header-actions {
    gap: 12px;
  }
  .vlg-header-actions a {
    font-size: 13px;
  }
}

/* Full admin / managed section additions */
.vlg-campaign-section .vlg-section-head h2 { margin-top: 4px; }
.vlg-campaign-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.vlg-campaign-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vlg-campaign-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.vlg-campaign-card { min-height: 172px; display: grid; grid-template-columns: minmax(0, 1fr) 104px; align-items: center; gap: 14px; padding: 20px; background: #fff; border: 1px solid var(--vlg-line); border-radius: var(--vlg-radius); box-shadow: 0 10px 30px rgba(17,32,55,.06); overflow: hidden; }
.vlg-campaign-card:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(17,32,55,.10); }
.vlg-campaign-copy { display: grid; gap: 5px; }
.vlg-campaign-copy > span { color: var(--vlg-primary); font-weight: 900; text-transform: uppercase; font-size: 11px; letter-spacing: .12em; }
.vlg-campaign-copy strong { font-size: 18px; line-height: 1.15; color: var(--vlg-text); }
.vlg-campaign-copy small { color: var(--vlg-muted); }
.vlg-campaign-copy em { color: var(--vlg-primary); font-style: normal; font-weight: 900; margin-top: 4px; }
.vlg-campaign-card img { max-height: 120px; object-fit: contain; justify-self: end; }
.vlg-newsletter { margin: 24px 0; padding: 28px; display: grid; grid-template-columns: minmax(0,1fr) minmax(320px,.7fr); gap: 22px; align-items: center; background: linear-gradient(135deg, #071224 0%, #10233d 100%); color: #fff; border-radius: var(--vlg-radius); box-shadow: var(--vlg-shadow-soft); }
.vlg-newsletter h2 { margin: 0 0 6px; font-size: clamp(26px, 3vw, 38px); letter-spacing: -.04em; }
.vlg-newsletter p { margin: 0; color: #cbd5e1; }
.vlg-newsletter form { display: flex; gap: 10px; }
.vlg-newsletter input { flex: 1; min-width: 0; border: 1px solid rgba(255,255,255,.20); background: rgba(255,255,255,.08); color: #fff; border-radius: 999px; padding: 13px 16px; outline: none; }
.vlg-newsletter input::placeholder { color: #b9c3d4; }
.vlg-newsletter button { border: 0; border-radius: 999px; padding: 13px 24px; background: linear-gradient(135deg, var(--vlg-primary), #d96b00); color: #fff; font-weight: 900; cursor: pointer; }
.vlg-shop-layout-no-sidebar { grid-template-columns: 1fr !important; }
.vlg-code-textarea { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace; }
.vlg-admin-field select,
.vlg-admin-field input[type="number"] { width: 100%; max-width: none; border: 1px solid #dce3ee; border-radius: 10px; padding: 10px 12px; }
.vlg-admin-card .description { padding: 0 20px 18px; }
.vlg-admin-checkbox small { grid-column: 2; }

@media (max-width: 1100px) {
  .vlg-campaign-grid, .vlg-campaign-cols-3, .vlg-campaign-cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vlg-newsletter { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .vlg-campaign-grid, .vlg-campaign-cols-2, .vlg-campaign-cols-3, .vlg-campaign-cols-4 { grid-template-columns: 1fr; }
  .vlg-campaign-card { grid-template-columns: 1fr 80px; }
  .vlg-newsletter form { flex-direction: column; }
}

/* v1.3.0 refinements */
body {
  color: var(--vlg-text, #172033);
  background: var(--vlg-soft, var(--vlg-body-bg, #f8fafc));
  font-family: var(--vlg-font, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
}
.vlg-container {
  max-width: var(--vlg-container, 1320px);
}
.vlg-category-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.vlg-category-card {
  grid-template-columns: 88px minmax(0, 1fr);
  overflow: hidden;
  background: var(--vlg-card, var(--vlg-card-bg, #fff));
}
.vlg-category-card > div,
.vlg-product-main-grid > section,
.vlg-product-main-grid > aside,
.vlg-product-summary-card,
.vlg-product-tabs,
.vlg-product-tab,
.vlg-shop-products,
.vlg-shop-layout,
.vlg-shop-head > div {
  min-width: 0;
}
.vlg-category-card strong,
.vlg-category-card small,
.vlg-category-card span,
.vlg-product-summary-card .product_title,
.vlg-product-meta,
.vlg-product-excerpt,
.vlg-side-feature small,
.vlg-side-feature strong {
  overflow-wrap: anywhere;
  word-break: break-word;
}
.vlg-category-card strong {
  font-size: 16px;
}
.vlg-product-main-grid {
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr) minmax(220px, 260px);
  align-items: start;
}
.vlg-product-summary-card .product_title {
  font-size: clamp(28px, 2.2vw, 42px);
  line-height: 1.08;
}
.vlg-product-gallery-card,
.vlg-product-summary-card,
.vlg-product-sidecard,
.vlg-product-tabs,
.vlg-category-card,
.vlg-campaign-card,
.vlg-admin-card,
.vlg-trust-item,
.vlg-widget,
.vlg-product-card {
  border-radius: var(--vlg-radius, 18px);
  background: var(--vlg-card, var(--vlg-card-bg, #fff));
}
.vlg-product-gallery-card .woocommerce-product-gallery__image a,
.vlg-product-gallery-card .woocommerce-product-gallery__trigger,
.vlg-product-gallery-card .flex-viewport {
  cursor: zoom-in;
}
.vlg-product-gallery-card .woocommerce-product-gallery__trigger {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  box-shadow: 0 10px 26px rgba(17,32,55,.12);
}
.vlg-product-gallery-card .flex-control-thumbs {
  flex-wrap: wrap;
}
.vlg-product-gallery-card .flex-control-thumbs li {
  flex: 0 0 72px;
}
.vlg-product-tabs {
  overflow: hidden;
}
.vlg-payment-badges {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.vlg-payment-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 5px 10px;
  border-radius: 8px;
  background: #fff;
  border: 1px solid var(--vlg-line);
  color: #12213d;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
}
.vlg-payment-badge.is-image {
  padding: 5px 8px;
}
.vlg-payment-badge.is-image img {
  display: block;
  max-height: 20px;
  width: auto;
  max-width: 78px;
  object-fit: contain;
}
.vlg-admin-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}
.vlg-admin-hero-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.vlg-admin-tabs {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 0 0 18px;
}
.vlg-admin-tab {
  appearance: none;
  border: 1px solid #d9e1ea;
  background: #fff;
  border-radius: 999px;
  padding: 11px 16px;
  font-weight: 700;
  color: #20304a;
  cursor: pointer;
}
.vlg-admin-tab.is-active {
  background: var(--vlg-dark, #071224);
  color: #fff;
  border-color: var(--vlg-dark, #071224);
}
.vlg-admin-panel {
  display: none;
}
.vlg-admin-panel.is-active {
  display: block;
}
.vlg-admin-panel-head {
  margin-bottom: 16px;
}
.vlg-admin-panel-head h2 {
  margin: 0 0 6px;
  font-size: 24px;
}
.vlg-admin-panel-head p {
  margin: 0;
  color: #5f6f86;
}
.vlg-admin-callout {
  background: #fff7ea;
  border: 1px solid #ffd79d;
  border-radius: 16px;
  padding: 16px 18px;
}
.vlg-admin-callout p {
  margin-bottom: 0;
}
.vlg-admin-submitbar {
  position: sticky;
  bottom: 12px;
  z-index: 20;
  display: flex;
  justify-content: flex-end;
  margin-top: 20px;
  padding: 12px;
  border: 1px solid var(--vlg-line);
  border-radius: 18px;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(8px);
}
@media (max-width: 1360px) {
  .vlg-product-main-grid {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 1fr);
  }
  .vlg-product-sidecard {
    grid-column: 1 / -1;
  }
}
@media (max-width: 1199px) {
  .vlg-category-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 991px) {
  .vlg-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .vlg-product-main-grid {
    grid-template-columns: 1fr;
  }
  .vlg-admin-hero {
    flex-direction: column;
  }
}
@media (max-width: 640px) {
  .vlg-category-grid {
    grid-template-columns: 1fr;
  }
  .vlg-category-card {
    grid-template-columns: 72px minmax(0, 1fr);
  }
  .vlg-category-card img {
    width: 72px;
    height: 72px;
  }
}

/* v1.4.0 commerce/admin refinements */
.vlg-card-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 0 16px 16px;
}
.vlg-card-actions .vlg-card-cart,
.vlg-card-actions .added_to_cart {
  width: 100%;
  min-height: 42px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 999px !important;
  background: linear-gradient(135deg, var(--vlg-primary), #d96b00) !important;
  color: #fff !important;
  border: 0 !important;
  font-weight: 900 !important;
  text-align: center;
  box-shadow: 0 10px 22px rgba(242,138,0,.18);
}
.vlg-card-actions .added_to_cart {
  background: var(--vlg-dark) !important;
}
.vlg-product-card .ajax_add_to_cart.loading {
  opacity: .65;
}
.vlg-product-card .ajax_add_to_cart.added {
  background: #16a34a !important;
}
.vlg-energy-badge {
  display: inline-grid;
  grid-template-columns: auto auto;
  align-items: center;
  gap: 7px;
  width: max-content;
  max-width: 100%;
  border-radius: 8px;
  padding: 5px 8px;
  background: #edf7ef;
  color: #0f5132;
  border-left: 6px solid #17a34a;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
}
.vlg-energy-badge span {
  color: inherit;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .05em;
  opacity: .82;
}
.vlg-energy-badge strong {
  font-size: 16px;
  color: inherit;
}
.vlg-energy-aplus,
.vlg-energy-aplusplus,
.vlg-energy-aplusplusplus,
.vlg-energy-a { background: #eaf8ef; color: #0f6b36; border-left-color: #129447; }
.vlg-energy-b { background: #f2fae8; color: #587000; border-left-color: #8bc34a; }
.vlg-energy-c { background: #fffbe6; color: #806400; border-left-color: #facc15; }
.vlg-energy-d { background: #fff2db; color: #9a5800; border-left-color: #fb923c; }
.vlg-energy-e,
.vlg-energy-f,
.vlg-energy-g { background: #fff0ed; color: #9f1d1d; border-left-color: #ef4444; }
.vlg-energy-panel {
  margin: 14px 0 16px;
  padding: 14px;
  border: 1px solid var(--vlg-line);
  border-radius: 16px;
  background: #f8fafc;
  display: grid;
  gap: 12px;
}
.vlg-energy-panel-head {
  display: flex;
  align-items: center;
  gap: 12px;
}
.vlg-energy-panel-head div strong,
.vlg-energy-panel-head div small {
  display: block;
}
.vlg-energy-panel-head div small {
  color: var(--vlg-muted);
}
.vlg-energy-image-link img {
  max-height: 170px;
  width: auto;
  display: block;
  border-radius: 10px;
  border: 1px solid var(--vlg-line);
  background: #fff;
}
.vlg-energy-fiche {
  color: var(--vlg-primary);
  font-weight: 900;
}
.vlg-hero-payments {
  margin-top: 18px;
}
.vlg-hero-payments .vlg-payment-badges {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  padding: 10px;
  width: fit-content;
  max-width: 100%;
}
.vlg-hero-payments .vlg-payment-badge:not(.is-image) {
  min-height: 28px;
}
.vlg-section-sorter-field {
  border: 1px solid #e1e8f2;
  border-radius: 18px;
  padding: 18px;
  background: linear-gradient(180deg, #fff, #f8fafc);
}
.vlg-section-sorter {
  display: grid;
  gap: 10px;
  margin: 12px 0 8px;
  padding: 0;
  list-style: none;
  max-width: 620px;
}
.vlg-section-sorter li {
  display: grid;
  grid-template-columns: 32px 1fr auto;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  border: 1px solid #dce5f1;
  border-radius: 14px;
  background: #fff;
  padding: 10px 14px;
  font-weight: 900;
  color: #172033;
  box-shadow: 0 6px 18px rgba(15, 31, 53, .05);
}
.vlg-section-sorter li small {
  color: #8a98aa;
  font-weight: 700;
}
.vlg-section-sorter .dashicons-move {
  color: var(--vlg-primary);
  cursor: grab;
}
.vlg-section-sorter li.is-dragging {
  opacity: .65;
}
.vlg-admin-wrap {
  --vlg-admin-border: #dfe7f1;
  --vlg-admin-bg: #f4f7fb;
}
.vlg-admin-wrap .vlg-admin-hero {
  background: radial-gradient(circle at 0 0, rgba(242,138,0,.22), transparent 34%), linear-gradient(135deg, #08152a, #0d1d35 60%, #06101f);
  border: 1px solid rgba(255,255,255,.12);
}
.vlg-admin-tabs {
  position: sticky;
  top: 32px;
  z-index: 30;
  padding: 10px;
  background: rgba(248,250,252,.88);
  backdrop-filter: blur(10px);
  border: 1px solid var(--vlg-admin-border);
  border-radius: 18px;
  box-shadow: 0 14px 36px rgba(15,31,53,.08);
}
.vlg-admin-tab {
  box-shadow: inset 0 -1px 0 rgba(15,31,53,.04);
}
.vlg-admin-tab:hover {
  border-color: var(--vlg-primary);
  color: var(--vlg-primary);
}
.vlg-admin-tab.is-active:hover {
  color: #fff;
}
.vlg-admin-panel {
  animation: vlgAdminFade .18s ease;
}
@keyframes vlgAdminFade { from { opacity: .4; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
.vlg-admin-card {
  border: 1px solid var(--vlg-admin-border) !important;
  box-shadow: 0 12px 32px rgba(15,31,53,.06) !important;
}
.vlg-admin-card summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: linear-gradient(180deg, #ffffff, #f8fafc) !important;
}
.vlg-admin-card summary::after {
  content: '⌄';
  color: #7b8aa0;
}
.vlg-admin-card[open] summary::after {
  transform: rotate(180deg);
}
.vlg-admin-field input[type="text"],
.vlg-admin-field input[type="url"],
.vlg-admin-field input[type="email"],
.vlg-admin-field input[type="number"],
.vlg-admin-field select,
.vlg-admin-field textarea {
  border-color: #dce5f1 !important;
  border-radius: 12px !important;
  min-height: 42px;
  box-shadow: 0 1px 0 rgba(15,31,53,.04) !important;
}
.vlg-admin-field input:focus,
.vlg-admin-field select:focus,
.vlg-admin-field textarea:focus {
  border-color: var(--vlg-primary) !important;
  box-shadow: 0 0 0 3px rgba(242,138,0,.14) !important;
}
@media (max-width: 767px) {
  .vlg-admin-tabs {
    position: static;
  }
  .vlg-section-sorter li {
    grid-template-columns: 28px 1fr;
  }
  .vlg-section-sorter li small {
    grid-column: 2;
  }
}

/* v1.4.1 layout and UX refinements */
.vlg-menu-trigger { display: none !important; }

.vlg-main-header-inner {
  grid-template-columns: auto minmax(320px, 1fr) auto;
}
.vlg-header-brand-row {
  gap: 16px;
}

/* Better shop/category page styling */
.vlg-shop-layout {
  gap: 28px;
}
.vlg-shop-sidebar {
  display: grid;
  gap: 18px;
  position: sticky;
  top: 128px;
}
.vlg-widget {
  border-radius: 18px;
  padding: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 14px 34px rgba(17,32,55,.06);
}
.vlg-widget h3,
.vlg-widget-title {
  font-size: 17px;
  font-weight: 900;
  color: var(--vlg-dark);
  margin-bottom: 14px;
}
.vlg-widget ul,
.vlg-widget ol,
.widget_product_categories ul,
.widget_layered_nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.vlg-widget li,
.widget_product_categories li,
.widget_layered_nav li {
  position: relative;
  margin: 0;
}
.vlg-widget li + li,
.widget_product_categories li + li,
.widget_layered_nav li + li {
  border-top: 1px dashed var(--vlg-line);
}
.vlg-widget li > a,
.widget_product_categories li > a,
.widget_layered_nav li > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 11px 0;
  color: #23324a;
  font-weight: 700;
}
.widget_product_categories .count,
.widget_layered_nav .count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  padding: 0 8px;
  border-radius: 999px;
  background: #f3f7fb;
  color: var(--vlg-primary);
  font-size: 12px;
  font-weight: 900;
}
.widget_product_categories .children {
  margin: 0 0 10px 14px;
  padding-left: 14px;
  border-left: 2px solid #edf1f6;
}
.widget_product_categories .current-cat > a,
.widget_layered_nav .chosen a,
.vlg-widget li.current-cat > a {
  color: var(--vlg-primary);
}
.vlg-shop-head {
  padding: 28px;
  border-radius: 22px;
}
.vlg-shop-head h1 {
  font-size: clamp(34px, 3.4vw, 54px);
}
.vlg-shop-head .term-description,
.vlg-widget p,
.vlg-widget {
  color: #5d6a7e;
}
.vlg-product-card {
  border-radius: 18px;
}
.vlg-card-content h2,
.woocommerce-loop-product__title {
  min-height: 46px;
  font-size: 15px !important;
  line-height: 1.35;
}
.vlg-card-content {
  padding-bottom: 10px;
}
.vlg-card-actions {
  padding: 0 16px 16px;
}
.vlg-card-actions .vlg-card-cart,
.vlg-card-actions .added_to_cart,
.vlg-card-actions .button {
  min-height: 44px;
  font-size: 14px;
  letter-spacing: .01em;
}
.vlg-card-actions .added_to_cart {
  margin-top: 0;
}
.vlg-card-price,
.vlg-card-price .price {
  font-size: 17px;
}

/* Better generic page and account pages */
.vlg-page-card {
  padding: 34px;
  border-radius: 24px;
  box-shadow: 0 16px 38px rgba(17,32,55,.06);
}
.vlg-page-card > h1 {
  margin-bottom: 24px;
}
.woocommerce-account .vlg-page-card {
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}
.woocommerce-account .woocommerce {
  display: grid;
  grid-template-columns: minmax(230px, 280px) minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}
.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after { display: none !important; }
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
  width: auto !important;
  float: none !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation {
  background: linear-gradient(180deg, #08152a 0%, #0b1d39 100%);
  border-radius: 22px;
  padding: 18px;
  box-shadow: 0 18px 36px rgba(9,25,49,.14);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 8px;
}
.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: flex;
  align-items: center;
  min-height: 46px;
  padding: 0 14px;
  border-radius: 14px;
  color: rgba(255,255,255,.92);
  font-weight: 800;
}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
  background: rgba(255,255,255,.1);
  color: #fff;
}
.woocommerce-account .woocommerce-MyAccount-content {
  background: #fff;
  border: 1px solid var(--vlg-line);
  border-radius: 22px;
  padding: 26px 28px;
  box-shadow: 0 10px 30px rgba(17,32,55,.05);
}
.woocommerce-account .woocommerce-MyAccount-content p:first-child {
  font-size: 22px;
  color: #1f2b42;
}
.woocommerce-account table.shop_table,
.woocommerce-account table.my_account_orders,
.woocommerce-account table.woocommerce-orders-table,
.woocommerce-account table.woocommerce-table--order-downloads {
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--vlg-line);
  border-radius: 16px;
  overflow: hidden;
}
.woocommerce-account table th,
.woocommerce-account table td {
  padding: 14px 16px;
}
.woocommerce-account .addresses .title h3,
.woocommerce-account legend {
  font-size: 22px;
  font-weight: 900;
}
.woocommerce-account .button,
.woocommerce-account button,
.woocommerce-account input.button,
.woocommerce-account .woocommerce-Button {
  border-radius: 999px !important;
  background: linear-gradient(135deg, var(--vlg-primary), #d96b00) !important;
  color: #fff !important;
  border: 0 !important;
  font-weight: 900 !important;
  min-height: 46px;
  padding: 0 22px !important;
}

/* Footer and forms */
.vlg-footer-bottom {
  gap: 12px;
  flex-wrap: wrap;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-account .select2-container .select2-selection--single {
  border-radius: 14px;
  border: 1px solid var(--vlg-line);
  min-height: 46px;
}

/* Responsive adjustments */
@media (max-width: 1100px) {
  .woocommerce-account .woocommerce {
    grid-template-columns: 1fr;
  }
  .vlg-shop-layout {
    grid-template-columns: 1fr;
  }
  .vlg-shop-sidebar {
    position: static;
  }
}
@media (max-width: 767px) {
  .vlg-page-card,
  .woocommerce-account .woocommerce-MyAccount-content {
    padding: 22px 18px;
  }
  .vlg-shop-head {
    padding: 20px;
  }
}


/* === 02-iterations.css === */
/*!
 * Valgusallikad theme — 02-iterations.css
 * v1.4.2 mobile/accessibility, v1.4.3 sidebar polish, v1.4.4 EPREL link, v1.4.5 cart CTA + image safety.
 * (Source: original theme.css lines 1242–2001)
 *
 * Maintenance note: parts are concatenated in numeric order at runtime.
 * Editing this file affects only the rules originally in this epoch.
 */

/* ===== v1.4.2 Mobile, accessibility & admin polish =====
 * - Drawer-style mobile menu with backdrop and body scroll lock.
 * - Better intermediate breakpoints for product / category grids.
 * - Visible focus styles, prefers-reduced-motion handling.
 * - Sticky header offset uses a CSS variable (--vlg-header-offset).
 * - Admin: horizontally scrollable tabs on small screens, full-width
 *   submit bar, single-column field grid below the tablet breakpoint,
 *   and friendlier WP color-picker integration.
 */
:root {
  --vlg-header-offset: 96px;
}

/* Replace the unicode hamburger with a clean three-line icon. The button
 * already exists as <button class="vlg-mobile-toggle"> in header.php. */
.vlg-mobile-toggle .vlg-mobile-toggle-icon {
  position: relative;
  display: inline-block;
  width: 22px;
  height: 16px;
}
.vlg-mobile-toggle .vlg-mobile-toggle-icon span {
  position: absolute;
  left: 0;
  right: 0;
  height: 2.5px;
  border-radius: 2px;
  background: currentColor;
  transition: transform .22s ease, opacity .18s ease, top .22s ease;
}
.vlg-mobile-toggle .vlg-mobile-toggle-icon span:nth-child(1) { top: 0; }
.vlg-mobile-toggle .vlg-mobile-toggle-icon span:nth-child(2) { top: 7px; }
.vlg-mobile-toggle .vlg-mobile-toggle-icon span:nth-child(3) { top: 14px; }
.vlg-mobile-toggle.is-open .vlg-mobile-toggle-icon span:nth-child(1) { top: 7px; transform: rotate(45deg); }
.vlg-mobile-toggle.is-open .vlg-mobile-toggle-icon span:nth-child(2) { opacity: 0; }
.vlg-mobile-toggle.is-open .vlg-mobile-toggle-icon span:nth-child(3) { top: 7px; transform: rotate(-45deg); }

/* Mobile menu drawer + backdrop */
.vlg-mobile-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(7, 18, 36, .55);
  backdrop-filter: blur(2px);
  z-index: 90;
  opacity: 0;
  transition: opacity .22s ease;
}
.vlg-mobile-backdrop:not([hidden]) { opacity: 1; }
.vlg-menu-open { overflow: hidden; }

/* Visible focus everywhere (does not disturb mouse users thanks to :focus-visible) */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid rgba(242, 138, 0, .55);
  outline-offset: 2px;
  border-radius: 8px;
}
.vlg-search button:focus-visible,
.single_add_to_cart_button:focus-visible,
.vlg-card-cart:focus-visible {
  outline-offset: 3px;
}

/* Sticky shop sidebar uses a variable instead of magic number */
.vlg-shop-sidebar { top: calc(var(--vlg-header-offset) + 16px); }

/* Better product / category grid breakpoints */
@media (max-width: 1199px) {
  ul.products,
  .vlg-products-grid,
  .vlg-shop-products ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 899px) {
  ul.products,
  .vlg-products-grid,
  .vlg-shop-products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .vlg-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  ul.products,
  .vlg-products-grid,
  .vlg-shop-products ul.products {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .vlg-category-grid { grid-template-columns: 1fr; gap: 12px; }
}

/* Mobile-only: drawer behaviour for the main nav */
@media (max-width: 1200px) {
  :root { --vlg-header-offset: 76px; }

  .vlg-nav {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(86vw, 360px);
    max-width: 100%;
    background: #fff;
    z-index: 100;
    transform: translateX(-100%);
    transition: transform .28s cubic-bezier(.4, 0, .2, 1);
    box-shadow: 18px 0 50px rgba(7, 18, 36, .25);
    border: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    /* Override the earlier `display: none` rule */
    display: block !important;
    padding: 18px 0;
    -webkit-tap-highlight-color: transparent;
  }
  .vlg-nav.is-open { transform: translateX(0); }
  .vlg-nav-inner {
    width: 100%;
    padding: 8px 18px 24px;
    gap: 14px;
  }
  .vlg-category-button {
    width: 100%;
    min-width: 0;
    border-radius: 12px;
  }
  .vlg-category-dropdown {
    position: static;
    width: 100%;
    display: block;
    margin-top: 8px;
    padding: 6px;
    box-shadow: none;
    border: 1px solid var(--vlg-line);
  }
  .vlg-primary-menu {
    display: grid;
    gap: 2px;
  }
  .vlg-primary-menu > li > a {
    min-height: 48px;
    padding: 0 6px;
    border-radius: 10px;
  }
  .vlg-primary-menu > li > a:hover,
  .vlg-primary-menu > li > a:focus-visible { background: #fff5e8; }
  .vlg-primary-menu .sub-menu {
    position: static;
    display: block;
    box-shadow: none;
    border: 0;
    padding: 0 0 4px 14px;
    margin: 0 0 6px;
    background: transparent;
  }
}

/* Tablet: don't display backdrop on desktop sizes */
@media (min-width: 1201px) {
  .vlg-mobile-backdrop { display: none !important; }
  body.vlg-menu-open { overflow: visible; }
}

/* Header refinement on phones */
@media (max-width: 767px) {
  :root { --vlg-header-offset: 72px; }

  .vlg-main-header-inner {
    grid-template-columns: auto 1fr auto;
    gap: 12px;
    min-height: 68px;
  }
  .vlg-header-brand-row { gap: 10px; }
  .vlg-mobile-toggle {
    width: 44px;
    height: 44px;
    border-radius: 12px;
  }
  .vlg-brand .custom-logo { max-height: 44px; }
  .vlg-logo-fallback { gap: 8px; }
  .vlg-logo-bulb { width: 38px; height: 38px; font-size: 19px; }
  .vlg-logo-text strong { font-size: 17px; }
  .vlg-logo-text small { font-size: 9px; }

  .vlg-header-search {
    grid-column: 1 / -1;
    order: 3;
  }
  .vlg-search { min-height: 46px; padding-left: 14px; }
  .vlg-search input[type="search"] { height: 38px; font-size: 15px; }
  .vlg-search button { padding: 8px 14px; font-size: 14px; min-height: 38px; min-width: auto; }

  .vlg-header-actions {
    gap: 6px;
  }
  .vlg-header-actions a {
    padding: 6px 4px;
    min-height: 44px;
    min-width: 44px;
    justify-content: center;
  }
  .vlg-header-actions a span:not(.vlg-icon):not(.vlg-badge) { display: none; }
  .vlg-cart-link strong { display: none; }
  .vlg-badge { left: 22px; top: -2px; }

  .vlg-topbar-inner { gap: 6px; padding: 6px 0; font-size: 12px; }
  .vlg-topbar-inner > span { font-size: 12px; line-height: 1.3; }

  /* Hero polish */
  .vlg-hero {
    margin: 18px 0 14px;
    padding: 28px 22px;
    min-height: auto;
    border-radius: 16px;
  }
  .vlg-hero h1 { font-size: clamp(26px, 7vw, 36px); margin-bottom: 12px; }
  .vlg-hero p { font-size: 15px; margin-bottom: 18px; }
  .vlg-hero-actions { gap: 10px; }
  .vlg-btn { padding: 12px 18px; font-size: 14px; }
  .vlg-hero-benefits { padding: 12px 14px; }
  .vlg-hero-benefits div { padding: 10px 0; }

  /* Trust grid: 2 col on phone */
  .vlg-trust-grid { grid-template-columns: repeat(2, 1fr); }
  .vlg-trust-item { padding: 16px 14px; gap: 10px; }
  .vlg-trust-item > span { width: 40px; height: 40px; font-size: 22px; }
  .vlg-trust-item strong { font-size: 14px; }
  .vlg-trust-item small { font-size: 12px; }

  /* Footer */
  .vlg-footer { padding-top: 28px; }
  .vlg-footer-grid {
    grid-template-columns: 1fr;
    gap: 24px;
    padding-bottom: 22px;
  }
  .vlg-footer-bottom { font-size: 12px; }

  /* Single product on phones */
  .vlg-product-summary-card { padding: 18px; }
  .vlg-product-buybox form.cart { gap: 8px; }
  .quantity .qty { height: 44px; width: 64px !important; }
  .single_add_to_cart_button { min-width: 0; flex: 1; padding: 0 16px !important; }
}

@media (max-width: 360px) {
  .vlg-trust-grid { grid-template-columns: 1fr; }
  .vlg-header-actions a { padding: 4px; }
  .vlg-search button { padding: 8px 10px; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
  .vlg-product-card:hover,
  .vlg-category-card:hover,
  .vlg-campaign-card:hover { transform: none; }
}

/* ----- Admin polish v1.4.2 ----- */

/* Make the tab strip horizontally scrollable when it doesn't fit. */
@media (max-width: 880px) {
  .vlg-admin-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    padding: 8px;
    gap: 6px;
    /* Allow the strip to bleed slightly past the wrap edges. */
    margin-left: -4px;
    margin-right: -4px;
  }
  .vlg-admin-tabs::-webkit-scrollbar { height: 4px; }
  .vlg-admin-tabs::-webkit-scrollbar-thumb { background: #c8d2e0; border-radius: 999px; }
  .vlg-admin-tab {
    flex: 0 0 auto;
    scroll-snap-align: start;
    padding: 10px 14px;
    font-size: 13px;
  }
  .vlg-admin-tabs { position: static; }
}

/* On phones: single-column field grid; full-width submit bar; bigger touch
 * targets in the hero and on action buttons. */
@media (max-width: 782px) {
  .vlg-admin-wrap { max-width: 100%; }
  .vlg-admin-hero {
    padding: 18px;
    border-radius: 14px;
    text-align: left;
  }
  .vlg-admin-hero h1 { font-size: 24px; }
  .vlg-admin-hero p { font-size: 14px; }
  .vlg-admin-hero-actions {
    width: 100%;
    flex-direction: column;
  }
  .vlg-admin-hero-actions .button {
    width: 100%;
    justify-content: center;
    text-align: center;
    min-height: 42px;
    line-height: 40px;
  }

  .vlg-admin-grid {
    grid-template-columns: 1fr !important;
    gap: 14px;
    padding: 16px;
  }
  .vlg-admin-card summary {
    padding: 14px 16px;
    font-size: 15px;
  }

  .vlg-admin-field input[type="text"],
  .vlg-admin-field input[type="url"],
  .vlg-admin-field input[type="email"],
  .vlg-admin-field input[type="number"],
  .vlg-admin-field select,
  .vlg-admin-field textarea {
    width: 100%;
    font-size: 16px; /* prevents iOS zoom-on-focus */
    min-height: 44px;
  }

  .vlg-admin-submitbar {
    position: sticky;
    bottom: 0;
    margin: 16px -10px 0;
    padding: 10px 12px;
    border-radius: 0;
    border-left: 0;
    border-right: 0;
  }
  .vlg-admin-submitbar .button-primary {
    width: 100%;
    height: 46px;
    line-height: 44px;
    text-align: center;
    font-size: 15px;
  }

  /* WP color picker plays well on mobile */
  .vlg-admin-field .wp-picker-container {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }
  .vlg-admin-field .wp-picker-container .wp-color-result.button {
    margin: 0;
  }
}

/* WP color picker integration: keep the swatch button aligned with WP styles. */
.vlg-admin-wrap .wp-picker-container { display: inline-flex; align-items: center; gap: 6px; }
.vlg-admin-wrap .wp-picker-container .wp-color-result.button {
  height: 36px;
  border-radius: 10px !important;
  border: 1px solid #dce5f1 !important;
}
.vlg-admin-wrap .wp-picker-input-wrap input.wp-color-picker {
  border-radius: 10px;
  min-height: 36px;
  border: 1px solid #dce5f1;
  width: 110px;
}

/* The media field row should wrap nicely on small screens. */
@media (max-width: 600px) {
  .vlg-media-row {
    flex-wrap: wrap;
    gap: 8px;
  }
  .vlg-media-row .vlg-media-url { flex: 1 1 100%; }
  .vlg-media-row .button { flex: 1 1 calc(50% - 4px); }
  .vlg-media-preview { max-width: 100%; }
}

/* Larger, easier-to-grab section sorter on phones */
@media (max-width: 600px) {
  .vlg-section-sorter li {
    grid-template-columns: 28px 1fr;
    padding: 12px;
  }
  .vlg-section-sorter li small {
    grid-column: 2;
    margin-top: 2px;
  }
}

/* ===== v1.4.3 Sidebar polish, denser category grid, auto energy SVG =====
 * - Sidebar widgets (kategooriad / tootesildid) get a clean, scannable look:
 *   the (count) for categories tucks inline and the tag cloud is forced
 *   to a uniform pill size regardless of how WP weights the tags.
 * - Home category grid: tighter min-width so 7 cards fit on one row at
 *   normal desktop widths without dropping a single straggler to row 2.
 * - Always-visible "Lisa korvi" button on cards; price + button pinned
 *   to the bottom so cards line up cleanly even with multi-line titles.
 * - Inline EU energy label SVG (vlg-energy-svg) styling.
 */

/* --- Sidebar widget heading --- */
.vlg-widget-title,
.vlg-widget h3,
.widget_product_categories .widget-title,
.widget_product_tag_cloud .widget-title {
  font-size: 14px !important;
  font-weight: 900 !important;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--vlg-primary);
  padding: 0 0 12px;
  margin: 0 0 12px !important;
  border-bottom: 2px solid #f1f5f9;
}

/* --- Categories: clean count chips, no big yellow numbers --- */
.widget_product_categories ul,
.vlg-widget.widget_product_categories ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.widget_product_categories li {
  border-top: 0 !important;
}
.widget_product_categories li + li {
  border-top: 1px solid #eef2f7 !important;
}
.widget_product_categories li > a {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 11px 4px !important;
  color: #1f2b42 !important;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: .01em;
  text-transform: none;
  border-radius: 8px;
}
.widget_product_categories li > a:hover {
  background: #fff5e8;
  color: var(--vlg-primary) !important;
  padding-left: 10px !important;
}
.widget_product_categories .count {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  background: #f1f5f9 !important;
  color: #5d6a7e !important;
  font-size: 11px;
  font-weight: 800;
  border: 0;
}
.widget_product_categories li:hover > .count {
  background: var(--vlg-primary) !important;
  color: #fff !important;
}
.widget_product_categories .children {
  margin: 4px 0 8px 6px !important;
  padding-left: 12px !important;
  border-left: 2px solid #eef2f7 !important;
}
.widget_product_categories .children li > a {
  font-size: 13px;
  font-weight: 600;
  color: #4b5870 !important;
  padding: 8px 4px !important;
}
.widget_product_categories .current-cat > a {
  background: #fff5e8;
  color: var(--vlg-primary) !important;
  padding-left: 10px !important;
}

/* --- Tag cloud: uniform pill chips regardless of WP's weight --- */
.widget_product_tag_cloud .tagcloud,
.wp-block-tag-cloud {
  display: flex !important;
  flex-wrap: wrap;
  gap: 6px;
}
.widget_product_tag_cloud .tagcloud a,
.wp-block-tag-cloud a,
.tag-cloud-link {
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  display: inline-flex;
  align-items: center;
  padding: 7px 11px !important;
  border-radius: 999px !important;
  background: #f4f7fb !important;
  color: #29344c !important;
  text-decoration: none !important;
  border: 1px solid #e5ecf4 !important;
  letter-spacing: .01em;
  text-transform: lowercase;
  transition: all .14s ease;
}
.widget_product_tag_cloud .tagcloud a:hover,
.wp-block-tag-cloud a:hover,
.tag-cloud-link:hover {
  background: var(--vlg-primary) !important;
  color: #fff !important;
  border-color: var(--vlg-primary) !important;
  transform: translateY(-1px);
}

/* --- Search widget inside sidebar --- */
.vlg-widget .woocommerce-product-search input.search-field,
.vlg-widget .search-form input.search-field {
  border-radius: 999px;
  padding: 9px 14px;
  border: 1px solid var(--vlg-line);
  background: #fff;
  width: 100%;
}

/* --- Home category grid: fit 7 cards on one row at desktop --- */
.vlg-category-grid {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 14px;
}
.vlg-category-card {
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 12px;
  padding: 14px;
  min-height: 96px;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}
.vlg-category-card img {
  width: 64px;
  height: 64px;
  object-fit: contain;
  border-radius: 12px;
  background: #f8fafc;
  padding: 4px;
}
.vlg-category-card strong {
  font-size: 13px;
  letter-spacing: .01em;
  text-transform: uppercase;
}
.vlg-category-card small {
  font-size: 11px;
  margin: 4px 0 6px;
}
.vlg-category-card span {
  font-size: 11px;
}

@media (min-width: 1280px) {
  /* When admin has 6-7 cats, prefer one row exactly */
  .vlg-category-grid { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
}
@media (max-width: 1100px) {
  .vlg-category-grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
}
@media (max-width: 600px) {
  .vlg-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vlg-category-card { grid-template-columns: 56px 1fr; padding: 12px; min-height: 80px; }
  .vlg-category-card img { width: 56px; height: 56px; }
}
@media (max-width: 380px) {
  .vlg-category-grid { grid-template-columns: 1fr; }
}

/* --- Make product cards align uniformly with always-visible cart CTA --- */
.vlg-product-card {
  display: flex;
  flex-direction: column;
}
.vlg-product-link { flex: 1; }
.vlg-card-content {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.vlg-card-price,
.vlg-card-price .price {
  font-size: 18px !important;
  margin-top: auto;
  padding-top: 8px;
}
.vlg-card-actions {
  margin-top: 0;
  padding: 0 14px 14px;
}
.vlg-card-cart,
.vlg-card-actions .button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 44px;
  border-radius: 999px !important;
  background: linear-gradient(135deg, var(--vlg-primary), #d96b00) !important;
  color: #fff !important;
  border: 0 !important;
  font-weight: 900 !important;
  font-size: 14px !important;
  letter-spacing: .01em;
  box-shadow: 0 8px 18px rgba(242,138,0,.20);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.vlg-card-cart::before,
.vlg-card-actions .button::before {
  content: '🛒';
  font-size: 14px;
  filter: grayscale(.05);
}
.vlg-card-cart.added::before,
.vlg-card-actions .button.added::before { content: '✓'; }
.vlg-card-cart:hover,
.vlg-card-actions .button:hover {
  transform: translateY(-1px);
  filter: brightness(1.04);
  box-shadow: 0 12px 22px rgba(242,138,0,.28);
}
.vlg-card-cart.loading { opacity: .7; pointer-events: none; }
.vlg-card-cart.added,
.vlg-card-actions .button.added {
  background: #16a34a !important;
  box-shadow: 0 8px 18px rgba(22,163,74,.22);
}

/* --- Inline EU energy label SVG (auto-rendered) --- */
.vlg-energy-image-link.is-svg {
  display: inline-block;
  background: transparent;
  border: 0;
  padding: 0;
}
.vlg-energy-svg {
  display: block;
  width: 180px;
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 6px 18px rgba(15,31,53,.08);
}
@media (max-width: 480px) {
  .vlg-energy-svg { width: 150px; }
}

/* Tighten the energy panel a bit so the SVG sits flush with the badge head */
.vlg-energy-panel {
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
}
.vlg-energy-panel-head {
  flex-wrap: wrap;
}

/* ===== v1.4.4 EPREL public link =====
 * EU-styled link rendered on the single product page next to the energy
 * label whenever the product has an EPREL Registration Number assigned.
 * Per Implementing Regulation (EU) 2024/994 Article 14, online dealers
 * must make this consultation possible. We build the EU flag inline with
 * an SVG of 12 stars on a 003399 background — no external assets.
 */
.vlg-eprel-link {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 16px;
  margin-top: 12px;
  border-radius: 14px;
  background: linear-gradient(135deg, #f4f7fb 0%, #e9eef6 100%);
  border: 1px solid #d6dde8;
  text-decoration: none;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.vlg-eprel-link:hover,
.vlg-eprel-link:focus-visible {
  background: linear-gradient(135deg, #003399 0%, #0046cc 100%);
  border-color: #003399;
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(0, 51, 153, .22);
}
.vlg-eprel-link:hover .vlg-eprel-text strong,
.vlg-eprel-link:hover .vlg-eprel-text small,
.vlg-eprel-link:hover .vlg-eprel-arrow,
.vlg-eprel-link:focus-visible .vlg-eprel-text strong,
.vlg-eprel-link:focus-visible .vlg-eprel-text small,
.vlg-eprel-link:focus-visible .vlg-eprel-arrow { color: #fff; }
.vlg-eprel-flag {
  display: inline-flex;
  width: 36px;
  height: 24px;
  flex-shrink: 0;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(7, 18, 36, .18);
}
.vlg-eprel-flag svg { width: 100%; height: 100%; display: block; }
.vlg-eprel-text {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
}
.vlg-eprel-text strong {
  color: #003399;
  font-weight: 800;
  font-size: 14px;
  line-height: 1.2;
  transition: color .15s ease;
}
.vlg-eprel-text small {
  color: #5d6a7e;
  font-size: 11px;
  margin-top: 2px;
  letter-spacing: .02em;
  font-feature-settings: 'tnum';
  transition: color .15s ease;
}
.vlg-eprel-arrow {
  font-size: 18px;
  font-weight: 700;
  color: #003399;
  flex-shrink: 0;
  transition: color .15s ease, transform .15s ease;
}
.vlg-eprel-link:hover .vlg-eprel-arrow,
.vlg-eprel-link:focus-visible .vlg-eprel-arrow { transform: translateX(3px); }

@media (max-width: 480px) {
  .vlg-eprel-link { padding: 10px 12px; gap: 10px; border-radius: 12px; }
  .vlg-eprel-flag { width: 30px; height: 20px; }
  .vlg-eprel-text strong { font-size: 13px; }
  .vlg-eprel-text small { font-size: 10px; }
}


/* === 03-visual-polish.css === */
/*!
 * Valgusallikad theme — 03-visual-polish.css
 * v1.4.6 comprehensive visual polish, v1.4.7 energy badge overlay, v1.4.8 popup, v1.4.9 sidebar tree + tag filter, v1.4.10–v1.4.15 nesting refinements.
 * (Source: original theme.css lines 2002–5082)
 *
 * Maintenance note: parts are concatenated in numeric order at runtime.
 * Editing this file affects only the rules originally in this epoch.
 */

/* ===== v1.4.5 Always-visible cart CTA + auto category image safety =====
 * - Force the .vlg-card-actions row to render even if some other plugin
 *   tries to hide it. The button has been a primary conversion control
 *   since v1.4.3 and must not be silently dropped.
 * - Make the auto-fetched category image (which can be a tall product
 *   shot) crop centred and uniformly inside the card.
 */
.vlg-product-card .vlg-card-actions {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.vlg-card-cart {
  display: inline-flex !important;
}

/* Auto-image: when the source is a real product photo, contain it nicely. */
.vlg-category-card img {
  background: #ffffff;
}

/* ===== v1.4.6 Comprehensive visual polish =====
 * A consistent design system layered on top of everything earlier:
 *  - Shadow scale (sm → xl) used everywhere instead of one-off values.
 *  - Color tokens with soft, hover and dark variants.
 *  - Radius scale.
 *  - Typography refinements (heading weights, font features, tighter
 *    letter-spacing for display text, clearer body line-height).
 *  - Hero: subtle dot pattern + soft glow on the benefits card.
 *  - Product cards: floating wishlist heart, smoother hover lift.
 *  - Category cards: gradient overlay + sliding arrow on hover.
 *  - Trust bar: refined icon containers with brand glow.
 *  - Newsletter: bolder gradient + subtle pattern.
 *  - Footer: brand accent stripe at the top edge.
 *  - Section heads: kicker line-art separator.
 *  - Buttons: consistent CTA hierarchy with focus glow.
 * Everything is additive; earlier rules remain functional fallbacks.
 */

:root {
  /* Shadow scale */
  --vlg-shadow-sm: 0 1px 2px rgba(7, 18, 36, 0.06), 0 1px 3px rgba(7, 18, 36, 0.04);
  --vlg-shadow-md: 0 4px 14px rgba(7, 18, 36, 0.08), 0 2px 6px rgba(7, 18, 36, 0.04);
  --vlg-shadow-lg: 0 14px 36px rgba(7, 18, 36, 0.10), 0 6px 14px rgba(7, 18, 36, 0.05);
  --vlg-shadow-xl: 0 28px 60px rgba(7, 18, 36, 0.14), 0 10px 22px rgba(7, 18, 36, 0.06);
  --vlg-shadow-glow: 0 18px 38px rgba(242, 138, 0, 0.22);

  /* Color palette refinements */
  --vlg-primary-light: #ffb34d;
  --vlg-primary-dark: #d96b00;
  --vlg-primary-soft: #fff5e8;
  --vlg-primary-glow: rgba(242, 138, 0, 0.18);
  --vlg-text-strong: #0c182d;
  --vlg-text: #1f2b42;
  --vlg-success: #16a34a;
  --vlg-warning: #f59e0b;
  --vlg-danger: #dc2626;
  --vlg-eu-blue: #003399;

  /* Radius scale */
  --vlg-radius-sm: 8px;
  --vlg-radius-md: 14px;
  --vlg-radius-lg: 20px;
  --vlg-radius-xl: 28px;
  --vlg-radius-pill: 999px;
}

/* --- Typography refinements --- */
body {
  font-feature-settings: 'kern' 1, 'liga' 1, 'tnum' 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: var(--vlg-text);
}
h1, h2, h3 {
  letter-spacing: -0.025em;
  font-feature-settings: 'kern' 1, 'liga' 1, 'ss01' 1;
}
/* Apply the dark text colour only where the section background is light;
 * hero, newsletter, footer and other dark-on-X panels keep their own
 * colour rules and inherit white from their container. */
main h1, main h2, main h3,
.vlg-section h2, .vlg-section h3,
.vlg-product-card h2 {
  color: var(--vlg-text-strong);
}
.vlg-hero h1, .vlg-hero h2, .vlg-hero h3,
.vlg-newsletter h1, .vlg-newsletter h2, .vlg-newsletter h3,
.vlg-footer h1, .vlg-footer h2, .vlg-footer h3,
.vlg-product-buybox h2,
[class*="-dark"] h1, [class*="-dark"] h2, [class*="-dark"] h3 {
  color: inherit;
}
h1 { font-weight: 900; }
h2 { font-weight: 800; line-height: 1.15; }
h3 { font-weight: 700; line-height: 1.25; }
.vlg-section h2 {
  font-size: clamp(22px, 2.4vw, 32px);
  margin-bottom: 4px;
}

/* --- Section heads with brand accent --- */
.vlg-section-head {
  position: relative;
  margin-bottom: 22px;
  padding-bottom: 14px;
}
.vlg-section-head::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 56px;
  height: 4px;
  border-radius: 4px;
  background: linear-gradient(90deg, var(--vlg-primary) 0%, var(--vlg-primary-light) 100%);
}
.vlg-section-head a {
  color: var(--vlg-primary-dark);
  font-weight: 700;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: .05em;
}

/* --- Hero: dot pattern + glow --- */
.vlg-hero {
  position: relative;
  border-radius: var(--vlg-radius-xl);
  box-shadow: var(--vlg-shadow-lg);
  overflow: hidden;
}
.vlg-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at 1px 1px, rgba(255,255,255,0.08) 1px, transparent 0);
  background-size: 22px 22px;
  pointer-events: none;
  opacity: .8;
}
.vlg-hero > * { position: relative; z-index: 1; }
.vlg-hero h1 {
  text-shadow: 0 2px 30px rgba(0,0,0,.25);
}
.vlg-hero-benefits {
  border-radius: var(--vlg-radius-lg);
  box-shadow: 0 18px 50px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.10);
  background: rgba(8, 18, 36, .68);
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
}
.vlg-hero-benefits div {
  transition: padding-left .2s ease;
}
.vlg-hero-benefits div:hover {
  padding-left: 6px;
}
.vlg-hero-benefits span {
  background: linear-gradient(135deg, rgba(242,138,0,.30), rgba(242,138,0,.10));
  box-shadow: 0 4px 14px rgba(242,138,0,.20);
}

/* --- Buttons: consistent CTA system --- */
.vlg-btn,
.vlg-newsletter button,
.woocommerce-Button.button,
.single_add_to_cart_button,
.checkout-button {
  border-radius: var(--vlg-radius-pill) !important;
  font-weight: 800 !important;
  letter-spacing: .01em;
  border: 0;
  cursor: pointer;
  transition: transform .18s cubic-bezier(.4,0,.2,1),
              box-shadow .18s cubic-bezier(.4,0,.2,1),
              filter .18s ease;
  position: relative;
  isolation: isolate;
}
.vlg-btn--primary,
.vlg-newsletter button,
.single_add_to_cart_button,
.checkout-button {
  background: linear-gradient(135deg, var(--vlg-primary) 0%, var(--vlg-primary-dark) 100%) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(242,138,0,.24);
}
.vlg-btn--primary:hover,
.vlg-newsletter button:hover,
.single_add_to_cart_button:hover,
.checkout-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(242,138,0,.32);
  filter: brightness(1.04);
}
.vlg-btn--secondary {
  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  color: #fff !important;
  backdrop-filter: blur(8px);
}
.vlg-btn--secondary:hover {
  background: rgba(255,255,255,.18) !important;
  transform: translateY(-2px);
}

/* --- Trust bar: refined icon glow --- */
.vlg-trust-grid {
  border-radius: var(--vlg-radius-lg);
  box-shadow: var(--vlg-shadow-md);
  border: 0;
  background: var(--vlg-line);
}
.vlg-trust-item {
  background: #fff;
  transition: background .2s ease;
}
.vlg-trust-item:hover {
  background: var(--vlg-primary-soft);
}
.vlg-trust-item > span {
  background: linear-gradient(135deg, var(--vlg-primary-soft) 0%, #ffe1be 100%) !important;
  box-shadow: 0 4px 12px rgba(242,138,0,.18);
  transition: transform .25s cubic-bezier(.4,0,.2,1);
}
.vlg-trust-item:hover > span {
  transform: scale(1.08) rotate(-3deg);
}

/* --- Category cards: hover gradient + sliding arrow --- */
.vlg-category-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--vlg-line);
  box-shadow: var(--vlg-shadow-sm);
  transition: transform .24s cubic-bezier(.4,0,.2,1),
              box-shadow .24s ease,
              border-color .2s ease;
}
.vlg-category-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, var(--vlg-primary-glow) 0%, transparent 60%);
  opacity: 0;
  transition: opacity .22s ease;
  pointer-events: none;
  border-radius: inherit;
}
.vlg-category-card:hover,
.vlg-category-card:focus-visible {
  transform: translateY(-3px);
  box-shadow: var(--vlg-shadow-lg);
  border-color: rgba(242,138,0,.35);
}
.vlg-category-card:hover::before,
.vlg-category-card:focus-visible::before {
  opacity: 1;
}
.vlg-category-card span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--vlg-primary-dark);
  font-weight: 800;
  transition: gap .18s ease, color .18s ease;
}
.vlg-category-card:hover span {
  gap: 10px;
  color: var(--vlg-primary);
}

/* --- Product cards: lift, glow, decorative wishlist heart --- */
.vlg-product-card {
  border-radius: var(--vlg-radius-md);
  box-shadow: var(--vlg-shadow-sm);
  transition: transform .24s cubic-bezier(.4,0,.2,1),
              box-shadow .24s ease,
              border-color .2s ease;
}
.vlg-product-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--vlg-shadow-lg);
  border-color: rgba(242,138,0,.20);
}
.vlg-card-image-wrap {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
}
.vlg-card-image-wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 100%, rgba(242,138,0,.06), transparent 60%);
  opacity: 0;
  transition: opacity .25s ease;
  pointer-events: none;
}
.vlg-product-card:hover .vlg-card-image-wrap::after {
  opacity: 1;
}
.vlg-product-card .vlg-card-image-wrap img,
.vlg-product-card .wp-post-image {
  transition: transform .35s cubic-bezier(.4,0,.2,1);
}
.vlg-product-card:hover .wp-post-image {
  transform: scale(1.04);
}
/* Decorative wishlist heart top-right (visual only — wishlist plugin
 * still hooks its own button via the card_actions row). */
.vlg-product-card .vlg-card-image-wrap::before {
  content: '♡';
  position: absolute;
  top: 10px;
  right: 12px;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.92);
  border-radius: 50%;
  font-size: 18px;
  color: #4b5870;
  z-index: 2;
  box-shadow: var(--vlg-shadow-sm);
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity .2s ease, transform .2s ease, color .2s ease, background .2s ease;
  pointer-events: none;
}
.vlg-product-card:hover .vlg-card-image-wrap::before {
  opacity: 1;
  transform: translateY(0);
}
/* Sale badge polish */
.vlg-product-card .onsale,
ul.products .onsale {
  background: linear-gradient(135deg, var(--vlg-danger), #b91c1c) !important;
  color: #fff !important;
  font-weight: 900;
  letter-spacing: .04em;
  border-radius: var(--vlg-radius-pill) !important;
  padding: 6px 12px !important;
  font-size: 11px !important;
  text-transform: uppercase;
  box-shadow: 0 6px 14px rgba(220,38,38,.32);
  border: 0 !important;
  z-index: 3;
}
.vlg-card-category {
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--vlg-primary-dark);
  font-weight: 800;
}
.woocommerce-loop-product__title {
  font-size: 16px !important;
  line-height: 1.3 !important;
  font-weight: 700;
  color: var(--vlg-text-strong);
  margin: 6px 0 !important;
}

/* --- Newsletter: bolder gradient + dot motif --- */
.vlg-newsletter {
  position: relative;
  overflow: hidden;
  border-radius: var(--vlg-radius-xl);
  background: linear-gradient(135deg, #071224 0%, #102849 50%, #1a3766 100%);
  box-shadow: var(--vlg-shadow-lg);
  padding: 32px 36px;
}
.vlg-newsletter::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at 1px 1px, rgba(255,255,255,.04) 1px, transparent 0);
  background-size: 18px 18px;
  pointer-events: none;
}
.vlg-newsletter::after {
  content: '';
  position: absolute;
  top: -80px;
  right: -80px;
  width: 220px;
  height: 220px;
  background: radial-gradient(circle, rgba(242,138,0,.30), transparent 70%);
  pointer-events: none;
}
.vlg-newsletter > * { position: relative; z-index: 1; }
.vlg-newsletter input {
  border-radius: var(--vlg-radius-pill);
  padding: 14px 18px;
  font-size: 15px;
}
.vlg-newsletter input:focus {
  background: rgba(255,255,255,.16);
  border-color: rgba(255,255,255,.45);
  outline: 0;
}

/* --- Footer: brand accent stripe at top --- */
.vlg-footer {
  position: relative;
}
.vlg-footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--vlg-primary) 0%, var(--vlg-primary-light) 25%, var(--vlg-eu-blue) 70%, var(--vlg-primary) 100%);
}
.vlg-footer h3,
.vlg-footer-col h3 {
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--vlg-primary-light);
  margin-bottom: 16px;
  position: relative;
  padding-bottom: 10px;
}
.vlg-footer h3::after,
.vlg-footer-col h3::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 28px;
  height: 2px;
  background: var(--vlg-primary);
  border-radius: 2px;
}
.vlg-footer a {
  transition: color .15s ease, padding-left .15s ease;
}
.vlg-footer a:hover {
  color: var(--vlg-primary-light) !important;
  padding-left: 4px;
}

/* --- Topbar: subtle hover affordance on contact items --- */
.vlg-topbar a {
  transition: color .15s ease, opacity .15s ease;
}
.vlg-topbar a:hover {
  color: var(--vlg-primary-light) !important;
  opacity: 1 !important;
}

/* --- Header search: focus glow --- */
.vlg-search {
  transition: box-shadow .2s ease, border-color .2s ease;
}
.vlg-search:focus-within {
  box-shadow: 0 0 0 4px var(--vlg-primary-glow), var(--vlg-shadow-md);
  border-color: var(--vlg-primary);
}

/* --- Header actions: subtle hover --- */
.vlg-header-actions a {
  border-radius: var(--vlg-radius-md);
  transition: background .15s ease, color .15s ease;
}
.vlg-header-actions a:hover {
  background: var(--vlg-primary-soft);
  color: var(--vlg-primary-dark);
}

/* --- Single product: airier, cleaner --- */
.vlg-product-summary-card,
.vlg-product-buybox {
  border-radius: var(--vlg-radius-lg);
  box-shadow: var(--vlg-shadow-md);
}
.vlg-product-buybox .quantity {
  border-radius: var(--vlg-radius-md);
  overflow: hidden;
  border: 1px solid var(--vlg-line);
  background: #f8fafc;
}
.vlg-product-buybox .quantity .qty {
  border: 0 !important;
  background: transparent !important;
  text-align: center;
  font-weight: 800;
}
.woocommerce div.product .product_title {
  font-size: clamp(24px, 2.6vw, 34px) !important;
  font-weight: 900;
  letter-spacing: -0.02em;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-size: 28px;
  font-weight: 900;
  color: var(--vlg-text-strong);
}
.woocommerce div.product .stock {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: var(--vlg-radius-pill);
  background: rgba(22,163,74,.10);
  color: var(--vlg-success);
  font-weight: 700;
  font-size: 13px;
}
.woocommerce div.product .stock.out-of-stock {
  background: rgba(220,38,38,.10);
  color: var(--vlg-danger);
}
.woocommerce-tabs .tabs li {
  border-radius: var(--vlg-radius-md) var(--vlg-radius-md) 0 0;
}

/* --- Sidebar widgets in shop page: cleaner card look --- */
.vlg-shop-sidebar > * + * {
  margin-top: 20px;
}
.vlg-shop-sidebar .widget,
.widget_product_categories,
.widget_product_tag_cloud {
  background: #fff;
  border: 1px solid var(--vlg-line);
  border-radius: var(--vlg-radius-md);
  padding: 18px 18px 22px;
  box-shadow: var(--vlg-shadow-sm);
}

/* --- Pagination polish --- */
.woocommerce nav.woocommerce-pagination ul {
  border: 0 !important;
  display: flex;
  gap: 6px;
  justify-content: center;
}
.woocommerce nav.woocommerce-pagination ul li {
  border: 0 !important;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  width: 40px;
  height: 40px;
  display: grid !important;
  place-items: center;
  border-radius: var(--vlg-radius-md);
  font-weight: 700;
  background: #fff;
  border: 1px solid var(--vlg-line);
  transition: all .15s ease;
}
.woocommerce nav.woocommerce-pagination ul li a:hover {
  background: var(--vlg-primary-soft);
  border-color: var(--vlg-primary);
  color: var(--vlg-primary-dark);
}
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--vlg-primary) !important;
  border-color: var(--vlg-primary) !important;
  color: #fff !important;
  box-shadow: 0 6px 14px rgba(242,138,0,.24);
}

/* --- Breadcrumb refinement --- */
.woocommerce-breadcrumb {
  font-size: 13px;
  color: var(--vlg-muted);
  padding: 8px 0;
  margin-bottom: 12px;
}
.woocommerce-breadcrumb a {
  color: var(--vlg-muted);
  transition: color .15s ease;
}
.woocommerce-breadcrumb a:hover {
  color: var(--vlg-primary);
}

/* --- Quantity buttons: visual stepper --- */
.vlg-product-buybox .quantity {
  display: flex !important;
  align-items: center;
}
.vlg-product-buybox .quantity::before,
.vlg-product-buybox .quantity::after {
  content: '';
  display: none; /* native +/- buttons handled by WC if installed */
}

/* --- Smooth fade-in when sections enter (no JS required) --- */
@media (prefers-reduced-motion: no-preference) {
  .vlg-section,
  .vlg-trust-grid,
  .vlg-newsletter {
    animation: vlgFadeUp .55s cubic-bezier(.4,0,.2,1) both;
    animation-delay: .05s;
  }
}
@keyframes vlgFadeUp {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* --- Cookie / scroll-to-top compatibility helpers --- */
.vlg-back-to-top {
  position: fixed;
  bottom: 28px;
  right: 28px;
  width: 48px;
  height: 48px;
  display: none;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--vlg-primary), var(--vlg-primary-dark));
  color: #fff;
  text-decoration: none;
  box-shadow: var(--vlg-shadow-lg);
  z-index: 80;
  font-size: 22px;
  transition: transform .2s ease, box-shadow .2s ease;
}
.vlg-back-to-top.is-visible {
  display: grid;
}
.vlg-back-to-top:hover {
  transform: translateY(-4px);
  box-shadow: var(--vlg-shadow-xl);
}

@media (max-width: 600px) {
  .vlg-back-to-top { bottom: 18px; right: 18px; width: 44px; height: 44px; }
}

/* Mobile polish for trust grid + newsletter */
@media (max-width: 767px) {
  .vlg-newsletter {
    grid-template-columns: 1fr;
    padding: 24px 22px;
  }
  .vlg-newsletter form { flex-direction: column; }
  .vlg-newsletter button { width: 100%; }
}

/* ===== v1.4.7 Energy badge corner overlay + cart row reinforcement =====
 * - The energy class badge now sits as a coloured corner overlay on the
 *   product image (top-left), styled like a mini EU energy strip with
 *   the class colour as its background.
 * - The "Lisa korvi" row is hardened against any plugin trying to hide
 *   it. The button stays full-width orange pill regardless.
 * - When the badge is auto-defaulted (LED category, no manual class)
 *   it gets a subtle dashed outline so the shop owner notices it.
 */
.vlg-card-image-wrap .vlg-energy-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  width: 38px;
  min-height: 50px;
  padding: 4px 0 5px;
  border-radius: var(--vlg-radius-sm);
  background: var(--vlg-energy-color, #475569);
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 4px 12px rgba(7, 18, 36, 0.18);
  z-index: 4;
  text-decoration: none;
  pointer-events: none;
}
.vlg-card-image-wrap .vlg-energy-badge-eu {
  font-size: 9px;
  letter-spacing: .04em;
  opacity: .9;
  background: rgba(0, 51, 153, .98);
  padding: 2px 6px;
  border-radius: 4px;
  margin-bottom: 3px;
  display: inline-block;
}
.vlg-card-image-wrap .vlg-energy-badge-class {
  font-size: 18px;
  text-shadow: 0 1px 1px rgba(0, 0, 0, .25);
  font-weight: 900;
}
/* Yellow class (D) needs darker text for contrast */
.vlg-card-image-wrap .vlg-energy-d .vlg-energy-badge-class { color: #1f2b42; text-shadow: none; }

/* Auto-default badge: subtle dashed outline as a shop-owner hint */
.vlg-card-image-wrap .vlg-energy-badge[data-default] {
  outline: 1px dashed rgba(255, 255, 255, .55);
  outline-offset: -3px;
  opacity: .92;
}

/* Hover shows full opacity */
.vlg-product-card:hover .vlg-card-image-wrap .vlg-energy-badge[data-default] {
  opacity: 1;
}

/* Single product page: keep the inline styling (no overlay) — the panel
 * version of the badge stays as before. */
.vlg-energy-panel .vlg-energy-badge {
  position: static;
  padding: 6px 12px;
  flex-direction: row;
  gap: 8px;
  background: var(--vlg-energy-color, #f4f7fb);
  width: auto;
  min-height: 0;
}
.vlg-energy-panel .vlg-energy-badge-eu {
  background: rgba(0, 51, 153, .98);
}

/* Cart row hardening — three layers of guarantee */
.vlg-product-card .vlg-card-actions {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  overflow: visible !important;
}
.vlg-product-card .vlg-card-actions > * {
  display: inline-flex !important;
}

/* Tighter spacing on small mobile so the energy badge doesn't overlap the
 * sale flash */
@media (max-width: 480px) {
  .vlg-card-image-wrap .vlg-energy-badge {
    width: 32px;
    min-height: 42px;
    top: 8px;
    left: 8px;
  }
  .vlg-card-image-wrap .vlg-energy-badge-eu { font-size: 8px; padding: 1px 4px; }
  .vlg-card-image-wrap .vlg-energy-badge-class { font-size: 14px; }
}

/* When both a sale flash and an energy badge are on the same image,
 * push the sale flash to the right so they don't collide. */
.vlg-card-image-wrap:has(.vlg-energy-badge) .onsale {
  left: auto;
  right: 10px;
}

/* ===== v1.4.8 Popup advertising / promo modal =====
 * - Centered modal with backdrop, three skins (dark / light / brand).
 * - Smooth fade + scale enter animation, ESC and backdrop close.
 * - Body scroll lock while open.
 * - Frequency control happens client-side via localStorage.
 */
.vlg-popup-overlay {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(7, 18, 36, .68);
  backdrop-filter: blur(8px) saturate(140%);
  -webkit-backdrop-filter: blur(8px) saturate(140%);
  opacity: 0;
  transition: opacity .22s cubic-bezier(.4, 0, .2, 1);
}
.vlg-popup-overlay.is-visible { opacity: 1; }
.vlg-popup-overlay[hidden] { display: none; }
body.vlg-popup-open { overflow: hidden; }

.vlg-popup-card {
  position: relative;
  width: min(520px, 100%);
  max-height: 90vh;
  overflow: auto;
  border-radius: var(--vlg-radius-xl);
  box-shadow: var(--vlg-shadow-xl);
  background: #fff;
  color: var(--vlg-text);
  transform: translateY(14px) scale(.96);
  opacity: 0;
  transition: transform .28s cubic-bezier(.4, 0, .2, 1), opacity .22s ease;
}
.vlg-popup-overlay.is-visible .vlg-popup-card {
  transform: translateY(0) scale(1);
  opacity: 1;
}

.vlg-popup-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 0;
  background: rgba(255, 255, 255, .92);
  color: #1f2b42;
  border-radius: 50%;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  z-index: 2;
  box-shadow: var(--vlg-shadow-sm);
  transition: transform .15s ease, background .15s ease;
}
.vlg-popup-close:hover {
  transform: rotate(90deg);
  background: #fff;
}

.vlg-popup-image {
  margin: 0;
}
.vlg-popup-image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--vlg-radius-xl) var(--vlg-radius-xl) 0 0;
}

.vlg-popup-body {
  padding: 28px 32px 26px;
}
.vlg-popup-body h3 {
  font-size: clamp(20px, 2.4vw, 26px);
  font-weight: 900;
  margin: 0 0 10px;
  letter-spacing: -0.02em;
  color: var(--vlg-text-strong);
}
.vlg-popup-body p {
  font-size: 15px;
  line-height: 1.55;
  color: var(--vlg-muted);
  margin: 0 0 18px;
}
.vlg-popup-body p strong { color: var(--vlg-text); }
.vlg-popup-body a { color: var(--vlg-primary-dark); text-decoration: underline; }

.vlg-popup-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.vlg-popup-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 auto;
  min-height: 46px;
  padding: 12px 22px;
  border-radius: var(--vlg-radius-pill);
  background: linear-gradient(135deg, var(--vlg-primary) 0%, var(--vlg-primary-dark) 100%);
  color: #fff !important;
  font-weight: 800;
  font-size: 15px;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(242, 138, 0, .28);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.vlg-popup-cta:hover {
  transform: translateY(-2px);
  filter: brightness(1.04);
  box-shadow: 0 16px 30px rgba(242, 138, 0, .36);
}
.vlg-popup-dismiss {
  background: transparent;
  border: 0;
  padding: 12px 14px;
  font-size: 14px;
  color: var(--vlg-muted);
  cursor: pointer;
  font-weight: 600;
  border-radius: var(--vlg-radius-md);
  transition: color .15s ease, background .15s ease;
}
.vlg-popup-dismiss:hover {
  background: #f4f7fb;
  color: var(--vlg-text);
}

/* --- Dark skin --- */
.vlg-popup-skin-dark .vlg-popup-card {
  background: linear-gradient(135deg, #071224 0%, #0f1f3c 60%, #102849 100%);
  color: #d1dae8;
}
.vlg-popup-skin-dark .vlg-popup-body h3 { color: #fff; }
.vlg-popup-skin-dark .vlg-popup-body p { color: rgba(209, 218, 232, .82); }
.vlg-popup-skin-dark .vlg-popup-body p strong { color: #fff; }
.vlg-popup-skin-dark .vlg-popup-dismiss {
  color: rgba(209, 218, 232, .72);
}
.vlg-popup-skin-dark .vlg-popup-dismiss:hover {
  background: rgba(255, 255, 255, .08);
  color: #fff;
}

/* --- Brand skin (orange gradient) --- */
.vlg-popup-skin-brand .vlg-popup-card {
  background: linear-gradient(135deg, #f28a00 0%, #d96b00 100%);
  color: #fff;
}
.vlg-popup-skin-brand .vlg-popup-body h3 { color: #fff; }
.vlg-popup-skin-brand .vlg-popup-body p { color: rgba(255, 255, 255, .92); }
.vlg-popup-skin-brand .vlg-popup-cta {
  background: #fff;
  color: var(--vlg-primary-dark) !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .18);
}
.vlg-popup-skin-brand .vlg-popup-cta:hover {
  background: #fff5e8;
  color: var(--vlg-primary-dark) !important;
}
.vlg-popup-skin-brand .vlg-popup-dismiss {
  color: rgba(255, 255, 255, .85);
}
.vlg-popup-skin-brand .vlg-popup-dismiss:hover {
  background: rgba(255, 255, 255, .15);
  color: #fff;
}

@media (max-width: 600px) {
  .vlg-popup-overlay { padding: 16px; }
  .vlg-popup-body { padding: 22px 22px 20px; }
  .vlg-popup-actions { flex-direction: column; align-items: stretch; }
  .vlg-popup-cta { width: 100%; }
  .vlg-popup-dismiss { width: 100%; }
}

/* Reduced motion: skip the scale/translate animation. */
@media (prefers-reduced-motion: reduce) {
  .vlg-popup-card {
    transform: none;
    transition: opacity .12s ease;
  }
  .vlg-popup-overlay { transition: opacity .12s ease; }
}

/* ===== v1.4.9 Sidebar polish: tree categories + tag filter =====
 * - widget_product_categories: proper hierarchical tree with indented
 *   subitems, current-cat highlight, smooth borders, scannable counts.
 * - .vlg-tag-filter-widget: full-fledged filter (search, checkboxes,
 *   apply/clear) — replaces the unstructured tag cloud.
 * - .vlg-active-filters: chips above the products grid showing what
 *   the user has applied.
 */

/* --- Categories widget: proper tree --- */
.vlg-shop-sidebar .widget_product_categories,
.widget_product_categories {
  padding: 14px 16px 18px;
}
.widget_product_categories ul.product-categories {
  margin: 4px 0 0;
  padding: 0;
  list-style: none;
}
.widget_product_categories ul.product-categories > li {
  border-top: 0 !important;
  padding: 0;
}
.widget_product_categories ul.product-categories > li + li {
  border-top: 0 !important;
}
.widget_product_categories li > a {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 10px !important;
  margin: 1px 0;
  color: var(--vlg-text-strong) !important;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: .02em;
  text-transform: uppercase;
  border-radius: 8px;
  transition: background .15s ease, color .15s ease, padding-left .15s ease;
}
.widget_product_categories li > a:hover,
.widget_product_categories li > a:focus-visible {
  background: var(--vlg-primary-soft);
  color: var(--vlg-primary-dark) !important;
  padding-left: 14px !important;
}
.widget_product_categories .count {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 20px;
  padding: 0 8px;
  border-radius: 999px;
  background: #f1f5f9 !important;
  color: #5d6a7e !important;
  font-size: 11px;
  font-weight: 800;
  text-transform: none;
  letter-spacing: 0;
}
.widget_product_categories li > a:hover .count,
.widget_product_categories .current-cat > a .count {
  background: var(--vlg-primary) !important;
  color: #fff !important;
}
.widget_product_categories .current-cat > a {
  background: var(--vlg-primary-soft);
  color: var(--vlg-primary-dark) !important;
  padding-left: 14px !important;
  position: relative;
}
.widget_product_categories .current-cat > a::before {
  content: '';
  position: absolute;
  left: 4px;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 18px;
  border-radius: 4px;
  background: var(--vlg-primary);
}
/* The currently-being-viewed cat with descendants we are inside of */
.widget_product_categories .current-cat-parent > a {
  color: var(--vlg-primary-dark) !important;
}
/* Children list — visual indentation + connector line */
.widget_product_categories .children {
  list-style: none !important;
  padding: 4px 0 8px 14px !important;
  margin: 0 0 4px 6px !important;
  border-left: 2px solid #eef2f7 !important;
}
.widget_product_categories .children li > a {
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: #4b5870 !important;
  padding: 6px 10px !important;
}
.widget_product_categories .children .children {
  border-left-color: #f1f5f9 !important;
}

/* --- Tag filter widget --- */
.vlg-tag-filter-widget {
  padding: 14px 16px 16px;
}
.vlg-tag-filter {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.vlg-tag-filter-search {
  position: relative;
}
.vlg-tag-filter-input {
  width: 100%;
  height: 38px;
  padding: 0 12px 0 34px;
  border: 1px solid var(--vlg-line);
  border-radius: var(--vlg-radius-pill);
  background: #f8fafc url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23697589' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='7'/><path d='m20 20-3.5-3.5'/></svg>") no-repeat 11px 50%;
  font-size: 13px;
  color: var(--vlg-text);
  transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.vlg-tag-filter-input:focus {
  outline: 0;
  border-color: var(--vlg-primary);
  background-color: #fff;
  box-shadow: 0 0 0 3px var(--vlg-primary-glow);
}
.vlg-tag-filter-list {
  list-style: none;
  margin: 0;
  padding: 4px 4px 4px 0;
  max-height: 280px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 2px;
  scrollbar-width: thin;
}
.vlg-tag-filter-list::-webkit-scrollbar { width: 6px; }
.vlg-tag-filter-list::-webkit-scrollbar-thumb { background: #d4dbe5; border-radius: 999px; }
.vlg-tag-filter-list::-webkit-scrollbar-track { background: transparent; }
.vlg-tag-filter-item label {
  display: flex !important;
  align-items: center;
  gap: 9px;
  padding: 7px 10px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 13px;
  color: var(--vlg-text);
  font-weight: 600;
  transition: background .15s ease, color .15s ease;
}
.vlg-tag-filter-item label:hover {
  background: var(--vlg-primary-soft);
  color: var(--vlg-primary-dark);
}
.vlg-tag-filter-item input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  border: 2px solid var(--vlg-line);
  border-radius: 5px;
  background: #fff;
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: border-color .15s ease, background .15s ease;
  margin: 0;
}
.vlg-tag-filter-item input[type="checkbox"]:checked {
  background: var(--vlg-primary);
  border-color: var(--vlg-primary);
}
.vlg-tag-filter-item input[type="checkbox"]:checked::after {
  content: '';
  width: 10px;
  height: 6px;
  border: 2px solid #fff;
  border-top: 0;
  border-right: 0;
  transform: rotate(-45deg) translate(0px, -1px);
}
.vlg-tag-filter-item input[type="checkbox"]:focus-visible {
  box-shadow: 0 0 0 3px var(--vlg-primary-glow);
  outline: 0;
}
.vlg-tag-filter-item.is-checked label {
  background: var(--vlg-primary-soft);
  color: var(--vlg-primary-dark);
}
.vlg-tag-filter-name {
  flex: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.vlg-tag-filter-count {
  flex: 0 0 auto;
  font-size: 11px;
  font-weight: 700;
  color: #8a96aa;
  padding: 2px 7px;
  background: #f1f5f9;
  border-radius: 999px;
  min-width: 24px;
  text-align: center;
}
.vlg-tag-filter-item.is-checked .vlg-tag-filter-count {
  background: var(--vlg-primary);
  color: #fff;
}
.vlg-tag-filter-empty {
  padding: 14px 10px;
  text-align: center;
  font-size: 12px;
  color: var(--vlg-muted);
  font-style: italic;
}
.vlg-tag-filter-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  padding-top: 4px;
  border-top: 1px solid var(--vlg-line);
}
.vlg-tag-filter-apply {
  flex: 1;
  padding: 10px 14px;
  border: 0;
  border-radius: var(--vlg-radius-pill);
  background: linear-gradient(135deg, var(--vlg-primary) 0%, var(--vlg-primary-dark) 100%);
  color: #fff;
  font-weight: 800;
  font-size: 13px;
  letter-spacing: .01em;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
  box-shadow: 0 6px 14px rgba(242, 138, 0, .22);
}
.vlg-tag-filter-apply:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(242, 138, 0, .32);
  filter: brightness(1.04);
}
.vlg-tag-filter-clear {
  font-size: 12px;
  color: var(--vlg-muted);
  text-decoration: none;
  font-weight: 700;
  padding: 8px 10px;
  border-radius: 8px;
  transition: color .15s ease, background .15s ease;
}
.vlg-tag-filter-clear:hover {
  color: var(--vlg-danger);
  background: rgba(220, 38, 38, .08);
}

/* --- Active filter chips above the product grid --- */
.vlg-active-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 14px 18px;
  margin: 0 0 18px;
  background: #fff;
  border: 1px solid var(--vlg-line);
  border-radius: var(--vlg-radius-md);
  box-shadow: var(--vlg-shadow-sm);
}
.vlg-active-filters-label {
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--vlg-muted);
  margin-right: 4px;
}
.vlg-active-filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 6px 5px 12px;
  background: var(--vlg-primary-soft);
  color: var(--vlg-primary-dark) !important;
  border: 1px solid #ffd9a8;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none !important;
  transition: background .15s ease, transform .12s ease, border-color .15s ease;
}
.vlg-active-filter-chip:hover,
.vlg-active-filter-chip:focus-visible {
  background: var(--vlg-primary);
  color: #fff !important;
  border-color: var(--vlg-primary);
  transform: translateY(-1px);
}
.vlg-active-filter-x {
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .55);
  font-size: 14px;
  line-height: 1;
  font-weight: 700;
}
.vlg-active-filter-chip:hover .vlg-active-filter-x {
  background: rgba(255, 255, 255, .25);
}
.vlg-active-filter-clear-all {
  margin-left: auto;
  font-size: 12px;
  color: var(--vlg-muted);
  font-weight: 700;
  text-decoration: underline;
}
.vlg-active-filter-clear-all:hover {
  color: var(--vlg-danger);
}

@media (max-width: 600px) {
  .vlg-active-filters { padding: 12px; gap: 6px; }
  .vlg-active-filters-label { font-size: 11px; width: 100%; margin-bottom: 4px; }
  .vlg-active-filter-clear-all { width: 100%; text-align: right; }
  .vlg-tag-filter-list { max-height: 240px; }
}

/* ===== v1.4.10 Collapsible sidebar widgets + category tree toggles =====
 * Each widget header in the shop sidebar is now a clickable chevron-style
 * dropdown — clicking collapses or expands the whole widget body.
 * Inside the categories widget, every parent category with .children
 * gets its own little chevron button so the tree can be folded.
 * State persists in localStorage (handled by JS).
 */

/* --- Widget-level collapse --- */
.vlg-shop-sidebar .vlg-widget-toggle {
  cursor: pointer;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  user-select: none;
  -webkit-user-select: none;
  width: 100%;
  text-align: left;
  background: transparent;
  border: 0;
  position: relative;
  transition: color .15s ease;
}
.vlg-shop-sidebar .vlg-widget-toggle:hover {
  color: var(--vlg-primary);
}
.vlg-shop-sidebar .vlg-widget-toggle:focus-visible {
  outline: 3px solid var(--vlg-primary-glow);
  outline-offset: 2px;
  border-radius: 6px;
}
.vlg-shop-sidebar .vlg-widget-chevron {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  background: #f4f7fb;
  border-radius: 50%;
  color: var(--vlg-muted);
  transition: transform .25s cubic-bezier(.4, 0, .2, 1),
              background .15s ease,
              color .15s ease;
}
.vlg-shop-sidebar .vlg-widget-chevron::before {
  content: '';
  width: 6px;
  height: 6px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  margin-top: -2px;
  display: block;
}
.vlg-shop-sidebar .vlg-widget-toggle:hover .vlg-widget-chevron {
  background: var(--vlg-primary-soft);
  color: var(--vlg-primary-dark);
}
.vlg-shop-sidebar .vlg-widget.is-collapsed .vlg-widget-chevron {
  transform: rotate(-90deg);
}
.vlg-shop-sidebar .vlg-widget-body {
  /* Smooth expand by animating max-height and opacity. The "open" max
   * is intentionally generous so even tall lists open fully. */
  overflow: hidden;
  max-height: 1500px;
  opacity: 1;
  transition: max-height .35s cubic-bezier(.4, 0, .2, 1),
              opacity .2s ease,
              padding .25s ease;
}
.vlg-shop-sidebar .vlg-widget.is-collapsed .vlg-widget-body {
  max-height: 0;
  opacity: 0;
  padding-top: 0;
  padding-bottom: 0;
}
/* When collapsed, lose the bottom border under the title so it looks tidy */
.vlg-shop-sidebar .vlg-widget.is-collapsed .vlg-widget-toggle {
  border-bottom-color: transparent !important;
  margin-bottom: 0 !important;
  padding-bottom: 14px !important;
}

/* --- Category tree per-item toggle --- */
.widget_product_categories .vlg-cat-has-children {
  position: relative;
}
.widget_product_categories .vlg-cat-has-children > a {
  /* Leave room on the right for the toggle button */
  padding-right: 38px !important;
}
.widget_product_categories .vlg-cat-toggle {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  background: transparent;
  border: 0;
  border-radius: 8px;
  color: var(--vlg-muted);
  cursor: pointer;
  z-index: 2;
  transition: background .15s ease, color .15s ease, transform .25s cubic-bezier(.4, 0, .2, 1);
}
.widget_product_categories .vlg-cat-toggle::before {
  content: '';
  width: 7px;
  height: 7px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  margin-top: -2px;
  display: block;
  transition: transform .25s cubic-bezier(.4, 0, .2, 1);
}
.widget_product_categories .vlg-cat-toggle:hover {
  background: var(--vlg-primary-soft);
  color: var(--vlg-primary-dark);
}
.widget_product_categories .vlg-cat-toggle:focus-visible {
  outline: 0;
  background: var(--vlg-primary-soft);
  box-shadow: 0 0 0 3px var(--vlg-primary-glow);
}
.widget_product_categories .vlg-cat-has-children.is-collapsed .vlg-cat-toggle::before {
  transform: rotate(-45deg);
  margin-top: 2px;
  margin-right: -2px;
}
.widget_product_categories .vlg-cat-has-children.is-collapsed > .children {
  display: none;
}
/* Subtle visual cue — collapsed parent items also get the count chip
 * marked with a tiny "+N" hint via the existing count, no extra DOM. */

/* For nested children, push the toggle slightly inward */
.widget_product_categories .children .vlg-cat-toggle {
  width: 24px;
  height: 24px;
  top: 2px;
}
.widget_product_categories .children .vlg-cat-toggle::before {
  width: 6px;
  height: 6px;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .vlg-shop-sidebar .vlg-widget-body { transition: none; }
  .vlg-shop-sidebar .vlg-widget-chevron,
  .widget_product_categories .vlg-cat-toggle::before { transition: none; }
}

@media (max-width: 600px) {
  /* Touch-friendly chevron + toggle areas on small screens */
  .vlg-shop-sidebar .vlg-widget-chevron { width: 24px; height: 24px; }
  .widget_product_categories .vlg-cat-toggle { width: 32px; height: 32px; top: 6px; right: 6px; }
}


/* ==========================================================================
   Valgusallikad v1.4.12 cleanup
   Eesmärk: vähem visuaalset müra, puhtam avaleht/tooteleht ja lihtsam mobiil.
   ========================================================================== */

:root {
  --vlg-page-bg-clean: #f7f9fc;
  --vlg-card-border-clean: #edf1f7;
  --vlg-shadow-clean: 0 10px 28px rgba(9, 23, 44, .055);
  --vlg-shadow-clean-hover: 0 16px 38px rgba(9, 23, 44, .085);
}

body.vlg-theme,
body {
  background: var(--vlg-page-bg-clean) !important;
}

.vlg-container {
  width: min(var(--vlg-container), calc(100% - 48px));
}

.vlg-site-header,
.vlg-main-header,
.vlg-nav,
.vlg-product-card,
.vlg-category-card,
.vlg-trust-item,
.vlg-product-gallery-card,
.vlg-product-summary-card,
.vlg-product-sidecard,
.vlg-product-tabs,
.vlg-related-card,
.vlg-footer {
  -webkit-font-smoothing: antialiased;
}

/* Header: puhtam ja madalam, ilma liigse raskuseta */
.vlg-site-header {
  box-shadow: 0 1px 0 rgba(9, 23, 44, .075) !important;
}

.vlg-topbar {
  font-size: 13px;
}

.vlg-main-header-inner {
  min-height: 78px !important;
  gap: 24px !important;
}

.vlg-brand {
  min-width: 210px;
}

.custom-logo {
  max-height: 58px !important;
}

.vlg-search {
  box-shadow: none !important;
  border-color: #e7edf6 !important;
  background: #fbfcfe !important;
}

.vlg-search button {
  box-shadow: none !important;
}

.vlg-category-button {
  box-shadow: none !important;
}

/* Hero: dot-pattern ja glow olid pildi järgi liiga mürased */
.vlg-hero {
  margin-top: 22px !important;
  min-height: 276px !important;
  padding: 34px 44px !important;
  border-radius: 22px !important;
  box-shadow: 0 14px 34px rgba(7, 18, 36, .10) !important;
  background-color: #081527;
}

.vlg-hero::before {
  opacity: .24 !important;
  background-size: 30px 30px !important;
}

.vlg-hero h1 {
  max-width: 580px;
  font-size: clamp(32px, 3.7vw, 50px) !important;
  letter-spacing: -.045em;
  text-shadow: 0 8px 24px rgba(0,0,0,.18) !important;
}

.vlg-hero p {
  max-width: 560px;
  font-size: 17px !important;
  color: #d9e3ef !important;
}

.vlg-hero-benefits {
  background: rgba(8, 18, 36, .58) !important;
  border-color: rgba(255,255,255,.13) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.vlg-hero-benefits div:hover {
  padding-left: 0 !important;
}

/* Kaardid: ühtlasemad, vähem varju ja puhtam taust */
.vlg-trust-grid,
.vlg-category-grid,
ul.products,
.vlg-products-grid,
.vlg-related-grid {
  gap: 16px !important;
}

.vlg-trust-grid {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.vlg-trust-item,
.vlg-category-card,
.vlg-product-card,
.vlg-product-gallery-card,
.vlg-product-summary-card,
.vlg-product-sidecard,
.vlg-product-tabs,
.vlg-related-card,
.vlg-shop-sidebar .widget,
.vlg-product-info-card,
.vlg-cart-box,
.vlg-checkout-box {
  border: 1px solid var(--vlg-card-border-clean) !important;
  box-shadow: var(--vlg-shadow-clean) !important;
  background: #fff !important;
}

.vlg-category-card:hover,
.vlg-product-card:hover,
.vlg-related-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--vlg-shadow-clean-hover) !important;
}

.vlg-card-image-wrap,
.vlg-related-card .vlg-related-image,
.vlg-product-gallery-main {
  background: #fff !important;
}

.vlg-card-content h2,
.woocommerce-loop-product__title {
  font-size: 15px !important;
  line-height: 1.28 !important;
}

.vlg-card-category {
  letter-spacing: .055em !important;
}

.vlg-card-cart,
.vlg-card-actions .button,
a.added_to_cart,
.single_add_to_cart_button,
.checkout-button {
  box-shadow: none !important;
}

/* Tooteleht: vähem müra ja parem fookus ostuplokile */
.vlg-product-main-grid {
  gap: 22px !important;
  align-items: start;
}

.vlg-product-summary-card {
  padding: 26px !important;
  border-radius: 18px !important;
}

.vlg-product-summary-card h1,
.product_title.entry-title {
  font-size: clamp(28px, 3vw, 40px) !important;
  line-height: 1.03 !important;
}

.vlg-product-meta-grid {
  gap: 10px !important;
}

.vlg-product-meta-item {
  background: #f8fafc !important;
  border-color: #e9eef6 !important;
}

.vlg-product-tabs,
.vlg-product-info-card {
  border-radius: 18px !important;
}

/* Footer: kompaktsem ja kergem */
.vlg-footer {
  margin-top: 44px;
  padding-top: 38px !important;
}

.vlg-footer-grid {
  gap: 34px !important;
}

/* Mobiil: vähem infot, vähem müra, lihtsam ostukogemus */
@media (max-width: 767px) {
  .vlg-container {
    width: min(100% - 24px, var(--vlg-container));
  }

  .vlg-topbar {
    display: none !important;
  }

  .vlg-main-header-inner {
    min-height: 64px !important;
    grid-template-columns: auto 1fr auto !important;
    gap: 10px !important;
    padding: 8px 0 !important;
  }

  .vlg-brand {
    min-width: 0 !important;
  }

  .custom-logo {
    max-height: 40px !important;
    max-width: 165px !important;
  }

  .vlg-mobile-toggle {
    width: 42px !important;
    height: 42px !important;
  }

  .vlg-header-actions {
    gap: 4px !important;
  }

  .vlg-header-actions .vlg-wishlist-link,
  .vlg-header-actions .vlg-account-link {
    display: none !important;
  }

  .vlg-header-actions a {
    min-width: 40px !important;
    min-height: 40px !important;
    padding: 4px !important;
  }

  .vlg-header-search {
    margin-top: 4px;
  }

  .vlg-search {
    border-radius: 12px !important;
    min-height: 42px !important;
  }

  .vlg-search input[type="search"] {
    height: 34px !important;
    font-size: 14px !important;
  }

  .vlg-search button {
    min-height: 34px !important;
    padding: 7px 12px !important;
  }

  .vlg-hero {
    margin: 14px 0 12px !important;
    padding: 22px 18px !important;
    border-radius: 16px !important;
    min-height: 0 !important;
    display: block !important;
  }

  .vlg-hero::before {
    opacity: .12 !important;
  }

  .vlg-kicker {
    font-size: 11px !important;
    margin-bottom: 8px !important;
  }

  .vlg-hero h1 {
    font-size: 27px !important;
    line-height: 1.02 !important;
    margin-bottom: 10px !important;
  }

  .vlg-hero p {
    font-size: 14px !important;
    line-height: 1.45 !important;
    margin-bottom: 14px !important;
  }

  .vlg-hero-actions .vlg-btn-ghost,
  .vlg-hero-benefits {
    display: none !important;
  }

  .vlg-hero-actions .vlg-btn,
  .vlg-btn {
    width: auto;
    padding: 10px 14px !important;
    font-size: 13px !important;
  }

  .vlg-trust-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    margin-bottom: 16px !important;
  }

  .vlg-trust-item {
    padding: 12px 10px !important;
    gap: 8px !important;
    border-radius: 12px !important;
  }

  .vlg-trust-item:nth-child(n+3) {
    display: none !important;
  }

  .vlg-trust-item > span {
    width: 34px !important;
    height: 34px !important;
    font-size: 18px !important;
  }

  .vlg-trust-item strong {
    font-size: 12px !important;
    line-height: 1.2 !important;
  }

  .vlg-trust-item small,
  .vlg-category-card small,
  .vlg-category-card span,
  .vlg-card-rating,
  .vlg-card-category,
  .vlg-product-breadcrumb,
  .woocommerce-breadcrumb {
    display: none !important;
  }

  .vlg-section {
    margin: 18px 0 !important;
  }

  .vlg-section-head {
    margin-bottom: 10px !important;
  }

  .vlg-section-head h1,
  .vlg-section-head h2 {
    font-size: 22px !important;
  }

  .vlg-category-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  .vlg-category-card {
    grid-template-columns: 42px 1fr !important;
    min-height: 76px !important;
    padding: 12px !important;
    border-radius: 12px !important;
    gap: 10px !important;
  }

  .vlg-category-card img {
    width: 42px !important;
    height: 42px !important;
  }

  .vlg-category-card strong {
    font-size: 13px !important;
    line-height: 1.18 !important;
  }

  .vlg-shop-products ul.products,
  ul.products,
  .vlg-products-grid,
  .vlg-related-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  .vlg-product-card {
    border-radius: 12px !important;
  }

  .vlg-card-image-wrap {
    aspect-ratio: 1 / 1 !important;
    padding: 10px !important;
  }

  .vlg-card-image-wrap img {
    max-height: 118px !important;
  }

  .vlg-card-content {
    padding: 10px 10px 4px !important;
  }

  .vlg-card-content h2,
  .woocommerce-loop-product__title {
    min-height: 38px !important;
    font-size: 12.5px !important;
    line-height: 1.25 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .vlg-card-price,
  .vlg-card-price .price {
    font-size: 13px !important;
  }

  .vlg-card-actions {
    display: none !important;
  }

  .vlg-product-main-grid {
    gap: 12px !important;
  }

  .vlg-product-gallery-card,
  .vlg-product-summary-card,
  .vlg-product-info-card,
  .vlg-product-tabs {
    padding: 14px !important;
    border-radius: 14px !important;
  }

  .vlg-product-summary-card h1,
  .product_title.entry-title {
    font-size: 25px !important;
  }

  .vlg-product-sidecard,
  .vlg-product-meta,
  .vlg-product-tags,
  .vlg-product-sku,
  .vlg-product-cats {
    display: none !important;
  }

  .vlg-product-meta-grid {
    grid-template-columns: 1fr !important;
  }

  .quantity,
  .vlg-product-summary-card form.cart {
    width: 100% !important;
  }

  .single_add_to_cart_button,
  .vlg-add-to-cart,
  .vlg-product-summary-card .button {
    width: 100% !important;
    min-height: 46px !important;
  }

  .vlg-related-card:nth-child(n+5) {
    display: none !important;
  }

  .vlg-footer {
    margin-top: 28px !important;
    padding-top: 26px !important;
  }

  .vlg-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .vlg-footer-grid > *:nth-child(n+3) {
    display: none !important;
  }
}

@media (max-width: 420px) {
  .vlg-shop-products ul.products,
  ul.products,
  .vlg-products-grid,
  .vlg-related-grid,
  .vlg-category-grid,
  .vlg-trust-grid {
    grid-template-columns: 1fr !important;
  }

  .vlg-card-image-wrap img {
    max-height: 150px !important;
  }
}

/* ==========================================================================
   Valgusallikad v1.4.13 premium view
   Parem desktop + mobiil: puhtam header, rahulikum hero, tugevamad tooted,
   tootelehel 2 veergu + teenuseinfo horisontaalselt, mobiilis vähem müra.
   ========================================================================== */

:root {
  --vlg-v1413-bg: #f4f7fb;
  --vlg-v1413-surface: #ffffff;
  --vlg-v1413-border: #e8eef6;
  --vlg-v1413-border-strong: #dbe5f0;
  --vlg-v1413-text: #111c2e;
  --vlg-v1413-muted: #6a7688;
  --vlg-v1413-soft-orange: #fff4e4;
  --vlg-v1413-shadow-xs: 0 1px 2px rgba(9, 23, 44, .035);
  --vlg-v1413-shadow-sm: 0 8px 22px rgba(9, 23, 44, .055);
  --vlg-v1413-shadow-md: 0 16px 38px rgba(9, 23, 44, .075);
  --vlg-v1413-shadow-lg: 0 24px 60px rgba(9, 23, 44, .12);
}

html { scroll-behavior: smooth; }
body.vlg-theme,
body {
  color: var(--vlg-v1413-text) !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(242, 138, 0, .055), transparent 28%),
    linear-gradient(180deg, #f8fafc 0%, var(--vlg-v1413-bg) 55%, #f7f9fc 100%) !important;
}

.vlg-container {
  width: min(var(--vlg-container), calc(100% - 56px)) !important;
}

/* Header: vähem infot korraga, rohkem premium tunnet */
.vlg-site-header {
  position: sticky;
  top: 0;
  z-index: 80;
  background: rgba(255,255,255,.92) !important;
  backdrop-filter: saturate(145%) blur(14px);
  box-shadow: 0 1px 0 rgba(9,23,44,.07), 0 8px 30px rgba(9,23,44,.04) !important;
}
.admin-bar .vlg-site-header { top: 32px; }
.vlg-topbar {
  background: #071224 !important;
  color: #e9f0f8 !important;
}
.vlg-topbar-inner { min-height: 30px !important; }
.vlg-main-header { background: transparent !important; }
.vlg-main-header-inner {
  min-height: 74px !important;
  gap: 22px !important;
}
.vlg-brand { min-width: 205px !important; }
.custom-logo { max-height: 50px !important; }
.vlg-search {
  min-height: 48px !important;
  padding: 4px 5px 4px 16px !important;
  background: #fff !important;
  border: 1px solid var(--vlg-v1413-border) !important;
  box-shadow: var(--vlg-v1413-shadow-xs) !important;
}
.vlg-search:focus-within {
  border-color: rgba(242,138,0,.55) !important;
  box-shadow: 0 0 0 4px rgba(242,138,0,.11), var(--vlg-v1413-shadow-sm) !important;
}
.vlg-search input[type="search"] { height: 38px !important; }
.vlg-search button {
  min-height: 38px !important;
  padding: 9px 22px !important;
  background: linear-gradient(135deg, #ff9b11, #ea7600) !important;
  box-shadow: none !important;
}
.vlg-header-actions { gap: 8px !important; }
.vlg-header-actions a {
  min-height: 42px;
  padding: 8px 10px;
  border-radius: 14px !important;
}
.vlg-header-actions a:hover {
  background: #fff4e4 !important;
  color: #c76200 !important;
}
.vlg-cart-link {
  background: #fff7ec !important;
  border: 1px solid rgba(242,138,0,.16);
}
.vlg-badge {
  background: #ff8a00 !important;
  box-shadow: 0 4px 10px rgba(242,138,0,.25);
}
.vlg-nav {
  background: rgba(255,255,255,.72) !important;
  border-top-color: rgba(232,238,246,.82) !important;
  border-bottom-color: rgba(232,238,246,.82) !important;
}
.vlg-nav-inner { min-height: 54px !important; }
.vlg-category-button {
  min-width: 220px !important;
  padding: 13px 18px !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, #071224 0%, #111f35 100%) !important;
}
.vlg-primary-menu { gap: 24px !important; }
.vlg-primary-menu a {
  position: relative;
  padding: 7px 0;
  font-weight: 850 !important;
}
.vlg-primary-menu a::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  border-radius: 999px;
  background: var(--vlg-primary);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .18s ease;
}
.vlg-primary-menu .current-menu-item > a::after,
.vlg-primary-menu a:hover::after { transform: scaleX(1); }

/* Avaleht: vähem taustamüra ja selgem fookus */
.vlg-home { padding-bottom: 38px !important; }
.vlg-hero {
  position: relative;
  isolation: isolate;
  margin: 24px 0 18px !important;
  min-height: 300px !important;
  grid-template-columns: minmax(0,1fr) 290px !important;
  padding: 40px 48px !important;
  border-radius: 28px !important;
  box-shadow: var(--vlg-v1413-shadow-lg) !important;
  background-size: cover !important;
  background-position: center right !important;
}
.vlg-hero::before {
  opacity: .10 !important;
  background-size: 42px 42px !important;
}
.vlg-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(7,18,36,.18), transparent 58%);
}
.vlg-hero > * { position: relative; z-index: 1; }
.vlg-kicker {
  color: #ffb44f !important;
  font-size: 12px !important;
  letter-spacing: .13em !important;
}
.vlg-hero h1 {
  max-width: 600px !important;
  font-size: clamp(34px, 4vw, 54px) !important;
  line-height: .96 !important;
  letter-spacing: -.055em !important;
  margin-bottom: 14px !important;
  text-wrap: balance;
}
.vlg-hero p {
  max-width: 570px !important;
  font-size: 17px !important;
  line-height: 1.55 !important;
  color: #e5edf7 !important;
}
.vlg-hero-actions { gap: 10px !important; }
.vlg-btn,
.vlg-btn-primary,
.vlg-btn-ghost,
.vlg-card-cart,
.single_add_to_cart_button,
.checkout-button {
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease !important;
}
.vlg-btn-primary,
.single_add_to_cart_button,
.checkout-button,
.vlg-card-cart,
.vlg-card-actions .button {
  background: linear-gradient(135deg, #ff9b11, #ea7600) !important;
}
.vlg-btn-primary:hover,
.single_add_to_cart_button:hover,
.checkout-button:hover,
.vlg-card-cart:hover,
.vlg-card-actions .button:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 14px 30px rgba(242,138,0,.22) !important;
}
.vlg-hero-benefits {
  border-radius: 22px !important;
  background: rgba(255,255,255,.09) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 16px 36px rgba(0,0,0,.16) !important;
}
.vlg-hero-benefits div { grid-template-columns: 38px 1fr !important; gap: 12px !important; }
.vlg-hero-benefits span { width: 38px !important; height: 38px !important; }

/* Trust + category blocks */
.vlg-trust-grid {
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  gap: 12px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  margin-bottom: 28px !important;
}
.vlg-trust-item {
  position: relative;
  overflow: hidden;
  min-height: 78px;
  padding: 16px 18px !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.88) !important;
  border: 1px solid var(--vlg-v1413-border) !important;
  box-shadow: var(--vlg-v1413-shadow-sm) !important;
}
.vlg-trust-item::after {
  content: '';
  position: absolute;
  inset: auto -30px -42px auto;
  width: 92px;
  height: 92px;
  background: rgba(242,138,0,.08);
  border-radius: 50%;
}
.vlg-trust-item > span {
  width: 42px !important;
  height: 42px !important;
  font-size: 20px !important;
  background: var(--vlg-v1413-soft-orange) !important;
}
.vlg-section { margin: 30px 0 !important; }
.vlg-section-head { margin-bottom: 16px !important; }
.vlg-section-head h1,
.vlg-section-head h2 {
  font-size: clamp(24px, 2vw, 34px) !important;
  letter-spacing: -.045em !important;
}
.vlg-section-head h1::after,
.vlg-section-head h2::after {
  content: '';
  display: block;
  width: 42px;
  height: 3px;
  margin-top: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--vlg-primary), transparent);
}
.vlg-category-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 14px !important;
}
.vlg-category-card {
  position: relative;
  grid-template-columns: 54px 1fr !important;
  gap: 12px !important;
  min-height: 92px !important;
  padding: 15px !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.92) !important;
  border: 1px solid var(--vlg-v1413-border) !important;
  box-shadow: var(--vlg-v1413-shadow-sm) !important;
}
.vlg-category-card::before { display: none !important; }
.vlg-category-card:hover {
  border-color: rgba(242,138,0,.26) !important;
  box-shadow: var(--vlg-v1413-shadow-md) !important;
}
.vlg-category-card img {
  width: 54px !important;
  height: 54px !important;
  padding: 7px !important;
  border-radius: 16px !important;
  background: #f7f9fc !important;
}
.vlg-category-card strong {
  font-size: 13px !important;
  line-height: 1.22 !important;
  text-transform: uppercase;
}
.vlg-category-card small { display: none !important; }
.vlg-category-card span {
  margin-top: 5px !important;
  color: var(--vlg-primary) !important;
}

/* Product cards: ühtlasem kõrgus, puhtam pilt, CTA nähtav */
ul.products,
.vlg-products-grid,
.vlg-shop-products ul.products,
.vlg-related-grid {
  gap: 18px !important;
}
.vlg-product-card {
  border-radius: 20px !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid var(--vlg-v1413-border) !important;
  box-shadow: var(--vlg-v1413-shadow-sm) !important;
}
.vlg-product-card:hover {
  transform: translateY(-3px) !important;
  border-color: rgba(242,138,0,.25) !important;
  box-shadow: var(--vlg-v1413-shadow-md) !important;
}
.vlg-card-image-wrap {
  aspect-ratio: 1 / .92 !important;
  padding: 18px !important;
  background: linear-gradient(180deg, #fff 0%, #fbfcfe 100%) !important;
}
.vlg-card-image-wrap::before { display: none !important; }
.vlg-card-image-wrap::after {
  background: radial-gradient(circle at 50% 100%, rgba(242,138,0,.07), transparent 62%) !important;
}
.vlg-card-image-wrap img,
.vlg-product-card .wp-post-image {
  max-height: 178px !important;
  width: auto !important;
  object-fit: contain !important;
}
.vlg-card-content {
  padding: 14px 15px 8px !important;
}
.vlg-card-category {
  color: #e07800 !important;
  font-size: 10px !important;
  letter-spacing: .075em !important;
}
.vlg-card-content h2,
.woocommerce-loop-product__title {
  min-height: 42px;
  color: var(--vlg-v1413-text) !important;
  font-size: 14px !important;
  line-height: 1.32 !important;
  font-weight: 850 !important;
  margin: 6px 0 8px !important;
}
.vlg-card-price,
.vlg-card-price .price,
.vlg-card-price .amount {
  color: #f08400 !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}
.vlg-card-actions {
  display: block !important;
  padding: 0 15px 15px !important;
}
.vlg-card-cart,
.vlg-card-actions .button {
  min-height: 40px !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  box-shadow: none !important;
}

/* Tooteleht: parem desktop-vaade. Galerii + info, teenuseinfo all reas. */
.vlg-single-product-page {
  padding-top: 16px !important;
}
.vlg-breadcrumbs,
.woocommerce-breadcrumb {
  color: var(--vlg-v1413-muted) !important;
  font-size: 12px !important;
}
.vlg-product-main-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.06fr) minmax(380px, .94fr) !important;
  gap: 22px !important;
  align-items: start !important;
}
.vlg-product-gallery-card,
.vlg-product-summary-card,
.vlg-product-sidecard,
.vlg-product-tab,
.vlg-product-tabs,
.vlg-product-info-card {
  border: 1px solid var(--vlg-v1413-border) !important;
  background: rgba(255,255,255,.95) !important;
  box-shadow: var(--vlg-v1413-shadow-sm) !important;
}
.vlg-product-gallery-card {
  min-height: 520px !important;
  border-radius: 24px !important;
  padding: 30px !important;
}
.vlg-product-gallery-card .woocommerce-product-gallery__image img {
  max-height: 440px !important;
}
.vlg-product-summary-card {
  position: sticky;
  top: 130px;
  border-radius: 24px !important;
  padding: 30px !important;
}
.admin-bar .vlg-product-summary-card { top: 162px; }
.vlg-pill {
  background: #fff4e4 !important;
  color: #db7100 !important;
  border: 1px solid rgba(242,138,0,.12);
}
.vlg-product-summary-card h1,
.product_title.entry-title,
.woocommerce div.product .product_title {
  color: #101a2b !important;
  font-size: clamp(30px, 3vw, 46px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.055em !important;
  text-wrap: balance;
}
.vlg-product-price .price,
.vlg-product-price p.price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: #f08400 !important;
  font-size: 30px !important;
  font-weight: 950 !important;
}
.vlg-product-excerpt {
  color: var(--vlg-v1413-muted) !important;
  line-height: 1.62 !important;
}
.vlg-product-specs {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 18px 0 20px !important;
}
.vlg-product-specs div {
  background: #f8fafc !important;
  border: 1px solid var(--vlg-v1413-border) !important;
  border-radius: 14px !important;
  padding: 12px !important;
}
.vlg-product-buybox {
  margin: 20px 0 !important;
  padding: 16px !important;
  border-radius: 18px !important;
  background: #fff !important;
  border: 1px solid var(--vlg-v1413-border) !important;
  box-shadow: 0 10px 24px rgba(9,23,44,.055) !important;
}
.vlg-product-buybox form.cart {
  align-items: center !important;
  gap: 12px !important;
}
.vlg-product-buybox .quantity,
.quantity .qty {
  height: 50px !important;
  border-radius: 999px !important;
}
.single_add_to_cart_button {
  min-height: 50px !important;
  border-radius: 999px !important;
  box-shadow: none !important;
}
.vlg-product-sidecard {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  padding: 0 !important;
  margin: 18px 0 24px !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
.vlg-side-feature {
  min-height: 94px;
  border: 1px solid var(--vlg-v1413-border) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: var(--vlg-v1413-shadow-sm) !important;
  padding: 16px !important;
  grid-template-columns: 42px 1fr !important;
}
.vlg-side-feature > span {
  width: 42px !important;
  height: 42px !important;
  background: #fff4e4 !important;
}
.vlg-product-sidecard .vlg-payment-badges {
  grid-column: 1 / -1 !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.72) !important;
  border: 1px solid var(--vlg-v1413-border) !important;
}
.vlg-product-tabs {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 16px !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
.vlg-product-tab {
  border-radius: 20px !important;
  overflow: hidden;
}
.vlg-product-tab summary {
  padding: 18px 22px !important;
  background: #fff !important;
}
.vlg-tab-content { padding: 0 22px 22px !important; }
.related.products > h2,
.up-sells.products > h2 {
  font-size: clamp(24px, 2vw, 32px) !important;
  letter-spacing: -.04em !important;
}

/* Shop/archive: parem filtriplokk ja ruudustik */
.vlg-shop-layout { gap: 26px !important; }
.vlg-shop-sidebar .widget,
.vlg-widget {
  border-radius: 20px !important;
  border: 1px solid var(--vlg-v1413-border) !important;
  background: #fff !important;
  box-shadow: var(--vlg-v1413-shadow-sm) !important;
}
.vlg-shop-head {
  border-radius: 22px !important;
  border: 1px solid var(--vlg-v1413-border) !important;
  box-shadow: var(--vlg-v1413-shadow-sm) !important;
}

/* Footer: professionaalsem ja mitte nii raske */
.vlg-footer {
  margin-top: 54px !important;
  padding: 44px 0 24px !important;
  background: linear-gradient(180deg, #071224 0%, #071222 100%) !important;
}
.vlg-footer-grid { gap: 42px !important; }
.vlg-footer a:hover { color: #ffb44f !important; }

/* Tablet */
@media (max-width: 1180px) {
  .vlg-category-grid { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
  .vlg-product-main-grid { grid-template-columns: 1fr 1fr !important; }
  .vlg-product-summary-card { position: static !important; }
  .vlg-product-sidecard { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .vlg-product-specs { grid-template-columns: 1fr 1fr !important; }
}

/* Mobile: lihtsam, vähem infot, ostunupud alles */
@media (max-width: 767px) {
  body.vlg-theme,
  body {
    background: #f6f8fb !important;
  }
  .vlg-container {
    width: min(100% - 22px, var(--vlg-container)) !important;
  }
  .admin-bar .vlg-site-header,
  .vlg-site-header { top: 0 !important; position: sticky; }
  .vlg-topbar { display: none !important; }
  .vlg-main-header-inner {
    grid-template-columns: auto 1fr auto !important;
    min-height: 62px !important;
    gap: 8px !important;
    padding: 7px 0 !important;
  }
  .vlg-header-brand-row {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
  }
  .vlg-mobile-toggle {
    display: grid !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 13px !important;
    box-shadow: none !important;
  }
  .vlg-brand { min-width: 0 !important; }
  .custom-logo { max-height: 36px !important; max-width: 145px !important; }
  .vlg-header-actions .vlg-account-link,
  .vlg-header-actions .vlg-wishlist-link { display: none !important; }
  .vlg-header-actions a {
    min-width: 40px !important;
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    justify-content: center;
  }
  .vlg-cart-link .vlg-link-label,
  .vlg-cart-link strong { display: none !important; }
  .vlg-badge { top: -5px !important; left: 24px !important; }
  .vlg-header-search {
    grid-column: 1 / -1 !important;
    order: 3 !important;
    margin-top: 2px !important;
  }
  .vlg-search { min-height: 42px !important; border-radius: 14px !important; }
  .vlg-search-icon { font-size: 18px !important; }
  .vlg-search input[type="search"] { height: 32px !important; font-size: 14px !important; }
  .vlg-search button { min-height: 32px !important; padding: 7px 12px !important; font-size: 12px !important; }
  .vlg-nav.is-open {
    display: block !important;
    position: fixed;
    left: 10px;
    right: 10px;
    top: 72px;
    max-height: calc(100vh - 86px);
    overflow: auto;
    border-radius: 18px;
    border: 1px solid var(--vlg-v1413-border) !important;
    box-shadow: var(--vlg-v1413-shadow-lg) !important;
  }
  .vlg-nav-inner { padding: 12px !important; }
  .vlg-category-button { min-width: 0 !important; width: 100% !important; }
  .vlg-category-dropdown { border-radius: 14px !important; }
  .vlg-primary-menu { gap: 0 !important; }
  .vlg-primary-menu a { padding: 11px 4px !important; }

  .vlg-hero {
    margin: 12px 0 12px !important;
    min-height: 0 !important;
    display: block !important;
    padding: 24px 18px !important;
    border-radius: 20px !important;
    background-position: center !important;
    box-shadow: var(--vlg-v1413-shadow-sm) !important;
  }
  .vlg-hero::before { opacity: .06 !important; }
  .vlg-hero::after { background: rgba(7,18,36,.08) !important; }
  .vlg-kicker { font-size: 10px !important; margin-bottom: 7px !important; }
  .vlg-hero h1 {
    font-size: clamp(27px, 8vw, 38px) !important;
    line-height: 1.02 !important;
    margin-bottom: 9px !important;
  }
  .vlg-hero p {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 14px !important;
    line-height: 1.45 !important;
    margin-bottom: 14px !important;
  }
  .vlg-hero-actions .vlg-btn-ghost,
  .vlg-hero-payments,
  .vlg-hero-benefits { display: none !important; }
  .vlg-hero-actions .vlg-btn { width: 100% !important; min-height: 44px !important; }

  .vlg-trust-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 9px !important;
    margin-bottom: 18px !important;
  }
  .vlg-trust-item {
    min-height: 66px !important;
    padding: 11px !important;
    gap: 8px !important;
    border-radius: 15px !important;
  }
  .vlg-trust-item:nth-child(n+3) { display: none !important; }
  .vlg-trust-item > span { width: 34px !important; height: 34px !important; font-size: 17px !important; }
  .vlg-trust-item strong { font-size: 12px !important; line-height: 1.18 !important; }
  .vlg-trust-item small { display: none !important; }

  .vlg-section { margin: 20px 0 !important; }
  .vlg-section-head { margin-bottom: 10px !important; }
  .vlg-section-head h1,
  .vlg-section-head h2 { font-size: 22px !important; }
  .vlg-section-head h1::after,
  .vlg-section-head h2::after { width: 32px; margin-top: 6px; }
  .vlg-category-grid { grid-template-columns: 1fr 1fr !important; gap: 9px !important; }
  .vlg-category-card {
    display: flex !important;
    align-items: center !important;
    min-height: 64px !important;
    padding: 10px !important;
    gap: 9px !important;
    border-radius: 15px !important;
  }
  .vlg-category-card img { width: 38px !important; height: 38px !important; padding: 5px !important; border-radius: 12px !important; }
  .vlg-category-card strong { font-size: 12px !important; line-height: 1.16 !important; }
  .vlg-category-card span,
  .vlg-category-card small { display: none !important; }

  .vlg-shop-products ul.products,
  ul.products,
  .vlg-products-grid,
  .vlg-related-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  .vlg-product-card { border-radius: 16px !important; }
  .vlg-card-image-wrap { aspect-ratio: 1 / .96 !important; padding: 10px !important; }
  .vlg-card-image-wrap img,
  .vlg-product-card .wp-post-image { max-height: 118px !important; }
  .vlg-card-content { padding: 10px 10px 5px !important; }
  .vlg-card-category,
  .vlg-card-rating { display: none !important; }
  .vlg-card-content h2,
  .woocommerce-loop-product__title {
    min-height: 34px !important;
    font-size: 12px !important;
    line-height: 1.24 !important;
    margin: 4px 0 6px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .vlg-card-price,
  .vlg-card-price .price,
  .vlg-card-price .amount { font-size: 12.5px !important; }
  .vlg-card-actions {
    display: block !important;
    padding: 0 10px 10px !important;
  }
  .vlg-card-cart,
  .vlg-card-actions .button {
    min-height: 34px !important;
    font-size: 0 !important;
    border-radius: 12px !important;
  }
  .vlg-card-cart::before,
  .vlg-card-actions .button::before {
    content: '🛒' !important;
    font-size: 13px !important;
    margin-right: 4px;
  }
  .vlg-card-cart::after,
  .vlg-card-actions .button::after {
    content: 'Korvi';
    font-size: 12px !important;
  }

  .vlg-single-product-page { padding-top: 8px !important; }
  .vlg-product-main-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .vlg-product-gallery-card,
  .vlg-product-summary-card,
  .vlg-product-tab {
    border-radius: 18px !important;
    padding: 14px !important;
  }
  .vlg-product-gallery-card { min-height: 0 !important; }
  .vlg-product-gallery-card .woocommerce-product-gallery__image img { max-height: 320px !important; }
  .vlg-product-summary-card { position: static !important; }
  .vlg-pill,
  .vlg-product-rating-row .woocommerce-product-rating,
  .product_meta,
  .vlg-product-excerpt,
  .vlg-product-sidecard,
  .vlg-product-specs div:nth-child(n+3) { display: none !important; }
  .vlg-product-summary-card h1,
  .product_title.entry-title,
  .woocommerce div.product .product_title {
    font-size: 25px !important;
    line-height: 1.05 !important;
    margin-bottom: 8px !important;
  }
  .vlg-product-price .price,
  .vlg-product-price p.price,
  .woocommerce div.product p.price,
  .woocommerce div.product span.price {
    font-size: 23px !important;
  }
  .vlg-product-specs { grid-template-columns: 1fr 1fr !important; gap: 8px !important; margin: 12px 0 !important; }
  .vlg-product-specs div { padding: 9px !important; }
  .vlg-product-buybox {
    margin: 12px 0 0 !important;
    padding: 12px !important;
    border-radius: 16px !important;
  }
  .vlg-product-buybox form.cart { display: grid !important; grid-template-columns: 80px 1fr !important; gap: 8px !important; }
  .single_add_to_cart_button { min-width: 0 !important; min-height: 46px !important; }
  .quantity .qty { width: 100% !important; height: 46px !important; }
  .vlg-product-tabs { grid-template-columns: 1fr !important; gap: 10px !important; }
  .vlg-product-tab:not(:first-child) { display: none !important; }
  .vlg-product-tab summary { padding: 14px 16px !important; }
  .vlg-tab-content { padding: 0 16px 16px !important; font-size: 14px !important; }
  .related.products ul.products li:nth-child(n+5),
  .up-sells.products ul.products li:nth-child(n+5) { display: none !important; }

  .vlg-footer { margin-top: 30px !important; padding: 28px 0 18px !important; }
  .vlg-footer-grid { grid-template-columns: 1fr !important; gap: 18px !important; }
  .vlg-footer-col:nth-of-type(n+2) { display: none !important; }
  .vlg-footer-bottom { display: block !important; text-align: center; }
}

@media (max-width: 390px) {
  .vlg-shop-products ul.products,
  ul.products,
  .vlg-products-grid,
  .vlg-related-grid,
  .vlg-category-grid,
  .vlg-trust-grid { grid-template-columns: 1fr !important; }
  .vlg-card-image-wrap img,
  .vlg-product-card .wp-post-image { max-height: 150px !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}


/* ===== v1.4.14 Product energy showcase + stronger grid CTA ===== */
.vlg-product-gallery-card {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.vlg-product-energy-inline {
  margin: 12px 0 0;
}

.vlg-energy-showcase {
  display: grid;
  gap: 14px;
  padding: 16px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06);
}

.vlg-energy-showcase__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.vlg-energy-showcase__eyebrow {
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--vlg-primary);
  margin-bottom: 4px;
}

.vlg-energy-showcase__text strong {
  display: block;
  font-size: 18px;
  line-height: 1.2;
  color: var(--vlg-dark);
}

.vlg-energy-showcase__text small {
  display: block;
  margin-top: 4px;
  color: var(--vlg-muted);
  font-size: 13px;
}

.vlg-energy-showcase__badge .vlg-energy-badge {
  position: static;
  width: auto;
  min-height: 0;
  padding: 8px 12px;
  border-radius: 14px;
  flex-direction: row;
  gap: 8px;
  box-shadow: none;
}

.vlg-energy-showcase__media {
  display: flex;
  align-items: center;
  justify-content: center;
}

.vlg-energy-showcase__image {
  display: block;
  width: min(220px, 100%);
}

.vlg-energy-showcase__image img,
.vlg-energy-showcase__image svg,
.vlg-energy-showcase__image.is-svg svg {
  display: block;
  width: 100%;
  height: auto;
}

.vlg-energy-showcase__links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.vlg-energy-showcase__links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 10px 14px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  color: var(--vlg-dark);
  font-weight: 800;
}

.vlg-products-grid .vlg-product-card,
ul.products .vlg-product-card {
  display: flex;
  flex-direction: column;
}

.vlg-products-grid .vlg-product-card .vlg-product-link,
ul.products .vlg-product-card .vlg-product-link {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

.vlg-products-grid .vlg-product-card .vlg-card-content,
ul.products .vlg-product-card .vlg-card-content {
  flex: 1 1 auto;
}

.vlg-product-card .vlg-card-actions {
  margin-top: auto;
  padding-top: 0 !important;
}

.vlg-product-card .vlg-card-actions .vlg-card-cart,
.vlg-product-card .vlg-card-actions .button,
.vlg-product-card .vlg-card-actions .added_to_cart {
  min-height: 44px !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  letter-spacing: .01em;
}

.vlg-product-card .vlg-card-actions .added_to_cart {
  margin-top: 8px;
  background: #fff !important;
  color: var(--vlg-dark) !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
}

@media (max-width: 991px) {
  .vlg-energy-showcase {
    padding: 14px;
    border-radius: 16px;
  }

  .vlg-energy-showcase__top {
    align-items: flex-start;
    flex-direction: column;
  }

  .vlg-energy-showcase__badge .vlg-energy-badge {
    align-self: flex-start;
  }
}

@media (max-width: 640px) {
  .vlg-energy-showcase__image {
    width: min(190px, 100%);
  }

  .vlg-product-card .vlg-card-actions .vlg-card-cart,
  .vlg-product-card .vlg-card-actions .button {
    min-height: 40px !important;
  }
}


/* ===== v1.4.15 Product page energy badge + always-visible home cart CTA ===== */
.vlg-product-gallery-media {
  position: relative;
  overflow: hidden;
  border-radius: inherit;
}

.vlg-product-gallery-media .woocommerce-product-gallery {
  margin-bottom: 0;
}

.vlg-single-image-energy {
  position: absolute;
  left: 18px;
  bottom: 18px;
  z-index: 5;
  pointer-events: none;
}

.vlg-single-image-energy:empty {
  display: none;
}

.vlg-single-image-energy .vlg-energy-badge {
  position: static !important;
  width: 58px;
  min-height: 74px;
  border-radius: 12px;
  box-shadow: 0 14px 30px rgba(15, 23, 42, .18);
  transform: none;
}

.vlg-product-card .vlg-card-actions,
.vlg-product-section .vlg-card-actions,
.vlg-products-grid .vlg-card-actions,
ul.products .vlg-card-actions {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  overflow: visible !important;
  padding: 0 14px 14px !important;
}

.vlg-product-card .vlg-card-actions .vlg-card-cart,
.vlg-product-card .vlg-card-actions .button {
  display: inline-flex !important;
  width: 100% !important;
  min-height: 42px !important;
  align-items: center;
  justify-content: center;
  border-radius: 999px !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  text-align: center;
  background: linear-gradient(135deg, var(--vlg-primary), #d96b00) !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: 0 10px 22px rgba(242, 138, 0, .18);
}

.vlg-product-card .vlg-card-actions .vlg-card-cart:hover,
.vlg-product-card .vlg-card-actions .button:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 26px rgba(242, 138, 0, .24);
}

.vlg-product-card .vlg-card-actions .added_to_cart {
  display: inline-flex !important;
  width: 100% !important;
  min-height: 38px !important;
  margin-top: 8px !important;
  align-items: center;
  justify-content: center;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: var(--vlg-dark) !important;
  border: 1px solid rgba(15, 23, 42, .10) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

@media (max-width: 767px) {
  .vlg-single-image-energy {
    left: 12px;
    bottom: 12px;
  }

  .vlg-single-image-energy .vlg-energy-badge {
    width: 46px;
    min-height: 60px;
    border-radius: 10px;
  }

  .vlg-product-card .vlg-card-actions,
  .vlg-product-section .vlg-card-actions,
  .vlg-products-grid .vlg-card-actions,
  ul.products .vlg-card-actions {
    display: block !important;
    padding: 0 10px 10px !important;
  }

  .vlg-product-card .vlg-card-actions .vlg-card-cart,
  .vlg-product-card .vlg-card-actions .button {
    min-height: 34px !important;
    border-radius: 12px !important;
    font-size: 0 !important;
  }

  .vlg-product-card .vlg-card-actions .vlg-card-cart::before,
  .vlg-product-card .vlg-card-actions .button::before {
    content: '🛒';
    font-size: 13px !important;
    margin-right: 4px;
  }

  .vlg-product-card .vlg-card-actions .vlg-card-cart::after,
  .vlg-product-card .vlg-card-actions .button::after {
    content: 'Korvi';
    font-size: 12px !important;
  }
}


/* === 04-commerce.css === */
/*!
 * Valgusallikad theme — 04-commerce.css
 * v1.5.0 clean commerce layout, v1.5.1–v1.5.6 image/grid/mobile/checkout hardening + cart CTA visibility.
 * (Source: original theme.css lines 5083–6029)
 *
 * Maintenance note: parts are concatenated in numeric order at runtime.
 * Editing this file affects only the rules originally in this epoch.
 */

/* =========================================================
   v1.5.0 — Clean commerce layout, energy label and CTA polish
   ========================================================= */
:root { --vlg-header-offset: 0px; }

/* kompaktsem header + footer */
.vlg-topbar-inner { min-height: 30px !important; font-size: 13px !important; }
.vlg-main-header-inner { min-height: 76px !important; gap: 18px !important; }
.vlg-nav-inner { min-height: 52px !important; gap: 18px !important; }
.vlg-category-button { min-width: 220px !important; padding: 13px 16px !important; }
.custom-logo { max-height: 56px !important; width: auto; }
.vlg-footer { margin-top: 28px !important; padding: 28px 0 16px !important; }
.vlg-footer-grid { gap: 28px !important; padding-bottom: 22px !important; }
.vlg-footer-col p,
.vlg-footer-brand p { margin: .45rem 0 !important; }

/* rahulikum hero */
.vlg-hero {
  min-height: 280px !important;
  grid-template-columns: minmax(0, 1fr) 280px !important;
  padding: 34px 40px !important;
  background-position: center right !important;
}
.vlg-hero::before {
  opacity: .24 !important;
  background-size: 34px 34px !important;
}
.vlg-hero p { max-width: 56ch !important; font-size: 17px !important; }
.vlg-hero-benefits {
  max-width: 280px !important;
  background: rgba(8, 18, 36, .58) !important;
}
.vlg-trust-grid { margin-top: 14px !important; }

/* Avalehe/loop tootekaardid: ühtlane kõrgus ja alati nähtav CTA */
.vlg-product-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}
.vlg-product-card .vlg-product-link {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
}
.vlg-card-image-wrap {
  aspect-ratio: 1 / 1 !important;
  min-height: 0 !important;
  padding: 14px !important;
}
.vlg-card-image-wrap img {
  max-height: 210px !important;
  width: auto !important;
  margin-inline: auto !important;
  object-fit: contain !important;
}
.vlg-card-content {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  flex: 1 1 auto !important;
}
.vlg-product-card h2,
.woocommerce-loop-product__title {
  min-height: 3.3em !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.vlg-card-price,
.vlg-card-price .price { margin-top: auto !important; font-size: 18px !important; }
.vlg-product-card .vlg-card-actions {
  display: flex !important;
  padding: 12px 14px 14px !important;
  margin-top: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
.vlg-card-cart,
.vlg-card-actions .button,
.vlg-card-actions .added_to_cart {
  min-height: 44px !important;
  width: 100% !important;
  border-radius: 12px !important;
  text-align: center !important;
}
.vlg-card-actions .button.is-added { background: #16a34a !important; }

/* Tooteleht: vasakul toode/detailid, paremal ost + sideinfo */
.single-product .vlg-product-main-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 420px) !important;
  grid-auto-flow: dense !important;
  gap: 24px !important;
  align-items: start !important;
}
.single-product .vlg-product-gallery-card {
  grid-column: 1 !important;
  grid-row: 1 !important;
  min-height: 0 !important;
  padding: 20px !important;
  position: relative !important;
}
.vlg-product-gallery-media { position: relative !important; }
.single-product .vlg-product-gallery-card .flex-viewport {
  aspect-ratio: 1 / 1 !important;
  display: grid !important;
  align-items: center !important;
}
.single-product .vlg-product-gallery-card .woocommerce-product-gallery__image img {
  max-height: min(62vh, 560px) !important;
  width: auto !important;
  margin-inline: auto !important;
  object-fit: contain !important;
}
.single-product .vlg-product-summary-card {
  grid-column: 2 !important;
  grid-row: 1 !important;
  padding: 24px !important;
  position: sticky !important;
  top: calc(var(--vlg-header-offset) + 16px) !important;
  align-self: start !important;
}
.single-product .vlg-product-sidecard {
  grid-column: 2 !important;
  grid-row: 2 !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
  padding: 18px !important;
  align-self: start !important;
}
.single-product .vlg-product-tabs {
  grid-column: 1 !important;
  grid-row: 2 !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 16px !important;
}
.vlg-product-tab { height: max-content !important; }
.vlg-product-tab summary { padding: 16px 18px !important; }
.vlg-tab-content { padding: 0 18px 18px !important; }

/* Energiamärgise overlay pildi peal */
.vlg-single-image-energy {
  position: absolute !important;
  top: 16px !important;
  left: 16px !important;
  z-index: 6 !important;
  pointer-events: auto !important;
}
.vlg-energy-overlay {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 44px !important;
  padding: 8px 12px !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, .95) !important;
  border: 1px solid var(--vlg-line) !important;
  box-shadow: var(--vlg-shadow-md, 0 12px 28px rgba(15, 23, 42, .14)) !important;
  color: var(--vlg-text, #172033) !important;
  text-decoration: none !important;
}
.vlg-energy-overlay__mark {
  width: 32px !important;
  height: 32px !important;
  border-radius: 9px !important;
  display: grid !important;
  place-items: center !important;
  background: var(--vlg-energy-color, #475569) !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
}
.vlg-energy-overlay__text { display: grid !important; gap: 1px !important; }
.vlg-energy-overlay__text small {
  color: var(--vlg-muted, #697589) !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
}
.vlg-energy-overlay__text strong { font-size: 20px !important; line-height: 1 !important; font-weight: 950 !important; }
.vlg-energy-overlay em {
  color: var(--vlg-muted, #697589) !important;
  font-style: normal !important;
  font-size: 11px !important;
  max-width: 92px !important;
}

/* Summary plokis ei korda liigset metat ja ostukast on selgem */
.single-product .vlg-product-specs { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.single-product .vlg-product-specs div {
  min-height: 74px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}
.single-product .vlg-product-buybox form.cart {
  display: grid !important;
  grid-template-columns: 90px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
}
.single-product .vlg-product-buybox .quantity { width: 100% !important; }
.single-product .single_add_to_cart_button { width: 100% !important; min-height: 48px !important; }
.single-product .vlg-product-summary-card .product_meta {
  margin-top: 14px !important;
  padding-top: 14px !important;
  border-top: 1px solid var(--vlg-line) !important;
  font-size: 13px !important;
  color: var(--vlg-muted) !important;
}
.single-product .vlg-product-summary-card .tagged_as { display: none !important; }

/* parem kontrast väikese oranži teksti jaoks */
.vlg-card-category,
.vlg-section-head a,
.vlg-product-price .price,
.vlg-card-price .price { color: #b85a00 !important; }

@media (max-width: 991px) {
  .single-product .vlg-product-main-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
  .single-product .vlg-product-summary-card,
  .single-product .vlg-product-sidecard,
  .single-product .vlg-product-tabs {
    grid-column: auto !important;
    grid-row: auto !important;
    position: static !important;
  }
  .single-product .vlg-product-sidecard {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
  }
  .single-product .vlg-side-feature {
    background: #fff !important;
    border: 1px solid var(--vlg-line) !important;
    border-radius: 14px !important;
    padding: 12px !important;
  }
}

@media (max-width: 767px) {
  .vlg-topbar { display: none !important; }
  .vlg-main-header-inner { min-height: 64px !important; }
  .vlg-hero { grid-template-columns: 1fr !important; padding: 24px 18px !important; min-height: auto !important; }
  .vlg-hero-benefits { display: none !important; }
  .vlg-trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .vlg-trust-item:nth-child(n+3) { display: none !important; }
  .single-product .vlg-product-summary-card { padding: 18px !important; }
  .single-product .vlg-product-specs { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .single-product .vlg-product-summary-card .product_meta .posted_in,
  .single-product .vlg-product-summary-card .product_meta .tagged_as { display: none !important; }
  .single-product .vlg-product-buybox {
    position: sticky !important;
    bottom: 8px !important;
    z-index: 20 !important;
    background: #fff !important;
    padding: 12px !important;
    border-radius: 16px !important;
    box-shadow: 0 12px 24px rgba(7, 18, 36, .12) !important;
  }
  .vlg-card-cart::before,
  .vlg-card-actions .button::before { display: none !important; }
}

@media (max-width: 575px) {
  .single-product .vlg-product-sidecard { grid-template-columns: 1fr !important; }
  .single-product .vlg-product-specs { grid-template-columns: 1fr !important; }
  .vlg-energy-overlay em { display: none !important; }
}


/* =========================================================
   v1.5.1 — stability pass: image sizing, mobile CTA and grid hardening
   ========================================================= */

/* WooCommerce sometimes injects percentage widths on li.product; keep the theme grid in control. */
ul.products,
.vlg-products-grid,
.vlg-shop-products ul.products {
  align-items: stretch !important;
}

ul.products li.product.vlg-product-card,
.vlg-products-grid li.product.vlg-product-card,
.vlg-shop-products ul.products li.product.vlg-product-card {
  width: auto !important;
  min-width: 0 !important;
  float: none !important;
  margin: 0 !important;
}

.vlg-product-card .vlg-card-image-wrap a,
.vlg-product-card .vlg-product-link {
  min-width: 0 !important;
}

.vlg-product-card .vlg-card-image-wrap img,
.woocommerce ul.products li.product a img {
  display: block !important;
  object-position: center !important;
}

/* Stronger buy-button fallback for touch devices: do not hide text behind old pseudo-element rules. */
.vlg-product-card .vlg-card-actions .button,
.vlg-product-card .vlg-card-actions .vlg-card-cart {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

@media (max-width: 767px) {
  .vlg-product-card .vlg-card-actions .button,
  .vlg-product-card .vlg-card-actions .vlg-card-cart {
    min-height: 42px !important;
    border-radius: 12px !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
  }

  .vlg-product-card .vlg-card-actions .button::before,
  .vlg-product-card .vlg-card-actions .button::after,
  .vlg-product-card .vlg-card-actions .vlg-card-cart::before,
  .vlg-product-card .vlg-card-actions .vlg-card-cart::after {
    content: none !important;
    display: none !important;
  }
}

/* Keep product-page energy info readable even when product titles are long. */
.single-product .vlg-product-energy-inline,
.single-product .vlg-energy-panel {
  min-width: 0 !important;
}

.single-product .vlg-energy-panel {
  overflow: hidden !important;
}

.single-product .vlg-energy-panel-head {
  gap: 12px !important;
}

.single-product .vlg-energy-panel img,
.single-product .vlg-energy-image-link svg {
  max-width: 100% !important;
  height: auto !important;
}

/* Gallery fallback for WooCommerce/variation updates that replace image markup after load. */
.single-product .woocommerce-product-gallery,
.single-product .woocommerce-product-gallery__wrapper,
.single-product .woocommerce-product-gallery__image {
  max-width: 100% !important;
}

.single-product .woocommerce-product-gallery__wrapper {
  margin: 0 !important;
}

.single-product .flex-control-thumbs {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(62px, 1fr)) !important;
  gap: 8px !important;
  margin-top: 12px !important;
}

.single-product .flex-control-thumbs li {
  width: auto !important;
  float: none !important;
}

.single-product .flex-control-thumbs img {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  border-radius: 10px !important;
  border: 1px solid var(--vlg-line) !important;
  background: #fff !important;
}

/* Related and upsell products should visually match homepage product cards. */
.single-product .related.products,
.single-product .up-sells.products {
  margin-top: 28px !important;
}

.single-product .related.products > h2,
.single-product .up-sells.products > h2 {
  margin: 0 0 16px !important;
  font-size: clamp(22px, 3vw, 30px) !important;
  letter-spacing: -.03em !important;
}

/* Mobile product summary: keep CTA accessible but avoid covering the entire content area. */
@media (max-width: 767px) {
  body.vlg-is-single-product .single-product .vlg-product-buybox,
  body.vlg-is-single-product .vlg-product-buybox {
    left: max(8px, env(safe-area-inset-left)) !important;
    right: max(8px, env(safe-area-inset-right)) !important;
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
  }

  body.vlg-is-single-product .vlg-product-buybox form.cart {
    grid-template-columns: 76px minmax(0, 1fr) !important;
  }

  body.vlg-is-single-product .vlg-product-buybox .vlg-btn-outline {
    margin-top: 10px !important;
    width: 100% !important;
  }

  .single-product .vlg-single-image-energy {
    top: 10px !important;
    left: 10px !important;
  }

  .single-product .vlg-energy-overlay {
    min-height: 38px !important;
    padding: 6px 8px !important;
    gap: 7px !important;
  }

  .single-product .vlg-energy-overlay__mark {
    width: 28px !important;
    height: 28px !important;
    border-radius: 8px !important;
  }

  .single-product .vlg-energy-overlay__text small {
    font-size: 10px !important;
  }

  .single-product .vlg-energy-overlay__text strong {
    font-size: 17px !important;
  }
}

/* Prevent long Estonian strings in trust/payment cards from forcing wide empty columns. */
.vlg-side-feature,
.vlg-trust-item,
.vlg-payment-badges,
.vlg-footer-col,
.vlg-footer-brand {
  min-width: 0 !important;
}

.vlg-side-feature small,
.vlg-trust-item small,
.vlg-footer-col p,
.vlg-footer-menu a {
  overflow-wrap: anywhere;
}


/* =========================================================
   v1.5.3 — WooCommerce compatibility, accessibility and data hardening
   ========================================================= */

/* Better keyboard and dropdown behavior without changing the visual identity. */
.vlg-category-dropdown {
  max-height: min(72vh, 620px) !important;
  overflow: auto !important;
  overscroll-behavior: contain;
}

.vlg-category-button:focus-visible,
.vlg-mobile-toggle:focus-visible,
.vlg-card-actions .button:focus-visible,
.vlg-card-cart:focus-visible,
.single_add_to_cart_button:focus-visible,
.vlg-product-tab summary:focus-visible,
.vlg-search input:focus-visible,
.vlg-search button:focus-visible,
.vlg-btn:focus-visible,
a.vlg-cart-link:focus-visible {
  outline: 3px solid rgba(242, 138, 0, .42) !important;
  outline-offset: 3px !important;
}

/* WooCommerce notices should be readable even inside the custom shop header. */
.woocommerce-notices-wrapper,
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  clear: both !important;
}

.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  border-radius: 14px !important;
  border: 1px solid var(--vlg-line) !important;
  box-shadow: 0 10px 28px rgba(7, 18, 36, .06) !important;
}

/* Long product names, SKU-s and EPREL labels should not break cards or summary columns. */
.woocommerce-loop-product__title,
.vlg-product-summary-card .product_title,
.vlg-product-specs strong,
.vlg-energy-panel,
.vlg-eprel-link,
.vlg-cart-link strong {
  overflow-wrap: anywhere;
}

/* Keep variable/out-of-stock loop buttons visually consistent with simple add-to-cart. */
.vlg-card-actions .button.product_type_variable,
.vlg-card-actions .button.product_type_grouped,
.vlg-card-actions .button.product_type_external,
.vlg-card-actions .button:not(.add_to_cart_button) {
  background: #071224 !important;
  color: #fff !important;
}

/* Motion-safe fallback for visitors that disable animation in OS/browser settings. */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

@media (max-width: 767px) {
  .vlg-category-dropdown {
    max-height: calc(100vh - var(--vlg-header-offset, 92px) - 24px) !important;
  }

  .woocommerce-message,
  .woocommerce-error,
  .woocommerce-info {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}


/* =========================================================
   v1.5.3 — EPREL/admin data hardening and final layout fallbacks
   ========================================================= */
.single-product .vlg-product-gallery-card,
.single-product .vlg-product-summary-card,
.single-product .vlg-product-tabs,
.single-product .vlg-product-sidecard {
  min-width: 0 !important;
}

.single-product .woocommerce-product-gallery {
  opacity: 1 !important;
}

.single-product .woocommerce-product-gallery__wrapper:only-child,
.single-product .woocommerce-product-gallery__image:only-child {
  margin-bottom: 0 !important;
}

.single-product .vlg-energy-panel a,
.single-product .vlg-eprel-link,
.single-product .vlg-energy-fiche {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

.single-product .vlg-eprel-link {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.vlg-card-actions .added_to_cart.wc-forward {
  display: none !important;
}

.woocommerce-cart .vlg-site-main,
.woocommerce-checkout .vlg-site-main,
.woocommerce-account .vlg-site-main {
  min-width: 0 !important;
}

.woocommerce table.shop_table,
.woocommerce-cart-form,
.woocommerce-checkout-review-order {
  max-width: 100% !important;
}

@media (max-width: 767px) {
  .woocommerce table.shop_table_responsive tr,
  .woocommerce-page table.shop_table_responsive tr {
    display: block !important;
  }

  .single-product .vlg-product-gallery-card {
    padding: 14px !important;
  }

  .single-product .vlg-product-tabs {
    gap: 10px !important;
  }

  .single-product .vlg-product-tab summary {
    padding: 14px 16px !important;
  }
}

/* =========================================================
   v1.5.4 — product search, mobile filters and checkout polish
   ========================================================= */
.vlg-search-head {
  display: grid;
  gap: 12px;
  margin: 22px 0 18px;
  padding: 22px;
  border: 1px solid var(--vlg-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(7, 18, 36, .05);
}

.vlg-search-head h1 {
  margin: 0;
  font-size: clamp(26px, 4vw, 42px);
  line-height: 1.08;
  letter-spacing: -.04em;
}

.vlg-search-head-form .vlg-search,
.vlg-search-head-form form[role="search"],
.vlg-search-empty form[role="search"] {
  max-width: 720px;
}

.vlg-search-note {
  margin: 0;
  color: var(--vlg-muted);
  max-width: 64ch;
}

.vlg-search-tools-row {
  align-items: center;
  margin-top: 0 !important;
}

.vlg-search-products-page .woocommerce-ordering,
.vlg-search-products-page .woocommerce-result-count {
  margin: 0 !important;
}

.vlg-search-empty {
  display: grid;
  gap: 12px;
  justify-items: start;
  padding: 26px;
  border: 1px solid var(--vlg-line);
  border-radius: 20px;
  background: #fff;
}

.vlg-filter-toggle {
  display: none;
  width: 100%;
  min-height: 46px;
  margin: 0 0 14px;
  padding: 12px 16px;
  border: 1px solid var(--vlg-line);
  border-radius: 14px;
  background: #fff;
  color: var(--vlg-text-strong);
  font-weight: 900;
  box-shadow: 0 8px 22px rgba(7, 18, 36, .05);
}

.vlg-filter-toggle span {
  margin-right: 6px;
}

.vlg-filter-toggle:focus-visible {
  outline: 3px solid rgba(242, 138, 0, .42) !important;
  outline-offset: 3px !important;
}

.woocommerce-cart .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-checkout #customer_details,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-navigation {
  border: 1px solid var(--vlg-line) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 10px 28px rgba(7, 18, 36, .05) !important;
  padding: 18px !important;
}

.woocommerce-cart table.cart td.actions .coupon {
  display: flex !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

.woocommerce-cart table.cart td.actions .coupon .input-text {
  min-width: min(260px, 100%) !important;
  border-radius: 12px !important;
}

.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-account input.input-text,
.woocommerce-cart input.input-text {
  min-height: 44px !important;
  border-radius: 12px !important;
  border: 1px solid var(--vlg-line) !important;
  padding: 10px 12px !important;
}

.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus,
.woocommerce-account input.input-text:focus,
.woocommerce-cart input.input-text:focus {
  outline: 3px solid rgba(242, 138, 0, .25) !important;
  border-color: rgba(242, 138, 0, .65) !important;
}

@media (max-width: 991px) {
  .vlg-filter-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .vlg-shop-sidebar#vlgShopSidebar {
    display: none;
  }

  .vlg-shop-sidebar#vlgShopSidebar.is-open {
    display: block;
    margin-bottom: 16px;
  }

  body.vlg-filter-open .vlg-filter-toggle {
    background: #071224;
    color: #fff;
  }

  .vlg-search-tools-row {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
}

@media (max-width: 767px) {
  .vlg-search-head {
    padding: 18px;
    border-radius: 16px;
  }

  .vlg-search-head-form .vlg-search,
  .vlg-search-head-form form[role="search"],
  .vlg-search-empty form[role="search"] {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .woocommerce-cart table.cart td.actions .coupon,
  .woocommerce-cart table.cart td.actions .coupon .input-text,
  .woocommerce-cart table.cart td.actions .button {
    width: 100% !important;
  }

  .woocommerce-checkout #order_review,
  .woocommerce-checkout #customer_details,
  .woocommerce-cart .cart_totals {
    padding: 14px !important;
    border-radius: 14px !important;
  }
}


/* =========================================================
   v1.5.5 — quick quantity, mobile buy bar and card resilience
   ========================================================= */
.vlg-card-actions:has(.vlg-card-quickqty) {
  display: grid !important;
  grid-template-columns: minmax(108px, auto) minmax(0, 1fr);
  gap: 10px;
  align-items: stretch;
}

.vlg-card-quickqty {
  display: grid;
  grid-template-columns: 34px minmax(38px, 1fr) 34px;
  align-items: center;
  min-height: 44px;
  border: 1px solid var(--vlg-line);
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}

.vlg-card-qty-btn {
  width: 34px;
  height: 100%;
  border: 0;
  background: #f5f7fb;
  color: var(--vlg-text-strong);
  font-size: 18px;
  font-weight: 900;
  cursor: pointer;
}

.vlg-card-qty-btn:hover {
  background: #eef2f7;
}

.vlg-card-qty-btn:focus-visible,
.vlg-card-qty-input:focus-visible {
  outline: 3px solid rgba(242, 138, 0, .28);
  outline-offset: -2px;
}

.vlg-card-qty-input {
  width: 100%;
  height: 100%;
  min-width: 40px;
  border: 0 !important;
  text-align: center;
  font-weight: 900;
  color: var(--vlg-text-strong);
  background: #fff;
  -moz-appearance: textfield;
}

.vlg-card-qty-input::-webkit-outer-spin-button,
.vlg-card-qty-input::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

.vlg-card-actions:has(.vlg-card-quickqty) .vlg-card-cart {
  min-width: 0;
  padding-left: 12px !important;
  padding-right: 12px !important;
}

.vlg-mobile-product-bar {
  position: fixed;
  left: 10px;
  right: 10px;
  bottom: 10px;
  z-index: 1000;
  display: none;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 18px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 18px 42px rgba(7, 18, 36, .18);
  backdrop-filter: blur(14px);
}

.vlg-mobile-product-bar[hidden] {
  display: none !important;
}

.vlg-mobile-product-bar__price {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.vlg-mobile-product-bar__price span {
  font-size: 11px;
  color: var(--vlg-muted);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.vlg-mobile-product-bar__price strong,
.vlg-mobile-product-bar__price .amount {
  color: var(--vlg-text-strong);
  font-size: 16px;
  line-height: 1.15;
  white-space: nowrap;
}

.vlg-mobile-product-bar__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--vlg-primary), var(--vlg-primary-2));
  color: #111827 !important;
  font-weight: 950;
  text-decoration: none !important;
  box-shadow: 0 10px 22px rgba(242, 138, 0, .28);
}

.vlg-mobile-product-bar__button:focus-visible {
  outline: 3px solid rgba(242, 138, 0, .36);
  outline-offset: 3px;
}

@supports not selector(:has(*)) {
  .vlg-card-actions .vlg-card-quickqty {
    margin-bottom: 10px;
  }
}

@media (max-width: 767px) {
  .vlg-card-actions:has(.vlg-card-quickqty) {
    grid-template-columns: 1fr;
  }

  .vlg-card-quickqty {
    max-width: 156px;
    justify-self: center;
  }

  body.vlg-mobile-buybar-visible {
    padding-bottom: 76px;
  }

  body.vlg-mobile-buybar-visible .vlg-mobile-product-bar {
    display: grid;
  }
}


/* === 05-modernization.css === */
/*!
 * Valgusallikad theme — 05-modernization.css
 * v1.5.7 unified product card actions + AJAX state, v1.5.8–v1.6.5 product card compaction, contact page, single product whitespace, checkout/account/variations UX, payment logos, latest products, sub-category cards.
 * (Source: original theme.css lines 6030–7390)
 *
 * Maintenance note: parts are concatenated in numeric order at runtime.
 * Editing this file affects only the rules originally in this epoch.
 */

/* =========================================================
   v1.5.6 — avalehe tootekaardi ostunupu kindel nähtavus
   ========================================================= */
.vlg-home-product-section .vlg-card-actions,
.home .vlg-product-section .vlg-card-actions,
.front-page .vlg-product-section .vlg-card-actions {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  padding: 12px 14px 14px !important;
  margin-top: 0 !important;
  transform: none !important;
}

.vlg-home-product-section .vlg-card-actions .button,
.vlg-home-product-section .vlg-card-actions .vlg-card-cart,
.home .vlg-product-section .vlg-card-actions .button,
.front-page .vlg-product-section .vlg-card-actions .button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 44px !important;
  padding: 12px 14px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, var(--vlg-primary), #d96b00) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  line-height: 1.15 !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: normal !important;
}

.vlg-home-product-section .vlg-card-actions .button::before,
.vlg-home-product-section .vlg-card-actions .button::after,
.vlg-home-product-section .vlg-card-actions .vlg-card-cart::before,
.vlg-home-product-section .vlg-card-actions .vlg-card-cart::after {
  display: none !important;
  content: none !important;
}

.vlg-home-product-section .vlg-card-actions .added_to_cart.wc-forward {
  display: none !important;
}

@media (max-width: 767px) {
  .vlg-home-product-section .vlg-card-actions,
  .home .vlg-product-section .vlg-card-actions,
  .front-page .vlg-product-section .vlg-card-actions {
    display: flex !important;
    padding: 0 10px 10px !important;
  }

  .vlg-home-product-section .vlg-card-actions .button,
  .vlg-home-product-section .vlg-card-actions .vlg-card-cart,
  .home .vlg-product-section .vlg-card-actions .button,
  .front-page .vlg-product-section .vlg-card-actions .button {
    min-height: 38px !important;
    font-size: 12px !important;
    padding: 10px 8px !important;
  }
}

/* =========================================================
   v1.5.7 — tootekaardi nuppude ühtne renderdus + AJAX olek
   ========================================================= */
.vlg-product-card[data-vlg-product-card] {
  isolation: isolate;
}

.vlg-product-card[data-vlg-product-card] .vlg-card-actions {
  position: relative;
}

.vlg-product-card[data-vlg-product-card] .vlg-card-actions:empty {
  display: none !important;
}

.vlg-card-actions .button.is-loading,
.vlg-card-cart.is-loading {
  cursor: wait !important;
  opacity: .78 !important;
  pointer-events: auto !important;
}

.vlg-card-actions .button.is-loading::after,
.vlg-card-cart.is-loading::after {
  content: '' !important;
  display: inline-block !important;
  width: 1em;
  height: 1em;
  margin-left: .55em;
  border: 2px solid rgba(255, 255, 255, .55);
  border-top-color: #fff;
  border-radius: 999px;
  animation: vlg-spin .75s linear infinite;
}

@keyframes vlg-spin {
  to { transform: rotate(360deg); }
}

.vlg-card-actions .button.is-added,
.vlg-card-cart.is-added {
  background: #16a34a !important;
  color: #fff !important;
}

.vlg-home-product-section .vlg-product-card[data-vlg-product-card] .vlg-card-actions,
.vlg-home-product-section .vlg-product-card[data-vlg-product-card] .vlg-card-actions .button,
.vlg-home-product-section .vlg-product-card[data-vlg-product-card] .vlg-card-actions .vlg-card-cart {
  opacity: 1 !important;
  visibility: visible !important;
  clip: auto !important;
  clip-path: none !important;
  transform: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .vlg-card-actions .button.is-loading::after,
  .vlg-card-cart.is-loading::after {
    animation: none;
  }
}


/* =========================================================
   v1.5.8 — avalehe tootekaardid kompaktsemaks + pealkirja joondus
   ========================================================= */
/* Eemalda kahekordne oranž joon sektsiooni pealkirja alt. */
.vlg-section-head h1::after,
.vlg-section-head h2::after {
  content: none !important;
  display: none !important;
}

/* Hoia pealkirja alumine joon ühtlaselt joondatud. */
.vlg-section-head {
  align-items: flex-start !important;
}
.vlg-section-head::after {
  left: 0 !important;
  bottom: 0 !important;
  width: 56px !important;
  height: 4px !important;
}

/* Avalehe/populaarsete toodete kaartides vähenda tühja ruumi,
   et hind ja ostunupp oleksid kohe näha. */
.vlg-home-product-section .vlg-products-grid,
.home .vlg-product-section .vlg-products-grid,
.front-page .vlg-product-section .vlg-products-grid {
  align-items: start !important;
}

.vlg-home-product-section .vlg-product-card,
.home .vlg-product-section .vlg-product-card,
.front-page .vlg-product-section .vlg-product-card {
  height: auto !important;
  min-height: 0 !important;
}

.vlg-home-product-section .vlg-product-card .vlg-product-link,
.home .vlg-product-section .vlg-product-card .vlg-product-link,
.front-page .vlg-product-section .vlg-product-card .vlg-product-link {
  flex: 0 0 auto !important;
}

.vlg-home-product-section .vlg-product-card .vlg-card-image-wrap,
.home .vlg-product-section .vlg-product-card .vlg-card-image-wrap,
.front-page .vlg-product-section .vlg-product-card .vlg-card-image-wrap {
  padding: 12px 12px 8px !important;
}

.vlg-home-product-section .vlg-product-card .vlg-card-image-wrap img,
.home .vlg-product-section .vlg-product-card .vlg-card-image-wrap img,
.front-page .vlg-product-section .vlg-product-card .vlg-card-image-wrap img {
  max-height: 180px !important;
}

.vlg-home-product-section .vlg-product-card .vlg-card-content,
.home .vlg-product-section .vlg-product-card .vlg-card-content,
.front-page .vlg-product-section .vlg-product-card .vlg-card-content {
  flex: 0 0 auto !important;
  gap: 6px !important;
  padding-bottom: 0 !important;
}

.vlg-home-product-section .vlg-product-card h2,
.home .vlg-product-section .vlg-product-card h2,
.front-page .vlg-product-section .vlg-product-card h2 {
  min-height: 2.8em !important;
  margin-bottom: 0 !important;
}

.vlg-home-product-section .vlg-product-card .vlg-card-price,
.vlg-home-product-section .vlg-product-card .vlg-card-price .price,
.home .vlg-product-section .vlg-product-card .vlg-card-price,
.home .vlg-product-section .vlg-product-card .vlg-card-price .price,
.front-page .vlg-product-section .vlg-product-card .vlg-card-price,
.front-page .vlg-product-section .vlg-product-card .vlg-card-price .price {
  margin-top: 6px !important;
  padding-top: 0 !important;
  font-size: 16px !important;
}

.vlg-home-product-section .vlg-product-card .vlg-card-actions,
.home .vlg-product-section .vlg-product-card .vlg-card-actions,
.front-page .vlg-product-section .vlg-product-card .vlg-card-actions {
  margin-top: 8px !important;
  padding: 0 14px 14px !important;
}

.vlg-home-product-section .vlg-product-card .vlg-card-actions .button,
.vlg-home-product-section .vlg-product-card .vlg-card-actions .vlg-card-cart,
.home .vlg-product-section .vlg-product-card .vlg-card-actions .button,
.home .vlg-product-section .vlg-product-card .vlg-card-actions .vlg-card-cart,
.front-page .vlg-product-section .vlg-product-card .vlg-card-actions .button,
.front-page .vlg-product-section .vlg-product-card .vlg-card-actions .vlg-card-cart {
  min-height: 42px !important;
}

@media (max-width: 767px) {
  .vlg-home-product-section .vlg-product-card .vlg-card-image-wrap img,
  .home .vlg-product-section .vlg-product-card .vlg-card-image-wrap img,
  .front-page .vlg-product-section .vlg-product-card .vlg-card-image-wrap img {
    max-height: 140px !important;
  }

  .vlg-home-product-section .vlg-product-card .vlg-card-actions,
  .home .vlg-product-section .vlg-product-card .vlg-card-actions,
  .front-page .vlg-product-section .vlg-product-card .vlg-card-actions {
    padding: 0 10px 10px !important;
    margin-top: 6px !important;
  }
}


/* =========================================================
   v1.5.9 — poe ja kategoorialehtede tootekaardid kompaktsemaks
   ========================================================= */
/* Näita tootekaardi ostunuppu kindlalt ka poes, kategooriates ja otsingus. */
.post-type-archive-product .vlg-product-card .vlg-card-actions,
.tax-product_cat .vlg-product-card .vlg-card-actions,
.tax-product_tag .vlg-product-card .vlg-card-actions,
.vlg-search-products-page .vlg-product-card .vlg-card-actions,
.vlg-shop-products .vlg-product-card .vlg-card-actions {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Tee kaardid sisult kompaktsemaks, et ei tekiks suurt tühja plokki pealkirja ja hinna vahele. */
.post-type-archive-product .vlg-shop-products ul.products,
.tax-product_cat .vlg-shop-products ul.products,
.tax-product_tag .vlg-shop-products ul.products,
.vlg-search-products-page .vlg-shop-products ul.products {
  align-items: start !important;
}

.post-type-archive-product .vlg-product-card,
.tax-product_cat .vlg-product-card,
.tax-product_tag .vlg-product-card,
.vlg-search-products-page .vlg-product-card,
.vlg-shop-products .vlg-product-card {
  height: auto !important;
  min-height: 0 !important;
}

.post-type-archive-product .vlg-product-card .vlg-product-link,
.tax-product_cat .vlg-product-card .vlg-product-link,
.tax-product_tag .vlg-product-card .vlg-product-link,
.vlg-search-products-page .vlg-product-card .vlg-product-link,
.vlg-shop-products .vlg-product-card .vlg-product-link {
  flex: 0 0 auto !important;
}

.post-type-archive-product .vlg-product-card .vlg-card-image-wrap img,
.tax-product_cat .vlg-product-card .vlg-card-image-wrap img,
.tax-product_tag .vlg-product-card .vlg-card-image-wrap img,
.vlg-search-products-page .vlg-product-card .vlg-card-image-wrap img,
.vlg-shop-products .vlg-product-card .vlg-card-image-wrap img {
  max-height: 180px !important;
}

.post-type-archive-product .vlg-product-card .vlg-card-content,
.tax-product_cat .vlg-product-card .vlg-card-content,
.tax-product_tag .vlg-product-card .vlg-card-content,
.vlg-search-products-page .vlg-product-card .vlg-card-content,
.vlg-shop-products .vlg-product-card .vlg-card-content {
  flex: 0 0 auto !important;
  gap: 6px !important;
  padding-bottom: 0 !important;
}

.post-type-archive-product .vlg-product-card h2,
.tax-product_cat .vlg-product-card h2,
.tax-product_tag .vlg-product-card h2,
.vlg-search-products-page .vlg-product-card h2,
.vlg-shop-products .vlg-product-card h2 {
  min-height: 2.8em !important;
  margin-bottom: 0 !important;
}

.post-type-archive-product .vlg-product-card .vlg-card-price,
.post-type-archive-product .vlg-product-card .vlg-card-price .price,
.tax-product_cat .vlg-product-card .vlg-card-price,
.tax-product_cat .vlg-product-card .vlg-card-price .price,
.tax-product_tag .vlg-product-card .vlg-card-price,
.tax-product_tag .vlg-product-card .vlg-card-price .price,
.vlg-search-products-page .vlg-product-card .vlg-card-price,
.vlg-search-products-page .vlg-product-card .vlg-card-price .price,
.vlg-shop-products .vlg-product-card .vlg-card-price,
.vlg-shop-products .vlg-product-card .vlg-card-price .price {
  margin-top: 6px !important;
  font-size: 16px !important;
}

.post-type-archive-product .vlg-product-card .vlg-card-actions,
.tax-product_cat .vlg-product-card .vlg-card-actions,
.tax-product_tag .vlg-product-card .vlg-card-actions,
.vlg-search-products-page .vlg-product-card .vlg-card-actions,
.vlg-shop-products .vlg-product-card .vlg-card-actions {
  margin-top: 8px !important;
  padding: 0 14px 14px !important;
}

@media (max-width: 767px) {
  .post-type-archive-product .vlg-product-card .vlg-card-image-wrap img,
  .tax-product_cat .vlg-product-card .vlg-card-image-wrap img,
  .tax-product_tag .vlg-product-card .vlg-card-image-wrap img,
  .vlg-search-products-page .vlg-product-card .vlg-card-image-wrap img,
  .vlg-shop-products .vlg-product-card .vlg-card-image-wrap img {
    max-height: 140px !important;
  }

  .post-type-archive-product .vlg-product-card .vlg-card-actions,
  .tax-product_cat .vlg-product-card .vlg-card-actions,
  .tax-product_tag .vlg-product-card .vlg-card-actions,
  .vlg-search-products-page .vlg-product-card .vlg-card-actions,
  .vlg-shop-products .vlg-product-card .vlg-card-actions {
    padding: 0 10px 10px !important;
  }
}


/* =========================================================
   v1.6.0 — kõik tootekaardid kompaktsemaks + kontaktlehe uus vaade
   ========================================================= */
/* Ühtlusta kõigi tooteloendite kaartide alumine osa, sh seotud tooted ja upsellid. */
ul.products,
.vlg-products-grid,
.related ul.products,
.upsells ul.products {
  align-items: start !important;
}

ul.products li.product.vlg-product-card,
.vlg-products-grid li.product.vlg-product-card,
.related li.product.vlg-product-card,
.upsells li.product.vlg-product-card {
  height: auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

ul.products li.product.vlg-product-card .vlg-product-link,
.vlg-products-grid li.product.vlg-product-card .vlg-product-link,
.related li.product.vlg-product-card .vlg-product-link,
.upsells li.product.vlg-product-card .vlg-product-link {
  flex: 0 0 auto !important;
}

ul.products li.product.vlg-product-card .vlg-card-image-wrap img,
.vlg-products-grid li.product.vlg-product-card .vlg-card-image-wrap img,
.related li.product.vlg-product-card .vlg-card-image-wrap img,
.upsells li.product.vlg-product-card .vlg-card-image-wrap img {
  max-height: 180px !important;
}

ul.products li.product.vlg-product-card .vlg-card-content,
.vlg-products-grid li.product.vlg-product-card .vlg-card-content,
.related li.product.vlg-product-card .vlg-card-content,
.upsells li.product.vlg-product-card .vlg-card-content {
  flex: 0 0 auto !important;
  gap: 6px !important;
  padding-bottom: 0 !important;
}

ul.products li.product.vlg-product-card h2,
.vlg-products-grid li.product.vlg-product-card h2,
.related li.product.vlg-product-card h2,
.upsells li.product.vlg-product-card h2 {
  min-height: 2.8em !important;
  margin-bottom: 0 !important;
}

ul.products li.product.vlg-product-card .vlg-card-price,
ul.products li.product.vlg-product-card .vlg-card-price .price,
.vlg-products-grid li.product.vlg-product-card .vlg-card-price,
.vlg-products-grid li.product.vlg-product-card .vlg-card-price .price,
.related li.product.vlg-product-card .vlg-card-price,
.related li.product.vlg-product-card .vlg-card-price .price,
.upsells li.product.vlg-product-card .vlg-card-price,
.upsells li.product.vlg-product-card .vlg-card-price .price {
  margin-top: 6px !important;
  font-size: 16px !important;
}

ul.products li.product.vlg-product-card .vlg-card-actions,
.vlg-products-grid li.product.vlg-product-card .vlg-card-actions,
.related li.product.vlg-product-card .vlg-card-actions,
.upsells li.product.vlg-product-card .vlg-card-actions {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin-top: 8px !important;
  padding: 0 14px 14px !important;
}

ul.products li.product.vlg-product-card .vlg-card-actions .button,
.vlg-products-grid li.product.vlg-product-card .vlg-card-actions .button,
.related li.product.vlg-product-card .vlg-card-actions .button,
.upsells li.product.vlg-product-card .vlg-card-actions .button,
ul.products li.product.vlg-product-card .vlg-card-actions .vlg-card-cart,
.vlg-products-grid li.product.vlg-product-card .vlg-card-actions .vlg-card-cart,
.related li.product.vlg-product-card .vlg-card-actions .vlg-card-cart,
.upsells li.product.vlg-product-card .vlg-card-actions .vlg-card-cart {
  width: 100% !important;
  min-height: 42px !important;
}

.single-product .related.products,
.single-product .upsells.products {
  margin-top: 20px !important;
}
.single-product .related.products > h2,
.single-product .upsells.products > h2 {
  margin-bottom: 14px !important;
}

/* Kontaktleht silmapaistvamaks ja puhtamaks. */
.vlg-contact-page-card {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.vlg-contact-hero {
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,248,240,.96)) !important;
  border: 1px solid var(--vlg-line) !important;
  border-radius: 24px !important;
  box-shadow: var(--vlg-shadow-soft) !important;
  padding: 28px !important;
  margin-bottom: 22px !important;
}
.vlg-contact-hero h1 {
  margin: 8px 0 10px !important;
  font-size: clamp(30px, 4vw, 46px) !important;
  line-height: 1 !important;
}
.vlg-contact-hero p {
  max-width: 68ch;
  color: var(--vlg-muted);
  font-size: 16px;
}
.vlg-contact-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}
.vlg-btn-ghost {
  background: #fff !important;
  color: var(--vlg-dark) !important;
  border: 1px solid var(--vlg-line) !important;
}

.vlg-contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  gap: 22px;
  align-items: start;
}
.vlg-contact-main,
.vlg-contact-side {
  display: grid;
  gap: 18px;
}
.vlg-contact-content,
.vlg-contact-info-card,
.vlg-contact-cta-card {
  background: #fff;
  border: 1px solid var(--vlg-line);
  border-radius: 20px;
  box-shadow: 0 10px 28px rgba(17, 32, 55, .05);
}
.vlg-contact-content {
  padding: 24px;
}
.vlg-contact-content > :first-child { margin-top: 0; }
.vlg-contact-content form,
.vlg-contact-content .wpcf7,
.vlg-contact-content .wpforms-container {
  margin-top: 18px;
}
.vlg-contact-content input:not([type=checkbox]):not([type=radio]):not([type=submit]),
.vlg-contact-content textarea,
.vlg-contact-content select {
  width: 100%;
  min-height: 46px;
  border: 1px solid var(--vlg-line);
  border-radius: 14px;
  background: #fff;
  padding: 12px 14px;
}
.vlg-contact-content textarea { min-height: 140px; resize: vertical; }
.vlg-contact-content button,
.vlg-contact-content input[type=submit],
.vlg-contact-content .wpcf7-submit,
.vlg-contact-content .wpforms-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 18px;
  border: 0;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--vlg-primary), #d96b00);
  color: #fff;
  font-weight: 900;
}
.vlg-contact-info-card {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 14px;
  padding: 18px;
  align-items: start;
}
.vlg-contact-info-icon {
  width: 52px;
  height: 52px;
  display: inline-grid;
  place-items: center;
  border-radius: 16px;
  background: rgba(247, 148, 29, .12);
  color: var(--vlg-primary-dark);
  font-size: 22px;
}
.vlg-contact-info-card strong,
.vlg-contact-cta-card strong {
  display: block;
  margin-bottom: 6px;
  color: var(--vlg-dark);
}
.vlg-contact-info-card a,
.vlg-contact-info-card span {
  color: var(--vlg-muted);
  word-break: break-word;
}
.vlg-contact-cta-card {
  padding: 20px;
}
.vlg-contact-cta-card p {
  color: var(--vlg-muted);
  margin: 0 0 14px;
}

@media (max-width: 991px) {
  .vlg-contact-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  ul.products li.product.vlg-product-card .vlg-card-image-wrap img,
  .vlg-products-grid li.product.vlg-product-card .vlg-card-image-wrap img,
  .related li.product.vlg-product-card .vlg-card-image-wrap img,
  .upsells li.product.vlg-product-card .vlg-card-image-wrap img {
    max-height: 140px !important;
  }

  ul.products li.product.vlg-product-card .vlg-card-actions,
  .vlg-products-grid li.product.vlg-product-card .vlg-card-actions,
  .related li.product.vlg-product-card .vlg-card-actions,
  .upsells li.product.vlg-product-card .vlg-card-actions {
    padding: 0 10px 10px !important;
  }

  .vlg-contact-hero {
    padding: 22px !important;
    border-radius: 20px !important;
  }
}


/* =========================================================
   v1.6.1 — single product whitespace fix + built-in admin contact page
   ========================================================= */
.single-product .vlg-product-main-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px) !important;
  gap: 24px !important;
  align-items: start !important;
}
.single-product .vlg-product-left,
.single-product .vlg-product-right {
  min-width: 0 !important;
  display: grid !important;
  gap: 18px !important;
  align-content: start !important;
}
.single-product .vlg-product-gallery-card,
.single-product .vlg-product-summary-card,
.single-product .vlg-product-tabs,
.single-product .vlg-product-sidecard {
  grid-column: auto !important;
  grid-row: auto !important;
}
.single-product .vlg-product-right .vlg-product-summary-card {
  position: sticky !important;
  top: calc(var(--vlg-header-offset) + 16px) !important;
}
.single-product .vlg-product-right .vlg-product-sidecard {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
  padding: 16px !important;
}
.single-product .vlg-side-feature {
  display: grid !important;
  grid-template-columns: 42px 1fr !important;
  gap: 12px !important;
  align-items: center !important;
}
.single-product .vlg-side-feature > span {
  width: 42px !important;
  height: 42px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 14px !important;
  background: rgba(242, 138, 0, .10) !important;
}

/* Tee ostukast selgemaks, eriti variatsioonidega toodetel. */
.single-product .vlg-product-buybox {
  gap: 10px !important;
}
.single-product .vlg-product-buybox form.cart,
.single-product form.variations_form.cart {
  display: grid !important;
  gap: 10px !important;
}
.single-product form.variations_form .variations {
  width: 100% !important;
  margin: 0 !important;
}
.single-product form.variations_form .variations td,
.single-product form.variations_form .variations th {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
}
.single-product form.variations_form .variations label {
  display: block !important;
  margin-bottom: 6px !important;
  color: var(--vlg-dark) !important;
  font-weight: 800 !important;
}
.single-product form.variations_form .variations select,
.single-product .vlg-product-buybox .quantity .qty {
  width: 100% !important;
  min-height: 46px !important;
  border-radius: 14px !important;
}
.single-product form.variations_form .single_variation_wrap {
  display: grid !important;
  gap: 10px !important;
}
.single-product form.variations_form .woocommerce-variation-add-to-cart,
.single-product .vlg-product-buybox form.cart {
  display: grid !important;
  grid-template-columns: 90px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
}
.single-product .single_variation {
  margin: 0 !important;
}
.single-product .reset_variations {
  display: inline-flex !important;
  align-items: center !important;
  font-weight: 700 !important;
  color: var(--vlg-primary-dark) !important;
  margin-top: 6px !important;
}

/* Kontaktlehe valmis vorm ja kaardid. */
.vlg-contact-form-card,
.vlg-contact-map-card {
  background: #fff;
  border: 1px solid var(--vlg-line);
  border-radius: 20px;
  box-shadow: 0 10px 28px rgba(17, 32, 55, .05);
  padding: 24px;
}
.vlg-contact-form-card h2,
.vlg-contact-map-card h2 {
  margin-top: 0;
  margin-bottom: 10px;
}
.vlg-contact-form-intro,
.vlg-contact-copy p {
  color: var(--vlg-muted);
}
.vlg-contact-form {
  display: grid;
  gap: 14px;
}
.vlg-contact-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.vlg-contact-form label {
  display: grid;
  gap: 6px;
  font-weight: 700;
  color: var(--vlg-dark);
}
.vlg-contact-form-full {
  grid-column: 1 / -1;
}
.vlg-contact-form input:not(.vlg-hp),
.vlg-contact-form textarea {
  width: 100%;
  min-height: 46px;
  border: 1px solid var(--vlg-line);
  border-radius: 14px;
  padding: 12px 14px;
  background: #fff;
}
.vlg-contact-form textarea {
  min-height: 150px;
  resize: vertical;
}
.vlg-hp {
  position: absolute !important;
  left: -9999px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.vlg-contact-notice {
  border-radius: 14px;
  padding: 12px 14px;
  font-weight: 700;
  margin-bottom: 12px;
}
.vlg-contact-notice.is-success {
  background: rgba(22, 163, 74, .1);
  color: #166534;
}
.vlg-contact-notice.is-error {
  background: rgba(220, 38, 38, .08);
  color: #991b1b;
}
.vlg-contact-copy + .vlg-contact-copy {
  margin-top: 14px;
}
.vlg-contact-map-embed iframe {
  width: 100% !important;
  min-height: 340px !important;
  border: 0 !important;
  border-radius: 16px !important;
}

@media (max-width: 991px) {
  .single-product .vlg-product-main-grid {
    grid-template-columns: 1fr !important;
  }
  .single-product .vlg-product-right .vlg-product-summary-card {
    position: static !important;
  }
}

@media (max-width: 767px) {
  .single-product form.variations_form .woocommerce-variation-add-to-cart,
  .single-product .vlg-product-buybox form.cart,
  .vlg-contact-form-grid {
    grid-template-columns: 1fr !important;
  }
  .vlg-contact-form-card,
  .vlg-contact-map-card {
    padding: 18px;
  }
}


/* =========================================================
   v1.6.2 — checkout, konto ja variatsioonitoodete UX polish
   ========================================================= */
/* --- Üksiku toote parem kast EI TOHI kaasa sõita. --- */
.single-product .vlg-product-right .vlg-product-summary-card,
.single-product .vlg-product-summary-card {
  position: static !important;
  top: auto !important;
}

/* Variatsioonidega toodetel tee valik, kogus ja ostunupp selgelt nähtavaks. */
.single-product .vlg-product-right {
  gap: 16px !important;
}
.single-product .vlg-product-summary-card {
  overflow: visible !important;
}
.single-product .vlg-product-buybox {
  padding: 18px !important;
  overflow: visible !important;
}
.single-product form.variations_form.cart {
  width: 100% !important;
  gap: 12px !important;
}
.single-product form.variations_form .variations,
.single-product form.variations_form .variations tbody,
.single-product form.variations_form .variations tr {
  display: grid !important;
  width: 100% !important;
  gap: 10px !important;
}
.single-product form.variations_form .variations td.value {
  display: grid !important;
  gap: 8px !important;
}
.single-product form.variations_form .variations select {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 48px !important;
  padding: 0 14px !important;
  border-radius: 14px !important;
  border: 1px solid var(--vlg-line) !important;
  background: #fff !important;
}
.single-product form.variations_form .reset_variations {
  justify-self: start !important;
}
.single-product form.variations_form .single_variation_wrap {
  display: grid !important;
  gap: 12px !important;
}
.single-product form.variations_form .woocommerce-variation-price {
  font-weight: 900 !important;
  color: #b85a00 !important;
}
.single-product form.variations_form .woocommerce-variation-add-to-cart {
  display: grid !important;
  grid-template-columns: 96px minmax(0, 1fr) !important;
  gap: 10px !important;
  width: 100% !important;
  align-items: center !important;
}
.single-product .vlg-product-buybox .quantity,
.single-product form.variations_form .quantity {
  width: 100% !important;
  min-width: 0 !important;
}
.single-product .vlg-product-buybox .quantity .qty,
.single-product form.variations_form .quantity .qty {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 48px !important;
}
.single-product form.variations_form .single_add_to_cart_button,
.single-product .vlg-product-buybox .single_add_to_cart_button {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  white-space: nowrap !important;
}
.single-product form.variations_form .woocommerce-variation-description p {
  color: var(--vlg-muted) !important;
}

/* --- Kassa leht modernsemaks ja loogilisemaks. --- */
.woocommerce-checkout .woocommerce {
  display: block;
}
.woocommerce-checkout form.checkout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr) !important;
  gap: 24px !important;
  align-items: start !important;
}
.woocommerce-checkout #customer_details {
  display: grid !important;
  gap: 18px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.woocommerce-checkout #customer_details > div,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout #order_review {
  background: #fff !important;
  border: 1px solid var(--vlg-line) !important;
  border-radius: 22px !important;
  box-shadow: 0 10px 30px rgba(15, 23, 42, .05) !important;
  padding: 22px !important;
}
.woocommerce-checkout #order_review {
  position: sticky !important;
  top: calc(var(--vlg-header-offset) + 16px) !important;
}
.woocommerce-checkout h3 {
  margin-top: 0 !important;
  margin-bottom: 16px !important;
  font-size: 26px !important;
  line-height: 1.1 !important;
  color: var(--vlg-dark) !important;
}
.woocommerce-checkout .form-row {
  margin-bottom: 14px !important;
}
.woocommerce-checkout label {
  font-weight: 800 !important;
  color: var(--vlg-dark) !important;
  margin-bottom: 6px !important;
}
.woocommerce-checkout .select2-container .select2-selection--single,
.woocommerce-checkout textarea,
.woocommerce-checkout input.input-text,
.woocommerce-checkout select {
  min-height: 48px !important;
  border-radius: 14px !important;
  background: #fff !important;
}
.woocommerce-checkout textarea {
  min-height: 120px !important;
}
.woocommerce-checkout table.shop_table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1px solid var(--vlg-line) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
}
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td {
  padding: 14px 16px !important;
}
.woocommerce-checkout .shipping ul#shipping_method {
  display: grid !important;
  gap: 10px !important;
}
.woocommerce-checkout .shipping ul#shipping_method li {
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-checkout .shipping ul#shipping_method li label {
  display: block !important;
  padding: 10px 12px 10px 28px !important;
  border: 1px solid var(--vlg-line) !important;
  border-radius: 14px !important;
  background: #fff !important;
  font-weight: 700 !important;
}
.woocommerce-checkout .wc_payment_methods {
  display: grid !important;
  gap: 12px !important;
  padding: 0 !important;
}
.woocommerce-checkout .wc_payment_methods .wc_payment_method {
  margin: 0 !important;
  padding: 14px !important;
  border: 1px solid var(--vlg-line) !important;
  border-radius: 16px !important;
  background: #fff !important;
}
.woocommerce-checkout .payment_box {
  margin-top: 10px !important;
  border-radius: 14px !important;
  background: #f8fafc !important;
}
.woocommerce-checkout #place_order {
  width: 100% !important;
  min-height: 52px !important;
  border-radius: 16px !important;
  font-size: 16px !important;
}

/* --- Konto leht: külgmenüü nähtavaks ja sisu professionaalsemaks. --- */
.woocommerce-account .woocommerce {
  display: grid !important;
  grid-template-columns: minmax(240px, 290px) minmax(0, 1fr) !important;
  gap: 26px !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation {
  background: linear-gradient(180deg, #08152a 0%, #0a1a33 100%) !important;
  border: 0 !important;
  border-radius: 22px !important;
  box-shadow: 0 18px 36px rgba(9,25,49,.14) !important;
  padding: 18px !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  display: grid !important;
  gap: 8px !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
  display: block !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: flex !important;
  align-items: center !important;
  min-height: 46px !important;
  padding: 0 14px !important;
  border-radius: 14px !important;
  color: rgba(255,255,255,.92) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
  background: rgba(255,255,255,.12) !important;
  color: #fff !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--dashboard a {
  background: rgba(255,255,255,.12) !important;
}
.woocommerce-account .woocommerce-MyAccount-content {
  border-radius: 22px !important;
  padding: 26px 28px !important;
}
.woocommerce-account .woocommerce-MyAccount-content > p:first-child {
  padding: 16px 18px !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #fff8f0, #ffffff) !important;
  border: 1px solid rgba(242, 138, 0, .18) !important;
}
.woocommerce-account .woocommerce-Address,
.woocommerce-account .woocommerce-address-fields,
.woocommerce-account .edit-account,
.woocommerce-account .woocommerce-EditAccountForm,
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
  background: #fff !important;
  border: 1px solid var(--vlg-line) !important;
  border-radius: 18px !important;
  padding: 20px !important;
  box-shadow: 0 10px 28px rgba(17, 32, 55, .04) !important;
}
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
  margin-top: 18px !important;
}
.woocommerce-account .woocommerce-form-login .form-row,
.woocommerce-account .woocommerce-form-register .form-row,
.woocommerce-account .edit-account .form-row,
.woocommerce-account .woocommerce-address-fields .form-row {
  margin-bottom: 14px !important;
}
.woocommerce-account .woocommerce-form-login label,
.woocommerce-account .woocommerce-form-register label,
.woocommerce-account .edit-account label,
.woocommerce-account .woocommerce-address-fields label {
  font-weight: 800 !important;
  color: var(--vlg-dark) !important;
}

/* Kontaktlehe parem külg ühtlasem. */
.vlg-contact-side {
  align-content: start !important;
}
.vlg-contact-cta-card .vlg-btn {
  width: 100%;
  justify-content: center;
}

@media (max-width: 1100px) {
  .woocommerce-checkout form.checkout,
  .woocommerce-account .woocommerce {
    grid-template-columns: 1fr !important;
  }
  .woocommerce-checkout #order_review {
    position: static !important;
    top: auto !important;
  }
}

@media (max-width: 767px) {
  .single-product form.variations_form .woocommerce-variation-add-to-cart {
    grid-template-columns: 1fr !important;
  }
  .single-product .vlg-product-buybox {
    padding: 14px !important;
  }
  .woocommerce-checkout #customer_details > div,
  .woocommerce-checkout .woocommerce-additional-fields,
  .woocommerce-checkout .woocommerce-billing-fields,
  .woocommerce-checkout .woocommerce-shipping-fields,
  .woocommerce-checkout #order_review,
  .woocommerce-account .woocommerce-MyAccount-content,
  .woocommerce-account .woocommerce-MyAccount-navigation {
    padding: 16px !important;
  }
}


/* =========================================================
   v1.6.3 — vaikimisi makselogod pildifailidena
   ========================================================= */
.vlg-payment-badges {
  gap: 8px !important;
}
.vlg-payment-badge.is-image {
  min-height: 34px !important;
  min-width: 72px !important;
  padding: 4px 6px !important;
  border-radius: 10px !important;
  background: #fff !important;
  border: 1px solid #dbe3ef !important;
}
.vlg-payment-badge.is-image img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 92px !important;
  max-height: 26px !important;
  object-fit: contain !important;
}
.vlg-footer .vlg-payment-badge.is-image img,
.vlg-product-sidecard .vlg-payment-badge.is-image img {
  max-width: 84px !important;
  max-height: 24px !important;
}
@media (max-width: 767px) {
  .vlg-payment-badge.is-image {
    min-width: 64px !important;
  }
  .vlg-payment-badge.is-image img {
    max-width: 78px !important;
  }
}


/* =========================================================
   v1.6.4 — latest products, cleaner cart, controlled payment badges
   ========================================================= */
/* Avalehe uus "värskelt lisatud" plokk. */
.vlg-latest-showcase {
  padding: 28px !important;
  border-radius: 26px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,252,247,.96)) !important;
  border: 1px solid var(--vlg-line) !important;
  box-shadow: 0 16px 38px rgba(17, 32, 55, .05) !important;
}
.vlg-latest-showcase .vlg-section-head {
  align-items: end !important;
  gap: 16px !important;
}
.vlg-latest-showcase .vlg-section-head p {
  margin: 10px 0 0 !important;
  max-width: 60ch !important;
  color: var(--vlg-muted) !important;
}
.vlg-latest-showcase__grid {
  margin-top: 18px !important;
}
.vlg-page-content--compact {
  padding: 22px 26px !important;
}

/* Jaluses ja tootelehel vähem makseikoone korraga. */
.vlg-payment-badges--footer {
  max-width: 420px !important;
}
.vlg-payment-badges--product {
  max-width: 100% !important;
}
.vlg-footer .vlg-payment-badges,
.vlg-product-sidecard .vlg-payment-badges {
  row-gap: 8px !important;
}

/* Ostukorv visuaalselt paremaks. */
.woocommerce-cart .woocommerce-notices-wrapper > * + * {
  display: none !important;
}
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error {
  border-radius: 18px !important;
  border: 1px solid rgba(242,138,0,.16) !important;
  background: linear-gradient(135deg, #fff8f0, #ffffff) !important;
  box-shadow: 0 10px 24px rgba(17,32,55,.04) !important;
  padding: 16px 18px !important;
}
.woocommerce-cart form.woocommerce-cart-form,
.woocommerce-cart .cart-collaterals .cart_totals {
  background: #fff !important;
  border: 1px solid var(--vlg-line) !important;
  border-radius: 22px !important;
  box-shadow: 0 10px 30px rgba(15,23,42,.05) !important;
  padding: 22px !important;
}
.woocommerce-cart .shop_table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1px solid var(--vlg-line) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
}
.woocommerce-cart .shop_table th,
.woocommerce-cart .shop_table td {
  padding: 14px 16px !important;
  vertical-align: middle !important;
}
.woocommerce-cart .shop_table .product-thumbnail img {
  width: 54px !important;
  height: 54px !important;
  object-fit: contain !important;
}
.woocommerce-cart .shop_table .product-name a {
  color: var(--vlg-primary-dark) !important;
  font-weight: 800 !important;
}
.woocommerce-cart .shop_table .product-remove a {
  color: #d11a2a !important;
  font-size: 22px !important;
}
.woocommerce-cart .actions .coupon {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}
.woocommerce-cart .actions .input-text {
  min-height: 46px !important;
  border-radius: 14px !important;
}
.woocommerce-cart .actions button,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  min-height: 50px !important;
  border-radius: 999px !important;
}
.woocommerce-cart .cart-collaterals {
  margin-top: 22px !important;
}
.woocommerce-cart .cart-collaterals .cart_totals {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
}
.woocommerce-cart .cart_totals h2 {
  margin-top: 0 !important;
}
.woocommerce-cart .cart_totals table td,
.woocommerce-cart .cart_totals table th {
  padding: 14px 16px !important;
}
.woocommerce-cart .shipping-calculator-button,
.woocommerce-cart .wc-proceed-to-checkout a {
  font-weight: 900 !important;
}

/* Tootelehe infokastid ja variatsiooniosa selgemaks. */
.single-product .vlg-product-main-grid {
  align-items: start !important;
}
.single-product .vlg-product-summary-card,
.single-product .vlg-product-right .vlg-product-summary-card {
  position: static !important;
  top: auto !important;
}
.single-product .vlg-product-specs {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
.single-product .vlg-product-specs div {
  min-height: 84px !important;
  padding: 12px 14px !important;
}
.single-product .vlg-product-specs strong {
  display: block !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}
.single-product .vlg-product-buybox {
  padding: 16px !important;
}
.single-product form.variations_form .woocommerce-variation-add-to-cart,
.single-product .vlg-product-buybox form.cart {
  grid-template-columns: 96px minmax(0, 1fr) !important;
  gap: 10px !important;
}
.single-product form.variations_form .single_add_to_cart_button,
.single-product .vlg-product-buybox .single_add_to_cart_button {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.single-product .vlg-product-sidecard {
  gap: 10px !important;
}
.single-product .vlg-side-feature strong,
.single-product .vlg-side-feature small {
  display: block !important;
  line-height: 1.35 !important;
  overflow-wrap: anywhere !important;
}
.single-product .vlg-product-related-wrap {
  display: grid !important;
  gap: 18px !important;
  margin-top: 18px !important;
}
.single-product .vlg-product-related-wrap .related.products,
.single-product .vlg-product-related-wrap .upsells.products {
  margin-top: 0 !important;
}
.single-product .vlg-product-related-wrap .products {
  margin-top: 12px !important;
}
.single-product .vlg-product-card .vlg-energy-badge,
.single-product .vlg-product-card .vlg-energy-badge-link {
  display: inline-flex !important;
}

@media (max-width: 991px) {
  .woocommerce-cart form.woocommerce-cart-form,
  .woocommerce-cart .cart-collaterals .cart_totals,
  .vlg-latest-showcase {
    padding: 18px !important;
  }
}

@media (max-width: 767px) {
  .vlg-latest-showcase .vlg-section-head {
    align-items: start !important;
  }
  .woocommerce-cart .shop_table th,
  .woocommerce-cart .shop_table td {
    padding: 12px !important;
  }
  .single-product .vlg-product-specs,
  .single-product form.variations_form .woocommerce-variation-add-to-cart,
  .single-product .vlg-product-buybox form.cart {
    grid-template-columns: 1fr !important;
  }
}


/* === 06-admin-stability.css === */
/*!
 * Valgusallikad theme — 06-admin-stability.css
 * v1.6.6 hero admin controls, v1.6.7 hero glass card, v1.6.8 home block admin + latest polish, v1.6.9 admin overview + image safety, v1.7.0 WooCommerce add-ons, v1.7.1 visual design polish, v1.7.2 final mobile + layout safety.
 * (Source: original theme.css lines 7391–8702)
 *
 * Maintenance note: parts are concatenated in numeric order at runtime.
 * Editing this file affects only the rules originally in this epoch.
 */

/* =========================================================
   v1.6.5 — WooCommerce alamkategooriate pildid ja kaardivaade
   ========================================================= */
.woocommerce ul.products li.product-category.vlg-category-loop-card,
ul.products li.product-category.vlg-category-loop-card,
.vlg-shop-products ul.products li.product-category.vlg-category-loop-card {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  background: #fff !important;
  border: 1px solid var(--vlg-line) !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  box-shadow: 0 10px 28px rgba(17, 32, 55, .055) !important;
  min-height: 100% !important;
}

.woocommerce ul.products li.product-category.vlg-category-loop-card a,
ul.products li.product-category.vlg-category-loop-card a,
.vlg-category-loop-card__link {
  display: grid !important;
  grid-template-rows: 180px 1fr !important;
  height: 100% !important;
  color: var(--vlg-dark) !important;
  text-decoration: none !important;
}

.vlg-category-loop-card__image {
  display: grid !important;
  place-items: center !important;
  min-height: 180px !important;
  padding: 18px !important;
  background: linear-gradient(180deg, #ffffff, #f8fafc) !important;
  border-bottom: 1px solid rgba(226, 232, 240, .68) !important;
}

.woocommerce ul.products li.product-category.vlg-category-loop-card img,
ul.products li.product-category.vlg-category-loop-card img,
.vlg-category-loop-card__image img {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 140px !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  opacity: 1 !important;
}

.vlg-category-loop-card__body {
  display: grid !important;
  align-content: start !important;
  gap: 8px !important;
  padding: 18px !important;
}

.woocommerce ul.products li.product-category.vlg-category-loop-card h2,
.vlg-category-loop-card__body strong {
  margin: 0 !important;
  color: var(--vlg-dark) !important;
  font-size: 18px !important;
  font-weight: 950 !important;
  line-height: 1.16 !important;
  letter-spacing: -.025em !important;
  min-height: 0 !important;
}

.vlg-category-loop-card__body small {
  color: var(--vlg-muted) !important;
  font-weight: 800 !important;
}

.vlg-category-loop-card__body em {
  margin-top: 6px !important;
  color: var(--vlg-primary-dark, #b85a00) !important;
  font-style: normal !important;
  font-weight: 950 !important;
}

.woocommerce ul.products li.product-category.vlg-category-loop-card:hover,
ul.products li.product-category.vlg-category-loop-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 18px 42px rgba(17, 32, 55, .09) !important;
}

/* Kui WooCommerce väljundis tuleb siiski vana category thumbnail, peida katkised vaikimisi elemendid. */
ul.products li.product-category:not(.vlg-category-loop-card) img[width="1"],
ul.products li.product-category:not(.vlg-category-loop-card) img[src=""] {
  display: none !important;
}

@media (max-width: 767px) {
  .woocommerce ul.products li.product-category.vlg-category-loop-card a,
  ul.products li.product-category.vlg-category-loop-card a,
  .vlg-category-loop-card__link {
    grid-template-rows: 140px 1fr !important;
  }
  .vlg-category-loop-card__image {
    min-height: 140px !important;
    padding: 14px !important;
  }
  .vlg-category-loop-card__image img {
    max-height: 110px !important;
  }
  .vlg-category-loop-card__body {
    padding: 14px !important;
  }
}


/* =========================================================
   v1.6.6 — hero admin controls and layout skins
   ========================================================= */
.vlg-hero {
  background-position: var(--vlg-hero-bg-position, center right) !important;
  background-size: var(--vlg-hero-bg-size, cover) !important;
  background-repeat: no-repeat !important;
}
.vlg-hero .vlg-hero-content {
  max-width: var(--vlg-hero-text-width, 620px) !important;
}
.vlg-hero-layout-wide {
  grid-template-columns: minmax(0, 1fr) !important;
}
.vlg-hero-layout-wide .vlg-hero-content {
  max-width: min(var(--vlg-hero-text-width, 760px), 100%) !important;
}
.vlg-hero-layout-center {
  grid-template-columns: minmax(0, 1fr) !important;
  justify-content: center !important;
  text-align: center !important;
}
.vlg-hero-layout-center .vlg-hero-content {
  margin-inline: auto !important;
}
.vlg-hero-layout-center .vlg-hero-actions,
.vlg-hero-align-center .vlg-hero-actions {
  justify-content: center !important;
}
.vlg-hero-align-center .vlg-hero-content {
  text-align: center !important;
  margin-inline: auto !important;
}
.vlg-hero-align-right .vlg-hero-content {
  text-align: right !important;
  margin-left: auto !important;
}
.vlg-hero-align-right .vlg-hero-actions {
  justify-content: flex-end !important;
}
.vlg-hero-skin-light {
  color: var(--vlg-dark) !important;
}
.vlg-hero-skin-light .vlg-kicker,
.vlg-hero-skin-light h1,
.vlg-hero-skin-light p {
  color: var(--vlg-dark) !important;
}
.vlg-hero-skin-light .vlg-hero-content {
  background: rgba(255, 255, 255, .78) !important;
  border: 1px solid rgba(255,255,255,.8) !important;
  border-radius: 24px !important;
  padding: clamp(20px, 3vw, 34px) !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .10) !important;
  backdrop-filter: blur(8px) !important;
}
.vlg-hero-skin-orange .vlg-hero-content {
  background: linear-gradient(135deg, rgba(242, 138, 0, .92), rgba(217, 107, 0, .88)) !important;
  border-radius: 24px !important;
  padding: clamp(20px, 3vw, 34px) !important;
  box-shadow: 0 18px 42px rgba(242, 138, 0, .22) !important;
}
.vlg-hero-skin-orange .vlg-kicker,
.vlg-hero-skin-orange h1,
.vlg-hero-skin-orange p {
  color: #fff !important;
}
.vlg-hero-skin-orange .vlg-btn-primary {
  background: #fff !important;
  color: #0b1528 !important;
}
.vlg-hero-skin-orange .vlg-btn-ghost {
  color: #fff !important;
  border-color: rgba(255,255,255,.5) !important;
}
.vlg-hero-payments {
  margin-top: 18px !important;
}
.vlg-payment-badges--hero {
  max-width: 420px !important;
}
.vlg-hero-align-center .vlg-payment-badges--hero,
.vlg-hero-layout-center .vlg-payment-badges--hero {
  margin-inline: auto !important;
  justify-content: center !important;
}
.vlg-hero-align-right .vlg-payment-badges--hero {
  margin-left: auto !important;
  justify-content: flex-end !important;
}
@media (max-width: 767px) {
  .vlg-hero,
  .vlg-hero-layout-wide,
  .vlg-hero-layout-center {
    grid-template-columns: 1fr !important;
    text-align: left !important;
  }
  .vlg-hero .vlg-hero-content {
    max-width: 100% !important;
  }
  .vlg-hero-align-right .vlg-hero-content,
  .vlg-hero-align-center .vlg-hero-content {
    text-align: left !important;
    margin-inline: 0 !important;
  }
  .vlg-hero-align-right .vlg-hero-actions,
  .vlg-hero-align-center .vlg-hero-actions,
  .vlg-hero-layout-center .vlg-hero-actions {
    justify-content: flex-start !important;
  }
  .vlg-hero-skin-light .vlg-hero-content,
  .vlg-hero-skin-orange .vlg-hero-content {
    padding: 20px !important;
    border-radius: 20px !important;
  }
}


/* =========================================================
   v1.6.7 — parem hero admin + loetav hero klaaskaart
   ========================================================= */
.vlg-hero-content-card .vlg-hero-content {
  max-width: min(var(--vlg-hero-text-width, 620px), 100%) !important;
  padding: clamp(18px, 3vw, 34px) !important;
  border: 1px solid rgba(255, 255, 255, .24) !important;
  border-radius: 24px !important;
  background: rgba(7, 18, 36, .52) !important;
  box-shadow: 0 18px 45px rgba(0, 0, 0, .18) !important;
  backdrop-filter: blur(10px) !important;
}
.vlg-hero-skin-light.vlg-hero-content-card .vlg-hero-content {
  background: rgba(255, 255, 255, .82) !important;
  border-color: rgba(15, 23, 42, .08) !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .08) !important;
}
.vlg-hero-skin-orange.vlg-hero-content-card .vlg-hero-content {
  background: rgba(242, 138, 0, .78) !important;
  border-color: rgba(255,255,255,.28) !important;
}
.vlg-hero-align-center .vlg-hero-content {
  margin-inline: auto !important;
  text-align: center !important;
}
.vlg-hero-align-right .vlg-hero-content {
  margin-left: auto !important;
  text-align: right !important;
}
.vlg-hero-layout-center {
  justify-content: center !important;
}
.vlg-hero-layout-center .vlg-hero-benefits {
  display: none !important;
}
.vlg-hero-layout-wide .vlg-hero-content {
  max-width: min(var(--vlg-hero-text-width, 760px), 100%) !important;
}
@media (max-width: 767px) {
  .vlg-hero-mobile-hide-benefits .vlg-hero-benefits {
    display: none !important;
  }
  .vlg-hero-content-card .vlg-hero-content {
    border-radius: 18px !important;
  }
}

.vlg-admin-hero-preview {
  margin-top: 18px;
  border-radius: 18px;
  min-height: 220px;
  background-size: cover;
  background-position: center;
  display: grid;
  align-items: center;
  padding: 22px;
  overflow: hidden;
  border: 1px solid #dbe3ef;
  box-shadow: 0 14px 30px rgba(15, 23, 42, .08);
}
.vlg-admin-hero-preview > div {
  max-width: 620px;
  color: #fff;
}
.vlg-admin-hero-preview span {
  display: inline-block;
  margin-bottom: 8px;
  color: #ffb34d;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.vlg-admin-hero-preview strong {
  display: block;
  font-size: clamp(28px, 4vw, 46px);
  line-height: 1.02;
  font-weight: 950;
}
.vlg-admin-hero-preview small {
  display: block;
  margin-top: 10px;
  max-width: 58ch;
  font-size: 15px;
  line-height: 1.55;
  color: rgba(255,255,255,.86);
}
.vlg-admin-hero-preview-light > div {
  color: #071224;
}
.vlg-admin-hero-preview-light small {
  color: #475569;
}


/* =========================================================
   v1.6.8 — avalehe plokkide admin-haldus ja uusimate toodete polish
   ========================================================= */
.vlg-latest-showcase .vlg-section-head > div {
  min-width: 0;
}
.vlg-latest-showcase .vlg-section-head h2 {
  margin-top: 6px !important;
}
.vlg-latest-showcase .vlg-products-grid {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
}
.vlg-latest-showcase .vlg-card-image-wrap img,
.vlg-latest-showcase .wp-post-image {
  max-height: 170px !important;
}
.vlg-admin-hero-preview {
  min-height: 220px;
  background-position: center;
  background-size: cover;
}
.vlg-admin-card .vlg-admin-grid + .description {
  grid-column: 1 / -1;
}
@media (max-width: 767px) {
  .vlg-latest-showcase {
    padding: 18px !important;
  }
  .vlg-latest-showcase .vlg-products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .vlg-latest-showcase .vlg-section-head a {
    margin-top: 8px;
  }
}


/* =========================================================
   v1.6.9 — admin overview, safer images and category/product stability
   ========================================================= */
.vlg-admin-section-overview {
  margin: 16px 0 18px;
  padding: 18px;
  border: 1px solid #dbe4ef;
  border-radius: 16px;
  background: linear-gradient(135deg, #ffffff, #f8fafc);
  box-shadow: 0 10px 26px rgba(15, 23, 42, .06);
}
.vlg-admin-section-overview > div:first-child {
  display: grid;
  gap: 4px;
  margin-bottom: 12px;
}
.vlg-admin-section-overview strong {
  font-size: 16px;
  color: #071224;
}
.vlg-admin-section-overview small {
  color: #64748b;
}
.vlg-admin-section-overview ol {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 14px;
  padding: 0;
  list-style: none;
}
.vlg-admin-section-overview li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid #dbe4ef;
  background: #fff;
  font-weight: 800;
}
.vlg-admin-section-overview li em {
  font-style: normal;
  font-size: 11px;
  padding: 3px 7px;
  border-radius: 999px;
  background: #e2e8f0;
  color: #475569;
}
.vlg-admin-section-overview li.is-on em {
  background: rgba(22, 163, 74, .13);
  color: #15803d;
}
.vlg-admin-section-overview li.is-off {
  opacity: .62;
}
.vlg-admin-quick-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.vlg-img-fallback-applied {
  object-fit: contain !important;
  background: #f8fafc !important;
}
.vlg-category-card img,
li.product-category img,
.vlg-product-card img {
  background-color: #fff;
}
.vlg-category-card,
li.product-category.product {
  min-width: 0;
}
.vlg-category-card strong,
li.product-category .woocommerce-loop-category__title {
  overflow-wrap: anywhere;
  word-break: normal;
}
@media (max-width: 767px) {
  .vlg-admin-section-overview ol,
  .vlg-admin-quick-actions {
    display: grid;
  }
}


/* =========================================================
   v1.7.0 — WooCommerce practical add-ons
   ========================================================= */
.vlg-free-shipping-progress,
.vlg-cart-trust-card,
.vlg-empty-cart-panel,
.vlg-checkout-trust-box,
.vlg-product-help-notice {
  background: #fff;
  border: 1px solid var(--vlg-line);
  border-radius: 20px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .05);
}
.vlg-free-shipping-progress {
  padding: 16px 18px;
  margin: 0 0 16px;
}
.vlg-free-shipping-progress__head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  margin-bottom: 10px;
}
.vlg-free-shipping-progress__head strong { color: var(--vlg-dark); }
.vlg-free-shipping-progress__head span { color: var(--vlg-muted); font-weight: 700; }
.vlg-free-shipping-progress__bar {
  height: 10px;
  border-radius: 999px;
  background: #edf2f7;
  overflow: hidden;
}
.vlg-free-shipping-progress__bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--vlg-primary), #fbbf24);
}
.vlg-cart-trust-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0;
}
.vlg-cart-trust-card {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 12px;
  align-items: center;
  padding: 14px;
}
.vlg-cart-trust-card > span {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: rgba(242, 138, 0, .12);
  font-size: 20px;
}
.vlg-cart-trust-card strong { display: block; color: var(--vlg-dark); line-height: 1.2; }
.vlg-cart-trust-card small { display: block; color: var(--vlg-muted); line-height: 1.35; margin-top: 3px; }
.vlg-empty-cart-panel {
  text-align: center;
  padding: 36px 24px;
  max-width: 680px;
  margin: 18px auto;
}
.vlg-empty-cart-panel__icon {
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  margin: 0 auto 16px;
  border-radius: 22px;
  background: #fff7ed;
  font-size: 34px;
}
.vlg-empty-cart-panel h2 { margin: 0 0 10px; }
.vlg-empty-cart-panel p { color: var(--vlg-muted); margin: 0 auto 18px; max-width: 46ch; }
.vlg-checkout-trust-box {
  display: grid;
  gap: 12px;
  padding: 16px;
  margin: 16px 0;
  background: linear-gradient(180deg, #fff, #fffaf4);
}
.vlg-checkout-trust-box strong { color: var(--vlg-dark); }
.vlg-checkout-trust-box p { color: var(--vlg-muted); margin: 4px 0 0; line-height: 1.45; }
.vlg-checkout-trust-box .vlg-payment-badges { margin-top: 4px; }
.vlg-product-help-notice {
  padding: 14px 16px;
  margin: 14px 0;
  background: linear-gradient(135deg, #fff8f0, #ffffff);
}
.vlg-product-help-notice strong { display: block; color: var(--vlg-dark); }
.vlg-product-help-notice p { color: var(--vlg-muted); margin: 5px 0 10px; }
.vlg-product-help-notice__links { display: flex; flex-wrap: wrap; gap: 8px; }
.vlg-product-help-notice__links a,
.vlg-sku-copy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--vlg-line);
  color: var(--vlg-primary-dark);
  font-weight: 800;
  text-decoration: none;
}
.vlg-sku-copy {
  margin-left: 8px;
  cursor: pointer;
  font-size: 12px;
}
.woocommerce-mini-cart {
  display: grid;
  gap: 10px;
}
.woocommerce-mini-cart-item {
  border: 1px solid var(--vlg-line);
  border-radius: 14px;
  padding: 10px !important;
  background: #fff;
}
.woocommerce-mini-cart__buttons .button {
  width: 100%;
  min-height: 44px;
  border-radius: 999px !important;
  margin: 4px 0 !important;
}
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
  border: 1px solid var(--vlg-line) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .04) !important;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info {
  border-radius: 16px !important;
  background: #fff8f0 !important;
  border: 1px solid rgba(242, 138, 0, .18) !important;
}
@media (max-width: 767px) {
  .vlg-free-shipping-progress__head,
  .vlg-product-help-notice__links {
    display: grid;
  }
  .vlg-cart-trust-grid {
    grid-template-columns: 1fr;
  }
  .vlg-cart-trust-card,
  .vlg-empty-cart-panel,
  .vlg-checkout-trust-box {
    padding: 14px;
  }
}


/* =========================================================
   v1.7.1 — visual design polish
   ========================================================= */
:root {
  --vlg-radius-xl: 28px;
  --vlg-radius-lg: 22px;
  --vlg-radius-md: 16px;
}

body {
  background:
    radial-gradient(circle at top right, rgba(242, 138, 0, 0.06), transparent 22%),
    linear-gradient(180deg, #f7f9fc 0%, #fffdf9 22%, #f6f8fb 100%) !important;
}

.vlg-header,
.site-header,
header.site-header {
  backdrop-filter: blur(12px);
}

.vlg-topbar {
  background: linear-gradient(90deg, #0a1628 0%, #13243d 55%, #1c355c 100%) !important;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.vlg-header-main,
.vlg-header-shell,
.vlg-header {
  background: rgba(255,255,255,.88) !important;
  box-shadow: 0 14px 34px rgba(17, 32, 55, .08) !important;
}

.vlg-header-search input,
.vlg-header-search .search-field,
.vlg-search-form input[type="search"] {
  min-height: 50px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(15, 23, 42, .08) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 10px 20px rgba(15, 23, 42, .04);
  background: linear-gradient(180deg, #fff 0%, #fbfcfe 100%) !important;
}

.vlg-header-actions a,
.vlg-primary-menu > li > a,
.vlg-cat-trigger {
  border-radius: 14px !important;
}

.vlg-primary-menu > li > a:hover,
.vlg-header-actions a:hover,
.vlg-cat-trigger:hover {
  background: rgba(242, 138, 0, .08) !important;
}

.vlg-hero,
.vlg-hero-section,
.vlg-home-hero {
  border-radius: var(--vlg-radius-xl) !important;
  overflow: hidden !important;
  box-shadow: 0 24px 60px rgba(17, 32, 55, .12) !important;
}

.vlg-hero .vlg-btn,
.vlg-home-hero .vlg-btn,
.vlg-btn {
  border-radius: 999px !important;
}

.vlg-kicker {
  padding: 7px 12px !important;
  border-radius: 999px !important;
  background: rgba(242, 138, 0, .10) !important;
  color: #c56700 !important;
}

.vlg-section,
.vlg-page-card,
.vlg-page-content,
.vlg-post-card {
  border-radius: var(--vlg-radius-lg) !important;
  box-shadow: 0 14px 36px rgba(17, 32, 55, .05) !important;
}

.vlg-section-head {
  margin-bottom: 18px !important;
}

.vlg-section-head h2,
.vlg-section-head h1,
.vlg-page-card h1 {
  letter-spacing: -.04em !important;
}

.vlg-trust-card,
.vlg-category-card,
.vlg-product-card,
.vlg-contact-info-card,
.vlg-contact-cta-card,
.vlg-contact-content,
.vlg-contact-form-card,
.vlg-contact-map-card,
.vlg-admin-card,
.woocommerce-cart form.woocommerce-cart-form,
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #customer_details > div,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout #order_review,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-navigation {
  border-radius: var(--vlg-radius-lg) !important;
}

.vlg-trust-card,
.vlg-category-card,
.vlg-product-card {
  border: 1px solid rgba(17, 32, 55, .08) !important;
  background: linear-gradient(180deg, #ffffff 0%, #fcfdff 100%) !important;
}

.vlg-trust-card:hover,
.vlg-category-card:hover,
.vlg-product-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 20px 40px rgba(17, 32, 55, .10) !important;
}

.vlg-product-card .vlg-card-image-wrap,
.vlg-product-card .vlg-card-image-wrap img,
.vlg-category-card img {
  border-radius: 18px !important;
}

.vlg-product-card .vlg-card-content {
  gap: 8px !important;
}

.vlg-product-card h2,
.vlg-product-card .woocommerce-loop-product__title {
  font-size: 16px !important;
  line-height: 1.35 !important;
}

.vlg-product-card .price,
.vlg-product-card .vlg-card-price {
  font-size: 18px !important;
  font-weight: 900 !important;
  color: #1b2a41 !important;
}

.vlg-product-card .vlg-card-actions,
.vlg-product-card .vlg-card-actions .button,
.vlg-product-card .vlg-card-actions .vlg-card-cart {
  border-radius: 999px !important;
}

.vlg-product-card .vlg-energy-badge,
.vlg-product-card .vlg-energy-badge-link {
  border-radius: 12px !important;
  box-shadow: 0 8px 18px rgba(17, 32, 55, .12) !important;
}

.single-product .vlg-product-gallery-card,
.single-product .vlg-product-summary-card,
.single-product .vlg-product-tabs,
.single-product .vlg-product-sidecard {
  border-radius: var(--vlg-radius-lg) !important;
  border: 1px solid rgba(17, 32, 55, .08) !important;
  box-shadow: 0 14px 38px rgba(17, 32, 55, .06) !important;
}

.single-product .vlg-product-summary-card {
  background: linear-gradient(180deg, #ffffff 0%, #fffaf3 100%) !important;
}

.single-product .vlg-product-buybox {
  background: rgba(242, 138, 0, .04) !important;
  border: 1px solid rgba(242, 138, 0, .16) !important;
  border-radius: 20px !important;
}

.single-product .vlg-product-specs div {
  background: linear-gradient(180deg, #fff 0%, #f8fbff 100%) !important;
}

.single-product form.variations_form .variations select,
.single-product .vlg-product-buybox .quantity .qty,
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-cart .actions .input-text,
.woocommerce-account input.input-text,
.woocommerce-account textarea,
.woocommerce-account select,
.vlg-contact-form input:not(.vlg-hp),
.vlg-contact-form textarea {
  border-radius: 16px !important;
  border: 1px solid rgba(17, 32, 55, .10) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6) !important;
  background: linear-gradient(180deg, #fff 0%, #fbfdff 100%) !important;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.vlg-contact-notice,
.notice,
.updated {
  border-radius: 18px !important;
  box-shadow: 0 10px 24px rgba(17, 32, 55, .05) !important;
}

.woocommerce-cart .shop_table,
.woocommerce-checkout table.shop_table {
  border-radius: 18px !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce-checkout #place_order,
.single-product .single_add_to_cart_button,
.woocommerce-account button,
.woocommerce-account .button,
.vlg-contact-form button,
.vlg-btn-primary {
  border-radius: 999px !important;
  box-shadow: 0 14px 28px rgba(242, 138, 0, .22) !important;
}

.woocommerce-cart .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-account .woocommerce-MyAccount-content {
  background: linear-gradient(180deg, #ffffff 0%, #fcfdff 100%) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
  background: linear-gradient(180deg, #0a1a33 0%, #081326 100%) !important;
}

.vlg-footer {
  background:
    radial-gradient(circle at 8% 100%, rgba(242,138,0,.22) 0%, transparent 26%),
    radial-gradient(circle at 100% 0%, rgba(255,255,255,.08) 0%, transparent 25%),
    linear-gradient(180deg, #06111f 0%, #091726 100%) !important;
  border-top-left-radius: 34px;
  border-top-right-radius: 34px;
  box-shadow: 0 -20px 40px rgba(4, 10, 20, .10);
}

.vlg-footer-grid {
  gap: 38px !important;
}

.vlg-payment-badge.is-image {
  border-radius: 14px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 8px 18px rgba(8, 14, 26, .12) !important;
}

.vlg-admin-wrap,
.vlg-admin-panel,
.vlg-admin-card {
  border-radius: 22px !important;
}

.vlg-admin-card summary {
  background: linear-gradient(180deg, #fbfcff 0%, #f3f7fc 100%) !important;
}

@media (max-width: 991px) {
  .vlg-footer {
    border-top-left-radius: 24px;
    border-top-right-radius: 24px;
  }
  .vlg-section,
  .vlg-page-card,
  .vlg-page-content,
  .vlg-post-card,
  .vlg-trust-card,
  .vlg-category-card,
  .vlg-product-card {
    border-radius: 18px !important;
  }
}

@media (max-width: 767px) {
  .vlg-kicker {
    padding: 6px 10px !important;
    font-size: 11px !important;
  }
  .vlg-btn,
  .vlg-product-card .vlg-card-actions .button,
  .vlg-product-card .vlg-card-actions .vlg-card-cart {
    min-height: 44px !important;
  }
  .vlg-footer {
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
  }
}


/* =========================================================
   v1.7.2 — final polish: mobile, layout safety and UX stability
   ========================================================= */
html {
  scroll-behavior: smooth;
}

body.vlg-theme,
body {
  overflow-x: hidden !important;
}

.vlg-container,
.vlg-home,
.vlg-shop-layout,
.vlg-single-product-page,
.vlg-page-wrap,
.woocommerce-cart .site-main,
.woocommerce-checkout .site-main,
.woocommerce-account .site-main {
  min-width: 0 !important;
}

.vlg-section,
.vlg-page-card,
.vlg-product-card,
.vlg-category-card,
.vlg-campaign-card,
.vlg-contact-info-card,
.vlg-product-summary-card,
.vlg-product-gallery-card,
.vlg-product-sidecard,
.woocommerce-cart form.woocommerce-cart-form,
.woocommerce-cart .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-account .woocommerce-MyAccount-content {
  isolation: isolate;
}

/* Better visual rhythm between front-page sections. */
.vlg-home .vlg-section,
.vlg-home .vlg-trust-grid,
.vlg-home .vlg-newsletter,
.vlg-home .vlg-page-content {
  margin-block: 24px !important;
}

.vlg-section-head a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  white-space: nowrap !important;
}

/* Product cards: consistent readable titles and no clipped badges/text. */
ul.products,
.vlg-products-grid {
  align-items: stretch !important;
}

.vlg-product-card {
  min-width: 0 !important;
  overflow: visible !important;
}

.vlg-product-card .vlg-product-link {
  overflow: hidden !important;
  border-radius: inherit !important;
}

.vlg-product-card .vlg-card-image-wrap {
  overflow: hidden !important;
  background:
    radial-gradient(circle at 30% 10%, rgba(242,138,0,.08), transparent 32%),
    linear-gradient(180deg, #fff 0%, #f8fafc 100%) !important;
}

.vlg-product-card h2,
.vlg-product-card .woocommerce-loop-product__title {
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: 4.05em !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}

.vlg-card-category,
.vlg-card-price,
.vlg-card-rating,
.vlg-card-actions {
  min-width: 0 !important;
}

.vlg-card-actions .button,
.vlg-card-actions .vlg-card-cart {
  white-space: normal !important;
  text-align: center !important;
  line-height: 1.18 !important;
}

.vlg-img-fallback-applied {
  object-fit: contain !important;
  background: #f8fafc !important;
}

/* Category cards: cleaner rows and image safety. */
.vlg-category-card {
  overflow: hidden !important;
}

.vlg-category-card img,
li.product-category img {
  background: #f8fafc !important;
  border: 1px solid rgba(17,32,55,.06) !important;
  padding: 8px !important;
}

.vlg-category-card strong,
.vlg-category-card small,
.vlg-category-card span {
  overflow-wrap: anywhere !important;
}

/* Single product: keep buy area stable and readable. */
.single-product .vlg-product-main-grid {
  align-items: start !important;
}

.single-product .vlg-product-left,
.single-product .vlg-product-right,
.single-product .vlg-product-summary-card,
.single-product .vlg-product-gallery-card {
  min-width: 0 !important;
}

.single-product .vlg-product-summary-card,
.single-product .vlg-product-right .vlg-product-summary-card {
  position: static !important;
  top: auto !important;
}

.single-product .product_title.entry-title {
  overflow-wrap: anywhere !important;
  text-wrap: balance;
}

.single-product .vlg-product-gallery-card .woocommerce-product-gallery__image img {
  max-width: 100% !important;
  height: auto !important;
}

.single-product .vlg-product-buybox {
  position: relative !important;
  z-index: 2 !important;
}

.single-product form.cart,
.single-product form.variations_form.cart,
.single-product .single_variation_wrap,
.single-product .woocommerce-variation-add-to-cart {
  min-width: 0 !important;
  max-width: 100% !important;
}

.single-product form.variations_form .variations select,
.single-product .quantity .qty,
.single-product .single_add_to_cart_button {
  max-width: 100% !important;
}

.single-product .vlg-product-sidecard .vlg-payment-badges {
  max-width: 100% !important;
}

/* Cart and checkout: prevent table overflow on desktop and mobile. */
.woocommerce-cart .shop_table,
.woocommerce-checkout .shop_table,
.woocommerce-account table.shop_table {
  width: 100% !important;
  table-layout: auto !important;
}

.woocommerce-cart .shop_table td,
.woocommerce-cart .shop_table th,
.woocommerce-checkout .shop_table td,
.woocommerce-checkout .shop_table th,
.woocommerce-account table.shop_table td,
.woocommerce-account table.shop_table th {
  overflow-wrap: anywhere !important;
}

.woocommerce-cart .product-thumbnail,
.woocommerce-cart .product-remove {
  width: 72px !important;
}

.woocommerce-cart .quantity .qty {
  min-width: 76px !important;
}

.woocommerce-cart .coupon input,
.woocommerce-cart .coupon button,
.woocommerce-checkout .coupon input,
.woocommerce-checkout .coupon button {
  min-height: 46px !important;
}

.woocommerce-checkout .select2-container {
  width: 100% !important;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-account .woocommerce-address-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px 16px !important;
}

.woocommerce-checkout .form-row,
.woocommerce-account .form-row {
  width: 100% !important;
  float: none !important;
  margin: 0 0 12px !important;
}

.woocommerce-checkout .form-row-wide,
.woocommerce-account .form-row-wide,
.woocommerce-checkout #billing_address_1_field,
.woocommerce-checkout #billing_address_2_field,
.woocommerce-checkout #shipping_address_1_field,
.woocommerce-checkout #shipping_address_2_field,
.woocommerce-checkout #order_comments_field {
  grid-column: 1 / -1 !important;
}

/* Account page: cleaner mobile navigation and forms. */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  max-width: 100% !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
  overflow-wrap: anywhere !important;
}

.woocommerce-account fieldset {
  border: 1px solid var(--vlg-line) !important;
  border-radius: 18px !important;
  padding: 18px !important;
  margin-top: 18px !important;
}

/* Contact and admin small polish. */
.vlg-contact-layout,
.vlg-contact-main,
.vlg-contact-side,
.vlg-admin-grid {
  min-width: 0 !important;
}

.vlg-contact-form button,
.vlg-admin-wrap .button,
.vlg-admin-wrap button {
  min-height: 42px;
}

/* Motion: keep site calm for users who prefer reduced motion. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

@media (max-width: 1100px) {
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
  .woocommerce-account .woocommerce-address-fields__field-wrapper {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 767px) {
  .vlg-container {
    width: min(100% - 24px, var(--vlg-container)) !important;
  }

  .vlg-home .vlg-section,
  .vlg-home .vlg-trust-grid,
  .vlg-home .vlg-newsletter,
  .vlg-home .vlg-page-content {
    margin-block: 16px !important;
  }

  .vlg-section-head {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: start !important;
    gap: 10px !important;
  }

  .vlg-section-head a {
    justify-self: start !important;
  }

  .vlg-hero,
  .vlg-home-hero,
  .vlg-hero-section {
    border-radius: 20px !important;
  }

  .vlg-products-grid,
  ul.products {
    gap: 12px !important;
  }

  .vlg-product-card h2,
  .vlg-product-card .woocommerce-loop-product__title {
    -webkit-line-clamp: 2 !important;
    min-height: 2.7em !important;
    font-size: 14px !important;
  }

  .vlg-product-card .vlg-card-image-wrap img,
  .vlg-product-card .wp-post-image {
    max-height: 132px !important;
  }

  .vlg-card-actions {
    padding-inline: 10px !important;
  }

  .single-product .vlg-product-buybox,
  .single-product .vlg-product-summary-card,
  .single-product .vlg-product-gallery-card,
  .single-product .vlg-product-sidecard,
  .single-product .vlg-product-tab {
    border-radius: 18px !important;
  }

  .single-product .vlg-product-specs {
    grid-template-columns: 1fr !important;
  }

  .woocommerce-cart .shop_table_responsive tr,
  .woocommerce-page table.shop_table_responsive tr {
    border-radius: 16px !important;
    border: 1px solid var(--vlg-line) !important;
    margin-bottom: 12px !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  .woocommerce-cart .shop_table_responsive tr td,
  .woocommerce-page table.shop_table_responsive tr td {
    padding: 12px !important;
  }

  .woocommerce-cart form.woocommerce-cart-form,
  .woocommerce-cart .cart-collaterals .cart_totals,
  .woocommerce-checkout #order_review,
  .woocommerce-account .woocommerce-MyAccount-content,
  .woocommerce-account .woocommerce-MyAccount-navigation {
    padding: 14px !important;
    border-radius: 18px !important;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    grid-template-columns: 1fr 1fr !important;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation a {
    min-height: 42px !important;
    padding: 10px !important;
    justify-content: center !important;
    text-align: center !important;
  }
}

@media (max-width: 430px) {
  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    grid-template-columns: 1fr !important;
  }

  .vlg-product-card .vlg-card-image-wrap img,
  .vlg-product-card .wp-post-image {
    max-height: 118px !important;
  }

  .vlg-payment-badge.is-image img {
    max-width: 72px !important;
  }
}


/* === 07-design-v18.css === */
/*!
 * Valgusallikad theme — 07-design-v18.css
 * v1.8.0 modern design polish — refined shadows, typography, product card hover, single product page redesign, focus rings, print styles.
 * (Source: original theme.css lines 8703–9664)
 *
 * Maintenance note: parts are concatenated in numeric order at runtime.
 * Editing this file affects only the rules originally in this epoch.
 */


/* =========================================================
   v1.8.0 — modern design polish
   Fookus: peenem visuaalne keel, parem tooteleht, vähem
   karjuvaid 900-paksusi, modernsed varjud, parem hierarhia
   ja õhulisem ruum. See sektsioon on tahtlikult lehe lõpus,
   et kõik varasemate versioonide reegleid peenenda.
   ========================================================= */

/* --- 1. Disain-tokenid: peenemad varjud, neutraalsem palett --- */
:root {
  --vlg-shadow-xs: 0 1px 2px rgba(15, 30, 55, .04);
  --vlg-shadow-sm: 0 4px 12px rgba(15, 30, 55, .05), 0 1px 2px rgba(15, 30, 55, .04);
  --vlg-shadow-md: 0 12px 28px rgba(15, 30, 55, .08), 0 4px 8px rgba(15, 30, 55, .04);
  --vlg-shadow-lg: 0 24px 48px rgba(15, 30, 55, .10), 0 8px 16px rgba(15, 30, 55, .05);
  --vlg-ring: 0 0 0 3px rgba(242, 138, 0, .22);
  --vlg-line-soft: rgba(15, 30, 55, .07);
  --vlg-line-strong: rgba(15, 30, 55, .14);
  --vlg-ease: cubic-bezier(.22, .61, .36, 1);
}

/* --- 2. Typograafia: vähem karjuvaid 900-paksusi --- */
body.vlg-theme,
body {
  font-feature-settings: "ss01", "cv11", "kern";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Pealkirjad: 800 maksimum, parem letter-spacing */
.vlg-section-head h1,
.vlg-section-head h2,
.vlg-product-summary-card h1,
.vlg-shop-head h1,
.vlg-page-card h1 {
  font-weight: 800 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.08 !important;
}

/* Tootekaardi pealkiri: 700, mitte 900 — palju loetavam */
.vlg-product-card h2,
.vlg-product-card .woocommerce-loop-product__title {
  font-weight: 700 !important;
  letter-spacing: -0.005em !important;
}

/* Logo tekst peenemaks */
.vlg-logo-text strong {
  font-weight: 800 !important;
  letter-spacing: -0.035em !important;
}

/* --- 3. Linkide ja nuppude põhistiil --- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex="0"]:focus-visible {
  outline: none !important;
  box-shadow: var(--vlg-ring) !important;
  border-radius: 8px;
}

.vlg-btn,
.vlg-btn-primary,
.vlg-btn-outline,
.vlg-btn-ghost {
  font-weight: 700 !important;
  letter-spacing: 0.005em;
  transition: transform .18s var(--vlg-ease), box-shadow .18s var(--vlg-ease),
              background .18s var(--vlg-ease), color .18s var(--vlg-ease);
}

.vlg-btn-primary {
  box-shadow: 0 8px 20px rgba(242, 138, 0, .22), 0 2px 4px rgba(242, 138, 0, .12) !important;
}
.vlg-btn-primary:hover {
  box-shadow: 0 12px 28px rgba(242, 138, 0, .28), 0 4px 8px rgba(242, 138, 0, .14) !important;
  transform: translateY(-2px) !important;
}
.vlg-btn-primary:active {
  transform: translateY(0) !important;
}

/* --- 4. Header: peenem, vähem agressiivne --- */
.vlg-site-header {
  box-shadow: 0 1px 0 var(--vlg-line-soft), 0 4px 14px rgba(15, 30, 55, .03) !important;
}

.vlg-topbar {
  font-size: 13px !important;
  letter-spacing: 0.005em;
}

.vlg-search {
  border: 1px solid var(--vlg-line-soft) !important;
  box-shadow: var(--vlg-shadow-xs) !important;
  transition: border-color .18s var(--vlg-ease), box-shadow .18s var(--vlg-ease);
}
.vlg-search:focus-within {
  border-color: rgba(242, 138, 0, .45) !important;
  box-shadow: var(--vlg-ring), var(--vlg-shadow-sm) !important;
}

.vlg-search button {
  font-weight: 700 !important;
  letter-spacing: 0.01em;
  box-shadow: 0 4px 10px rgba(242, 138, 0, .18) !important;
}

.vlg-cart-link strong {
  font-weight: 800 !important;
}

.vlg-category-button {
  font-weight: 700 !important;
  letter-spacing: 0.005em;
  box-shadow: 0 6px 16px rgba(7, 18, 36, .14) !important;
  transition: transform .18s var(--vlg-ease), box-shadow .18s var(--vlg-ease);
}
.vlg-category-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(7, 18, 36, .18) !important;
}

.vlg-primary-menu a {
  font-weight: 700 !important;
  letter-spacing: 0.005em;
  position: relative;
  padding-block: 6px;
}
.vlg-primary-menu a::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: -2px;
  height: 2px;
  background: var(--vlg-primary);
  border-radius: 2px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .22s var(--vlg-ease);
}
.vlg-primary-menu a:hover::after,
.vlg-primary-menu .current-menu-item > a::after {
  transform: scaleX(1);
}

/* --- 5. Hero: õhulisem, peenem --- */
.vlg-hero {
  border-radius: 24px !important;
  box-shadow: var(--vlg-shadow-md) !important;
}

.vlg-hero h1 {
  font-weight: 800 !important;
  letter-spacing: -0.04em !important;
  line-height: 1.0 !important;
}

.vlg-hero p {
  font-weight: 400 !important;
  line-height: 1.55;
}

.vlg-hero-benefits {
  border-radius: 20px !important;
}

/* --- 6. Trust grid: peenem kontuur --- */
.vlg-trust-grid {
  border: 1px solid var(--vlg-line-soft) !important;
  box-shadow: var(--vlg-shadow-sm) !important;
  border-radius: 20px !important;
}

.vlg-trust-item strong {
  font-weight: 700 !important;
}
.vlg-trust-item > span {
  background: linear-gradient(135deg, rgba(242, 138, 0, .12), rgba(242, 138, 0, .04)) !important;
  box-shadow: inset 0 0 0 1px rgba(242, 138, 0, .14);
}

/* --- 7. Section heads: peenemad --- */
.vlg-section-head {
  margin-bottom: 18px !important;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--vlg-line-soft);
}

.vlg-section-head a {
  font-weight: 700 !important;
  font-size: 14px;
  color: var(--vlg-muted) !important;
  transition: color .18s var(--vlg-ease), gap .18s var(--vlg-ease);
}
.vlg-section-head a:hover {
  color: var(--vlg-primary) !important;
  gap: 10px !important;
}
.vlg-section-head a::after {
  content: '→';
  display: inline-block;
  transition: transform .22s var(--vlg-ease);
}
.vlg-section-head a:hover::after {
  transform: translateX(3px);
}

/* --- 8. KATEGOORIAKAARDID: peenemad --- */
.vlg-category-card {
  border-radius: 18px !important;
  border: 1px solid var(--vlg-line-soft) !important;
  box-shadow: var(--vlg-shadow-xs) !important;
  transition: transform .22s var(--vlg-ease), box-shadow .22s var(--vlg-ease),
              border-color .22s var(--vlg-ease) !important;
}
.vlg-category-card:hover {
  border-color: rgba(242, 138, 0, .25) !important;
  box-shadow: var(--vlg-shadow-md) !important;
  transform: translateY(-3px) !important;
}
.vlg-category-card strong {
  font-weight: 700 !important;
}
.vlg-category-card span {
  font-weight: 700 !important;
  letter-spacing: 0.005em;
}

/* --- 9. TOOTEKAART: oluliselt peenem --- */
.vlg-product-card {
  border: 1px solid var(--vlg-line-soft) !important;
  border-radius: 18px !important;
  box-shadow: var(--vlg-shadow-xs) !important;
  transition: transform .25s var(--vlg-ease), box-shadow .25s var(--vlg-ease),
              border-color .25s var(--vlg-ease) !important;
  background: #fff !important;
}
.vlg-product-card:hover {
  border-color: rgba(242, 138, 0, .25) !important;
  box-shadow: var(--vlg-shadow-md) !important;
  transform: translateY(-4px) !important;
}

/* Pildiala: pehmem gradient, peenem zoom */
.vlg-product-card .vlg-card-image-wrap {
  aspect-ratio: 1 / 1 !important;
  background:
    radial-gradient(ellipse at 50% 30%, rgba(242, 138, 0, .04), transparent 60%),
    linear-gradient(180deg, #fff 0%, #fafbfc 100%) !important;
  border-bottom: 1px solid var(--vlg-line-soft);
}
.vlg-product-card .vlg-card-image-wrap img {
  transition: transform .35s var(--vlg-ease) !important;
  filter: drop-shadow(0 4px 8px rgba(15, 30, 55, .06));
}
.vlg-product-card:hover .vlg-card-image-wrap img {
  transform: scale(1.05) !important;
}

.vlg-card-category {
  font-weight: 700 !important;
  font-size: 10.5px !important;
  letter-spacing: 0.10em !important;
  color: var(--vlg-muted) !important;
}

/* Hind: selgem hierarhia */
.vlg-card-price,
.vlg-card-price .price {
  font-size: 18px !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em;
}
.vlg-card-price del {
  font-weight: 500 !important;
  font-size: 13px !important;
  opacity: .7;
}
.vlg-card-price ins {
  background: transparent !important;
}

/* Sale-badge: peenem */
.vlg-sale-badge,
.onsale.vlg-sale-badge {
  background: linear-gradient(135deg, #ef4444, #dc2626) !important;
  box-shadow: 0 4px 10px rgba(220, 38, 38, .25), 0 1px 2px rgba(220, 38, 38, .14) !important;
  font-weight: 700 !important;
  font-size: 11.5px !important;
  letter-spacing: 0.02em;
  padding: 6px 9px !important;
}

/* Add to cart: peenem nupp */
.vlg-card-cart,
.vlg-card-actions .button {
  font-weight: 700 !important;
  letter-spacing: 0.01em;
  border-radius: 10px !important;
  box-shadow: 0 4px 12px rgba(242, 138, 0, .16), 0 1px 2px rgba(242, 138, 0, .10) !important;
  transition: transform .18s var(--vlg-ease), box-shadow .18s var(--vlg-ease),
              filter .18s var(--vlg-ease) !important;
}
.vlg-card-cart:hover,
.vlg-card-actions .button:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(242, 138, 0, .22), 0 2px 4px rgba(242, 138, 0, .12) !important;
  filter: brightness(1.04);
}
.vlg-card-cart:active,
.vlg-card-actions .button:active {
  transform: translateY(0);
}
.vlg-card-cart.is-loading {
  opacity: .7;
  pointer-events: none;
}
.vlg-card-cart.is-added {
  background: linear-gradient(135deg, #16a34a, #15803d) !important;
  box-shadow: 0 4px 12px rgba(22, 163, 74, .22) !important;
}

/* Kogus-stepper kaartidel */
.vlg-card-quickqty {
  border: 1px solid var(--vlg-line-soft) !important;
  border-radius: 10px;
  box-shadow: var(--vlg-shadow-xs);
}
.vlg-card-qty-btn {
  font-weight: 700 !important;
  transition: background .15s var(--vlg-ease), color .15s var(--vlg-ease);
}
.vlg-card-qty-btn:hover {
  background: rgba(242, 138, 0, .08) !important;
  color: var(--vlg-primary) !important;
}

/* --- 10. SHOP HEAD: peenem --- */
.vlg-shop-head {
  border: 1px solid var(--vlg-line-soft) !important;
  border-radius: 20px !important;
  box-shadow: var(--vlg-shadow-xs) !important;
  padding: 28px !important;
}

.vlg-shop-head h1 {
  font-weight: 800 !important;
}

.vlg-kicker {
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  font-size: 12px !important;
}

.woocommerce-ordering select {
  border-radius: 10px !important;
  font-weight: 600;
  cursor: pointer;
  transition: border-color .18s var(--vlg-ease), box-shadow .18s var(--vlg-ease);
}
.woocommerce-ordering select:hover {
  border-color: var(--vlg-line-strong) !important;
}

/* --- 11. Sidebar widget --- */
.vlg-widget {
  border: 1px solid var(--vlg-line-soft) !important;
  border-radius: 18px !important;
  box-shadow: var(--vlg-shadow-xs) !important;
}
.vlg-widget h3,
.vlg-widget-title {
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
}

/* --- 12. ⭐ TOOTELEHT — põhitähelepanu siin --- */

/* Põhi-grid: õhulisem ja paremas proportsioonis */
.single-product .vlg-product-main-grid {
  gap: 28px !important;
  align-items: start !important;
}

@media (min-width: 1100px) {
  .single-product .vlg-product-main-grid {
    grid-template-columns: minmax(0, 1.18fr) minmax(360px, 460px) !important;
  }
}

/* Galeriikaart: suur, õhuline, peenem raam */
.single-product .vlg-product-gallery-card {
  border: 1px solid var(--vlg-line-soft) !important;
  border-radius: 24px !important;
  box-shadow: var(--vlg-shadow-sm) !important;
  padding: 32px !important;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(242, 138, 0, .035), transparent 55%),
    #fff !important;
  min-height: 520px !important;
  position: relative;
  overflow: hidden;
}

/* Peen sisemine ring galerii ümber */
.single-product .vlg-product-gallery-card::before {
  content: '';
  position: absolute;
  inset: 16px;
  border-radius: 18px;
  border: 1px solid rgba(15, 30, 55, .035);
  pointer-events: none;
  z-index: 0;
}

.single-product .vlg-product-gallery-card .woocommerce-product-gallery {
  position: relative;
  z-index: 1;
}

.single-product .vlg-product-gallery-card .woocommerce-product-gallery__image img {
  max-height: 480px !important;
  filter: drop-shadow(0 12px 24px rgba(15, 30, 55, .08));
  transition: transform .4s var(--vlg-ease);
}

/* Galerii thumbnaarid: peenemad */
.single-product .vlg-product-gallery-card .flex-control-thumbs li {
  border: 1px solid var(--vlg-line-soft) !important;
  border-radius: 12px !important;
  box-shadow: var(--vlg-shadow-xs);
  transition: border-color .18s var(--vlg-ease), transform .18s var(--vlg-ease),
              box-shadow .18s var(--vlg-ease);
  cursor: pointer;
}
.single-product .vlg-product-gallery-card .flex-control-thumbs li:hover,
.single-product .vlg-product-gallery-card .flex-control-thumbs li.flex-active {
  border-color: var(--vlg-primary) !important;
  transform: translateY(-2px);
  box-shadow: var(--vlg-shadow-sm);
}
.single-product .vlg-product-gallery-card .flex-control-thumbs li img {
  border-radius: 8px;
}

/* SUMMARY CARD: tee see selgemaks ja peenemaks */
.single-product .vlg-product-summary-card {
  border: 1px solid var(--vlg-line-soft) !important;
  border-radius: 24px !important;
  box-shadow: var(--vlg-shadow-sm) !important;
  padding: 32px !important;
}

/* Sticky summary kaart desktop'is — ohutult, ainult kui ruum lubab */
@media (min-width: 1100px) {
  .single-product .vlg-product-right .vlg-product-summary-card {
    position: sticky !important;
    top: calc(var(--vlg-header-offset, 100px) + 20px) !important;
    max-height: calc(100vh - var(--vlg-header-offset, 100px) - 40px);
    overflow-y: auto;
    overflow-x: visible;
    /* Pehmem scrollbar */
    scrollbar-width: thin;
    scrollbar-color: var(--vlg-line-strong) transparent;
  }
  .single-product .vlg-product-right .vlg-product-summary-card::-webkit-scrollbar {
    width: 6px;
  }
  .single-product .vlg-product-right .vlg-product-summary-card::-webkit-scrollbar-thumb {
    background: var(--vlg-line-strong);
    border-radius: 3px;
  }
}

/* Pill kaardi ülaservas */
.single-product .vlg-pill {
  background: linear-gradient(135deg, rgba(242, 138, 0, .12), rgba(242, 138, 0, .06)) !important;
  border: 1px solid rgba(242, 138, 0, .18);
  font-weight: 700 !important;
  letter-spacing: 0.10em !important;
  font-size: 11px !important;
  padding: 7px 12px !important;
}

/* Toote pealkiri: peenem typograafia */
.single-product .vlg-product-summary-card h1.product_title {
  font-weight: 800 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.08 !important;
  margin-bottom: 14px !important;
}

/* Reiting + laovaru rida */
.single-product .vlg-product-rating-row {
  padding-bottom: 16px;
  margin-bottom: 16px !important;
  border-bottom: 1px solid var(--vlg-line-soft);
  font-size: 14px;
}
.single-product .vlg-stock-ok {
  font-weight: 700 !important;
  background: rgba(22, 163, 74, .08);
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 13px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

/* Hind: oluliselt selgem ja paremini struktureeritud */
.single-product .vlg-product-price {
  margin: 4px 0 18px !important;
}
.single-product .vlg-product-price .price,
.single-product .vlg-product-price p.price {
  font-size: 36px !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.05 !important;
  display: flex;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
}
.single-product .vlg-product-price del {
  font-size: 19px !important;
  font-weight: 500 !important;
  color: var(--vlg-muted) !important;
  opacity: .8;
}
.single-product .vlg-product-price ins {
  background: transparent !important;
  text-decoration: none;
}

/* Lühikirjelduse polish */
.single-product .vlg-product-excerpt {
  color: var(--vlg-text) !important;
  opacity: .82;
  font-size: 15.5px;
  line-height: 1.6;
  margin: 16px 0 !important;
  padding: 16px 0;
  border-top: 1px solid var(--vlg-line-soft);
  border-bottom: 1px solid var(--vlg-line-soft);
}
.single-product .vlg-product-excerpt p:last-child { margin-bottom: 0; }
.single-product .vlg-product-excerpt p:first-child { margin-top: 0; }

/* Spec-blokid: peenem grid */
.single-product .vlg-product-specs {
  margin: 18px 0 !important;
  gap: 10px !important;
}
.single-product .vlg-product-specs div {
  background: linear-gradient(135deg, #fafbfc 0%, #f4f6fa 100%) !important;
  border: 1px solid var(--vlg-line-soft) !important;
  border-radius: 14px !important;
  padding: 12px 14px !important;
}
.single-product .vlg-product-specs span {
  font-weight: 700 !important;
  font-size: 11px !important;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-bottom: 4px;
}
.single-product .vlg-product-specs strong {
  font-weight: 700 !important;
  font-size: 14px;
  display: block;
}

/* OSTUKAST: päris suur tähelepanu */
.single-product .vlg-product-buybox {
  background: linear-gradient(180deg, rgba(242, 138, 0, .035) 0%, rgba(242, 138, 0, 0) 100%);
  border: 1px solid rgba(242, 138, 0, .14);
  border-radius: 18px;
  padding: 18px !important;
  margin: 22px 0 !important;
  position: relative;
}

.single-product .single_add_to_cart_button {
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em;
  min-height: 54px !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 24px rgba(242, 138, 0, .25), 0 2px 4px rgba(242, 138, 0, .14) !important;
  transition: transform .18s var(--vlg-ease), box-shadow .18s var(--vlg-ease),
              filter .18s var(--vlg-ease) !important;
  text-transform: none;
}
.single-product .single_add_to_cart_button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 32px rgba(242, 138, 0, .30), 0 4px 8px rgba(242, 138, 0, .16) !important;
  filter: brightness(1.04);
}
.single-product .single_add_to_cart_button:active {
  transform: translateY(0) !important;
}

.single-product .quantity .qty {
  font-size: 16px !important;
  font-weight: 700 !important;
  border: 1px solid var(--vlg-line-soft) !important;
  border-radius: 14px !important;
  min-height: 54px !important;
  transition: border-color .18s var(--vlg-ease), box-shadow .18s var(--vlg-ease);
}
.single-product .quantity .qty:focus {
  border-color: rgba(242, 138, 0, .45) !important;
  box-shadow: var(--vlg-ring) !important;
  outline: none;
}

/* Variations: select-id selgemaks */
.single-product form.variations_form .variations select {
  border: 1px solid var(--vlg-line-soft) !important;
  border-radius: 14px !important;
  font-weight: 600 !important;
  padding: 12px 16px !important;
  background-color: #fff !important;
  cursor: pointer;
  transition: border-color .18s var(--vlg-ease), box-shadow .18s var(--vlg-ease);
}
.single-product form.variations_form .variations select:hover {
  border-color: var(--vlg-line-strong) !important;
}
.single-product form.variations_form .variations select:focus {
  border-color: rgba(242, 138, 0, .45) !important;
  box-shadow: var(--vlg-ring) !important;
  outline: none;
}
.single-product form.variations_form .variations label {
  font-weight: 700 !important;
  font-size: 13px;
  letter-spacing: 0.02em;
  color: var(--vlg-text) !important;
  text-transform: none;
}

/* Wishlist nupp ostukasti kõrval */
.single-product .vlg-product-buybox .vlg-btn-outline {
  border: 1px solid var(--vlg-line-soft) !important;
  font-weight: 700 !important;
  border-radius: 14px !important;
  min-height: 54px !important;
  background: #fff !important;
  transition: border-color .18s var(--vlg-ease), color .18s var(--vlg-ease),
              transform .18s var(--vlg-ease);
}
.single-product .vlg-product-buybox .vlg-btn-outline:hover {
  border-color: rgba(242, 138, 0, .35) !important;
  color: var(--vlg-primary) !important;
  transform: translateY(-1px);
}

/* product_meta: peenem */
.single-product .product_meta {
  padding-top: 16px !important;
  margin-top: 16px;
  border-top: 1px solid var(--vlg-line-soft);
  font-size: 13px;
}
.single-product .product_meta > span {
  display: block;
  margin-bottom: 4px;
}
.single-product .product_meta a {
  font-weight: 600 !important;
  color: var(--vlg-text) !important;
  border-bottom: 1px dotted var(--vlg-line-strong);
  transition: color .15s var(--vlg-ease), border-color .15s var(--vlg-ease);
}
.single-product .product_meta a:hover {
  color: var(--vlg-primary) !important;
  border-color: var(--vlg-primary);
}

/* SIDECARD: peenem teenusinfo */
.single-product .vlg-product-sidecard {
  border: 1px solid var(--vlg-line-soft) !important;
  border-radius: 20px !important;
  box-shadow: var(--vlg-shadow-xs) !important;
  padding: 8px 18px !important;
  margin-top: 16px;
}
.single-product .vlg-side-feature {
  padding: 14px 0 !important;
  border-bottom: 1px solid var(--vlg-line-soft) !important;
}
.single-product .vlg-side-feature:last-child {
  border-bottom: 0 !important;
}
.single-product .vlg-side-feature strong {
  font-weight: 700 !important;
  font-size: 14px;
}
.single-product .vlg-side-feature small {
  font-size: 12.5px;
  line-height: 1.4;
  display: block;
  margin-top: 2px;
}
.single-product .vlg-side-feature > span {
  background: linear-gradient(135deg, rgba(242, 138, 0, .12), rgba(242, 138, 0, .04)) !important;
  border: 1px solid rgba(242, 138, 0, .12);
}

/* Tab-akordion: peenem */
.single-product .vlg-product-tabs {
  margin: 28px 0 !important;
  gap: 12px !important;
}
.single-product .vlg-product-tab {
  border: 1px solid var(--vlg-line-soft) !important;
  border-radius: 18px !important;
  box-shadow: var(--vlg-shadow-xs) !important;
  transition: box-shadow .22s var(--vlg-ease);
}
.single-product .vlg-product-tab[open] {
  box-shadow: var(--vlg-shadow-sm) !important;
}
.single-product .vlg-product-tab summary {
  font-weight: 700 !important;
  font-size: 15px;
  padding: 18px 22px !important;
  transition: background .15s var(--vlg-ease);
  user-select: none;
  -webkit-user-select: none;
}
.single-product .vlg-product-tab summary:hover {
  background: rgba(242, 138, 0, .03);
}
.single-product .vlg-product-tab summary::after {
  font-size: 18px;
  color: var(--vlg-primary) !important;
  transition: transform .22s var(--vlg-ease);
  font-weight: 700;
}
.single-product .vlg-product-tab[open] summary::after {
  transform: rotate(180deg);
}
.single-product .vlg-tab-content {
  padding: 0 22px 22px !important;
  color: var(--vlg-text);
  font-size: 14.5px;
  line-height: 1.65;
  opacity: .86;
}
.single-product .vlg-tab-content > *:first-child { margin-top: 0; }
.single-product .vlg-tab-content > *:last-child { margin-bottom: 0; }

/* --- 13. Breadcrumbs: peenemad --- */
.vlg-breadcrumbs {
  font-size: 13.5px !important;
  margin-bottom: 20px !important;
  color: var(--vlg-muted) !important;
}
.vlg-breadcrumbs a {
  font-weight: 600 !important;
  color: var(--vlg-text) !important;
  opacity: .7;
  transition: color .15s var(--vlg-ease), opacity .15s var(--vlg-ease);
}
.vlg-breadcrumbs a:hover {
  color: var(--vlg-primary) !important;
  opacity: 1;
}

/* --- 14. Pagination: peenem --- */
.woocommerce-pagination a,
.woocommerce-pagination span {
  border: 1px solid var(--vlg-line-soft) !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
  transition: border-color .15s var(--vlg-ease), background .15s var(--vlg-ease),
              color .15s var(--vlg-ease);
}
.woocommerce-pagination a:hover {
  border-color: var(--vlg-primary) !important;
  color: var(--vlg-primary) !important;
}
.woocommerce-pagination span.current {
  background: linear-gradient(135deg, var(--vlg-dark), #10223d) !important;
  border-color: var(--vlg-dark) !important;
  box-shadow: 0 4px 10px rgba(7, 18, 36, .18);
}

/* --- 15. Footer: peenem --- */
.vlg-footer h3 {
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: 0.13em !important;
}
.vlg-footer-menu a {
  font-weight: 500 !important;
  transition: color .15s var(--vlg-ease), padding-left .15s var(--vlg-ease);
}
.vlg-footer-menu a:hover {
  color: var(--vlg-primary-2) !important;
  padding-left: 4px;
}
.vlg-socials a {
  transition: background .18s var(--vlg-ease), border-color .18s var(--vlg-ease),
              transform .18s var(--vlg-ease);
}
.vlg-socials a:hover {
  transform: translateY(-2px) scale(1.05);
}

/* --- 16. Back-to-top: peenem --- */
.vlg-back-to-top {
  border-radius: 14px !important;
  box-shadow: var(--vlg-shadow-md) !important;
  transition: transform .2s var(--vlg-ease), box-shadow .2s var(--vlg-ease),
              opacity .2s var(--vlg-ease) !important;
}
.vlg-back-to-top:hover {
  transform: translateY(-3px) !important;
  box-shadow: var(--vlg-shadow-lg) !important;
}

/* --- 17. Mobile-buybar: peenem --- */
.vlg-mobile-product-bar {
  box-shadow: 0 -8px 24px rgba(15, 30, 55, .12) !important;
  border-top: 1px solid var(--vlg-line-soft);
  background: rgba(255, 255, 255, .96) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.vlg-mobile-product-bar__button {
  font-weight: 800 !important;
  letter-spacing: 0.02em;
  border-radius: 14px !important;
  box-shadow: 0 6px 14px rgba(242, 138, 0, .22) !important;
}

/* --- 18. Cart link badge: peenem animatsioon --- */
.vlg-badge {
  font-weight: 800 !important;
  font-size: 10.5px !important;
  box-shadow: 0 2px 4px rgba(242, 138, 0, .26);
  transition: transform .25s var(--vlg-ease);
}
.vlg-cart-link:hover .vlg-badge {
  transform: scale(1.12);
}

/* --- 19. Forms (kontaktivorm jms) peenemad --- */
.vlg-contact-form input[type="text"],
.vlg-contact-form input[type="email"],
.vlg-contact-form input[type="tel"],
.vlg-contact-form textarea {
  border: 1px solid var(--vlg-line-soft) !important;
  border-radius: 12px !important;
  transition: border-color .18s var(--vlg-ease), box-shadow .18s var(--vlg-ease);
}
.vlg-contact-form input:focus,
.vlg-contact-form textarea:focus {
  border-color: rgba(242, 138, 0, .45) !important;
  box-shadow: var(--vlg-ring) !important;
  outline: none;
}

/* --- 20. Mobile polish: peenemad varjud, parem ruum --- */
@media (max-width: 900px) {
  .vlg-product-card {
    border-radius: 14px !important;
  }
  .single-product .vlg-product-gallery-card,
  .single-product .vlg-product-summary-card {
    padding: 22px !important;
    border-radius: 18px !important;
  }
  .single-product .vlg-product-price .price,
  .single-product .vlg-product-price p.price {
    font-size: 28px !important;
  }
  .single-product .vlg-product-buybox {
    padding: 14px !important;
  }
}

@media (max-width: 620px) {
  .vlg-shop-head {
    padding: 22px !important;
    border-radius: 16px !important;
  }
  .single-product .vlg-product-gallery-card {
    min-height: auto !important;
    padding: 18px !important;
  }
  .single-product .vlg-product-gallery-card .woocommerce-product-gallery__image img {
    max-height: 320px !important;
  }
  .single-product .vlg-product-summary-card h1.product_title {
    font-size: 24px !important;
  }
  .single-product .vlg-product-price .price,
  .single-product .vlg-product-price p.price {
    font-size: 26px !important;
  }
  .vlg-product-tab summary {
    padding: 14px 16px !important;
    font-size: 14.5px !important;
  }
}

/* --- 21. Reduced motion: peenem polish kõikjal --- */
@media (prefers-reduced-motion: reduce) {
  .vlg-product-card:hover,
  .vlg-category-card:hover,
  .vlg-btn-primary:hover,
  .vlg-card-cart:hover,
  .single-product .single_add_to_cart_button:hover {
    transform: none !important;
  }
  .vlg-product-card:hover .vlg-card-image-wrap img {
    transform: none !important;
  }
}

/* --- 22. Print: puhas väljatrükk --- */
@media print {
  .vlg-site-header,
  .vlg-footer,
  .vlg-mobile-product-bar,
  .vlg-back-to-top,
  .vlg-popup-overlay,
  .vlg-product-buybox,
  .vlg-product-sidecard,
  .vlg-card-actions,
  .vlg-shop-tools,
  .vlg-filter-toggle,
  .vlg-shop-sidebar {
    display: none !important;
  }
  .single-product .vlg-product-main-grid {
    grid-template-columns: 1fr !important;
  }
  .vlg-product-gallery-card,
  .vlg-product-summary-card,
  .vlg-product-tabs,
  .vlg-product-tab {
    border: 1px solid #ccc !important;
    box-shadow: none !important;
    page-break-inside: avoid;
  }
  .vlg-product-tab[open] summary::after {
    display: none;
  }
}

/* ===== v1.9.1 Product add-to-cart panel: keep it fixed in page flow, not sticky =====
 * Klient soovis, et tootevaates ostukorvi lisamise aken ei liiguks kerimisel järgi.
 * See üle kirjutab varasemad desktop sticky summary, mobile sticky buybox ja mobile bottom buybar reeglid.
 */
.single-product .vlg-product-summary-card,
.single-product .vlg-product-right .vlg-product-summary-card {
  position: static !important;
  top: auto !important;
  max-height: none !important;
  overflow: visible !important;
  align-self: start !important;
}

.single-product .vlg-product-buybox,
body.vlg-is-single-product .vlg-product-buybox,
body.vlg-is-single-product .single-product .vlg-product-buybox {
  position: static !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  z-index: auto !important;
}

body.vlg-mobile-buybar-visible {
  padding-bottom: 0 !important;
}

.single-product .vlg-mobile-product-bar,
body.vlg-mobile-buybar-visible .vlg-mobile-product-bar {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}


/* ===== v1.9.2 Checkout UX polish: premium two-column kassavaade =====
 * Parandab WooCommerce kassa paigutuse: vasakul kliendi/tarne andmed,
 * paremal korrektne tellimuse kokkuvõte. Samuti eemaldab suure tühja ruumi,
 * teeb tarne- ja maksevalikud kaartideks ning ühtlustab vormiväljad.
 */
body.woocommerce-checkout {
  background:
    radial-gradient(circle at 0% 0%, rgba(242, 138, 0, .08) 0%, transparent 32%),
    radial-gradient(circle at 100% 10%, rgba(31, 72, 126, .08) 0%, transparent 28%),
    #f7f9fc !important;
}

.woocommerce-checkout .vlg-site-main,
.woocommerce-checkout .site-main {
  overflow: visible !important;
}

.woocommerce-checkout .vlg-page-card,
.woocommerce-checkout .vlg-page-content,
.woocommerce-checkout .entry-content {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow: visible !important;
}

.woocommerce-checkout .entry-title,
.woocommerce-checkout .vlg-page-card > h1,
.woocommerce-checkout main h1:first-child {
  margin-bottom: 8px !important;
  font-size: clamp(34px, 4.5vw, 54px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.055em !important;
  color: #0b1628 !important;
}

.woocommerce-checkout .woocommerce {
  width: min(1180px, calc(100vw - 32px)) !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  position: relative !important;
}

.woocommerce-checkout .woocommerce::before {
  content: "🔒 Turvaline ühendus. Sinu andmed on kaitstud.";
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 24px !important;
  padding: 9px 13px !important;
  border: 1px solid rgba(17, 32, 55, .08) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .78) !important;
  color: #68758a !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  box-shadow: 0 10px 24px rgba(17, 32, 55, .045) !important;
}

.woocommerce-checkout form.checkout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 430px) !important;
  grid-template-areas:
    "customer reviewTitle"
    "customer review" !important;
  grid-template-rows: auto auto !important;
  column-gap: 32px !important;
  row-gap: 0 !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 100% !important;
}

.woocommerce-checkout #customer_details {
  grid-area: customer !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  clear: both !important;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
  display: grid !important;
  gap: 16px !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.woocommerce-checkout #customer_details .col-1:last-child,
.woocommerce-checkout #customer_details .col-2:last-child {
  margin-bottom: 0 !important;
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout .woocommerce-account-fields,
.woocommerce-checkout .woocommerce-form-login,
.woocommerce-checkout form.checkout_coupon,
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info {
  position: relative !important;
  padding: clamp(20px, 2.6vw, 30px) !important;
  border: 1px solid rgba(17, 32, 55, .09) !important;
  border-radius: 24px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  box-shadow: 0 18px 46px rgba(9, 24, 49, .07) !important;
}

.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3,
.woocommerce-checkout #order_review_heading {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 0 20px !important;
  color: #0b1628 !important;
  font-size: clamp(20px, 2vw, 25px) !important;
  line-height: 1.15 !important;
  letter-spacing: -.035em !important;
  font-weight: 900 !important;
}

.woocommerce-checkout .woocommerce-billing-fields h3::before,
.woocommerce-checkout .woocommerce-shipping-fields h3::before,
.woocommerce-checkout .woocommerce-additional-fields h3::before,
.woocommerce-checkout #order_review_heading::before {
  content: "";
  flex: 0 0 38px !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 14px !important;
  background:
    linear-gradient(135deg, rgba(242, 138, 0, .18), rgba(242, 138, 0, .04)),
    #fff !important;
  border: 1px solid rgba(242, 138, 0, .18) !important;
  box-shadow: 0 10px 20px rgba(242, 138, 0, .10) !important;
}

.woocommerce-checkout .woocommerce-billing-fields h3::before { content: "▣"; display: grid !important; place-items: center !important; color: #f28a00 !important; font-size: 16px !important; }
.woocommerce-checkout .woocommerce-shipping-fields h3::before { content: "⌖"; display: grid !important; place-items: center !important; color: #f28a00 !important; font-size: 18px !important; }
.woocommerce-checkout .woocommerce-additional-fields h3::before { content: "✎"; display: grid !important; place-items: center !important; color: #f28a00 !important; font-size: 16px !important; }
.woocommerce-checkout #order_review_heading::before { content: "🛍"; display: grid !important; place-items: center !important; font-size: 16px !important; }

.woocommerce-checkout .woocommerce-billing-fields h3::after,
.woocommerce-checkout .woocommerce-shipping-fields h3::after,
.woocommerce-checkout .woocommerce-additional-fields h3::after {
  content: attr(data-subtitle);
  display: block;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-address-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px 18px !important;
  align-items: end !important;
}

.woocommerce-checkout .form-row {
  float: none !important;
  clear: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last {
  width: 100% !important;
}

.woocommerce-checkout .form-row-wide,
.woocommerce-checkout #billing_company_field,
.woocommerce-checkout #billing_country_field,
.woocommerce-checkout #billing_address_1_field,
.woocommerce-checkout #billing_address_2_field,
.woocommerce-checkout #billing_city_field,
.woocommerce-checkout #billing_state_field,
.woocommerce-checkout #billing_postcode_field,
.woocommerce-checkout #shipping_company_field,
.woocommerce-checkout #shipping_country_field,
.woocommerce-checkout #shipping_address_1_field,
.woocommerce-checkout #shipping_address_2_field,
.woocommerce-checkout #shipping_city_field,
.woocommerce-checkout #shipping_state_field,
.woocommerce-checkout #shipping_postcode_field,
.woocommerce-checkout #order_comments_field,
.woocommerce-checkout .create-account,
.woocommerce-checkout .woocommerce-account-fields {
  grid-column: 1 / -1 !important;
}

.woocommerce-checkout label,
.woocommerce-checkout .form-row label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 0 7px !important;
  color: #13233a !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
}

.woocommerce-checkout abbr.required,
.woocommerce-checkout .required {
  color: #e34242 !important;
  text-decoration: none !important;
}

.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-checkout .select2-container .select2-selection--single {
  width: 100% !important;
  min-height: 54px !important;
  padding: 13px 15px !important;
  border: 1px solid rgba(17, 32, 55, .12) !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg, #fff 0%, #fbfdff 100%) !important;
  color: #13233a !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 8px 16px rgba(17, 32, 55, .025) !important;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
}

.woocommerce-checkout textarea {
  min-height: 116px !important;
  resize: vertical !important;
}

.woocommerce-checkout .select2-container .select2-selection--single {
  display: flex !important;
  align-items: center !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #13233a !important;
  line-height: 52px !important;
  padding-left: 0 !important;
  font-weight: 700 !important;
}

.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout .select2-container--focus .select2-selection--single,
.woocommerce-checkout .select2-container--open .select2-selection--single {
  outline: none !important;
  border-color: rgba(242, 138, 0, .72) !important;
  background: #fff !important;
  box-shadow: 0 0 0 4px rgba(242, 138, 0, .14), 0 12px 24px rgba(17, 32, 55, .055) !important;
}

.woocommerce-checkout #order_review_heading {
  grid-area: reviewTitle !important;
  align-self: end !important;
  margin: 0 !important;
  padding: 24px 24px 12px !important;
  border: 1px solid rgba(17, 32, 55, .09) !important;
  border-bottom: 0 !important;
  border-radius: 26px 26px 0 0 !important;
  background: #fff !important;
  box-shadow: 0 18px 46px rgba(9, 24, 49, .07) !important;
}

.woocommerce-checkout #order_review {
  grid-area: review !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  align-self: start !important;
  position: static !important;
  top: auto !important;
  margin: 0 !important;
  padding: 8px 24px 24px !important;
  border: 1px solid rgba(17, 32, 55, .09) !important;
  border-top: 0 !important;
  border-radius: 0 0 26px 26px !important;
  background: linear-gradient(180deg, #fff 0%, #fbfdff 100%) !important;
  box-shadow: 0 18px 46px rgba(9, 24, 49, .07) !important;
  overflow: hidden !important;
}

.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table,
.woocommerce-checkout #order_review table.shop_table {
  width: 100% !important;
  margin: 0 0 16px !important;
  border: 0 !important;
  border-radius: 0 !important;
  border-collapse: collapse !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.woocommerce-checkout #order_review table.shop_table thead {
  display: none !important;
}

.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td {
  border: 0 !important;
  border-top: 1px solid rgba(17, 32, 55, .09) !important;
  padding: 16px 0 !important;
  background: transparent !important;
  color: #172033 !important;
  vertical-align: middle !important;
}

.woocommerce-checkout #order_review table.shop_table tbody tr:first-child td {
  border-top: 0 !important;
  padding-top: 0 !important;
}

.woocommerce-checkout #order_review table.shop_table .product-name {
  width: 68% !important;
  padding-right: 14px !important;
  font-weight: 800 !important;
}

.woocommerce-checkout #order_review table.shop_table .product-total,
.woocommerce-checkout #order_review table.shop_table tfoot td {
  text-align: right !important;
  white-space: nowrap !important;
  font-weight: 900 !important;
}

.woocommerce-checkout #order_review table.shop_table tfoot th {
  color: #172033 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

.woocommerce-checkout #order_review table.shop_table tfoot .order-total th,
.woocommerce-checkout #order_review table.shop_table tfoot .order-total td {
  padding-top: 22px !important;
  color: #0b1628 !important;
  font-size: 21px !important;
  border-top: 1px solid rgba(17, 32, 55, .14) !important;
}

.woocommerce-checkout #order_review table.shop_table .includes_tax,
.woocommerce-checkout #order_review table.shop_table small,
.woocommerce-checkout #order_review table.shop_table .amount small {
  display: inline-block !important;
  margin-top: 2px !important;
  color: #7b8798 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}

.woocommerce-checkout .vlg-checkout-product {
  display: grid !important;
  grid-template-columns: 62px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
  min-width: 0 !important;
}

.woocommerce-checkout .vlg-checkout-product__media {
  display: grid !important;
  place-items: center !important;
  width: 62px !important;
  height: 62px !important;
  border: 1px solid rgba(17, 32, 55, .08) !important;
  border-radius: 16px !important;
  background: #f6f8fb !important;
  overflow: hidden !important;
}

.woocommerce-checkout .vlg-checkout-product__media img,
.woocommerce-checkout .vlg-checkout-product__img {
  width: 52px !important;
  height: 52px !important;
  object-fit: contain !important;
  border-radius: 12px !important;
}

.woocommerce-checkout .vlg-checkout-product__name {
  display: block !important;
  color: #172033 !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 850 !important;
}

.woocommerce-checkout .product-quantity {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 30px !important;
  min-height: 24px !important;
  margin-left: 4px !important;
  padding: 2px 8px !important;
  border-radius: 999px !important;
  background: #eef4ff !important;
  color: #1f4e90 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

.woocommerce-checkout ul#shipping_method {
  display: grid !important;
  gap: 9px !important;
  margin: 10px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.woocommerce-checkout ul#shipping_method li {
  display: grid !important;
  grid-template-columns: 20px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 12px 13px !important;
  border: 1px solid rgba(17, 32, 55, .10) !important;
  border-radius: 15px !important;
  background: #fff !important;
  box-shadow: 0 8px 18px rgba(17, 32, 55, .035) !important;
}

.woocommerce-checkout ul#shipping_method li:has(input:checked) {
  border-color: rgba(42, 129, 255, .72) !important;
  background: linear-gradient(180deg, #ffffff 0%, #f4f8ff 100%) !important;
  box-shadow: 0 0 0 3px rgba(42, 129, 255, .10), 0 10px 22px rgba(17, 32, 55, .06) !important;
}

.woocommerce-checkout ul#shipping_method input {
  margin: 0 !important;
  accent-color: #2a81ff !important;
}

.woocommerce-checkout ul#shipping_method label {
  width: 100% !important;
  margin: 0 !important;
  color: #172033 !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  cursor: pointer !important;
}

.woocommerce-checkout #payment,
.woocommerce-checkout .woocommerce-checkout-payment {
  padding: 16px !important;
  border: 1px solid rgba(17, 32, 55, .09) !important;
  border-radius: 20px !important;
  background: #f7f9fc !important;
}

.woocommerce-checkout #payment ul.payment_methods,
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods {
  display: grid !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 0 14px !important;
  border: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods li,
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods li {
  margin: 0 !important;
  padding: 13px 14px !important;
  border: 1px solid rgba(17, 32, 55, .10) !important;
  border-radius: 16px !important;
  background: #fff !important;
  color: #172033 !important;
  font-weight: 850 !important;
}

.woocommerce-checkout #payment div.payment_box,
.woocommerce-checkout .woocommerce-checkout-payment div.payment_box {
  margin: 10px 0 0 !important;
  padding: 12px 14px !important;
  border-radius: 14px !important;
  background: #f8fafc !important;
  color: #68758a !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

.woocommerce-checkout #payment div.payment_box::before,
.woocommerce-checkout .woocommerce-checkout-payment div.payment_box::before {
  display: none !important;
}

.woocommerce-checkout .vlg-checkout-trust-box {
  display: grid !important;
  gap: 12px !important;
  margin: 16px 0 !important;
  padding: 16px !important;
  border: 1px solid rgba(42, 129, 255, .16) !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, #fff 0%, #f6f9ff 100%) !important;
}

.woocommerce-checkout .vlg-checkout-trust-box strong {
  color: #13233a !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

.woocommerce-checkout .vlg-checkout-trust-box p {
  margin: 4px 0 0 !important;
  color: #68758a !important;
  font-size: 12.5px !important;
}

.woocommerce-checkout .vlg-checkout-trust-box .vlg-payment-badges,
.woocommerce-checkout .vlg-payment-badges--checkout {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  margin-top: 4px !important;
}

.woocommerce-checkout .vlg-checkout-trust-box .vlg-payment-badge,
.woocommerce-checkout .vlg-payment-badges--checkout .vlg-payment-badge {
  max-width: 56px !important;
  height: 28px !important;
  padding: 4px 7px !important;
  border-radius: 10px !important;
  background: #fff !important;
}

.woocommerce-checkout #place_order,
.woocommerce-checkout .woocommerce-checkout-payment #place_order,
.woocommerce-checkout button[name="woocommerce_checkout_place_order"] {
  width: 100% !important;
  min-height: 60px !important;
  margin-top: 6px !important;
  border: 0 !important;
  border-radius: 18px !important;
  background:
    radial-gradient(circle at 15% 0%, rgba(255,255,255,.18) 0%, transparent 35%),
    linear-gradient(135deg, #071224 0%, #132846 100%) !important;
  color: #fff !important;
  font-size: 17px !important;
  font-weight: 950 !important;
  letter-spacing: -.015em !important;
  box-shadow: 0 18px 36px rgba(7, 18, 36, .24) !important;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}

.woocommerce-checkout #place_order:hover,
.woocommerce-checkout button[name="woocommerce_checkout_place_order"]:hover {
  transform: translateY(-1px) !important;
  filter: brightness(1.04) !important;
  box-shadow: 0 24px 44px rgba(7, 18, 36, .30) !important;
}

.woocommerce-checkout .woocommerce-privacy-policy-text,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  color: #68758a !important;
  font-size: 12.5px !important;
  line-height: 1.55 !important;
}

.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message {
  width: min(1180px, calc(100vw - 32px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  border-radius: 18px !important;
}


/* v1.9.4 — checkout left-column shipping/payment panels to use free space better */
.woocommerce-checkout form.checkout {
  grid-template-areas:
    "customer reviewTitle"
    "extras review" !important;
  grid-template-rows: auto 1fr !important;
}

.woocommerce-checkout .vlg-checkout-side-panels {
  grid-area: extras !important;
  display: grid !important;
  gap: 18px !important;
  margin-top: 18px !important;
}

.woocommerce-checkout .vlg-checkout-panel {
  position: relative !important;
  padding: clamp(20px, 2.5vw, 28px) !important;
  border: 1px solid rgba(17, 32, 55, .09) !important;
  border-radius: 24px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  box-shadow: 0 18px 46px rgba(9, 24, 49, .07) !important;
}

.woocommerce-checkout .vlg-checkout-panel__head {
  display: grid !important;
  grid-template-columns: 40px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: start !important;
  margin-bottom: 16px !important;
}

.woocommerce-checkout .vlg-checkout-panel__icon {
  display: grid !important;
  place-items: center !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, rgba(242, 138, 0, .18), rgba(242, 138, 0, .04)), #fff !important;
  border: 1px solid rgba(242, 138, 0, .18) !important;
  box-shadow: 0 10px 20px rgba(242, 138, 0, .10) !important;
  font-size: 17px !important;
}

.woocommerce-checkout .vlg-checkout-panel__head h3 {
  margin: 0 !important;
  color: #0b1628 !important;
  font-size: clamp(20px, 2vw, 25px) !important;
  line-height: 1.15 !important;
  letter-spacing: -.035em !important;
  font-weight: 900 !important;
}

.woocommerce-checkout .vlg-checkout-panel__lead {
  margin: 6px 0 0 !important;
  color: #68758a !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

.woocommerce-checkout .vlg-checkout-panel__body {
  display: grid !important;
  gap: 14px !important;
}

.woocommerce-checkout .vlg-checkout-panel--payment #payment,
.woocommerce-checkout .vlg-checkout-panel--payment .woocommerce-checkout-payment {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.woocommerce-checkout .vlg-checkout-panel--shipping .vlg-checkout-shipping-section,
.woocommerce-checkout .vlg-checkout-panel--shipping .vlg-checkout-shipping-methods,
.woocommerce-checkout .vlg-checkout-panel--shipping .vlg-checkout-shipping-extras {
  display: grid !important;
  gap: 12px !important;
}

.woocommerce-checkout .vlg-checkout-panel--shipping .vlg-checkout-panel__body.is-empty {
  display: none !important;
}

.woocommerce-checkout .vlg-checkout-panel--shipping ul#shipping_method {
  margin: 0 !important;
}

.woocommerce-checkout .vlg-checkout-panel--shipping .form-row,
.woocommerce-checkout .vlg-checkout-panel--shipping p,
.woocommerce-checkout .vlg-checkout-panel--shipping .select2-container,
.woocommerce-checkout .vlg-checkout-panel--shipping select {
  width: 100% !important;
  max-width: 100% !important;
}

.woocommerce-checkout .vlg-checkout-panel--shipping .form-row label,
.woocommerce-checkout .vlg-checkout-panel--shipping p > label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 0 7px !important;
  color: #13233a !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
}

.woocommerce-checkout .vlg-checkout-panel--shipping .form-row input.input-text,
.woocommerce-checkout .vlg-checkout-panel--shipping .form-row textarea,
.woocommerce-checkout .vlg-checkout-panel--shipping .form-row select,
.woocommerce-checkout .vlg-checkout-panel--shipping .select2-container .select2-selection--single {
  min-height: 54px !important;
  border: 1px solid rgba(17, 32, 55, .12) !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg, #fff 0%, #fbfdff 100%) !important;
}

.woocommerce-checkout .vlg-checkout-panel--payment #payment ul.payment_methods,
.woocommerce-checkout .vlg-checkout-panel--payment .woocommerce-checkout-payment ul.payment_methods {
  padding-bottom: 0 !important;
}

.woocommerce-checkout .vlg-checkout-panel--payment #payment ul.payment_methods li,
.woocommerce-checkout .vlg-checkout-panel--payment .woocommerce-checkout-payment ul.payment_methods li {
  padding: 14px 16px !important;
}

.woocommerce-checkout .vlg-checkout-panel--payment #payment ul.payment_methods li > label,
.woocommerce-checkout .vlg-checkout-panel--payment .woocommerce-checkout-payment ul.payment_methods li > label {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 0 !important;
}

.woocommerce-checkout .vlg-checkout-panel--payment #payment ul.payment_methods li > label img,
.woocommerce-checkout .vlg-checkout-panel--payment .woocommerce-checkout-payment ul.payment_methods li > label img {
  max-height: 28px !important;
  width: auto !important;
  object-fit: contain !important;
}

.woocommerce-checkout .vlg-checkout-panel--payment #payment .payment_box,
.woocommerce-checkout .vlg-checkout-panel--payment .woocommerce-checkout-payment .payment_box {
  margin-left: 24px !important;
}

.woocommerce-checkout .vlg-checkout-panel--payment .place-order {
  margin-top: 14px !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(17, 32, 55, .09) !important;
}

.woocommerce-checkout .vlg-checkout-panel--payment .woocommerce-privacy-policy-text,
.woocommerce-checkout .vlg-checkout-panel--payment .woocommerce-terms-and-conditions-wrapper {
  margin-top: 12px !important;
}

.woocommerce-checkout #customer_details .vlg-is-empty-panel,
.woocommerce-checkout #customer_details .col-2:empty,
.woocommerce-checkout #customer_details .woocommerce-additional-fields:empty {
  display: none !important;
}


/* v1.9.5 — cleaner checkout grid: summary top-right, payment/extra panels left */
.woocommerce-checkout form.checkout.vlg-checkout-organized {
  grid-template-columns: minmax(0, 660px) minmax(340px, 390px) !important;
  grid-template-areas:
    "customer summary"
    "extras summary" !important;
  grid-template-rows: auto auto !important;
  column-gap: 28px !important;
  align-items: start !important;
  justify-content: center !important;
}

.woocommerce-checkout .vlg-checkout-summary-shell {
  grid-area: summary !important;
  width: 100% !important;
  max-width: 390px !important;
  align-self: start !important;
  position: sticky !important;
  top: 96px !important;
  z-index: 2 !important;
}

.woocommerce-checkout .vlg-checkout-summary-shell #order_review_heading {
  grid-area: auto !important;
  align-self: start !important;
  margin: 0 !important;
  padding: 18px 20px 10px !important;
  border-radius: 22px 22px 0 0 !important;
  font-size: 19px !important;
  box-shadow: 0 16px 38px rgba(9, 24, 49, .075) !important;
}

.woocommerce-checkout .vlg-checkout-summary-shell #order_review {
  grid-area: auto !important;
  margin: 0 !important;
  padding: 6px 20px 20px !important;
  border-radius: 0 0 22px 22px !important;
  box-shadow: 0 16px 38px rgba(9, 24, 49, .075) !important;
  overflow: visible !important;
}

.woocommerce-checkout .vlg-checkout-summary-shell #order_review table.shop_table th,
.woocommerce-checkout .vlg-checkout-summary-shell #order_review table.shop_table td {
  padding: 12px 0 !important;
}

.woocommerce-checkout .vlg-checkout-summary-shell .vlg-checkout-product {
  grid-template-columns: 46px minmax(0, 1fr) !important;
  gap: 10px !important;
}

.woocommerce-checkout .vlg-checkout-summary-shell .vlg-checkout-product__media {
  width: 46px !important;
  height: 46px !important;
  border-radius: 13px !important;
}

.woocommerce-checkout .vlg-checkout-summary-shell .vlg-checkout-product__media img,
.woocommerce-checkout .vlg-checkout-summary-shell .vlg-checkout-product__img {
  width: 38px !important;
  height: 38px !important;
}

.woocommerce-checkout .vlg-checkout-summary-shell .vlg-checkout-product__name {
  font-size: 12.5px !important;
  line-height: 1.28 !important;
}

.woocommerce-checkout .vlg-checkout-summary-shell #order_review table.shop_table .product-total,
.woocommerce-checkout .vlg-checkout-summary-shell #order_review table.shop_table tfoot td {
  font-size: 13px !important;
}

.woocommerce-checkout .vlg-checkout-summary-shell #order_review table.shop_table tfoot .order-total th,
.woocommerce-checkout .vlg-checkout-summary-shell #order_review table.shop_table tfoot .order-total td {
  font-size: 18px !important;
}

.woocommerce-checkout .vlg-checkout-panel.is-empty,
.woocommerce-checkout .vlg-checkout-panel__body.is-empty {
  display: none !important;
}

.woocommerce-checkout .vlg-checkout-side-panels {
  margin-top: 22px !important;
}

.woocommerce-checkout .vlg-checkout-panel--payment {
  padding-bottom: 24px !important;
}

.woocommerce-checkout .vlg-checkout-panel--payment .vlg-checkout-panel__body {
  gap: 16px !important;
}

.woocommerce-checkout .vlg-checkout-panel--payment #payment ul.payment_methods li,
.woocommerce-checkout .vlg-checkout-panel--payment .woocommerce-checkout-payment ul.payment_methods li {
  border-radius: 14px !important;
  background: #fff !important;
}

.woocommerce-checkout .vlg-checkout-panel--payment #payment div.payment_box,
.woocommerce-checkout .vlg-checkout-panel--payment .woocommerce-checkout-payment div.payment_box {
  background: #f8fafc !important;
  border: 1px solid rgba(17, 32, 55, .07) !important;
}

.woocommerce-checkout .vlg-checkout-shipping-note {
  padding: 14px 16px !important;
  border: 1px solid rgba(17, 32, 55, .09) !important;
  border-radius: 16px !important;
  background: #f8fafc !important;
  color: #68758a !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  font-weight: 750 !important;
}

@media (max-width: 1040px) {
  .woocommerce-checkout form.checkout {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "customer"
      "extras"
      "reviewTitle"
      "review" !important;
    row-gap: 0 !important;
  }

  .woocommerce-checkout #order_review_heading {
    margin-top: 18px !important;
  }
}

@media (max-width: 720px) {
  .woocommerce-checkout .woocommerce {
    width: min(100%, calc(100vw - 20px)) !important;
  }

  .woocommerce-checkout .woocommerce::before {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
    border-radius: 16px !important;
  }

  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-address-fields__field-wrapper {
    grid-template-columns: 1fr !important;
  }

  .woocommerce-checkout .woocommerce-billing-fields,
  .woocommerce-checkout .woocommerce-shipping-fields,
  .woocommerce-checkout .woocommerce-additional-fields,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review {
    padding-left: 16px !important;
    padding-right: 16px !important;
    border-radius: 20px !important;
  }

  .woocommerce-checkout #order_review_heading {
    border-radius: 20px 20px 0 0 !important;
  }

  .woocommerce-checkout #order_review {
    border-radius: 0 0 20px 20px !important;
  }

  .woocommerce-checkout .vlg-checkout-product {
    grid-template-columns: 50px minmax(0, 1fr) !important;
  }

  .woocommerce-checkout .vlg-checkout-product__media {
    width: 50px !important;
    height: 50px !important;
    border-radius: 14px !important;
  }

  .woocommerce-checkout .vlg-checkout-product__media img,
  .woocommerce-checkout .vlg-checkout-product__img {
    width: 42px !important;
    height: 42px !important;
  }

  .woocommerce-checkout #order_review table.shop_table .product-name {
    width: 62% !important;
    padding-right: 8px !important;
  }

  .woocommerce-checkout #order_review table.shop_table tfoot .order-total th,
  .woocommerce-checkout #order_review table.shop_table tfoot .order-total td {
    font-size: 18px !important;
  }
}

/* ===== v1.9.3 Checkout cleanup + multilingual plugin compatibility =====
 * Kassa paigutuse teine kiht: vähem müra, kindlamad laiused ning kaitse
 * WooCommerce Checkout Manager / tarnepluginate pikkade väljade ülevoolu vastu.
 */
.woocommerce-checkout *,
.woocommerce-checkout *::before,
.woocommerce-checkout *::after {
  box-sizing: border-box !important;
}

.woocommerce-checkout .woocommerce {
  width: min(1240px, calc(100vw - 48px)) !important;
}

.woocommerce-checkout form.checkout {
  grid-template-columns: minmax(0, 720px) minmax(350px, 440px) !important;
  column-gap: clamp(22px, 3vw, 36px) !important;
  justify-content: center !important;
}

.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout .woocommerce-account-fields,
.woocommerce-checkout .woocommerce-checkout-payment {
  min-width: 0 !important;
  max-width: 100% !important;
}

.woocommerce-checkout .col2-set,
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2,
.woocommerce-checkout .woocommerce .col2-set .col-1,
.woocommerce-checkout .woocommerce .col2-set .col-2 {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  clear: both !important;
}

.woocommerce-checkout .woocommerce::before {
  margin-bottom: 18px !important;
  padding: 7px 12px !important;
  font-size: 13px !important;
  box-shadow: none !important;
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout .woocommerce-account-fields,
.woocommerce-checkout .woocommerce-form-login,
.woocommerce-checkout form.checkout_coupon,
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info {
  padding: clamp(18px, 2.2vw, 26px) !important;
  border-radius: 20px !important;
  border-color: rgba(17, 32, 55, .08) !important;
  box-shadow: 0 14px 34px rgba(9, 24, 49, .055) !important;
}

.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3,
.woocommerce-checkout #order_review_heading {
  margin-bottom: 16px !important;
  font-size: clamp(19px, 1.7vw, 23px) !important;
  letter-spacing: -.025em !important;
}

.woocommerce-checkout .woocommerce-billing-fields h3::before,
.woocommerce-checkout .woocommerce-shipping-fields h3::before,
.woocommerce-checkout .woocommerce-additional-fields h3::before,
.woocommerce-checkout #order_review_heading::before {
  flex-basis: 34px !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-address-fields__field-wrapper {
  gap: 14px 16px !important;
}

.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-checkout .select2-container .select2-selection--single {
  min-height: 50px !important;
  border-radius: 13px !important;
  font-size: 14px !important;
  box-shadow: none !important;
}

.woocommerce-checkout #order_review_heading {
  padding: 21px 22px 10px !important;
  border-radius: 22px 22px 0 0 !important;
  box-shadow: 0 14px 34px rgba(9, 24, 49, .055) !important;
}

.woocommerce-checkout #order_review {
  padding: 6px 22px 22px !important;
  border-radius: 0 0 22px 22px !important;
  overflow: visible !important;
  box-shadow: 0 14px 34px rgba(9, 24, 49, .055) !important;
}

.woocommerce-checkout #order_review table.shop_table,
.woocommerce-checkout #order_review table.shop_table tbody,
.woocommerce-checkout #order_review table.shop_table tfoot,
.woocommerce-checkout #order_review table.shop_table tr,
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td {
  max-width: 100% !important;
}

.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td {
  padding: 13px 0 !important;
  overflow-wrap: anywhere !important;
}

.woocommerce-checkout #order_review table.shop_table .product-name {
  width: auto !important;
  min-width: 0 !important;
  padding-right: 10px !important;
}

.woocommerce-checkout #order_review table.shop_table .product-total,
.woocommerce-checkout #order_review table.shop_table tfoot td {
  width: auto !important;
  min-width: 82px !important;
  max-width: 138px !important;
  padding-left: 8px !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
}

.woocommerce-checkout #order_review table.shop_table .amount,
.woocommerce-checkout #order_review table.shop_table .product-total,
.woocommerce-checkout #order_review table.shop_table tfoot td {
  font-size: 14px !important;
  line-height: 1.25 !important;
}

.woocommerce-checkout #order_review table.shop_table tfoot .order-total th,
.woocommerce-checkout #order_review table.shop_table tfoot .order-total td {
  font-size: 19px !important;
}

.woocommerce-checkout .vlg-checkout-product {
  grid-template-columns: 50px minmax(0, 1fr) !important;
  gap: 10px !important;
}

.woocommerce-checkout .vlg-checkout-product__media {
  width: 50px !important;
  height: 50px !important;
  border-radius: 14px !important;
  background: #f8fafc !important;
}

.woocommerce-checkout .vlg-checkout-product__media img,
.woocommerce-checkout .vlg-checkout-product__img {
  width: 42px !important;
  height: 42px !important;
}

.woocommerce-checkout .vlg-checkout-product__name {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  font-size: 13.5px !important;
  line-height: 1.3 !important;
}

.woocommerce-checkout .product-quantity {
  min-height: 22px !important;
  min-width: 26px !important;
  padding: 1px 7px !important;
  font-size: 11px !important;
}

.woocommerce-checkout #order_review .woocommerce-shipping-totals.shipping th,
.woocommerce-checkout #order_review .woocommerce-shipping-totals.shipping td,
.woocommerce-checkout #order_review tr.woocommerce-shipping-totals th,
.woocommerce-checkout #order_review tr.woocommerce-shipping-totals td {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  text-align: left !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.woocommerce-checkout #order_review .woocommerce-shipping-totals.shipping th,
.woocommerce-checkout #order_review tr.woocommerce-shipping-totals th {
  padding-bottom: 4px !important;
  color: #172033 !important;
}

.woocommerce-checkout #order_review .woocommerce-shipping-totals.shipping td,
.woocommerce-checkout #order_review tr.woocommerce-shipping-totals td {
  padding-top: 0 !important;
}

.woocommerce-checkout ul#shipping_method {
  gap: 7px !important;
  margin-top: 6px !important;
}

.woocommerce-checkout ul#shipping_method li {
  grid-template-columns: 18px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 8px !important;
  padding: 10px 11px !important;
  border-radius: 13px !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.woocommerce-checkout ul#shipping_method label {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 3px 8px !important;
  min-width: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  line-height: 1.3 !important;
}

.woocommerce-checkout ul#shipping_method label .amount {
  margin-left: auto !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
}

.woocommerce-checkout #payment,
.woocommerce-checkout .woocommerce-checkout-payment {
  padding: 13px !important;
  border-radius: 18px !important;
  overflow: hidden !important;
}

.woocommerce-checkout #payment ul.payment_methods li,
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods li {
  padding: 11px 12px !important;
  border-radius: 13px !important;
  overflow-wrap: anywhere !important;
}

.woocommerce-checkout .vlg-checkout-trust-box {
  margin: 14px 0 !important;
  padding: 14px !important;
  border-radius: 15px !important;
}

.woocommerce-checkout .vlg-checkout-trust-box .vlg-payment-badges,
.woocommerce-checkout .vlg-payment-badges--checkout {
  max-height: 38px !important;
  overflow: hidden !important;
}

.woocommerce-checkout #place_order,
.woocommerce-checkout .woocommerce-checkout-payment #place_order,
.woocommerce-checkout button[name="woocommerce_checkout_place_order"] {
  min-height: 56px !important;
  border-radius: 15px !important;
}

@media (max-width: 1120px) {
  .woocommerce-checkout form.checkout {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "customer"
      "extras"
      "reviewTitle"
      "review" !important;
    justify-content: stretch !important;
  }

  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review {
    width: min(760px, 100%) !important;
    justify-self: center !important;
  }
}

@media (max-width: 620px) {
  .woocommerce-checkout .woocommerce {
    width: min(100%, calc(100vw - 18px)) !important;
  }

  .woocommerce-checkout .entry-title,
  .woocommerce-checkout .vlg-page-card > h1,
  .woocommerce-checkout main h1:first-child {
    font-size: 34px !important;
  }

  .woocommerce-checkout .woocommerce::before {
    font-size: 12px !important;
    padding: 8px 10px !important;
  }

  .woocommerce-checkout #order_review table.shop_table .product-total,
  .woocommerce-checkout #order_review table.shop_table tfoot td {
    min-width: 70px !important;
    max-width: 112px !important;
  }

  .woocommerce-checkout .vlg-checkout-product {
    grid-template-columns: 42px minmax(0, 1fr) !important;
  }

  .woocommerce-checkout .vlg-checkout-product__media {
    width: 42px !important;
    height: 42px !important;
  }

  .woocommerce-checkout .vlg-checkout-product__media img,
  .woocommerce-checkout .vlg-checkout-product__img {
    width: 35px !important;
    height: 35px !important;
  }
}

/* Language switcher output injected by the theme; works with Linguator AI / Polylang / WPML-style markup. */
.vlg-language-switcher {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  color: inherit;
}

.vlg-header-actions .vlg-language-switcher {
  margin-right: 2px;
}

.vlg-language-switcher a,
.vlg-language-switcher button,
.vlg-language-switcher select,
.vlg-language-switcher .trp-language-switcher > div > a,
.vlg-language-switcher .wpml-ls-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 38px !important;
  padding: 8px 11px !important;
  border: 1px solid rgba(17, 32, 55, .10) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #172033 !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
  box-shadow: 0 8px 20px rgba(17, 32, 55, .05) !important;
}

.vlg-language-switcher select {
  appearance: auto !important;
  max-width: 135px !important;
}

.vlg-language-switcher ul,
.vlg-language-switcher .wpml-ls ul {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.vlg-language-switcher li,
.vlg-language-switcher .wpml-ls li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.vlg-language-switcher img {
  width: 18px !important;
  height: 18px !important;
  object-fit: cover !important;
  border-radius: 999px !important;
  flex: 0 0 auto !important;
}

.vlg-language-switcher--footer {
  margin-top: 14px;
}

.vlg-language-switcher--product,
.vlg-language-switcher--checkout {
  display: flex;
  margin: 0 0 14px;
}

.vlg-language-switcher__empty {
  display: none !important;
}

.vlg-admin-plugin-list {
  display: grid;
  gap: 10px;
}

.vlg-admin-plugin-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid rgba(17, 32, 55, .12);
  border-radius: 14px;
  background: #fff;
}

.vlg-admin-plugin-row span {
  font-weight: 800;
  color: #68758a;
}

.vlg-admin-plugin-row.is-active {
  border-color: rgba(31, 142, 80, .28);
  background: #f4fbf7;
}

.vlg-admin-plugin-row.is-active span {
  color: #1f8e50;
}

@media (max-width: 860px) {
  .vlg-header-actions .vlg-language-switcher {
    order: -1;
  }
  .vlg-language-switcher a,
  .vlg-language-switcher button,
  .vlg-language-switcher select {
    min-height: 34px !important;
    padding: 7px 9px !important;
    font-size: 12px !important;
  }
}

/* v1.9.5-responsive-checkout-end */

@media (max-width: 1040px) {
  .woocommerce-checkout form.checkout.vlg-checkout-organized {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "customer"
      "extras"
      "summary" !important;
    row-gap: 18px !important;
  }
  .woocommerce-checkout .vlg-checkout-summary-shell {
    max-width: 100% !important;
    position: static !important;
    top: auto !important;
  }
}

@media (max-width: 720px) {
  .woocommerce-checkout form.checkout.vlg-checkout-organized {
    width: 100% !important;
  }
  .woocommerce-checkout .vlg-checkout-summary-shell #order_review_heading,
  .woocommerce-checkout .vlg-checkout-summary-shell #order_review,
  .woocommerce-checkout .vlg-checkout-panel {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .woocommerce-checkout .vlg-checkout-panel__head {
    grid-template-columns: 34px minmax(0, 1fr) !important;
  }
  .woocommerce-checkout .vlg-checkout-panel__icon {
    width: 34px !important;
    height: 34px !important;
    border-radius: 12px !important;
  }
}

/* v1.9.6 — checkout stability / simpler quieter layout */
.woocommerce-checkout .vlg-checkout-side-panels {
  display: none !important;
}

.woocommerce-checkout form.checkout {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 390px) !important;
  grid-template-areas:
    "customer reviewTitle"
    "customer review" !important;
  grid-template-rows: auto auto !important;
  column-gap: 28px !important;
}

.woocommerce-checkout #customer_details {
  gap: 18px !important;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
  margin: 0 !important;
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
  box-shadow: 0 10px 28px rgba(9, 24, 49, .05) !important;
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
  border-radius: 20px !important;
}

.woocommerce-checkout #order_review_heading {
  padding: 20px 20px 10px !important;
  border-radius: 20px 20px 0 0 !important;
}

.woocommerce-checkout #order_review {
  padding: 8px 20px 20px !important;
  border-radius: 0 0 20px 20px !important;
}

.woocommerce-checkout ul#shipping_method {
  gap: 8px !important;
}

.woocommerce-checkout ul#shipping_method li {
  padding: 10px 12px !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

.woocommerce-checkout #payment,
.woocommerce-checkout .woocommerce-checkout-payment {
  margin-top: 16px !important;
  padding: 14px !important;
  border-radius: 16px !important;
  background: #f8fafc !important;
}

.woocommerce-checkout #payment ul.payment_methods li,
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods li {
  padding: 12px 13px !important;
  border-radius: 14px !important;
}

.woocommerce-checkout #payment ul.payment_methods li > label,
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods li > label {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  cursor: pointer !important;
}

.woocommerce-checkout #payment div.payment_box,
.woocommerce-checkout .woocommerce-checkout-payment div.payment_box {
  margin-top: 8px !important;
  border: 1px solid rgba(17, 32, 55, .07) !important;
}

.woocommerce-checkout .vlg-checkout-trust-box {
  gap: 10px !important;
  margin: 14px 0 !important;
  padding: 14px !important;
  border-radius: 16px !important;
}

@media (max-width: 1040px) {
  .woocommerce-checkout form.checkout {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "customer"
      "reviewTitle"
      "review" !important;
  }
}


/* v1.9.7 — calmer, more robust checkout layout using native WooCommerce flow */
.woocommerce-checkout .woocommerce {
  width: min(980px, calc(100vw - 32px)) !important;
}

.woocommerce-checkout form.checkout {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-areas:
    "customer"
    "reviewTitle"
    "review" !important;
  grid-template-rows: auto auto auto !important;
  column-gap: 0 !important;
  row-gap: 0 !important;
}

.woocommerce-checkout #customer_details {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 18px !important;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
  display: grid !important;
  gap: 18px !important;
  margin: 0 !important;
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
  border-radius: 18px !important;
  box-shadow: 0 8px 24px rgba(9, 24, 49, .045) !important;
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
  padding: 22px !important;
}

.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3,
.woocommerce-checkout #order_review_heading {
  font-size: clamp(19px, 1.7vw, 24px) !important;
  margin-bottom: 16px !important;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-address-fields__field-wrapper {
  gap: 14px 16px !important;
}

.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-checkout .select2-container .select2-selection--single {
  min-height: 50px !important;
  border-radius: 14px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85), 0 4px 10px rgba(17, 32, 55, .02) !important;
}

.woocommerce-checkout #order_review_heading {
  margin-top: 18px !important;
  padding: 20px 22px 10px !important;
  border-bottom: 0 !important;
  border-radius: 18px 18px 0 0 !important;
}

.woocommerce-checkout #order_review {
  padding: 8px 22px 22px !important;
  border-top: 0 !important;
  border-radius: 0 0 18px 18px !important;
}

.woocommerce-checkout #order_review table.shop_table .product-name {
  width: auto !important;
}

.woocommerce-checkout ul#shipping_method {
  gap: 8px !important;
  margin-top: 8px !important;
}

.woocommerce-checkout ul#shipping_method li {
  padding: 10px 12px !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

.woocommerce-checkout #payment,
.woocommerce-checkout .woocommerce-checkout-payment {
  margin-top: 18px !important;
  padding: 16px !important;
  border: 1px solid rgba(17, 32, 55, .08) !important;
  border-radius: 16px !important;
  background: #f8fafc !important;
}

.woocommerce-checkout #payment ul.payment_methods,
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods {
  gap: 9px !important;
  padding-bottom: 12px !important;
}

.woocommerce-checkout #payment ul.payment_methods li,
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods li {
  padding: 11px 12px !important;
  border-radius: 12px !important;
}

.woocommerce-checkout #payment div.payment_box,
.woocommerce-checkout .woocommerce-checkout-payment div.payment_box {
  margin-top: 8px !important;
  padding: 11px 12px !important;
  border: 1px solid rgba(17, 32, 55, .07) !important;
  border-radius: 12px !important;
  background: #ffffff !important;
}

.woocommerce-checkout .vlg-checkout-trust-box {
  gap: 10px !important;
  margin: 14px 0 !important;
  padding: 14px !important;
  border-radius: 14px !important;
}

.woocommerce-checkout #place_order,
.woocommerce-checkout .woocommerce-checkout-payment #place_order,
.woocommerce-checkout button[name="woocommerce_checkout_place_order"] {
  min-height: 56px !important;
  border-radius: 16px !important;
}

.woocommerce-checkout #customer_details .vlg-is-empty-panel,
.woocommerce-checkout #customer_details .col-2.vlg-is-empty-panel,
.woocommerce-checkout #customer_details .woocommerce-additional-fields.vlg-is-empty-panel {
  display: none !important;
}

@media (max-width: 720px) {
  .woocommerce-checkout .woocommerce {
    width: min(100%, calc(100vw - 20px)) !important;
  }

  .woocommerce-checkout .woocommerce-billing-fields,
  .woocommerce-checkout .woocommerce-shipping-fields,
  .woocommerce-checkout .woocommerce-additional-fields,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}


/* v1.9.8 — premium organized checkout inspired by modern WooCommerce themes */
body.woocommerce-checkout {
  background: #f4f7fb !important;
}

.woocommerce-checkout .vlg-site-main,
.woocommerce-checkout .site-main {
  padding-top: clamp(28px, 4vw, 54px) !important;
  padding-bottom: clamp(48px, 7vw, 86px) !important;
}

.woocommerce-checkout .entry-title,
.woocommerce-checkout .vlg-page-card > h1,
.woocommerce-checkout main h1:first-child {
  width: min(1180px, calc(100vw - 36px)) !important;
  margin: 0 auto 10px !important;
  font-size: clamp(34px, 3.7vw, 52px) !important;
  letter-spacing: -.05em !important;
}

.woocommerce-checkout .woocommerce {
  width: min(1180px, calc(100vw - 36px)) !important;
  max-width: 100% !important;
  margin: 0 auto !important;
}

.woocommerce-checkout .woocommerce::before {
  margin: 0 0 22px !important;
  padding: 8px 12px !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  border: 1px solid rgba(17, 32, 55, .07) !important;
  box-shadow: 0 8px 18px rgba(17, 32, 55, .035) !important;
  color: #5f6c80 !important;
  font-size: 13px !important;
  font-weight: 750 !important;
}

.woocommerce-checkout form.checkout {
  display: grid !important;
  grid-template-columns: minmax(0, 680px) minmax(420px, 500px) !important;
  grid-template-areas:
    "customer reviewTitle"
    "customer review" !important;
  grid-template-rows: auto auto !important;
  gap: 0 28px !important;
  align-items: start !important;
  justify-content: center !important;
  width: 100% !important;
}

.woocommerce-checkout #customer_details {
  grid-area: customer !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 18px !important;
  width: 100% !important;
  margin: 0 !important;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
  display: grid !important;
  gap: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
  border: 1px solid rgba(17, 32, 55, .08) !important;
  background: #ffffff !important;
  box-shadow: 0 14px 34px rgba(9, 24, 49, .06) !important;
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
  padding: clamp(20px, 2.4vw, 28px) !important;
  border-radius: 22px !important;
}

.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3,
.woocommerce-checkout #order_review_heading {
  gap: 0 !important;
  margin: 0 0 18px !important;
  color: #0b1628 !important;
  font-size: clamp(20px, 1.8vw, 24px) !important;
  line-height: 1.15 !important;
  letter-spacing: -.035em !important;
  font-weight: 900 !important;
}

.woocommerce-checkout .woocommerce-billing-fields h3::before,
.woocommerce-checkout .woocommerce-shipping-fields h3::before,
.woocommerce-checkout .woocommerce-additional-fields h3::before,
.woocommerce-checkout #order_review_heading::before {
  display: none !important;
  content: none !important;
}

.woocommerce-checkout .woocommerce-billing-fields h3::after,
.woocommerce-checkout .woocommerce-shipping-fields h3::after,
.woocommerce-checkout .woocommerce-additional-fields h3::after {
  content: "" !important;
  display: block !important;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-address-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px 16px !important;
}

.woocommerce-checkout .form-row-wide,
.woocommerce-checkout #billing_company_field,
.woocommerce-checkout #billing_country_field,
.woocommerce-checkout #billing_address_1_field,
.woocommerce-checkout #billing_address_2_field,
.woocommerce-checkout #billing_city_field,
.woocommerce-checkout #billing_state_field,
.woocommerce-checkout #billing_postcode_field,
.woocommerce-checkout #shipping_company_field,
.woocommerce-checkout #shipping_country_field,
.woocommerce-checkout #shipping_address_1_field,
.woocommerce-checkout #shipping_address_2_field,
.woocommerce-checkout #shipping_city_field,
.woocommerce-checkout #shipping_state_field,
.woocommerce-checkout #shipping_postcode_field,
.woocommerce-checkout #order_comments_field,
.woocommerce-checkout .create-account,
.woocommerce-checkout .woocommerce-account-fields {
  grid-column: 1 / -1 !important;
}

.woocommerce-checkout label,
.woocommerce-checkout .form-row label {
  margin-bottom: 6px !important;
  color: #14243c !important;
  font-size: 12.5px !important;
  font-weight: 850 !important;
}

.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-checkout .select2-container .select2-selection--single {
  min-height: 50px !important;
  padding: 12px 14px !important;
  border: 1px solid rgba(17, 32, 55, .13) !important;
  border-radius: 13px !important;
  background: #fbfdff !important;
  color: #13233a !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}

.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout .select2-container--focus .select2-selection--single,
.woocommerce-checkout .select2-container--open .select2-selection--single {
  border-color: rgba(242, 138, 0, .72) !important;
  background: #fff !important;
  box-shadow: 0 0 0 4px rgba(242, 138, 0, .12) !important;
}

.woocommerce-checkout #order_review_heading {
  grid-area: reviewTitle !important;
  align-self: start !important;
  margin: 0 !important;
  padding: 22px 22px 10px !important;
  border-bottom: 0 !important;
  border-radius: 22px 22px 0 0 !important;
  box-shadow: 0 14px 34px rgba(9, 24, 49, .06) !important;
}

.woocommerce-checkout #order_review {
  grid-area: review !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 6px 22px 22px !important;
  border-top: 0 !important;
  border-radius: 0 0 22px 22px !important;
  overflow: visible !important;
}

.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table,
.woocommerce-checkout #order_review table.shop_table {
  margin: 0 0 16px !important;
  border: 0 !important;
  background: transparent !important;
  border-collapse: collapse !important;
}

.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td {
  padding: 14px 0 !important;
  border-top: 1px solid rgba(17, 32, 55, .09) !important;
  color: #14243c !important;
}

.woocommerce-checkout #order_review table.shop_table tbody tr:first-child td {
  border-top: 0 !important;
  padding-top: 2px !important;
}

.woocommerce-checkout #order_review table.shop_table .product-name {
  width: 70% !important;
  padding-right: 14px !important;
}

.woocommerce-checkout .vlg-checkout-product {
  grid-template-columns: 54px minmax(0, 1fr) !important;
  gap: 11px !important;
}

.woocommerce-checkout .vlg-checkout-product__media {
  width: 54px !important;
  height: 54px !important;
  border-radius: 14px !important;
  background: #f4f6f9 !important;
}

.woocommerce-checkout .vlg-checkout-product__media img,
.woocommerce-checkout .vlg-checkout-product__img {
  width: 45px !important;
  height: 45px !important;
}

.woocommerce-checkout .vlg-checkout-product__name {
  font-size: 13.5px !important;
  line-height: 1.35 !important;
  font-weight: 850 !important;
}

.woocommerce-checkout .product-quantity {
  min-height: 22px !important;
  padding: 2px 7px !important;
  font-size: 11px !important;
  background: #f0f5ff !important;
}

.woocommerce-checkout #order_review table.shop_table .product-total,
.woocommerce-checkout #order_review table.shop_table tfoot td {
  text-align: right !important;
  white-space: nowrap !important;
  font-weight: 900 !important;
}

.woocommerce-checkout #order_review table.shop_table tfoot th {
  font-size: 13.5px !important;
  font-weight: 900 !important;
}

.woocommerce-checkout #order_review table.shop_table tfoot .order-total th,
.woocommerce-checkout #order_review table.shop_table tfoot .order-total td {
  padding-top: 18px !important;
  font-size: 20px !important;
  border-top: 1px solid rgba(17, 32, 55, .16) !important;
}

.woocommerce-checkout ul#shipping_method {
  display: grid !important;
  gap: 8px !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
}

.woocommerce-checkout ul#shipping_method li {
  grid-template-columns: 18px minmax(0, 1fr) !important;
  gap: 9px !important;
  padding: 10px 11px !important;
  border: 1px solid rgba(17, 32, 55, .10) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.woocommerce-checkout ul#shipping_method li:has(input:checked) {
  border-color: rgba(242, 138, 0, .75) !important;
  background: #fffaf3 !important;
  box-shadow: 0 0 0 3px rgba(242, 138, 0, .10) !important;
}

.woocommerce-checkout ul#shipping_method label {
  font-size: 12.5px !important;
  line-height: 1.3 !important;
  font-weight: 850 !important;
}

.woocommerce-checkout #payment,
.woocommerce-checkout .woocommerce-checkout-payment {
  margin-top: 18px !important;
  padding: 16px !important;
  border: 1px solid rgba(17, 32, 55, .08) !important;
  border-radius: 18px !important;
  background: #f6f8fb !important;
}

.woocommerce-checkout #payment ul.payment_methods,
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods {
  display: grid !important;
  gap: 9px !important;
  padding: 0 0 14px !important;
  margin: 0 !important;
  border: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods li,
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods li {
  margin: 0 !important;
  padding: 12px 13px !important;
  border: 1px solid rgba(17, 32, 55, .10) !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: #14243c !important;
  font-weight: 850 !important;
}

.woocommerce-checkout #payment ul.payment_methods li > label,
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods li > label {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 !important;
  cursor: pointer !important;
}

.woocommerce-checkout #payment ul.payment_methods li input[type="radio"],
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods li input[type="radio"] {
  margin: 0 8px 0 0 !important;
  accent-color: #f28a00 !important;
}

.woocommerce-checkout #payment ul.payment_methods li > label img,
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods li > label img,
.woocommerce-checkout #payment .payment_box img,
.woocommerce-checkout .woocommerce-checkout-payment .payment_box img {
  max-height: 34px !important;
  width: auto !important;
  object-fit: contain !important;
}

.woocommerce-checkout #payment div.payment_box,
.woocommerce-checkout .woocommerce-checkout-payment div.payment_box {
  margin: 10px 0 0 !important;
  padding: 12px !important;
  border: 1px solid rgba(17, 32, 55, .07) !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  color: #667386 !important;
  font-size: 12.5px !important;
}

.woocommerce-checkout #payment div.payment_box::before,
.woocommerce-checkout .woocommerce-checkout-payment div.payment_box::before {
  display: none !important;
}

.woocommerce-checkout #payment .payment_box .montonio-bank-list,
.woocommerce-checkout #payment .payment_box .banklink-list,
.woocommerce-checkout #payment .payment_box [class*="bank"],
.woocommerce-checkout .woocommerce-checkout-payment .payment_box [class*="bank"] {
  max-width: 100% !important;
}

.woocommerce-checkout .vlg-checkout-trust-box {
  display: grid !important;
  gap: 9px !important;
  margin: 14px 0 !important;
  padding: 13px !important;
  border: 1px solid rgba(17, 32, 55, .08) !important;
  border-radius: 14px !important;
  background: #ffffff !important;
}

.woocommerce-checkout .vlg-checkout-trust-box strong {
  font-size: 13px !important;
}

.woocommerce-checkout .vlg-checkout-trust-box p,
.woocommerce-checkout .woocommerce-privacy-policy-text,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  color: #667386 !important;
  font-size: 12px !important;
  line-height: 1.48 !important;
}

.woocommerce-checkout .vlg-checkout-trust-box .vlg-payment-badges,
.woocommerce-checkout .vlg-payment-badges--checkout {
  gap: 6px !important;
}

.woocommerce-checkout .vlg-checkout-trust-box .vlg-payment-badge,
.woocommerce-checkout .vlg-payment-badges--checkout .vlg-payment-badge {
  max-width: 50px !important;
  height: 26px !important;
  padding: 4px 6px !important;
  border-radius: 9px !important;
}

.woocommerce-checkout #place_order,
.woocommerce-checkout .woocommerce-checkout-payment #place_order,
.woocommerce-checkout button[name="woocommerce_checkout_place_order"] {
  min-height: 58px !important;
  margin-top: 8px !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #071224 0%, #132846 100%) !important;
  box-shadow: 0 14px 28px rgba(7, 18, 36, .22) !important;
  font-size: 16px !important;
}

.woocommerce-checkout #customer_details .vlg-is-empty-panel,
.woocommerce-checkout #customer_details .col-2.vlg-is-empty-panel,
.woocommerce-checkout #customer_details .woocommerce-additional-fields.vlg-is-empty-panel,
.woocommerce-checkout #customer_details .col-2:empty,
.woocommerce-checkout #customer_details .woocommerce-additional-fields:empty {
  display: none !important;
}

@media (max-width: 1120px) {
  .woocommerce-checkout form.checkout {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "customer"
      "reviewTitle"
      "review" !important;
    gap: 0 !important;
  }

  .woocommerce-checkout #order_review_heading {
    margin-top: 18px !important;
  }
}

@media (max-width: 720px) {
  .woocommerce-checkout .woocommerce,
  .woocommerce-checkout .entry-title,
  .woocommerce-checkout .vlg-page-card > h1,
  .woocommerce-checkout main h1:first-child {
    width: min(100%, calc(100vw - 20px)) !important;
  }

  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-address-fields__field-wrapper {
    grid-template-columns: 1fr !important;
  }

  .woocommerce-checkout .woocommerce-billing-fields,
  .woocommerce-checkout .woocommerce-shipping-fields,
  .woocommerce-checkout .woocommerce-additional-fields,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review {
    padding-left: 16px !important;
    padding-right: 16px !important;
    border-radius: 16px !important;
  }

  .woocommerce-checkout #order_review_heading {
    border-radius: 16px 16px 0 0 !important;
  }

  .woocommerce-checkout #order_review {
    border-radius: 0 0 16px 16px !important;
  }
}


/* v1.9.9 — final checkout polish: organised premium two-column layout, still native WooCommerce */
body.woocommerce-checkout {
  background:
    radial-gradient(circle at top left, rgba(242, 138, 0, .055) 0, transparent 360px),
    linear-gradient(180deg, #f6f8fb 0%, #eef3f8 100%) !important;
}

.woocommerce-checkout .woocommerce {
  width: min(1240px, calc(100vw - 36px)) !important;
}

.woocommerce-checkout .entry-title,
.woocommerce-checkout .vlg-page-card > h1,
.woocommerce-checkout main h1:first-child {
  width: min(1240px, calc(100vw - 36px)) !important;
  margin-bottom: 8px !important;
}

.woocommerce-checkout .woocommerce::before {
  margin-bottom: 18px !important;
  padding: 9px 13px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.82) !important;
  backdrop-filter: blur(8px) !important;
}

.woocommerce-checkout form.checkout {
  display: grid !important;
  grid-template-columns: minmax(0, 690px) minmax(450px, 520px) !important;
  grid-template-areas:
    "customer reviewTitle"
    "customer review" !important;
  gap: 0 30px !important;
  align-items: start !important;
  justify-content: center !important;
}

.woocommerce-checkout #customer_details {
  gap: 18px !important;
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
  border: 1px solid rgba(15, 28, 47, .08) !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 12px 32px rgba(9, 24, 49, .055) !important;
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
  padding: 24px !important;
  border-radius: 22px !important;
}

.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3,
.woocommerce-checkout #order_review_heading {
  position: relative !important;
  padding-left: 0 !important;
  margin-bottom: 18px !important;
  color: #071224 !important;
  font-size: clamp(20px, 1.7vw, 24px) !important;
  font-weight: 950 !important;
}

.woocommerce-checkout .woocommerce-billing-fields h3::after,
.woocommerce-checkout .woocommerce-shipping-fields h3::after,
.woocommerce-checkout .woocommerce-additional-fields h3::after {
  content: "" !important;
  display: block !important;
  width: 42px !important;
  height: 3px !important;
  margin-top: 9px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #f28a00, rgba(242,138,0,.25)) !important;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-address-fields__field-wrapper {
  gap: 14px 16px !important;
}

.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-checkout .select2-container .select2-selection--single {
  min-height: 49px !important;
  border-radius: 13px !important;
  background: #fbfcfe !important;
}

.woocommerce-checkout #order_review_heading {
  margin: 0 !important;
  padding: 22px 22px 11px !important;
  border-radius: 22px 22px 0 0 !important;
  border-bottom: 0 !important;
}

.woocommerce-checkout #order_review_heading::after {
  content: "Tellimuse kokkuvõte, tarne ja makse" !important;
  display: block !important;
  margin-top: 6px !important;
  color: #667386 !important;
  font-size: 12.5px !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  font-weight: 700 !important;
}

.woocommerce-checkout #order_review {
  padding: 8px 22px 22px !important;
  border-radius: 0 0 22px 22px !important;
  border-top: 0 !important;
  overflow: visible !important;
}

.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td {
  padding: 13px 0 !important;
}

.woocommerce-checkout #order_review table.shop_table .product-name {
  width: 68% !important;
}

.woocommerce-checkout .vlg-checkout-product {
  grid-template-columns: 52px minmax(0, 1fr) !important;
  gap: 10px !important;
}

.woocommerce-checkout .vlg-checkout-product__media {
  width: 52px !important;
  height: 52px !important;
  border-radius: 14px !important;
}

.woocommerce-checkout .vlg-checkout-product__media img,
.woocommerce-checkout .vlg-checkout-product__img {
  width: 43px !important;
  height: 43px !important;
}

.woocommerce-checkout tr.woocommerce-shipping-totals th {
  display: block !important;
  padding-bottom: 7px !important;
}

.woocommerce-checkout tr.woocommerce-shipping-totals td {
  display: block !important;
  width: 100% !important;
  text-align: left !important;
}

.woocommerce-checkout ul#shipping_method {
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
  margin: 8px 0 0 !important;
}

.woocommerce-checkout ul#shipping_method li {
  min-height: 50px !important;
  padding: 10px 11px !important;
  border-radius: 13px !important;
}

.woocommerce-checkout ul#shipping_method label {
  display: block !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
}

.woocommerce-checkout .shipping-pickup-store,
.woocommerce-checkout .pickup-location-field,
.woocommerce-checkout [class*="pickup-point"],
.woocommerce-checkout [class*="pakiautoma"],
.woocommerce-checkout [id*="pakiautoma"],
.woocommerce-checkout [class*="parcel"],
.woocommerce-checkout [id*="parcel"] {
  max-width: 100% !important;
}

.woocommerce-checkout #payment,
.woocommerce-checkout .woocommerce-checkout-payment {
  margin-top: 18px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.woocommerce-checkout #payment::before,
.woocommerce-checkout .woocommerce-checkout-payment::before {
  content: "Makseviis" !important;
  display: block !important;
  margin: 0 0 10px !important;
  color: #071224 !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 950 !important;
}

.woocommerce-checkout #payment ul.payment_methods,
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods {
  display: grid !important;
  gap: 10px !important;
  padding: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods li,
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods li {
  padding: 13px !important;
  border: 1px solid rgba(17, 32, 55, .09) !important;
  border-radius: 15px !important;
  background: #fff !important;
  box-shadow: 0 6px 16px rgba(9, 24, 49, .035) !important;
}

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method.payment_method_montonio_payments,
.woocommerce-checkout #payment ul.payment_methods li.payment_method_montonio_payments,
.woocommerce-checkout #payment ul.payment_methods li:has(.payment_box) {
  padding: 14px !important;
}

.woocommerce-checkout #payment div.payment_box,
.woocommerce-checkout .woocommerce-checkout-payment div.payment_box {
  margin: 11px 0 0 !important;
  padding: 13px !important;
  border-radius: 14px !important;
  background: #f7f9fc !important;
}

.woocommerce-checkout #payment div.payment_box > p:first-child:last-child {
  margin-bottom: 0 !important;
}

.woocommerce-checkout #payment .payment_box .montonio-bank-list,
.woocommerce-checkout #payment .payment_box .banklink-list,
.woocommerce-checkout #payment .payment_box [class*="bank-list"],
.woocommerce-checkout #payment .payment_box [class*="banks"],
.woocommerce-checkout .woocommerce-checkout-payment .payment_box [class*="bank-list"],
.woocommerce-checkout .woocommerce-checkout-payment .payment_box [class*="banks"] {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
}

.woocommerce-checkout #payment .payment_box .montonio-bank-list label,
.woocommerce-checkout #payment .payment_box .banklink-list label,
.woocommerce-checkout #payment .payment_box [class*="bank-list"] label,
.woocommerce-checkout #payment .payment_box [class*="banks"] label {
  display: grid !important;
  place-items: center !important;
  min-height: 58px !important;
  margin: 0 !important;
  padding: 9px !important;
  border: 1px solid rgba(17, 32, 55, .10) !important;
  border-radius: 12px !important;
  background: #fff !important;
  cursor: pointer !important;
}

.woocommerce-checkout #payment .payment_box .montonio-bank-list input,
.woocommerce-checkout #payment .payment_box .banklink-list input,
.woocommerce-checkout #payment .payment_box [class*="bank-list"] input,
.woocommerce-checkout #payment .payment_box [class*="banks"] input {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.woocommerce-checkout #payment .payment_box img,
.woocommerce-checkout .woocommerce-checkout-payment .payment_box img {
  max-width: 92px !important;
  max-height: 28px !important;
  object-fit: contain !important;
}

.woocommerce-checkout .vlg-checkout-trust-box {
  margin-top: 14px !important;
  padding: 14px !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, #fff 0%, #f8fbff 100%) !important;
}

.woocommerce-checkout .vlg-checkout-trust-box .vlg-payment-badges,
.woocommerce-checkout .vlg-payment-badges--checkout {
  max-height: 72px !important;
  overflow: hidden !important;
}

.woocommerce-checkout #place_order,
.woocommerce-checkout .woocommerce-checkout-payment #place_order,
.woocommerce-checkout button[name="woocommerce_checkout_place_order"] {
  min-height: 58px !important;
  margin-top: 12px !important;
  border-radius: 15px !important;
  background: linear-gradient(135deg, #071224 0%, #10223d 100%) !important;
  box-shadow: 0 16px 30px rgba(7, 18, 36, .24) !important;
}

@media (min-width: 1121px) {
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review {
    position: relative !important;
  }
}

@media (max-width: 1120px) {
  .woocommerce-checkout .woocommerce,
  .woocommerce-checkout .entry-title,
  .woocommerce-checkout .vlg-page-card > h1,
  .woocommerce-checkout main h1:first-child {
    width: min(860px, calc(100vw - 28px)) !important;
  }

  .woocommerce-checkout form.checkout {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "customer"
      "reviewTitle"
      "review" !important;
    gap: 0 !important;
  }

  .woocommerce-checkout #order_review_heading {
    margin-top: 18px !important;
  }
}

@media (max-width: 720px) {
  .woocommerce-checkout ul#shipping_method {
    grid-template-columns: 1fr !important;
  }

  .woocommerce-checkout #payment .payment_box .montonio-bank-list,
  .woocommerce-checkout #payment .payment_box .banklink-list,
  .woocommerce-checkout #payment .payment_box [class*="bank-list"],
  .woocommerce-checkout #payment .payment_box [class*="banks"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}


/* v2.0.0 — FinestSteel / Valgusallikad checkout: real 3-column organized layout */
.woocommerce-checkout .woocommerce {
  width: min(1460px, calc(100vw - 36px)) !important;
  max-width: 100% !important;
}

.woocommerce-checkout form.checkout.fs-checkout-is-three-column,
.woocommerce-checkout form.checkout {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}

.woocommerce-checkout .fs-checkout-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(360px, 1fr) !important;
  gap: 24px !important;
  align-items: start !important;
  width: 100% !important;
}

.woocommerce-checkout .fs-checkout-card {
  min-width: 0 !important;
  background: #fff !important;
  border-radius: 18px !important;
  padding: 22px !important;
  border: 1px solid #e5e7eb !important;
  box-shadow: 0 8px 28px rgba(15, 23, 42, .08) !important;
  overflow: visible !important;
}

.woocommerce-checkout .fs-checkout-card__head {
  display: grid !important;
  grid-template-columns: 40px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: start !important;
  margin: 0 0 18px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid rgba(15, 23, 42, .08) !important;
}

.woocommerce-checkout .fs-checkout-card__icon {
  display: grid !important;
  place-items: center !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 14px !important;
  background: rgba(242, 138, 0, .10) !important;
  color: #f28a00 !important;
  font-size: 17px !important;
}

.woocommerce-checkout .fs-checkout-card__head h3 {
  margin: 0 !important;
  color: #0b1628 !important;
  font-size: 20px !important;
  line-height: 1.2 !important;
  letter-spacing: -.025em !important;
  font-weight: 900 !important;
}

.woocommerce-checkout .fs-checkout-card__head p {
  margin: 5px 0 0 !important;
  color: #68758a !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  font-weight: 650 !important;
}

.woocommerce-checkout .fs-checkout-card #customer_details,
.woocommerce-checkout .fs-checkout-card #customer_details .col-1,
.woocommerce-checkout .fs-checkout-card #customer_details .col-2,
.woocommerce-checkout .fs-checkout-card .woocommerce-billing-fields,
.woocommerce-checkout .fs-checkout-card .woocommerce-shipping-fields,
.woocommerce-checkout .fs-checkout-card .woocommerce-additional-fields,
.woocommerce-checkout .fs-checkout-card #order_review_heading,
.woocommerce-checkout .fs-checkout-card #order_review {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  clear: both !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.woocommerce-checkout .fs-checkout-card .woocommerce-billing-fields h3,
.woocommerce-checkout .fs-checkout-card .woocommerce-shipping-fields h3,
.woocommerce-checkout .fs-checkout-card .woocommerce-additional-fields h3,
.woocommerce-checkout .fs-checkout-card #order_review_heading {
  margin: 0 0 14px !important;
  padding: 0 !important;
  color: #0b1628 !important;
  font-size: 17px !important;
  line-height: 1.25 !important;
  letter-spacing: -.02em !important;
  font-weight: 900 !important;
}

.woocommerce-checkout .fs-checkout-card .woocommerce-billing-fields h3::before,
.woocommerce-checkout .fs-checkout-card .woocommerce-shipping-fields h3::before,
.woocommerce-checkout .fs-checkout-card .woocommerce-additional-fields h3::before,
.woocommerce-checkout .fs-checkout-card #order_review_heading::before {
  display: none !important;
  content: none !important;
}

.woocommerce-checkout .fs-checkout-card .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .fs-checkout-card .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .fs-checkout-card .woocommerce-address-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 13px 14px !important;
}

.woocommerce-checkout .fs-checkout-card .form-row-wide,
.woocommerce-checkout .fs-checkout-card #billing_company_field,
.woocommerce-checkout .fs-checkout-card #billing_country_field,
.woocommerce-checkout .fs-checkout-card #billing_address_1_field,
.woocommerce-checkout .fs-checkout-card #billing_address_2_field,
.woocommerce-checkout .fs-checkout-card #billing_city_field,
.woocommerce-checkout .fs-checkout-card #billing_state_field,
.woocommerce-checkout .fs-checkout-card #billing_postcode_field,
.woocommerce-checkout .fs-checkout-card #shipping_company_field,
.woocommerce-checkout .fs-checkout-card #shipping_country_field,
.woocommerce-checkout .fs-checkout-card #shipping_address_1_field,
.woocommerce-checkout .fs-checkout-card #shipping_address_2_field,
.woocommerce-checkout .fs-checkout-card #shipping_city_field,
.woocommerce-checkout .fs-checkout-card #shipping_state_field,
.woocommerce-checkout .fs-checkout-card #shipping_postcode_field,
.woocommerce-checkout .fs-checkout-card #order_comments_field {
  grid-column: 1 / -1 !important;
}

.woocommerce-checkout .fs-checkout-card label,
.woocommerce-checkout .fs-checkout-card .form-row label {
  margin-bottom: 6px !important;
  color: #13233a !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

.woocommerce-checkout .fs-checkout-card input.input-text,
.woocommerce-checkout .fs-checkout-card textarea,
.woocommerce-checkout .fs-checkout-card select,
.woocommerce-checkout .fs-checkout-card .select2-container .select2-selection--single {
  min-height: 46px !important;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(15, 23, 42, .14) !important;
  background: #fff !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.woocommerce-checkout .fs-shipping-methods-wrap,
.woocommerce-checkout .fs-shipping-extra-fields,
.woocommerce-checkout .fs-delivery-notes {
  display: grid !important;
  gap: 12px !important;
  margin-top: 12px !important;
}

.woocommerce-checkout .fs-shipping-column .fs-shipping-methods-wrap:first-of-type,
.woocommerce-checkout .fs-shipping-column .fs-shipping-extra-fields:first-of-type,
.woocommerce-checkout .fs-shipping-column .fs-delivery-notes:first-of-type {
  margin-top: 0 !important;
}

.woocommerce-checkout .fs-shipping-column ul#shipping_method {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 9px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.woocommerce-checkout .fs-shipping-column ul#shipping_method li {
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  gap: 9px !important;
  align-items: start !important;
  margin: 0 !important;
  padding: 11px 12px !important;
  border: 1px solid rgba(15, 23, 42, .12) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.woocommerce-checkout .fs-shipping-column ul#shipping_method li:has(input:checked) {
  border-color: rgba(242, 138, 0, .85) !important;
  background: #fffaf3 !important;
  box-shadow: 0 0 0 3px rgba(242, 138, 0, .10) !important;
}

.woocommerce-checkout .fs-shipping-column ul#shipping_method label {
  width: 100% !important;
  margin: 0 !important;
  font-size: 12.5px !important;
  line-height: 1.35 !important;
}

.woocommerce-checkout .fs-payment-column #order_review_heading {
  display: none !important;
}

.woocommerce-checkout .fs-payment-column #order_review table.shop_table {
  margin: 0 0 16px !important;
  border: 0 !important;
  border-collapse: collapse !important;
  background: transparent !important;
  box-shadow: none !important;
}

.woocommerce-checkout .fs-payment-column #order_review table.shop_table th,
.woocommerce-checkout .fs-payment-column #order_review table.shop_table td {
  padding: 12px 0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(15, 23, 42, .09) !important;
  background: transparent !important;
}

.woocommerce-checkout .fs-payment-column #order_review table.shop_table tbody tr:first-child td {
  border-top: 0 !important;
  padding-top: 0 !important;
}

.woocommerce-checkout .fs-payment-column #order_review table.shop_table .fs-shipping-row-moved,
.woocommerce-checkout .fs-payment-column #order_review table.shop_table tr.woocommerce-shipping-totals.fs-shipping-row-moved,
.woocommerce-checkout .fs-payment-column #order_review table.shop_table tr.shipping.fs-shipping-row-moved {
  display: none !important;
}

.woocommerce-checkout .fs-payment-column .vlg-checkout-product {
  grid-template-columns: 48px minmax(0, 1fr) !important;
  gap: 10px !important;
}

.woocommerce-checkout .fs-payment-column .vlg-checkout-product__media {
  width: 48px !important;
  height: 48px !important;
  border-radius: 12px !important;
}

.woocommerce-checkout .fs-payment-column .vlg-checkout-product__media img,
.woocommerce-checkout .fs-payment-column .vlg-checkout-product__img {
  width: 40px !important;
  height: 40px !important;
}

.woocommerce-checkout .fs-payment-column #payment,
.woocommerce-checkout .fs-payment-column .woocommerce-checkout-payment {
  margin-top: 14px !important;
  padding: 14px !important;
  border: 1px solid rgba(15, 23, 42, .10) !important;
  border-radius: 16px !important;
  background: #f8fafc !important;
}

.woocommerce-checkout .fs-payment-column #payment ul.payment_methods,
.woocommerce-checkout .fs-payment-column .woocommerce-checkout-payment ul.payment_methods {
  display: grid !important;
  gap: 9px !important;
  margin: 0 !important;
  padding: 0 0 12px !important;
}

.woocommerce-checkout .fs-payment-column #payment ul.payment_methods li,
.woocommerce-checkout .fs-payment-column .woocommerce-checkout-payment ul.payment_methods li {
  margin: 0 !important;
  padding: 11px 12px !important;
  border: 1px solid rgba(15, 23, 42, .11) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.woocommerce-checkout .fs-payment-column #payment ul.payment_methods li > label,
.woocommerce-checkout .fs-payment-column .woocommerce-checkout-payment ul.payment_methods li > label {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 !important;
}

.woocommerce-checkout .fs-payment-column #payment div.payment_box,
.woocommerce-checkout .fs-payment-column .woocommerce-checkout-payment div.payment_box {
  margin: 9px 0 0 !important;
  padding: 11px 12px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(15, 23, 42, .08) !important;
  background: #fff !important;
}

.woocommerce-checkout .fs-payment-column .payment_box .montonio-bank-list,
.woocommerce-checkout .fs-payment-column .payment_box .banklink-list,
.woocommerce-checkout .fs-payment-column .payment_box [class*="bank-list"],
.woocommerce-checkout .fs-payment-column .payment_box [class*="banks"] {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.woocommerce-checkout .fs-payment-column .payment_box .montonio-bank-list label,
.woocommerce-checkout .fs-payment-column .payment_box .banklink-list label,
.woocommerce-checkout .fs-payment-column .payment_box [class*="bank-list"] label,
.woocommerce-checkout .fs-payment-column .payment_box [class*="banks"] label {
  min-height: 56px !important;
  padding: 8px !important;
  justify-content: center !important;
  border-radius: 10px !important;
}

.woocommerce-checkout .fs-payment-column .vlg-checkout-trust-box {
  margin: 14px 0 !important;
  padding: 13px !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}

.woocommerce-checkout .fs-payment-column #place_order,
.woocommerce-checkout .fs-payment-column button[name="woocommerce_checkout_place_order"] {
  min-height: 56px !important;
  border-radius: 14px !important;
}

@media (max-width: 1320px) {
  .woocommerce-checkout .fs-checkout-layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(330px, .95fr) !important;
    gap: 18px !important;
  }

  .woocommerce-checkout .fs-checkout-card {
    padding: 18px !important;
  }
}

@media (max-width: 1100px) {
  .woocommerce-checkout .fs-checkout-layout {
    grid-template-columns: 1fr !important;
  }

  .woocommerce-checkout .fs-payment-column .payment_box .montonio-bank-list,
  .woocommerce-checkout .fs-payment-column .payment_box .banklink-list,
  .woocommerce-checkout .fs-payment-column .payment_box [class*="bank-list"],
  .woocommerce-checkout .fs-payment-column .payment_box [class*="banks"] {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  .woocommerce-checkout .woocommerce {
    width: min(100%, calc(100vw - 20px)) !important;
  }

  .woocommerce-checkout .fs-checkout-card {
    padding: 16px !important;
    border-radius: 16px !important;
  }

  .woocommerce-checkout .fs-checkout-card .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout .fs-checkout-card .woocommerce-shipping-fields__field-wrapper,
  .woocommerce-checkout .fs-checkout-card .woocommerce-address-fields__field-wrapper,
  .woocommerce-checkout .fs-payment-column .payment_box .montonio-bank-list,
  .woocommerce-checkout .fs-payment-column .payment_box .banklink-list,
  .woocommerce-checkout .fs-payment-column .payment_box [class*="bank-list"],
  .woocommerce-checkout .fs-payment-column .payment_box [class*="banks"] {
    grid-template-columns: 1fr !important;
  }
}


/* v2.0.1 — admin settings: reliable checkbox/save usability */
.vlg-admin-form .vlg-admin-checkbox {
  cursor: pointer !important;
  user-select: none !important;
}
.vlg-admin-form .vlg-admin-checkbox input[type="checkbox"] {
  cursor: pointer !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  accent-color: var(--vlg-primary, #f28a00) !important;
}
.vlg-admin-form .vlg-admin-checkbox span,
.vlg-admin-form .vlg-admin-checkbox small {
  pointer-events: none !important;
}
.vlg-admin-submitbar {
  z-index: 9999 !important;
  bottom: 16px !important;
  pointer-events: auto !important;
}
.vlg-admin-submitbar .button-primary {
  pointer-events: auto !important;
}


/* v2.0.2 — admin reliability fixes */
.vlg-admin-wrap,
.vlg-admin-form,
.vlg-admin-panels,
.vlg-admin-panel,
.vlg-admin-card,
.vlg-admin-field,
.vlg-media-row {
  position: relative !important;
}

.vlg-admin-panel:not(.is-active) {
  display: none !important;
}

.vlg-admin-panel.is-active {
  display: block !important;
}

.vlg-admin-field input,
.vlg-admin-field textarea,
.vlg-admin-field select,
.vlg-admin-field button,
.vlg-media-button,
.vlg-media-clear {
  pointer-events: auto !important;
}

.vlg-admin-submitbar {
  position: sticky !important;
  bottom: 12px !important;
  z-index: 100000 !important;
  display: flex !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  margin-top: 24px !important;
  padding: 12px !important;
  border: 1px solid rgba(17, 32, 55, .10) !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.94) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 14px 38px rgba(15,23,42,.14) !important;
}

.vlg-admin-submitbar .button-primary {
  min-height: 44px !important;
  padding: 0 24px !important;
  border-radius: 12px !important;
  pointer-events: auto !important;
}

.vlg-admin-form.is-saving .vlg-admin-submitbar .button-primary {
  opacity: .82 !important;
}

.vlg-admin-hero-preview {
  max-width: 100% !important;
  overflow: hidden !important;
}


/* === 08-home-responsive-hotfix.css === */
/* v2.0.3 — homepage fit & latest section polish */
html, body {
  overflow-x: clip;
}

.vlg-container,
body.woocommerce .woocommerce,
body.woocommerce-page .woocommerce,
.vlg-main-header-inner,
.vlg-topbar-inner,
.vlg-nav-inner,
.vlg-footer-inner,
.vlg-footer-bottom {
  width: min(calc(100% - 32px), var(--vlg-container, 1320px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--vlg-container, 1320px) !important;
}

.vlg-home,
.vlg-home .vlg-section,
.vlg-home .vlg-product-section,
.vlg-home .vlg-latest-showcase {
  max-width: 100% !important;
}

.home ul.products.vlg-products-grid,
.home .vlg-products-grid,
.front-page ul.products.vlg-products-grid,
.front-page .vlg-products-grid {
  gap: 20px !important;
}

.vlg-home-product-section .vlg-products-grid,
.home .vlg-home-product-section .vlg-products-grid,
.front-page .vlg-home-product-section .vlg-products-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.vlg-latest-showcase {
  position: relative;
  overflow: hidden;
  padding: 26px !important;
  border-radius: 28px !important;
  border: 1px solid #dfe7f0 !important;
  background:
    radial-gradient(circle at top right, rgba(242,138,0,.10), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(252,248,242,.95)) !important;
  box-shadow: 0 18px 44px rgba(15, 23, 42, .07) !important;
}

.vlg-latest-showcase::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, var(--vlg-primary, #f28a00), rgba(242,138,0,0));
}

.vlg-latest-showcase .vlg-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  background: rgba(242,138,0,.08) !important;
  color: var(--vlg-primary, #f28a00) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.vlg-latest-showcase .vlg-section-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: end !important;
  gap: 18px !important;
  margin-bottom: 18px !important;
}

.vlg-latest-showcase .vlg-section-head > div {
  min-width: 0 !important;
}

.vlg-latest-showcase .vlg-section-head h2 {
  margin: 10px 0 0 !important;
  font-size: clamp(28px, 2.2vw, 36px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.04em !important;
}

.vlg-latest-showcase .vlg-section-head p {
  margin: 10px 0 0 !important;
  max-width: 58ch !important;
  color: var(--vlg-muted, #64748b) !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

.vlg-latest-showcase .vlg-section-head > a {
  align-self: center !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 0 18px !important;
  border-radius: 999px !important;
  background: #fff !important;
  border: 1px solid #dbe3ed !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .05) !important;
  white-space: nowrap !important;
}

.vlg-latest-showcase__grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
  margin-top: 8px !important;
}

.vlg-latest-showcase .vlg-product-card,
.vlg-home-product-section .vlg-product-card {
  min-width: 0 !important;
  height: 100% !important;
}

.vlg-latest-showcase .vlg-product-card .vlg-product-link,
.vlg-home-product-section .vlg-product-card .vlg-product-link {
  height: 100% !important;
}

.vlg-latest-showcase .vlg-card-content,
.vlg-home-product-section .vlg-card-content {
  gap: 10px !important;
}

.vlg-latest-showcase .vlg-card-actions,
.vlg-home-product-section .vlg-card-actions {
  margin-top: auto !important;
}

.vlg-footer .vlg-payment-badges {
  max-width: 100% !important;
  flex-wrap: wrap !important;
}

@media (max-width: 1240px) {
  .vlg-home-product-section .vlg-products-grid,
  .home .vlg-home-product-section .vlg-products-grid,
  .front-page .vlg-home-product-section .vlg-products-grid,
  .vlg-latest-showcase__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 980px) {
  .vlg-container,
  body.woocommerce .woocommerce,
  body.woocommerce-page .woocommerce,
  .vlg-main-header-inner,
  .vlg-topbar-inner,
  .vlg-nav-inner,
  .vlg-footer-inner,
  .vlg-footer-bottom {
    width: min(calc(100% - 24px), var(--vlg-container, 1320px)) !important;
  }

  .vlg-home-product-section .vlg-products-grid,
  .home .vlg-home-product-section .vlg-products-grid,
  .front-page .vlg-home-product-section .vlg-products-grid,
  .vlg-latest-showcase__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .vlg-latest-showcase .vlg-section-head {
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }

  .vlg-latest-showcase .vlg-section-head > a {
    justify-self: start !important;
  }
}

@media (max-width: 620px) {
  .vlg-container,
  body.woocommerce .woocommerce,
  body.woocommerce-page .woocommerce,
  .vlg-main-header-inner,
  .vlg-topbar-inner,
  .vlg-nav-inner,
  .vlg-footer-inner,
  .vlg-footer-bottom {
    width: min(calc(100% - 18px), var(--vlg-container, 1320px)) !important;
  }

  .vlg-latest-showcase,
  .vlg-home .vlg-section {
    padding: 18px !important;
    border-radius: 18px !important;
  }

  .vlg-home-product-section .vlg-products-grid,
  .home .vlg-home-product-section .vlg-products-grid,
  .front-page .vlg-home-product-section .vlg-products-grid,
  .vlg-latest-showcase__grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .vlg-latest-showcase .vlg-section-head h2 {
    font-size: 24px !important;
  }
}


/* v2.0.4 — robust header language switcher */
.vlg-header-language-slot,
.vlg-nav-language-slot {
  display: inline-flex !important;
  align-items: center !important;
  min-width: 0 !important;
}

.vlg-nav-language-slot {
  margin-left: auto !important;
}

.vlg-language-switcher {
  display: inline-flex !important;
  align-items: center !important;
  min-width: 0 !important;
  color: var(--vlg-text, #172033) !important;
  font-size: 13px !important;
  font-weight: 850 !important;
}

.vlg-language-switcher select,
.vlg-language-switcher .trp-language-switcher > div,
.vlg-language-switcher .goog-te-combo {
  min-height: 36px !important;
  border: 1px solid #dbe3ed !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--vlg-text, #172033) !important;
  font-weight: 800 !important;
  padding: 6px 12px !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .05) !important;
}

.vlg-language-switcher ul,
.vlg-language-switcher li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.vlg-language-switcher ul {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.vlg-language-switcher a,
.vlg-language-fallback a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 34px !important;
  min-height: 34px !important;
  padding: 0 9px !important;
  border: 1px solid #dbe3ed !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--vlg-text, #172033) !important;
  text-decoration: none !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .05) !important;
}

.vlg-language-fallback {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.vlg-language-current {
  display: inline-grid !important;
  place-items: center !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 999px !important;
  background: #fff7ed !important;
  border: 1px solid rgba(242,138,0,.22) !important;
}

@media (max-width: 900px) {
  .vlg-header-language-slot {
    display: none !important;
  }

  .vlg-nav-language-slot {
    margin: 8px 0 0 !important;
    width: 100% !important;
  }

  .vlg-nav-language-slot .vlg-language-switcher {
    width: 100% !important;
  }
}


/* === 09-home-latest-refine.css === */
/* v2.0.5 — refine latest products section, simpler and cleaner */
.vlg-latest-showcase {
  overflow: visible !important;
  padding: 18px 18px 22px !important;
  border-radius: 20px !important;
  border: 1px solid #dfe6ee !important;
  background: linear-gradient(180deg, #fffdfa 0%, #ffffff 100%) !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .05) !important;
}

.vlg-latest-showcase::before {
  height: 3px !important;
  opacity: .9 !important;
}

.vlg-latest-showcase .vlg-section-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 14px !important;
  margin-bottom: 14px !important;
}

.vlg-latest-showcase .vlg-section-head h2 {
  margin: 8px 0 0 !important;
  font-size: clamp(22px, 1.8vw, 30px) !important;
  line-height: 1.08 !important;
}

.vlg-latest-showcase .vlg-section-head p {
  margin: 8px 0 0 !important;
  max-width: 56ch !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.vlg-latest-showcase .vlg-section-head > a {
  min-height: 40px !important;
  padding: 0 15px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

.vlg-latest-showcase .vlg-kicker {
  padding: 5px 9px !important;
  font-size: 10px !important;
}

.vlg-latest-showcase__grid,
.vlg-latest-showcase .vlg-products-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
  margin-top: 0 !important;
}

.vlg-latest-showcase .vlg-product-card {
  height: auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  border-radius: 16px !important;
  overflow: hidden !important;
}

.vlg-latest-showcase .vlg-product-card .vlg-product-link {
  display: flex !important;
  flex-direction: column !important;
  height: auto !important;
}

.vlg-latest-showcase .vlg-product-card .vlg-card-image-wrap img {
  max-height: 158px !important;
}

.vlg-latest-showcase .vlg-product-card .vlg-card-content {
  flex: 1 1 auto !important;
  gap: 8px !important;
}

.vlg-latest-showcase .vlg-product-card h2 {
  min-height: 2.7em !important;
  font-size: 14px !important;
}

.vlg-latest-showcase .vlg-product-card .vlg-card-actions {
  margin-top: auto !important;
  padding: 0 12px 12px !important;
}

.vlg-latest-showcase .vlg-product-card .vlg-card-actions .button,
.vlg-latest-showcase .vlg-product-card .vlg-card-actions .vlg-card-cart {
  min-height: 40px !important;
  font-size: 12px !important;
}

.vlg-home .vlg-section + .vlg-section {
  margin-top: 24px !important;
}

@media (max-width: 1240px) {
  .vlg-latest-showcase__grid,
  .vlg-latest-showcase .vlg-products-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  .vlg-latest-showcase {
    padding: 16px 16px 20px !important;
  }

  .vlg-latest-showcase .vlg-section-head {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .vlg-latest-showcase__grid,
  .vlg-latest-showcase .vlg-products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 620px) {
  .vlg-latest-showcase {
    padding: 14px 14px 18px !important;
    border-radius: 16px !important;
  }

  .vlg-latest-showcase__grid,
  .vlg-latest-showcase .vlg-products-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .vlg-latest-showcase .vlg-section-head h2 {
    font-size: 24px !important;
  }
}


/* === 10-cart-button-fix.css === */
/* v2.0.6 — restore and harden product card add-to-cart buttons */
.vlg-product-card .vlg-card-actions,
ul.products li.product.vlg-product-card .vlg-card-actions,
.vlg-products-grid li.product.vlg-product-card .vlg-card-actions,
.vlg-home-product-section .vlg-product-card .vlg-card-actions,
.vlg-latest-showcase .vlg-product-card .vlg-card-actions {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  position: relative !important;
  z-index: 4 !important;
  width: 100% !important;
  margin-top: auto !important;
  padding: 0 12px 14px !important;
  min-height: 48px !important;
  transform: none !important;
}

.vlg-product-card .vlg-card-actions .button,
.vlg-product-card .vlg-card-actions .vlg-card-cart,
ul.products li.product.vlg-product-card .vlg-card-actions .button,
.vlg-products-grid li.product.vlg-product-card .vlg-card-actions .button,
.vlg-home-product-section .vlg-product-card .vlg-card-actions .button,
.vlg-latest-showcase .vlg-product-card .vlg-card-actions .button,
.vlg-latest-showcase .vlg-product-card .vlg-card-actions .vlg-card-cart {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  min-height: 42px !important;
  margin: 0 !important;
  border-radius: 12px !important;
  background: var(--vlg-primary, #f28a00) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}

.vlg-product-card,
ul.products li.product.vlg-product-card,
.vlg-products-grid li.product.vlg-product-card,
.vlg-latest-showcase .vlg-product-card,
.vlg-home-product-section .vlg-product-card {
  overflow: visible !important;
  display: flex !important;
  flex-direction: column !important;
}

.vlg-product-card .vlg-product-link,
.vlg-latest-showcase .vlg-product-card .vlg-product-link,
.vlg-home-product-section .vlg-product-card .vlg-product-link {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
}

.vlg-latest-showcase,
.vlg-home-product-section,
.vlg-latest-showcase__grid,
.vlg-products-grid {
  overflow: visible !important;
}

.vlg-latest-showcase .vlg-product-card .vlg-card-actions {
  padding-bottom: 16px !important;
}

@media (max-width: 620px) {
  .vlg-product-card .vlg-card-actions,
  .vlg-latest-showcase .vlg-product-card .vlg-card-actions {
    padding: 0 10px 12px !important;
  }
}


/* === 11-mini-cart-drawer.css === */
/*!
 * Valgusallikad theme — 11-mini-cart-drawer.css
 * Slide-in mini cart panel + WC mini-cart styling inside it.
 * Uses the theme's existing CSS variables (--vlg-primary, etc.).
 */

.vlg-mini-cart-drawer {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: block;
}

.vlg-mini-cart-drawer[hidden] { display: none; }

.vlg-mini-cart-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(7, 18, 36, 0);
  transition: background 220ms ease;
  cursor: pointer;
}

.vlg-mini-cart-drawer.is-open .vlg-mini-cart-backdrop {
  background: rgba(7, 18, 36, 0.55);
}

.vlg-mini-cart-panel {
  position: absolute;
  top: 0;
  right: 0;
  width: min(420px, 100vw);
  height: 100%;
  background: #fff;
  box-shadow: -16px 0 48px rgba(7, 18, 36, 0.18);
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 240ms cubic-bezier(0.22, 0.61, 0.36, 1);
  will-change: transform;
}

.vlg-mini-cart-drawer.is-open .vlg-mini-cart-panel {
  transform: translateX(0);
}

.vlg-mini-cart-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 20px;
  border-bottom: 1px solid #e7eaf0;
  background: var(--vlg-dark, #071224);
  color: #fff;
}

.vlg-mini-cart-header h2 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: #fff;
}

.vlg-mini-cart-close {
  appearance: none;
  background: transparent;
  border: 0;
  color: #fff;
  font-size: 1.6rem;
  line-height: 1;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 140ms ease;
}
.vlg-mini-cart-close:hover { background: rgba(255, 255, 255, 0.12); }
.vlg-mini-cart-close:focus-visible {
  outline: 2px solid var(--vlg-primary, #f28a00);
  outline-offset: 2px;
}

.vlg-mini-cart-toast {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 14px 16px 0;
  padding: 10px 14px;
  background: #ecfdf5;
  color: #065f46;
  border-radius: 10px;
  font-weight: 600;
  font-size: 0.95rem;
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity 220ms ease, transform 220ms ease;
}
.vlg-mini-cart-toast.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.vlg-mini-cart-toast__icon {
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #10b981;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85rem;
  font-weight: 700;
}

.vlg-mini-cart-body {
  flex: 1;
  overflow-y: auto;
  padding: 14px 16px 18px;
  -webkit-overflow-scrolling: touch;
}

/* WooCommerce default mini-cart structure. */
.vlg-mini-cart-body .woocommerce-mini-cart,
.vlg-mini-cart-body .cart_list,
.vlg-mini-cart-body .product_list_widget {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.vlg-mini-cart-body .woocommerce-mini-cart-item,
.vlg-mini-cart-body .mini_cart_item {
  display: grid;
  grid-template-columns: 56px 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 10px 8px;
  border: 1px solid #eef0f4;
  border-radius: 12px;
  background: #fbfcfe;
  position: relative;
}

.vlg-mini-cart-body .woocommerce-mini-cart-item img,
.vlg-mini-cart-body .mini_cart_item img {
  width: 56px;
  height: 56px;
  object-fit: cover;
  border-radius: 8px;
  background: #f1f3f6;
}

.vlg-mini-cart-body .woocommerce-mini-cart-item a:not(.remove),
.vlg-mini-cart-body .mini_cart_item a:not(.remove) {
  color: var(--vlg-text, #172033);
  text-decoration: none;
  font-weight: 600;
  font-size: 0.92rem;
  line-height: 1.3;
  display: inline;
}

.vlg-mini-cart-body .quantity {
  display: block;
  margin-top: 4px;
  font-size: 0.82rem;
  color: var(--vlg-muted, #697589);
  font-weight: 500;
}
.vlg-mini-cart-body .quantity .woocommerce-Price-amount {
  color: var(--vlg-text, #172033);
  font-weight: 700;
}

.vlg-mini-cart-body .remove,
.vlg-mini-cart-body a.remove {
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: #f1f3f6;
  color: #6b7280 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  text-decoration: none;
  font-weight: 700;
  transition: background 140ms ease, color 140ms ease;
}
.vlg-mini-cart-body .remove:hover,
.vlg-mini-cart-body a.remove:hover {
  background: #fee2e2;
  color: #b91c1c !important;
}

.vlg-mini-cart-body .total {
  margin: 14px 0 10px;
  padding: 12px 14px;
  background: #f8fafc;
  border-radius: 10px;
  font-size: 0.95rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid #e7eaf0;
}
.vlg-mini-cart-body .total strong { font-weight: 700; }
.vlg-mini-cart-body .total .woocommerce-Price-amount {
  color: var(--vlg-primary, #f28a00);
  font-weight: 800;
  font-size: 1.05rem;
}

.vlg-mini-cart-body .buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 0;
  padding: 0;
}
.vlg-mini-cart-body .buttons .button,
.vlg-mini-cart-body .buttons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 14px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 0.92rem;
  text-decoration: none;
  border: 1px solid transparent;
  transition: background 140ms ease, color 140ms ease, border 140ms ease;
}
.vlg-mini-cart-body .buttons .button:first-child,
.vlg-mini-cart-body .buttons a:first-child {
  background: #fff;
  border-color: #d6dae3;
  color: var(--vlg-text, #172033);
}
.vlg-mini-cart-body .buttons .button:first-child:hover,
.vlg-mini-cart-body .buttons a:first-child:hover {
  border-color: var(--vlg-text, #172033);
}
.vlg-mini-cart-body .buttons .checkout,
.vlg-mini-cart-body .buttons a.checkout {
  background: var(--vlg-primary, #f28a00);
  color: #fff;
  border-color: var(--vlg-primary, #f28a00);
}
.vlg-mini-cart-body .buttons .checkout:hover,
.vlg-mini-cart-body .buttons a.checkout:hover {
  background: var(--vlg-primary-2, #ffb34d);
  border-color: var(--vlg-primary-2, #ffb34d);
}

.vlg-mini-cart-body .woocommerce-mini-cart__empty-message {
  text-align: center;
  padding: 40px 20px;
  color: var(--vlg-muted, #697589);
  font-weight: 500;
  margin: 0;
}

/* Lock body scroll while drawer is open. */
body.vlg-mini-cart-open {
  overflow: hidden;
}

@media (max-width: 480px) {
  .vlg-mini-cart-panel {
    width: 100vw;
    box-shadow: none;
  }
  .vlg-mini-cart-body .buttons {
    grid-template-columns: 1fr;
  }
}


/* === 12-search-typeahead.css === */
/*!
 * Valgusallikad theme — 12-search-typeahead.css
 * Live product search suggestions dropdown attached to header search.
 */

.vlg-header-search .vlg-search,
.vlg-search {
  position: relative;
}

.vlg-search-suggest {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  z-index: 9000;
  background: #fff;
  border: 1px solid #e7eaf0;
  border-radius: 14px;
  box-shadow: 0 18px 40px rgba(7, 18, 36, 0.12);
  overflow: hidden;
  max-height: 70vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.vlg-search-suggest[hidden] { display: none; }

.vlg-search-suggest__hint {
  padding: 14px 18px;
  color: var(--vlg-muted, #697589);
  font-size: 0.92rem;
  font-weight: 500;
  text-align: center;
}

.vlg-search-suggest__list {
  list-style: none;
  margin: 0;
  padding: 6px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.vlg-search-suggest__list li {
  border-radius: 10px;
  transition: background 140ms ease;
}

.vlg-search-suggest__list li.is-active,
.vlg-search-suggest__list li:hover {
  background: #f3f5fa;
}

.vlg-search-suggest__list a {
  display: grid;
  grid-template-columns: 48px 1fr;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  color: var(--vlg-text, #172033);
  text-decoration: none;
}

.vlg-search-suggest__media {
  width: 48px;
  height: 48px;
  border-radius: 8px;
  background: #f1f3f6;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.vlg-search-suggest__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.vlg-search-suggest__placeholder {
  font-size: 1.4rem;
  opacity: 0.6;
}

.vlg-search-suggest__copy {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.vlg-search-suggest__title {
  font-weight: 600;
  font-size: 0.95rem;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.vlg-search-suggest__meta {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.82rem;
  color: var(--vlg-muted, #697589);
}

.vlg-search-suggest__sku {
  font-family: ui-monospace, SFMono-Regular, "Menlo", "Consolas", monospace;
  font-size: 0.75rem;
  background: #eef1f6;
  padding: 1px 6px;
  border-radius: 4px;
  color: #4b5563;
}

.vlg-search-suggest__price {
  margin-left: auto;
  color: var(--vlg-primary, #f28a00);
  font-weight: 700;
  font-size: 0.9rem;
}

.vlg-search-suggest__all {
  display: block;
  text-align: center;
  padding: 12px 16px;
  background: #f8fafc;
  color: var(--vlg-text, #172033);
  font-weight: 700;
  text-decoration: none;
  border-top: 1px solid #e7eaf0;
  font-size: 0.92rem;
  transition: background 140ms ease, color 140ms ease;
}
.vlg-search-suggest__all:hover {
  background: var(--vlg-primary, #f28a00);
  color: #fff;
}

@media (max-width: 600px) {
  .vlg-search-suggest {
    max-height: 60vh;
  }
  .vlg-search-suggest__list a {
    grid-template-columns: 44px 1fr;
    padding: 9px 10px;
  }
  .vlg-search-suggest__media {
    width: 44px;
    height: 44px;
  }
}


/* === 13-card-and-popup-fix.css === */
/*!
 * Valgusallikad theme — 13-card-and-popup-fix.css
 *
 * Hotfixes for v2.0.8 / v2.0.9:
 *
 * 1) Product cards on the home "Värskelt poodi jõudnud..." and
 *    "Populaarsed tooted" sections — unify the orange "Lisa korvi"
 *    button visually with the white card (no visible gap, no
 *    overhang past the rounded corners).
 *
 * 2) Defensive: hide the popup CTA button if its href is "#" or
 *    empty, even if the rendered HTML was cached before v2.0.7's
 *    footer.php fix took effect on a particular install.
 *
 * 3) Plugin v1.1.6/7 — dropdown filtering kept failing due to a
 *    same-specificity rule from 07-design-v18 that kept hidden items
 *    visible. The plugin now also writes inline `display:none`, but
 *    we add a belt-and-braces CSS rule here too.
 *
 * 4) v2.0.9 — global horizontal overflow guard. Some 3rd-party
 *    plugin (cookie banner, multilingual switcher, popup, etc.) was
 *    introducing off-canvas elements that pushed the body wider than
 *    the viewport, making the entire home page (including the
 *    "Värskelt poodi jõudnud" section) appear cut off on the right.
 */

/* ===== 4. GLOBAL HORIZONTAL OVERFLOW GUARD (v2.0.9) ===== */
html, body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}

/* Container should never exceed the viewport, regardless of the
 * --vlg-container CSS variable. (Earlier hotfix only enforced this
 * under 980px; on a 1280px screen with --vlg-container:1320px the
 * container did overflow by ~40px.) */
.vlg-container,
body.woocommerce .woocommerce,
body.woocommerce-page .woocommerce,
.vlg-main-header-inner,
.vlg-topbar-inner,
.vlg-nav-inner,
.vlg-footer-inner,
.vlg-footer-bottom {
  width: min(100% - 24px, var(--vlg-container, 1320px)) !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* Latest showcase wrapper: keep it inside the page bounds. */
.vlg-latest-showcase,
.vlg-home-product-section,
.vlg-section {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* ===== 1. Unified product card on home ===== */

.vlg-latest-showcase .vlg-product-card,
.vlg-home-product-section .vlg-product-card {
  /* Defensive: keep the orange button strictly inside the rounded card. */
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  background: #fff !important;
}

.vlg-latest-showcase .vlg-product-card .vlg-product-link,
.vlg-home-product-section .vlg-product-card .vlg-product-link {
  /* Image+title+price area should fill until the action bar. */
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
}

.vlg-latest-showcase .vlg-product-card .vlg-card-content,
.vlg-home-product-section .vlg-product-card .vlg-card-content {
  /* Push the price down so the actions sit flush. */
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  padding-bottom: 12px !important;
}

.vlg-latest-showcase .vlg-product-card .vlg-card-actions,
.vlg-home-product-section .vlg-product-card .vlg-card-actions {
  /* Visually attach the actions to the card with a soft top border. */
  margin-top: 0 !important;
  padding: 12px 14px 14px !important;
  background: #fff !important;
  border-top: 1px solid rgba(17, 32, 55, .06) !important;
  position: relative !important;
  z-index: 1 !important;
}

.vlg-latest-showcase .vlg-product-card .vlg-card-actions .button,
.vlg-latest-showcase .vlg-product-card .vlg-card-actions .vlg-card-cart,
.vlg-home-product-section .vlg-product-card .vlg-card-actions .button,
.vlg-home-product-section .vlg-product-card .vlg-card-actions .vlg-card-cart {
  /* Slightly tighter button so it doesn't visually dominate the card. */
  min-height: 40px !important;
  padding: 10px 14px !important;
  font-size: 0.9rem !important;
  border-radius: 10px !important;
  /* Lift the button shadow off slightly so it looks "in" the card. */
  box-shadow: 0 2px 6px rgba(242, 138, 0, .14) !important;
}

/* Tighten the price row so the gap above the action bar is small. */
.vlg-latest-showcase .vlg-product-card .vlg-card-price,
.vlg-home-product-section .vlg-product-card .vlg-card-price {
  margin-top: auto !important;
  padding-top: 6px !important;
}

/* ===== 2. Defensive popup CTA hide for stale-cached pages ===== */

/* Hide popup primary CTA when href is empty, "#", or just whitespace.
 * footer.php was fixed in v2.0.7 to not render this button at all when
 * the URL is empty, but if WP page cache still serves a pre-fix HTML,
 * this CSS makes the dead button disappear anyway. */
.vlg-popup-cta[href="#"],
.vlg-popup-cta[href=""],
.vlg-popup-cta:not([href]) {
  display: none !important;
}

/* ===== 3. Plugin shipping selector — defensive hide ===== */

/* The plugin now also sets inline display:none, but if some cache or
 * lightweight subtheme strips inline styles, this CSS still wins. */
body.fs-checkout-designer-active ul#shipping_method li.fs-hidden-by-provider,
body.fs-checkout-designer-active .fs-shipping-methods-wrap ul#shipping_method li.fs-hidden-by-provider,
body.fs-checkout-designer-active .fs-shipping-column ul#shipping_method li.fs-hidden-by-provider {
  display: none !important;
}

/* The new "Kõik tarneviisid" option label needs no special styling —
 * it inherits the dropdown style. But pad the dropdown a touch more so
 * the longer label doesn't crowd the chevron. */
body.fs-checkout-designer-active .fs-shipping-provider-select {
  padding-right: 36px !important;
}


/* ============================================================
 * v2.1.1 — home latest-product button containment
 * Fixes the orange "Lisa korvi" button visually hanging outside the
 * Värskelt poodi jõudnud… card/section on wide desktop layouts.
 * ============================================================ */
.vlg-latest-showcase {
  overflow: hidden !important;
  padding-bottom: 34px !important;
}

.vlg-latest-showcase__grid,
.vlg-latest-showcase .vlg-products-grid {
  align-items: stretch !important;
  padding-bottom: 0 !important;
  overflow: visible !important;
}

.vlg-latest-showcase .vlg-product-card,
.vlg-latest-showcase ul.products li.product.vlg-product-card {
  height: 100% !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  padding-bottom: 0 !important;
}

.vlg-latest-showcase .vlg-product-card .vlg-product-link {
  flex: 1 1 auto !important;
  min-height: 0 !important;
}

.vlg-latest-showcase .vlg-product-card .vlg-card-content {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  padding-bottom: 10px !important;
}

.vlg-latest-showcase .vlg-product-card .vlg-card-actions,
.vlg-latest-showcase ul.products li.product.vlg-product-card .vlg-card-actions {
  position: static !important;
  inset: auto !important;
  z-index: 2 !important;
  width: 100% !important;
  min-height: auto !important;
  margin: 0 !important;
  transform: none !important;
  padding: 12px 14px 16px !important;
  background: #fff !important;
  border-top: 1px solid rgba(17, 32, 55, .07) !important;
  box-shadow: none !important;
}

.vlg-latest-showcase .vlg-product-card .vlg-card-actions .button,
.vlg-latest-showcase .vlg-product-card .vlg-card-actions .vlg-card-cart {
  position: static !important;
  width: 100% !important;
  min-height: 42px !important;
  margin: 0 !important;
  transform: none !important;
  border-radius: 12px !important;
  box-shadow: 0 6px 14px rgba(242, 138, 0, .16) !important;
}

.vlg-latest-showcase .vlg-product-card .vlg-card-actions .button:hover,
.vlg-latest-showcase .vlg-product-card .vlg-card-actions .vlg-card-cart:hover {
  transform: translateY(-1px) !important;
}

@media (max-width: 620px) {
  .vlg-latest-showcase {
    padding-bottom: 22px !important;
  }

  .vlg-latest-showcase .vlg-product-card .vlg-card-actions,
  .vlg-latest-showcase ul.products li.product.vlg-product-card .vlg-card-actions {
    padding: 10px 12px 14px !important;
  }
}

/* ============================================================
 * v2.1.2 — cart notice, SEO/EU helper UI and hero preset admin
 * ============================================================ */
.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-page .woocommerce-notices-wrapper {
  position: relative !important;
  z-index: 2 !important;
}

.woocommerce-cart .woocommerce-notices-wrapper::before,
.woocommerce-cart .woocommerce-notices-wrapper::after,
.woocommerce-cart .woocommerce-message::after,
.woocommerce-cart .woocommerce-info::after,
.woocommerce-cart .woocommerce-error::after {
  content: none !important;
  display: none !important;
}

.woocommerce-cart .woocommerce-notices-wrapper .blockUI,
.woocommerce-cart .woocommerce-notices-wrapper .blockOverlay,
.woocommerce-cart .woocommerce-message .blockUI,
.woocommerce-cart .woocommerce-message .blockOverlay {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error {
  position: relative !important;
  min-height: 54px !important;
  padding: 15px 18px 15px 54px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  overflow: hidden !important;
}

.woocommerce-cart .woocommerce-message::before,
.woocommerce-cart .woocommerce-info::before,
.woocommerce-cart .woocommerce-error::before {
  content: "✓" !important;
  font-family: inherit !important;
  speak: never !important;
  position: absolute !important;
  left: 18px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 25px !important;
  height: 25px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  background: #83b51b !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  box-shadow: 0 6px 14px rgba(131,181,27,.18) !important;
}

.woocommerce-cart .woocommerce-info::before { content: "i" !important; background: #3b82f6 !important; }
.woocommerce-cart .woocommerce-error::before { content: "!" !important; background: #ef4444 !important; }

.woocommerce-cart .woocommerce-message a.restore-item,
.woocommerce-cart .woocommerce-message .button.wc-forward {
  margin-left: 4px !important;
  color: var(--vlg-primary) !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

.vlg-hero-preset-field > span {
  display: block !important;
  font-weight: 900 !important;
  margin-bottom: 8px !important;
}

.vlg-hero-preset-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(120px, 1fr)) !important;
  gap: 10px !important;
}

.vlg-hero-preset-card {
  display: grid !important;
  gap: 8px !important;
  padding: 9px !important;
  border: 1px solid #d8e1ee !important;
  border-radius: 14px !important;
  background: #fff !important;
  cursor: pointer !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

.vlg-hero-preset-card:hover,
.vlg-hero-preset-card.is-selected,
.vlg-hero-preset-card:has(input:checked) {
  border-color: var(--vlg-primary, #f28a00) !important;
  box-shadow: 0 10px 24px rgba(242,138,0,.12) !important;
  transform: translateY(-1px) !important;
}

.vlg-hero-preset-card input {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.vlg-hero-preset-card img,
.vlg-hero-preset-custom {
  width: 100% !important;
  aspect-ratio: 16 / 7 !important;
  border-radius: 10px !important;
  object-fit: cover !important;
  background: linear-gradient(135deg, #f8fafc, #fff4e5) !important;
}

.vlg-hero-preset-custom {
  display: grid !important;
  place-items: center !important;
  font-size: 34px !important;
  font-weight: 900 !important;
  color: var(--vlg-primary, #f28a00) !important;
  border: 1px dashed rgba(242,138,0,.35) !important;
}

.vlg-hero-preset-card strong {
  font-size: 12px !important;
  color: #142033 !important;
  line-height: 1.25 !important;
}

.vlg-cookie-notice {
  position: fixed !important;
  left: 22px !important;
  right: 22px !important;
  bottom: 20px !important;
  z-index: 99999 !important;
  width: min(920px, calc(100vw - 44px)) !important;
  margin: 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 16px 18px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(17,32,55,.12) !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 18px 50px rgba(7,18,36,.18) !important;
  backdrop-filter: blur(14px) !important;
}

.vlg-cookie-notice[hidden] { display: none !important; }
.vlg-cookie-notice p { margin: 0 !important; color: #243147 !important; font-size: 14px !important; line-height: 1.45 !important; }
.vlg-cookie-notice a { color: var(--vlg-primary, #f28a00) !important; font-weight: 800 !important; }
.vlg-cookie-notice__button {
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--vlg-primary, #f28a00) !important;
  color: #fff !important;
  font-weight: 900 !important;
  padding: 12px 18px !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}

@media (max-width: 900px) {
  .vlg-hero-preset-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .vlg-cookie-notice { flex-direction: column !important; align-items: flex-start !important; }
  .vlg-cookie-notice__button { width: 100% !important; }
}


/* === 14-contact-pro.css === */
/* =========================================================
   v2.1.3 — Professional contact page
   ========================================================= */
body .vlg-contact-page {
  padding-top: clamp(22px, 3vw, 44px);
}

body .vlg-contact-page-card {
  display: grid !important;
  gap: 22px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

body .vlg-contact-hero {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 420px);
  gap: clamp(18px, 3vw, 34px);
  align-items: stretch;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 20%, rgba(255, 179, 77, .34), transparent 30%),
    linear-gradient(135deg, #ffffff 0%, #fff8ef 52%, #f8fbff 100%) !important;
  border: 1px solid rgba(226, 232, 240, .95) !important;
  border-radius: 30px !important;
  box-shadow: 0 24px 70px rgba(15, 23, 42, .09) !important;
  padding: clamp(24px, 4vw, 42px) !important;
  margin: 0 !important;
}

body .vlg-contact-hero::before {
  content: "";
  position: absolute;
  inset: auto -80px -110px auto;
  width: 310px;
  height: 310px;
  border-radius: 999px;
  background: rgba(242, 138, 0, .10);
  pointer-events: none;
}

body .vlg-contact-hero-copy {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: center;
  justify-items: start;
}

body .vlg-contact-hero h1 {
  max-width: 760px;
  margin: 10px 0 12px !important;
  color: var(--vlg-dark);
  font-size: clamp(38px, 5vw, 68px) !important;
  line-height: .95 !important;
  letter-spacing: -.055em;
}

body .vlg-contact-hero p {
  max-width: 760px !important;
  color: #536179 !important;
  font-size: clamp(16px, 1.25vw, 20px) !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}

body .vlg-contact-hero-actions {
  display: flex !important;
  flex-wrap: wrap;
  gap: 12px !important;
  margin-top: 24px !important;
}

body .vlg-contact-hero-panel {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 12px;
  align-content: start;
  padding: 24px;
  border: 1px solid rgba(226, 232, 240, .92);
  border-radius: 24px;
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 18px 40px rgba(15, 23, 42, .08);
  backdrop-filter: blur(10px);
}

body .vlg-contact-hero-panel > span {
  display: inline-flex;
  justify-self: start;
  min-height: 28px;
  align-items: center;
  padding: 5px 12px;
  border-radius: 999px;
  background: rgba(242, 138, 0, .12);
  color: var(--vlg-primary-dark);
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .08em;
}

body .vlg-contact-hero-panel strong {
  color: var(--vlg-dark);
  font-size: 22px;
  line-height: 1.2;
}

body .vlg-contact-hero-panel ul,
body .vlg-contact-help-card ul {
  display: grid;
  gap: 10px;
  margin: 4px 0 0;
  padding: 0;
  list-style: none;
}

body .vlg-contact-hero-panel li,
body .vlg-contact-help-card li {
  position: relative;
  padding-left: 26px;
  color: #60708a;
  line-height: 1.45;
}

body .vlg-contact-hero-panel li::before,
body .vlg-contact-help-card li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(34, 197, 94, .14);
  color: #15803d;
  font-size: 11px;
  font-weight: 950;
}

body .vlg-contact-fast-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

body .vlg-contact-fast-card {
  min-height: 122px;
  display: grid;
  gap: 8px;
  align-content: start;
  padding: 18px;
  border: 1px solid rgba(226, 232, 240, .95);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(15, 23, 42, .055);
  color: var(--vlg-dark);
  text-decoration: none !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

body a.vlg-contact-fast-card:hover {
  transform: translateY(-3px);
  border-color: rgba(242, 138, 0, .35);
  box-shadow: 0 20px 42px rgba(15, 23, 42, .10);
}

body .vlg-contact-fast-card > span {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: linear-gradient(135deg, rgba(242, 138, 0, .16), rgba(255, 179, 77, .20));
  color: var(--vlg-primary-dark);
  font-size: 20px;
}

body .vlg-contact-fast-card strong {
  color: var(--vlg-dark);
  font-size: 16px;
}

body .vlg-contact-fast-card small {
  color: #65748b;
  font-size: 13px;
  line-height: 1.45;
  word-break: break-word;
}

body .vlg-contact-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, .55fr) !important;
  gap: 22px !important;
  align-items: start !important;
}

body .vlg-contact-main,
body .vlg-contact-side {
  display: grid !important;
  gap: 18px !important;
}

body .vlg-contact-content,
body .vlg-contact-form-card,
body .vlg-contact-map-card,
body .vlg-contact-info-card,
body .vlg-contact-cta-card,
body .vlg-contact-help-card,
body .vlg-contact-legal-card {
  border: 1px solid rgba(226, 232, 240, .95) !important;
  border-radius: 24px !important;
  background: #fff !important;
  box-shadow: 0 14px 40px rgba(15, 23, 42, .055) !important;
}

body .vlg-contact-content,
body .vlg-contact-form-card,
body .vlg-contact-map-card,
body .vlg-contact-help-card,
body .vlg-contact-legal-card,
body .vlg-contact-cta-card {
  padding: clamp(20px, 2.4vw, 30px) !important;
}

body .vlg-contact-card-head {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  margin-bottom: 18px;
}

body .vlg-contact-card-icon,
body .vlg-contact-info-icon {
  width: 54px !important;
  height: 54px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, rgba(242, 138, 0, .14), rgba(255, 179, 77, .20)) !important;
  color: var(--vlg-primary-dark) !important;
  font-size: 22px !important;
  box-shadow: inset 0 0 0 1px rgba(242, 138, 0, .08);
}

body .vlg-contact-form-card h2,
body .vlg-contact-map-card h2,
body .vlg-contact-content h2 {
  margin: 0 0 8px !important;
  color: var(--vlg-dark);
  font-size: clamp(24px, 2.2vw, 32px) !important;
  letter-spacing: -.03em;
}

body .vlg-contact-form-intro,
body .vlg-contact-copy p,
body .vlg-contact-help-card p,
body .vlg-contact-legal-card p,
body .vlg-contact-cta-card p {
  color: #65748b !important;
  line-height: 1.62 !important;
}

body .vlg-contact-form {
  display: grid !important;
  gap: 18px !important;
}

body .vlg-contact-form-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

body .vlg-contact-form label {
  display: grid !important;
  gap: 7px !important;
  color: var(--vlg-dark) !important;
  font-size: 13px;
  font-weight: 850 !important;
}

body .vlg-contact-form label span em {
  color: #dc2626;
  font-style: normal;
}

body .vlg-contact-form-full {
  grid-column: 1 / -1 !important;
}

body .vlg-contact-form input:not(.vlg-hp),
body .vlg-contact-form textarea,
body .vlg-contact-form select {
  width: 100% !important;
  min-height: 52px !important;
  border: 1px solid #dce5f0 !important;
  border-radius: 16px !important;
  background: #f8fafc !important;
  color: var(--vlg-dark) !important;
  padding: 13px 15px !important;
  font-size: 15px !important;
  outline: 0 !important;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

body .vlg-contact-form textarea {
  min-height: 168px !important;
  resize: vertical;
}

body .vlg-contact-form input:not(.vlg-hp):focus,
body .vlg-contact-form textarea:focus,
body .vlg-contact-form select:focus {
  border-color: rgba(242, 138, 0, .72) !important;
  background: #fff !important;
  box-shadow: 0 0 0 4px rgba(242, 138, 0, .12) !important;
}

body .vlg-contact-privacy {
  display: grid !important;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 10px !important;
  align-items: start;
  padding: 14px 16px;
  border: 1px solid rgba(226, 232, 240, .95);
  border-radius: 16px;
  background: #fbfdff;
  color: #65748b !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.5;
}

body .vlg-contact-privacy input {
  width: 18px;
  height: 18px;
  margin: 1px 0 0;
  accent-color: var(--vlg-primary);
}

body .vlg-contact-privacy a,
body .vlg-contact-legal-card a {
  color: var(--vlg-primary-dark) !important;
  font-weight: 850;
  text-decoration: none;
}

body .vlg-contact-submit-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 16px;
  align-items: center;
  justify-content: space-between;
}

body .vlg-contact-submit-row .vlg-btn {
  min-width: 180px;
}

body .vlg-contact-submit-row > span {
  color: #7b8799;
  font-size: 13px;
  font-weight: 650;
}

body .vlg-contact-info-card {
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) !important;
  gap: 14px !important;
  padding: 18px !important;
  align-items: start !important;
}

body .vlg-contact-info-card strong,
body .vlg-contact-cta-card strong,
body .vlg-contact-help-card strong,
body .vlg-contact-legal-card strong {
  display: block !important;
  color: var(--vlg-dark) !important;
  font-size: 17px !important;
  margin: 0 0 7px !important;
}

body .vlg-contact-info-card a,
body .vlg-contact-info-card span {
  color: #65748b !important;
  line-height: 1.45;
  word-break: break-word;
}

body .vlg-contact-help-card {
  position: relative;
  overflow: hidden;
  display: grid;
  gap: 10px;
  background:
    radial-gradient(circle at 100% 0%, rgba(242, 138, 0, .10), transparent 32%),
    #fff !important;
}

body .vlg-contact-cta-card {
  background: linear-gradient(135deg, #081326, #15233b) !important;
  color: #fff !important;
  overflow: hidden;
}

body .vlg-contact-cta-card strong,
body .vlg-contact-cta-card p {
  color: #fff !important;
}

body .vlg-contact-cta-card p {
  opacity: .78;
}

body .vlg-contact-cta-card .vlg-btn {
  width: 100%;
  justify-content: center;
}

body .vlg-contact-map-card {
  margin-top: 2px;
}

body .vlg-contact-map-embed {
  overflow: hidden;
  border-radius: 20px;
  background: #f1f5f9;
}

body .vlg-contact-map-embed iframe {
  display: block;
  width: 100% !important;
  min-height: clamp(320px, 40vw, 470px) !important;
  border: 0 !important;
  border-radius: 20px !important;
}

body .vlg-contact-notice {
  display: flex;
  gap: 10px;
  align-items: center;
  border-radius: 16px !important;
  padding: 13px 16px !important;
  font-weight: 850 !important;
  margin: 0 0 16px !important;
}

body .vlg-contact-notice::before {
  content: "✓";
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: currentColor;
  color: #fff;
  font-size: 12px;
}

body .vlg-contact-notice.is-error::before {
  content: "!";
}

body .vlg-hp {
  position: absolute !important;
  left: -9999px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

@media (max-width: 1100px) {
  body .vlg-contact-fast-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body .vlg-contact-layout,
  body .vlg-contact-hero {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 720px) {
  body .vlg-contact-page {
    padding-top: 14px;
  }
  body .vlg-contact-hero,
  body .vlg-contact-content,
  body .vlg-contact-form-card,
  body .vlg-contact-map-card,
  body .vlg-contact-help-card,
  body .vlg-contact-legal-card,
  body .vlg-contact-cta-card {
    border-radius: 20px !important;
    padding: 18px !important;
  }
  body .vlg-contact-hero h1 {
    font-size: clamp(34px, 13vw, 48px) !important;
  }
  body .vlg-contact-fast-grid,
  body .vlg-contact-form-grid {
    grid-template-columns: 1fr !important;
  }
  body .vlg-contact-card-head,
  body .vlg-contact-info-card {
    grid-template-columns: 46px minmax(0, 1fr) !important;
  }
  body .vlg-contact-card-icon,
  body .vlg-contact-info-icon {
    width: 46px !important;
    height: 46px !important;
    border-radius: 15px !important;
  }
  body .vlg-contact-submit-row {
    display: grid;
  }
  body .vlg-contact-submit-row .vlg-btn {
    width: 100%;
  }
}


/* === 15-pro-polish.css === */
/* ============================================================
 * v2.1.4 — final pro polish: cart notice, cards, header, mobile
 * ============================================================ */

/* Make the skip-link actually visible when keyboard users tab into the page. */
.skip-link.screen-reader-text:focus {
  clip: auto !important;
  clip-path: none !important;
  width: auto !important;
  height: auto !important;
  left: 16px !important;
  top: 16px !important;
  z-index: 999999 !important;
  padding: 12px 16px !important;
  background: var(--vlg-dark, #071224) !important;
  color: #fff !important;
  border-radius: 12px !important;
  box-shadow: 0 16px 38px rgba(15, 23, 42, .28) !important;
}

/* Cart notice: remove Woo/blockUI remnants and keep the green icon clean. */
.woocommerce-cart .woocommerce-notices-wrapper > .blockUI,
.woocommerce-cart .woocommerce-notices-wrapper > .blockOverlay,
.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message > .blockUI,
.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message > .blockOverlay,
.woocommerce-cart .woocommerce-notices-wrapper .loader,
.woocommerce-cart .woocommerce-notices-wrapper .loading,
.woocommerce-cart .woocommerce-notices-wrapper [class*="spinner"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  pointer-events: none !important;
}

.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error {
  isolation: isolate !important;
  padding-left: 58px !important;
  min-height: 58px !important;
  line-height: 1.45 !important;
}

.woocommerce-cart .woocommerce-message::before,
.woocommerce-cart .woocommerce-info::before,
.woocommerce-cart .woocommerce-error::before {
  left: 18px !important;
  z-index: 1 !important;
  box-sizing: border-box !important;
}

.woocommerce-cart .woocommerce-message > *,
.woocommerce-cart .woocommerce-info > *,
.woocommerce-cart .woocommerce-error > * {
  position: relative !important;
  z-index: 2 !important;
}

.woocommerce-cart .woocommerce-message a.restore-item,
.woocommerce-cart .woocommerce-message .button.wc-forward {
  white-space: nowrap !important;
}

/* Cart table: keep content aligned and mobile-safe. */
.woocommerce-cart table.cart td.product-name a,
.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart td.product-subtotal {
  color: var(--vlg-dark, #071224) !important;
  font-weight: 850 !important;
}
.woocommerce-cart table.cart td.product-name a:hover { color: var(--vlg-primary, #f28a00) !important; }
.woocommerce-cart table.cart img { border-radius: 12px !important; background: #fff !important; }
.woocommerce-cart .cart_totals h2 { font-size: clamp(22px, 3vw, 28px) !important; margin-top: 0 !important; }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button { width: 100% !important; text-align: center !important; }

/* Product cards: equal rhythm, better hover, and no button hanging outside the card. */
.vlg-product-card,
ul.products li.product.vlg-product-card,
.vlg-latest-showcase .vlg-product-card {
  display: flex !important;
  flex-direction: column !important;
  min-height: 100% !important;
  overflow: hidden !important;
}
.vlg-product-card .vlg-card-body,
ul.products li.product.vlg-product-card .vlg-card-body {
  flex: 1 1 auto !important;
}
.vlg-product-card .vlg-card-actions,
ul.products li.product.vlg-product-card .vlg-card-actions,
.vlg-latest-showcase .vlg-product-card .vlg-card-actions {
  margin-top: auto !important;
  position: static !important;
  transform: none !important;
  padding: 12px 14px 16px !important;
}
.vlg-product-card .button,
.vlg-product-card .vlg-card-cart,
ul.products li.product.vlg-product-card .button {
  min-height: 48px !important;
  border-radius: 14px !important;
}
.vlg-product-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 20px 48px rgba(15, 23, 42, .10) !important;
}

/* Latest section: give enough breathing room when product cards are shown in a horizontal showcase. */
.vlg-latest-showcase,
.vlg-section-latest,
.vlg-home-latest {
  overflow: visible !important;
  padding-bottom: 34px !important;
}
.vlg-latest-showcase .products,
.vlg-section-latest .products {
  align-items: stretch !important;
}

/* Header and search polish. */
.vlg-site-header { z-index: 1000 !important; }
.vlg-search input[type="search"],
.vlg-search input[type="text"] {
  text-overflow: ellipsis !important;
}
.vlg-search button,
.vlg-btn,
.vlg-card-actions .button,
.single_add_to_cart_button,
.checkout-button,
#place_order {
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease, background-color .18s ease !important;
}
.vlg-search button:hover,
.vlg-btn:hover,
.vlg-card-actions .button:hover,
.single_add_to_cart_button:hover,
.checkout-button:hover,
#place_order:hover {
  transform: translateY(-1px) !important;
}

/* Forms: more consistent field spacing and visible validation. */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.vlg-contact-form input,
.vlg-contact-form textarea,
.vlg-contact-form select {
  font-size: 15px !important;
}
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select,
.woocommerce form .form-row.woocommerce-invalid textarea {
  border-color: #ef4444 !important;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, .12) !important;
}
.woocommerce form .form-row.woocommerce-validated input.input-text,
.woocommerce form .form-row.woocommerce-validated select,
.woocommerce form .form-row.woocommerce-validated textarea {
  border-color: #84cc16 !important;
}

/* Contact page: make info cards and form look stable with long texts. */
.vlg-contact-card,
.vlg-contact-pro-card,
.vlg-contact-form-card {
  overflow-wrap: anywhere !important;
}
.vlg-contact-form button[type="submit"] {
  min-height: 52px !important;
}

/* Admin hero preset cards: make the chosen preset obvious. */
.vlg-hero-preset-card:has(input:checked),
.vlg-hero-preset-card.is-active {
  border-color: var(--vlg-primary, #f28a00) !important;
  box-shadow: 0 0 0 3px rgba(242, 138, 0, .14) !important;
}
.vlg-admin-panel details[open] > summary {
  color: var(--vlg-primary, #f28a00) !important;
}

@media (max-width: 900px) {
  .vlg-main-header-inner {
    gap: 10px !important;
  }
  .vlg-header-actions {
    gap: 8px !important;
  }
  .vlg-account-link small,
  .vlg-wishlist-link span:not(.vlg-icon):not(.vlg-badge),
  .vlg-cart-link small {
    display: none !important;
  }
  .woocommerce-cart .woocommerce-message,
  .woocommerce-cart .woocommerce-info,
  .woocommerce-cart .woocommerce-error {
    align-items: flex-start !important;
    padding-right: 14px !important;
  }
}

@media (max-width: 640px) {
  .vlg-latest-showcase,
  .vlg-section-latest,
  .vlg-home-latest {
    padding-bottom: 22px !important;
  }
  .woocommerce-cart .woocommerce-message,
  .woocommerce-cart .woocommerce-info,
  .woocommerce-cart .woocommerce-error {
    display: block !important;
    padding-left: 52px !important;
    font-size: 14px !important;
  }
  .woocommerce-cart .woocommerce-message a.restore-item,
  .woocommerce-cart .woocommerce-message .button.wc-forward {
    display: inline-block !important;
    margin-top: 4px !important;
  }
}


/* === 16-final-commerce-seo.css === */
/* ============================================================
 * v2.1.5 — final commerce/SEO polish
 * ============================================================ */

/* WooCommerce notices: eliminate the small leftover overlay/loader box seen on cart updates. */
.woocommerce-notices-wrapper .blockUI,
.woocommerce-notices-wrapper .blockOverlay,
.woocommerce-notices-wrapper .wc-block-components-spinner,
.woocommerce-notices-wrapper .woocommerce-spinner,
.woocommerce-notices-wrapper [class*="spinner"],
.woocommerce-notices-wrapper [class*="loading"],
.woocommerce-notices-wrapper [style*="z-index: 1000"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  min-width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-radius: 18px !important;
  border: 1px solid #e6eef7 !important;
  box-shadow: 0 12px 34px rgba(15, 23, 42, .055) !important;
}

.woocommerce-message::before {
  display: grid !important;
  place-items: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 999px !important;
  background: #69b72f !important;
  color: #fff !important;
  line-height: 1 !important;
}

/* Cart page shipping methods: make the default WooCommerce list look like selectable cards. */
.woocommerce-cart .cart_totals .woocommerce-shipping-methods,
.woocommerce-cart .cart_totals #shipping_method {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 10px 0 !important;
}

.woocommerce-cart .cart_totals .woocommerce-shipping-methods li,
.woocommerce-cart .cart_totals #shipping_method li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 13px 14px !important;
  border: 1px solid #e1eaf5 !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .035) !important;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease, transform .18s ease !important;
}

.woocommerce-cart .cart_totals .woocommerce-shipping-methods li:hover,
.woocommerce-cart .cart_totals #shipping_method li:hover {
  transform: translateY(-1px) !important;
  border-color: var(--vlg-primary, #f28a00) !important;
}

.woocommerce-cart .cart_totals .woocommerce-shipping-methods li:has(input:checked),
.woocommerce-cart .cart_totals #shipping_method li:has(input:checked),
.woocommerce-cart .cart_totals .woocommerce-shipping-methods li.vlg-is-checked,
.woocommerce-cart .cart_totals #shipping_method li.vlg-is-checked {
  border-color: var(--vlg-primary, #f28a00) !important;
  background: linear-gradient(135deg, rgba(242, 138, 0, .075), #fff) !important;
  box-shadow: 0 0 0 3px rgba(242, 138, 0, .13), 0 12px 24px rgba(15, 23, 42, .055) !important;
}

.woocommerce-cart .cart_totals .woocommerce-shipping-methods input[type="radio"],
.woocommerce-cart .cart_totals #shipping_method input[type="radio"] {
  margin-top: 2px !important;
  flex: 0 0 auto !important;
}

.woocommerce-cart .cart_totals .woocommerce-shipping-methods label,
.woocommerce-cart .cart_totals #shipping_method label {
  flex: 1 1 auto !important;
  cursor: pointer !important;
  line-height: 1.35 !important;
  color: var(--vlg-text, #172033) !important;
}

.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
.woocommerce-cart .cart_totals .woocommerce-shipping-calculator {
  color: var(--vlg-muted, #697589) !important;
  font-size: 13px !important;
}

/* Product cards: stronger image containment and consistent price/button rhythm. */
.vlg-product-card .vlg-card-image,
ul.products li.product .vlg-card-image,
ul.products li.product a img {
  isolation: isolate !important;
}

.vlg-product-card .vlg-card-image img,
ul.products li.product img {
  object-fit: contain !important;
}

.vlg-product-card .price,
ul.products li.product .price {
  margin-top: auto !important;
  min-height: 28px !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  flex-wrap: wrap !important;
}

/* Header: prevent layout jumps from long search text or cart totals. */
.vlg-main-header-inner,
.vlg-header-actions,
.vlg-cart-link {
  min-width: 0 !important;
}
.vlg-cart-link strong,
.vlg-cart-link span,
.vlg-account-link strong,
.vlg-account-link span {
  white-space: nowrap !important;
}

/* Footer/legal links: make compliance links easier to tap and scan. */
.vlg-footer a,
.site-footer a {
  text-underline-offset: 3px !important;
}
.vlg-footer a:focus-visible,
.site-footer a:focus-visible,
.vlg-btn:focus-visible,
.button:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(242, 138, 0, .35) !important;
  outline-offset: 3px !important;
}

/* Cookie notice: compact, readable, and safely above bottom mobile bars. */
.vlg-cookie-notice {
  position: fixed !important;
  left: max(16px, env(safe-area-inset-left)) !important;
  right: max(16px, env(safe-area-inset-right)) !important;
  bottom: max(16px, env(safe-area-inset-bottom)) !important;
  z-index: 99998 !important;
  width: min(720px, calc(100vw - 32px)) !important;
  margin: 0 auto !important;
  padding: 16px !important;
  display: flex !important;
  gap: 14px !important;
  align-items: center !important;
  justify-content: space-between !important;
  border: 1px solid #e2eaf4 !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.96) !important;
  backdrop-filter: blur(12px) !important;
  box-shadow: 0 22px 60px rgba(15, 23, 42, .18) !important;
}
.vlg-cookie-notice[hidden] { display: none !important; }
.vlg-cookie-notice p { margin: 0 !important; color: var(--vlg-text, #172033) !important; font-size: 14px !important; line-height: 1.45 !important; }
.vlg-cookie-notice__button { flex: 0 0 auto !important; min-height: 42px !important; padding: 10px 16px !important; border: 0 !important; border-radius: 12px !important; background: var(--vlg-primary, #f28a00) !important; color: #fff !important; font-weight: 900 !important; cursor: pointer !important; }

@media (max-width: 900px) {
  .woocommerce-cart .cart_totals .woocommerce-shipping-methods,
  .woocommerce-cart .cart_totals #shipping_method {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  .vlg-cookie-notice {
    align-items: stretch !important;
    flex-direction: column !important;
  }
  .vlg-cookie-notice__button {
    width: 100% !important;
  }
}


/* === 17-quality-audit-accessibility.css === */
/*
 * Valgusallikad v2.1.6 — quality, accessibility and commerce polish
 */
:root{
  --vlg-focus-ring: 0 0 0 3px rgba(242,138,0,.24), 0 0 0 1px var(--vlg-primary);
}
.vlg-theme a:focus-visible,
.vlg-theme button:focus-visible,
.vlg-theme input:focus-visible,
.vlg-theme select:focus-visible,
.vlg-theme textarea:focus-visible,
.vlg-theme [tabindex]:focus-visible{
  outline:0!important;
  box-shadow:var(--vlg-focus-ring)!important;
}
.vlg-theme .skip-link:focus{
  left:16px;
  top:16px;
  z-index:99999;
  width:auto;
  height:auto;
  padding:12px 16px;
  border-radius:999px;
  background:#fff;
  color:var(--vlg-dark);
  box-shadow:0 18px 44px rgba(15,23,42,.20);
}
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error{
  position:relative;
  overflow:hidden;
}
body.woocommerce-cart .woocommerce-message .blockUI,
body.woocommerce-cart .woocommerce-message .blockOverlay,
body.woocommerce-cart .woocommerce-info .blockUI,
body.woocommerce-cart .woocommerce-info .blockOverlay,
body.woocommerce-cart .woocommerce-error .blockUI,
body.woocommerce-cart .woocommerce-error .blockOverlay,
.vlg-cleanup-hidden{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
.woocommerce .woocommerce-notices-wrapper:empty,
.woocommerce .woocommerce-notices-wrapper:has(.vlg-cleanup-hidden:only-child){
  display:none;
}
.vlg-cookie-notice{
  position:fixed;
  z-index:9999;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  width:min(760px,calc(100vw - 32px));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:16px 18px;
  border:1px solid rgba(148,163,184,.35);
  border-radius:22px;
  background:rgba(255,255,255,.96);
  box-shadow:0 24px 70px rgba(15,23,42,.18);
  backdrop-filter:blur(14px);
}
.vlg-cookie-notice[hidden]{display:none!important;}
body.vlg-theme .vlg-cookie-notice[hidden],
body.vlg-theme .vlg-cookie-notice[data-vlg-cookie-dismissed="1"]{display:none!important;visibility:hidden!important;pointer-events:none!important;}

.vlg-cookie-notice p{margin:0;color:#334155;font-size:14px;line-height:1.45;}
.vlg-cookie-notice a{font-weight:800;color:var(--vlg-primary);}
.vlg-cookie-notice__button{
  border:0;
  border-radius:999px;
  padding:12px 18px;
  font-weight:900;
  color:#fff;
  background:linear-gradient(135deg,var(--vlg-primary),var(--vlg-primary-2));
  cursor:pointer;
  white-space:nowrap;
}
.vlg-product-card,
.woocommerce ul.products li.product{
  min-width:0;
}
.woocommerce ul.products li.product .button,
.vlg-product-card .button,
.vlg-product-card .add_to_cart_button{
  touch-action:manipulation;
}
.woocommerce ul.products li.product .button.loading,
.vlg-product-card .button.loading{
  cursor:progress;
  opacity:.78;
}
.woocommerce ul.products li.product .button.loading::after,
.vlg-product-card .button.loading::after{
  content:'…';
  margin-left:6px;
}
.vlg-page-product .summary .price{
  letter-spacing:-.02em;
}
.vlg-page-cart .cart_totals,
.vlg-page-checkout .woocommerce-checkout-review-order{
  scroll-margin-top:110px;
}
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select,
.woocommerce form .form-row.woocommerce-invalid textarea{
  border-color:#dc2626!important;
  box-shadow:0 0 0 4px rgba(220,38,38,.08)!important;
}
.woocommerce form .form-row.woocommerce-validated input.input-text,
.woocommerce form .form-row.woocommerce-validated select,
.woocommerce form .form-row.woocommerce-validated textarea{
  border-color:#22c55e!important;
}
.vlg-search-suggestions,
.vlg-mini-cart-panel,
.vlg-cat-dropdown-panel{
  will-change:transform,opacity;
}
@media (max-width:700px){
  .vlg-cookie-notice{align-items:stretch;flex-direction:column;border-radius:18px;bottom:10px;width:calc(100vw - 20px);}
  .vlg-cookie-notice__button{width:100%;}
  .woocommerce-cart table.shop_table td.product-quantity input.qty{min-width:74px;}
}
@media (prefers-reduced-motion:reduce){
  .vlg-theme *,
  .vlg-theme *::before,
  .vlg-theme *::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
  }
}


/* === 18-hero-views.css === */
/* =========================================================
   v2.1.8 — Hero view presets
   Adds selectable hero compositions without changing content fields.
   ========================================================= */
.vlg-hero-view-premium-split {
  position: relative !important;
  overflow: hidden !important;
}
.vlg-hero-view-premium-split::after,
.vlg-hero-view-product-showcase::after,
.vlg-hero-view-category-tiles::after {
  content: "";
  position: absolute;
  inset: auto -120px -150px auto;
  width: 360px;
  height: 360px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(242,138,0,.30), rgba(242,138,0,0) 68%);
  pointer-events: none;
  z-index: 0;
}
.vlg-hero > * {
  position: relative;
  z-index: 1;
}
.vlg-hero-view-premium-split .vlg-hero-benefits,
.vlg-hero-view-product-showcase .vlg-hero-showcase,
.vlg-hero-view-category-tiles .vlg-hero-category-tiles {
  align-self: stretch !important;
}
.vlg-hero-view-premium-split .vlg-hero-benefits {
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(255,255,255,.68) !important;
  box-shadow: 0 22px 54px rgba(0,0,0,.20) !important;
  backdrop-filter: blur(12px) !important;
}
.vlg-hero-view-premium-split .vlg-hero-benefits strong,
.vlg-hero-view-premium-split .vlg-hero-benefits small {
  color: #101827 !important;
}
.vlg-hero-view-glass-card .vlg-hero-content {
  box-shadow: 0 26px 70px rgba(0,0,0,.26) !important;
}
.vlg-hero-view-centered-campaign {
  place-items: center !important;
  text-align: center !important;
  padding-block: clamp(48px, 7vw, 96px) !important;
}
.vlg-hero-view-centered-campaign .vlg-hero-content {
  max-width: min(var(--vlg-hero-text-width, 760px), 100%) !important;
  margin-inline: auto !important;
}
.vlg-hero-view-centered-campaign .vlg-kicker {
  margin-inline: auto !important;
}
.vlg-hero-view-centered-campaign h1 {
  font-size: clamp(34px, 5.7vw, 70px) !important;
  letter-spacing: -.055em !important;
}
.vlg-hero-view-centered-campaign .vlg-hero-actions {
  justify-content: center !important;
}
.vlg-hero-view-product-showcase {
  grid-template-columns: minmax(0, 1.05fr) minmax(300px, .72fr) !important;
  gap: clamp(22px, 4vw, 54px) !important;
}
.vlg-hero-showcase {
  display: grid;
  gap: 12px;
  align-content: center;
  border-radius: 28px;
  padding: clamp(14px, 2vw, 22px);
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(255,255,255,.76);
  box-shadow: 0 24px 64px rgba(0,0,0,.22);
  backdrop-filter: blur(14px);
  color: #121827;
}
.vlg-hero-showcase-head {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #121827;
  font-size: 13px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.vlg-hero-showcase-head span {
  width: 30px;
  height: 30px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, var(--vlg-primary), #d96b00);
}
.vlg-hero-product-mini,
.vlg-hero-showcase-fallback-item {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 86px;
  border-radius: 18px;
  padding: 10px;
  background: #fff;
  color: #111827 !important;
  text-decoration: none !important;
  border: 1px solid rgba(15,23,42,.08);
}
.vlg-hero-product-mini:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(15,23,42,.12);
}
.vlg-hero-product-mini-img {
  width: 74px;
  height: 74px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: #f8fafc;
  overflow: hidden;
}
.vlg-hero-product-mini-img img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.vlg-hero-product-mini strong,
.vlg-hero-showcase-fallback-item strong {
  display: block;
  color: #111827;
  font-size: 14px;
  line-height: 1.22;
}
.vlg-hero-product-mini small,
.vlg-hero-showcase-fallback-item small {
  display: block;
  margin-top: 5px;
  color: var(--vlg-primary);
  font-weight: 950;
}
.vlg-hero-showcase-fallback-item {
  grid-template-columns: 44px minmax(0, 1fr);
}
.vlg-hero-showcase-fallback-item > span {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: #fff7ed;
}
.vlg-hero-view-category-tiles {
  grid-template-columns: minmax(0, .95fr) minmax(320px, .82fr) !important;
  gap: clamp(22px, 4vw, 54px) !important;
}
.vlg-hero-category-tiles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-content: center;
}
.vlg-hero-category-tiles a {
  min-height: 118px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 10px;
  padding: 17px;
  border-radius: 22px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(255,255,255,.78);
  color: #111827 !important;
  text-decoration: none !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.14);
  backdrop-filter: blur(10px);
}
.vlg-hero-category-tiles a:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 54px rgba(0,0,0,.19);
}
.vlg-hero-category-tiles span {
  width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, var(--vlg-primary), #d96b00);
}
.vlg-hero-category-tiles strong {
  display: block;
  font-size: 16px;
  line-height: 1.18;
}
.vlg-hero-category-tiles small {
  color: #667085;
  font-weight: 800;
}
.vlg-hero-view-compact-strip {
  min-height: 190px !important;
  grid-template-columns: minmax(0, 1fr) !important;
  padding-block: clamp(22px, 4vw, 38px) !important;
}
.vlg-hero-view-compact-strip .vlg-hero-content {
  max-width: 100% !important;
  display: flex;
  flex-wrap: wrap;
  gap: 10px clamp(14px, 3vw, 30px);
  align-items: center;
  justify-content: space-between;
}
.vlg-hero-view-compact-strip .vlg-kicker,
.vlg-hero-view-compact-strip p {
  width: 100%;
}
.vlg-hero-view-compact-strip .vlg-kicker,
.vlg-hero-view-compact-strip h1,
.vlg-hero-view-compact-strip p {
  margin: 0 !important;
}
.vlg-hero-view-compact-strip h1 {
  font-size: clamp(26px, 3.8vw, 44px) !important;
}
.vlg-hero-view-compact-strip .vlg-hero-actions {
  margin: 0 !important;
  justify-content: flex-end !important;
  white-space: nowrap;
}
.vlg-hero-view-compact-strip .vlg-hero-payments {
  width: 100%;
  margin-top: 0 !important;
}
.vlg-hero-view-classic .vlg-hero-benefits {
  backdrop-filter: blur(8px);
}
.vlg-hero-view-grid {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.vlg-hero-view-card {
  display: grid;
  gap: 8px;
  padding: 14px;
  min-height: 150px;
  border-radius: 18px;
  border: 1px solid #dbe3ef;
  background: #fff;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(15,23,42,.04);
}
.vlg-hero-view-card:hover,
.vlg-hero-view-card.is-selected,
.vlg-hero-view-card:has(input:checked) {
  border-color: var(--vlg-primary);
  box-shadow: 0 16px 34px rgba(242,138,0,.14);
}
.vlg-hero-view-card input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.vlg-hero-view-icon {
  width: 42px;
  height: 42px;
  display: inline-grid;
  place-items: center;
  border-radius: 14px;
  color: #fff;
  background: linear-gradient(135deg, var(--vlg-primary), #d96b00);
  font-size: 22px;
  font-weight: 900;
}
.vlg-hero-view-card strong {
  color: #101827;
  font-weight: 950;
}
.vlg-hero-view-card small {
  color: #667085;
  line-height: 1.35;
}
.vlg-admin-hero-preview-view-compact-strip {
  min-height: 120px !important;
}
.vlg-admin-hero-preview-view-centered-campaign .vlg-admin-preview-inner {
  margin-inline: auto;
  text-align: center;
}
@media (max-width: 1100px) {
  .vlg-hero-view-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .vlg-hero-view-product-showcase,
  .vlg-hero-view-category-tiles {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 767px) {
  .vlg-hero-view-centered-campaign {
    text-align: left !important;
    place-items: stretch !important;
  }
  .vlg-hero-view-centered-campaign .vlg-hero-content {
    margin-inline: 0 !important;
  }
  .vlg-hero-view-centered-campaign .vlg-hero-actions {
    justify-content: flex-start !important;
  }
  .vlg-hero-showcase,
  .vlg-hero-category-tiles {
    display: none !important;
  }
  .vlg-hero-view-compact-strip .vlg-hero-content {
    display: block;
  }
  .vlg-hero-view-compact-strip .vlg-hero-actions {
    justify-content: flex-start !important;
    white-space: normal;
  }
  .vlg-hero-view-grid {
    grid-template-columns: 1fr;
  }
}


/* === 23-mobile-category-admin-fix.css === */
/* v2.2.4 — mobile category/menu stacking + admin category sorter */
.vlg-site-header,
.vlg-main-header,
.vlg-nav {
  position: relative;
  z-index: 3000;
}

.vlg-category-menu {
  position: relative;
  z-index: 3010;
}

.vlg-category-dropdown {
  z-index: 3020 !important;
  max-height: min(72vh, 560px);
  overflow: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.vlg-category-dropdown .vlg-cat-dropdown-list,
.vlg-category-dropdown ul {
  margin: 0;
}

.vlg-home .vlg-hero,
.vlg-hero {
  position: relative;
  z-index: 1;
  isolation: isolate;
}

@media (max-width: 782px) {
  body.vlg-menu-open {
    overflow: hidden;
  }

  .vlg-mobile-backdrop {
    z-index: 3980 !important;
  }

  .vlg-nav.is-open {
    position: fixed !important;
    left: 8px !important;
    right: 8px !important;
    top: calc(var(--wp-admin--admin-bar--height, 0px) + 74px) !important;
    bottom: auto !important;
    display: block !important;
    max-height: calc(100dvh - var(--wp-admin--admin-bar--height, 0px) - 86px) !important;
    overflow: auto !important;
    z-index: 4010 !important;
    border: 1px solid rgba(207, 219, 233, .95) !important;
    border-radius: 20px !important;
    background: rgba(255,255,255,.98) !important;
    box-shadow: 0 22px 70px rgba(7, 18, 36, .26) !important;
    transform: none !important;
  }

  body.admin-bar .vlg-nav.is-open {
    top: calc(var(--wp-admin--admin-bar--height, 46px) + 74px) !important;
    max-height: calc(100dvh - var(--wp-admin--admin-bar--height, 46px) - 86px) !important;
  }

  .vlg-nav.is-open .vlg-nav-inner {
    padding: 12px !important;
    gap: 12px !important;
  }

  .vlg-nav.is-open .vlg-category-menu,
  .vlg-nav.is-open .vlg-category-button {
    width: 100% !important;
  }

  .vlg-nav.is-open .vlg-category-dropdown {
    position: static !important;
    display: block !important;
    width: 100% !important;
    max-height: min(58dvh, 520px) !important;
    margin-top: 10px !important;
    padding: 10px !important;
    border-radius: 16px !important;
    box-shadow: inset 0 0 0 1px rgba(207, 219, 233, .7) !important;
    background: #fff !important;
    overflow: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  .vlg-nav.is-open .vlg-cat-dropdown-list a {
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-radius: 12px;
  }
}

.vlg-category-sorter-field {
  grid-column: 1 / -1;
}
.vlg-category-sorter-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 8px 0 10px;
}
.vlg-category-sorter {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 10px;
  max-height: 420px;
  overflow: auto;
  border: 1px solid #d8e3ef;
  border-radius: 14px;
  background: #f8fafc;
}
.vlg-category-sorter li {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #dbe6f2;
  border-radius: 12px;
  background: #fff;
  cursor: grab;
}
.vlg-category-sorter li.is-dragging {
  opacity: .55;
  cursor: grabbing;
}
.vlg-category-sorter .dashicons-move {
  color: #f28a00;
  cursor: grab;
}
.vlg-category-sorter label {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  margin: 0;
}
.vlg-category-sorter strong {
  min-width: 0;
  overflow-wrap: anywhere;
}
.vlg-category-sorter small {
  margin-left: auto;
  color: #64748b;
  white-space: nowrap;
}
@media (max-width: 720px) {
  .vlg-category-sorter li { grid-template-columns: 24px 1fr; }
  .vlg-category-sorter label { align-items: flex-start; flex-direction: column; gap: 5px; }
  .vlg-category-sorter small { margin-left: 0; white-space: normal; }
}


/* === 25-mobile-professional.css === */
/* =========================================================
   v2.2.6 — Mobile Professional View
   Fixes the large white mobile overlay/blank area and calms the
   mobile hero so the first screen looks clean and premium.
   ========================================================= */

@media (max-width: 900px) {
  /* Closed mobile navigation must not reserve space or cover the hero. Older
     off-canvas rules kept the drawer in the viewport and could create a large
     white panel above the hero on some mobile Chrome/Admin Bar combinations. */
  .vlg-nav:not(.is-open) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateX(-110%) !important;
  }

  .vlg-nav.is-open {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    top: calc(var(--wp-admin--admin-bar--height, 0px) + 112px) !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: min(68dvh, 540px) !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch;
    transform: none !important;
    border: 1px solid rgba(216, 226, 238, .98) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, .98) !important;
    box-shadow: 0 24px 70px rgba(7, 18, 36, .22) !important;
    backdrop-filter: blur(12px) saturate(140%);
    z-index: 5000 !important;
  }

  body.admin-bar .vlg-nav.is-open {
    top: calc(var(--wp-admin--admin-bar--height, 46px) + 112px) !important;
    max-height: calc(100dvh - var(--wp-admin--admin-bar--height, 46px) - 126px) !important;
  }

  .vlg-nav.is-open .vlg-nav-inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    padding: 12px !important;
    margin: 0 !important;
  }

  .vlg-nav.is-open .vlg-category-menu,
  .vlg-nav.is-open .vlg-category-button,
  .vlg-nav.is-open .vlg-primary-menu {
    width: 100% !important;
    min-width: 0 !important;
  }

  .vlg-nav.is-open .vlg-category-button {
    justify-content: space-between !important;
    min-height: 48px !important;
    padding: 0 15px !important;
    border-radius: 14px !important;
    box-shadow: none !important;
  }

  .vlg-nav.is-open .vlg-primary-menu {
    display: grid !important;
    gap: 4px !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
  }

  .vlg-nav.is-open .vlg-primary-menu > li > a {
    display: flex !important;
    align-items: center !important;
    min-height: 46px !important;
    padding: 0 14px !important;
    border-radius: 13px !important;
    background: #f8fafc !important;
    color: #0f172a !important;
    text-decoration: none !important;
  }

  .vlg-nav.is-open .vlg-primary-menu > li.current-menu-item > a,
  .vlg-nav.is-open .vlg-primary-menu > li > a:hover,
  .vlg-nav.is-open .vlg-primary-menu > li > a:focus-visible {
    background: #fff7ed !important;
    color: #c76300 !important;
  }

  .vlg-nav.is-open .vlg-category-dropdown {
    position: static !important;
    display: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    width: 100% !important;
    max-height: min(52dvh, 420px) !important;
    margin: 8px 0 0 !important;
    padding: 8px !important;
    overflow: auto !important;
    border: 1px solid rgba(216, 226, 238, .95) !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown,
  .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown {
    display: block !important;
  }

  .vlg-nav.is-open .vlg-cat-dropdown-list a,
  .vlg-nav.is-open .vlg-category-dropdown a {
    min-height: 44px !important;
    padding: 10px 12px !important;
    border-radius: 12px !important;
  }

  .vlg-mobile-backdrop:not([hidden]) {
    position: fixed !important;
    inset: 0 !important;
    display: block !important;
    background: rgba(7, 18, 36, .28) !important;
    z-index: 4990 !important;
  }
}

@media (max-width: 767px) {
  html,
  body {
    overflow-x: hidden !important;
  }

  body.vlg-theme,
  body {
    background: #f5f7fb !important;
  }

  .vlg-site-header {
    margin-bottom: 0 !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 1px 0 rgba(15, 23, 42, .07) !important;
  }

  .vlg-main-header {
    background: #fff !important;
  }

  .vlg-main-header-inner {
    width: min(100% - 18px, var(--vlg-container, 1320px)) !important;
    min-height: 58px !important;
    padding-top: 5px !important;
    padding-bottom: 7px !important;
    gap: 7px !important;
  }

  .vlg-header-brand-row {
    min-width: 0 !important;
  }

  .vlg-mobile-toggle {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    border-radius: 10px !important;
    background: #fff !important;
    border: 1px solid #dbe5f1 !important;
    box-shadow: 0 4px 12px rgba(15, 23, 42, .05) !important;
  }

  .vlg-brand .custom-logo,
  .custom-logo {
    max-width: 150px !important;
    max-height: 34px !important;
  }

  .vlg-cart-link {
    min-width: 38px !important;
    min-height: 38px !important;
    border-radius: 12px !important;
  }

  .vlg-header-search {
    grid-column: 1 / -1 !important;
    margin-top: 3px !important;
    margin-bottom: 0 !important;
  }

  .vlg-search {
    min-height: 40px !important;
    padding: 3px 4px 3px 11px !important;
    border-radius: 14px !important;
    border-color: #dfe7f1 !important;
    background: #fff !important;
    box-shadow: 0 7px 20px rgba(15, 23, 42, .045) !important;
  }

  .vlg-search input[type="search"] {
    height: 30px !important;
    font-size: 13px !important;
  }

  .vlg-search button {
    min-height: 32px !important;
    padding: 0 12px !important;
    border-radius: 11px !important;
    font-size: 12px !important;
    box-shadow: none !important;
  }

  .vlg-home,
  main.vlg-home,
  .site-main.vlg-home {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  .vlg-home > .vlg-container,
  .site-main.vlg-home > .vlg-container {
    width: min(100% - 18px, var(--vlg-container, 1320px)) !important;
    padding-top: 10px !important;
  }

  /* Calm, compact mobile hero. Desktop can still use the rich background image,
     but phone first screen should not look noisy or push content below the fold. */
  .vlg-home .vlg-hero,
  .site-main.vlg-home .vlg-hero,
  .vlg-hero {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 0 12px !important;
    padding: 20px 18px 18px !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    color: #fff !important;
    background-color: #071224 !important;
    background-image:
      linear-gradient(135deg, rgba(7,18,36,.98) 0%, rgba(17,31,53,.96) 56%, rgba(242,138,0,.82) 145%) !important;
    background-size: cover !important;
    background-position: center !important;
    box-shadow: 0 16px 36px rgba(7, 18, 36, .16) !important;
  }

  .vlg-hero::before,
  .vlg-hero::after,
  .vlg-hero-view-premium-split::after,
  .vlg-hero-view-product-showcase::after,
  .vlg-hero-view-category-tiles::after {
    display: none !important;
    content: none !important;
  }

  .vlg-hero-content,
  .vlg-hero-content-card .vlg-hero-content {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }

  .vlg-hero .vlg-kicker {
    display: inline-flex !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 0 8px !important;
    padding: 5px 9px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .10) !important;
    color: #ffb45a !important;
    font-size: 10px !important;
    line-height: 1.15 !important;
    letter-spacing: .10em !important;
    white-space: normal !important;
  }

  .vlg-hero h1 {
    max-width: 100% !important;
    margin: 0 0 8px !important;
    color: #fff !important;
    font-size: clamp(28px, 8vw, 34px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.045em !important;
    text-shadow: none !important;
  }

  .vlg-hero p {
    max-width: 100% !important;
    margin: 0 0 13px !important;
    color: rgba(238, 244, 252, .92) !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  .vlg-hero-actions {
    display: flex !important;
    margin: 0 !important;
    gap: 8px !important;
  }

  .vlg-hero-actions .vlg-btn-primary,
  .vlg-hero-actions .vlg-btn,
  .vlg-hero .vlg-btn {
    width: 100% !important;
    min-height: 42px !important;
    justify-content: center !important;
    padding: 0 14px !important;
    border-radius: 14px !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    box-shadow: none !important;
  }

  .vlg-hero-actions .vlg-btn-ghost,
  .vlg-hero-benefits,
  .vlg-hero-showcase,
  .vlg-hero-category-tiles,
  .vlg-hero-payments {
    display: none !important;
  }

  .vlg-trust-grid {
    margin-top: 0 !important;
    margin-bottom: 14px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .vlg-trust-item {
    background: #fff !important;
    border: 1px solid #dfe7f1 !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .055) !important;
  }
}

@media (max-width: 390px) {
  .vlg-home .vlg-hero,
  .site-main.vlg-home .vlg-hero,
  .vlg-hero {
    padding: 18px 16px 16px !important;
    border-radius: 18px !important;
  }

  .vlg-hero h1 {
    font-size: clamp(26px, 8.4vw, 31px) !important;
  }
}


/* === 26-mobile-ux-screenshot-fix.css === */
/* =========================================================
   v2.2.7 — Mobile UX screenshot polish
   Based on real mobile screenshot feedback: reduce first-screen height,
   remove noisy hero effects, keep cookie notice inside viewport, and
   make category section easier to read on phones.
   ========================================================= */

@media (max-width: 767px) {
  /* Header: keep the first screen compact without breaking desktop layout. */
  body.vlg-theme .vlg-site-header {
    position: relative !important;
    z-index: 3000 !important;
    margin-bottom: 0 !important;
    border-bottom: 1px solid rgba(219, 229, 241, .9) !important;
    background: rgba(255, 255, 255, .98) !important;
  }

  body.vlg-theme .vlg-main-header-inner {
    width: calc(100% - 20px) !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    gap: 8px !important;
    padding: 7px 0 8px !important;
    min-height: 56px !important;
  }

  body.vlg-theme .vlg-header-brand-row {
    grid-column: 1 / 3 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
  }

  body.vlg-theme .vlg-header-actions {
    grid-column: 3 / 4 !important;
    justify-self: end !important;
    min-width: 0 !important;
    gap: 0 !important;
  }

  body.vlg-theme .vlg-header-actions > *:not(.vlg-cart-link),
  body.vlg-theme .vlg-account-link,
  body.vlg-theme .vlg-wishlist-link,
  body.vlg-theme .vlg-header-language-slot {
    display: none !important;
  }

  body.vlg-theme .vlg-header-search {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    margin: 2px 0 0 !important;
  }

  body.vlg-theme .vlg-search {
    min-height: 42px !important;
    padding: 4px 5px 4px 11px !important;
    border-radius: 16px !important;
    box-shadow: 0 6px 18px rgba(15, 23, 42, .045) !important;
  }

  body.vlg-theme .vlg-search input[type="search"] {
    min-width: 0 !important;
    height: 32px !important;
    font-size: 14px !important;
    text-overflow: ellipsis !important;
  }

  body.vlg-theme .vlg-search button,
  body.vlg-theme .vlg-search-submit {
    min-width: 58px !important;
    min-height: 34px !important;
    height: 34px !important;
    padding: 0 13px !important;
    border-radius: 13px !important;
    font-size: 13px !important;
  }

  body.vlg-theme .vlg-mobile-toggle {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    border-radius: 14px !important;
  }

  body.vlg-theme .vlg-brand .custom-logo,
  body.vlg-theme .custom-logo {
    max-width: min(190px, 48vw) !important;
    max-height: 40px !important;
  }

  body.vlg-theme .vlg-cart-link {
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    padding: 0 !important;
    justify-content: center !important;
  }

  /* Mobile menu: stay compact and never reserve a blank white block when closed. */
  body.vlg-theme .vlg-nav:not(.is-open) {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  body.vlg-theme .vlg-nav.is-open {
    top: calc(var(--wp-admin--admin-bar--height, 0px) + 108px) !important;
    left: 10px !important;
    right: 10px !important;
    max-height: calc(100dvh - var(--wp-admin--admin-bar--height, 0px) - 122px) !important;
    border-radius: 18px !important;
    overflow: auto !important;
  }

  body.admin-bar.vlg-theme .vlg-nav.is-open {
    top: calc(var(--wp-admin--admin-bar--height, 46px) + 108px) !important;
    max-height: calc(100dvh - var(--wp-admin--admin-bar--height, 46px) - 122px) !important;
  }

  /* Hero: cleaner premium panel, less visual noise, less vertical height. */
  body.vlg-theme .vlg-home > .vlg-container,
  body.vlg-theme .site-main.vlg-home > .vlg-container {
    width: calc(100% - 20px) !important;
    padding-top: 12px !important;
  }

  body.vlg-theme .vlg-home .vlg-hero,
  body.vlg-theme .site-main.vlg-home .vlg-hero,
  body.vlg-theme .vlg-hero {
    min-height: 0 !important;
    margin: 0 0 14px !important;
    padding: 18px 16px 17px !important;
    border-radius: 22px !important;
    background-color: #071224 !important;
    background-image:
      radial-gradient(circle at 100% 100%, rgba(242, 138, 0, .34), transparent 34%),
      linear-gradient(137deg, #071224 0%, #0b1830 55%, #111f35 100%) !important;
    background-position: center !important;
    box-shadow: 0 14px 30px rgba(7, 18, 36, .16) !important;
  }

  body.vlg-theme .vlg-hero::before,
  body.vlg-theme .vlg-hero::after,
  body.vlg-theme .vlg-hero [class*="decor"],
  body.vlg-theme .vlg-hero [class*="glow"],
  body.vlg-theme .vlg-hero [class*="blob"] {
    display: none !important;
    opacity: 0 !important;
  }

  body.vlg-theme .vlg-hero .vlg-kicker {
    max-width: 100% !important;
    margin-bottom: 9px !important;
    padding: 6px 10px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .10) !important;
    color: #ffbf6b !important;
    font-size: 10px !important;
    line-height: 1.15 !important;
    letter-spacing: .10em !important;
  }

  body.vlg-theme .vlg-hero h1 {
    max-width: 100% !important;
    margin: 0 0 10px !important;
    font-size: clamp(30px, 7.9vw, 38px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.055em !important;
    text-wrap: balance !important;
  }

  body.vlg-theme .vlg-hero p {
    max-width: 100% !important;
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
    color: rgba(241, 245, 249, .92) !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  body.vlg-theme .vlg-hero-actions {
    margin-top: 13px !important;
  }

  body.vlg-theme .vlg-hero-actions .vlg-btn,
  body.vlg-theme .vlg-hero-actions .vlg-btn-primary,
  body.vlg-theme .vlg-hero .vlg-btn {
    min-height: 44px !important;
    border-radius: 15px !important;
  }

  /* Trust cards: readable but less bulky. */
  body.vlg-theme .vlg-trust-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 0 0 20px !important;
  }

  body.vlg-theme .vlg-trust-item {
    min-height: 74px !important;
    padding: 12px !important;
    border-radius: 16px !important;
  }

  body.vlg-theme .vlg-trust-item h3,
  body.vlg-theme .vlg-trust-item strong {
    font-size: 14px !important;
    line-height: 1.18 !important;
  }

  body.vlg-theme .vlg-trust-item p,
  body.vlg-theme .vlg-trust-item small {
    display: none !important;
  }

  /* Category section: no collision with hero/cookie; title stays readable. */
  body.vlg-theme .vlg-section,
  body.vlg-theme .vlg-home-section {
    scroll-margin-top: 118px !important;
  }

  body.vlg-theme .vlg-section-title,
  body.vlg-theme .vlg-home-section-title,
  body.vlg-theme .vlg-section-header h2,
  body.vlg-theme .vlg-home h2 {
    font-size: clamp(28px, 8vw, 36px) !important;
    line-height: 1.05 !important;
    letter-spacing: -.045em !important;
    text-wrap: balance !important;
  }

  /* Cookie notice: in screenshot it was too wide and got clipped. Keep it inside viewport. */
  body.vlg-theme .vlg-cookie-notice {
    left: 12px !important;
    right: 12px !important;
    bottom: max(12px, env(safe-area-inset-bottom)) !important;
    width: auto !important;
    max-width: none !important;
    max-height: min(34dvh, 260px) !important;
    transform: none !important;
    margin: 0 !important;
    padding: 13px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 11px !important;
    border-radius: 18px !important;
    overflow: auto !important;
    z-index: 99999 !important;
    box-shadow: 0 18px 45px rgba(7, 18, 36, .18) !important;
  }

  body.vlg-theme .vlg-cookie-notice p {
    max-height: 88px !important;
    margin: 0 !important;
    overflow: auto !important;
    font-size: 13px !important;
    line-height: 1.42 !important;
  }

  body.vlg-theme .vlg-cookie-notice__button {
    width: 100% !important;
    min-height: 44px !important;
    border-radius: 14px !important;
    padding: 0 16px !important;
  }

  body.vlg-theme .vlg-cookie-notice[hidden],
  body.vlg-theme .vlg-cookie-notice[data-vlg-cookie-dismissed="1"] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

}

@media (max-width: 380px) {
  body.vlg-theme .vlg-hero h1 {
    font-size: clamp(27px, 8.1vw, 32px) !important;
  }

  body.vlg-theme .vlg-hero p {
    font-size: 14px !important;
  }

  body.vlg-theme .vlg-brand .custom-logo,
  body.vlg-theme .custom-logo {
    max-width: 155px !important;
  }
}


/* === 27-mobile-modern-dropdown.css === */
/* =========================================================
   v2.2.9 — Modern mobile dropdown / bottom-sheet navigation
   Makes the phone menu feel like a current e-commerce app: compact
   closed state, bottom-sheet drawer, clear category accordion, large
   touch targets, no blank white overlay above the hero.
   ========================================================= */

.vlg-mobile-nav-head,
.vlg-mobile-quick-links,
.vlg-submenu-toggle {
  display: none;
}

@media (max-width: 782px) {
  body.vlg-menu-open {
    overflow: hidden !important;
    touch-action: none;
  }

  body.vlg-theme .vlg-mobile-backdrop:not([hidden]) {
    position: fixed !important;
    inset: 0 !important;
    display: block !important;
    background: rgba(7, 18, 36, .42) !important;
    backdrop-filter: blur(5px) saturate(120%);
    z-index: 6990 !important;
    animation: vlgMobileBackdropIn .18s ease-out both;
  }

  body.vlg-theme .vlg-nav:not(.is-open) {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  body.vlg-theme .vlg-nav.is-open {
    position: fixed !important;
    inset: auto 10px max(10px, env(safe-area-inset-bottom)) 10px !important;
    top: auto !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: min(82dvh, 680px) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(218, 228, 240, .98) !important;
    border-radius: 26px 26px 20px 20px !important;
    background: rgba(255, 255, 255, .98) !important;
    box-shadow: 0 -18px 70px rgba(7, 18, 36, .30) !important;
    transform: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 7000 !important;
    animation: vlgMobileSheetIn .22s cubic-bezier(.2,.9,.2,1) both;
  }

  body.admin-bar.vlg-theme .vlg-nav.is-open {
    max-height: calc(100dvh - var(--wp-admin--admin-bar--height, 46px) - 14px) !important;
  }

  body.vlg-theme .vlg-nav.is-open::before {
    content: "";
    display: block;
    width: 46px;
    height: 5px;
    margin: 10px auto 6px;
    border-radius: 999px;
    background: #d7e1ed;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-nav-inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    max-height: calc(min(82dvh, 680px) - 21px) !important;
    margin: 0 !important;
    padding: 0 12px 12px !important;
    overflow: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch;
  }

  body.vlg-theme .vlg-mobile-nav-head {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 7px 2px 10px;
    background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.93) 100%);
    backdrop-filter: blur(10px);
  }

  body.vlg-theme .vlg-mobile-nav-head strong {
    display: block;
    color: #071224;
    font-size: 20px;
    line-height: 1.05;
    letter-spacing: -.035em;
  }

  body.vlg-theme .vlg-mobile-nav-head span {
    display: block;
    margin-top: 3px;
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
  }

  body.vlg-theme .vlg-mobile-nav-close {
    display: inline-grid;
    place-items: center;
    width: 40px;
    height: 40px;
    min-width: 40px;
    border: 1px solid #dbe5f1;
    border-radius: 14px;
    background: #f8fafc;
    color: #071224;
    font-size: 28px;
    line-height: 1;
    font-weight: 700;
    cursor: pointer;
  }

  body.vlg-theme .vlg-mobile-nav-close:focus-visible,
  body.vlg-theme .vlg-submenu-toggle:focus-visible,
  body.vlg-theme .vlg-category-button:focus-visible,
  body.vlg-theme .vlg-primary-menu a:focus-visible,
  body.vlg-theme .vlg-mobile-quick-links a:focus-visible {
    outline: 3px solid rgba(242, 138, 0, .28) !important;
    outline-offset: 2px;
  }

  body.vlg-theme .vlg-mobile-quick-links {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  body.vlg-theme .vlg-mobile-quick-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 10px;
    border: 1px solid #dbe5f1;
    border-radius: 14px;
    background: #f8fafc;
    color: #0f172a;
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
    white-space: nowrap;
  }

  body.vlg-theme .vlg-mobile-quick-links a:first-child {
    border-color: rgba(242, 138, 0, .32);
    background: #fff7ed;
    color: #b95d00;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-menu {
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 18px !important;
    background: transparent !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-button {
    position: relative;
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 54px !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 0 46px 0 15px !important;
    border: 1px solid rgba(7, 18, 36, .10) !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg, #071224 0%, #0f1e35 100%) !important;
    color: #fff !important;
    box-shadow: 0 12px 28px rgba(7, 18, 36, .16) !important;
    font-size: 14px !important;
    letter-spacing: -.01em;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-button::before {
    content: "☰";
    display: inline-grid;
    place-items: center;
    width: 30px;
    height: 30px;
    margin-right: 2px;
    border-radius: 11px;
    background: rgba(255,255,255,.11);
    color: #ffb45a;
    font-size: 15px;
    flex: 0 0 auto;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-button::after {
    content: "⌄";
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: #ffb45a;
    font-size: 21px;
    line-height: 1;
    transition: transform .18s ease;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-button::after,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"]::after {
    transform: translateY(-50%) rotate(180deg);
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown {
    position: static !important;
    display: grid !important;
    grid-template-rows: 0fr;
    width: 100% !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    transition: grid-template-rows .24s ease, margin .24s ease;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown {
    grid-template-rows: 1fr;
    margin-top: 9px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown > ul,
  body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown > .vlg-cat-dropdown-list {
    min-height: 0;
    max-height: min(42dvh, 360px);
    overflow: auto;
    padding: 8px !important;
    margin: 0 !important;
    border: 1px solid #dbe5f1;
    border-radius: 18px;
    background: #f8fafc;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-dropdown-list {
    display: grid !important;
    gap: 6px !important;
    list-style: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-dropdown-list li {
    margin: 0 !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-dropdown-list a,
  body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown a {
    position: relative;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 48px !important;
    gap: 12px !important;
    padding: 10px 12px 10px 14px !important;
    border: 1px solid #e4edf6;
    border-radius: 15px !important;
    background: #fff !important;
    color: #172033 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.18 !important;
    text-decoration: none !important;
    box-shadow: 0 6px 14px rgba(15, 23, 42, .035);
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-dropdown-list a::before,
  body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown a::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--vlg-primary, #f28a00), #ffb34d);
    box-shadow: 0 0 0 4px #fff3e4;
    flex: 0 0 auto;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-dropdown-list a > span,
  body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown a > span {
    display: inline-grid !important;
    place-items: center;
    min-width: 30px;
    height: 26px;
    padding: 0 8px;
    margin-left: auto;
    border-radius: 999px;
    background: #edf3fa;
    color: #64748b !important;
    font-size: 12px !important;
    font-weight: 900 !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-primary-menu {
    display: grid !important;
    width: 100% !important;
    gap: 7px !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-primary-menu > li {
    position: relative;
    margin: 0 !important;
    border: 1px solid #dfe8f3;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 7px 18px rgba(15, 23, 42, .035);
    overflow: hidden;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-primary-menu > li > a {
    display: flex !important;
    align-items: center !important;
    min-height: 50px !important;
    width: 100% !important;
    padding: 0 48px 0 14px !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #0f172a !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    text-decoration: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-primary-menu > li.current-menu-item,
  body.vlg-theme .vlg-nav.is-open .vlg-primary-menu > li.current-menu-ancestor {
    border-color: rgba(242, 138, 0, .32);
    background: #fff8ef;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-primary-menu > li.current-menu-item > a,
  body.vlg-theme .vlg-nav.is-open .vlg-primary-menu > li.current-menu-ancestor > a {
    color: #b95d00 !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-primary-menu > li.menu-item-has-children > a {
    padding-right: 56px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-submenu-toggle {
    position: absolute;
    top: 7px;
    right: 7px;
    display: inline-grid !important;
    place-items: center;
    width: 36px;
    height: 36px;
    border: 1px solid #dbe5f1;
    border-radius: 13px;
    background: #f8fafc;
    color: #071224;
    cursor: pointer;
    font-size: 0;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-submenu-toggle::before {
    content: "⌄";
    font-size: 19px;
    line-height: 1;
    color: #f28a00;
    transition: transform .18s ease;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-primary-menu > li.is-submenu-open > .vlg-submenu-toggle::before {
    transform: rotate(180deg);
  }

  body.vlg-theme .vlg-nav.is-open .vlg-primary-menu .sub-menu {
    display: none !important;
    margin: -2px 8px 9px !important;
    padding: 6px !important;
    border: 1px solid #e6eef7 !important;
    border-radius: 14px !important;
    background: #f8fafc !important;
    box-shadow: none !important;
    list-style: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-primary-menu > li.is-submenu-open > .sub-menu {
    display: grid !important;
    gap: 4px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-primary-menu .sub-menu a {
    display: flex !important;
    align-items: center !important;
    min-height: 40px !important;
    padding: 0 10px !important;
    border-radius: 11px !important;
    color: #334155 !important;
    background: transparent !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-primary-menu .sub-menu a:hover,
  body.vlg-theme .vlg-nav.is-open .vlg-primary-menu .sub-menu a:focus-visible {
    background: #fff !important;
    color: #b95d00 !important;
  }
}

@media (max-width: 430px) {
  body.vlg-theme .vlg-nav.is-open {
    left: 8px !important;
    right: 8px !important;
    border-radius: 24px 24px 18px 18px !important;
  }

  body.vlg-theme .vlg-mobile-quick-links {
    grid-template-columns: 1fr 1fr;
  }

  body.vlg-theme .vlg-mobile-quick-links a:first-child {
    grid-column: 1 / -1;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown > ul,
  body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown > .vlg-cat-dropdown-list {
    max-height: min(38dvh, 320px);
  }
}

@keyframes vlgMobileSheetIn {
  from { opacity: 0; transform: translateY(28px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes vlgMobileBackdropIn {
  from { opacity: 0; }
  to { opacity: 1; }
}


/* === 28-mobile-perfect-polish.css === */
/* =========================================================
   v2.3.0 — Mobile Perfect Polish
   Extra mobile UX layer: compact sticky header, calmer hero,
   searchable bottom-sheet menu, modern category dropdowns and safer
   phone layouts without horizontal overflow.
   ========================================================= */

@media (max-width: 782px) {
  :root {
    --vlg-mobile-page-x: 14px;
    --vlg-mobile-header-height: 112px;
  }

  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip !important;
    background: #f5f7fb !important;
  }

  body.vlg-theme * {
    -webkit-tap-highlight-color: rgba(242, 138, 0, .14);
  }

  body.vlg-theme .vlg-site-header {
    position: sticky !important;
    top: var(--wp-admin--admin-bar--height, 0px) !important;
    z-index: 6400 !important;
    background: rgba(255,255,255,.985) !important;
    border-bottom: 1px solid rgba(219,229,241,.96) !important;
    box-shadow: 0 8px 22px rgba(15,23,42,.055) !important;
    backdrop-filter: blur(14px) saturate(160%);
  }

  body.admin-bar.vlg-theme .vlg-site-header {
    top: var(--wp-admin--admin-bar--height, 46px) !important;
  }

  body.vlg-theme .vlg-topbar {
    display: none !important;
  }

  body.vlg-theme .vlg-main-header {
    border: 0 !important;
    background: transparent !important;
  }

  body.vlg-theme .vlg-main-header-inner {
    width: calc(100% - (var(--vlg-mobile-page-x) * 2)) !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    grid-template-areas:
      "brand brand cart"
      "search search search" !important;
    gap: 8px 9px !important;
    min-height: 0 !important;
    padding: 8px 0 10px !important;
    margin: 0 auto !important;
  }

  body.vlg-theme .vlg-header-brand-row {
    grid-area: brand !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
  }

  body.vlg-theme .vlg-header-actions {
    grid-area: cart !important;
    justify-self: end !important;
    align-self: center !important;
    min-width: 0 !important;
  }

  body.vlg-theme .vlg-header-search {
    grid-area: search !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body.vlg-theme .vlg-mobile-toggle {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    border: 1px solid #dbe5f1 !important;
    border-radius: 16px !important;
    background: linear-gradient(180deg,#fff 0%,#f8fafc 100%) !important;
    box-shadow: 0 8px 20px rgba(15,23,42,.07) !important;
  }

  body.vlg-theme .vlg-mobile-toggle-icon span {
    height: 3px !important;
    border-radius: 999px !important;
    background: #071224 !important;
  }

  body.vlg-theme .vlg-mobile-toggle.is-open {
    border-color: rgba(242,138,0,.36) !important;
    background: #fff7ed !important;
  }

  body.vlg-theme .vlg-brand,
  body.vlg-theme .vlg-brand a {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.vlg-theme .vlg-brand .custom-logo,
  body.vlg-theme .custom-logo {
    width: auto !important;
    max-width: min(196px, 52vw) !important;
    max-height: 42px !important;
    object-fit: contain !important;
  }

  body.vlg-theme .vlg-cart-link {
    position: relative !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    padding: 0 !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 17px !important;
    border: 1px solid rgba(242,138,0,.24) !important;
    background: #fff7ed !important;
    box-shadow: 0 8px 22px rgba(242,138,0,.11) !important;
  }

  body.vlg-theme .vlg-cart-link > span:not(.vlg-icon):not(.vlg-cart-count):not(.vlg-badge),
  body.vlg-theme .vlg-cart-link small,
  body.vlg-theme .vlg-cart-total {
    display: none !important;
  }

  body.vlg-theme .vlg-cart-link .vlg-icon {
    margin: 0 !important;
    font-size: 23px !important;
  }

  body.vlg-theme .vlg-cart-count,
  body.vlg-theme .vlg-cart-link .vlg-badge {
    position: absolute !important;
    top: -7px !important;
    right: -7px !important;
    min-width: 23px !important;
    height: 23px !important;
    padding: 0 6px !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    border: 2px solid #fff !important;
    background: var(--vlg-primary, #f28a00) !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
  }

  body.vlg-theme .vlg-search {
    display: grid !important;
    grid-template-columns: 28px minmax(0,1fr) auto !important;
    align-items: center !important;
    gap: 7px !important;
    min-height: 50px !important;
    height: auto !important;
    padding: 5px 5px 5px 11px !important;
    border: 1px solid #dfe7f1 !important;
    border-radius: 20px !important;
    background: #fff !important;
    box-shadow: 0 10px 26px rgba(15,23,42,.055) !important;
  }

  body.vlg-theme .vlg-search::before {
    content: "⌕";
    display: inline-grid;
    place-items: center;
    width: 28px;
    height: 28px;
    color: #64748b;
    font-size: 24px;
    line-height: 1;
  }

  body.vlg-theme .vlg-search input[type="search"] {
    min-width: 0 !important;
    width: 100% !important;
    height: 38px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #0f172a !important;
    font-size: 15px !important;
    font-weight: 650 !important;
    text-overflow: ellipsis !important;
  }

  body.vlg-theme .vlg-search input[type="search"]::placeholder {
    color: #94a3b8 !important;
    opacity: 1 !important;
  }

  body.vlg-theme .vlg-search button,
  body.vlg-theme .vlg-search-submit {
    min-width: 64px !important;
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 15px !important;
    border-radius: 15px !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    box-shadow: 0 8px 18px rgba(242,138,0,.24) !important;
  }

  body.vlg-theme .vlg-search-suggestions,
  body.vlg-theme .vlg-search-results {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-height: min(62dvh, 420px) !important;
    overflow: auto !important;
    border-radius: 18px !important;
    z-index: 6600 !important;
  }

  /* Bottom sheet menu: full app-like sheet with search/filter. */
  body.vlg-theme .vlg-mobile-backdrop:not([hidden]) {
    background: rgba(7,18,36,.50) !important;
    backdrop-filter: blur(8px) saturate(125%) !important;
    z-index: 7990 !important;
  }

  body.vlg-theme .vlg-nav.is-open {
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    inset: auto 0 0 0 !important;
    width: 100% !important;
    max-height: min(88dvh, 760px) !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    border-radius: 30px 30px 0 0 !important;
    background: rgba(255,255,255,.985) !important;
    box-shadow: 0 -24px 80px rgba(7,18,36,.34) !important;
    overflow: hidden !important;
    z-index: 8000 !important;
  }

  body.admin-bar.vlg-theme .vlg-nav.is-open {
    max-height: calc(100dvh - var(--wp-admin--admin-bar--height, 46px) - 6px) !important;
  }

  body.vlg-theme .vlg-nav.is-open::before {
    width: 52px !important;
    height: 5px !important;
    margin: 11px auto 7px !important;
    background: #cbd5e1 !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-nav-inner {
    max-height: calc(min(88dvh, 760px) - 24px) !important;
    padding: 0 var(--vlg-mobile-page-x) calc(16px + env(safe-area-inset-bottom)) !important;
    gap: 11px !important;
    scrollbar-width: thin;
  }

  body.vlg-theme .vlg-mobile-nav-head {
    padding: 8px 0 11px !important;
    margin: 0 !important;
    border-bottom: 1px solid rgba(226,232,240,.78) !important;
  }

  body.vlg-theme .vlg-mobile-nav-head strong {
    font-size: 22px !important;
    letter-spacing: -.04em !important;
  }

  body.vlg-theme .vlg-mobile-nav-head span {
    font-size: 12px !important;
  }

  body.vlg-theme .vlg-mobile-menu-search {
    position: sticky;
    top: 60px;
    z-index: 2;
    padding: 0 0 2px;
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(10px);
  }

  body.vlg-theme .vlg-mobile-menu-search input {
    width: 100%;
    min-height: 46px;
    padding: 0 14px 0 42px;
    border: 1px solid #dbe5f1;
    border-radius: 16px;
    background: #f8fafc;
    color: #0f172a;
    font-size: 15px;
    font-weight: 760;
    outline: 0;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
  }

  body.vlg-theme .vlg-mobile-menu-search::before {
    content: "⌕";
    position: absolute;
    left: 14px;
    top: 12px;
    color: #64748b;
    font-size: 24px;
    line-height: 1;
    pointer-events: none;
  }

  body.vlg-theme .vlg-mobile-menu-search input:focus {
    border-color: rgba(242,138,0,.48);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(242,138,0,.12);
  }

  body.vlg-theme .vlg-mobile-quick-links {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: 8px !important;
  }

  body.vlg-theme .vlg-mobile-quick-links a {
    min-height: 44px !important;
    border-radius: 16px !important;
    font-size: 12px !important;
    box-shadow: 0 6px 14px rgba(15,23,42,.035);
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-button {
    min-height: 56px !important;
    padding-left: 16px !important;
    border-radius: 20px !important;
    background:
      radial-gradient(circle at 100% 0, rgba(242,138,0,.22), transparent 34%),
      linear-gradient(135deg, #071224 0%, #10213b 100%) !important;
    font-size: 15px !important;
    font-weight: 950 !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown > ul,
  body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown > .vlg-cat-dropdown-list {
    max-height: min(46dvh, 390px) !important;
    padding: 9px !important;
    border-radius: 20px !important;
    background: #f5f7fb !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-dropdown-list a,
  body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown a {
    min-height: 52px !important;
    border-radius: 17px !important;
    padding: 11px 12px 11px 15px !important;
    font-size: 14.5px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-primary-menu > li {
    border-radius: 18px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-primary-menu > li > a {
    min-height: 52px !important;
    padding-left: 15px !important;
    font-size: 14.5px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-submenu-toggle {
    top: 8px !important;
    right: 8px !important;
    width: 36px !important;
    height: 36px !important;
  }

  body.vlg-theme .vlg-mobile-filter-hidden {
    display: none !important;
  }

  body.vlg-theme .vlg-mobile-filter-empty {
    display: none;
    padding: 13px 14px;
    border: 1px dashed #cbd5e1;
    border-radius: 16px;
    background: #f8fafc;
    color: #64748b;
    font-size: 13px;
    font-weight: 800;
    text-align: center;
  }

  body.vlg-theme .vlg-mobile-filter-empty.is-visible {
    display: block;
  }

  /* Home first screen: less noise, better hierarchy and clearer CTA. */
  body.vlg-theme .vlg-home > .vlg-container,
  body.vlg-theme .site-main.vlg-home > .vlg-container {
    width: calc(100% - (var(--vlg-mobile-page-x) * 2)) !important;
    padding-top: 12px !important;
  }

  body.vlg-theme .vlg-home .vlg-hero,
  body.vlg-theme .site-main.vlg-home .vlg-hero,
  body.vlg-theme .vlg-hero {
    margin: 0 0 12px !important;
    padding: 18px 16px 16px !important;
    border-radius: 24px !important;
    background-color: #071224 !important;
    background-image:
      radial-gradient(circle at 94% 104%, rgba(242,138,0,.36), transparent 34%),
      linear-gradient(145deg, #071224 0%, #0b1830 62%, #14233d 100%) !important;
    box-shadow: 0 16px 34px rgba(7,18,36,.17) !important;
  }

  body.vlg-theme .vlg-hero .vlg-kicker {
    max-width: 100% !important;
    padding: 6px 10px !important;
    margin-bottom: 10px !important;
    white-space: normal !important;
    word-break: normal !important;
  }

  body.vlg-theme .vlg-hero h1 {
    font-size: clamp(27px, 7.15vw, 34px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.052em !important;
    max-width: 100% !important;
    margin-bottom: 10px !important;
  }

  body.vlg-theme .vlg-hero p {
    font-size: 15px !important;
    line-height: 1.44 !important;
    margin-bottom: 0 !important;
    color: rgba(241,245,249,.91) !important;
    -webkit-line-clamp: 2 !important;
  }

  body.vlg-theme .vlg-hero-actions {
    margin-top: 14px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  body.vlg-theme .vlg-hero-actions .vlg-btn-primary,
  body.vlg-theme .vlg-hero-actions .vlg-btn,
  body.vlg-theme .vlg-hero .vlg-btn {
    min-height: 46px !important;
    border-radius: 17px !important;
    font-size: 14px !important;
    letter-spacing: -.01em !important;
  }

  body.vlg-theme .vlg-trust-grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 10px !important;
    margin-bottom: 22px !important;
  }

  body.vlg-theme .vlg-trust-item {
    min-width: 0 !important;
    min-height: 78px !important;
    border-radius: 18px !important;
    padding: 12px !important;
    overflow: hidden !important;
  }

  body.vlg-theme .vlg-trust-item span:first-child {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
  }

  body.vlg-theme .vlg-trust-item strong {
    font-size: 14px !important;
    line-height: 1.12 !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.vlg-theme .vlg-section {
    margin-top: 22px !important;
  }

  body.vlg-theme .vlg-section-head {
    margin-bottom: 12px !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }

  body.vlg-theme .vlg-section-head h2,
  body.vlg-theme .vlg-home h2,
  body.vlg-theme .vlg-section-title {
    font-size: clamp(25px, 7.2vw, 32px) !important;
    line-height: 1.06 !important;
    letter-spacing: -.045em !important;
  }

  body.vlg-theme .vlg-section-head > a {
    min-height: 36px !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
  }

  body.vlg-theme .vlg-category-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body.vlg-theme .vlg-category-card {
    display: grid !important;
    grid-template-columns: 74px minmax(0,1fr) !important;
    align-items: center !important;
    min-height: 92px !important;
    padding: 10px !important;
    border-radius: 20px !important;
    overflow: hidden !important;
  }

  body.vlg-theme .vlg-category-card img {
    width: 72px !important;
    height: 72px !important;
    border-radius: 17px !important;
    object-fit: contain !important;
  }

  body.vlg-theme .vlg-category-card div {
    min-width: 0 !important;
  }

  body.vlg-theme .vlg-category-card strong {
    display: block !important;
    font-size: 16px !important;
    line-height: 1.16 !important;
    overflow-wrap: anywhere !important;
  }

  body.vlg-theme .vlg-category-card small {
    font-size: 12px !important;
  }

  body.vlg-theme .products,
  body.vlg-theme .vlg-products-grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 12px !important;
  }

  body.vlg-theme ul.products li.product,
  body.vlg-theme .vlg-product-card {
    min-width: 0 !important;
    border-radius: 20px !important;
    overflow: hidden !important;
  }

  body.vlg-theme ul.products li.product .woocommerce-loop-product__title,
  body.vlg-theme .vlg-product-title {
    font-size: 13.5px !important;
    line-height: 1.25 !important;
    min-height: 0 !important;
    overflow-wrap: anywhere !important;
  }

  body.vlg-theme ul.products li.product .button,
  body.vlg-theme .vlg-product-card .button,
  body.vlg-theme .vlg-product-card .add_to_cart_button {
    width: 100% !important;
    min-height: 42px !important;
    border-radius: 14px !important;
    font-size: 13px !important;
    padding-inline: 8px !important;
  }

  body.vlg-theme .vlg-cookie-notice {
    left: var(--vlg-mobile-page-x) !important;
    right: var(--vlg-mobile-page-x) !important;
    bottom: max(14px, env(safe-area-inset-bottom)) !important;
    max-height: min(30dvh, 230px) !important;
    border-radius: 22px !important;
    z-index: 8100 !important;
  }

  body.vlg-theme .vlg-cookie-notice[hidden],
  body.vlg-theme .vlg-cookie-notice[data-vlg-cookie-dismissed="1"],
  body.vlg-theme .vlg-cookie-notice.is-hidden {
    display: none !important;
  }
}

@media (max-width: 430px) {
  :root { --vlg-mobile-page-x: 10px; }

  body.vlg-theme .vlg-mobile-quick-links {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  }

  body.vlg-theme .vlg-mobile-quick-links a {
    min-height: 42px !important;
    padding: 0 8px !important;
    font-size: 11.5px !important;
  }

  body.vlg-theme .vlg-home .vlg-hero,
  body.vlg-theme .site-main.vlg-home .vlg-hero,
  body.vlg-theme .vlg-hero {
    padding: 17px 15px 15px !important;
    border-radius: 22px !important;
  }

  body.vlg-theme .vlg-hero h1 {
    font-size: clamp(25px, 7vw, 31px) !important;
  }

  body.vlg-theme .vlg-hero p {
    font-size: 14px !important;
  }
}

@media (max-width: 360px) {
  body.vlg-theme .vlg-brand .custom-logo,
  body.vlg-theme .custom-logo {
    max-width: 148px !important;
  }

  body.vlg-theme .vlg-mobile-quick-links {
    grid-template-columns: 1fr 1fr !important;
  }

  body.vlg-theme .vlg-mobile-quick-links a:first-child {
    grid-column: 1 / -1 !important;
  }

  body.vlg-theme .products,
  body.vlg-theme .vlg-products-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.vlg-theme .vlg-nav.is-open,
  body.vlg-theme .vlg-mobile-backdrop:not([hidden]) {
    animation: none !important;
  }

  body.vlg-theme * {
    scroll-behavior: auto !important;
  }
}


/* === 30-category-menu-tree.css === */
/* v2.3.2 — Product category dropdown tree + admin hierarchy sorter */
.vlg-category-dropdown {
  width: min(360px, calc(100vw - 28px));
}
.vlg-cat-tree,
.vlg-cat-tree .vlg-cat-submenu {
  list-style: none;
  margin: 0;
  padding: 0;
}
.vlg-cat-tree .vlg-cat-item {
  position: relative;
  margin: 0;
}
.vlg-cat-tree .vlg-cat-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 6px;
}
.vlg-cat-tree .vlg-cat-link {
  min-width: 0;
}
.vlg-cat-tree .vlg-cat-title {
  min-width: 0;
  overflow-wrap: anywhere;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}
.vlg-cat-tree .vlg-cat-count {
  flex: 0 0 auto;
  color: var(--vlg-muted, #64748b);
  font-size: 12px;
}
.vlg-cat-subtoggle {
  width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  border: 1px solid #e4edf6;
  border-radius: 10px;
  background: #fff;
  color: var(--vlg-primary, #f28a00);
  font-size: 16px;
  font-weight: 900;
  cursor: pointer;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.vlg-cat-subtoggle:hover {
  background: #fff5e8;
  border-color: rgba(242,138,0,.32);
}
.vlg-cat-item.is-sub-open > .vlg-cat-row .vlg-cat-subtoggle span,
.vlg-cat-item:hover > .vlg-cat-row .vlg-cat-subtoggle span {
  transform: rotate(180deg);
}
.vlg-cat-tree .vlg-cat-submenu {
  display: none;
}
.vlg-cat-submenu-mode-inline .vlg-cat-submenu,
.vlg-cat-item.is-sub-open > .vlg-cat-submenu {
  display: grid;
  gap: 5px;
  padding: 4px 0 6px 12px;
  margin: 2px 0 4px 8px;
  border-left: 2px solid rgba(242,138,0,.18);
}
.vlg-cat-submenu .vlg-cat-link {
  font-size: 13px;
  font-weight: 800;
  padding-top: 9px;
  padding-bottom: 9px;
}
.vlg-cat-depth-1 .vlg-cat-title::before,
.vlg-cat-depth-2 .vlg-cat-title::before,
.vlg-cat-depth-3 .vlg-cat-title::before,
.vlg-cat-depth-4 .vlg-cat-title::before {
  content: "↳ ";
  color: var(--vlg-primary, #f28a00);
}

@media (min-width: 783px) {
  .vlg-cat-submenu-mode-accordion .vlg-cat-item.has-children:hover > .vlg-cat-submenu,
  .vlg-cat-submenu-mode-accordion .vlg-cat-item.has-children:focus-within > .vlg-cat-submenu {
    display: grid;
    gap: 6px;
    position: absolute;
    left: calc(100% + 10px);
    top: 0;
    width: min(310px, calc(100vw - 420px));
    min-width: 250px;
    max-height: min(72vh, 520px);
    overflow: auto;
    padding: 10px;
    margin: 0;
    border: 1px solid var(--vlg-line, #e4eaf2);
    border-radius: 16px;
    background: #fff;
    box-shadow: var(--vlg-shadow, 0 18px 45px rgba(15,23,42,.14));
    z-index: 82;
  }
  .vlg-cat-submenu-mode-accordion .vlg-cat-item.has-children:hover > .vlg-cat-row .vlg-cat-link,
  .vlg-cat-submenu-mode-accordion .vlg-cat-item.has-children:focus-within > .vlg-cat-row .vlg-cat-link {
    background: #fff5e8;
    color: var(--vlg-primary, #f28a00);
  }
}

@media (max-width: 782px) {
  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree .vlg-cat-row {
    grid-template-columns: minmax(0, 1fr) 42px;
    gap: 8px;
  }
  body.vlg-theme .vlg-nav.is-open .vlg-cat-subtoggle {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: #fff7ed;
  }
  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree .vlg-cat-submenu {
    position: static;
    width: auto;
    max-height: none;
    box-shadow: none;
    border: 0;
  }
  body.vlg-theme .vlg-nav.is-open .vlg-cat-submenu-mode-inline .vlg-cat-submenu,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-item.is-sub-open > .vlg-cat-submenu {
    display: grid !important;
    gap: 6px;
    margin: 7px 0 7px 14px !important;
    padding: 0 0 0 10px !important;
    border-left: 2px solid rgba(242,138,0,.24);
  }
  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree .vlg-cat-submenu a {
    min-height: 44px !important;
    font-size: 13.5px !important;
    background: #fffaf3 !important;
  }
}

.vlg-admin-mini-callout {
  padding: 14px;
  border: 1px solid #dbe6f2;
  border-radius: 14px;
  background: linear-gradient(135deg, #fff 0%, #f8fafc 100%);
}
.vlg-admin-mini-callout .button {
  width: fit-content;
  margin-top: 8px;
}
.vlg-category-tree-sorter-field {
  grid-column: 1 / -1;
}
.vlg-category-tree-toolbar {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  gap: 12px;
  align-items: end;
  margin: 8px 0 12px;
}
.vlg-category-tree-toolbar label {
  display: grid;
  gap: 6px;
  margin: 0;
}
.vlg-category-tree-toolbar select {
  max-width: 440px;
}
.vlg-category-tree-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  flex-wrap: wrap;
}
.vlg-category-tree-sorter {
  display: grid;
  gap: 8px;
  max-height: 560px;
  overflow: auto;
  margin: 0;
  padding: 12px;
  border: 1px solid #d8e3ef;
  border-radius: 16px;
  background: #f8fafc;
}
.vlg-category-tree-row {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  margin: 0;
  padding: 11px 12px;
  border: 1px solid #dbe6f2;
  border-radius: 14px;
  background: #fff;
  cursor: grab;
  box-shadow: 0 6px 16px rgba(15, 23, 42, .035);
}
.vlg-category-tree-row.is-hidden-by-filter {
  display: none;
}
.vlg-category-tree-row.is-dragging {
  opacity: .55;
  cursor: grabbing;
}
.vlg-category-tree-row .dashicons-move {
  color: var(--vlg-primary, #f28a00);
  cursor: grab;
}
.vlg-category-tree-row label {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 10px;
  margin: 0;
}
.vlg-cat-admin-main {
  display: grid;
  min-width: 0;
  gap: 3px;
}
.vlg-cat-admin-main strong {
  overflow-wrap: anywhere;
}
.vlg-cat-admin-main small {
  color: #64748b;
}
.vlg-category-tree-row.has-children {
  border-color: rgba(242,138,0,.28);
  background: linear-gradient(135deg, #fff 0%, #fffaf3 100%);
}
.vlg-category-tree-row[data-depth="1"] { margin-left: 22px; }
.vlg-category-tree-row[data-depth="2"] { margin-left: 44px; }
.vlg-category-tree-row[data-depth="3"] { margin-left: 66px; }
.vlg-category-tree-row[data-depth="4"] { margin-left: 88px; }
.vlg-category-tree-row[data-depth]:not([data-depth="0"]) .vlg-cat-admin-main strong::before {
  content: "↳ ";
  color: var(--vlg-primary, #f28a00);
}
@media (max-width: 900px) {
  .vlg-category-tree-toolbar {
    grid-template-columns: 1fr;
  }
  .vlg-category-tree-actions {
    justify-content: flex-start;
  }
  .vlg-category-tree-row[data-depth="1"] { margin-left: 10px; }
  .vlg-category-tree-row[data-depth="2"] { margin-left: 20px; }
  .vlg-category-tree-row[data-depth="3"] { margin-left: 30px; }
  .vlg-category-tree-row[data-depth="4"] { margin-left: 40px; }
}
@media (max-width: 560px) {
  .vlg-category-tree-row {
    grid-template-columns: 24px minmax(0, 1fr);
  }
  .vlg-category-tree-row label {
    align-items: flex-start;
  }
  .vlg-cat-admin-main small {
    font-size: 11px;
  }
}


/* === 31-remove-menu-search-strip.css === */
/* Valgusallikad v2.3.3: remove the unwanted menu/category search strip from the frontend. */
body.vlg-theme .vlg-mobile-menu-search,
body.vlg-theme .vlg-mobile-filter-empty {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.vlg-theme .vlg-mobile-filter-hidden {
  display: revert !important;
}

@media (min-width: 783px) {
  body.vlg-theme .vlg-nav,
  body.vlg-theme .vlg-nav .vlg-nav-inner {
    overflow: visible !important;
  }
}


/* === 34-mobile-fixes.css === */
/* =========================================================
   v2.4.4 — Mobile Functionality Fixes
   ----------------------------------------------------------
   Tagab et hamburger ja kategooriate dropdown töötavad
   mobiilis kõigis brauserites:
   - Korrektsed touch-targetid (≥44×44 px)
   - Eemaldab iOS 300ms tap-delay
   - Tagab z-index'i et kliki ei blokeeri midagi
   - Hamburger nupp on alati nähtav mobiilis
   ========================================================= */

/* Tagab et hamburger nupp on mobiilis ALATI nähtav, isegi kui
   admin-paneeli valik on välja lülitatud. Desktopil endiselt peidetud. */
@media (max-width: 900px) {
  body.vlg-theme .vlg-mobile-toggle.vlg-mobile-toggle-mobile-only {
    display: grid !important;
    place-items: center !important;
  }
}

/* iOS Safari: eemalda 300ms tap-delay */
body.vlg-theme .vlg-mobile-toggle,
body.vlg-theme .vlg-mobile-nav-close,
body.vlg-theme .vlg-mobile-backdrop,
body.vlg-theme .vlg-category-button,
body.vlg-theme .vlg-cat-subtoggle,
body.vlg-theme .vlg-submenu-toggle {
  touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(242, 138, 0, .18);
}

/* Tagab z-index hierarhia, et kliki ei blokeerita: */
body.vlg-theme .vlg-site-header { z-index: 6400; }
body.vlg-theme .vlg-mobile-toggle { z-index: 6500; position: relative; }
body.vlg-theme .vlg-mobile-backdrop {
  z-index: 7800;
}
body.vlg-theme .vlg-nav.is-open {
  z-index: 8000 !important;
}

/* Mobiilis hamburger nupule visuaalne tap-feedback (vajutamise ajal) */
@media (max-width: 900px) {
  body.vlg-theme .vlg-mobile-toggle:active {
    transform: scale(0.94);
    background: #fff5e8 !important;
    border-color: rgba(242,138,0,.5) !important;
  }

  /* Hoia category button hästi tabatav */
  body.vlg-theme .vlg-category-button {
    min-height: 48px !important;
    cursor: pointer !important;
    touch-action: manipulation !important;
  }
  body.vlg-theme .vlg-category-button:active {
    transform: scale(0.99);
    filter: brightness(1.08);
  }

  /* Subtoggle (^/v) — tagab et nupp on minimaalselt 44×44 ja sõrmega tabatav */
  body.vlg-theme .vlg-cat-subtoggle {
    min-width: 44px !important;
    min-height: 44px !important;
    width: 44px !important;
    height: 44px !important;
    cursor: pointer !important;
    touch-action: manipulation !important;
    position: relative !important;
    z-index: 2 !important;
  }
  body.vlg-theme .vlg-cat-subtoggle:active {
    background: #fff5e8 !important;
    border-color: rgba(242,138,0,.5) !important;
    transform: scale(0.94);
  }

  /* Tagab et lapse kategooriad on klikitavad — nupule pole pointer-events: none */
  body.vlg-theme .vlg-cat-tree .vlg-cat-row {
    position: relative !important;
    z-index: 1 !important;
  }
  body.vlg-theme .vlg-cat-tree .vlg-cat-row a {
    cursor: pointer !important;
    touch-action: manipulation !important;
  }

  /* Alamkategooria akordion — kui open, ole nähtaval */
  body.vlg-theme .vlg-cat-item.is-sub-open > .vlg-cat-submenu {
    display: grid !important;
  }

  /* Mobile drawer close button — väike X parem-üla nurgas, peab olema klikitav */
  body.vlg-theme .vlg-mobile-nav-close {
    min-width: 44px !important;
    min-height: 44px !important;
    cursor: pointer !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: rgba(242,138,0,.18) !important;
  }

  /* Hamburger nupp ise — sõrmega tabatav, kindel z-index */
  body.vlg-theme .vlg-mobile-toggle {
    cursor: pointer !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: rgba(242,138,0,.22) !important;
  }
}

/* Desktopil ka — tagab et üks ühine touch-friendly UX */
@media (min-width: 901px) {
  body.vlg-theme .vlg-cat-subtoggle {
    min-width: 36px;
    min-height: 36px;
  }
}

/* Tagab et lehte ei saa kerida kui drawer on lahti (mobile UX standard) */
body.vlg-theme.vlg-menu-open {
  overflow: hidden;
  position: relative;
}

/* Mobile backdrop — kindel klikitav */
body.vlg-theme .vlg-mobile-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(7, 18, 36, .42);
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
body.vlg-theme .vlg-mobile-backdrop[hidden] {
  display: none !important;
}


/* === 35-mobile-polish-pro.css === */
/* =========================================================
   v2.4.5 — Mobile Polish Pro
   ----------------------------------------------------------
   Visuaalsed täiustused mobiilsele vaatele:
   - Sujuvamad animatsioonid (drawer, kategooriate dropdown)
   - Korrastatud tüpograafia mobiilis (fluid scale via clamp)
   - Kompaktsem hero (rohkem ruumi sisule)
   - Tooteplaatide poleeritud paigutus
   - Selgemad CTA-nupud koos tap-feedback'iga
   - Korrastatud sektsioonide ruumiline rütm
   - Värsendatud üksiktoote vaade ja ostukorvi nupp
   - Sujuvamad scroll-übergangud
   ========================================================= */

@media (max-width: 900px) {
  /* ------------------------------------------------------- */
  /* 1. SUJUVAM DRAWER (bottom-sheet) animatsioon            */
  /* ------------------------------------------------------- */
  body.vlg-theme .vlg-nav {
    transition: transform .32s cubic-bezier(.32, .72, 0, 1),
                opacity .22s ease,
                visibility .32s !important;
    transform: translate3d(0, 100%, 0) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    will-change: transform, opacity !important;
  }
  body.vlg-theme .vlg-nav.is-open {
    transform: translate3d(0, 0, 0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body.vlg-theme .vlg-mobile-backdrop {
    transition: opacity .26s ease, visibility .26s !important;
    opacity: 0 !important;
  }
  body.vlg-theme .vlg-mobile-backdrop:not([hidden]) {
    opacity: 1 !important;
  }

  /* Hamburger ikoon → X läbi animatsiooni */
  body.vlg-theme .vlg-mobile-toggle-icon {
    position: relative !important;
    display: inline-block !important;
    width: 22px !important;
    height: 18px !important;
  }
  body.vlg-theme .vlg-mobile-toggle-icon span {
    position: absolute !important;
    left: 0 !important;
    width: 100% !important;
    height: 2.5px !important;
    border-radius: 999px !important;
    background: #071224 !important;
    transition: transform .28s cubic-bezier(.4, 0, .2, 1),
                opacity .18s ease,
                top .28s cubic-bezier(.4, 0, .2, 1) !important;
  }
  body.vlg-theme .vlg-mobile-toggle-icon span:nth-child(1) { top: 2px !important; }
  body.vlg-theme .vlg-mobile-toggle-icon span:nth-child(2) { top: 8px !important; }
  body.vlg-theme .vlg-mobile-toggle-icon span:nth-child(3) { top: 14px !important; }

  body.vlg-theme .vlg-mobile-toggle.is-open .vlg-mobile-toggle-icon span:nth-child(1) {
    top: 8px !important;
    transform: rotate(45deg) !important;
  }
  body.vlg-theme .vlg-mobile-toggle.is-open .vlg-mobile-toggle-icon span:nth-child(2) {
    opacity: 0 !important;
  }
  body.vlg-theme .vlg-mobile-toggle.is-open .vlg-mobile-toggle-icon span:nth-child(3) {
    top: 8px !important;
    transform: rotate(-45deg) !important;
  }

  /* ------------------------------------------------------- */
  /* 2. KATEGOORIA DROPDOWN — sujuvam avamine               */
  /* ------------------------------------------------------- */
  body.vlg-theme .vlg-cat-tree .vlg-cat-submenu {
    transition: max-height .26s cubic-bezier(.32, .72, 0, 1),
                opacity .22s ease,
                margin .26s ease,
                padding .26s ease !important;
    overflow: hidden;
  }

  body.vlg-theme .vlg-cat-subtoggle {
    transition: transform .2s ease,
                background .18s ease,
                border-color .18s ease !important;
  }

  body.vlg-theme .vlg-cat-subtoggle span {
    transition: transform .26s cubic-bezier(.4, 0, .2, 1) !important;
    display: inline-block;
  }
  body.vlg-theme .vlg-cat-item.is-sub-open > .vlg-cat-row .vlg-cat-subtoggle span {
    transform: rotate(180deg);
  }

  /* ------------------------------------------------------- */
  /* 3. FLUID TÜPOGRAAFIA mobiilis                           */
  /* ------------------------------------------------------- */
  body.vlg-theme .vlg-hero h1 {
    font-size: clamp(28px, 8vw, 38px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.02em !important;
  }
  body.vlg-theme .vlg-hero p {
    font-size: clamp(15px, 4vw, 17px) !important;
    line-height: 1.5 !important;
  }
  body.vlg-theme h2 {
    font-size: clamp(20px, 5.5vw, 24px) !important;
    line-height: 1.18 !important;
    letter-spacing: -.01em !important;
  }
  body.vlg-theme .vlg-section-head h2 {
    margin-bottom: 4px !important;
  }

  /* ------------------------------------------------------- */
  /* 4. HERO — KOMPAKTSEM JA SELGEM                          */
  /* ------------------------------------------------------- */
  body.vlg-theme .vlg-hero {
    padding: 28px 18px 32px !important;
    border-radius: 22px !important;
    margin: 14px 0 !important;
  }
  body.vlg-theme .vlg-hero .vlg-kicker {
    font-size: 11.5px !important;
    padding: 5px 11px !important;
    border-radius: 999px !important;
    font-weight: 800 !important;
    letter-spacing: .04em !important;
  }
  body.vlg-theme .vlg-hero-actions {
    gap: 8px !important;
    margin-top: 18px !important;
  }
  body.vlg-theme .vlg-hero-actions .vlg-btn-primary,
  body.vlg-theme .vlg-hero-actions .vlg-btn,
  body.vlg-theme .vlg-hero .vlg-btn {
    min-height: 50px !important;
    border-radius: 16px !important;
    font-size: 14.5px !important;
    font-weight: 800 !important;
    letter-spacing: -.005em !important;
  }

  /* ------------------------------------------------------- */
  /* 5. SEKTSIOONIDE RÜTM — ühtlane ruum                     */
  /* ------------------------------------------------------- */
  body.vlg-theme .vlg-section,
  body.vlg-theme .site-main > section,
  body.vlg-theme .vlg-home-section {
    margin: 28px 0 !important;
  }
  body.vlg-theme .vlg-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px !important;
  }
  body.vlg-theme .vlg-section-head h2 {
    margin: 0 !important;
  }

  /* ------------------------------------------------------- */
  /* 6. KATEGOORIAKAARDID avalehel — pildi-keskne            */
  /* ------------------------------------------------------- */
  body.vlg-theme .vlg-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  body.vlg-theme .vlg-category-card {
    border-radius: 18px !important;
    overflow: hidden !important;
    border: 1px solid rgba(219, 229, 241, .8) !important;
    background: #fff !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, .04) !important;
    transition: transform .2s ease, box-shadow .2s ease !important;
  }
  body.vlg-theme .vlg-category-card:active {
    transform: scale(.98);
    box-shadow: 0 2px 8px rgba(15, 23, 42, .03) !important;
  }
  body.vlg-theme .vlg-category-card img {
    aspect-ratio: 1 / 1 !important;
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
  }
  body.vlg-theme .vlg-category-card > div {
    padding: 10px 12px 12px !important;
  }
  body.vlg-theme .vlg-category-card strong {
    display: block !important;
    font-size: 13.5px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    color: #071224 !important;
    overflow-wrap: anywhere !important;
  }
  body.vlg-theme .vlg-category-card small {
    display: block !important;
    font-size: 11.5px !important;
    color: #64748b !important;
    margin-top: 2px !important;
  }
  body.vlg-theme .vlg-category-card span {
    display: inline-block !important;
    margin-top: 6px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: var(--vlg-primary, #f28a00) !important;
  }

  /* ------------------------------------------------------- */
  /* 7. TOOTEPLAADID — selgem 2-veeruline paigutus           */
  /* ------------------------------------------------------- */
  body.vlg-theme ul.products,
  body.vlg-theme .vlg-products-grid,
  body.vlg-theme .vlg-shop-products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body.vlg-theme ul.products li.product,
  body.vlg-theme .vlg-product-card {
    background: #fff !important;
    border: 1px solid rgba(219, 229, 241, .85) !important;
    border-radius: 18px !important;
    padding: 8px !important;
    transition: transform .18s ease, box-shadow .18s ease !important;
  }
  body.vlg-theme ul.products li.product:active,
  body.vlg-theme .vlg-product-card:active {
    transform: scale(.985);
  }

  body.vlg-theme ul.products li.product img:first-of-type,
  body.vlg-theme .vlg-product-card img:first-of-type {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    object-fit: contain !important;
    background: #f8fafc !important;
    border-radius: 12px !important;
    padding: 8px !important;
  }

  body.vlg-theme ul.products li.product .price,
  body.vlg-theme .vlg-product-card .price {
    font-size: 15px !important;
    font-weight: 900 !important;
    color: #071224 !important;
    margin: 4px 0 6px !important;
  }
  body.vlg-theme ul.products li.product del,
  body.vlg-theme .vlg-product-card del {
    color: #94a3b8 !important;
    font-weight: 500 !important;
    font-size: 12px !important;
    margin-right: 4px !important;
  }
  body.vlg-theme ul.products li.product ins,
  body.vlg-theme .vlg-product-card ins {
    color: var(--vlg-primary, #f28a00) !important;
    text-decoration: none !important;
    font-weight: 900 !important;
  }

  /* Add to cart nupp — selgem CTA */
  body.vlg-theme ul.products li.product .button,
  body.vlg-theme .vlg-product-card .button,
  body.vlg-theme .vlg-product-card .add_to_cart_button {
    background: linear-gradient(135deg, var(--vlg-primary, #f28a00) 0%, #ff9a1a 100%) !important;
    color: #fff !important;
    border: 0 !important;
    box-shadow: 0 4px 12px rgba(242, 138, 0, .25) !important;
    text-shadow: none !important;
    font-weight: 800 !important;
    transition: transform .15s ease, box-shadow .15s ease !important;
  }
  body.vlg-theme ul.products li.product .button:active,
  body.vlg-theme .vlg-product-card .button:active,
  body.vlg-theme .vlg-product-card .add_to_cart_button:active {
    transform: scale(.97);
    box-shadow: 0 2px 8px rgba(242, 138, 0, .22) !important;
  }

  /* ------------------------------------------------------- */
  /* 8. ÜKSIKTOOTE LEHE OSTU-KASTI POLIISH                   */
  /* ------------------------------------------------------- */
  body.vlg-theme .vlg-product-buybox,
  body.vlg-theme #vlg-product-buybox {
    border-radius: 22px !important;
    padding: 18px 16px !important;
    background: linear-gradient(180deg, #fff 0%, #fffbf5 100%) !important;
    border: 1px solid rgba(254, 215, 170, .6) !important;
    box-shadow: 0 8px 26px rgba(15, 23, 42, .07) !important;
  }
  body.vlg-theme .vlg-product-buybox .single_add_to_cart_button,
  body.vlg-theme #vlg-product-buybox .single_add_to_cart_button {
    width: 100% !important;
    min-height: 54px !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, var(--vlg-primary, #f28a00) 0%, #ff9a1a 100%) !important;
    color: #fff !important;
    border: 0 !important;
    box-shadow: 0 8px 22px rgba(242, 138, 0, .35) !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    letter-spacing: -.005em !important;
    transition: transform .15s ease, box-shadow .15s ease !important;
  }
  body.vlg-theme .vlg-product-buybox .single_add_to_cart_button:active,
  body.vlg-theme #vlg-product-buybox .single_add_to_cart_button:active {
    transform: scale(.98);
    box-shadow: 0 4px 14px rgba(242, 138, 0, .28) !important;
  }

  /* Quantity input + plus/minus mobiilis hästi haaratav */
  body.vlg-theme .quantity .qty,
  body.vlg-theme .vlg-qty-input {
    min-width: 52px !important;
    height: 48px !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    text-align: center !important;
    border-radius: 12px !important;
  }
  body.vlg-theme .vlg-qty-btn,
  body.vlg-theme .quantity .plus,
  body.vlg-theme .quantity .minus {
    min-width: 44px !important;
    min-height: 44px !important;
    border-radius: 12px !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: rgba(242, 138, 0, .18) !important;
  }
  body.vlg-theme .vlg-qty-btn:active,
  body.vlg-theme .quantity .plus:active,
  body.vlg-theme .quantity .minus:active {
    transform: scale(.94);
  }

  /* ------------------------------------------------------- */
  /* 9. STICKY MOBILE BUYBAR — modernsem look                */
  /* ------------------------------------------------------- */
  body.vlg-theme .vlg-mobile-product-bar {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    bottom: max(10px, env(safe-area-inset-bottom)) !important;
    border-radius: 20px !important;
    padding: 10px 12px !important;
    background: rgba(255, 255, 255, .98) !important;
    backdrop-filter: blur(12px) saturate(170%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(170%) !important;
    border: 1px solid rgba(219, 229, 241, .9) !important;
    box-shadow: 0 14px 40px rgba(7, 18, 36, .18) !important;
    z-index: 7500 !important;
    animation: vlg-buybar-slide-up .32s cubic-bezier(.32, .72, 0, 1) both;
  }
  @keyframes vlg-buybar-slide-up {
    from { transform: translateY(120%); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
  }

  body.vlg-theme .vlg-mobile-product-bar__price {
    display: flex !important;
    flex-direction: column !important;
    line-height: 1.1 !important;
  }
  body.vlg-theme .vlg-mobile-product-bar__price span {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #94a3b8 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
  }
  body.vlg-theme .vlg-mobile-product-bar__price strong {
    font-size: 17px !important;
    font-weight: 900 !important;
    color: #071224 !important;
    margin-top: 1px !important;
  }
  body.vlg-theme .vlg-mobile-product-bar__button {
    min-height: 48px !important;
    padding: 0 22px !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, var(--vlg-primary, #f28a00) 0%, #ff9a1a 100%) !important;
    color: #fff !important;
    font-weight: 900 !important;
    font-size: 15px !important;
    text-decoration: none !important;
    display: inline-grid !important;
    place-items: center !important;
    box-shadow: 0 6px 18px rgba(242, 138, 0, .35) !important;
    transition: transform .15s ease !important;
  }
  body.vlg-theme .vlg-mobile-product-bar__button:active {
    transform: scale(.97);
  }

  /* ------------------------------------------------------- */
  /* 10. JALUS — kompaktsem, akordion-stiilis sektsioonid    */
  /* ------------------------------------------------------- */
  body.vlg-theme .vlg-footer {
    padding: 24px var(--vlg-mobile-page-x, 14px) calc(20px + env(safe-area-inset-bottom)) !important;
  }
  body.vlg-theme .vlg-footer-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  body.vlg-theme .vlg-footer-grid > div,
  body.vlg-theme .vlg-footer-grid > section,
  body.vlg-theme .vlg-footer-col {
    padding: 14px 16px !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, .04) !important;
    border: 1px solid rgba(255, 255, 255, .08) !important;
  }
  body.vlg-theme .vlg-footer h3,
  body.vlg-theme .vlg-footer-col h3,
  body.vlg-theme .vlg-footer-col strong {
    font-size: 13px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
    margin: 0 0 8px !important;
  }
  body.vlg-theme .vlg-footer ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
  }
  body.vlg-theme .vlg-footer a {
    min-height: 36px !important;
    display: flex !important;
    align-items: center !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
  }
  body.vlg-theme .vlg-footer-bottom {
    margin-top: 18px !important;
    padding-top: 14px !important;
    border-top: 1px solid rgba(255, 255, 255, .12) !important;
    text-align: center !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
    opacity: .85 !important;
  }

  /* ------------------------------------------------------- */
  /* 11. NUPPUDE ÜLDINE POLISH (kõik primaarsed CTAd)        */
  /* ------------------------------------------------------- */
  body.vlg-theme .vlg-btn,
  body.vlg-theme .vlg-btn-primary,
  body.vlg-theme .button.alt,
  body.vlg-theme .wp-element-button {
    transition: transform .15s ease, box-shadow .15s ease, filter .15s ease !important;
  }
  body.vlg-theme .vlg-btn:active,
  body.vlg-theme .vlg-btn-primary:active,
  body.vlg-theme .button:active {
    transform: scale(.97);
    filter: brightness(.97);
  }

  /* ------------------------------------------------------- */
  /* 12. SCROLL-JÄRGNE FADE-IN sektsioonidele                */
  /* ------------------------------------------------------- */
  @media (prefers-reduced-motion: no-preference) {
    body.vlg-theme .vlg-section,
    body.vlg-theme .vlg-home-section,
    body.vlg-theme .vlg-hero {
      animation: vlg-fade-up .5s cubic-bezier(.32, .72, 0, 1) both;
      animation-delay: 60ms;
    }
    @keyframes vlg-fade-up {
      from { opacity: 0; transform: translateY(14px); }
      to { opacity: 1; transform: translateY(0); }
    }
  }

  /* ------------------------------------------------------- */
  /* 13. USALDUSRIBA mobiilis — kompaktsem horisontaalne     */
  /* ------------------------------------------------------- */
  body.vlg-theme .vlg-trust-grid,
  body.vlg-theme .vlg-trust-bar {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }
  body.vlg-theme .vlg-trust-grid > div,
  body.vlg-theme .vlg-trust-bar > div {
    padding: 12px 10px !important;
    border-radius: 14px !important;
    background: #fff !important;
    border: 1px solid rgba(219, 229, 241, .85) !important;
    text-align: center !important;
    font-size: 12.5px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    color: #071224 !important;
  }

  /* ------------------------------------------------------- */
  /* 14. Mini-cart drawer mobiilis — täisekraanile           */
  /* ------------------------------------------------------- */
  body.vlg-theme .vlg-mini-cart-drawer.is-open,
  body.vlg-theme .vlg-mini-cart.is-open {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 0 !important;
  }
}

/* Väiksematele ekraanidele veel täiendav optimeerimine */
@media (max-width: 430px) {
  body.vlg-theme .vlg-section,
  body.vlg-theme .vlg-home-section {
    margin: 22px 0 !important;
  }
  body.vlg-theme .vlg-hero {
    padding: 24px 16px 28px !important;
  }
  body.vlg-theme .vlg-category-grid {
    gap: 8px !important;
  }
  body.vlg-theme ul.products,
  body.vlg-theme .vlg-products-grid {
    gap: 8px !important;
  }
}

/* Kui kasutaja eelistab vähendatud animatsioone, austa seda */
@media (prefers-reduced-motion: reduce) {
  body.vlg-theme .vlg-nav,
  body.vlg-theme .vlg-mobile-backdrop,
  body.vlg-theme .vlg-mobile-toggle-icon span,
  body.vlg-theme .vlg-cat-tree .vlg-cat-submenu,
  body.vlg-theme .vlg-cat-subtoggle span {
    transition: none !important;
  }
  body.vlg-theme .vlg-mobile-product-bar {
    animation: none !important;
  }
}


/* === 36-mobile-shop-pro.css === */
/* =========================================================
   v2.4.7 — Category dropdown hardening + mobile shop polish
   ---------------------------------------------------------
   - Header category dropdown stays above hero/product content.
   - Mobile category accordion has reliable open/closed states.
   - Shop/category pages get a cleaner app-like mobile layout.
   ========================================================= */

body.vlg-theme .vlg-site-header,
body.vlg-theme .vlg-nav,
body.vlg-theme .vlg-nav-inner,
body.vlg-theme .vlg-category-menu {
  overflow: visible !important;
}

body.vlg-theme .vlg-category-menu {
  isolation: isolate;
}

body.vlg-theme .vlg-category-menu.is-open {
  z-index: 260;
}

body.vlg-theme .vlg-category-dropdown {
  z-index: 9999 !important;
  pointer-events: none;
}

body.vlg-theme .vlg-category-menu.is-open .vlg-category-dropdown,
body.vlg-theme .vlg-category-dropdown.is-open,
body.vlg-theme .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown {
  pointer-events: auto;
}

@media (min-width: 901px) {
  body.vlg-theme .vlg-category-dropdown {
    display: none !important;
    min-width: 330px;
    max-height: min(70vh, 620px);
    overflow: auto;
    overscroll-behavior: contain;
  }

  body.vlg-theme .vlg-category-menu.is-open .vlg-category-dropdown,
  body.vlg-theme .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown {
    display: block !important;
  }
}

@media (max-width: 900px) {
  body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown {
    pointer-events: auto !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-menu:not(.is-open) .vlg-category-dropdown {
    pointer-events: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown {
    pointer-events: auto !important;
  }
}

@media (max-width: 991px) {
  body.vlg-theme.post-type-archive-product,
  body.vlg-theme.tax-product_cat,
  body.vlg-theme.tax-product_tag,
  body.vlg-theme.search-results {
    background: #f5f7fb;
  }

  body.vlg-theme .vlg-shop-page {
    width: 100%;
    padding-top: 12px !important;
    padding-bottom: 34px !important;
  }

  body.vlg-theme .vlg-breadcrumbs {
    margin: 0 0 10px !important;
    padding: 0 2px !important;
    font-size: 12px !important;
    white-space: nowrap;
    overflow: auto;
    scrollbar-width: none;
  }

  body.vlg-theme .vlg-breadcrumbs::-webkit-scrollbar {
    display: none;
  }

  body.vlg-theme .vlg-shop-head {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
    gap: 14px !important;
    margin: 0 0 12px !important;
    padding: 16px !important;
    border-radius: 22px !important;
    background:
      radial-gradient(circle at 100% 0, rgba(242,138,0,.14), transparent 36%),
      #fff !important;
    box-shadow: 0 12px 30px rgba(7,18,36,.06) !important;
  }

  body.vlg-theme .vlg-shop-head h1 {
    margin: 0 !important;
    font-size: clamp(24px, 7vw, 34px) !important;
    line-height: 1.05 !important;
    letter-spacing: -.045em !important;
  }

  body.vlg-theme .vlg-shop-head .term-description,
  body.vlg-theme .vlg-shop-head .page-description {
    margin-top: 8px !important;
    font-size: 14px !important;
    line-height: 1.48 !important;
    color: #64748b !important;
  }

  body.vlg-theme .vlg-shop-tools,
  body.vlg-theme .woocommerce-notices-wrapper + .vlg-shop-tools {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    width: 100% !important;
  }

  body.vlg-theme .woocommerce-result-count {
    display: inline-flex !important;
    align-items: center;
    min-height: 36px;
    width: fit-content;
    margin: 0 !important;
    padding: 0 12px !important;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    background: #f8fafc;
    color: #64748b !important;
    font-size: 12px !important;
    font-weight: 850 !important;
  }

  body.vlg-theme .woocommerce-ordering {
    margin: 0 !important;
    width: 100% !important;
  }

  body.vlg-theme .woocommerce-ordering select {
    width: 100% !important;
    min-height: 46px !important;
    padding: 0 40px 0 13px !important;
    border: 1px solid #dbe5f1 !important;
    border-radius: 15px !important;
    background-color: #fff !important;
    color: #0f172a !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    box-shadow: 0 8px 18px rgba(15,23,42,.04) !important;
  }

  body.vlg-theme .vlg-filter-toggle {
    position: sticky;
    top: calc(var(--vlg-mobile-header-height, 72px) + 8px);
    z-index: 120;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px !important;
    margin: 0 0 12px !important;
    border-color: rgba(242,138,0,.24) !important;
    border-radius: 16px !important;
    background: #fff !important;
    color: #071224 !important;
    font-size: 14px !important;
    box-shadow: 0 12px 26px rgba(7,18,36,.08) !important;
  }

  body.vlg-filter-open.vlg-theme .vlg-filter-toggle,
  body.vlg-theme .vlg-filter-toggle.is-open {
    background: #071224 !important;
    color: #fff !important;
  }

  body.vlg-theme .vlg-filter-backdrop:not([hidden]) {
    position: fixed;
    inset: 0;
    display: block;
    width: 100%;
    min-height: 100dvh;
    border: 0;
    padding: 0;
    background: rgba(7,18,36,.42);
    backdrop-filter: blur(5px);
    z-index: 7100;
    cursor: pointer;
  }

  body.vlg-theme .vlg-shop-sidebar#vlgShopSidebar {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    bottom: max(10px, env(safe-area-inset-bottom)) !important;
    display: block !important;
    width: auto !important;
    max-height: min(78dvh, 680px) !important;
    margin: 0 !important;
    padding: 12px !important;
    overflow: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    border: 1px solid #dbe5f1 !important;
    border-radius: 24px 24px 18px 18px !important;
    background: rgba(255,255,255,.98) !important;
    box-shadow: 0 -18px 70px rgba(7,18,36,.28) !important;
    transform: translate3d(0, 112%, 0) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: transform .28s cubic-bezier(.32,.72,0,1), opacity .2s ease, visibility .28s !important;
    z-index: 7110 !important;
  }

  body.vlg-theme .vlg-shop-sidebar#vlgShopSidebar.is-open {
    transform: translate3d(0, 0, 0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body.vlg-theme .vlg-filter-drawer-head {
    position: sticky;
    top: -12px;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 54px;
    margin: -12px -12px 12px;
    padding: 10px 12px;
    border-bottom: 1px solid #e2e8f0;
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(10px);
  }

  body.vlg-theme .vlg-filter-drawer-head strong {
    color: #071224;
    font-size: 18px;
    letter-spacing: -.035em;
  }

  body.vlg-theme .vlg-filter-close {
    display: inline-grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border: 1px solid #dbe5f1;
    border-radius: 14px;
    background: #f8fafc;
    color: #071224;
    font-size: 28px;
    line-height: 1;
    font-weight: 800;
    cursor: pointer;
  }

  body.vlg-theme .vlg-shop-layout {
    display: block !important;
  }

  body.vlg-theme .vlg-shop-products {
    min-width: 0 !important;
  }

  body.vlg-theme.post-type-archive-product .vlg-shop-products ul.products,
  body.vlg-theme.tax-product_cat .vlg-shop-products ul.products,
  body.vlg-theme.tax-product_tag .vlg-shop-products ul.products,
  body.vlg-theme.search-results .vlg-shop-products ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 11px !important;
    align-items: stretch !important;
    margin: 0 !important;
  }

  body.vlg-theme .vlg-shop-products .vlg-product-card.product,
  body.vlg-theme.post-type-archive-product ul.products .vlg-product-card.product,
  body.vlg-theme.tax-product_cat ul.products .vlg-product-card.product,
  body.vlg-theme.tax-product_tag ul.products .vlg-product-card.product {
    width: auto !important;
    min-width: 0 !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 24px rgba(7,18,36,.055) !important;
  }

  body.vlg-theme .vlg-shop-products .vlg-product-link {
    min-width: 0;
  }

  body.vlg-theme .vlg-shop-products .vlg-card-image-wrap {
    aspect-ratio: 1 / .96 !important;
    padding: 9px !important;
    border-bottom: 1px solid #eef3f8;
  }

  body.vlg-theme .vlg-shop-products .vlg-card-image-wrap img,
  body.vlg-theme .vlg-shop-products .vlg-card-image-wrap .wp-post-image {
    width: 100% !important;
    max-width: 132px !important;
    max-height: 128px !important;
    object-fit: contain !important;
  }

  body.vlg-theme .vlg-shop-products .vlg-card-content {
    padding: 10px 10px 5px !important;
  }

  body.vlg-theme .vlg-shop-products .vlg-card-category {
    display: block !important;
    max-width: 100%;
    margin-bottom: 5px !important;
    overflow: hidden;
    color: #f28a00 !important;
    font-size: 10px !important;
    line-height: 1.15 !important;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.vlg-theme .vlg-shop-products .vlg-card-content h2,
  body.vlg-theme .vlg-shop-products .woocommerce-loop-product__title {
    min-height: 38px !important;
    margin-bottom: 7px !important;
    color: #071224 !important;
    font-size: 13px !important;
    line-height: 1.22 !important;
    letter-spacing: -.01em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  body.vlg-theme .vlg-shop-products .vlg-card-price,
  body.vlg-theme .vlg-shop-products .price {
    font-size: 14px !important;
    line-height: 1.15 !important;
    font-weight: 950 !important;
  }

  body.vlg-theme .vlg-shop-products .vlg-card-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 7px !important;
    padding: 8px 10px 10px !important;
  }

  body.vlg-theme .vlg-shop-products .vlg-card-quickqty {
    display: grid !important;
    grid-template-columns: 34px 1fr 34px !important;
    min-height: 36px !important;
    border-radius: 13px !important;
  }

  body.vlg-theme .vlg-shop-products .vlg-card-qty-btn {
    min-width: 34px !important;
    min-height: 34px !important;
    border-radius: 12px !important;
  }

  body.vlg-theme .vlg-shop-products .vlg-card-qty-input {
    min-height: 34px !important;
    font-size: 14px !important;
  }

  body.vlg-theme .vlg-shop-products .vlg-card-cart,
  body.vlg-theme .vlg-shop-products .vlg-card-actions .button,
  body.vlg-theme .vlg-shop-products .vlg-card-actions .added_to_cart {
    min-height: 40px !important;
    padding: 8px 9px !important;
    border-radius: 14px !important;
    font-size: 12.5px !important;
    line-height: 1.1 !important;
    white-space: normal !important;
  }

  body.vlg-theme .vlg-shop-products .vlg-card-actions .button::before,
  body.vlg-theme .vlg-shop-products .vlg-card-cart::before,
  body.vlg-theme .vlg-shop-products .vlg-card-actions .button::after,
  body.vlg-theme .vlg-shop-products .vlg-card-cart::after {
    display: none !important;
  }
}

@media (max-width: 360px) {
  body.vlg-theme.post-type-archive-product .vlg-shop-products ul.products,
  body.vlg-theme.tax-product_cat .vlg-shop-products ul.products,
  body.vlg-theme.tax-product_tag .vlg-shop-products ul.products,
  body.vlg-theme.search-results .vlg-shop-products ul.products {
    grid-template-columns: 1fr !important;
  }

  body.vlg-theme .vlg-shop-products .vlg-card-image-wrap img,
  body.vlg-theme .vlg-shop-products .vlg-card-image-wrap .wp-post-image {
    max-width: 170px !important;
    max-height: 160px !important;
  }
}


/* === 37-mobile-critical-storefront.css === */
/* =========================================================
   v2.4.9 — Critical mobile storefront fix
   ---------------------------------------------------------
   One final mobile layer loaded last. It keeps the hamburger
   tappable, shows categories inside the mobile drawer, and
   improves product-card text readability on shop/category pages.
   ========================================================= */

@media (max-width: 900px) {
  body.vlg-theme .vlg-site-header {
    position: relative;
    z-index: 9000 !important;
  }

  body.vlg-theme .vlg-main-header,
  body.vlg-theme .vlg-main-header-inner,
  body.vlg-theme .vlg-header-brand-row {
    overflow: visible !important;
  }

  body.vlg-theme .vlg-mobile-toggle {
    display: inline-grid !important;
    place-items: center !important;
    position: relative !important;
    z-index: 9300 !important;
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    padding: 0 !important;
    border: 1px solid #dbe5f1 !important;
    border-radius: 15px !important;
    background: #fff !important;
    color: #071224 !important;
    box-shadow: 0 10px 24px rgba(7,18,36,.08) !important;
    cursor: pointer !important;
    touch-action: manipulation !important;
    pointer-events: auto !important;
  }

  body.vlg-theme .vlg-mobile-toggle.is-open {
    border-color: rgba(242,138,0,.48) !important;
    background: #fff7ed !important;
  }

  body.vlg-theme .vlg-mobile-backdrop:not([hidden]) {
    position: fixed !important;
    inset: 0 !important;
    display: block !important;
    z-index: 9100 !important;
    background: rgba(7,18,36,.48) !important;
    backdrop-filter: blur(4px) saturate(120%);
  }

  body.vlg-theme .vlg-nav:not(.is-open) {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.vlg-theme .vlg-nav.is-open {
    position: fixed !important;
    left: 8px !important;
    right: 8px !important;
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
    top: auto !important;
    display: block !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    max-height: min(88dvh, 720px) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(218,228,240,.96) !important;
    border-radius: 26px 26px 20px 20px !important;
    background: #fff !important;
    box-shadow: 0 -18px 70px rgba(7,18,36,.32) !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 9200 !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-nav-inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    max-height: min(88dvh, 720px) !important;
    padding: 10px 12px 14px !important;
    overflow: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch;
  }

  body.vlg-theme .vlg-mobile-nav-head {
    display: flex !important;
    position: sticky !important;
    top: -10px !important;
    z-index: 2 !important;
    padding: 8px 0 10px !important;
    background: linear-gradient(180deg, #fff 0%, rgba(255,255,255,.94) 100%) !important;
  }

  body.vlg-theme .vlg-mobile-quick-links {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.vlg-theme .vlg-mobile-quick-links a {
    min-width: 0 !important;
    min-height: 42px !important;
    padding: 0 8px !important;
    font-size: 12px !important;
    line-height: 1.1 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-menu,
  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-button {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 0 15px !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg, #071224 0%, #112340 100%) !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 950 !important;
    pointer-events: auto !important;
  }

  /* On phones the category list is intentionally visible inside the menu. */
  body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown,
  body.vlg-theme .vlg-nav.is-open .vlg-category-menu .vlg-category-dropdown,
  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown {
    position: static !important;
    display: block !important;
    width: 100% !important;
    max-height: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 9px 0 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    grid-template-rows: 1fr !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown > ul,
  body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown > .vlg-cat-dropdown-list {
    display: grid !important;
    gap: 7px !important;
    max-height: min(46dvh, 390px) !important;
    min-height: 120px !important;
    overflow: auto !important;
    margin: 0 !important;
    padding: 8px !important;
    border: 1px solid #dbe5f1 !important;
    border-radius: 18px !important;
    background: #f8fafc !important;
    list-style: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown a,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-link {
    display: flex !important;
    align-items: center !important;
    min-height: 48px !important;
    padding: 10px 12px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 15px !important;
    background: #fff !important;
    color: #0f172a !important;
    font-size: 14px !important;
    line-height: 1.22 !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    box-shadow: 0 5px 14px rgba(15,23,42,.035) !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-title {
    color: #0f172a !important;
    font-size: 14px !important;
    line-height: 1.22 !important;
    font-weight: 900 !important;
    overflow-wrap: anywhere !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-count {
    color: #64748b !important;
    font-size: 12px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-primary-menu {
    display: grid !important;
    gap: 7px !important;
  }
}

@media (max-width: 991px) {
  body.vlg-theme.post-type-archive-product .vlg-shop-products ul.products,
  body.vlg-theme.tax-product_cat .vlg-shop-products ul.products,
  body.vlg-theme.tax-product_tag .vlg-shop-products ul.products,
  body.vlg-theme.search-results .vlg-shop-products ul.products,
  body.vlg-theme .vlg-shop-products ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    align-items: stretch !important;
  }

  body.vlg-theme .vlg-shop-products .vlg-product-card.product,
  body.vlg-theme ul.products .vlg-product-card.product {
    min-width: 0 !important;
    overflow: hidden !important;
    border-radius: 18px !important;
    background: #fff !important;
  }

  body.vlg-theme .vlg-shop-products .vlg-card-content,
  body.vlg-theme ul.products .vlg-card-content {
    display: grid !important;
    gap: 6px !important;
    min-width: 0 !important;
    padding: 11px 10px 7px !important;
    background: #fff !important;
  }

  body.vlg-theme .vlg-shop-products .vlg-card-content h2,
  body.vlg-theme .vlg-shop-products .woocommerce-loop-product__title,
  body.vlg-theme ul.products .vlg-card-content h2,
  body.vlg-theme ul.products .woocommerce-loop-product__title {
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    min-height: 54px !important;
    max-height: none !important;
    margin: 0 0 5px !important;
    padding: 0 !important;
    overflow: hidden !important;
    color: #071224 !important;
    font-size: 14px !important;
    line-height: 1.28 !important;
    letter-spacing: -.01em !important;
    font-weight: 900 !important;
    text-shadow: none !important;
  }

  body.vlg-theme .vlg-shop-products .vlg-card-category,
  body.vlg-theme ul.products .vlg-card-category {
    color: #b95d00 !important;
    font-size: 10.5px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.vlg-theme .vlg-shop-products .vlg-card-price,
  body.vlg-theme .vlg-shop-products .price,
  body.vlg-theme ul.products .vlg-card-price,
  body.vlg-theme ul.products .price {
    color: #071224 !important;
    font-size: 15px !important;
    line-height: 1.15 !important;
    font-weight: 950 !important;
  }

  body.vlg-theme .vlg-shop-products .vlg-card-actions,
  body.vlg-theme ul.products .vlg-card-actions {
    padding: 8px 10px 11px !important;
    background: #fff !important;
  }

  body.vlg-theme .vlg-shop-products .vlg-card-cart,
  body.vlg-theme .vlg-shop-products .button,
  body.vlg-theme ul.products .vlg-card-cart,
  body.vlg-theme ul.products .button {
    min-height: 42px !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
    font-weight: 950 !important;
    white-space: normal !important;
  }
}

@media (max-width: 380px) {
  body.vlg-theme.post-type-archive-product .vlg-shop-products ul.products,
  body.vlg-theme.tax-product_cat .vlg-shop-products ul.products,
  body.vlg-theme.tax-product_tag .vlg-shop-products ul.products,
  body.vlg-theme.search-results .vlg-shop-products ul.products,
  body.vlg-theme .vlg-shop-products ul.products {
    grid-template-columns: 1fr !important;
  }

  body.vlg-theme .vlg-shop-products .vlg-card-content h2,
  body.vlg-theme .vlg-shop-products .woocommerce-loop-product__title,
  body.vlg-theme ul.products .vlg-card-content h2,
  body.vlg-theme ul.products .woocommerce-loop-product__title {
    min-height: auto !important;
    font-size: 15px !important;
  }
}


/* === 38-mobile-overflow-fit.css === */
/* =========================================================
   v2.5.0 — Mobile overflow + menu fit hotfix
   ---------------------------------------------------------
   Last CSS layer. Prevents the category menu from taking page
   height on phones, removes horizontal overflow, makes the
   first screen compact, and improves mobile product text.
   ========================================================= */

@media (max-width: 900px) {
  html,
  body.vlg-theme {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip !important;
  }

  body.vlg-theme *,
  body.vlg-theme *::before,
  body.vlg-theme *::after {
    box-sizing: border-box !important;
  }

  body.vlg-theme .vlg-container,
  body.vlg-theme .site-main,
  body.vlg-theme .vlg-home,
  body.vlg-theme .vlg-shop-page,
  body.vlg-theme .vlg-main-header-inner,
  body.vlg-theme .vlg-nav-inner {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.vlg-theme .vlg-container {
    padding-left: max(14px, env(safe-area-inset-left)) !important;
    padding-right: max(14px, env(safe-area-inset-right)) !important;
  }

  body.vlg-theme img,
  body.vlg-theme svg,
  body.vlg-theme video,
  body.vlg-theme iframe {
    max-width: 100% !important;
  }

  /* Mobile menu must not live in the normal page flow. */
  body.vlg-theme .vlg-nav {
    position: fixed !important;
    left: 8px !important;
    right: 8px !important;
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
    top: auto !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    z-index: 9200 !important;
  }

  body.vlg-theme:not(.vlg-menu-open) .vlg-nav,
  body.vlg-theme .vlg-nav:not(.is-open) {
    display: none !important;
    height: 0 !important;
    max-height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translate3d(0, 100%, 0) !important;
  }

  body.vlg-theme:not(.vlg-menu-open) .vlg-category-menu,
  body.vlg-theme:not(.vlg-menu-open) .vlg-category-dropdown,
  body.vlg-theme:not(.vlg-menu-open) .vlg-category-menu.is-open .vlg-category-dropdown {
    display: none !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.vlg-theme.vlg-menu-open .vlg-nav.is-open {
    display: block !important;
    height: auto !important;
    max-height: min(82dvh, 680px) !important;
    min-height: 0 !important;
    overflow: hidden !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-nav-inner {
    max-height: min(82dvh, 680px) !important;
    padding: 10px 12px max(14px, env(safe-area-inset-bottom)) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-menu,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-dropdown {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    overflow: visible !important;
  }

  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-dropdown > ul,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-dropdown > .vlg-cat-dropdown-list {
    max-height: min(36dvh, 320px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  /* Compact homepage first screen. */
  body.vlg-theme .vlg-home .vlg-container {
    overflow: hidden !important;
  }

  body.vlg-theme .vlg-hero {
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    margin: 12px 0 12px !important;
    padding: 24px 16px 26px !important;
    border-radius: 22px !important;
    overflow: hidden !important;
  }

  body.vlg-theme .vlg-hero .vlg-hero-content,
  body.vlg-theme .vlg-hero-content {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.vlg-theme .vlg-hero .vlg-kicker {
    max-width: 100% !important;
    white-space: normal !important;
    font-size: 10.5px !important;
    line-height: 1.25 !important;
  }

  body.vlg-theme .vlg-hero h1 {
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 12px !important;
    font-size: clamp(28px, 8.4vw, 34px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  body.vlg-theme .vlg-hero p {
    max-width: 100% !important;
    margin-bottom: 16px !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  body.vlg-theme .vlg-hero-actions,
  body.vlg-theme .vlg-hero-actions .vlg-btn,
  body.vlg-theme .vlg-hero-actions .vlg-btn-primary,
  body.vlg-theme .vlg-hero .vlg-btn {
    width: 100% !important;
  }

  body.vlg-theme .vlg-hero-actions .vlg-btn,
  body.vlg-theme .vlg-hero .vlg-btn {
    min-height: 50px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    justify-content: center !important;
  }

  /* Trust cards: no single-letter overflow like "kohaletoimetamin e". */
  body.vlg-theme .vlg-trust-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 10px 0 14px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.vlg-theme .vlg-trust-item {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    align-items: center !important;
    min-width: 0 !important;
    min-height: 104px !important;
    padding: 12px 10px !important;
    text-align: center !important;
    overflow: hidden !important;
  }

  body.vlg-theme .vlg-trust-item > span {
    width: 46px !important;
    height: 46px !important;
    margin: 0 auto 6px !important;
  }

  body.vlg-theme .vlg-trust-item div,
  body.vlg-theme .vlg-trust-item strong,
  body.vlg-theme .vlg-trust-item small {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.vlg-theme .vlg-trust-item strong {
    display: block !important;
    color: #071224 !important;
    font-size: 14px !important;
    line-height: 1.14 !important;
    letter-spacing: -.015em !important;
    font-weight: 900 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: auto !important;
  }

  body.vlg-theme .vlg-trust-item small {
    display: none !important;
  }

  body.vlg-theme .vlg-section,
  body.vlg-theme .vlg-section-head,
  body.vlg-theme .vlg-category-grid,
  body.vlg-theme .vlg-products-grid,
  body.vlg-theme .vlg-shop-products,
  body.vlg-theme ul.products {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.vlg-theme .vlg-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body.vlg-theme .vlg-category-card {
    min-width: 0 !important;
    overflow: hidden !important;
  }

  body.vlg-theme .vlg-category-card strong {
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: auto !important;
  }

  /* Smaller cookie notice so it does not cover half of the screen. */
  body.vlg-theme .vlg-cookie-notice {
    left: 12px !important;
    right: 12px !important;
    bottom: max(10px, env(safe-area-inset-bottom)) !important;
    width: auto !important;
    max-width: none !important;
    gap: 10px !important;
    padding: 14px !important;
    border-radius: 20px !important;
  }

  body.vlg-theme .vlg-cookie-notice p {
    font-size: 14px !important;
    line-height: 1.35 !important;
  }

  body.vlg-theme .vlg-cookie-notice__button {
    min-height: 48px !important;
    border-radius: 15px !important;
  }
}

@media (max-width: 380px) {
  body.vlg-theme .vlg-container {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  body.vlg-theme .vlg-hero {
    padding: 22px 14px 24px !important;
  }

  body.vlg-theme .vlg-hero h1 {
    font-size: clamp(26px, 8vw, 31px) !important;
  }

  body.vlg-theme .vlg-trust-grid {
    gap: 8px !important;
  }

  body.vlg-theme .vlg-trust-item {
    min-height: 96px !important;
    padding: 10px 8px !important;
  }

  body.vlg-theme .vlg-trust-item strong {
    font-size: 13px !important;
  }
}


/* v2.5.1: empty category rows are removed in PHP; this keeps legacy cached markup from showing obvious zero badges. */
.vlg-cat-count:empty,
.vlg-category-card small:empty {
  display: none !important;
}


/* === 39-category-menu-mobile-final.css === */
/* =========================================================
   v2.5.2 — Final category menu + mobile drawer repair
   ---------------------------------------------------------
   - Desktop dropdown: no horizontal/native double scrollbars.
   - Desktop subcategories open inline, not outside the panel.
   - Mobile drawer: category list is always visible and readable.
   ========================================================= */

@media (min-width: 901px) {
  body.vlg-theme .vlg-site-header,
  body.vlg-theme .vlg-main-header,
  body.vlg-theme .vlg-nav,
  body.vlg-theme .vlg-nav-inner,
  body.vlg-theme .vlg-category-menu {
    overflow: visible !important;
  }

  body.vlg-theme .vlg-category-menu {
    position: relative !important;
    isolation: isolate;
  }

  body.vlg-theme .vlg-category-menu.is-open {
    z-index: 10050 !important;
  }

  body.vlg-theme .vlg-category-dropdown {
    position: absolute !important;
    left: 0 !important;
    right: auto !important;
    top: calc(100% + 10px) !important;
    display: none !important;
    width: min(430px, calc(100vw - 32px)) !important;
    min-width: min(430px, calc(100vw - 32px)) !important;
    max-width: min(430px, calc(100vw - 32px)) !important;
    max-height: min(74vh, 640px) !important;
    margin: 0 !important;
    padding: 12px !important;
    border: 1px solid rgba(219, 229, 241, .98) !important;
    border-radius: 20px !important;
    background: #fff !important;
    box-shadow: 0 24px 70px rgba(7, 18, 36, .18) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
    scrollbar-gutter: stable !important;
    z-index: 10060 !important;
    pointer-events: auto !important;
  }

  body.vlg-theme .vlg-category-menu.is-open .vlg-category-dropdown,
  body.vlg-theme .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown,
  body.vlg-theme .vlg-category-dropdown.is-open {
    display: block !important;
  }

  body.vlg-theme .vlg-category-dropdown > ul,
  body.vlg-theme .vlg-category-dropdown > .vlg-cat-dropdown-list,
  body.vlg-theme .vlg-cat-tree {
    display: grid !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    overflow: visible !important;
  }

  body.vlg-theme .vlg-cat-tree .vlg-cat-item,
  body.vlg-theme .vlg-cat-tree .vlg-cat-row {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.vlg-theme .vlg-cat-tree .vlg-cat-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 42px !important;
    align-items: center !important;
    gap: 8px !important;
  }

  body.vlg-theme .vlg-cat-tree .vlg-cat-item:not(.has-children) .vlg-cat-row {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.vlg-theme .vlg-cat-tree .vlg-cat-link {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 46px !important;
    gap: 10px !important;
    padding: 10px 12px !important;
    border-radius: 14px !important;
    color: #172033 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    white-space: normal !important;
    overflow: hidden !important;
  }

  body.vlg-theme .vlg-cat-tree .vlg-cat-title {
    min-width: 0 !important;
    max-width: 100% !important;
    color: inherit !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: auto !important;
  }

  body.vlg-theme .vlg-cat-tree .vlg-cat-count {
    flex: 0 0 auto !important;
    min-width: 28px !important;
    text-align: right !important;
  }

  body.vlg-theme .vlg-cat-subtoggle {
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    border-radius: 12px !important;
  }

  /* Desktop: keep children inside the same dropdown. This removes the broken
     horizontal scrollbar shown in the screenshot. */
  body.vlg-theme .vlg-cat-submenu-mode-accordion .vlg-cat-item.has-children:hover > .vlg-cat-submenu,
  body.vlg-theme .vlg-cat-submenu-mode-accordion .vlg-cat-item.has-children:focus-within > .vlg-cat-submenu,
  body.vlg-theme .vlg-cat-item.is-sub-open > .vlg-cat-submenu,
  body.vlg-theme .vlg-cat-submenu-mode-inline .vlg-cat-submenu {
    position: static !important;
    display: grid !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    max-height: none !important;
    gap: 5px !important;
    margin: 5px 0 7px 12px !important;
    padding: 0 0 0 10px !important;
    border: 0 !important;
    border-left: 2px solid rgba(242, 138, 0, .20) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  body.vlg-theme .vlg-cat-submenu .vlg-cat-link {
    min-height: 40px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    background: #fffaf3 !important;
    font-size: 13px !important;
  }
}

@media (max-width: 900px) {
  body.vlg-theme .vlg-nav.is-open,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open {
    position: fixed !important;
    left: 8px !important;
    right: 8px !important;
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
    top: auto !important;
    display: block !important;
    width: auto !important;
    max-width: none !important;
    max-height: min(88dvh, 720px) !important;
    overflow: hidden !important;
    z-index: 9200 !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-nav-inner,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-nav-inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
    gap: 10px !important;
    max-height: calc(min(88dvh, 720px) - 20px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-menu,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-menu {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    overflow: visible !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-button,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-button {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown,
  body.vlg-theme .vlg-nav.is-open .vlg-category-menu .vlg-category-dropdown,
  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-dropdown {
    position: static !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    margin: 9px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
    overflow: visible !important;
    grid-template-rows: 1fr !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown > ul,
  body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown > .vlg-cat-dropdown-list {
    display: grid !important;
    gap: 7px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    max-height: min(48dvh, 410px) !important;
    min-height: 160px !important;
    margin: 0 !important;
    padding: 8px !important;
    border: 1px solid #dbe5f1 !important;
    border-radius: 18px !important;
    background: #f8fafc !important;
    list-style: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree .vlg-cat-row {
    grid-template-columns: minmax(0, 1fr) 42px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree .vlg-cat-item:not(.has-children) .vlg-cat-row {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-link,
  body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown a {
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow: hidden !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-title {
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: auto !important;
  }
}


/* === 40-click-only-mobile-product-categories.css === */
/* =========================================================
   v2.5.3 — Click-only category menu + mobile product categories
   ---------------------------------------------------------
   - Parent categories no longer open on hover/focus. Subcategories open only
     after the customer taps/clicks the arrow button.
   - Mobile drawer shows product categories only, not normal page navigation.
   - Mobile drawer is fitted inside the viewport so it cannot disappear above
     the screen or overflow behind the browser chrome.
   ========================================================= */

/* Desktop/tablet: disable every old hover/focus rule that opened children. */
@media (min-width: 783px) {
  body.vlg-theme .vlg-cat-submenu-mode-accordion .vlg-cat-item.has-children:hover > .vlg-cat-submenu,
  body.vlg-theme .vlg-cat-submenu-mode-accordion .vlg-cat-item.has-children:focus-within > .vlg-cat-submenu {
    display: none !important;
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.vlg-theme .vlg-cat-submenu-mode-accordion .vlg-cat-item.has-children:hover > .vlg-cat-row .vlg-cat-link,
  body.vlg-theme .vlg-cat-submenu-mode-accordion .vlg-cat-item.has-children:focus-within > .vlg-cat-row .vlg-cat-link {
    background: transparent !important;
    color: #172033 !important;
  }

  body.vlg-theme .vlg-cat-item:hover > .vlg-cat-row .vlg-cat-subtoggle span {
    transform: none !important;
  }

  body.vlg-theme .vlg-cat-item.is-sub-open > .vlg-cat-row .vlg-cat-subtoggle span {
    transform: rotate(180deg) !important;
  }

  body.vlg-theme .vlg-cat-submenu-mode-accordion .vlg-cat-item.is-sub-open > .vlg-cat-submenu,
  body.vlg-theme .vlg-cat-item.is-sub-open > .vlg-cat-submenu {
    position: static !important;
    display: grid !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    max-height: none !important;
    gap: 5px !important;
    margin: 5px 0 7px 12px !important;
    padding: 0 0 0 10px !important;
    border: 0 !important;
    border-left: 2px solid rgba(242, 138, 0, .20) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }
}

/* Mobile: drawer as a real viewport-fitted panel. */
@media (max-width: 900px) {
  body.vlg-theme.vlg-menu-open,
  body.vlg-menu-open {
    overflow: hidden !important;
  }

  body.vlg-theme .vlg-mobile-backdrop:not([hidden]) {
    position: fixed !important;
    inset: 0 !important;
    z-index: 100000 !important;
  }

  body.vlg-theme .vlg-nav:not(.is-open) {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  body.vlg-theme .vlg-nav.is-open,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open {
    position: fixed !important;
    left: 8px !important;
    right: 8px !important;
    top: max(8px, env(safe-area-inset-top)) !important;
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(218, 228, 240, .98) !important;
    border-radius: 24px !important;
    background: rgba(255,255,255,.99) !important;
    box-shadow: 0 22px 80px rgba(7, 18, 36, .34) !important;
    transform: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 100010 !important;
  }

  body.admin-bar.vlg-theme .vlg-nav.is-open,
  body.admin-bar.vlg-theme.vlg-menu-open .vlg-nav.is-open {
    top: calc(var(--wp-admin--admin-bar--height, 46px) + 8px) !important;
  }

  body.vlg-theme .vlg-nav.is-open::before {
    content: "" !important;
    display: block !important;
    width: 46px !important;
    height: 5px !important;
    margin: 10px auto 6px !important;
    border-radius: 999px !important;
    background: #d7e1ed !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-nav-inner,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-nav-inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    height: calc(100% - 21px) !important;
    max-height: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 12px 12px !important;
    overflow: hidden !important;
    overscroll-behavior: contain !important;
  }

  /* Mobile menu should be product-category only. */
  body.vlg-theme .vlg-nav.is-open .vlg-mobile-quick-links,
  body.vlg-theme .vlg-nav.is-open .vlg-primary-menu {
    display: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-head {
    display: flex !important;
    flex: 0 0 auto !important;
    min-height: 50px !important;
    padding: 4px 2px 8px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-head strong::after {
    content: " — tootekategooriad";
    color: #64748b;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-menu,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-menu {
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-button,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-button {
    display: flex !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    min-height: 50px !important;
    height: auto !important;
    margin: 0 !important;
    pointer-events: auto !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown,
  body.vlg-theme .vlg-nav.is-open .vlg-category-menu .vlg-category-dropdown,
  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-dropdown {
    position: static !important;
    display: block !important;
    grid-template-rows: none !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown > ul,
  body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown > .vlg-cat-dropdown-list,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree {
    display: grid !important;
    align-content: start !important;
    gap: 7px !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 8px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    border: 1px solid #dbe5f1 !important;
    border-radius: 18px !important;
    background: #f8fafc !important;
    list-style: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree .vlg-cat-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 44px !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree .vlg-cat-item:not(.has-children) .vlg-cat-row {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree .vlg-cat-link {
    min-height: 48px !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 10px 12px 10px 14px !important;
    border: 1px solid #e4edf6 !important;
    border-radius: 15px !important;
    background: #fff !important;
    color: #172033 !important;
    overflow: hidden !important;
    text-decoration: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree .vlg-cat-title {
    color: inherit !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: auto !important;
    line-height: 1.18 !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree .vlg-cat-count {
    flex: 0 0 auto !important;
    min-width: 28px !important;
    text-align: right !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-subtoggle {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    border-radius: 14px !important;
  }

  /* Mobile subcategories: never on hover; only .is-sub-open from JS click. */
  body.vlg-theme .vlg-nav.is-open .vlg-cat-submenu,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-submenu-mode-inline .vlg-cat-submenu,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-submenu-mode-accordion .vlg-cat-item.has-children:hover > .vlg-cat-submenu,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-submenu-mode-accordion .vlg-cat-item.has-children:focus-within > .vlg-cat-submenu {
    display: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-item.is-sub-open > .vlg-cat-submenu {
    position: static !important;
    display: grid !important;
    gap: 6px !important;
    width: auto !important;
    max-width: 100% !important;
    max-height: none !important;
    margin: 7px 0 7px 14px !important;
    padding: 0 0 0 10px !important;
    border: 0 !important;
    border-left: 2px solid rgba(242, 138, 0, .24) !important;
    background: transparent !important;
    box-shadow: none !important;
  }
}

@media (max-width: 430px) {
  body.vlg-theme .vlg-nav.is-open,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open {
    left: 6px !important;
    right: 6px !important;
    top: max(6px, env(safe-area-inset-top)) !important;
    bottom: max(6px, env(safe-area-inset-bottom)) !important;
    border-radius: 22px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-nav-inner,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-nav-inner {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}


/* === 41-category-click-open-and-mobile-fit.css === */
/* =========================================================
   v2.5.4 — Category arrow click fix + fitted mobile category panel
   ---------------------------------------------------------
   - Subcategories open only from arrow click, never from hover.
   - The clicked/open state now wins over :hover and :focus-within.
   - Mobile drawer displays only product categories and fits inside viewport.
   ========================================================= */

body.vlg-theme .vlg-cat-subtoggle,
body.vlg-theme .vlg-cat-subtoggle * {
  pointer-events: auto !important;
  user-select: none !important;
}

body.vlg-theme .vlg-category-dropdown,
body.vlg-theme .vlg-cat-dropdown-list,
body.vlg-theme .vlg-cat-tree {
  overflow-x: hidden !important;
}

/* Desktop/tablet: keep hover/focus closed unless the arrow-click class exists. */
@media (min-width: 783px) {
  body.vlg-theme .vlg-cat-submenu-mode-accordion .vlg-cat-item.has-children:not(.is-sub-open):hover > .vlg-cat-submenu,
  body.vlg-theme .vlg-cat-submenu-mode-accordion .vlg-cat-item.has-children:not(.is-sub-open):focus-within > .vlg-cat-submenu {
    display: none !important;
  }

  body.vlg-theme .vlg-cat-submenu-mode-accordion .vlg-cat-item.has-children.is-sub-open > .vlg-cat-submenu,
  body.vlg-theme .vlg-cat-submenu-mode-accordion .vlg-cat-item.has-children.is-sub-open:hover > .vlg-cat-submenu,
  body.vlg-theme .vlg-cat-submenu-mode-accordion .vlg-cat-item.has-children.is-sub-open:focus-within > .vlg-cat-submenu,
  body.vlg-theme .vlg-cat-submenu-mode-accordion .vlg-cat-item.has-children.is-sub-open > .vlg-cat-submenu.is-open {
    position: static !important;
    display: grid !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    max-height: none !important;
    gap: 6px !important;
    margin: 7px 0 8px 14px !important;
    padding: 0 0 0 11px !important;
    border: 0 !important;
    border-left: 2px solid rgba(242, 138, 0, .24) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body.vlg-theme .vlg-cat-submenu-mode-accordion .vlg-cat-item.has-children.is-sub-open > .vlg-cat-row .vlg-cat-link,
  body.vlg-theme .vlg-cat-submenu-mode-accordion .vlg-cat-item.has-children.is-sub-open:hover > .vlg-cat-row .vlg-cat-link,
  body.vlg-theme .vlg-cat-submenu-mode-accordion .vlg-cat-item.has-children.is-sub-open:focus-within > .vlg-cat-row .vlg-cat-link {
    background: #fff5e8 !important;
    color: var(--vlg-primary, #f28a00) !important;
  }

  body.vlg-theme .vlg-cat-submenu-mode-accordion .vlg-cat-item.has-children.is-sub-open > .vlg-cat-row .vlg-cat-subtoggle span,
  body.vlg-theme .vlg-cat-submenu-mode-accordion .vlg-cat-item.has-children.is-sub-open:hover > .vlg-cat-row .vlg-cat-subtoggle span,
  body.vlg-theme .vlg-cat-submenu-mode-accordion .vlg-cat-item.has-children.is-sub-open:focus-within > .vlg-cat-row .vlg-cat-subtoggle span {
    transform: rotate(180deg) !important;
  }
}

/* Mobile: use a bottom-sheet style drawer so it cannot stay hidden above the screen. */
@media (max-width: 900px) {
  body.vlg-theme .vlg-nav.is-open,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open {
    position: fixed !important;
    left: 8px !important;
    right: 8px !important;
    top: auto !important;
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
    height: min(82vh, 680px) !important;
    max-height: calc(100vh - max(16px, env(safe-area-inset-top)) - max(16px, env(safe-area-inset-bottom))) !important;
    width: auto !important;
    overflow: hidden !important;
    z-index: 100010 !important;
  }

  @supports (height: 100dvh) {
    body.vlg-theme .vlg-nav.is-open,
    body.vlg-theme.vlg-menu-open .vlg-nav.is-open {
      height: min(82dvh, 680px) !important;
      max-height: calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
    }
  }

  body.admin-bar.vlg-theme .vlg-nav.is-open,
  body.admin-bar.vlg-theme.vlg-menu-open .vlg-nav.is-open {
    top: auto !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-nav-inner,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-nav-inner {
    height: calc(100% - 21px) !important;
    min-height: 0 !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    overflow: hidden !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-head strong::after {
    content: "" !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-head strong {
    font-size: 18px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-head span {
    display: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-head strong::before {
    content: "Tootekategooriad" !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-head strong {
    font-size: 0 !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-head strong::before {
    font-size: 18px !important;
  }

  /* Show only product categories in the mobile drawer. */
  body.vlg-theme .vlg-nav.is-open .vlg-mobile-quick-links,
  body.vlg-theme .vlg-nav.is-open .vlg-primary-menu {
    display: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-menu,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-menu {
    grid-template-rows: minmax(0, 1fr) !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-button,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-button {
    display: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-dropdown {
    display: block !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree {
    height: 100% !important;
    max-height: 100% !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 8px !important;
    -webkit-overflow-scrolling: touch !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-item.has-children.is-sub-open > .vlg-cat-submenu,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-item.has-children.is-sub-open:hover > .vlg-cat-submenu,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-item.has-children.is-sub-open:focus-within > .vlg-cat-submenu,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-item.has-children.is-sub-open > .vlg-cat-submenu.is-open {
    position: static !important;
    display: grid !important;
    gap: 6px !important;
    width: auto !important;
    max-width: 100% !important;
    max-height: none !important;
    margin: 7px 0 7px 14px !important;
    padding: 0 0 0 10px !important;
    border: 0 !important;
    border-left: 2px solid rgba(242, 138, 0, .24) !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}

@media (max-width: 430px) {
  body.vlg-theme .vlg-nav.is-open,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open {
    left: 6px !important;
    right: 6px !important;
    bottom: max(6px, env(safe-area-inset-bottom)) !important;
    height: min(86vh, 680px) !important;
  }

  @supports (height: 100dvh) {
    body.vlg-theme .vlg-nav.is-open,
    body.vlg-theme.vlg-menu-open .vlg-nav.is-open {
      height: min(86dvh, 680px) !important;
    }
  }
}


/* === 42-audit-fixes.css === */
/* v2.6.0 — audit fixes: energy modal, safer mobile stacking, checkout company fields */
.vlg-card-image-wrap .vlg-energy-badge,
.vlg-energy-badge[data-vlg-energy-label] {
  pointer-events: auto !important;
  cursor: pointer !important;
}

.vlg-energy-badge[data-vlg-energy-label]:focus-visible {
  outline: 3px solid rgba(0, 51, 153, .45) !important;
  outline-offset: 3px !important;
}

.vlg-energy-modal {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: grid;
  place-items: center;
  padding: 20px;
}

.vlg-energy-modal[hidden] { display: none !important; }

.vlg-energy-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(7, 18, 36, .62);
  backdrop-filter: blur(3px);
}

.vlg-energy-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(560px, calc(100vw - 32px));
  max-height: min(760px, calc(100vh - 32px));
  overflow: auto;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 28px 80px rgba(7, 18, 36, .28);
  padding: 18px;
}

.vlg-energy-modal__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 14px;
}

.vlg-energy-modal__eyebrow {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: 4px;
}

.vlg-energy-modal__title {
  margin: 0;
  color: #0f172a;
  font-size: clamp(22px, 4vw, 32px);
  line-height: 1.08;
}

.vlg-energy-modal__close {
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid #dbe5f1;
  border-radius: 14px;
  background: #f8fafc;
  color: #0f172a;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

.vlg-energy-modal__label {
  display: grid;
  gap: 6px;
  padding: 14px;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  background: #f8fafc;
}

.vlg-energy-modal__row {
  display: grid;
  grid-template-columns: minmax(70px, 1fr) 66px;
  align-items: center;
  gap: 10px;
}

.vlg-energy-modal__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 34px;
  padding: 0 12px;
  color: #fff;
  font-weight: 950;
  clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 50%, calc(100% - 16px) 100%, 0 100%);
}

.vlg-energy-modal__row:nth-child(1) .vlg-energy-modal__bar { background: #00a651; width: 68%; }
.vlg-energy-modal__row:nth-child(2) .vlg-energy-modal__bar { background: #50b848; width: 73%; }
.vlg-energy-modal__row:nth-child(3) .vlg-energy-modal__bar { background: #aed136; width: 78%; }
.vlg-energy-modal__row:nth-child(4) .vlg-energy-modal__bar { background: #fff200; color: #172033; width: 83%; }
.vlg-energy-modal__row:nth-child(5) .vlg-energy-modal__bar { background: #fdb813; width: 88%; }
.vlg-energy-modal__row:nth-child(6) .vlg-energy-modal__bar { background: #f37021; width: 93%; }
.vlg-energy-modal__row:nth-child(7) .vlg-energy-modal__bar { background: #ed1c24; width: 98%; }

.vlg-energy-modal__active {
  display: grid;
  place-items: center;
  min-height: 34px;
  border-radius: 999px;
  background: #111827;
  color: #fff;
  font-weight: 950;
  visibility: hidden;
}

.vlg-energy-modal__row.is-active .vlg-energy-modal__active {
  visibility: visible;
}

.vlg-energy-modal__meta {
  display: grid;
  gap: 8px;
  margin-top: 14px;
  color: #475569;
  font-size: 14px;
}

.vlg-energy-modal__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

.vlg-energy-modal__actions a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 9px 13px;
  border-radius: 999px;
  background: #0f172a;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 850;
  font-size: 13px;
}

.vlg-energy-modal__actions a.is-secondary {
  background: #f1f5f9;
  color: #0f172a !important;
}

.woocommerce-checkout .vlg-company-invoice-hidden {
  display: none !important;
}

@media (max-width: 782px) {
  body.vlg-theme .vlg-site-header,
  body.vlg-theme .vlg-main-header,
  body.vlg-theme .vlg-nav {
    position: relative !important;
    z-index: 30 !important;
  }

  body.vlg-theme .vlg-home .vlg-hero,
  body.vlg-theme .vlg-hero {
    position: relative !important;
    z-index: 1 !important;
    overflow: visible !important;
  }

  body.vlg-theme .vlg-home-categories,
  body.vlg-theme #kategooriad,
  body.vlg-theme .vlg-category-section,
  body.vlg-theme .vlg-product-categories,
  body.vlg-theme .vlg-shop-page {
    position: relative !important;
    z-index: 2 !important;
    clear: both !important;
  }

  .vlg-energy-modal {
    padding: 12px;
    align-items: end;
  }

  .vlg-energy-modal__dialog {
    width: 100%;
    max-height: calc(100vh - 24px);
    border-radius: 22px 22px 14px 14px;
  }
}


/* === 43-mobile-admin-settings.css === */
/* v2.6.2 — admin-controlled mobile view and clean category-only drawer */
@media (max-width: 900px) {
  body.vlg-theme.vlg-mobile-hide-topbar .vlg-topbar {
    display: none !important;
  }

  body.vlg-theme.vlg-mobile-hide-search .vlg-header-search {
    display: none !important;
  }

  body.vlg-theme.vlg-mobile-compact-header .vlg-main-header-inner {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    gap: 10px !important;
    align-items: center !important;
    min-width: 0 !important;
  }

  body.vlg-theme.vlg-mobile-compact-header .vlg-header-brand-row,
  body.vlg-theme.vlg-mobile-compact-header .vlg-brand,
  body.vlg-theme.vlg-mobile-compact-header .vlg-logo-fallback,
  body.vlg-theme.vlg-mobile-compact-header .custom-logo-link {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.vlg-theme.vlg-mobile-compact-header .vlg-header-actions {
    min-width: 0 !important;
    justify-content: flex-end !important;
  }

  body.vlg-theme.vlg-mobile-compact-header .vlg-account-link,
  body.vlg-theme.vlg-mobile-compact-header .vlg-wishlist-link {
    display: none !important;
  }

  body.vlg-theme.vlg-mobile-compact-header .vlg-cart-link {
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    padding: 0 !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
  }

  body.vlg-theme.vlg-mobile-compact-header .vlg-cart-link .vlg-link-label,
  body.vlg-theme.vlg-mobile-compact-header .vlg-cart-link strong:not(.screen-reader-text) {
    display: none !important;
  }

  /* Default: mobile drawer shows only the clean category button. */
  body.vlg-theme.vlg-mobile-categories-only .vlg-nav.is-open .vlg-mobile-quick-links,
  body.vlg-theme.vlg-mobile-hide-quick-links .vlg-nav.is-open .vlg-mobile-quick-links {
    display: none !important;
  }

  body.vlg-theme.vlg-mobile-categories-only .vlg-nav.is-open .vlg-primary-menu,
  body.vlg-theme.vlg-mobile-hide-primary-menu .vlg-nav.is-open .vlg-primary-menu {
    display: none !important;
  }

  body.vlg-theme.vlg-mobile-show-quick-links .vlg-nav.is-open .vlg-mobile-quick-links {
    display: grid !important;
  }

  body.vlg-theme.vlg-mobile-show-primary-menu .vlg-nav.is-open .vlg-primary-menu,
  body.vlg-theme.vlg-mobile-full-menu .vlg-nav.is-open .vlg-primary-menu {
    display: block !important;
  }

  body.vlg-theme.vlg-mobile-categories-only .vlg-nav.is-open,
  body.vlg-theme.vlg-mobile-categories-only.vlg-menu-open .vlg-nav.is-open {
    height: auto !important;
    max-height: calc(100dvh - 18px) !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  body.admin-bar.vlg-theme.vlg-mobile-categories-only .vlg-nav.is-open,
  body.admin-bar.vlg-theme.vlg-mobile-categories-only.vlg-menu-open .vlg-nav.is-open {
    max-height: calc(100dvh - 64px) !important;
  }

  body.vlg-theme.vlg-mobile-categories-only .vlg-nav.is-open .vlg-nav-inner,
  body.vlg-theme.vlg-mobile-categories-only.vlg-menu-open .vlg-nav.is-open .vlg-nav-inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto !important;
    gap: 10px !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 0 12px 12px !important;
  }

  body.vlg-theme.vlg-mobile-categories-only .vlg-nav.is-open .vlg-mobile-nav-head {
    display: flex !important;
    min-height: 44px !important;
    padding: 2px 2px 8px !important;
  }

  body.vlg-theme.vlg-mobile-categories-only .vlg-nav.is-open .vlg-mobile-nav-head strong::after {
    content: "" !important;
  }

  body.vlg-theme.vlg-mobile-categories-only .vlg-nav.is-open .vlg-category-menu,
  body.vlg-theme.vlg-mobile-categories-only.vlg-menu-open .vlg-nav.is-open .vlg-category-menu {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  body.vlg-theme.vlg-mobile-categories-only .vlg-nav.is-open .vlg-category-button,
  body.vlg-theme.vlg-mobile-categories-only.vlg-menu-open .vlg-nav.is-open .vlg-category-button {
    display: flex !important;
    width: 100% !important;
    min-height: 54px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 14px 16px !important;
    justify-content: space-between !important;
    align-items: center !important;
    pointer-events: auto !important;
  }

  body.vlg-theme.vlg-mobile-categories-only .vlg-nav.is-open .vlg-category-button::after {
    content: "⌄" !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    margin-left: auto !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .22) !important;
    color: inherit !important;
    transform: rotate(0deg) !important;
    transition: transform .18s ease !important;
  }

  body.vlg-theme.vlg-mobile-categories-only .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-button::after,
  body.vlg-theme.vlg-mobile-categories-only .vlg-nav.is-open .vlg-category-button[aria-expanded="true"]::after {
    transform: rotate(180deg) !important;
  }

  body.vlg-theme.vlg-mobile-categories-only:not(.vlg-mobile-auto-open-categories) .vlg-nav.is-open .vlg-category-menu:not(.is-open) .vlg-category-dropdown,
  body.vlg-theme.vlg-mobile-categories-only:not(.vlg-mobile-auto-open-categories) .vlg-nav.is-open .vlg-category-button[aria-expanded="false"] + .vlg-category-dropdown {
    display: none !important;
    height: 0 !important;
    max-height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.vlg-theme.vlg-mobile-categories-only .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown,
  body.vlg-theme.vlg-mobile-categories-only .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown,
  body.vlg-theme.vlg-mobile-categories-only.vlg-mobile-auto-open-categories .vlg-nav.is-open .vlg-category-dropdown {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: min(var(--vlg-mobile-cat-max-height-vh, 68vh), 680px) !important;
    min-height: 0 !important;
    margin-top: 10px !important;
    padding: 0 !important;
    overflow: hidden !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: none !important;
  }

  body.vlg-theme.vlg-mobile-categories-only .vlg-nav.is-open .vlg-category-menu.is-open .vlg-cat-tree,
  body.vlg-theme.vlg-mobile-categories-only .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown .vlg-cat-tree,
  body.vlg-theme.vlg-mobile-categories-only.vlg-mobile-auto-open-categories .vlg-nav.is-open .vlg-cat-tree {
    max-height: min(var(--vlg-mobile-cat-max-height-vh, 68vh), 680px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
  }
}


/* === 44-mobile-menu-viewport-and-checkout-fix.css === */
/* =========================================================
   v2.6.3 — Mobile menu viewport fit + checkout shipping dedupe
   ---------------------------------------------------------
   - Phones show only the "Kõik kategooriad" button by default.
   - Category list opens only after the button tap or admin auto-open.
   - The opened list scrolls inside the sheet; the sheet cannot exceed viewport.
   - Checkout three-column mode hides stale shipping rows after moving delivery.
   ========================================================= */

@media (max-width: 900px) {
  body.vlg-theme.vlg-menu-open,
  body.vlg-menu-open {
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  body.vlg-theme .vlg-mobile-backdrop:not([hidden]) {
    position: fixed !important;
    inset: 0 !important;
    display: block !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(7, 18, 36, .44) !important;
    z-index: 100000 !important;
  }

  @supports (height: 100dvh) {
    body.vlg-theme .vlg-mobile-backdrop:not([hidden]) {
      height: 100dvh !important;
    }
  }

  body.vlg-theme .vlg-nav:not(.is-open),
  body.vlg-theme:not(.vlg-menu-open) .vlg-nav {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.vlg-theme .vlg-nav.is-open,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open {
    position: fixed !important;
    left: max(8px, env(safe-area-inset-left)) !important;
    right: max(8px, env(safe-area-inset-right)) !important;
    top: auto !important;
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100vh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(218, 228, 240, .98) !important;
    border-radius: 24px !important;
    background: #fff !important;
    box-shadow: 0 22px 80px rgba(7, 18, 36, .34) !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
    z-index: 100010 !important;
  }

  @supports (height: 100dvh) {
    body.vlg-theme .vlg-nav.is-open,
    body.vlg-theme.vlg-menu-open .vlg-nav.is-open {
      max-height: calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
    }
  }

  body.admin-bar.vlg-theme .vlg-nav.is-open,
  body.admin-bar.vlg-theme.vlg-menu-open .vlg-nav.is-open {
    max-height: calc(100vh - var(--wp-admin--admin-bar--height, 46px) - 16px - env(safe-area-inset-bottom)) !important;
  }

  @supports (height: 100dvh) {
    body.admin-bar.vlg-theme .vlg-nav.is-open,
    body.admin-bar.vlg-theme.vlg-menu-open .vlg-nav.is-open {
      max-height: calc(100dvh - var(--wp-admin--admin-bar--height, 46px) - 16px - env(safe-area-inset-bottom)) !important;
    }
  }

  body.vlg-theme .vlg-nav.is-open::before,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open::before {
    content: "" !important;
    display: block !important;
    width: 46px !important;
    height: 5px !important;
    margin: 10px auto 6px !important;
    border-radius: 999px !important;
    background: #d7e1ed !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-nav-inner,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-nav-inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 8px !important;
    width: 100% !important;
    height: auto !important;
    max-height: calc(100vh - 37px - 18px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 12px max(12px, env(safe-area-inset-bottom)) !important;
    overflow: hidden !important;
    overscroll-behavior: contain !important;
  }

  @supports (height: 100dvh) {
    body.vlg-theme .vlg-nav.is-open .vlg-nav-inner,
    body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-nav-inner {
      max-height: calc(100dvh - 37px - 18px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
    }
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-head,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-mobile-nav-head {
    display: flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 44px !important;
    max-height: 56px !important;
    padding: 0 2px 6px !important;
    overflow: hidden !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-head strong,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-mobile-nav-head strong {
    font-size: 0 !important;
    line-height: 1 !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-head strong::before,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-mobile-nav-head strong::before {
    content: "Tootekategooriad" !important;
    display: inline !important;
    color: #172033 !important;
    font-size: 18px !important;
    font-weight: 900 !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-head strong::after,
  body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-head span,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-mobile-nav-head strong::after,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-mobile-nav-head span {
    display: none !important;
    content: "" !important;
  }

  body.vlg-theme.vlg-mobile-categories-only .vlg-nav.is-open .vlg-mobile-quick-links,
  body.vlg-theme.vlg-mobile-hide-quick-links .vlg-nav.is-open .vlg-mobile-quick-links,
  body.vlg-theme.vlg-mobile-categories-only .vlg-nav.is-open .vlg-primary-menu,
  body.vlg-theme.vlg-mobile-hide-primary-menu .vlg-nav.is-open .vlg-primary-menu {
    display: none !important;
  }

  body.vlg-theme.vlg-mobile-show-quick-links .vlg-nav.is-open .vlg-mobile-quick-links {
    display: grid !important;
    max-height: 96px !important;
    overflow: auto !important;
  }

  body.vlg-theme.vlg-mobile-show-primary-menu .vlg-nav.is-open .vlg-primary-menu,
  body.vlg-theme.vlg-mobile-full-menu .vlg-nav.is-open .vlg-primary-menu {
    display: block !important;
    max-height: 32vh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-menu,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-menu {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: inherit !important;
    margin: 0 !important;
    overflow: hidden !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-button,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-button {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 48px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 12px 15px !important;
    align-items: center !important;
    justify-content: space-between !important;
    border-radius: 17px !important;
    white-space: normal !important;
    pointer-events: auto !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-button::after,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-button::after {
    content: "⌄" !important;
    display: inline-flex !important;
    flex: 0 0 28px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    margin-left: 10px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .22) !important;
    color: inherit !important;
    transform: rotate(0deg) !important;
    transition: transform .18s ease !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-button::after,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"]::after,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-button::after,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-button[aria-expanded="true"]::after {
    transform: rotate(180deg) !important;
  }

  body.vlg-theme.vlg-mobile-categories-only:not(.vlg-mobile-auto-open-categories) .vlg-nav.is-open .vlg-category-menu:not(.is-open) .vlg-category-dropdown,
  body.vlg-theme.vlg-mobile-categories-only:not(.vlg-mobile-auto-open-categories) .vlg-nav.is-open .vlg-category-button[aria-expanded="false"] + .vlg-category-dropdown,
  body.vlg-theme.vlg-mobile-categories-only:not(.vlg-mobile-auto-open-categories) .vlg-nav.is-open .vlg-category-dropdown[aria-hidden="true"] {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown,
  body.vlg-theme.vlg-mobile-auto-open-categories .vlg-nav.is-open .vlg-category-dropdown,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown {
    position: static !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100vh - 154px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  @supports (height: 100dvh) {
    body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown,
    body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown,
    body.vlg-theme.vlg-mobile-auto-open-categories .vlg-nav.is-open .vlg-category-dropdown,
    body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown,
    body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown {
      max-height: calc(100dvh - 154px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
    }
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown > ul,
  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown > .vlg-cat-dropdown-list,
  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-cat-tree,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown > ul,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown > .vlg-cat-dropdown-list,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown .vlg-cat-tree,
  body.vlg-theme.vlg-mobile-auto-open-categories .vlg-nav.is-open .vlg-cat-tree {
    display: grid !important;
    align-content: start !important;
    gap: 7px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 130px !important;
    max-height: min(52vh, calc(100vh - 164px)) !important;
    margin: 0 !important;
    padding: 8px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    border: 1px solid #dbe5f1 !important;
    border-radius: 18px !important;
    background: #f8fafc !important;
    list-style: none !important;
  }

  @supports (height: 100dvh) {
    body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown > ul,
    body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown > .vlg-cat-dropdown-list,
    body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-cat-tree,
    body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown > ul,
    body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown > .vlg-cat-dropdown-list,
    body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown .vlg-cat-tree,
    body.vlg-theme.vlg-mobile-auto-open-categories .vlg-nav.is-open .vlg-cat-tree {
      max-height: min(52dvh, calc(100dvh - 164px)) !important;
    }
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree .vlg-cat-row,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-tree .vlg-cat-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 42px !important;
    align-items: center !important;
    gap: 7px !important;
    min-width: 0 !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree .vlg-cat-item:not(.has-children) .vlg-cat-row,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-tree .vlg-cat-item:not(.has-children) .vlg-cat-row {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree .vlg-cat-link,
  body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown a,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-tree .vlg-cat-link,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-dropdown a {
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 44px !important;
    padding: 9px 11px 9px 13px !important;
    white-space: normal !important;
    overflow: hidden !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    hyphens: auto !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-subtoggle,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-subtoggle {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    border-radius: 14px !important;
  }
}

@media (max-width: 430px) {
  body.vlg-theme .vlg-nav.is-open,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open {
    left: max(6px, env(safe-area-inset-left)) !important;
    right: max(6px, env(safe-area-inset-right)) !important;
    bottom: max(6px, env(safe-area-inset-bottom)) !important;
    border-radius: 22px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-nav-inner,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-nav-inner {
    padding-left: 10px !important;
    padding-right: 10px !important;
    gap: 7px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-head,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-mobile-nav-head {
    min-height: 40px !important;
    max-height: 48px !important;
    padding-bottom: 4px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-head strong::before,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-mobile-nav-head strong::before {
    font-size: 16px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-button,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-button {
    min-height: 46px !important;
    padding: 11px 13px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-cat-tree,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown .vlg-cat-tree,
  body.vlg-theme.vlg-mobile-auto-open-categories .vlg-nav.is-open .vlg-cat-tree {
    max-height: min(50dvh, calc(100dvh - 150px)) !important;
    min-height: 120px !important;
  }
}

/* Checkout: when the three-column organiser has moved shipping into the
   delivery card, never show the original/stale order-review shipping row too. */
body.woocommerce-checkout form.checkout.fs-checkout-is-three-column #order_review tr.fs-shipping-row-moved,
body.woocommerce-checkout form.checkout.fs-checkout-is-three-column #order_review tr.woocommerce-shipping-totals.fs-shipping-row-moved,
body.woocommerce-checkout form.checkout.fs-checkout-is-three-column #order_review tr.shipping.fs-shipping-row-moved {
  display: none !important;
}

body.woocommerce-checkout form.checkout.fs-checkout-is-three-column .fs-shipping-methods-wrap > ul#shipping_method:not(:last-of-type),
body.woocommerce-checkout form.checkout.fs-checkout-is-three-column .fs-shipping-methods-wrap > .fs-shipping-static-note:not(:last-child) {
  display: none !important;
}

@media (max-width: 782px) {
  body.woocommerce-checkout form.checkout.fs-checkout-is-three-column .fs-shipping-column,
  body.woocommerce-checkout form.checkout.fs-checkout-is-three-column .fs-payment-column,
  body.woocommerce-checkout form.checkout.fs-checkout-is-three-column .fs-billing-column {
    min-width: 0 !important;
    max-width: 100% !important;
  }
}


/* === 45-mobile-drawer-and-checkout-edge-fix.css === */
/* =========================================================
   v2.6.4 — Mobile drawer full-height fit + checkout edge fixes
   ---------------------------------------------------------
   - The mobile menu now uses the full available viewport instead of a short
     bottom sheet, so product categories are not cut off on phones.
   - Only the category list scrolls when "Kõik kategooriad" is opened.
   - Checkout company invoice toggling no longer hides section headings,
     wrapper borders or the billing/transport divider.
   ========================================================= */

@media (max-width: 900px) {
  html.vlg-mobile-menu-lock,
  html.vlg-mobile-menu-lock body,
  body.vlg-theme.vlg-menu-open,
  body.vlg-menu-open {
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  body.vlg-theme .vlg-mobile-backdrop:not([hidden]) {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: var(--vlg-visual-height, 100vh) !important;
    background: rgba(7, 18, 36, .46) !important;
    z-index: 100000 !important;
  }

  body.vlg-theme .vlg-nav.is-open,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open {
    position: fixed !important;
    left: max(8px, env(safe-area-inset-left)) !important;
    right: max(8px, env(safe-area-inset-right)) !important;
    top: max(8px, env(safe-area-inset-top)) !important;
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(218, 228, 240, .98) !important;
    border-radius: 24px !important;
    background: #fff !important;
    box-shadow: 0 22px 80px rgba(7, 18, 36, .34) !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
    z-index: 100010 !important;
  }

  body.admin-bar.vlg-theme .vlg-nav.is-open,
  body.admin-bar.vlg-theme.vlg-menu-open .vlg-nav.is-open {
    top: calc(var(--wp-admin--admin-bar--height, 46px) + max(8px, env(safe-area-inset-top))) !important;
  }

  body.vlg-theme .vlg-nav.is-open::before,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open::before {
    flex: 0 0 auto !important;
    display: block !important;
    width: 46px !important;
    height: 5px !important;
    margin: 10px auto 6px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-nav-inner,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-nav-inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    height: calc(100% - 21px) !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 12px max(12px, env(safe-area-inset-bottom)) !important;
    overflow: hidden !important;
    overscroll-behavior: contain !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-head,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-mobile-nav-head {
    min-height: 42px !important;
    max-height: 52px !important;
    padding: 0 2px 6px !important;
  }

  body.vlg-theme.vlg-mobile-categories-only .vlg-nav.is-open .vlg-mobile-quick-links,
  body.vlg-theme.vlg-mobile-hide-quick-links .vlg-nav.is-open .vlg-mobile-quick-links,
  body.vlg-theme.vlg-mobile-categories-only .vlg-nav.is-open .vlg-primary-menu,
  body.vlg-theme.vlg-mobile-hide-primary-menu .vlg-nav.is-open .vlg-primary-menu {
    display: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-menu,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-menu {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-button,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-button {
    flex: 0 0 auto !important;
    min-height: 48px !important;
    max-height: 56px !important;
  }

  body.vlg-theme.vlg-mobile-categories-only:not(.vlg-mobile-auto-open-categories) .vlg-nav.is-open .vlg-category-menu:not(.is-open) .vlg-category-dropdown,
  body.vlg-theme.vlg-mobile-categories-only:not(.vlg-mobile-auto-open-categories) .vlg-nav.is-open .vlg-category-button[aria-expanded="false"] + .vlg-category-dropdown,
  body.vlg-theme.vlg-mobile-categories-only:not(.vlg-mobile-auto-open-categories) .vlg-nav.is-open .vlg-category-dropdown[aria-hidden="true"] {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown,
  body.vlg-theme.vlg-mobile-auto-open-categories .vlg-nav.is-open .vlg-category-dropdown,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown > ul,
  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown > .vlg-cat-dropdown-list,
  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-cat-tree,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown > ul,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown > .vlg-cat-dropdown-list,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown .vlg-cat-tree,
  body.vlg-theme.vlg-mobile-auto-open-categories .vlg-nav.is-open .vlg-cat-tree {
    display: grid !important;
    align-content: start !important;
    gap: 7px !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    margin: 0 !important;
    padding: 8px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    scrollbar-gutter: stable both-edges !important;
    border: 1px solid #dbe5f1 !important;
    border-radius: 18px !important;
    background: #f8fafc !important;
    list-style: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree .vlg-cat-row,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-tree .vlg-cat-row {
    grid-template-columns: minmax(0, 1fr) 44px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree .vlg-cat-link,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-tree .vlg-cat-link {
    min-height: 46px !important;
  }
}

@media (max-width: 430px) {
  body.vlg-theme .vlg-nav.is-open,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open {
    left: max(6px, env(safe-area-inset-left)) !important;
    right: max(6px, env(safe-area-inset-right)) !important;
    top: max(6px, env(safe-area-inset-top)) !important;
    bottom: max(6px, env(safe-area-inset-bottom)) !important;
  }

  body.admin-bar.vlg-theme .vlg-nav.is-open,
  body.admin-bar.vlg-theme.vlg-menu-open .vlg-nav.is-open {
    top: calc(var(--wp-admin--admin-bar--height, 46px) + max(6px, env(safe-area-inset-top))) !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-nav-inner,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-nav-inner {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}

/* Checkout: keep section chrome stable while company invoice fields appear/disappear. */
.woocommerce-checkout .vlg-company-invoice-field.vlg-company-invoice-hidden,
.woocommerce-checkout .vlg-company-invoice-hidden {
  display: none !important;
}

.woocommerce-checkout .vlg-company-invoice-field:not(.vlg-company-invoice-hidden) {
  display: block !important;
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3,
.woocommerce-checkout .fs-checkout-card,
.woocommerce-checkout .fs-checkout-card__head {
  visibility: visible !important;
  opacity: 1 !important;
}

.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
}

.woocommerce-checkout .woocommerce-billing-fields h3::after,
.woocommerce-checkout .woocommerce-shipping-fields h3::after,
.woocommerce-checkout .woocommerce-additional-fields h3::after {
  content: "" !important;
  display: block !important;
  flex: 1 1 auto !important;
  height: 2px !important;
  min-width: 32px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, var(--vlg-primary, #f28a00), rgba(242, 138, 0, .22)) !important;
}

body.admin-bar.woocommerce-checkout .fs-payment-column,
body.admin-bar.woocommerce-checkout .fs-payment-column #payment,
body.admin-bar.woocommerce-checkout .fs-payment-column .woocommerce-checkout-payment {
  scroll-margin-top: calc(var(--wp-admin--admin-bar--height, 46px) + 18px) !important;
}

@media (min-width: 1180px) {
  body.admin-bar.woocommerce-checkout .fs-payment-column {
    position: relative !important;
    top: auto !important;
  }
}


/* === 46-mobile-menu-admin-control-visual.css === */
/* =========================================================
   v2.6.5 — Mobile menu admin visibility + visual redesign
   ---------------------------------------------------------
   - Admin can choose which categories are visible in the phone drawer.
   - Parent categories open cleanly on tap; hidden mobile rows do not appear.
   - Mobile category drawer gets a cleaner app-like visual treatment.
   ========================================================= */

/* If the desktop header category list is manually curated, terms that were
   added only for the phone drawer stay hidden on desktop/tablet menus. */
@media (min-width: 901px) {
  body.vlg-theme .vlg-cat-item.vlg-desktop-cat-hidden {
    display: none !important;
  }
}

@media (max-width: 900px) {
  body.vlg-theme .vlg-nav.is-open .vlg-cat-item.vlg-mobile-cat-hidden,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-item.vlg-mobile-cat-hidden {
    display: none !important;
  }

  body.vlg-theme .vlg-nav.is-open,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open {
    border: 1px solid rgba(223, 231, 242, .96) !important;
    border-radius: 30px 30px 24px 24px !important;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
    box-shadow: 0 28px 90px rgba(7, 18, 36, .34) !important;
  }

  body.vlg-theme .vlg-nav.is-open::before,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open::before {
    width: 54px !important;
    height: 5px !important;
    margin: 11px auto 7px !important;
    border-radius: 999px !important;
    background: #d8e3f1 !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-head,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-mobile-nav-head {
    min-height: 54px !important;
    max-height: 64px !important;
    padding: 0 4px 10px !important;
    border-bottom: 1px solid #e6edf6 !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-head strong::before,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-mobile-nav-head strong::before {
    content: "Tootekategooriad" !important;
    color: #101a2b !important;
    font-size: 20px !important;
    font-weight: 950 !important;
    letter-spacing: -.02em !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-close,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-mobile-nav-close {
    width: 48px !important;
    height: 48px !important;
    border: 1px solid #d8e4f2 !important;
    border-radius: 16px !important;
    background: #f8fbff !important;
    color: #071224 !important;
    font-size: 34px !important;
    line-height: 1 !important;
    box-shadow: 0 10px 24px rgba(7, 18, 36, .07) !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-button,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-button {
    min-height: 56px !important;
    max-height: none !important;
    padding: 14px 16px !important;
    border: 0 !important;
    border-radius: 20px !important;
    background: linear-gradient(135deg, #071224 0%, #10213b 100%) !important;
    color: #fff !important;
    box-shadow: 0 16px 34px rgba(7, 18, 36, .24) !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-button span,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-button span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    color: inherit !important;
    font-size: 16px !important;
    font-weight: 950 !important;
    line-height: 1.15 !important;
    letter-spacing: -.01em !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-button span::before,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-button span::before {
    content: "☰" !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, .14) !important;
    color: #ffb34d !important;
    font-size: 20px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-button::after,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-button::after {
    flex: 0 0 34px !important;
    width: 34px !important;
    height: 34px !important;
    background: rgba(255, 255, 255, .18) !important;
    color: #fff !important;
    font-weight: 950 !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-cat-tree,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown .vlg-cat-tree,
  body.vlg-theme.vlg-mobile-auto-open-categories .vlg-nav.is-open .vlg-cat-tree,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-menu.is-open .vlg-cat-tree {
    gap: 9px !important;
    padding: 10px !important;
    border: 1px solid #dbe6f3 !important;
    border-radius: 22px !important;
    background: linear-gradient(180deg, #f5f8fc 0%, #eef4fb 100%) !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree .vlg-cat-item,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-tree .vlg-cat-item {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree .vlg-cat-row,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-tree .vlg-cat-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 44px !important;
    gap: 9px !important;
    align-items: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree .vlg-cat-link,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-tree .vlg-cat-link {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr) auto !important;
    gap: 10px !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 54px !important;
    padding: 9px 12px !important;
    border: 1px solid #dce7f4 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 8px 20px rgba(31, 42, 68, .05) !important;
    text-decoration: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree .vlg-cat-link::before,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-tree .vlg-cat-link::before {
    content: "" !important;
    display: block !important;
    width: 14px !important;
    height: 14px !important;
    border: 4px solid #fff2db !important;
    border-radius: 999px !important;
    background: var(--vlg-primary, #f28a00) !important;
    box-shadow: 0 0 0 1px rgba(242, 138, 0, .22) !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree .vlg-cat-title,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-tree .vlg-cat-title {
    display: block !important;
    justify-self: start !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    color: #172033 !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    line-height: 1.15 !important;
    text-align: left !important;
    text-overflow: ellipsis !important;
    text-transform: uppercase !important;
    white-space: normal !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree .vlg-cat-count,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-tree .vlg-cat-count {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 38px !important;
    height: 34px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    background: #edf4fc !important;
    color: #697589 !important;
    font-size: 13px !important;
    font-weight: 950 !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree .vlg-cat-subtoggle,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-tree .vlg-cat-subtoggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 54px !important;
    border: 1px solid #fde6c1 !important;
    border-radius: 16px !important;
    background: #fff8ee !important;
    color: #324055 !important;
    font-size: 18px !important;
    font-weight: 950 !important;
    box-shadow: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-item.is-sub-open > .vlg-cat-row .vlg-cat-subtoggle,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-item.is-sub-open > .vlg-cat-row .vlg-cat-subtoggle {
    background: var(--vlg-primary, #f28a00) !important;
    border-color: var(--vlg-primary, #f28a00) !important;
    color: #fff !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-submenu,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-submenu {
    display: none !important;
    gap: 7px !important;
    margin: 8px 0 0 16px !important;
    padding: 0 0 0 10px !important;
    border-left: 2px solid #f5cf95 !important;
    list-style: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-item.is-sub-open > .vlg-cat-submenu,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-item.is-sub-open > .vlg-cat-submenu {
    display: grid !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-depth-1 .vlg-cat-link,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-depth-1 .vlg-cat-link {
    min-height: 48px !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, .82) !important;
  }
}

@media (max-width: 390px) {
  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree .vlg-cat-link,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-tree .vlg-cat-link {
    grid-template-columns: 18px minmax(0, 1fr) auto !important;
    gap: 8px !important;
    padding-left: 10px !important;
    padding-right: 9px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree .vlg-cat-title,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-tree .vlg-cat-title {
    font-size: 13px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree .vlg-cat-count,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-tree .vlg-cat-count {
    min-width: 32px !important;
    height: 30px !important;
    padding: 0 8px !important;
    font-size: 12px !important;
  }
}

@media (min-width: 901px) {
  body.vlg-theme .vlg-cat-item.vlg-desktop-no-visible-children > .vlg-cat-row .vlg-cat-subtoggle {
    display: none !important;
  }
}

@media (max-width: 900px) {
  body.vlg-theme .vlg-nav.is-open .vlg-cat-item.vlg-mobile-no-visible-children > .vlg-cat-row .vlg-cat-subtoggle,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-item.vlg-mobile-no-visible-children > .vlg-cat-row .vlg-cat-subtoggle {
    display: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-item.vlg-mobile-no-visible-children > .vlg-cat-submenu,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-item.vlg-mobile-no-visible-children > .vlg-cat-submenu {
    display: none !important;
  }
}


/* === 47-mobile-menu-icon-dedupe.css === */
/* v2.6.6 — mobile category button icon dedupe
   Fixes duplicated hamburger / stripe icon in the mobile category drawer.
   The visual redesign in part 46 adds a dedicated icon on the text span,
   so we must suppress the older button ::before icon on phones. */

@media (max-width: 991.98px) {
  body.vlg-theme .vlg-nav.is-open .vlg-category-button::before,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-button::before {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-button,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-button {
    gap: 12px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-button span,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-button span {
    gap: 12px !important;
  }
}


/* === 48-mobile-redesign-2026.css === */
/* v2.7.0 — Completely redesigned mobile view
   This is the final mobile layer and intentionally overrides older mobile hotfixes.
   Goals: full-screen app drawer, one clear category button, scrollable category list,
   no clipped items, no duplicate hamburger icons, cleaner product category cards. */

@media (max-width: 991.98px) {
  :root {
    --vlg-mobile-top-offset: 0px;
    --vlg-mobile-panel-radius: 28px;
    --vlg-mobile-shell-gap: 10px;
  }

  body.admin-bar {
    --vlg-mobile-top-offset: 46px;
  }
}

@media (min-width: 783px) and (max-width: 991.98px) {
  body.admin-bar {
    --vlg-mobile-top-offset: 32px;
  }
}

@media (max-width: 991.98px) {
  html.vlg-mobile-menu-lock,
  html.vlg-mobile-menu-lock body {
    overflow: hidden !important;
    overscroll-behavior: none !important;
    touch-action: none;
  }

  body.vlg-theme.vlg-mobile-hide-topbar .vlg-topbar {
    display: none !important;
  }

  body.vlg-theme .vlg-site-header {
    position: sticky !important;
    top: var(--vlg-mobile-top-offset) !important;
    z-index: 1000 !important;
    background: rgba(255,255,255,.92) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    box-shadow: 0 10px 30px rgba(15, 23, 42, .08) !important;
  }

  body.vlg-theme .vlg-main-header {
    padding: 8px 0 !important;
    border-bottom: 1px solid rgba(226, 232, 240, .86) !important;
  }

  body.vlg-theme .vlg-main-header-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px 10px !important;
    align-items: center !important;
    padding-inline: 12px !important;
  }

  body.vlg-theme .vlg-header-brand-row {
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
  }

  body.vlg-theme .vlg-brand,
  body.vlg-theme .vlg-brand a,
  body.vlg-theme .vlg-brand img {
    max-width: 176px !important;
    min-width: 0 !important;
  }

  body.vlg-theme .vlg-mobile-toggle {
    display: inline-grid !important;
    place-items: center !important;
    flex: 0 0 46px !important;
    width: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    border: 1px solid rgba(219, 230, 243, .95) !important;
    border-radius: 17px !important;
    background: #fff !important;
    color: #0f172a !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .10) !important;
  }

  body.vlg-theme .vlg-mobile-toggle-icon {
    position: relative !important;
    width: 20px !important;
    height: 16px !important;
    display: block !important;
  }

  body.vlg-theme .vlg-mobile-toggle-icon span {
    position: absolute !important;
    left: 0 !important;
    width: 20px !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: #0f172a !important;
    transform-origin: center !important;
    transition: transform .18s ease, top .18s ease, opacity .18s ease !important;
  }

  body.vlg-theme .vlg-mobile-toggle-icon span:nth-child(1) { top: 0 !important; }
  body.vlg-theme .vlg-mobile-toggle-icon span:nth-child(2) { top: 7px !important; }
  body.vlg-theme .vlg-mobile-toggle-icon span:nth-child(3) { top: 14px !important; }

  body.vlg-theme .vlg-mobile-toggle.is-open .vlg-mobile-toggle-icon span:nth-child(1) { top: 7px !important; transform: rotate(45deg) !important; }
  body.vlg-theme .vlg-mobile-toggle.is-open .vlg-mobile-toggle-icon span:nth-child(2) { opacity: 0 !important; }
  body.vlg-theme .vlg-mobile-toggle.is-open .vlg-mobile-toggle-icon span:nth-child(3) { top: 7px !important; transform: rotate(-45deg) !important; }

  body.vlg-theme .vlg-header-actions {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 8px !important;
  }

  body.vlg-theme .vlg-header-actions .vlg-account-link,
  body.vlg-theme .vlg-header-actions .vlg-wishlist-link,
  body.vlg-theme .vlg-header-language-slot {
    display: none !important;
  }

  body.vlg-theme .vlg-header-actions .vlg-cart-link,
  body.vlg-theme .vlg-header-actions a[href*="cart"] {
    min-width: 46px !important;
    height: 46px !important;
    border-radius: 17px !important;
  }

  body.vlg-theme .vlg-header-search {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    margin: 0 !important;
    order: 3 !important;
  }

  body.vlg-theme.vlg-mobile-hide-search .vlg-header-search {
    display: none !important;
  }

  body.vlg-theme .vlg-header-search form,
  body.vlg-theme .vlg-search-form {
    min-height: 44px !important;
    border-radius: 16px !important;
    box-shadow: none !important;
  }

  body.vlg-theme .vlg-mobile-backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 9997 !important;
    background: rgba(15, 23, 42, .58) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
  }

  body.vlg-theme .vlg-mobile-backdrop[hidden] {
    display: none !important;
  }

  body.vlg-theme .vlg-nav {
    position: fixed !important;
    inset: var(--vlg-mobile-top-offset) 0 0 0 !important;
    z-index: 9998 !important;
    display: block !important;
    width: 100% !important;
    height: calc(100dvh - var(--vlg-mobile-top-offset)) !important;
    height: calc(var(--vlg-visual-height, 100dvh) - var(--vlg-mobile-top-offset)) !important;
    padding: var(--vlg-mobile-shell-gap) !important;
    background: transparent !important;
    border: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(14px) scale(.985) !important;
    transition: opacity .2s ease, visibility .2s ease, transform .22s cubic-bezier(.2,.8,.2,1) !important;
  }

  body.vlg-theme .vlg-nav.is-open,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) scale(1) !important;
  }

  body.vlg-theme .vlg-nav-inner,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-nav-inner {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 560px !important;
    height: calc(100% - env(safe-area-inset-bottom, 0px)) !important;
    max-height: none !important;
    margin: 0 auto !important;
    padding: 14px !important;
    overflow: hidden !important;
    border: 1px solid rgba(219, 230, 243, .96) !important;
    border-radius: var(--vlg-mobile-panel-radius) !important;
    background:
      radial-gradient(circle at 20% 0%, rgba(255, 178, 74, .16), transparent 32%),
      linear-gradient(180deg, #ffffff 0%, #f6f9fd 100%) !important;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .30) !important;
  }

  body.vlg-theme .vlg-mobile-nav-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 52px !important;
    gap: 12px !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    padding: 4px 0 12px !important;
    border-bottom: 1px solid rgba(219, 230, 243, .95) !important;
  }

  body.vlg-theme .vlg-mobile-nav-head strong {
    display: block !important;
    color: #0f172a !important;
    font-size: clamp(23px, 6vw, 30px) !important;
    font-weight: 950 !important;
    letter-spacing: -.04em !important;
    line-height: 1.02 !important;
  }

  body.vlg-theme .vlg-mobile-nav-head span {
    display: block !important;
    margin-top: 4px !important;
    color: #64748b !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
  }

  body.vlg-theme .vlg-mobile-nav-close {
    display: inline-grid !important;
    place-items: center !important;
    width: 52px !important;
    height: 52px !important;
    border: 1px solid #dbe6f3 !important;
    border-radius: 20px !important;
    background: #fff !important;
    color: #0f172a !important;
    font-size: 38px !important;
    line-height: 1 !important;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .10) !important;
  }

  body.vlg-theme .vlg-mobile-quick-links {
    display: none !important;
    flex: 0 0 auto !important;
    gap: 8px !important;
    overflow-x: auto !important;
    padding: 0 1px 2px !important;
    scrollbar-width: none !important;
  }

  body.vlg-theme.vlg-mobile-show-quick-links .vlg-mobile-quick-links,
  body.vlg-theme.vlg-mobile-full-menu .vlg-mobile-quick-links {
    display: flex !important;
  }

  body.vlg-theme .vlg-mobile-quick-links::-webkit-scrollbar { display: none !important; }

  body.vlg-theme .vlg-mobile-quick-links a {
    flex: 0 0 auto !important;
    padding: 11px 14px !important;
    border: 1px solid #dbe6f3 !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #0f172a !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    box-shadow: 0 7px 18px rgba(15, 23, 42, .06) !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-menu,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-menu {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    background: transparent !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-button,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-button {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) 38px !important;
    align-items: center !important;
    gap: 12px !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    min-height: 62px !important;
    margin: 0 !important;
    padding: 9px 10px !important;
    border: 0 !important;
    border-radius: 22px !important;
    background: linear-gradient(135deg, #071224 0%, #10213b 100%) !important;
    color: #fff !important;
    box-shadow: 0 18px 38px rgba(7, 18, 36, .26) !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-button::before,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-button::before {
    content: "" !important;
    display: inline-grid !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    border-radius: 16px !important;
    background:
      linear-gradient(#ffb34d 0 0) center 14px / 18px 2px no-repeat,
      linear-gradient(#ffb34d 0 0) center 21px / 18px 2px no-repeat,
      linear-gradient(#ffb34d 0 0) center 28px / 18px 2px no-repeat,
      rgba(255,255,255,.13) !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-button span,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-button span {
    display: block !important;
    min-width: 0 !important;
    color: inherit !important;
    font-size: 17px !important;
    font-weight: 950 !important;
    letter-spacing: -.025em !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-button span::before,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-button span::before {
    content: none !important;
    display: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-button::after,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-button::after {
    content: "⌄" !important;
    position: static !important;
    display: inline-grid !important;
    place-items: center !important;
    justify-self: end !important;
    width: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.16) !important;
    color: #fff !important;
    font-size: 20px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    transform: rotate(0deg) !important;
    transition: transform .18s ease, background .18s ease !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-button::after,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"]::after,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-button::after,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-button[aria-expanded="true"]::after {
    transform: rotate(180deg) !important;
    background: rgba(255,255,255,.24) !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-dropdown {
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    display: none !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    width: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 10px 0 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown,
  body.vlg-theme.vlg-mobile-auto-open-categories .vlg-nav.is-open .vlg-category-dropdown,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-tree {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 12px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    border: 1px solid #dbe6f3 !important;
    border-radius: 24px !important;
    background: linear-gradient(180deg, #f4f8fd 0%, #edf4fb 100%) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.82) !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree::-webkit-scrollbar { width: 7px !important; }
  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree::-webkit-scrollbar-thumb { background: rgba(100,116,139,.30) !important; border-radius: 999px !important; }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-item,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-item {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-item.vlg-mobile-cat-hidden {
    display: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-row,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 48px !important;
    gap: 10px !important;
    align-items: stretch !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-link,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-link {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 18px minmax(0, 1fr) auto !important;
    gap: 10px !important;
    align-items: center !important;
    min-height: 58px !important;
    width: 100% !important;
    padding: 10px 12px !important;
    border: 1px solid #dbe6f3 !important;
    border-radius: 20px !important;
    background: #fff !important;
    color: #0f172a !important;
    text-decoration: none !important;
    box-shadow: 0 10px 26px rgba(15, 23, 42, .06) !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-link::before {
    content: "" !important;
    display: block !important;
    width: 13px !important;
    height: 13px !important;
    border-radius: 999px !important;
    background: #ffae3d !important;
    box-shadow: 0 0 0 5px rgba(255,174,61,.14) !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-title,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-title {
    display: block !important;
    min-width: 0 !important;
    padding: 7px 11px !important;
    border-radius: 999px !important;
    background: #eef4fb !important;
    color: #152033 !important;
    font-size: clamp(13px, 3.8vw, 16px) !important;
    font-weight: 950 !important;
    line-height: 1.05 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    letter-spacing: -.02em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-count,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-count {
    display: inline-grid !important;
    place-items: center !important;
    min-width: 42px !important;
    height: 38px !important;
    padding: 0 11px !important;
    border-radius: 999px !important;
    background: #eaf2fb !important;
    color: #64748b !important;
    font-size: 14px !important;
    font-weight: 950 !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-subtoggle,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-subtoggle {
    display: inline-grid !important;
    place-items: center !important;
    width: 48px !important;
    min-width: 48px !important;
    height: 58px !important;
    margin: 0 !important;
    border: 1px solid #fde1b2 !important;
    border-radius: 18px !important;
    background: #fff8ed !important;
    color: #475569 !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05) !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-subtoggle span {
    display: inline-block !important;
    font-size: 16px !important;
    font-weight: 950 !important;
    transform: rotate(0deg) !important;
    transition: transform .18s ease !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-item.is-sub-open > .vlg-cat-row .vlg-cat-subtoggle span,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-subtoggle[aria-expanded="true"] span {
    transform: rotate(180deg) !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-submenu,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-submenu {
    display: none !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin: 8px 0 2px 16px !important;
    padding: 0 0 0 12px !important;
    border-left: 2px solid rgba(255,174,61,.36) !important;
    list-style: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-item.is-sub-open > .vlg-cat-submenu,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-submenu.is-open,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-item.is-sub-open > .vlg-cat-submenu {
    display: flex !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-depth-1 .vlg-cat-link,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-depth-2 .vlg-cat-link,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-depth-3 .vlg-cat-link {
    min-height: 50px !important;
    border-radius: 17px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-depth-1 .vlg-cat-title,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-depth-2 .vlg-cat-title,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-depth-3 .vlg-cat-title {
    background: transparent !important;
    text-align: left !important;
    text-transform: none !important;
    padding-inline: 2px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-primary-menu,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-primary-menu {
    display: none !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 10px !important;
    border: 1px solid #dbe6f3 !important;
    border-radius: 22px !important;
    background: #fff !important;
    overflow-y: auto !important;
    max-height: 30vh !important;
  }

  body.vlg-theme.vlg-mobile-show-primary-menu .vlg-nav.is-open .vlg-primary-menu,
  body.vlg-theme.vlg-mobile-full-menu .vlg-nav.is-open .vlg-primary-menu {
    display: block !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-primary-menu a {
    display: flex !important;
    padding: 12px 10px !important;
    border-radius: 14px !important;
    color: #0f172a !important;
    font-weight: 850 !important;
    text-decoration: none !important;
  }
}

@media (max-width: 420px) {
  body.vlg-theme .vlg-nav {
    --vlg-mobile-shell-gap: 6px;
  }

  body.vlg-theme .vlg-nav-inner,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-nav-inner {
    padding: 12px !important;
    border-radius: 24px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-tree {
    padding: 9px !important;
    gap: 8px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-link,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-link {
    grid-template-columns: 16px minmax(0, 1fr) auto !important;
    gap: 8px !important;
    padding: 9px 10px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-title,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-title {
    font-size: 13px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-count,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-count {
    min-width: 36px !important;
    height: 34px !important;
    padding: 0 9px !important;
    font-size: 13px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-row,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-row {
    grid-template-columns: minmax(0, 1fr) 44px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-subtoggle,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-subtoggle {
    width: 44px !important;
    min-width: 44px !important;
  }
}


/* === 49-mobile-redesign-polish-v271.css === */
/* v2.7.1 — second pass for the new mobile view
   Adds a cleaner empty/closed state, better tap targets, readable category names,
   safer small-screen spacing and stronger isolation from older mobile hotfixes. */

@media (max-width: 991.98px) {
  :root {
    --vlg-mobile-panel-radius: 30px;
  }

  html.vlg-mobile-menu-lock {
    height: 100% !important;
  }

  html.vlg-mobile-menu-lock body {
    position: fixed !important;
    width: 100% !important;
    overflow: hidden !important;
  }

  body.vlg-theme .vlg-mobile-toggle,
  body.vlg-theme .vlg-mobile-nav-close,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-link,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-subtoggle,
  body.vlg-theme .vlg-mobile-quick-links a {
    -webkit-tap-highlight-color: transparent !important;
    touch-action: manipulation !important;
  }

  body.vlg-theme .vlg-nav-inner,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-nav-inner {
    isolation: isolate !important;
  }

  body.vlg-theme .vlg-nav-inner::before {
    content: "" !important;
    display: block !important;
    width: 58px !important;
    height: 5px !important;
    flex: 0 0 auto !important;
    margin: -3px auto 0 !important;
    border-radius: 999px !important;
    background: #d8e4f2 !important;
  }

  body.vlg-theme .vlg-mobile-nav-head {
    padding-top: 0 !important;
  }

  body.vlg-theme .vlg-mobile-nav-close:active,
  body.vlg-theme .vlg-mobile-toggle:active,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button:active,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-link:active,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-subtoggle:active {
    transform: scale(.985) !important;
  }

  /* Closed category drawer: show a small guide instead of an empty white panel. */
  body.vlg-theme.vlg-mobile-categories-only:not(.vlg-mobile-auto-open-categories) .vlg-nav.is-open .vlg-category-menu:not(.is-open)::after {
    content: "Puuduta „Kõik kategooriad”, et avada mobiili kategooriad." !important;
    display: block !important;
    margin-top: 12px !important;
    padding: 14px 16px !important;
    border: 1px dashed #d6e3f2 !important;
    border-radius: 20px !important;
    background: rgba(255,255,255,.72) !important;
    color: #64748b !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open::after,
  body.vlg-theme.vlg-mobile-auto-open-categories .vlg-nav.is-open .vlg-category-menu::after {
    display: none !important;
    content: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-button,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-button {
    min-height: 64px !important;
    border-radius: 23px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-button span,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-button span {
    font-size: clamp(16px, 4.4vw, 19px) !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-dropdown {
    min-height: 0 !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-tree {
    padding: 10px !important;
    gap: 9px !important;
    scroll-padding: 14px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-row,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-row {
    grid-template-columns: minmax(0, 1fr) 46px !important;
    gap: 8px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-link,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-link {
    grid-template-columns: 14px minmax(0, 1fr) auto !important;
    min-height: 58px !important;
    padding: 10px 11px !important;
    border-radius: 19px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-title,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-title {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    display: block !important;
    text-align: left !important;
    line-height: 1.12 !important;
    padding: 7px 10px !important;
    max-width: 100% !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-count,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-count {
    min-width: 36px !important;
    height: 34px !important;
    padding-inline: 9px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-subtoggle,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-subtoggle {
    width: 46px !important;
    min-width: 46px !important;
    height: 58px !important;
    border-radius: 18px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-submenu,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-submenu {
    margin-left: 10px !important;
    padding-left: 10px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-depth-1 .vlg-cat-link,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-depth-2 .vlg-cat-link,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-depth-3 .vlg-cat-link {
    min-height: 48px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-depth-1 .vlg-cat-title,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-depth-2 .vlg-cat-title,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-depth-3 .vlg-cat-title {
    font-size: 14px !important;
  }
}

@media (max-width: 380px) {
  body.vlg-theme .vlg-nav {
    padding: 5px !important;
  }

  body.vlg-theme .vlg-nav-inner,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-nav-inner {
    padding: 10px !important;
    border-radius: 22px !important;
    gap: 10px !important;
  }

  body.vlg-theme .vlg-mobile-nav-head {
    grid-template-columns: minmax(0, 1fr) 48px !important;
  }

  body.vlg-theme .vlg-mobile-nav-head strong {
    font-size: 22px !important;
  }

  body.vlg-theme .vlg-mobile-nav-head span {
    display: none !important;
  }

  body.vlg-theme .vlg-mobile-nav-close {
    width: 48px !important;
    height: 48px !important;
    border-radius: 18px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-button,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-button {
    grid-template-columns: 40px minmax(0, 1fr) 34px !important;
    min-height: 58px !important;
    padding: 8px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-button::before,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-button::before {
    width: 40px !important;
    height: 40px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-button::after,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-button::after {
    width: 34px !important;
    height: 34px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-row,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-row {
    grid-template-columns: minmax(0, 1fr) 42px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-link,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-link {
    grid-template-columns: 12px minmax(0, 1fr) auto !important;
    min-height: 54px !important;
    padding: 9px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-count,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-count {
    min-width: 32px !important;
    height: 30px !important;
    font-size: 12px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-subtoggle,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-subtoggle {
    width: 42px !important;
    min-width: 42px !important;
    height: 54px !important;
  }
}


/* === 50-mobile-hide-home-hero.css === */
/* v2.7.2 — Hide the home hero section on phones.
   Desktop/tablet keeps the existing hero. Phones start directly with the
   next content section for a shorter and cleaner mobile homepage. */

@media (max-width: 767.98px) {
  body.vlg-theme.home .vlg-hero,
  body.vlg-theme.front-page .vlg-hero,
  body.vlg-theme.page-template-front-page .vlg-hero,
  body.home .vlg-hero,
  body.front-page .vlg-hero {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body.vlg-theme.home .vlg-hero + *,
  body.vlg-theme.front-page .vlg-hero + *,
  body.home .vlg-hero + *,
  body.front-page .vlg-hero + * {
    margin-top: 0 !important;
  }
}


/* === 51-mobile-static-header-categories-first.css === */
/* v2.7.3 — Mobile static header + categories-first homepage
   - The mobile header/search block is no longer sticky/fixed.
   - On the mobile homepage, after the hero is hidden, popular categories are shown immediately.
*/

@media (max-width: 767.98px) {
  html body.vlg-theme,
  html body.vlg-sticky-header {
    --vlg-header-offset: 0px !important;
  }

  html body.vlg-theme .vlg-site-header,
  html body.vlg-theme.vlg-sticky-header .vlg-site-header,
  html body.vlg-sticky-header .vlg-site-header,
  html body.admin-bar.vlg-theme .vlg-site-header,
  html body.admin-bar.vlg-sticky-header .vlg-site-header {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    z-index: 50 !important;
  }

  html body.vlg-theme .vlg-site-header.is-sticky,
  html body.vlg-theme .vlg-site-header.is-fixed,
  html body.vlg-theme .vlg-site-header.vlg-is-sticky {
    position: relative !important;
    top: auto !important;
  }

  /* Keep the drawer/backdrop behavior intact when the hamburger menu is opened. */
  html body.vlg-theme .vlg-mobile-backdrop,
  html body.vlg-theme .vlg-nav.is-open {
    position: fixed !important;
  }

  /* Mobile homepage: remove the trust cards from the first screen so
     “Populaarsed kategooriad” follows the header/search immediately. */
  html body.home.vlg-theme .vlg-home > .vlg-container > .vlg-trust-grid,
  html body.front-page.vlg-theme .vlg-home > .vlg-container > .vlg-trust-grid,
  html body.home .vlg-home > .vlg-container > .vlg-trust-grid,
  html body.front-page .vlg-home > .vlg-container > .vlg-trust-grid {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  html body.home.vlg-theme .vlg-home,
  html body.front-page.vlg-theme .vlg-home {
    padding-top: 0 !important;
  }

  html body.home.vlg-theme .vlg-home > .vlg-container,
  html body.front-page.vlg-theme .vlg-home > .vlg-container {
    padding-top: 12px !important;
  }

  html body.home.vlg-theme #kategooriad,
  html body.front-page.vlg-theme #kategooriad,
  html body.home #kategooriad,
  html body.front-page #kategooriad {
    margin-top: 0 !important;
    padding-top: 14px !important;
  }

  html body.home.vlg-theme #kategooriad .vlg-section-head,
  html body.front-page.vlg-theme #kategooriad .vlg-section-head {
    margin-bottom: 14px !important;
  }
}


/* === 52-mobile-menu-category-only-default.css === */
/* v2.7.4 — mobile menu defaults to category-only */

@media (max-width: 991.98px) {
  body.vlg-theme.vlg-mobile-categories-only .vlg-nav.is-open .vlg-mobile-quick-links,
  body.vlg-theme.vlg-mobile-hide-quick-links .vlg-nav.is-open .vlg-mobile-quick-links {
    display: none !important;
  }

  body.vlg-theme.vlg-mobile-categories-only .vlg-nav.is-open .vlg-primary-menu,
  body.vlg-theme.vlg-mobile-hide-primary-menu .vlg-nav.is-open .vlg-primary-menu {
    display: none !important;
  }

  body.vlg-theme.vlg-mobile-categories-only.vlg-mobile-show-quick-links .vlg-nav.is-open .vlg-mobile-quick-links,
  body.vlg-theme.vlg-mobile-show-quick-links .vlg-nav.is-open .vlg-mobile-quick-links {
    display: grid !important;
  }

  body.vlg-theme.vlg-mobile-categories-only.vlg-mobile-show-primary-menu .vlg-nav.is-open .vlg-primary-menu,
  body.vlg-theme.vlg-mobile-full-menu .vlg-nav.is-open .vlg-primary-menu,
  body.vlg-theme.vlg-mobile-show-primary-menu .vlg-nav.is-open .vlg-primary-menu {
    display: block !important;
  }

  body.vlg-theme.vlg-mobile-categories-only .vlg-nav.is-open .vlg-mobile-nav-head span {
    display: none !important;
  }

  body.vlg-theme.vlg-mobile-categories-only .vlg-nav.is-open .vlg-mobile-nav-head {
    padding-bottom: 6px !important;
  }
}


/* === 53-admin-mobile-menu-and-category-sorter-fix.css === */
/* v2.7.5 — admin mobile menu controls + reliable category sorter */

.wp-admin .vlg-admin-wrap .vlg-admin-mobile-toggle-note {
  grid-column: 1 / -1;
  padding: 14px 16px;
  border: 1px solid #dbe7f5;
  border-radius: 16px;
  background: linear-gradient(180deg, #f8fbff 0%, #eef6ff 100%);
}

.wp-admin .vlg-admin-wrap .vlg-admin-mobile-toggle-note strong {
  display: block;
  margin-bottom: 4px;
  color: #071224;
}

.wp-admin .vlg-admin-wrap .vlg-admin-mobile-toggle-note p {
  margin: 0;
  color: #52637a;
}

.wp-admin .vlg-admin-wrap .vlg-category-tree-row .vlg-category-drag-handle {
  cursor: grab !important;
  touch-action: none;
}

.wp-admin .vlg-admin-wrap .vlg-category-tree-row.ui-sortable-helper .vlg-category-drag-handle,
.wp-admin .vlg-admin-wrap .vlg-category-tree-row.is-dragging .vlg-category-drag-handle {
  cursor: grabbing !important;
}

.wp-admin .vlg-admin-wrap .vlg-category-row-order-buttons {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-left: auto;
  padding-left: 8px;
}

.wp-admin .vlg-admin-wrap .vlg-category-row-order-buttons .button-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: 1px solid #d9e4f1;
  border-radius: 9px;
  background: #fff;
  color: #10213b;
  font-weight: 900;
  text-decoration: none;
}

.wp-admin .vlg-admin-wrap .vlg-category-row-order-buttons .button-link:hover:not(:disabled) {
  border-color: #f59b14;
  color: #f59b14;
}

.wp-admin .vlg-admin-wrap .vlg-category-row-order-buttons .button-link:disabled {
  opacity: .35;
  cursor: not-allowed;
}

.wp-admin .vlg-admin-wrap .vlg-category-tree-placeholder {
  min-height: 54px;
  margin: 8px 0;
  border: 2px dashed #f59b14;
  border-radius: 14px;
  background: rgba(245, 155, 20, .08);
}

.wp-admin .vlg-admin-wrap .vlg-category-tree-row label {
  min-width: 0;
}

.wp-admin .vlg-admin-wrap .vlg-category-tree-row {
  grid-template-columns: 36px minmax(0, 1fr) auto !important;
}

.wp-admin .vlg-admin-wrap .vlg-category-tree-row.is-hidden-by-filter,
.wp-admin .vlg-admin-wrap .vlg-category-tree-row.is-hidden-by-collapse {
  display: none !important;
}


/* === 54-mobile-menu-quick-links-and-hero-type.css === */
/* v2.7.6 — hero typography + mobile quick links
   - Desktop hero title is slightly smaller and has a safer line-height.
   - Mobile drawer can show Avaleht / Pood / Kontakt as quick links above a
     separate “Kõik kategooriad” block. */

@media (min-width: 992px) {
  body.vlg-theme .vlg-hero h1,
  body.vlg-theme .vlg-hero .vlg-hero-content h1 {
    font-size: clamp(42px, 3.45vw, 58px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.04em !important;
    max-width: 640px !important;
    margin-bottom: 22px !important;
  }

  body.vlg-theme .vlg-hero {
    align-items: center !important;
  }
}

@media (min-width: 1280px) {
  body.vlg-theme .vlg-hero h1,
  body.vlg-theme .vlg-hero .vlg-hero-content h1 {
    font-size: clamp(46px, 3.2vw, 60px) !important;
    line-height: 1.07 !important;
  }
}

@media (max-width: 991.98px) {
  body.vlg-theme.vlg-mobile-show-quick-links .vlg-nav.is-open .vlg-mobile-quick-links,
  body.vlg-theme.vlg-mobile-full-menu .vlg-nav.is-open .vlg-mobile-quick-links {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 0 10px !important;
  }

  body.vlg-theme.vlg-mobile-show-quick-links .vlg-nav.is-open .vlg-mobile-quick-links a,
  body.vlg-theme.vlg-mobile-full-menu .vlg-nav.is-open .vlg-mobile-quick-links a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    padding: 10px 8px !important;
    border: 1px solid #dbe6f3 !important;
    border-radius: 16px !important;
    background: #fff !important;
    color: #071224 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    box-shadow: 0 10px 22px rgba(7, 18, 36, .07) !important;
  }

  body.vlg-theme.vlg-mobile-show-quick-links .vlg-nav.is-open .vlg-category-menu,
  body.vlg-theme.vlg-mobile-full-menu .vlg-nav.is-open .vlg-category-menu {
    margin-top: 2px !important;
    padding-top: 10px !important;
    border-top: 1px solid #e6eef8 !important;
  }
}


/* === 55-clean-mobile-admin-v280.css === */
/* v2.8.0 — Clean Mobile & Admin final layer
   This file is intentionally last in the cascade. It stabilizes the new mobile
   header/drawer and makes the admin category sorter easier to use.
*/

/* ---------- Desktop hero readability ---------- */
@media (min-width: 992px) {
  body.vlg-theme .vlg-hero h1,
  body.vlg-theme .vlg-hero .vlg-hero-content h1 {
    font-size: clamp(40px, 3.05vw, 56px) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.035em !important;
    max-width: 620px !important;
  }

  body.vlg-theme .vlg-hero .vlg-hero-content,
  body.vlg-theme .vlg-hero-content {
    max-width: 690px !important;
  }

  body.vlg-theme .vlg-hero p,
  body.vlg-theme .vlg-hero .vlg-hero-lead {
    max-width: 680px !important;
    line-height: 1.55 !important;
  }
}

/* ---------- Phone header + drawer ---------- */
@media (max-width: 767.98px) {
  body.vlg-theme .vlg-main-header {
    position: relative !important;
    z-index: 20 !important;
  }

  body.vlg-theme .vlg-main-header-inner {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 12px !important;
    align-items: center !important;
    padding: 12px 0 14px !important;
  }

  body.vlg-theme .vlg-header-brand-row {
    min-width: 0 !important;
    gap: 10px !important;
  }

  body.vlg-theme .vlg-brand,
  body.vlg-theme .vlg-brand a,
  body.vlg-theme .vlg-brand img {
    max-width: min(230px, 62vw) !important;
    min-width: 0 !important;
  }

  body.vlg-theme .vlg-header-actions {
    justify-content: flex-end !important;
    min-width: 0 !important;
  }

  body.vlg-theme .vlg-header-search {
    grid-column: 1 / -1 !important;
    order: 4 !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body.vlg-theme.vlg-mobile-hide-search .vlg-header-search {
    display: none !important;
  }

  body.vlg-theme .vlg-mobile-toggle,
  body.vlg-theme .vlg-cart-link {
    flex: 0 0 auto !important;
  }

  body.vlg-theme .vlg-mobile-toggle {
    width: 48px !important;
    height: 48px !important;
    border-radius: 18px !important;
  }

  body.vlg-theme .vlg-cart-link {
    width: 52px !important;
    height: 52px !important;
    border-radius: 18px !important;
  }

  body.vlg-theme .vlg-nav.is-open {
    position: fixed !important;
    inset: auto 10px 10px 10px !important;
    top: max(10px, env(safe-area-inset-top)) !important;
    height: auto !important;
    max-height: calc(100dvh - 20px - env(safe-area-inset-bottom)) !important;
    overflow: hidden !important;
    border-radius: 26px !important;
    background: #ffffff !important;
    box-shadow: 0 26px 80px rgba(7,18,36,.34) !important;
  }

  body.admin-bar.vlg-theme .vlg-nav.is-open {
    top: calc(46px + max(8px, env(safe-area-inset-top))) !important;
    max-height: calc(100dvh - 64px - env(safe-area-inset-bottom)) !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-nav-inner {
    display: grid !important;
    grid-template-rows: auto auto 1fr auto !important;
    gap: 12px !important;
    width: 100% !important;
    max-height: inherit !important;
    overflow: hidden !important;
    padding: 14px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-head {
    position: sticky !important;
    top: 0 !important;
    z-index: 3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 54px !important;
    padding: 0 0 10px !important;
    border-bottom: 1px solid #e5edf7 !important;
    background: #fff !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-head strong {
    font-size: 18px !important;
    line-height: 1.15 !important;
    color: #071224 !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-head span {
    display: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-close {
    width: 48px !important;
    height: 48px !important;
    border-radius: 18px !important;
    background: #f8fbff !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-quick-links {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 0 !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-quick-links:empty {
    display: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-quick-links a {
    min-height: 46px !important;
    padding: 10px 8px !important;
    border: 1px solid #dce7f4 !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    color: #071224 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    text-align: center !important;
    text-decoration: none !important;
    box-shadow: 0 10px 22px rgba(7,18,36,.07) !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-menu {
    min-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 10px !important;
    border: 1px solid #e2ebf6 !important;
    border-radius: 22px !important;
    background: #f5f8fc !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-button,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-button {
    width: 100% !important;
    min-height: 56px !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg,#071224 0%,#10213b 100%) !important;
    color: #fff !important;
    box-shadow: 0 14px 32px rgba(7,18,36,.20) !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown {
    min-height: 0 !important;
    overflow: hidden !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown,
  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown,
  body.vlg-theme.vlg-mobile-auto-open-categories .vlg-nav.is-open .vlg-category-dropdown {
    display: block !important;
    max-height: min(58dvh, 520px) !important;
    overflow: auto !important;
    -webkit-overflow-scrolling: touch !important;
    margin-top: 10px !important;
    padding: 0 !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree {
    padding: 0 !important;
    gap: 9px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-row {
    min-height: 58px !important;
    border-radius: 18px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-name {
    white-space: normal !important;
    line-height: 1.15 !important;
    hyphens: auto !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-primary-menu {
    margin: 0 !important;
    padding: 8px !important;
    border-radius: 18px !important;
    background: #f8fbff !important;
    overflow: auto !important;
  }

  body.home.vlg-theme #kategooriad,
  body.front-page.vlg-theme #kategooriad {
    padding-top: 8px !important;
  }
}

/* ---------- Admin: category sorter must be usable even when drag is unreliable ---------- */
.wp-admin .vlg-category-tree-sorter-field {
  grid-column: 1 / -1 !important;
}

.wp-admin .vlg-category-tree-sorter {
  display: grid !important;
  gap: 8px !important;
  max-height: min(70vh, 760px) !important;
  overflow: auto !important;
  padding: 10px !important;
  border: 1px solid #dfe8f4 !important;
  border-radius: 18px !important;
  background: #f7faff !important;
}

.wp-admin .vlg-category-tree-row {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 54px !important;
  padding: 8px 10px !important;
  border: 1px solid #dfe8f4 !important;
  border-radius: 16px !important;
  background: #fff !important;
}

.wp-admin .vlg-category-tree-row.is-dragging {
  opacity: .62 !important;
}

.wp-admin .vlg-category-drag-handle {
  display: inline-grid !important;
  place-items: center !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 13px !important;
  background: #eef4fb !important;
  color: #071224 !important;
  cursor: grab !important;
  pointer-events: auto !important;
}

.wp-admin .vlg-category-drag-handle:active {
  cursor: grabbing !important;
}

.wp-admin .vlg-category-row-order-buttons {
  display: inline-flex !important;
  gap: 6px !important;
  pointer-events: auto !important;
}

.wp-admin .vlg-category-row-order-buttons button {
  display: inline-grid !important;
  place-items: center !important;
  width: 32px !important;
  height: 32px !important;
  border: 1px solid #d6e2f0 !important;
  border-radius: 11px !important;
  background: #fff !important;
  color: #071224 !important;
  text-decoration: none !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}

.wp-admin .vlg-category-row-order-buttons button:disabled {
  opacity: .35 !important;
  cursor: not-allowed !important;
}

.wp-admin .vlg-category-tree-placeholder {
  min-height: 54px !important;
  border: 2px dashed #f28a00 !important;
  border-radius: 16px !important;
  background: rgba(242,138,0,.08) !important;
}

.wp-admin .vlg-admin-card[data-vlg-focus-card="mobile-menu"] .vlg-admin-grid {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
}


/* === 58-mobile-stability-overrides-v281.css === */
/* v2.8.1 — final mobile stability layer */
@media (max-width: 991.98px) {
  body.vlg-theme.vlg-menu-open {
    overflow: hidden !important;
    touch-action: none;
  }

  body.vlg-theme .vlg-nav.is-open {
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree {
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-primary-menu,
  body.vlg-theme .vlg-nav.is-open .vlg-mobile-quick-links,
  body.vlg-theme .vlg-nav.is-open .vlg-category-menu {
    max-width: 100% !important;
  }

  body.vlg-theme .vlg-main-header,
  body.vlg-theme .vlg-header-search,
  body.vlg-theme .vlg-header-brand-row {
    max-width: 100vw !important;
  }
}


/* === 60-v300-clean-core.css === */
/* v3.0.0 — Clean Core final layer
   Loads last and normalizes mobile header/menu, checkout, product pages and hero text.
*/

@media (max-width: 767.98px) {
  html body.vlg-theme {
    --vlg-mobile-radius: 18px;
    --vlg-mobile-gap: 12px;
    --vlg-mobile-shadow: 0 16px 34px rgba(7, 18, 36, .14);
  }

  html body.vlg-theme .vlg-main-header {
    position: relative !important;
    z-index: 30 !important;
    background: #fff !important;
    border-bottom: 1px solid rgba(7, 18, 36, .08) !important;
  }

  html body.vlg-theme .vlg-main-header-inner {
    display: grid !important;
    grid-template-columns: auto 1fr auto !important;
    gap: 10px !important;
    align-items: center !important;
    min-height: 64px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  html body.vlg-theme .vlg-header-brand-row { display: contents !important; }

  html body.vlg-theme .vlg-mobile-toggle {
    grid-column: 1 !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 15px !important;
    background: #071224 !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(7, 18, 36, .16) !important;
  }

  html body.vlg-theme .vlg-brand {
    grid-column: 2 !important;
    justify-self: center !important;
    min-width: 0 !important;
  }

  html body.vlg-theme .vlg-brand img,
  html body.vlg-theme .custom-logo {
    max-height: 42px !important;
    width: auto !important;
  }

  html body.vlg-theme .vlg-header-actions {
    grid-column: 3 !important;
    display: flex !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    min-width: 44px !important;
  }

  html body.vlg-theme .vlg-header-actions .vlg-account-link,
  html body.vlg-theme .vlg-header-actions .vlg-wishlist-link,
  html body.vlg-theme .vlg-header-language-slot { display: none !important; }

  html body.vlg-theme .vlg-cart-link {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    padding: 0 !important;
    justify-content: center !important;
    border-radius: 15px !important;
  }

  html body.vlg-theme .vlg-cart-link span:not(.vlg-icon):not(.vlg-cart-count),
  html body.vlg-theme .vlg-cart-link strong,
  html body.vlg-theme .vlg-cart-link small { display: none !important; }

  html body.vlg-theme .vlg-header-search {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    margin: 0 !important;
  }

  html body.vlg-theme.vlg-mobile-hide-search .vlg-header-search { display: none !important; }

  html body.vlg-theme .vlg-nav.is-open {
    position: fixed !important;
    inset: 10px !important;
    z-index: 9999 !important;
    display: block !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    max-height: calc(100dvh - 20px) !important;
    overflow: hidden !important;
    border-radius: 24px !important;
    background: #fff !important;
    box-shadow: 0 24px 90px rgba(7, 18, 36, .30) !important;
  }

  html body.admin-bar.vlg-theme .vlg-nav.is-open {
    top: 56px !important;
    max-height: calc(100dvh - 66px) !important;
  }

  html body.vlg-theme .vlg-nav.is-open .vlg-nav-inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    height: 100% !important;
    max-height: inherit !important;
    padding: 14px !important;
    overflow: hidden !important;
  }

  html body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    flex: 0 0 auto !important;
    padding: 0 0 10px !important;
    border-bottom: 1px solid rgba(7, 18, 36, .08) !important;
  }

  html body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-head strong {
    font-size: 18px !important;
    line-height: 1.15 !important;
  }

  html body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-head span { display: none !important; }

  html body.vlg-theme .vlg-nav.is-open .vlg-mobile-quick-links {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px !important;
    flex: 0 0 auto !important;
  }

  html body.vlg-theme.vlg-mobile-hide-quick-links .vlg-nav.is-open .vlg-mobile-quick-links,
  html body.vlg-theme:not(.vlg-mobile-show-quick-links) .vlg-nav.is-open .vlg-mobile-quick-links {
    display: none !important;
  }

  html body.vlg-theme .vlg-nav.is-open .vlg-mobile-quick-links a {
    min-height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 15px !important;
    background: #f3f6fb !important;
    color: #071224 !important;
    font-weight: 900 !important;
    text-decoration: none !important;
  }

  html body.vlg-theme .vlg-nav.is-open .vlg-category-menu {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    flex: 1 1 auto !important;
    overflow: hidden !important;
  }

  html body.vlg-theme .vlg-nav.is-open .vlg-category-button {
    flex: 0 0 auto !important;
    min-height: 56px !important;
    width: 100% !important;
    padding: 14px 16px !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg, #071224, #132542) !important;
    color: #fff !important;
  }

  html body.vlg-theme .vlg-nav.is-open .vlg-category-button::before {
    display: none !important;
    content: none !important;
  }

  html body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown {
    position: static !important;
    display: none !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    margin-top: 10px !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  html body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown,
  html body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown,
  html body.vlg-theme.vlg-mobile-auto-open-categories .vlg-nav.is-open .vlg-category-dropdown {
    display: flex !important;
    flex-direction: column !important;
  }

  html body.vlg-theme .vlg-nav.is-open .vlg-cat-tree,
  html body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown > ul {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    height: 100% !important;
    overflow: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 10px !important;
    border-radius: 18px !important;
    background: #f5f8fc !important;
  }

  html body.vlg-theme .vlg-nav.is-open .vlg-cat-row,
  html body.vlg-theme .vlg-nav.is-open .vlg-cat-tree a,
  html body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown li > a {
    min-height: 46px !important;
    border-radius: 14px !important;
    background: #fff !important;
    color: #071224 !important;
    box-shadow: 0 1px 0 rgba(7, 18, 36, .06) !important;
  }

  html body.vlg-theme .vlg-nav.is-open .vlg-primary-menu { display: none !important; }

  html body.vlg-theme.vlg-mobile-show-primary-menu .vlg-nav.is-open .vlg-primary-menu,
  html body.vlg-theme.vlg-mobile-full-menu .vlg-nav.is-open .vlg-primary-menu {
    display: block !important;
    flex: 0 0 auto !important;
    max-height: 30dvh !important;
    overflow: auto !important;
    padding: 10px !important;
    border-radius: 18px !important;
    background: #f5f8fc !important;
  }
}

/* Desktop hero cleanup */
@media (min-width: 992px) {
  body.vlg-theme .vlg-hero-title,
  body.vlg-theme .vlg-hero h1,
  body.vlg-theme .vlg-hero-content h1 {
    max-width: 780px !important;
    font-size: clamp(40px, 4.2vw, 58px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.045em !important;
  }
}

/* Mobile checkout: one column and easier to scan. */
@media (max-width: 767.98px) {
  body.woocommerce-checkout.vlg-theme form.checkout,
  body.woocommerce-checkout.vlg-theme .woocommerce-checkout { display: block !important; }

  body.woocommerce-checkout.vlg-theme .col2-set,
  body.woocommerce-checkout.vlg-theme #order_review,
  body.woocommerce-checkout.vlg-theme #order_review_heading {
    width: 100% !important;
    float: none !important;
    clear: both !important;
  }

  body.woocommerce-checkout.vlg-theme .woocommerce-billing-fields,
  body.woocommerce-checkout.vlg-theme .woocommerce-shipping-fields,
  body.woocommerce-checkout.vlg-theme #order_review {
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 10px 24px rgba(7, 18, 36, .08) !important;
    padding: 16px !important;
    margin-bottom: 14px !important;
  }
}

/* Mobile product page: prioritize image, price and add-to-cart. */
@media (max-width: 767.98px) {
  body.single-product.vlg-theme div.product { display: block !important; }

  body.single-product.vlg-theme div.product .summary { padding-top: 12px !important; }

  body.single-product.vlg-theme div.product .price {
    font-size: 24px !important;
    line-height: 1.15 !important;
    font-weight: 950 !important;
  }

  body.single-product.vlg-theme div.product form.cart {
    position: sticky !important;
    bottom: max(10px, env(safe-area-inset-bottom)) !important;
    z-index: 40 !important;
    display: flex !important;
    gap: 10px !important;
    align-items: center !important;
    padding: 10px !important;
    border-radius: 20px !important;
    background: rgba(255,255,255,.96) !important;
    box-shadow: 0 14px 38px rgba(7, 18, 36, .18) !important;
    backdrop-filter: blur(10px) !important;
  }

  body.single-product.vlg-theme div.product form.cart .single_add_to_cart_button {
    flex: 1 1 auto !important;
    min-height: 48px !important;
    border-radius: 15px !important;
  }
}


/* === 61-v302-mobile-menu-button-visible.css === */
/* v3.0.2 — make the mobile menu button visibly clickable.
   The v3 Clean Core layer made the button dark, while an older icon rule
   still painted the hamburger bars dark. This final layer forces a high
   contrast icon and a clear touch target. */

@media (max-width: 767.98px) {
  html body.vlg-theme .vlg-mobile-toggle,
  html body.vlg-theme .vlg-mobile-toggle.vlg-mobile-toggle-mobile-only {
    display: inline-grid !important;
    place-items: center !important;
    position: relative !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    padding: 0 !important;
    border: 1px solid rgba(255, 178, 80, .25) !important;
    border-radius: 16px !important;
    background: #071224 !important;
    color: #fff !important;
    box-shadow: 0 12px 26px rgba(7, 18, 36, .22) !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  html body.vlg-theme .vlg-mobile-toggle-icon {
    display: block !important;
    position: relative !important;
    width: 22px !important;
    height: 18px !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  html body.vlg-theme .vlg-mobile-toggle-icon span {
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    width: 22px !important;
    height: 3px !important;
    min-height: 3px !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 1px rgba(255,255,255,.04) !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform-origin: center !important;
    transition: top .18s ease, transform .18s ease, opacity .18s ease !important;
  }

  html body.vlg-theme .vlg-mobile-toggle-icon span:nth-child(1) { top: 0 !important; }
  html body.vlg-theme .vlg-mobile-toggle-icon span:nth-child(2) { top: 7.5px !important; }
  html body.vlg-theme .vlg-mobile-toggle-icon span:nth-child(3) { top: 15px !important; }

  html body.vlg-theme .vlg-mobile-toggle:hover,
  html body.vlg-theme .vlg-mobile-toggle:active {
    background: #0d1b32 !important;
    transform: translateY(-1px) !important;
  }

  html body.vlg-theme .vlg-mobile-toggle:focus-visible {
    outline: 3px solid rgba(255, 147, 0, .35) !important;
    outline-offset: 3px !important;
  }

  html body.vlg-theme .vlg-mobile-toggle.is-open .vlg-mobile-toggle-icon span:nth-child(1) {
    top: 7.5px !important;
    transform: rotate(45deg) !important;
  }

  html body.vlg-theme .vlg-mobile-toggle.is-open .vlg-mobile-toggle-icon span:nth-child(2) {
    opacity: 0 !important;
  }

  html body.vlg-theme .vlg-mobile-toggle.is-open .vlg-mobile-toggle-icon span:nth-child(3) {
    top: 7.5px !important;
    transform: rotate(-45deg) !important;
  }
}


/* === 70-v310-sales-boost.css === */
/* v3.1.0 — Sales Boost UI */
.vlg-search-suggest__list li{position:relative;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.vlg-search-suggest__link{display:grid!important;grid-template-columns:54px 1fr;gap:12px;align-items:center;text-decoration:none}.vlg-search-suggest__media img{width:54px;height:54px;object-fit:contain;border-radius:12px;background:#f8fafc}.vlg-search-suggest__meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.vlg-search-suggest__category,.vlg-search-suggest__sku,.vlg-search-suggest__stock{font-size:11px;font-weight:800;border-radius:999px;background:#eef4fb;color:#475569;padding:3px 7px}.vlg-search-suggest__price{display:block;margin-top:5px;font-weight:950;color:#071224}.vlg-search-suggest__cart{border:0;border-radius:12px;background:#ff8a00;color:#fff;font-weight:950;padding:9px 10px;cursor:pointer;white-space:nowrap}.vlg-search-suggest__cart.is-loading{opacity:.7}.vlg-search-suggest__cart.is-added{background:#16a34a}
.vlg-sales-badges{position:absolute;z-index:6;left:12px;top:12px;display:flex;flex-wrap:wrap;gap:6px;max-width:calc(100% - 24px)}.vlg-sales-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:950;line-height:1;background:#071224;color:#fff;box-shadow:0 8px 18px rgba(7,18,36,.18)}.vlg-sales-badge--sale{background:#ef4444}.vlg-sales-badge--new{background:#2563eb}.vlg-sales-badge--popular{background:#7c3aed}.vlg-sales-badge--stock{background:#16a34a}.vlg-sales-badge--delivery{background:#f59e0b;color:#111827}.vlg-sales-badge--energy{background:#059669}.products .product,.vlg-product-card,.woocommerce ul.products li.product{position:relative}
.vlg-promo-bar{background:linear-gradient(90deg,#071224,#13233d);color:#fff;font-weight:900}.vlg-promo-bar__inner{max-width:1280px;margin:0 auto;padding:9px 18px;display:flex;gap:10px;align-items:center;justify-content:center;text-align:center}.vlg-promo-bar a{color:#ffb34d;text-decoration:none}.vlg-promo-bar__label{color:#ffb34d}.vlg-recent-products{margin:36px auto;max-width:1280px;padding:0 18px}.vlg-recent-products h2{font-size:clamp(24px,3vw,38px);margin:0 0 18px}.vlg-recent-products__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.vlg-recent-products__item{border:1px solid #dbe5ef;border-radius:18px;padding:14px;background:#fff;text-decoration:none;color:#071224;box-shadow:0 10px 24px rgba(15,23,42,.06)}.vlg-recent-products__item img{width:100%;aspect-ratio:1/1;object-fit:contain}.vlg-recent-products__item strong{display:block;margin-top:8px}.vlg-recent-products__item span{font-weight:950;color:#f28a00}.vlg-empty-cart-boost{margin:20px 0;padding:20px;border:1px solid #dbe5ef;border-radius:20px;background:#fff}.vlg-empty-cart-boost__links{display:flex;flex-wrap:wrap;gap:10px}.vlg-empty-cart-boost__links a{border-radius:999px;background:#eef4fb;color:#071224;padding:10px 14px;text-decoration:none;font-weight:900}
.vlg-mobile-sticky-cart{display:none}@media(max-width:767.98px){.vlg-search-suggest__list li{grid-template-columns:1fr}.vlg-search-suggest__cart{width:100%}.vlg-recent-products__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vlg-mobile-sticky-cart{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:9998;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px 12px;border-radius:18px;background:#071224;color:#fff;box-shadow:0 18px 50px rgba(7,18,36,.35)}.vlg-mobile-sticky-cart strong{display:block;font-size:13px}.vlg-mobile-sticky-cart span{font-size:12px;color:#cbd5e1}.vlg-mobile-sticky-cart button{border:0;border-radius:14px;background:#ff8a00;color:#fff;font-weight:950;padding:12px 14px}.single-product body{padding-bottom:86px}}


/* === 80-v320-conversion-quality-mobile-categories.css === */
/* v3.2.0 — Conversion & Quality mobile category cards
   Fixes phone layout where category card text could become vertical/narrow.
   On phones the popular categories are shown as full-width compact list cards. */

@media (max-width: 767.98px) {
  body.vlg-theme #kategooriad,
  body.vlg-theme .vlg-section#kategooriad {
    overflow: hidden !important;
  }

  body.vlg-theme #kategooriad .vlg-section-head {
    align-items: flex-start !important;
    padding-inline: 2px !important;
  }

  body.vlg-theme #kategooriad .vlg-section-head h2 {
    font-size: clamp(28px, 9vw, 42px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.05em !important;
    max-width: 100% !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  body.vlg-theme #kategooriad .vlg-category-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  body.vlg-theme #kategooriad .vlg-category-card {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 14px !important;
    min-height: 96px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 14px !important;
    border-radius: 22px !important;
    background: #ffffff !important;
    color: #071224 !important;
    overflow: hidden !important;
  }

  body.vlg-theme #kategooriad .vlg-category-card img {
    grid-column: 1 !important;
    width: 72px !important;
    height: 72px !important;
    max-width: 72px !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: contain !important;
    border-radius: 18px !important;
    background: #f3f6fb !important;
  }

  body.vlg-theme #kategooriad .vlg-category-card > div {
    grid-column: 2 !important;
    min-width: 0 !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 4px !important;
    text-align: left !important;
  }

  body.vlg-theme #kategooriad .vlg-category-card strong,
  body.vlg-theme #kategooriad .vlg-category-card small,
  body.vlg-theme #kategooriad .vlg-category-card span {
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    max-width: 100% !important;
  }

  body.vlg-theme #kategooriad .vlg-category-card strong {
    font-size: 17px !important;
    line-height: 1.14 !important;
    letter-spacing: -.02em !important;
    color: #071224 !important;
  }

  body.vlg-theme #kategooriad .vlg-category-card small {
    font-size: 13px !important;
    line-height: 1.2 !important;
    color: #64748b !important;
  }

  body.vlg-theme #kategooriad .vlg-category-card span {
    display: inline-flex !important;
    margin-top: 4px !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    color: #f28a00 !important;
  }
}


/* === 90-v330-smart-store-automation.css === */
/* v3.3.0 — Smart Store Automation theme layer */

@media (max-width: 767.98px) {
  html body.vlg-theme #kategooriad .vlg-category-card,
  html body.vlg-theme .vlg-category-grid .vlg-category-card {
    min-height: 132px !important;
    padding: 16px !important;
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) !important;
    gap: 14px !important;
    align-items: center !important;
    overflow: hidden !important;
  }

  html body.vlg-theme #kategooriad .vlg-category-card h3,
  html body.vlg-theme .vlg-category-grid .vlg-category-card h3 {
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    hyphens: auto !important;
    text-align: left !important;
    font-size: 17px !important;
    line-height: 1.08 !important;
    max-width: 100% !important;
  }

  html body.vlg-theme #kategooriad .vlg-category-card .vlg-category-count,
  html body.vlg-theme .vlg-category-grid .vlg-category-card .vlg-category-count {
    display: inline-flex !important;
    width: auto !important;
    white-space: nowrap !important;
    font-size: 13px !important;
  }

  html body.vlg-theme #kategooriad .vlg-category-card img,
  html body.vlg-theme .vlg-category-grid .vlg-category-card img {
    width: 68px !important;
    height: 68px !important;
    object-fit: contain !important;
  }

  html body.vlg-theme #kategooriad .vlg-section-head {
    margin-bottom: 14px !important;
  }
}

.vlg-theme .vlg-buyer-assistant + .products,
.vlg-theme .vlg-buyer-assistant + .woocommerce-notices-wrapper + .products {
  margin-top: 18px;
}


/* === 95-v360-shop-kompass-layout-fix.css === */
/* v3.6.0 — Shop/Kompass layout hotfix + stronger mobile category cards */

.vlg-shop-head .vlg-shop-tools[aria-hidden="true"] {
  display: none !important;
}

.vlg-shop-preloop {
  width: 100%;
  margin: 0 0 22px;
  display: grid;
  gap: 14px;
}

.vlg-shop-preloop::after {
  content: "";
  display: table;
  clear: both;
}

.vlg-shop-preloop .woocommerce-notices-wrapper,
.vlg-shop-preloop .vlg-kompass-shop-card,
.vlg-shop-preloop .vlg-buyer-assistant {
  width: 100%;
  max-width: none;
  clear: both;
}

.vlg-shop-preloop .woocommerce-result-count,
.vlg-shop-preloop .woocommerce-ordering {
  margin: 0 !important;
}

.vlg-shop-preloop .woocommerce-result-count {
  align-self: center;
  color: #64748b;
  font-weight: 800;
}

.vlg-shop-preloop .woocommerce-ordering {
  justify-self: end;
}

.vlg-shop-preloop .woocommerce-ordering select {
  min-height: 44px;
  border-radius: 14px;
  border: 1px solid #dbe6f3;
  padding: 0 14px;
  font-weight: 800;
  color: #071224;
  background: #fff;
}

.vlg-shop-preloop > .woocommerce-result-count,
.vlg-shop-preloop > .woocommerce-ordering {
  display: inline-flex;
}

.vlg-shop-preloop {
  grid-template-columns: 1fr auto;
}

.vlg-shop-preloop > .vlg-kompass-shop-card,
.vlg-shop-preloop > .vlg-buyer-assistant,
.vlg-shop-preloop > .woocommerce-notices-wrapper {
  grid-column: 1 / -1;
}

body.vlg-theme .vlg-shop-products,
body.vlg-theme .vlg-shop-layout,
body.vlg-theme .vlg-shop-page {
  min-width: 0;
}

@media (max-width: 767.98px) {
  .vlg-shop-preloop {
    grid-template-columns: 1fr !important;
    margin-bottom: 16px;
  }

  .vlg-shop-preloop .woocommerce-ordering,
  .vlg-shop-preloop .woocommerce-ordering select {
    width: 100%;
    justify-self: stretch;
  }

  html body.vlg-theme #kategooriad .vlg-category-grid,
  html body.vlg-theme .vlg-category-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  html body.vlg-theme #kategooriad .vlg-category-card,
  html body.vlg-theme .vlg-category-grid .vlg-category-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 112px !important;
    display: grid !important;
    grid-template-columns: 82px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 14px !important;
    overflow: hidden !important;
  }

  html body.vlg-theme #kategooriad .vlg-category-card > div,
  html body.vlg-theme .vlg-category-grid .vlg-category-card > div {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    gap: 4px !important;
    text-align: left !important;
  }

  html body.vlg-theme #kategooriad .vlg-category-card strong,
  html body.vlg-theme .vlg-category-grid .vlg-category-card strong {
    display: block !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: manual !important;
    text-align: left !important;
    font-size: 18px !important;
    line-height: 1.12 !important;
    letter-spacing: -.02em !important;
    max-width: 100% !important;
  }

  html body.vlg-theme #kategooriad .vlg-category-card small,
  html body.vlg-theme #kategooriad .vlg-category-card span,
  html body.vlg-theme .vlg-category-grid .vlg-category-card small,
  html body.vlg-theme .vlg-category-grid .vlg-category-card span {
    writing-mode: horizontal-tb !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    text-align: left !important;
    line-height: 1.2 !important;
  }

  html body.vlg-theme #kategooriad .vlg-category-card img,
  html body.vlg-theme .vlg-category-grid .vlg-category-card img {
    width: 76px !important;
    height: 76px !important;
    max-width: 76px !important;
    object-fit: contain !important;
  }
}


/* === 96-v370-shop-product-footer-fix.css === */
/* v3.7.0 — shop/product/footer layout repair + ValgusBundle support
   Focus: screenshots showed shop helper blocks taking too much vertical space,
   product image gallery leaving a very large empty area and footer feeling too tall.
*/

/* Keep WooCommerce archive content centered and use available width sanely. */
body.vlg-theme.woocommerce-shop .vlg-shop-page,
body.vlg-theme.tax-product_cat .vlg-shop-page,
body.vlg-theme.post-type-archive-product .vlg-shop-page,
body.vlg-theme.search .vlg-search-products-page {
  width: min(100% - 32px, 1480px) !important;
  max-width: 1480px !important;
  margin-inline: auto !important;
}

body.vlg-theme .vlg-shop-layout,
body.vlg-theme .vlg-products-layout,
body.vlg-theme .vlg-shop-content-wrap {
  align-items: start !important;
}

body.vlg-theme .vlg-shop-sidebar {
  max-width: 270px !important;
}

body.vlg-theme .vlg-shop-products,
body.vlg-theme .vlg-products-wrap,
body.vlg-theme ul.products {
  min-width: 0 !important;
}

/* Shop helper blocks: never behave like huge hero sections inside shop/listing. */
body.vlg-theme.woocommerce-shop .vlg-shop-preloop,
body.vlg-theme.tax-product_cat .vlg-shop-preloop,
body.vlg-theme.post-type-archive-product .vlg-shop-preloop,
body.vlg-theme.search .vlg-shop-preloop {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto 22px !important;
  display: grid !important;
  gap: 14px !important;
}

body.vlg-theme.woocommerce-shop .vlg-shop-preloop .vlg-kompass,
body.vlg-theme.tax-product_cat .vlg-shop-preloop .vlg-kompass,
body.vlg-theme.post-type-archive-product .vlg-shop-preloop .vlg-kompass,
body.vlg-theme.search .vlg-shop-preloop .vlg-kompass {
  margin: 0 !important;
  padding: 16px !important;
  border-radius: 22px !important;
  box-shadow: 0 14px 34px rgba(7,18,36,.12) !important;
}

body.vlg-theme.woocommerce-shop .vlg-shop-preloop .vlg-kompass h2,
body.vlg-theme.tax-product_cat .vlg-shop-preloop .vlg-kompass h2,
body.vlg-theme.post-type-archive-product .vlg-shop-preloop .vlg-kompass h2,
body.vlg-theme.search .vlg-shop-preloop .vlg-kompass h2 {
  font-size: clamp(22px, 2.2vw, 32px) !important;
}

body.vlg-theme.woocommerce-shop .vlg-shop-preloop .vlg-kompass__grid,
body.vlg-theme.tax-product_cat .vlg-shop-preloop .vlg-kompass__grid,
body.vlg-theme.post-type-archive-product .vlg-shop-preloop .vlg-kompass__grid,
body.vlg-theme.search .vlg-shop-preloop .vlg-kompass__grid {
  grid-template-columns: repeat(3, minmax(160px, 1fr)) !important;
  gap: 10px !important;
  margin: 12px 0 !important;
}

body.vlg-theme.woocommerce-shop .vlg-shop-preloop .vlg-buyer-assistant,
body.vlg-theme.tax-product_cat .vlg-shop-preloop .vlg-buyer-assistant,
body.vlg-theme.post-type-archive-product .vlg-shop-preloop .vlg-buyer-assistant,
body.vlg-theme.search .vlg-shop-preloop .vlg-buyer-assistant {
  margin: 0 !important;
  max-width: none !important;
}

/* Product cards: prevent too-narrow columns and vertical text. */
body.vlg-theme ul.products li.product,
body.vlg-theme .vlg-product-card,
body.vlg-theme .vlg-card {
  min-width: 0 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

body.vlg-theme ul.products li.product h2,
body.vlg-theme ul.products li.product h3,
body.vlg-theme .vlg-product-card-title,
body.vlg-theme .woocommerce-loop-product__title {
  writing-mode: horizontal-tb !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: auto !important;
}

/* Single product: reduce the huge white gallery space from the screenshot. */
body.vlg-theme.single-product .woocommerce-product-gallery,
body.vlg-theme.single-product .vlg-product-gallery,
body.vlg-theme.single-product .vlg-product-media {
  min-height: 0 !important;
  max-height: 720px !important;
}

body.vlg-theme.single-product .woocommerce-product-gallery__wrapper,
body.vlg-theme.single-product .woocommerce-product-gallery__image,
body.vlg-theme.single-product .vlg-product-gallery-main {
  min-height: 0 !important;
  max-height: 560px !important;
}

body.vlg-theme.single-product .woocommerce-product-gallery__image img,
body.vlg-theme.single-product .vlg-product-gallery img,
body.vlg-theme.single-product .vlg-product-media img {
  max-height: 520px !important;
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  margin-inline: auto !important;
}

body.vlg-theme.single-product .flex-control-thumbs,
body.vlg-theme.single-product .vlg-product-thumbs {
  margin-top: 14px !important;
}

/* Footer: more compact, better balanced payment logos. */
body.vlg-theme .vlg-site-footer,
body.vlg-theme footer.site-footer {
  padding-top: 44px !important;
  padding-bottom: 28px !important;
}

body.vlg-theme .vlg-footer-inner,
body.vlg-theme .vlg-footer-grid {
  gap: 28px !important;
  align-items: start !important;
}

body.vlg-theme .vlg-footer-payments,
body.vlg-theme .vlg-payment-logos {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 9px !important;
  max-width: 360px !important;
}

body.vlg-theme .vlg-footer-payments img,
body.vlg-theme .vlg-payment-logos img {
  max-height: 30px !important;
  width: auto !important;
}

/* ValgusBundle public block. */
.vlg-bundle {
  margin: 24px 0;
  padding: 22px;
  border-radius: 26px;
  border: 1px solid #dbe6f3;
  background: linear-gradient(180deg,#ffffff,#f8fbff);
  box-shadow: 0 16px 42px rgba(15,23,42,.08);
}
.vlg-bundle__head {display:flex; gap:14px; align-items:flex-start; margin-bottom:16px;}
.vlg-bundle__icon {display:grid; place-items:center; width:48px; height:48px; border-radius:18px; background:#fff4df; font-size:24px;}
.vlg-bundle__head h2 {margin:0; color:#071224; font-size:clamp(24px,3vw,36px); line-height:1.05;}
.vlg-bundle__head p {margin:6px 0 0; color:#64748b; font-weight:700;}
.vlg-bundle__grid {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px;}
.vlg-bundle__card {display:grid; gap:8px; padding:16px; border:1px solid #dbe6f3; border-radius:20px; background:#fff; text-decoration:none; color:#071224; box-shadow:0 10px 26px rgba(15,23,42,.05);}
.vlg-bundle__card strong {font-size:18px; line-height:1.15;}
.vlg-bundle__card span {color:#64748b; font-weight:700;}
.vlg-bundle__card em {display:inline-flex; width:max-content; margin-top:4px; color:#f18700; font-style:normal; font-weight:950;}
.vlg-bundle__card:hover {border-color:#ffb34d; transform:translateY(-1px);}

@media (max-width: 991.98px) {
  body.vlg-theme .vlg-shop-layout,
  body.vlg-theme .vlg-products-layout {
    grid-template-columns: 1fr !important;
  }
  body.vlg-theme .vlg-shop-sidebar {
    max-width: none !important;
  }
  body.vlg-theme .vlg-shop-preloop .vlg-kompass__grid,
  body.vlg-theme.woocommerce-shop .vlg-shop-preloop .vlg-kompass__grid,
  body.vlg-theme.tax-product_cat .vlg-shop-preloop .vlg-kompass__grid,
  body.vlg-theme.post-type-archive-product .vlg-shop-preloop .vlg-kompass__grid,
  body.vlg-theme.search .vlg-shop-preloop .vlg-kompass__grid {
    grid-template-columns: 1fr !important;
  }
  .vlg-bundle__grid {grid-template-columns:1fr !important;}
}

@media (max-width: 767.98px) {
  body.vlg-theme.woocommerce-shop .vlg-shop-page,
  body.vlg-theme.tax-product_cat .vlg-shop-page,
  body.vlg-theme.post-type-archive-product .vlg-shop-page,
  body.vlg-theme.search .vlg-search-products-page {
    width: min(100% - 20px, 100%) !important;
  }
  body.vlg-theme .vlg-shop-preloop .vlg-kompass,
  body.vlg-theme .vlg-shop-preloop .vlg-buyer-assistant {
    display: none !important; /* On phones: keep product list first, no oversized helpers. */
  }
  body.vlg-theme ul.products,
  body.vlg-theme .products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  body.vlg-theme.single-product .woocommerce-product-gallery__image img,
  body.vlg-theme.single-product .vlg-product-gallery img,
  body.vlg-theme.single-product .vlg-product-media img {
    max-height: 360px !important;
  }
  body.vlg-theme .vlg-site-footer,
  body.vlg-theme footer.site-footer {
    padding-top: 30px !important;
  }
}


/* === 97-v380-ai-search-room-filter-fix.css === */
/* v3.8.0 — ValgusAI Search + room filter layout support */

body.vlg-theme .vlg-ai-search,
body.vlg-theme .vlg-ai-active-note {
  box-sizing: border-box;
}

body.vlg-theme .vlg-shop-preloop .vlg-ai-search,
body.vlg-theme .vlg-shop-preloop .vlg-buyer-assistant,
body.vlg-theme .vlg-shop-preloop .vlg-kompass {
  max-width: 100%;
}

body.vlg-theme.search .vlg-ai-active-note,
body.vlg-theme.woocommerce-shop .vlg-ai-active-note,
body.vlg-theme.tax-product_cat .vlg-ai-active-note {
  width: 100%;
}

@media (max-width: 767.98px) {
  body.vlg-theme .vlg-ai-search__form input,
  body.vlg-theme .vlg-ai-search__form button {
    font-size: 16px !important;
  }

  body.vlg-theme .vlg-shop-preloop .vlg-ai-search,
  body.vlg-theme .vlg-shop-preloop .vlg-kompass,
  body.vlg-theme .vlg-shop-preloop .vlg-buyer-assistant {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}


/* === 99-v401-mobile-checkout-category-fix.css === */
/* v4.0.1 — Mobile checkout + popular category hard fix
   Fixes screenshots where checkout shipping/payment text and homepage category cards
   became too narrow on phones, especially in dark/mobile browser modes. */

@media (max-width: 767.98px) {
  html,
  body.vlg-theme {
    overflow-x: hidden !important;
  }

  body.vlg-theme .vlg-container,
  body.vlg-theme .vlg-site-main,
  body.vlg-theme main,
  body.vlg-theme .site-main,
  body.vlg-theme .entry-content,
  body.vlg-theme .woocommerce {
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* ------------------------------
     Checkout: stop narrow cards / vertical text
     ------------------------------ */
  body.woocommerce-checkout.vlg-theme .vlg-site-main,
  body.woocommerce-checkout.vlg-theme .site-main,
  body.woocommerce-checkout.vlg-theme .entry-content,
  body.woocommerce-checkout.vlg-theme .woocommerce,
  body.woocommerce-checkout.vlg-theme form.checkout,
  body.woocommerce-checkout.vlg-theme form.checkout.vlg-checkout-organized,
  body.woocommerce-checkout.vlg-theme .fs-checkout-layout,
  body.woocommerce-checkout.vlg-theme .fs-checkout-card,
  body.woocommerce-checkout.vlg-theme .fs-billing-column,
  body.woocommerce-checkout.vlg-theme .fs-shipping-column,
  body.woocommerce-checkout.vlg-theme .fs-payment-column,
  body.woocommerce-checkout.vlg-theme .vlg-checkout-side-panels,
  body.woocommerce-checkout.vlg-theme .vlg-checkout-panel,
  body.woocommerce-checkout.vlg-theme .vlg-checkout-summary-shell,
  body.woocommerce-checkout.vlg-theme #customer_details,
  body.woocommerce-checkout.vlg-theme #order_review,
  body.woocommerce-checkout.vlg-theme #payment,
  body.woocommerce-checkout.vlg-theme .woocommerce-checkout-payment {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    float: none !important;
    position: static !important;
    transform: none !important;
    overflow: visible !important;
  }

  body.woocommerce-checkout.vlg-theme form.checkout,
  body.woocommerce-checkout.vlg-theme form.checkout.vlg-checkout-organized {
    grid-template-columns: 1fr !important;
    grid-template-areas: none !important;
    gap: 16px !important;
  }

  body.woocommerce-checkout.vlg-theme .vlg-checkout-panel,
  body.woocommerce-checkout.vlg-theme .fs-checkout-card,
  body.woocommerce-checkout.vlg-theme #order_review,
  body.woocommerce-checkout.vlg-theme #payment,
  body.woocommerce-checkout.vlg-theme .woocommerce-checkout-payment {
    border-radius: 18px !important;
    padding-inline: 14px !important;
  }

  body.woocommerce-checkout.vlg-theme tr.shipping,
  body.woocommerce-checkout.vlg-theme tr.shipping th,
  body.woocommerce-checkout.vlg-theme tr.shipping td,
  body.woocommerce-checkout.vlg-theme .woocommerce-shipping-totals,
  body.woocommerce-checkout.vlg-theme .woocommerce-shipping-totals th,
  body.woocommerce-checkout.vlg-theme .woocommerce-shipping-totals td {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    text-align: left !important;
  }

  body.woocommerce-checkout.vlg-theme tr.shipping th,
  body.woocommerce-checkout.vlg-theme .woocommerce-shipping-totals th {
    padding-bottom: 8px !important;
  }

  body.woocommerce-checkout.vlg-theme ul#shipping_method,
  body.woocommerce-checkout.vlg-theme ul.woocommerce-shipping-methods,
  body.woocommerce-checkout.vlg-theme .fs-shipping-methods-wrap ul#shipping_method,
  body.woocommerce-checkout.vlg-theme .fs-shipping-methods-wrap ul.woocommerce-shipping-methods {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 10px 0 0 !important;
    padding: 0 !important;
  }

  body.woocommerce-checkout.vlg-theme ul#shipping_method li,
  body.woocommerce-checkout.vlg-theme ul.woocommerce-shipping-methods li,
  body.woocommerce-checkout.vlg-theme .fs-shipping-methods-wrap ul#shipping_method li,
  body.woocommerce-checkout.vlg-theme .fs-shipping-methods-wrap ul.woocommerce-shipping-methods li {
    display: grid !important;
    grid-template-columns: 28px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 68px !important;
    margin: 0 !important;
    padding: 14px !important;
    box-sizing: border-box !important;
    text-align: left !important;
  }

  body.woocommerce-checkout.vlg-theme ul#shipping_method input,
  body.woocommerce-checkout.vlg-theme ul.woocommerce-shipping-methods input {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    margin: 0 !important;
  }

  body.woocommerce-checkout.vlg-theme ul#shipping_method label,
  body.woocommerce-checkout.vlg-theme ul.woocommerce-shipping-methods label,
  body.woocommerce-checkout.vlg-theme .fs-shipping-methods-wrap label {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    text-align: left !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    font-size: 16px !important;
    line-height: 1.28 !important;
    letter-spacing: 0 !important;
  }

  body.woocommerce-checkout.vlg-theme ul#shipping_method label .amount,
  body.woocommerce-checkout.vlg-theme ul.woocommerce-shipping-methods label .amount,
  body.woocommerce-checkout.vlg-theme ul#shipping_method label small,
  body.woocommerce-checkout.vlg-theme ul.woocommerce-shipping-methods label small,
  body.woocommerce-checkout.vlg-theme ul#shipping_method label .includes_tax,
  body.woocommerce-checkout.vlg-theme ul.woocommerce-shipping-methods label .includes_tax {
    display: inline !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
  }

  body.woocommerce-checkout.vlg-theme #payment ul.payment_methods,
  body.woocommerce-checkout.vlg-theme .woocommerce-checkout-payment ul.payment_methods {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    gap: 10px !important;
  }

  body.woocommerce-checkout.vlg-theme #payment ul.payment_methods li,
  body.woocommerce-checkout.vlg-theme .woocommerce-checkout-payment ul.payment_methods li {
    display: grid !important;
    grid-template-columns: 28px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 64px !important;
    padding: 14px !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-checkout.vlg-theme #payment ul.payment_methods li > label,
  body.woocommerce-checkout.vlg-theme .woocommerce-checkout-payment ul.payment_methods li > label {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 8px 10px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    text-align: left !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
  }

  body.woocommerce-checkout.vlg-theme #payment ul.payment_methods li > label img,
  body.woocommerce-checkout.vlg-theme .woocommerce-checkout-payment ul.payment_methods li > label img,
  body.woocommerce-checkout.vlg-theme .vlg-payment-badges img,
  body.woocommerce-checkout.vlg-theme .vlg-payment-badge img {
    display: inline-block !important;
    width: auto !important;
    max-width: 54px !important;
    height: 24px !important;
    object-fit: contain !important;
    margin: 0 3px 3px 0 !important;
    vertical-align: middle !important;
  }

  body.woocommerce-checkout.vlg-theme .vlg-payment-badges,
  body.woocommerce-checkout.vlg-theme .vlg-payment-badges--checkout {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 6px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.woocommerce-checkout.vlg-theme .vlg-payment-badge,
  body.woocommerce-checkout.vlg-theme .vlg-payment-badges--checkout .vlg-payment-badge {
    width: auto !important;
    max-width: none !important;
    min-width: 56px !important;
    height: 32px !important;
    padding: 5px 9px !important;
    white-space: nowrap !important;
  }

  body.woocommerce-checkout.vlg-theme .woocommerce-privacy-policy-text,
  body.woocommerce-checkout.vlg-theme .woocommerce-terms-and-conditions-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    text-align: left !important;
    overflow-wrap: break-word !important;
  }

  /* ------------------------------
     Homepage: popular categories must be readable on phones
     ------------------------------ */
  html body.vlg-theme.home #kategooriad,
  html body.vlg-theme.front-page #kategooriad,
  html body.vlg-theme #kategooriad {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    padding-inline: 16px !important;
    box-sizing: border-box !important;
  }

  html body.vlg-theme #kategooriad .vlg-section-head,
  html body.vlg-theme #kategooriad .vlg-section-head h2 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    text-align: left !important;
  }

  html body.vlg-theme #kategooriad .vlg-section-head h2 {
    font-size: clamp(30px, 9vw, 40px) !important;
    line-height: 1.05 !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }

  html body.vlg-theme #kategooriad .vlg-category-grid,
  html body.vlg-theme .vlg-category-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-auto-flow: row !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-inline: 0 !important;
    overflow: visible !important;
  }

  html body.vlg-theme #kategooriad .vlg-category-grid > *,
  html body.vlg-theme .vlg-category-grid > * {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  html body.vlg-theme #kategooriad a.vlg-category-card,
  html body.vlg-theme a.vlg-category-card,
  html body.vlg-theme .vlg-category-grid a.vlg-category-card {
    display: grid !important;
    grid-template-columns: 78px minmax(0, 1fr) !important;
    grid-auto-columns: auto !important;
    align-items: center !important;
    justify-items: stretch !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 104px !important;
    padding: 14px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    text-align: left !important;
  }

  html body.vlg-theme #kategooriad a.vlg-category-card img,
  html body.vlg-theme a.vlg-category-card img,
  html body.vlg-theme .vlg-category-grid a.vlg-category-card img {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 78px !important;
    min-width: 78px !important;
    max-width: 78px !important;
    height: 78px !important;
    object-fit: contain !important;
  }

  html body.vlg-theme #kategooriad a.vlg-category-card > div,
  html body.vlg-theme a.vlg-category-card > div,
  html body.vlg-theme .vlg-category-grid a.vlg-category-card > div {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 4px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    text-align: left !important;
  }

  html body.vlg-theme #kategooriad a.vlg-category-card strong,
  html body.vlg-theme #kategooriad a.vlg-category-card small,
  html body.vlg-theme #kategooriad a.vlg-category-card span,
  html body.vlg-theme a.vlg-category-card strong,
  html body.vlg-theme a.vlg-category-card small,
  html body.vlg-theme a.vlg-category-card span,
  html body.vlg-theme .vlg-category-grid a.vlg-category-card strong,
  html body.vlg-theme .vlg-category-grid a.vlg-category-card small,
  html body.vlg-theme .vlg-category-grid a.vlg-category-card span {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: none !important;
    text-align: left !important;
    transform: none !important;
    letter-spacing: 0 !important;
  }

  html body.vlg-theme #kategooriad a.vlg-category-card strong,
  html body.vlg-theme a.vlg-category-card strong,
  html body.vlg-theme .vlg-category-grid a.vlg-category-card strong {
    font-size: 17px !important;
    line-height: 1.14 !important;
    font-weight: 950 !important;
  }

  html body.vlg-theme #kategooriad a.vlg-category-card small,
  html body.vlg-theme a.vlg-category-card small,
  html body.vlg-theme .vlg-category-grid a.vlg-category-card small {
    font-size: 13px !important;
    line-height: 1.25 !important;
  }

  html body.vlg-theme #kategooriad a.vlg-category-card span,
  html body.vlg-theme a.vlg-category-card span,
  html body.vlg-theme .vlg-category-grid a.vlg-category-card span {
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 950 !important;
  }
}

@media (max-width: 380px) {
  html body.vlg-theme #kategooriad a.vlg-category-card,
  html body.vlg-theme a.vlg-category-card,
  html body.vlg-theme .vlg-category-grid a.vlg-category-card {
    grid-template-columns: 64px minmax(0, 1fr) !important;
    gap: 12px !important;
    padding: 12px !important;
  }

  html body.vlg-theme #kategooriad a.vlg-category-card img,
  html body.vlg-theme a.vlg-category-card img,
  html body.vlg-theme .vlg-category-grid a.vlg-category-card img {
    width: 64px !important;
    min-width: 64px !important;
    max-width: 64px !important;
    height: 64px !important;
  }

  html body.vlg-theme #kategooriad a.vlg-category-card strong,
  html body.vlg-theme a.vlg-category-card strong,
  html body.vlg-theme .vlg-category-grid a.vlg-category-card strong {
    font-size: 16px !important;
  }
}


/* === 100-v402-mobile-payment-readable.css === */
/* v4.0.2 — Mobile checkout payment method readability
   Fixes mobile screenshots where "Kaardimakse" broke letter-by-letter next to card logos. */

@media (max-width: 767.98px) {
  body.woocommerce-checkout.vlg-theme #payment,
  body.woocommerce-checkout.vlg-theme .woocommerce-checkout-payment,
  body.woocommerce-checkout.vlg-theme #payment ul.payment_methods,
  body.woocommerce-checkout.vlg-theme .woocommerce-checkout-payment ul.payment_methods {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  body.woocommerce-checkout.vlg-theme #payment ul.payment_methods li,
  body.woocommerce-checkout.vlg-theme .woocommerce-checkout-payment ul.payment_methods li,
  body.woocommerce-checkout.vlg-theme li.wc_payment_method,
  body.woocommerce-checkout.vlg-theme li.payment_method_makecommerce,
  body.woocommerce-checkout.vlg-theme li.payment_method_paysera,
  body.woocommerce-checkout.vlg-theme li.payment_method_stripe,
  body.woocommerce-checkout.vlg-theme li.payment_method_wc_stripe,
  body.woocommerce-checkout.vlg-theme li.payment_method_bacs,
  body.woocommerce-checkout.vlg-theme li.payment_method_cod {
    display: grid !important;
    grid-template-columns: 28px minmax(0, 1fr) !important;
    grid-template-areas:
      "radio label"
      ". desc" !important;
    align-items: center !important;
    column-gap: 12px !important;
    row-gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 14px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  body.woocommerce-checkout.vlg-theme #payment ul.payment_methods li > input[type="radio"],
  body.woocommerce-checkout.vlg-theme .woocommerce-checkout-payment ul.payment_methods li > input[type="radio"],
  body.woocommerce-checkout.vlg-theme li.wc_payment_method > input[type="radio"] {
    grid-area: radio !important;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    max-width: 22px !important;
    margin: 0 !important;
    align-self: start !important;
    justify-self: center !important;
  }

  body.woocommerce-checkout.vlg-theme #payment ul.payment_methods li > label,
  body.woocommerce-checkout.vlg-theme .woocommerce-checkout-payment ul.payment_methods li > label,
  body.woocommerce-checkout.vlg-theme li.wc_payment_method > label {
    grid-area: label !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    letter-spacing: 0 !important;
    line-height: 1.35 !important;
    font-size: 16px !important;
    font-weight: 850 !important;
  }

  body.woocommerce-checkout.vlg-theme #payment ul.payment_methods li > label br,
  body.woocommerce-checkout.vlg-theme .woocommerce-checkout-payment ul.payment_methods li > label br,
  body.woocommerce-checkout.vlg-theme li.wc_payment_method > label br {
    display: none !important;
  }

  body.woocommerce-checkout.vlg-theme #payment ul.payment_methods li > label img,
  body.woocommerce-checkout.vlg-theme .woocommerce-checkout-payment ul.payment_methods li > label img,
  body.woocommerce-checkout.vlg-theme li.wc_payment_method > label img {
    float: none !important;
    clear: none !important;
    display: inline-block !important;
    vertical-align: middle !important;
    width: auto !important;
    max-width: 54px !important;
    height: 24px !important;
    max-height: 24px !important;
    margin: 8px 6px 0 0 !important;
    object-fit: contain !important;
  }

  body.woocommerce-checkout.vlg-theme #payment div.payment_box,
  body.woocommerce-checkout.vlg-theme .woocommerce-checkout-payment div.payment_box,
  body.woocommerce-checkout.vlg-theme li.wc_payment_method .payment_box {
    grid-area: desc !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 4px 0 0 !important;
    box-sizing: border-box !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }

  body.woocommerce-checkout.vlg-theme .vlg-payment-badges,
  body.woocommerce-checkout.vlg-theme .vlg-payment-badges--checkout,
  body.woocommerce-checkout.vlg-theme .vlg-payment-icons,
  body.woocommerce-checkout.vlg-theme .payment-method-icons {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 7px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 8px !important;
  }

  body.woocommerce-checkout.vlg-theme .vlg-payment-badge,
  body.woocommerce-checkout.vlg-theme .vlg-payment-badges--checkout .vlg-payment-badge {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 58px !important;
    max-width: 86px !important;
    height: 32px !important;
    padding: 5px 9px !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 380px) {
  body.woocommerce-checkout.vlg-theme #payment ul.payment_methods li,
  body.woocommerce-checkout.vlg-theme .woocommerce-checkout-payment ul.payment_methods li,
  body.woocommerce-checkout.vlg-theme li.wc_payment_method {
    grid-template-columns: 24px minmax(0, 1fr) !important;
    column-gap: 10px !important;
    padding: 12px !important;
  }

  body.woocommerce-checkout.vlg-theme #payment ul.payment_methods li > label img,
  body.woocommerce-checkout.vlg-theme .woocommerce-checkout-payment ul.payment_methods li > label img,
  body.woocommerce-checkout.vlg-theme li.wc_payment_method > label img {
    max-width: 48px !important;
    height: 22px !important;
    max-height: 22px !important;
    margin-right: 4px !important;
  }
}


/* === 101-v410-premium-footer.css === */
/* v4.1.1 — premium footer refinement: calmer / more elegant */
body.vlg-theme .vlg-footer.vlg-footer--premium.vlg-footer--refined {
  position: relative;
  overflow: hidden;
  margin-top: 42px;
  padding: 26px 0 18px;
  background:
    radial-gradient(circle at 0% 100%, rgba(242,138,0,.12) 0%, transparent 28%),
    radial-gradient(circle at 100% 0%, rgba(46,93,173,.11) 0%, transparent 32%),
    linear-gradient(135deg, #08111f 0%, #0a1730 52%, #0a1426 100%);
  color: #eef4ff;
  border-top: 1px solid rgba(255,255,255,.08);
}
body.vlg-theme .vlg-footer.vlg-footer--premium.vlg-footer--refined::before {
  content:""; position:absolute; inset:auto 0 0 0; top:0; height:2px;
  background: linear-gradient(90deg, rgba(255,157,57,.7), rgba(255,157,57,0) 20%, rgba(255,157,57,0) 80%, rgba(76,132,255,.35));
}
body.vlg-theme .vlg-footer .vlg-footer-glow { position:absolute; border-radius:999px; filter: blur(90px); opacity:.4; pointer-events:none; }
body.vlg-theme .vlg-footer .vlg-footer-glow--left { width:220px; height:220px; left:-80px; bottom:-90px; background:rgba(255,143,0,.13); }
body.vlg-theme .vlg-footer .vlg-footer-glow--right { width:220px; height:220px; right:-90px; top:-100px; background:rgba(41,93,214,.12); }
body.vlg-theme .vlg-footer-premium-wrap { position:relative; z-index:1; }

body.vlg-theme .vlg-footer-trustbar {
  display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:12px; margin:0 auto 22px; max-width:1220px;
}
body.vlg-theme .vlg-footer-trustitem {
  display:flex; align-items:center; gap:10px; min-height:48px; padding:12px 14px; border-radius:16px;
  background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.08); color:#f5f8fc; font-size:13px; font-weight:700;
  box-shadow:0 14px 28px rgba(0,0,0,.14);
}
body.vlg-theme .vlg-footer-trustitem__icon {
  width:28px; height:28px; display:grid; place-items:center; border-radius:999px; background:rgba(255,176,65,.14); color:#ffc979; flex:0 0 28px;
}

body.vlg-theme .vlg-footer-shell {
  display:grid; grid-template-columns:minmax(320px,1.15fr) minmax(0,1.85fr); gap:18px; align-items:start; max-width:1220px; margin:0 auto;
}
body.vlg-theme .vlg-footer-brand-card,
body.vlg-theme .vlg-footer-panel {
  background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.08); border-radius:22px; box-shadow:0 14px 34px rgba(0,0,0,.16);
}
body.vlg-theme .vlg-footer-brand-card { padding:22px; }
body.vlg-theme .vlg-footer-brand-head {
  display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:16px;
}
body.vlg-theme .vlg-footer-badge {
  display:inline-flex; align-items:center; padding:7px 11px; border-radius:999px; background:rgba(255,191,102,.08);
  border:1px solid rgba(255,191,102,.22); color:#ffe0a7; font-size:11px; letter-spacing:.08em; text-transform:uppercase; font-weight:800;
}
body.vlg-theme .vlg-footer-about { margin:0 0 16px; color:#dce6f3; line-height:1.72; max-width:40ch; }
body.vlg-theme .vlg-footer-brand-meta { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:14px; }
body.vlg-theme .vlg-footer-mini-card { padding:14px 16px; border-radius:18px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.06); }
body.vlg-theme .vlg-footer-mini-card strong,
body.vlg-theme .vlg-footer-contact-row strong {
  display:block; margin-bottom:5px; font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:#9eb4cf;
}
body.vlg-theme .vlg-footer-mini-card a { color:#fff; font-weight:700; }
body.vlg-theme .vlg-footer-brand-tools { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; }

body.vlg-theme .vlg-footer-grid.vlg-footer-grid--refined {
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:18px;
}
body.vlg-theme .vlg-footer-panel { padding:20px 18px; }
body.vlg-theme .vlg-footer-panel h3 {
  margin:0 0 14px; font-size:13px; text-transform:uppercase; letter-spacing:.14em; color:#fbfdff;
}
body.vlg-theme .vlg-footer-panel h3::after {
  content:""; display:block; width:26px; height:2px; border-radius:999px; background:#ffb247; margin-top:8px;
}
body.vlg-theme .vlg-footer-menu { display:grid; gap:10px; }
body.vlg-theme .vlg-footer-menu a { color:#d9e5f5; font-weight:600; text-decoration:none; }
body.vlg-theme .vlg-footer-menu a:hover { color:#ffc56d; }

body.vlg-theme .vlg-footer-payments-wrap { margin-top:16px; }
body.vlg-theme .vlg-footer-payments-title {
  display:block; margin-bottom:10px; color:#9eb4cf; font-size:11px; letter-spacing:.1em; text-transform:uppercase; font-weight:800;
}
body.vlg-theme .vlg-payment-badges--footer,
body.vlg-theme .vlg-footer .vlg-payment-badges { display:flex; flex-wrap:wrap; gap:8px; }
body.vlg-theme .vlg-footer .vlg-payment-badge {
  background:rgba(255,255,255,.97); border:1px solid rgba(255,255,255,.35); border-radius:12px; box-shadow:0 8px 18px rgba(0,0,0,.12);
}

body.vlg-theme .vlg-footer-contact-list { display:grid; gap:10px; }
body.vlg-theme .vlg-footer-contact-row {
  display:grid; grid-template-columns:40px 1fr; gap:12px; align-items:start; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.07);
}
body.vlg-theme .vlg-footer-contact-row:last-child { border-bottom:0; padding-bottom:0; }
body.vlg-theme .vlg-footer-contact-icon {
  width:40px; height:40px; display:grid; place-items:center; border-radius:12px; background:rgba(255,177,70,.12); color:#ffcf85; font-size:16px;
  border:1px solid rgba(255,177,70,.16);
}
body.vlg-theme .vlg-footer-contact-row a,
body.vlg-theme .vlg-footer-contact-row span { color:#fff; line-height:1.6; }

body.vlg-theme .vlg-footer-bottom.vlg-footer-bottom--premium {
  display:flex; justify-content:space-between; align-items:center; gap:16px; max-width:1220px; margin:18px auto 0; padding-top:14px;
  border-top:1px solid rgba(255,255,255,.08); color:#afbed4; font-size:12.5px;
}
body.vlg-theme .vlg-footer.vlg-footer--premium .custom-logo { max-height:54px; width:auto; }

@media (max-width: 1199.98px) {
  body.vlg-theme .vlg-footer-trustbar { grid-template-columns:repeat(2, minmax(0,1fr)); }
  body.vlg-theme .vlg-footer-shell { grid-template-columns:1fr; }
}
@media (max-width: 991.98px) {
  body.vlg-theme .vlg-footer-grid.vlg-footer-grid--refined { grid-template-columns:1fr 1fr; }
}
@media (max-width: 767.98px) {
  body.vlg-theme .vlg-footer-trustbar,
  body.vlg-theme .vlg-footer-grid.vlg-footer-grid--refined,
  body.vlg-theme .vlg-footer-brand-meta { grid-template-columns:1fr; }
  body.vlg-theme .vlg-footer-brand-card,
  body.vlg-theme .vlg-footer-panel { padding:18px; border-radius:18px; }
  body.vlg-theme .vlg-footer-brand-head { flex-direction:column; align-items:flex-start; }
  body.vlg-theme .vlg-footer-bottom.vlg-footer-bottom--premium { flex-direction:column; align-items:flex-start; }
  body.vlg-theme .vlg-footer-brand-tools { justify-content:flex-start; }
}


/* === 102-v420-design-refresh.css === */
/* v4.2.0 — major design refresh: archive intro + refined footer */

/* Archive / shop header refresh */
body.vlg-theme .vlg-shop-page > .vlg-breadcrumbs:not(.vlg-breadcrumbs--intro) {
  display: none !important;
}
body.vlg-theme .vlg-archive-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  gap: 22px;
  align-items: stretch;
  margin: 8px 0 18px;
  padding: 26px;
  border-radius: 26px;
  background:
    radial-gradient(circle at 100% 0, rgba(242,138,0,.10), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  border: 1px solid #e7eef7;
  box-shadow: 0 18px 44px rgba(15, 30, 52, .07);
}
body.vlg-theme .vlg-breadcrumbs--intro {
  margin: 0 0 14px;
}
body.vlg-theme .vlg-breadcrumbs--intro .woocommerce-breadcrumb,
body.vlg-theme .vlg-breadcrumbs--intro,
body.vlg-theme .vlg-breadcrumbs--intro a {
  color: #8ea1bc;
  font-size: 12px;
}
body.vlg-theme .vlg-archive-intro__main {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 12px;
}
body.vlg-theme .vlg-archive-intro__main .vlg-kicker {
  display: inline-flex;
  width: fit-content;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255, 180, 79, .10);
  border: 1px solid rgba(255, 180, 79, .18);
  color: #f59b18;
}
body.vlg-theme .vlg-archive-intro__main h1 {
  margin: 0;
  font-size: clamp(34px, 3.4vw, 58px);
  line-height: .98;
  letter-spacing: -.055em;
  color: #1a2f57;
}
body.vlg-theme .vlg-archive-intro__description,
body.vlg-theme .vlg-archive-intro__description p {
  margin: 0;
  color: #607086;
  font-size: 16px;
  line-height: 1.7;
  max-width: 62ch;
}
body.vlg-theme .vlg-archive-intro__description--muted {
  max-width: 58ch;
}
body.vlg-theme .vlg-archive-intro__side {
  min-width: 0;
}
body.vlg-theme .vlg-archive-stat-card {
  height: 100%;
  display: grid;
  align-content: start;
  gap: 14px;
  padding: 20px;
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(10,24,49,.98), rgba(15,35,67,.94));
  box-shadow: 0 18px 38px rgba(5, 18, 35, .16);
  color: #eef5ff;
}
body.vlg-theme .vlg-archive-stat-card__eyebrow {
  color: #9db7d7;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
body.vlg-theme .vlg-archive-stat-card strong {
  font-size: 28px;
  line-height: 1.06;
  letter-spacing: -.04em;
  color: #fff;
}
body.vlg-theme .vlg-archive-stat-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
body.vlg-theme .vlg-archive-stat-row > div {
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.08);
}
body.vlg-theme .vlg-archive-stat-row span {
  display: block;
  margin-bottom: 4px;
  color: #98abc5;
  font-size: 12px;
}
body.vlg-theme .vlg-archive-stat-row b {
  display: block;
  color: #fff;
  font-size: 20px;
  line-height: 1.1;
}
body.vlg-theme .vlg-archive-mini-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
body.vlg-theme .vlg-archive-mini-badges span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.08);
  color: #e5eefc;
  font-size: 12px;
  font-weight: 700;
}
body.vlg-theme .vlg-archive-intro__actions {
  margin-top: 2px;
}
body.vlg-theme .vlg-archive-intro__actions .vlg-btn {
  width: 100%;
  justify-content: center;
}
body.vlg-theme .vlg-shop-preloop {
  margin-top: 4px !important;
}
body.vlg-theme .vlg-shop-preloop .woocommerce-result-count {
  font-size: 14px;
}
body.vlg-theme .vlg-shop-preloop .woocommerce-ordering select {
  min-width: 240px;
  box-shadow: 0 8px 18px rgba(11, 29, 52, .06);
}
body.vlg-theme .vlg-search-tools-row--refined {
  padding: 20px 22px !important;
  border-radius: 20px !important;
}

/* Footer refined again: calmer, cleaner, more premium */
body.vlg-theme .vlg-footer.vlg-footer--premium.vlg-footer--refined {
  margin-top: 64px;
  padding: 28px 0 20px;
  background:
    radial-gradient(circle at 0% 100%, rgba(242,138,0,.08) 0%, transparent 26%),
    radial-gradient(circle at 100% 0%, rgba(56,107,190,.09) 0%, transparent 30%),
    linear-gradient(135deg, #091322 0%, #0b1730 52%, #0a1528 100%);
}
body.vlg-theme .vlg-footer.vlg-footer--premium.vlg-footer--refined::before {
  background: linear-gradient(90deg, rgba(255,170,82,.55), rgba(255,170,82,0) 18%, rgba(255,170,82,0) 82%, rgba(75,132,255,.26));
}
body.vlg-theme .vlg-footer-trustbar {
  max-width: 1260px;
  gap: 10px;
  margin-bottom: 18px;
}
body.vlg-theme .vlg-footer-trustitem {
  min-height: 44px;
  padding: 10px 14px;
  border-radius: 15px;
  background: rgba(255,255,255,.035);
  box-shadow: 0 10px 22px rgba(0,0,0,.10);
}
body.vlg-theme .vlg-footer-shell {
  max-width: 1260px;
  gap: 16px;
}
body.vlg-theme .vlg-footer-brand-card,
body.vlg-theme .vlg-footer-panel {
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.028));
  box-shadow: 0 14px 28px rgba(0,0,0,.12);
}
body.vlg-theme .vlg-footer-brand-card {
  padding: 24px;
}
body.vlg-theme .vlg-footer-brand-head {
  align-items: center;
}
body.vlg-theme .vlg-footer-about {
  max-width: 42ch;
  color: #d6e2f0;
}
body.vlg-theme .vlg-footer-mini-card {
  border-radius: 16px;
  background: rgba(255,255,255,.035);
}
body.vlg-theme .vlg-footer-grid.vlg-footer-grid--refined {
  gap: 16px;
}
body.vlg-theme .vlg-footer-panel {
  padding: 22px 18px;
}
body.vlg-theme .vlg-footer-contact-row {
  padding: 10px 0;
}
body.vlg-theme .vlg-footer-bottom.vlg-footer-bottom--premium {
  max-width: 1260px;
  margin-top: 16px;
  padding-top: 12px;
}
body.vlg-theme .vlg-back-to-top {
  background: linear-gradient(180deg, #ffb32f, #f29a00) !important;
  color: #fff !important;
  box-shadow: 0 12px 26px rgba(242, 138, 0, .24) !important;
}

@media (max-width: 1100px) {
  body.vlg-theme .vlg-archive-intro {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 767.98px) {
  body.vlg-theme .vlg-archive-intro {
    padding: 18px;
    border-radius: 22px;
    gap: 16px;
    margin-bottom: 14px;
  }
  body.vlg-theme .vlg-archive-intro__main h1 {
    font-size: clamp(28px, 8vw, 40px);
  }
  body.vlg-theme .vlg-archive-intro__description,
  body.vlg-theme .vlg-archive-intro__description p {
    font-size: 14px;
  }
  body.vlg-theme .vlg-archive-stat-row {
    grid-template-columns: 1fr 1fr;
  }
  body.vlg-theme .vlg-shop-preloop .woocommerce-ordering,
  body.vlg-theme .vlg-shop-preloop .woocommerce-ordering select {
    width: 100%;
  }
  body.vlg-theme .vlg-footer-trustbar,
  body.vlg-theme .vlg-footer-grid.vlg-footer-grid--refined,
  body.vlg-theme .vlg-footer-brand-meta {
    grid-template-columns: 1fr;
  }
}


/* === 103-v421-mobile-add-to-cart-fix.css === */
/* v4.2.1 — mobile add-to-cart visibility fix
   Problem: on mobile, listing cards could visually cut off the add-to-cart
   row or push it outside the visible card area.
*/

@media (max-width: 767.98px) {
  body.vlg-theme ul.products,
  body.vlg-theme .vlg-products-grid,
  body.vlg-theme .vlg-shop-products ul.products {
    align-items: stretch !important;
    gap: 12px !important;
  }

  body.vlg-theme ul.products li.product.vlg-product-card,
  body.vlg-theme .vlg-products-grid li.product.vlg-product-card,
  body.vlg-theme .vlg-shop-products ul.products li.product.vlg-product-card,
  body.vlg-theme .vlg-product-card {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding-bottom: 10px !important;
  }

  body.vlg-theme .vlg-product-card .vlg-product-link,
  body.vlg-theme ul.products li.product.vlg-product-card .vlg-product-link {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
  }

  body.vlg-theme .vlg-product-card .vlg-card-content,
  body.vlg-theme ul.products li.product.vlg-product-card .vlg-card-content {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    gap: 8px !important;
    min-height: 0 !important;
    padding-bottom: 4px !important;
  }

  body.vlg-theme .vlg-product-card .woocommerce-loop-product__title,
  body.vlg-theme .vlg-product-card h2 {
    min-height: 2.7em !important;
    max-height: 2.7em !important;
    margin-bottom: 2px !important;
  }

  body.vlg-theme .vlg-product-card .price,
  body.vlg-theme .vlg-product-card .vlg-card-price {
    margin-top: auto !important;
  }

  body.vlg-theme .vlg-product-card .vlg-card-actions,
  body.vlg-theme ul.products li.product.vlg-product-card .vlg-card-actions,
  body.vlg-theme .vlg-products-grid li.product.vlg-product-card .vlg-card-actions {
    display: block !important;
    position: static !important;
    margin-top: 10px !important;
    padding: 0 10px 0 !important;
    min-height: 0 !important;
    height: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    overflow: visible !important;
    z-index: 3 !important;
  }

  body.vlg-theme .vlg-product-card .vlg-card-actions .button,
  body.vlg-theme .vlg-product-card .vlg-card-actions .vlg-card-cart,
  body.vlg-theme .vlg-product-card .vlg-card-actions .added_to_cart {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 42px !important;
    font-size: 12px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    border-radius: 14px !important;
  }

  body.vlg-theme .vlg-product-card .vlg-card-actions .button::before,
  body.vlg-theme .vlg-product-card .vlg-card-actions .button::after,
  body.vlg-theme .vlg-product-card .vlg-card-actions .vlg-card-cart::before,
  body.vlg-theme .vlg-product-card .vlg-card-actions .vlg-card-cart::after {
    content: none !important;
    display: none !important;
  }

  body.vlg-theme .vlg-product-card .vlg-card-actions .button,
  body.vlg-theme .vlg-product-card .vlg-card-actions .vlg-card-cart {
    padding: 0 12px !important;
  }
}

@media (max-width: 390px) {
  body.vlg-theme ul.products,
  body.vlg-theme .vlg-products-grid,
  body.vlg-theme .vlg-shop-products ul.products {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  body.vlg-theme .vlg-product-card .woocommerce-loop-product__title,
  body.vlg-theme .vlg-product-card h2 {
    min-height: 3.0em !important;
    max-height: 3.0em !important;
    font-size: 15px !important;
  }

  body.vlg-theme .vlg-product-card .vlg-card-actions .button,
  body.vlg-theme .vlg-product-card .vlg-card-actions .vlg-card-cart {
    min-height: 40px !important;
    font-size: 11px !important;
  }
}


/* === 104-v440-mobile-app-experience.css === */
/* v4.4.0 — Mobile App Experience
   App-like mobile navigation, full screen search, premium product cards,
   category drawer polish, checkout/cart readability and sticky single-product buy bar. */

@media (max-width: 782px) {
  :root { --vlg-mobile-appbar-h: 76px; }

  body.vlg-theme {
    padding-bottom: calc(var(--vlg-mobile-appbar-h) + env(safe-area-inset-bottom)) !important;
    background: #f4f7fb !important;
  }

  /* Bottom app navigation */
  body.vlg-theme .vlg-mobile-appbar {
    position: fixed !important;
    left: max(8px, env(safe-area-inset-left)) !important;
    right: max(8px, env(safe-area-inset-right)) !important;
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
    z-index: 9200 !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 6px !important;
    min-height: 66px !important;
    padding: 7px !important;
    border: 1px solid rgba(15, 23, 42, .08) !important;
    border-radius: 24px !important;
    background: rgba(255, 255, 255, .94) !important;
    backdrop-filter: blur(18px) saturate(155%) !important;
    box-shadow: 0 18px 60px rgba(2, 8, 23, .20) !important;
  }

  body.vlg-theme .vlg-mobile-appbar__item {
    position: relative !important;
    display: grid !important;
    place-items: center !important;
    gap: 3px !important;
    min-width: 0 !important;
    min-height: 52px !important;
    border: 0 !important;
    border-radius: 18px !important;
    background: transparent !important;
    color: #334155 !important;
    text-decoration: none !important;
    font: inherit !important;
    cursor: pointer !important;
  }

  body.vlg-theme .vlg-mobile-appbar__item span {
    display: grid !important;
    place-items: center !important;
    width: 24px !important;
    height: 24px !important;
    font-size: 20px !important;
    line-height: 1 !important;
  }

  body.vlg-theme .vlg-mobile-appbar__item b {
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 10.5px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
  }

  body.vlg-theme .vlg-mobile-appbar__item--primary {
    background: linear-gradient(135deg, #071224, #14294b) !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(7, 18, 36, .22) !important;
  }

  body.vlg-theme .vlg-mobile-appbar__item em {
    position: absolute !important;
    top: 4px !important;
    right: 9px !important;
    display: grid !important;
    place-items: center !important;
    min-width: 18px !important;
    height: 18px !important;
    padding: 0 5px !important;
    border-radius: 999px !important;
    background: #ffb000 !important;
    color: #071224 !important;
    font-size: 10px !important;
    font-style: normal !important;
    font-weight: 950 !important;
  }

  body.vlg-theme .vlg-back-to-top {
    bottom: calc(var(--vlg-mobile-appbar-h) + 18px + env(safe-area-inset-bottom)) !important;
  }

  /* Full screen mobile search */
  body.vlg-mobile-search-open { overflow: hidden !important; }
  body.vlg-theme .vlg-mobile-search-panel[hidden] { display: none !important; }
  body.vlg-theme .vlg-mobile-search-panel {
    position: fixed !important;
    inset: 0 !important;
    z-index: 9400 !important;
    display: grid !important;
    align-items: start !important;
    padding: calc(18px + env(safe-area-inset-top)) 14px 14px !important;
    background: rgba(7, 18, 36, .62) !important;
    backdrop-filter: blur(14px) saturate(135%) !important;
  }

  body.vlg-theme .vlg-mobile-search-panel__card {
    width: 100% !important;
    max-width: 620px !important;
    margin: 0 auto !important;
    padding: 18px !important;
    border-radius: 28px !important;
    background: #fff !important;
    box-shadow: 0 24px 80px rgba(2, 8, 23, .32) !important;
  }

  body.vlg-theme .vlg-mobile-search-panel__head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 52px !important;
    gap: 12px !important;
    align-items: center !important;
    margin-bottom: 14px !important;
  }

  body.vlg-theme .vlg-mobile-search-panel__head strong {
    display: block !important;
    color: #071224 !important;
    font-size: 24px !important;
    font-weight: 950 !important;
    letter-spacing: -.045em !important;
  }

  body.vlg-theme .vlg-mobile-search-panel__head span {
    display: block !important;
    margin-top: 3px !important;
    color: #64748b !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  body.vlg-theme .vlg-mobile-search-panel__head button {
    width: 52px !important;
    height: 52px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 18px !important;
    background: #f8fafc !important;
    color: #071224 !important;
    font-size: 30px !important;
    font-weight: 900 !important;
  }

  body.vlg-theme .vlg-mobile-search-panel__form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 10px !important;
    padding: 8px !important;
    border: 1px solid #dbe5f1 !important;
    border-radius: 22px !important;
    background: #f8fafc !important;
  }

  body.vlg-theme .vlg-mobile-search-panel__form input[type='search'] {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    border: 0 !important;
    background: transparent !important;
    color: #071224 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    outline: 0 !important;
  }

  body.vlg-theme .vlg-mobile-search-panel__form button {
    min-height: 48px !important;
    padding: 0 18px !important;
    border: 0 !important;
    border-radius: 17px !important;
    background: linear-gradient(135deg, #ff9900, #f28a00) !important;
    color: #fff !important;
    font-weight: 950 !important;
  }

  body.vlg-theme .vlg-mobile-search-panel__chips {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-top: 14px !important;
  }

  body.vlg-theme .vlg-mobile-search-panel__chips a,
  body.vlg-theme .vlg-mobile-search-panel__shop {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 40px !important;
    padding: 0 13px !important;
    border-radius: 999px !important;
    background: #eef4fb !important;
    color: #1e355d !important;
    text-decoration: none !important;
    font-size: 13px !important;
    font-weight: 850 !important;
  }

  body.vlg-theme .vlg-mobile-search-panel__shop {
    width: 100% !important;
    margin-top: 14px !important;
    min-height: 46px !important;
    background: #071224 !important;
    color: #fff !important;
  }

  /* Drawer / categories: app quality, less cramped */
  body.vlg-theme .vlg-nav.is-open,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open {
    max-height: min(92dvh, 820px) !important;
    border-radius: 30px 30px 0 0 !important;
    background:
      radial-gradient(circle at 90% 0, rgba(242, 138, 0, .12), transparent 30%),
      linear-gradient(180deg, #0a1220 0%, #0b1424 100%) !important;
    color: #f8fafc !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-head,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-mobile-nav-head {
    position: sticky !important;
    top: 0 !important;
    z-index: 5 !important;
    grid-template-columns: minmax(0, 1fr) 56px !important;
    background: linear-gradient(180deg, rgba(10,18,32,.98), rgba(10,18,32,.92) 82%, rgba(10,18,32,0)) !important;
    border-bottom: 1px solid rgba(148,163,184,.16) !important;
  }

  body.vlg-theme .vlg-mobile-nav-head strong { color: #fff !important; font-size: 20px !important; }
  body.vlg-theme .vlg-mobile-nav-head span { color: rgba(226,232,240,.70) !important; }

  body.vlg-theme .vlg-mobile-nav-close {
    width: 56px !important;
    height: 56px !important;
    border-radius: 18px !important;
    border: 1px solid rgba(148,163,184,.18) !important;
    background: rgba(255,255,255,.09) !important;
    color: #fff !important;
    font-size: 30px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-button {
    min-height: 60px !important;
    border-radius: 20px !important;
    background: linear-gradient(135deg, #06101f, #10213b) !important;
    border: 1px solid rgba(255,255,255,.07) !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown > ul,
  body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown > .vlg-cat-dropdown-list {
    max-height: min(45dvh, 400px) !important;
    padding: 10px !important;
    border-radius: 22px !important;
    background: rgba(255,255,255,.055) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-dropdown-list a,
  body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown a {
    min-height: 52px !important;
    border-radius: 17px !important;
    background: rgba(255,255,255,.05) !important;
    color: #f8fafc !important;
    gap: 10px !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  /* Cart / checkout shipping: no narrow vertical text */
  body.vlg-theme.woocommerce-cart .cart_totals .woocommerce-shipping-methods,
  body.vlg-theme.woocommerce-cart .cart_totals #shipping_method,
  body.vlg-theme.woocommerce-checkout ul#shipping_method,
  body.vlg-theme.woocommerce-checkout .fs-shipping-methods-wrap ul#shipping_method {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body.vlg-theme.woocommerce-cart .cart_totals .woocommerce-shipping-methods li,
  body.vlg-theme.woocommerce-cart .cart_totals #shipping_method li,
  body.vlg-theme.woocommerce-checkout ul#shipping_method li,
  body.vlg-theme.woocommerce-checkout .fs-shipping-methods-wrap ul#shipping_method li {
    display: grid !important;
    grid-template-columns: 28px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 12px !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 14px !important;
    border-radius: 20px !important;
    box-sizing: border-box !important;
  }

  body.vlg-theme.woocommerce-cart .cart_totals tr.shipping,
  body.vlg-theme.woocommerce-cart .cart_totals tr.shipping th,
  body.vlg-theme.woocommerce-cart .cart_totals tr.shipping td,
  body.vlg-theme.woocommerce-cart .cart_totals .woocommerce-shipping-totals,
  body.vlg-theme.woocommerce-cart .cart_totals .woocommerce-shipping-totals th,
  body.vlg-theme.woocommerce-cart .cart_totals .woocommerce-shipping-totals td {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    text-align: left !important;
  }

  body.vlg-theme.woocommerce-cart .cart_totals .woocommerce-shipping-methods label,
  body.vlg-theme.woocommerce-cart .cart_totals #shipping_method label,
  body.vlg-theme.woocommerce-checkout ul#shipping_method label,
  body.vlg-theme.woocommerce-checkout .fs-shipping-methods-wrap ul#shipping_method label {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    justify-content: flex-start !important;
    gap: 6px 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    writing-mode: horizontal-tb !important;
    text-align: left !important;
    font-size: 17px !important;
    line-height: 1.32 !important;
  }

  body.vlg-theme.woocommerce-cart .cart_totals #shipping_method label .amount,
  body.vlg-theme.woocommerce-cart .cart_totals #shipping_method label small,
  body.vlg-theme.woocommerce-cart .cart_totals #shipping_method label .includes_tax,
  body.vlg-theme.woocommerce-checkout ul#shipping_method label .amount,
  body.vlg-theme.woocommerce-checkout ul#shipping_method label small,
  body.vlg-theme.woocommerce-checkout ul#shipping_method label .includes_tax {
    white-space: nowrap !important;
    word-break: keep-all !important;
  }

  /* Product cards mobile premium */
  body.vlg-theme ul.products,
  body.vlg-theme .vlg-products-grid,
  body.vlg-theme .vlg-shop-products ul.products {
    gap: 14px !important;
  }

  body.vlg-theme ul.products li.product.vlg-product-card,
  body.vlg-theme .vlg-product-card {
    border-radius: 22px !important;
    box-shadow: 0 14px 32px rgba(15,23,42,.075) !important;
  }

  /* Single product sticky mobile buy bar */
  body.vlg-theme.single-product form.cart {
    position: sticky !important;
    bottom: calc(var(--vlg-mobile-appbar-h) + 14px + env(safe-area-inset-bottom)) !important;
    z-index: 4000 !important;
    display: grid !important;
    grid-template-columns: 96px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
    margin: 14px 0 !important;
    padding: 10px !important;
    border-radius: 22px !important;
    background: rgba(255,255,255,.96) !important;
    border: 1px solid rgba(226,232,240,.9) !important;
    backdrop-filter: blur(16px) saturate(150%) !important;
    box-shadow: 0 18px 50px rgba(15,23,42,.16) !important;
  }

  body.vlg-theme.single-product form.cart .quantity,
  body.vlg-theme.single-product form.cart .qty {
    width: 100% !important;
  }

  body.vlg-theme.single-product form.cart .single_add_to_cart_button {
    min-height: 52px !important;
    border-radius: 17px !important;
    font-size: 15px !important;
    font-weight: 950 !important;
  }
}

@media (min-width: 783px) {
  .vlg-mobile-appbar,
  .vlg-mobile-search-panel { display: none !important; }
}


/* === 105-v450-mobile-checkout-wizard.css === */
/* v4.5.0 — Mobile Checkout Wizard
   Mobile-only checkout step UI: Kontakt → Tarne → Makse → Kinnita. */

@media (max-width: 767.98px) {
  body.vlg-theme.woocommerce-checkout.vlg-mobile-checkout-wizard {
    background: #f5f7fb !important;
  }

  body.vlg-theme.woocommerce-checkout.vlg-mobile-checkout-wizard form.checkout,
  body.vlg-theme.woocommerce-checkout.vlg-mobile-checkout-wizard form.checkout.vlg-checkout-organized {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.vlg-theme .vlg-checkout-wizard {
    position: sticky;
    top: calc(var(--wp-admin--admin-bar--height, 0px) + 76px);
    z-index: 1200;
    margin: 0 0 14px !important;
    padding: 12px !important;
    border: 1px solid rgba(219, 229, 241, .95) !important;
    border-radius: 22px !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 16px 42px rgba(15, 23, 42, .10) !important;
    backdrop-filter: blur(14px) saturate(140%) !important;
  }

  body.admin-bar.vlg-theme .vlg-checkout-wizard {
    top: calc(var(--wp-admin--admin-bar--height, 46px) + 76px);
  }

  body.vlg-theme .vlg-checkout-wizard__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
  }

  body.vlg-theme .vlg-checkout-wizard__title {
    display: grid;
    gap: 2px;
    min-width: 0;
  }

  body.vlg-theme .vlg-checkout-wizard__title strong {
    color: #071224;
    font-size: 16px;
    line-height: 1.1;
    letter-spacing: -.02em;
  }

  body.vlg-theme .vlg-checkout-wizard__title span {
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
  }

  body.vlg-theme .vlg-checkout-wizard__count {
    flex: 0 0 auto;
    min-width: 58px;
    padding: 8px 10px;
    border-radius: 999px;
    background: #071224;
    color: #fff;
    text-align: center;
    font-size: 12px;
    font-weight: 900;
  }

  body.vlg-theme .vlg-checkout-wizard__steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
  }

  body.vlg-theme .vlg-checkout-wizard__step {
    appearance: none;
    display: grid;
    place-items: center;
    gap: 4px;
    min-height: 54px;
    padding: 7px 4px;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    background: #f8fafc;
    color: #64748b;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.1;
    text-align: center;
  }

  body.vlg-theme .vlg-checkout-wizard__step i {
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    background: #e2e8f0;
    color: #334155;
    font-style: normal;
    font-size: 12px;
    font-weight: 950;
  }

  body.vlg-theme .vlg-checkout-wizard__step.is-active {
    border-color: rgba(242, 138, 0, .42);
    background: linear-gradient(180deg, #fff7ed, #ffffff);
    color: #071224;
    box-shadow: 0 10px 22px rgba(242, 138, 0, .12);
  }

  body.vlg-theme .vlg-checkout-wizard__step.is-active i {
    background: linear-gradient(135deg, var(--vlg-primary, #f28a00), #ff9a1a);
    color: #fff;
  }

  body.vlg-theme .vlg-checkout-wizard__bar {
    height: 7px;
    margin-top: 10px;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
  }

  body.vlg-theme .vlg-checkout-wizard__bar span {
    display: block;
    width: 25%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--vlg-primary, #f28a00), #ffb347);
    transition: width .22s ease;
  }

  body.vlg-theme[data-vlg-checkout-step="contact"] .vlg-checkout-wizard__bar span { width: 25%; }
  body.vlg-theme[data-vlg-checkout-step="shipping"] .vlg-checkout-wizard__bar span { width: 50%; }
  body.vlg-theme[data-vlg-checkout-step="payment"] .vlg-checkout-wizard__bar span { width: 75%; }
  body.vlg-theme[data-vlg-checkout-step="confirm"] .vlg-checkout-wizard__bar span { width: 100%; }

  body.vlg-theme.woocommerce-checkout.vlg-mobile-checkout-wizard .vlg-wizard-section {
    display: none !important;
  }

  body.vlg-theme.woocommerce-checkout.vlg-mobile-checkout-wizard[data-vlg-checkout-step="contact"] .vlg-wizard-section[data-vlg-step="contact"],
  body.vlg-theme.woocommerce-checkout.vlg-mobile-checkout-wizard[data-vlg-checkout-step="shipping"] .vlg-wizard-section[data-vlg-step="shipping"],
  body.vlg-theme.woocommerce-checkout.vlg-mobile-checkout-wizard[data-vlg-checkout-step="payment"] .vlg-wizard-section[data-vlg-step="payment"],
  body.vlg-theme.woocommerce-checkout.vlg-mobile-checkout-wizard[data-vlg-checkout-step="confirm"] .vlg-wizard-section[data-vlg-step="confirm"],
  body.vlg-theme.woocommerce-checkout.vlg-mobile-checkout-wizard[data-vlg-checkout-step="confirm"] .vlg-wizard-section.vlg-wizard-show-confirm {
    display: block !important;
  }

  body.vlg-theme.woocommerce-checkout.vlg-mobile-checkout-wizard .vlg-wizard-section,
  body.vlg-theme.woocommerce-checkout.vlg-mobile-checkout-wizard .woocommerce-billing-fields,
  body.vlg-theme.woocommerce-checkout.vlg-mobile-checkout-wizard .woocommerce-shipping-fields,
  body.vlg-theme.woocommerce-checkout.vlg-mobile-checkout-wizard #payment,
  body.vlg-theme.woocommerce-checkout.vlg-mobile-checkout-wizard #order_review,
  body.vlg-theme.woocommerce-checkout.vlg-mobile-checkout-wizard .vlg-checkout-panel,
  body.vlg-theme.woocommerce-checkout.vlg-mobile-checkout-wizard .fs-checkout-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.vlg-theme .vlg-checkout-wizard__actions {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    margin: 14px 0 0;
  }

  body.vlg-theme .vlg-checkout-wizard__back,
  body.vlg-theme .vlg-checkout-wizard__next {
    min-height: 48px;
    border: 0;
    border-radius: 16px;
    font-weight: 950;
    cursor: pointer;
  }

  body.vlg-theme .vlg-checkout-wizard__back {
    min-width: 92px;
    background: #e2e8f0;
    color: #0f172a;
  }

  body.vlg-theme .vlg-checkout-wizard__next {
    background: linear-gradient(135deg, var(--vlg-primary, #f28a00), #ff9a1a);
    color: #fff;
    box-shadow: 0 12px 26px rgba(242, 138, 0, .28);
  }

  body.vlg-theme[data-vlg-checkout-step="contact"] .vlg-checkout-wizard__back {
    visibility: hidden;
    pointer-events: none;
  }

  body.vlg-theme[data-vlg-checkout-step="confirm"] .vlg-checkout-wizard__next {
    display: none;
  }

  body.vlg-theme.woocommerce-checkout.vlg-mobile-checkout-wizard[data-vlg-checkout-step="confirm"] #place_order,
  body.vlg-theme.woocommerce-checkout.vlg-mobile-checkout-wizard[data-vlg-checkout-step="confirm"] .place-order .button {
    width: 100% !important;
    min-height: 54px !important;
    border-radius: 18px !important;
    font-size: 16px !important;
    font-weight: 950 !important;
  }

  body.vlg-theme.woocommerce-checkout.vlg-mobile-checkout-wizard #order_review_heading {
    display: none !important;
  }
}

@media (min-width: 768px) {
  body.vlg-theme .vlg-checkout-wizard,
  body.vlg-theme .vlg-checkout-wizard__actions {
    display: none !important;
  }
}


/* === 106-v460-mobile-product-page-pro.css === */
/* v4.6.0 — Mobile Product Page Pro
   A proper app-like single product page for phones. */

@media (max-width: 782px) {
  body.vlg-theme.single-product {
    background: #f4f7fb !important;
  }

  body.vlg-theme.single-product .vlg-single-product-page {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    padding-bottom: calc(96px + var(--vlg-mobile-appbar-h, 76px) + env(safe-area-inset-bottom)) !important;
  }

  body.vlg-theme.single-product .vlg-breadcrumbs {
    margin: 10px 0 8px !important;
    padding: 0 2px !important;
    font-size: 12px !important;
    color: #8291a8 !important;
  }

  body.vlg-theme.single-product .vlg-product-main-grid,
  body.vlg-theme.single-product .vlg-product-detail .vlg-product-main-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.vlg-theme.single-product .vlg-product-left,
  body.vlg-theme.single-product .vlg-product-right {
    display: contents !important;
  }

  /* Gallery as the hero of the product page */
  body.vlg-theme.single-product .vlg-product-gallery-card {
    order: 1 !important;
    margin: 0 !important;
    padding: 12px !important;
    border: 1px solid rgba(226, 232, 240, .95) !important;
    border-radius: 28px !important;
    background: linear-gradient(180deg, #fff 0%, #f9fbff 100%) !important;
    box-shadow: 0 18px 44px rgba(15, 23, 42, .08) !important;
    overflow: hidden !important;
  }

  body.vlg-theme.single-product .vlg-product-gallery-media,
  body.vlg-theme.single-product div.product div.images,
  body.vlg-theme.single-product .woocommerce-product-gallery {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    border-radius: 24px !important;
    background: #fff !important;
  }

  body.vlg-theme.single-product .woocommerce-product-gallery__wrapper,
  body.vlg-theme.single-product .woocommerce-product-gallery__image {
    min-height: 0 !important;
    max-height: none !important;
  }

  body.vlg-theme.single-product .woocommerce-product-gallery__image img,
  body.vlg-theme.single-product .vlg-product-gallery-card img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 365px !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    padding: 8px !important;
  }

  body.vlg-theme.single-product .flex-control-thumbs {
    display: flex !important;
    gap: 8px !important;
    margin-top: 10px !important;
    overflow-x: auto !important;
    padding-bottom: 4px !important;
    scrollbar-width: none !important;
  }
  body.vlg-theme.single-product .flex-control-thumbs::-webkit-scrollbar { display: none !important; }
  body.vlg-theme.single-product .flex-control-thumbs li {
    flex: 0 0 62px !important;
    width: 62px !important;
    margin: 0 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
  }

  body.vlg-theme.single-product .vlg-single-image-energy {
    left: 14px !important;
    bottom: 14px !important;
  }

  /* Summary card */
  body.vlg-theme.single-product .vlg-product-summary-card,
  body.vlg-theme.single-product div.product .summary {
    order: 2 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 18px !important;
    border: 1px solid rgba(226, 232, 240, .95) !important;
    border-radius: 28px !important;
    background: #fff !important;
    box-shadow: 0 18px 44px rgba(15, 23, 42, .08) !important;
  }

  body.vlg-theme.single-product .vlg-pill {
    display: inline-flex !important;
    margin-bottom: 10px !important;
    padding: 7px 11px !important;
    border-radius: 999px !important;
    background: #fff5e8 !important;
    color: #d46f00 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .02em !important;
  }

  body.vlg-theme.single-product .product_title,
  body.vlg-theme.single-product div.product .product_title {
    margin: 0 0 12px !important;
    font-size: clamp(25px, 7.2vw, 38px) !important;
    line-height: 1.05 !important;
    letter-spacing: -.055em !important;
    color: #071224 !important;
  }

  body.vlg-theme.single-product .vlg-product-rating-row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 10px !important;
  }

  body.vlg-theme.single-product .vlg-stock-ok {
    display: inline-flex !important;
    min-height: 32px !important;
    align-items: center !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    background: rgba(34, 197, 94, .10) !important;
    color: #15803d !important;
    font-size: 12px !important;
    font-weight: 900 !important;
  }

  body.vlg-theme.single-product .vlg-product-price,
  body.vlg-theme.single-product div.product p.price,
  body.vlg-theme.single-product div.product span.price {
    margin: 10px 0 12px !important;
    color: #071224 !important;
    font-size: clamp(26px, 7vw, 34px) !important;
    font-weight: 950 !important;
    letter-spacing: -.04em !important;
  }

  body.vlg-theme.single-product .vlg-product-energy-inline {
    margin: 10px 0 12px !important;
  }

  body.vlg-theme.single-product .vlg-product-excerpt {
    margin: 12px 0 !important;
    color: #526174 !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
  }

  /* Specs as compact cards */
  body.vlg-theme.single-product .vlg-product-specs,
  body.vlg-theme.single-product .vlg-specs-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    margin: 14px 0 !important;
  }

  body.vlg-theme.single-product .vlg-product-specs > *,
  body.vlg-theme.single-product .vlg-specs-grid > * {
    min-width: 0 !important;
    padding: 10px !important;
    border-radius: 16px !important;
    background: #f8fafc !important;
    border: 1px solid #e8eef6 !important;
  }

  /* Buybox inside summary — clean card, while the main form stays sticky */
  body.vlg-theme.single-product #vlg-product-buybox,
  body.vlg-theme.single-product .vlg-product-buybox {
    margin: 16px 0 0 !important;
    padding: 12px !important;
    border-radius: 22px !important;
    background: linear-gradient(180deg, #fff8ef 0%, #ffffff 100%) !important;
    border: 1px solid rgba(253, 186, 116, .50) !important;
    box-shadow: 0 14px 34px rgba(242, 138, 0, .10) !important;
  }

  body.vlg-theme.single-product form.cart {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    bottom: calc(var(--vlg-mobile-appbar-h, 76px) + 12px + env(safe-area-inset-bottom)) !important;
    z-index: 9050 !important;
    display: grid !important;
    grid-template-columns: 94px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 10px !important;
    border-radius: 24px !important;
    background: rgba(255, 255, 255, .96) !important;
    border: 1px solid rgba(226,232,240,.92) !important;
    backdrop-filter: blur(18px) saturate(150%) !important;
    box-shadow: 0 20px 62px rgba(2, 8, 23, .24) !important;
  }

  body.vlg-theme.single-product form.cart .quantity {
    width: 100% !important;
    margin: 0 !important;
  }

  body.vlg-theme.single-product form.cart .qty {
    width: 100% !important;
    min-height: 52px !important;
    border-radius: 17px !important;
    text-align: center !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    border: 1px solid #dbe5f1 !important;
    background: #fff !important;
  }

  body.vlg-theme.single-product form.cart .single_add_to_cart_button {
    min-height: 52px !important;
    width: 100% !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg, #ff9f1a 0%, #f28a00 100%) !important;
    color: #fff !important;
    box-shadow: 0 14px 30px rgba(242, 138, 0, .30) !important;
    font-size: 15px !important;
    font-weight: 950 !important;
    line-height: 1.05 !important;
  }

  body.vlg-theme.single-product form.cart .single_add_to_cart_button::before {
    content: '🛒';
    margin-right: 7px;
  }

  body.vlg-theme.single-product .vlg-product-meta,
  body.vlg-theme.single-product .product_meta {
    margin-top: 14px !important;
    padding-top: 14px !important;
    border-top: 1px solid #e8eef6 !important;
    color: #64748b !important;
    font-size: 13px !important;
  }

  /* Side info as trust chips */
  body.vlg-theme.single-product .vlg-product-sidecard,
  body.vlg-theme.single-product .vlg-product-side-info,
  body.vlg-theme.single-product .vlg-side-features {
    order: 3 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    margin: 0 !important;
  }

  body.vlg-theme.single-product .vlg-product-sidecard > *,
  body.vlg-theme.single-product .vlg-product-side-info > *,
  body.vlg-theme.single-product .vlg-side-features > * {
    padding: 13px !important;
    border-radius: 18px !important;
    background: #fff !important;
    border: 1px solid #e8eef6 !important;
    box-shadow: 0 10px 24px rgba(15,23,42,.055) !important;
  }

  /* Tabs / accordions */
  body.vlg-theme.single-product .vlg-product-tabs {
    order: 4 !important;
    display: grid !important;
    gap: 10px !important;
    margin: 0 !important;
  }

  body.vlg-theme.single-product .vlg-product-tab {
    border: 1px solid #e4ebf5 !important;
    border-radius: 20px !important;
    background: #fff !important;
    box-shadow: 0 10px 26px rgba(15, 23, 42, .055) !important;
    overflow: hidden !important;
  }

  body.vlg-theme.single-product .vlg-product-tab summary {
    min-height: 56px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 16px !important;
    color: #071224 !important;
    font-size: 15px !important;
    font-weight: 950 !important;
    cursor: pointer !important;
  }

  body.vlg-theme.single-product .vlg-product-tab summary::after {
    content: '+';
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 999px;
    background: #f1f5f9;
    color: #334155;
    font-size: 20px;
    line-height: 1;
  }

  body.vlg-theme.single-product .vlg-product-tab[open] summary::after { content: '−'; }

  body.vlg-theme.single-product .vlg-tab-content {
    padding: 0 16px 16px !important;
    color: #526174 !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
  }

  /* Related / upsell products as horizontal rails */
  body.vlg-theme.single-product .vlg-product-related-wrap {
    order: 5 !important;
    margin-top: 2px !important;
  }

  body.vlg-theme.single-product .vlg-product-related-wrap h2,
  body.vlg-theme.single-product .related.products > h2,
  body.vlg-theme.single-product .upsells.products > h2 {
    margin: 18px 0 12px !important;
    color: #071224 !important;
    font-size: 24px !important;
    line-height: 1.08 !important;
    letter-spacing: -.04em !important;
  }

  body.vlg-theme.single-product .related.products ul.products,
  body.vlg-theme.single-product .upsells.products ul.products,
  body.vlg-theme.single-product .vlg-product-related-wrap ul.products {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(178px, 68vw) !important;
    grid-template-columns: none !important;
    gap: 12px !important;
    overflow-x: auto !important;
    overscroll-behavior-inline: contain !important;
    scroll-snap-type: x proximity !important;
    padding: 2px 2px 8px !important;
    scrollbar-width: none !important;
  }

  body.vlg-theme.single-product .related.products ul.products::-webkit-scrollbar,
  body.vlg-theme.single-product .upsells.products ul.products::-webkit-scrollbar,
  body.vlg-theme.single-product .vlg-product-related-wrap ul.products::-webkit-scrollbar { display: none !important; }

  body.vlg-theme.single-product .related.products ul.products li.product,
  body.vlg-theme.single-product .upsells.products ul.products li.product,
  body.vlg-theme.single-product .vlg-product-related-wrap ul.products li.product {
    width: auto !important;
    min-width: 0 !important;
    scroll-snap-align: start !important;
  }

  /* Hide duplicate mobile product bar from older versions; form.cart is the new bar. */
  body.vlg-theme.single-product .vlg-mobile-product-bar {
    display: none !important;
  }
}

@media (max-width: 380px) {
  body.vlg-theme.single-product form.cart {
    grid-template-columns: 80px minmax(0, 1fr) !important;
    left: 8px !important;
    right: 8px !important;
    padding: 8px !important;
  }

  body.vlg-theme.single-product form.cart .qty,
  body.vlg-theme.single-product form.cart .single_add_to_cart_button {
    min-height: 48px !important;
  }

  body.vlg-theme.single-product form.cart .single_add_to_cart_button {
    font-size: 13px !important;
  }

  body.vlg-theme.single-product .vlg-product-specs,
  body.vlg-theme.single-product .vlg-specs-grid,
  body.vlg-theme.single-product .vlg-product-sidecard,
  body.vlg-theme.single-product .vlg-product-side-info,
  body.vlg-theme.single-product .vlg-side-features {
    grid-template-columns: 1fr !important;
  }
}


/* === 107-v470-mobile-filters-pro.css === */
/* v4.7.0 — Mobile Filters Pro
   Turns shop sidebar filters into a polished bottom sheet on phones. */

@media (max-width: 991.98px) {
  body.vlg-theme .vlg-filter-toggle {
    position: sticky !important;
    top: calc(var(--wp-admin--admin-bar--height, 0px) + 78px) !important;
    z-index: 40 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 100% !important;
    min-height: 52px !important;
    margin: 10px 0 14px !important;
    padding: 0 16px !important;
    border: 0 !important;
    border-radius: 18px !important;
    background:
      radial-gradient(circle at 100% 0, rgba(255,255,255,.18), transparent 32%),
      linear-gradient(135deg, #071224 0%, #10213b 100%) !important;
    color: #fff !important;
    box-shadow: 0 16px 34px rgba(7,18,36,.18) !important;
    font-size: 15px !important;
    font-weight: 950 !important;
    letter-spacing: -.01em !important;
  }

  body.vlg-theme .vlg-filter-toggle::after {
    content: attr(data-vlg-filter-count);
    display: none;
    min-width: 24px;
    height: 24px;
    padding: 0 7px;
    border-radius: 999px;
    background: #f28a00;
    color: #fff;
    font-size: 12px;
    line-height: 24px;
    text-align: center;
  }

  body.vlg-theme .vlg-filter-toggle[data-vlg-filter-count]:not([data-vlg-filter-count="0"])::after {
    display: inline-block;
  }

  body.vlg-theme .vlg-filter-backdrop:not([hidden]) {
    position: fixed !important;
    inset: 0 !important;
    z-index: 8990 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    border: 0 !important;
    background: rgba(2, 8, 23, .58) !important;
    backdrop-filter: blur(8px) saturate(130%) !important;
  }

  body.vlg-theme .vlg-shop-sidebar#vlgShopSidebar,
  body.vlg-theme #vlgShopSidebar.vlg-shop-sidebar {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    z-index: 9000 !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: min(88dvh, 760px) !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 14px calc(92px + env(safe-area-inset-bottom)) !important;
    border: 0 !important;
    border-radius: 30px 30px 0 0 !important;
    background:
      radial-gradient(circle at 90% 0, rgba(242,138,0,.12), transparent 28%),
      linear-gradient(180deg, #f8fafc 0%, #eef3f9 100%) !important;
    box-shadow: 0 -28px 80px rgba(2,8,23,.35) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    transform: translate3d(0, 110%, 0) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: transform .24s ease, opacity .24s ease, visibility .24s ease !important;
  }

  body.vlg-theme .vlg-shop-sidebar#vlgShopSidebar.is-open,
  body.vlg-theme #vlgShopSidebar.vlg-shop-sidebar.is-open {
    transform: translate3d(0, 0, 0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body.vlg-theme.vlg-filter-open {
    overflow: hidden !important;
    touch-action: none !important;
  }

  body.vlg-theme .vlg-filter-drawer-head {
    position: sticky !important;
    top: 0 !important;
    z-index: 3 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 12px !important;
    align-items: center !important;
    margin: 0 -14px 12px !important;
    padding: 16px 14px 14px !important;
    background: rgba(248,250,252,.96) !important;
    backdrop-filter: blur(12px) saturate(150%) !important;
    border-bottom: 1px solid rgba(148,163,184,.22) !important;
  }

  body.vlg-theme .vlg-filter-drawer-head::before {
    content: "";
    position: absolute;
    top: 8px;
    left: 50%;
    width: 54px;
    height: 5px;
    border-radius: 999px;
    transform: translateX(-50%);
    background: #cbd5e1;
  }

  body.vlg-theme .vlg-filter-drawer-head strong {
    display: block !important;
    padding-top: 10px !important;
    color: #071224 !important;
    font-size: 22px !important;
    line-height: 1.08 !important;
    letter-spacing: -.045em !important;
  }

  body.vlg-theme .vlg-filter-close {
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    border: 0 !important;
    border-radius: 16px !important;
    background: #071224 !important;
    color: #fff !important;
    box-shadow: 0 14px 30px rgba(7,18,36,.18) !important;
    font-size: 25px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
  }

  body.vlg-theme .vlg-filter-drawer-actions {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 9010 !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 10px !important;
    padding: 12px 14px calc(12px + env(safe-area-inset-bottom)) !important;
    background: rgba(255,255,255,.94) !important;
    border-top: 1px solid rgba(148,163,184,.24) !important;
    box-shadow: 0 -16px 36px rgba(15,23,42,.12) !important;
    backdrop-filter: blur(14px) saturate(160%) !important;
  }

  body.vlg-theme .vlg-filter-apply {
    min-height: 52px !important;
    border: 0 !important;
    border-radius: 17px !important;
    background: linear-gradient(135deg, #f28a00, #ff9a1a) !important;
    color: #fff !important;
    box-shadow: 0 14px 30px rgba(242,138,0,.24) !important;
    font-size: 15px !important;
    font-weight: 950 !important;
  }

  body.vlg-theme .vlg-filter-reset {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 52px !important;
    padding: 0 14px !important;
    border-radius: 17px !important;
    background: #eef2f7 !important;
    color: #475569 !important;
    text-decoration: none !important;
    font-size: 13px !important;
    font-weight: 900 !important;
  }

  body.vlg-theme .vlg-shop-sidebar .vlg-widget,
  body.vlg-theme #vlgShopSidebar .vlg-widget,
  body.vlg-theme #vlgShopSidebar .widget {
    margin: 0 0 12px !important;
    padding: 16px !important;
    border: 1px solid rgba(203,213,225,.72) !important;
    border-radius: 22px !important;
    background: rgba(255,255,255,.94) !important;
    box-shadow: 0 14px 28px rgba(15,23,42,.06) !important;
  }

  body.vlg-theme #vlgShopSidebar h2,
  body.vlg-theme #vlgShopSidebar h3,
  body.vlg-theme #vlgShopSidebar .widget-title {
    margin: 0 0 12px !important;
    color: #071224 !important;
    font-size: 16px !important;
    line-height: 1.12 !important;
    letter-spacing: -.025em !important;
  }

  body.vlg-theme #vlgShopSidebar ul,
  body.vlg-theme #vlgShopSidebar .vlg-cat-dropdown-list {
    display: grid !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  body.vlg-theme #vlgShopSidebar li {
    margin: 0 !important;
    padding: 0 !important;
  }

  body.vlg-theme #vlgShopSidebar a,
  body.vlg-theme #vlgShopSidebar label,
  body.vlg-theme #vlgShopSidebar .wc-layered-nav-term a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    min-height: 46px !important;
    padding: 10px 12px !important;
    border-radius: 16px !important;
    background: #f8fafc !important;
    color: #0f172a !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
  }

  body.vlg-theme #vlgShopSidebar a:hover,
  body.vlg-theme #vlgShopSidebar .current-cat > a,
  body.vlg-theme #vlgShopSidebar .chosen a {
    background: rgba(242,138,0,.11) !important;
    color: #bf6500 !important;
  }

  body.vlg-theme #vlgShopSidebar .count,
  body.vlg-theme #vlgShopSidebar .vlg-cat-count,
  body.vlg-theme #vlgShopSidebar li span:last-child {
    flex: 0 0 auto !important;
    min-width: 28px !important;
    padding: 4px 8px !important;
    border-radius: 999px !important;
    background: #e2e8f0 !important;
    color: #475569 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    text-align: center !important;
  }

  body.vlg-theme #vlgShopSidebar select,
  body.vlg-theme #vlgShopSidebar input[type="text"],
  body.vlg-theme #vlgShopSidebar input[type="search"],
  body.vlg-theme #vlgShopSidebar input[type="number"] {
    width: 100% !important;
    min-height: 46px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 16px !important;
    background: #fff !important;
    color: #071224 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
  }

  body.vlg-theme #vlgShopSidebar .price_slider_wrapper,
  body.vlg-theme #vlgShopSidebar .woocommerce-widget-layered-nav,
  body.vlg-theme #vlgShopSidebar .widget_price_filter {
    min-width: 0 !important;
  }
}

@media (min-width: 992px) {
  body.vlg-theme .vlg-filter-drawer-actions {
    display: none !important;
  }
}


/* === 108-v480-mobile-visual-system-pro.css === */
/* v4.8.0 — Mobile Visual System Pro
   Unifies the mobile experience into one premium app-like visual system. */

@media (max-width: 782px) {
  :root {
    --vlg-mob-bg: #f3f6fb;
    --vlg-mob-card: rgba(255,255,255,.96);
    --vlg-mob-line: rgba(15,23,42,.08);
    --vlg-mob-text: #0f172a;
    --vlg-mob-muted: #64748b;
    --vlg-mob-primary: var(--vlg-primary, #f28a00);
    --vlg-mob-radius: 22px;
    --vlg-mob-shadow: 0 14px 38px rgba(15,23,42,.08);
  }

  html { scroll-behavior: smooth; }
  body.vlg-theme {
    background:
      radial-gradient(circle at 100% 0, rgba(242,138,0,.07), transparent 30%),
      linear-gradient(180deg, #f7f9fc 0%, var(--vlg-mob-bg) 100%) !important;
    color: var(--vlg-mob-text) !important;
    -webkit-font-smoothing: antialiased;
  }

  body.vlg-theme .vlg-container,
  body.vlg-theme .site-main,
  body.vlg-theme main {
    padding-left: max(14px, env(safe-area-inset-left)) !important;
    padding-right: max(14px, env(safe-area-inset-right)) !important;
  }

  /* Unified cards across mobile */
  body.vlg-theme .vlg-section,
  body.vlg-theme .vlg-home-product-section,
  body.vlg-theme .vlg-latest-showcase,
  body.vlg-theme .vlg-archive-intro,
  body.vlg-theme .vlg-shop-preloop,
  body.vlg-theme .vlg-product-summary-card,
  body.vlg-theme .vlg-product-gallery-card,
  body.vlg-theme .vlg-product-tabs,
  body.vlg-theme .cart_totals,
  body.vlg-theme .woocommerce-cart-form,
  body.vlg-theme .vlg-checkout-panel,
  body.vlg-theme .fs-checkout-card {
    border-radius: var(--vlg-mob-radius) !important;
  }

  body.vlg-theme .vlg-section-head,
  body.vlg-theme .vlg-section-title-wrap,
  body.vlg-theme .vlg-shop-head {
    gap: 10px !important;
  }

  body.vlg-theme .vlg-section-head h2,
  body.vlg-theme .vlg-home h2,
  body.vlg-theme .vlg-section-title,
  body.vlg-theme .vlg-archive-intro h1 {
    letter-spacing: -.055em !important;
  }

  /* Appbar: calmer, more tactile, premium */
  body.vlg-theme .vlg-mobile-appbar {
    left: max(10px, env(safe-area-inset-left)) !important;
    right: max(10px, env(safe-area-inset-right)) !important;
    bottom: max(10px, env(safe-area-inset-bottom)) !important;
    min-height: 68px !important;
    padding: 8px !important;
    border-radius: 26px !important;
    background: rgba(255,255,255,.90) !important;
    border: 1px solid rgba(255,255,255,.62) !important;
    backdrop-filter: blur(22px) saturate(175%) !important;
    box-shadow: 0 24px 70px rgba(2,8,23,.24), inset 0 1px 0 rgba(255,255,255,.70) !important;
  }

  body.vlg-theme .vlg-mobile-appbar__item {
    border-radius: 18px !important;
    color: #475569 !important;
    transition: transform .16s ease, background .16s ease, color .16s ease !important;
  }

  body.vlg-theme .vlg-mobile-appbar__item:active {
    transform: scale(.96) !important;
  }

  body.vlg-theme .vlg-mobile-appbar__item--primary {
    background:
      radial-gradient(circle at 100% 0, rgba(255,180,80,.35), transparent 34%),
      linear-gradient(135deg, #071224 0%, #152b4e 100%) !important;
    box-shadow: 0 12px 28px rgba(7,18,36,.28) !important;
  }

  body.vlg-theme .vlg-mobile-appbar__item span {
    font-size: 19px !important;
  }

  body.vlg-theme .vlg-mobile-appbar__item b {
    font-size: 10px !important;
    letter-spacing: -.01em !important;
  }

  /* Floating ValgusAbi, positioned above appbar */
  body.vlg-theme .vlg-mobile-valgusabi {
    position: fixed !important;
    right: max(14px, env(safe-area-inset-right)) !important;
    bottom: calc(var(--vlg-mobile-appbar-h, 76px) + 24px + env(safe-area-inset-bottom)) !important;
    z-index: 9180 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 46px !important;
    padding: 0 13px 0 11px !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #071224, #152b4e) !important;
    color: #fff !important;
    text-decoration: none !important;
    box-shadow: 0 18px 44px rgba(7,18,36,.28) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
  }

  body.vlg-theme .vlg-mobile-valgusabi span {
    display: grid !important;
    place-items: center !important;
    width: 30px !important;
    height: 30px !important;
    border-radius: 999px !important;
    background: rgba(255,180,60,.18) !important;
  }

  body.vlg-theme .vlg-mobile-valgusabi b {
    font-size: 12px !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
  }

  body.vlg-theme .vlg-back-to-top {
    display: none !important;
  }

  /* Mobile home becomes more app-like */
  body.vlg-theme .vlg-home .vlg-hero,
  body.vlg-theme .site-main.vlg-home .vlg-hero,
  body.vlg-theme .vlg-hero {
    border-radius: 28px !important;
    box-shadow: 0 22px 54px rgba(7,18,36,.18) !important;
  }

  body.vlg-theme .vlg-trust-grid,
  body.vlg-theme .vlg-category-grid,
  body.vlg-theme .vlg-products-grid,
  body.vlg-theme ul.products {
    scroll-padding-left: 14px !important;
  }

  /* Premium mobile product cards */
  body.vlg-theme ul.products,
  body.vlg-theme .vlg-products-grid,
  body.vlg-theme .vlg-shop-products ul.products {
    gap: 14px !important;
  }

  body.vlg-theme ul.products li.product.vlg-product-card,
  body.vlg-theme .vlg-product-card {
    border-radius: 22px !important;
    border: 1px solid rgba(226,232,240,.95) !important;
    background: #fff !important;
    box-shadow: 0 14px 34px rgba(15,23,42,.065) !important;
    overflow: hidden !important;
    transform: translateZ(0) !important;
  }

  body.vlg-theme .vlg-product-card .vlg-card-image-wrap {
    margin: 8px 8px 0 !important;
    border-radius: 18px !important;
    background:
      radial-gradient(circle at 90% 8%, rgba(242,138,0,.08), transparent 32%),
      #f8fafc !important;
    overflow: hidden !important;
  }

  body.vlg-theme .vlg-product-card .wp-post-image,
  body.vlg-theme .vlg-product-card img:first-of-type {
    border-radius: 16px !important;
    background: transparent !important;
  }

  body.vlg-theme .vlg-product-card .vlg-card-content {
    padding: 10px 10px 2px !important;
  }

  body.vlg-theme .vlg-product-card .vlg-card-category {
    display: inline-flex !important;
    width: fit-content !important;
    max-width: 100% !important;
    padding: 4px 8px !important;
    border-radius: 999px !important;
    background: #eef4fb !important;
    color: #40516b !important;
    font-size: 10.5px !important;
    font-weight: 900 !important;
  }

  body.vlg-theme .vlg-product-card .woocommerce-loop-product__title,
  body.vlg-theme .vlg-product-card h2 {
    color: #101827 !important;
    font-size: 14.5px !important;
    line-height: 1.18 !important;
    font-weight: 900 !important;
  }

  body.vlg-theme .vlg-product-card .price,
  body.vlg-theme .vlg-product-card .vlg-card-price {
    color: #071224 !important;
    font-size: 15.5px !important;
    font-weight: 950 !important;
  }

  body.vlg-theme .vlg-product-card .vlg-card-actions {
    padding: 0 10px 10px !important;
  }

  body.vlg-theme .vlg-product-card .vlg-card-actions .button,
  body.vlg-theme .vlg-product-card .vlg-card-actions .vlg-card-cart {
    min-height: 42px !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, #ff9f1a, #f28a00) !important;
    box-shadow: 0 12px 24px rgba(242,138,0,.22) !important;
    font-size: 12px !important;
    font-weight: 950 !important;
  }

  body.vlg-theme .vlg-product-card .vlg-card-actions .added_to_cart {
    border-radius: 14px !important;
  }

  /* Archive / product list top area */
  body.vlg-theme .vlg-archive-intro {
    padding: 18px !important;
    border-radius: 26px !important;
    box-shadow: 0 16px 42px rgba(15,23,42,.06) !important;
  }

  body.vlg-theme .vlg-shop-preloop {
    border-radius: 22px !important;
  }

  body.vlg-theme .vlg-filter-toggle {
    position: sticky !important;
    top: calc(var(--vlg-mobile-header-height, 92px) + 6px) !important;
    z-index: 4200 !important;
    min-height: 50px !important;
    border-radius: 18px !important;
    box-shadow: 0 14px 34px rgba(15,23,42,.12) !important;
  }

  /* Mobile mini cart / notices feel like app snackbars */
  body.vlg-theme .woocommerce-message,
  body.vlg-theme .woocommerce-info,
  body.vlg-theme .woocommerce-error,
  body.vlg-theme .vlg-free-shipping-progress {
    border-radius: 20px !important;
    box-shadow: 0 14px 36px rgba(15,23,42,.08) !important;
  }

  body.vlg-theme .vlg-mini-cart-drawer,
  body.vlg-theme .widget_shopping_cart,
  body.vlg-theme .woocommerce-mini-cart {
    border-radius: 24px !important;
  }

  /* Mobile footer: slimmer so appbar does not feel crowded */
  body.vlg-theme .vlg-footer.vlg-footer--premium.vlg-footer--refined {
    margin-top: 44px !important;
    padding-bottom: calc(92px + env(safe-area-inset-bottom)) !important;
  }

  body.vlg-theme .vlg-footer-trustbar {
    gap: 8px !important;
  }

  body.vlg-theme .vlg-footer-trustitem {
    min-height: 42px !important;
    border-radius: 16px !important;
    font-size: 12px !important;
  }

  /* Tiny motion: premium but not noisy */
  body.vlg-theme .vlg-mobile-search-panel,
  body.vlg-theme .vlg-nav.is-open,
  body.vlg-theme .vlg-mobile-appbar,
  body.vlg-theme .vlg-mobile-valgusabi {
    animation: vlgMobileSoftIn .22s ease both;
  }

  @keyframes vlgMobileSoftIn {
    from { opacity: .86; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
  }
}

@media (max-width: 420px) {
  body.vlg-theme .vlg-mobile-appbar {
    grid-template-columns: repeat(5, minmax(0,1fr)) !important;
    gap: 4px !important;
    padding: 6px !important;
  }

  body.vlg-theme .vlg-mobile-appbar__item {
    min-height: 50px !important;
  }

  body.vlg-theme .vlg-mobile-appbar__item b {
    font-size: 9.5px !important;
  }

  body.vlg-theme .vlg-mobile-valgusabi b {
    display: none !important;
  }

  body.vlg-theme .vlg-mobile-valgusabi {
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    padding: 0 !important;
    justify-content: center !important;
  }
}


/* === 109-v490-mobile-personal-shopper.css === */
/* v4.9.0 — Mobile Personal Shopper */
.vlg-personal-shopper {
  --ps-bg: #081426;
  --ps-card: rgba(255,255,255,.06);
  --ps-line: rgba(255,255,255,.12);
  --ps-text: #f8fafc;
  --ps-muted: #b9c7db;
  margin: 24px auto;
  padding: 20px;
  border-radius: 28px;
  background:
    radial-gradient(circle at 92% 4%, rgba(242,138,0,.22), transparent 30%),
    linear-gradient(145deg, #071224 0%, #0d1d36 100%);
  color: var(--ps-text);
  box-shadow: 0 24px 70px rgba(2,8,23,.22);
  overflow: hidden;
}
.vlg-personal-shopper__hero span {
  display: inline-flex;
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(242,138,0,.16);
  color: #ffc46b;
  font-weight: 900;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.vlg-personal-shopper__hero h2 {
  margin: 12px 0 8px;
  color: #fff;
  font-size: clamp(26px, 6vw, 42px);
  line-height: 1.02;
  letter-spacing: -.055em;
}
.vlg-personal-shopper__hero p {
  margin: 0;
  color: var(--ps-muted);
  line-height: 1.55;
  max-width: 62ch;
}
.vlg-personal-shopper__steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin: 18px 0;
  padding: 6px;
  border-radius: 18px;
  background: rgba(255,255,255,.06);
}
.vlg-personal-shopper__steps button {
  min-height: 42px;
  border: 0;
  border-radius: 14px;
  background: transparent;
  color: var(--ps-muted);
  font-weight: 900;
}
.vlg-personal-shopper__steps button.is-active {
  background: #fff;
  color: #071224;
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
}
.vlg-personal-shopper__panel {
  display: none;
  padding: 18px;
  border: 1px solid var(--ps-line);
  border-radius: 22px;
  background: var(--ps-card);
}
.vlg-personal-shopper__panel.is-active { display: block; }
.vlg-personal-shopper__panel h3 {
  margin: 0 0 14px;
  color: #fff;
  font-size: 20px;
}
.vlg-personal-shopper__choices {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 10px;
}
.vlg-personal-shopper__choices button {
  min-height: 50px;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 16px;
  background: rgba(255,255,255,.05);
  color: #fff;
  font-weight: 850;
  text-align: left;
}
.vlg-personal-shopper__choices button.is-selected {
  border-color: rgba(242,138,0,.65);
  background: rgba(242,138,0,.18);
  box-shadow: 0 0 0 3px rgba(242,138,0,.12);
}
.vlg-personal-shopper__field {
  display: grid;
  gap: 8px;
  margin: 0 0 12px;
}
.vlg-personal-shopper__field span {
  color: var(--ps-muted);
  font-size: 13px;
  font-weight: 800;
}
.vlg-personal-shopper__field select {
  min-height: 48px;
  width: 100%;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 16px;
  background: rgba(255,255,255,.96);
  color: #071224;
  padding: 0 12px;
  font-weight: 850;
}
.vlg-personal-shopper__result {
  margin-top: 14px;
  padding: 16px;
  border-radius: 20px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
}
.vlg-personal-shopper__result strong { display:block; color:#fff; font-size:18px; margin-bottom:6px; }
.vlg-personal-shopper__result p { margin:0; color:var(--ps-muted); line-height:1.5; }
.vlg-personal-shopper__actions {
  display: grid;
  grid-template-columns: auto auto 1fr;
  gap: 10px;
  margin-top: 14px;
}
.vlg-personal-shopper__search { justify-content: center; }
.vlg-personal-shopper-fab {
  display: none;
}
@media (max-width: 767.98px) {
  .vlg-personal-shopper {
    margin: 14px 0 20px;
    padding: 16px;
    border-radius: 24px;
  }
  .vlg-personal-shopper__choices { grid-template-columns: 1fr 1fr; }
  .vlg-personal-shopper__actions {
    grid-template-columns: 1fr 1fr;
  }
  .vlg-personal-shopper__search { grid-column: 1 / -1; min-height: 48px; }
  .vlg-personal-shopper-fab {
    position: fixed;
    right: 14px;
    bottom: calc(78px + env(safe-area-inset-bottom));
    z-index: 9100;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 48px;
    padding: 0 13px;
    border-radius: 999px;
    background: linear-gradient(135deg, #071224, #14233d);
    color: #fff;
    text-decoration: none;
    box-shadow: 0 18px 44px rgba(2,8,23,.32);
    border: 1px solid rgba(255,255,255,.10);
  }
  .vlg-personal-shopper-fab span {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(242,138,0,.18);
  }
  .vlg-personal-shopper-fab strong { font-size: 12px; }
}


/* === 110-v500-mobile-ai-sales-os.css === */
/* v5.0.0 — Mobile AI Sales OS */
.vlg-sales-os{
  --sales-bg:#071224;--sales-card:#0d1a2f;--sales-line:rgba(255,255,255,.10);--sales-muted:#a8b7ce;--sales-accent:#f28a00;
  border-radius:28px;padding:22px;background:radial-gradient(circle at 100% 0,rgba(242,138,0,.18),transparent 34%),linear-gradient(145deg,#071224,#0a1830 62%,#0d203d);color:#fff;box-shadow:0 24px 70px rgba(7,18,36,.22);overflow:hidden
}
.vlg-sales-os__hero span{display:inline-flex;padding:7px 11px;border-radius:999px;background:rgba(242,138,0,.12);color:#ffd396;border:1px solid rgba(242,138,0,.24);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.vlg-sales-os__hero h2{margin:12px 0 8px;font-size:clamp(28px,4vw,46px);line-height:1;letter-spacing:-.055em;color:#fff}
.vlg-sales-os__hero p{margin:0 0 18px;color:var(--sales-muted);line-height:1.6;max-width:760px}
.vlg-sales-os__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}
.vlg-sales-os label{display:grid;gap:7px;padding:12px;border:1px solid var(--sales-line);border-radius:18px;background:rgba(255,255,255,.045)}
.vlg-sales-os label span{font-size:12px;color:var(--sales-muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.vlg-sales-os select{width:100%;min-height:44px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:#fff;color:#071224;font-weight:800;padding:0 12px}
.vlg-sales-os__result{margin:16px 0;padding:16px;border:1px solid rgba(242,138,0,.26);border-radius:20px;background:linear-gradient(180deg,rgba(242,138,0,.12),rgba(255,255,255,.045))}
.vlg-sales-os__result strong{display:block;margin-bottom:8px;font-size:19px;color:#fff}.vlg-sales-os__result p{margin:0;color:#d9e5f4;line-height:1.55}.vlg-sales-os__result ul{margin:10px 0 0;padding-left:18px;color:#d9e5f4}.vlg-sales-os__result li{margin:4px 0}
.vlg-sales-os__actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.vlg-sales-os__actions .vlg-btn{justify-content:center;min-height:46px;border-radius:16px!important}
.vlg-sales-os-fab{position:fixed;right:18px;bottom:calc(92px + env(safe-area-inset-bottom));z-index:9100;display:none;align-items:center;gap:8px;min-height:48px;padding:0 15px;border:0;border-radius:999px;background:linear-gradient(135deg,#f28a00,#ffb347);color:#fff;box-shadow:0 18px 44px rgba(242,138,0,.34);font-weight:900;cursor:pointer}.vlg-sales-os-fab span{font-size:18px}.vlg-sales-os-fab strong{font-size:13px}
.vlg-sales-os-sheet[hidden]{display:none}.vlg-sales-os-sheet{position:fixed;inset:0;z-index:9300}.vlg-sales-os-sheet__backdrop{position:absolute;inset:0;background:rgba(2,8,23,.58);backdrop-filter:blur(8px)}.vlg-sales-os-sheet__panel{position:absolute;left:0;right:0;bottom:0;max-height:min(90dvh,820px);overflow:auto;padding:18px 14px calc(18px + env(safe-area-inset-bottom));border-radius:30px 30px 0 0;background:#071224;box-shadow:0 -26px 80px rgba(2,8,23,.48)}.vlg-sales-os-sheet__close{position:sticky;top:0;z-index:2;float:right;width:48px;height:48px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.08);color:#fff;font-size:28px;font-weight:900}
@media(max-width:900px){.vlg-sales-os__grid{grid-template-columns:1fr 1fr}.vlg-sales-os__actions{grid-template-columns:1fr 1fr}.vlg-sales-os-fab{display:inline-flex}}
@media(max-width:560px){.vlg-sales-os{padding:18px;border-radius:24px}.vlg-sales-os__grid{grid-template-columns:1fr}.vlg-sales-os__actions{grid-template-columns:1fr}.vlg-sales-os__hero h2{font-size:31px}.vlg-sales-os-fab{right:14px;bottom:calc(86px + env(safe-area-inset-bottom))}}


/* === 111-v501-mobile-ai-sales-os-polish.css === */
/* v5.0.1 — Mobile AI Sales OS polish */

/* Hide older helper CTA if some cache still injects it */
body.vlg-theme .vlg-mobile-valgusabi {
  display: none !important;
}

.vlg-sales-os-fab {
  display: none;
}

@media (max-width: 900px) {
  body.vlg-theme .vlg-sales-os-fab {
    position: fixed !important;
    right: max(14px, env(safe-area-inset-right)) !important;
    bottom: calc(var(--vlg-mobile-appbar-h, 76px) + 18px + env(safe-area-inset-bottom)) !important;
    z-index: 9210 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    max-width: min(186px, calc(100vw - 28px)) !important;
    min-height: 56px !important;
    padding: 10px 14px 10px 10px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 20px !important;
    background: linear-gradient(135deg, #061224 0%, #10264a 100%) !important;
    color: #fff !important;
    box-shadow: 0 16px 34px rgba(7, 18, 36, .24) !important;
    backdrop-filter: blur(10px) !important;
    text-align: left !important;
  }

  body.vlg-theme .vlg-sales-os-fab > span:first-child {
    display: grid !important;
    place-items: center !important;
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    border-radius: 999px !important;
    background: rgba(242, 138, 0, .18) !important;
    box-shadow: inset 0 0 0 1px rgba(242,138,0,.18) !important;
    font-size: 18px !important;
    line-height: 1 !important;
  }

  body.vlg-theme .vlg-sales-os-fab__text {
    display: grid !important;
    gap: 2px !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  body.vlg-theme .vlg-sales-os-fab__text small {
    display: block !important;
    margin: 0 !important;
    color: rgba(226,232,240,.72) !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
  }

  body.vlg-theme .vlg-sales-os-fab__text strong {
    display: block !important;
    margin: 0 !important;
    color: #ffffff !important;
    font-size: 15px !important;
    line-height: 1.05 !important;
    letter-spacing: -.03em !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
  }

  body.vlg-theme .vlg-sales-os-fab::after {
    content: '\2192';
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.08) !important;
    color: rgba(255,255,255,.92) !important;
    font-size: 14px !important;
    font-weight: 900 !important;
  }

  body.vlg-theme .vlg-sales-os-fab:hover,
  body.vlg-theme .vlg-sales-os-fab:focus-visible {
    transform: translateY(-1px) !important;
    box-shadow: 0 22px 42px rgba(7, 18, 36, .28) !important;
  }

  body.vlg-theme .vlg-sales-os-sheet__panel {
    border-radius: 28px 28px 0 0 !important;
  }
}

@media (max-width: 420px) {
  body.vlg-theme .vlg-sales-os-fab {
    right: 12px !important;
    bottom: calc(var(--vlg-mobile-appbar-h, 74px) + 14px + env(safe-area-inset-bottom)) !important;
    max-width: min(168px, calc(100vw - 24px)) !important;
    min-height: 52px !important;
    padding: 8px 12px 8px 9px !important;
    gap: 8px !important;
    border-radius: 18px !important;
  }

  body.vlg-theme .vlg-sales-os-fab > span:first-child {
    width: 32px !important;
    min-width: 32px !important;
    height: 32px !important;
    font-size: 17px !important;
  }

  body.vlg-theme .vlg-sales-os-fab__text small {
    font-size: 9px !important;
  }

  body.vlg-theme .vlg-sales-os-fab__text strong {
    font-size: 13px !important;
  }

  body.vlg-theme .vlg-sales-os-fab::after {
    width: 20px !important;
    min-width: 20px !important;
    height: 20px !important;
    font-size: 12px !important;
  }
}


/* === 113-v511-mobile-category-visibility.css === */
/* v5.1.1 — Mobile category visibility polish */

@media (max-width: 782px) {
  /* Bottom appbar labels more readable */
  body.vlg-theme .vlg-mobile-appbar__item {
    gap: 4px !important;
    color: #334155 !important;
  }

  body.vlg-theme .vlg-mobile-appbar__item span {
    width: 28px !important;
    height: 28px !important;
    font-size: 19px !important;
  }

  body.vlg-theme .vlg-mobile-appbar__item b {
    font-size: 11px !important;
    font-weight: 950 !important;
    color: #334155 !important;
  }

  /* Make Categories CTA much clearer */
  body.vlg-theme .vlg-mobile-appbar__item--primary {
    transform: translateY(-10px) !important;
    min-height: 72px !important;
    padding-top: 8px !important;
    border-radius: 22px !important;
    border: 1px solid rgba(255, 187, 78, .28) !important;
    background:
      radial-gradient(circle at 50% 0, rgba(255, 176, 72, .28), transparent 45%),
      radial-gradient(circle at 100% 0, rgba(255,180,80,.32), transparent 34%),
      linear-gradient(135deg, #071224 0%, #152b4e 100%) !important;
    box-shadow: 0 16px 36px rgba(7,18,36,.30), 0 0 0 6px rgba(255,176,72,.10) !important;
  }

  body.vlg-theme .vlg-mobile-appbar__item--primary span {
    display: grid !important;
    place-items: center !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 999px !important;
    background: rgba(255, 179, 64, .14) !important;
    box-shadow: inset 0 0 0 1px rgba(255, 179, 64, .15) !important;
    color: #fff !important;
    font-size: 18px !important;
  }

  body.vlg-theme .vlg-mobile-appbar__item--primary b {
    color: #ffffff !important;
    font-size: 11.5px !important;
    letter-spacing: -.015em !important;
  }

  body.vlg-theme .vlg-mobile-appbar__item--primary::after {
    content: "AVA" !important;
    position: absolute !important;
    top: 7px !important;
    right: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 28px !important;
    height: 16px !important;
    padding: 0 5px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .12) !important;
    color: rgba(255,255,255,.90) !important;
    font-size: 8px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
  }

  /* Mobile category drawer rows stronger and easier to scan */
  body.vlg-theme .vlg-nav.is-open .vlg-cat-link,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-link {
    min-height: 62px !important;
    padding: 11px 13px !important;
    border: 1px solid rgba(226, 232, 240, .96) !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .08) !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-link::before,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-link::before {
    width: 14px !important;
    height: 14px !important;
    box-shadow: 0 0 0 6px rgba(255,174,61,.16) !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-title,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-title {
    background: linear-gradient(180deg, #eef4fb 0%, #e8f0fa 100%) !important;
    color: #0f172a !important;
    font-size: clamp(14px, 3.8vw, 16px) !important;
    padding: 8px 12px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-count,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-count {
    min-width: 44px !important;
    height: 40px !important;
    background: linear-gradient(180deg, #12305d 0%, #0b2347 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 8px 18px rgba(11, 35, 71, .18) !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-subtoggle,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-subtoggle {
    width: 50px !important;
    min-width: 50px !important;
    height: 62px !important;
    border-color: #f5d9a5 !important;
    background: linear-gradient(180deg, #fff7ea 0%, #f7ecd9 100%) !important;
    color: #334155 !important;
    box-shadow: 0 12px 26px rgba(15, 23, 42, .07) !important;
  }
}

@media (max-width: 420px) {
  body.vlg-theme .vlg-mobile-appbar__item b {
    font-size: 10.5px !important;
  }

  body.vlg-theme .vlg-mobile-appbar__item--primary {
    min-height: 70px !important;
    transform: translateY(-8px) !important;
  }

  body.vlg-theme .vlg-mobile-appbar__item--primary b {
    font-size: 11px !important;
  }

  body.vlg-theme .vlg-mobile-appbar__item--primary::after {
    top: 6px !important;
    right: 8px !important;
    min-width: 26px !important;
  }
}


/* === 114-v513-mobile-overlay-cleanup.css === */
/* v5.1.3 — Mobile overlay cleanup */

@media (max-width: 782px) {
  /* Old personal shopper floating CTA: keep hidden by default so only the admin-enabled modern CTA can be used */
  body.vlg-theme .vlg-personal-shopper-fab {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  /* When mobile categories menu is open, hide bottom app bar so it doesn't cover menu content */
  body.vlg-theme.vlg-menu-open .vlg-mobile-appbar,
  body.vlg-theme .vlg-nav.is-open ~ .vlg-mobile-appbar {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(calc(100% + 24px)) !important;
  }

  /* Give open mobile menu more breathing room */
  body.vlg-theme .vlg-nav.is-open .vlg-nav-inner,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-nav-inner {
    padding-bottom: max(26px, env(safe-area-inset-bottom)) !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown > ul,
  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown > .vlg-cat-dropdown-list,
  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-cat-tree,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown > ul,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown > .vlg-cat-dropdown-list,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown .vlg-cat-tree,
  body.vlg-theme.vlg-mobile-auto-open-categories .vlg-nav.is-open .vlg-cat-tree {
    max-height: min(60vh, calc(100vh - 182px)) !important;
    padding-bottom: 18px !important;
    scroll-padding-top: 12px !important;
  }

  @supports (height: 100dvh) {
    body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown > ul,
    body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown > .vlg-cat-dropdown-list,
    body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-cat-tree,
    body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown > ul,
    body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown > .vlg-cat-dropdown-list,
    body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown .vlg-cat-tree,
    body.vlg-theme.vlg-mobile-auto-open-categories .vlg-nav.is-open .vlg-cat-tree {
      max-height: min(60dvh, calc(100dvh - 182px)) !important;
    }
  }

  /* Keep the menu header readable and not visually crushed */
  body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-head,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-mobile-nav-head {
    margin-bottom: 10px !important;
  }
}


/* === 115-v514-mobile-category-bottom-safe.css === */
/* v5.1.4 — Mobile category drawer bottom-safe fix */

@media (max-width: 782px) {
  /* Give the whole open drawer more usable height while keeping browser UI in mind */
  body.vlg-theme .vlg-nav.is-open,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open {
    bottom: max(10px, env(safe-area-inset-bottom)) !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-nav-inner,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-nav-inner {
    padding-bottom: max(34px, calc(env(safe-area-inset-bottom) + 24px)) !important;
  }

  /* Main category scroll area: larger height + bigger bottom padding */
  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown > ul,
  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown > .vlg-cat-dropdown-list,
  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-cat-tree,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown > ul,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown > .vlg-cat-dropdown-list,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown .vlg-cat-tree,
  body.vlg-theme.vlg-mobile-auto-open-categories .vlg-nav.is-open .vlg-cat-tree {
    max-height: min(66vh, calc(100vh - 168px)) !important;
    padding-bottom: max(72px, calc(env(safe-area-inset-bottom) + 56px)) !important;
    margin-bottom: 4px !important;
    overscroll-behavior-y: contain !important;
    scroll-padding-bottom: 72px !important;
  }

  @supports (height: 100dvh) {
    body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown > ul,
    body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown > .vlg-cat-dropdown-list,
    body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-cat-tree,
    body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown > ul,
    body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown > .vlg-cat-dropdown-list,
    body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown .vlg-cat-tree,
    body.vlg-theme.vlg-mobile-auto-open-categories .vlg-nav.is-open .vlg-cat-tree {
      max-height: min(66dvh, calc(100dvh - 168px)) !important;
    }
  }

  /* Spacer after the final category item so the last row never sits against the bottom edge */
  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown > ul::after,
  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown > .vlg-cat-dropdown-list::after,
  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-cat-tree::after,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown > ul::after,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown > .vlg-cat-dropdown-list::after,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown .vlg-cat-tree::after,
  body.vlg-theme.vlg-mobile-auto-open-categories .vlg-nav.is-open .vlg-cat-tree::after {
    content: "" !important;
    display: block !important;
    width: 100% !important;
    height: 64px !important;
    flex: 0 0 64px !important;
  }

  /* Keep the last rows fully clickable and not visually jammed */
  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree .vlg-cat-item:last-child,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree .vlg-cat-item:last-child > .vlg-cat-submenu,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-dropdown-list li:last-child,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-tree .vlg-cat-item:last-child,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-dropdown-list li:last-child {
    margin-bottom: 12px !important;
  }
}

@media (max-width: 430px) {
  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown > ul,
  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown > .vlg-cat-dropdown-list,
  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-cat-tree,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown > ul,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown > .vlg-cat-dropdown-list,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown .vlg-cat-tree,
  body.vlg-theme.vlg-mobile-auto-open-categories .vlg-nav.is-open .vlg-cat-tree {
    max-height: min(68vh, calc(100vh - 160px)) !important;
    padding-bottom: max(88px, calc(env(safe-area-inset-bottom) + 68px)) !important;
    scroll-padding-bottom: 88px !important;
  }

  @supports (height: 100dvh) {
    body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown > ul,
    body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown > .vlg-cat-dropdown-list,
    body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-cat-tree,
    body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown > ul,
    body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown > .vlg-cat-dropdown-list,
    body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown .vlg-cat-tree,
    body.vlg-theme.vlg-mobile-auto-open-categories .vlg-nav.is-open .vlg-cat-tree {
      max-height: min(68dvh, calc(100dvh - 160px)) !important;
    }
  }
}


/* === 116-v516-static-side-panels-and-category-save.css === */
/* v5.1.6 — category save helper polish + static desktop panels.
   User request: the boxed product/order panel should stay in page flow, not follow scroll. */

/* Admin hint for sorters where dragging now also marks the row as selected. */
.wp-admin .vlg-admin-wrap .vlg-category-sorter-field > small::after,
.wp-admin .vlg-admin-wrap .vlg-category-tree-sorter-field > small::after {
  content: ' Lohistamine või ↑/↓ nupuga liigutamine märgib kategooria automaatselt valituks ja salvestab järjekorra.';
  display: block;
  margin-top: 6px;
  color: #0f766e;
  font-weight: 700;
}

/* Desktop product/order panels must not behave as sticky/floating sidebars. */
@media (min-width: 901px) {
  body.vlg-theme.single-product .vlg-product-summary-card,
  body.vlg-theme.single-product .vlg-product-right .vlg-product-summary-card,
  body.vlg-theme.single-product div.product .summary,
  body.vlg-theme.woocommerce-checkout .vlg-checkout-summary-shell,
  body.vlg-theme.woocommerce-checkout #order_review,
  body.vlg-theme.woocommerce-cart .cart_totals {
    position: static !important;
    top: auto !important;
    bottom: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
}

/* Preserve mobile bottom add-to-cart behaviour only on phones; remove accidental desktop fixed state. */
@media (min-width: 901px) {
  body.vlg-theme.single-product form.cart {
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    z-index: auto !important;
  }
}


/* === 117-v519-home-category-auto-fit.css === */
/* v5.1.19 — Avalehe kategooriad: automaatselt kohanduv, ilus ja ühtlane plokk. */
html body.vlg-theme #kategooriad .vlg-category-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
  gap: clamp(12px, 1.4vw, 18px) !important;
  align-items: stretch !important;
  width: 100% !important;
}

html body.vlg-theme #kategooriad .vlg-category-grid > .vlg-category-card {
  min-width: 0 !important;
  width: 100% !important;
  min-height: 88px !important;
  height: 100% !important;
  display: grid !important;
  grid-template-columns: 58px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 15px 18px !important;
  border-radius: 18px !important;
  overflow: hidden !important;
}

html body.vlg-theme #kategooriad .vlg-category-card img {
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  object-fit: contain !important;
  padding: 8px !important;
  border-radius: 16px !important;
  background: #f8fafc !important;
  border: 1px solid rgba(15, 23, 42, .08) !important;
}

html body.vlg-theme #kategooriad .vlg-category-card > div {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 3px !important;
}

html body.vlg-theme #kategooriad .vlg-category-card strong {
  display: block !important;
  max-width: 100% !important;
  font-size: clamp(13px, .9vw, 15px) !important;
  line-height: 1.15 !important;
  letter-spacing: .01em !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

html body.vlg-theme #kategooriad .vlg-category-card small {
  display: none !important;
}

html body.vlg-theme #kategooriad .vlg-category-card span {
  display: inline-flex !important;
  align-items: center !important;
  color: var(--vlg-primary, #f28a00) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}

@media (min-width: 1180px) {
  html body.vlg-theme #kategooriad .vlg-category-grid {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  html body.vlg-theme #kategooriad .vlg-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 520px) {
  html body.vlg-theme #kategooriad .vlg-category-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  html body.vlg-theme #kategooriad .vlg-category-grid > .vlg-category-card {
    min-height: 76px !important;
    grid-template-columns: 50px minmax(0, 1fr) !important;
    padding: 12px 14px !important;
  }
  html body.vlg-theme #kategooriad .vlg-category-card img {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
  }
}


/* === 118-v521-footer-professional-refresh.css === */
/* v5.1.21 — Footer visual refresh: cleaner, more premium and more professional */
body.vlg-theme .vlg-footer.vlg-footer--premium.vlg-footer--refined {
  margin-top: 72px;
  padding: 34px 0 22px;
  background:
    radial-gradient(circle at 10% 100%, rgba(242,138,0,.10) 0%, transparent 28%),
    radial-gradient(circle at 100% 0%, rgba(54,102,201,.12) 0%, transparent 34%),
    linear-gradient(135deg, #07101e 0%, #091a34 48%, #081426 100%);
}

body.vlg-theme .vlg-footer.vlg-footer--premium.vlg-footer--refined::before {
  height: 3px;
  background: linear-gradient(90deg, rgba(255,170,82,.82) 0%, rgba(255,170,82,.15) 18%, rgba(113,169,255,.18) 72%, rgba(113,169,255,.55) 100%);
}

body.vlg-theme .vlg-footer .vlg-footer-glow--left {
  width: 320px;
  height: 320px;
  left: -110px;
  bottom: -110px;
  opacity: .52;
}

body.vlg-theme .vlg-footer .vlg-footer-glow--right {
  width: 280px;
  height: 280px;
  right: -90px;
  top: -110px;
  opacity: .45;
}

body.vlg-theme .vlg-footer-premium-wrap {
  max-width: 1320px;
}

body.vlg-theme .vlg-footer-trustbar {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 24px;
}

body.vlg-theme .vlg-footer-trustitem {
  min-height: 56px;
  padding: 14px 16px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.052), rgba(255,255,255,.032));
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 16px 32px rgba(0,0,0,.16);
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

body.vlg-theme .vlg-footer-trustitem:hover {
  transform: translateY(-2px);
  border-color: rgba(255,187,95,.24);
  background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.045));
}

body.vlg-theme .vlg-footer-trustitem__icon {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border-radius: 999px;
  font-size: 15px;
  background: linear-gradient(180deg, rgba(255,186,96,.22), rgba(255,186,96,.10));
  border: 1px solid rgba(255,190,104,.20);
  color: #ffd494;
}

body.vlg-theme .vlg-footer-shell {
  grid-template-columns: minmax(360px, 1.2fr) minmax(0, 1.8fr);
  gap: 20px;
}

body.vlg-theme .vlg-footer-brand-card,
body.vlg-theme .vlg-footer-panel {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.03));
  border: 1px solid rgba(255,255,255,.09);
  box-shadow: 0 18px 40px rgba(0,0,0,.18);
  backdrop-filter: blur(8px);
}

body.vlg-theme .vlg-footer-brand-card::before,
body.vlg-theme .vlg-footer-panel::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,.05), transparent 35%);
  pointer-events: none;
}

body.vlg-theme .vlg-footer-brand-card {
  padding: 24px 24px 22px;
}

body.vlg-theme .vlg-footer-brand-head {
  margin-bottom: 18px;
  gap: 18px;
}

body.vlg-theme .vlg-footer-brand-head .vlg-logo img,
body.vlg-theme .vlg-footer.vlg-footer--premium .custom-logo {
  max-height: 58px;
  width: auto;
  display: block;
}

body.vlg-theme .vlg-footer-badge {
  padding: 9px 14px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255,191,102,.13), rgba(255,191,102,.06));
  border-color: rgba(255,191,102,.25);
  color: #ffe7bc;
  font-size: 11px;
  letter-spacing: .12em;
}

body.vlg-theme .vlg-footer-about {
  margin-bottom: 18px;
  max-width: 46ch;
  color: #e2ebf7;
  font-size: 16px;
  line-height: 1.62;
}

body.vlg-theme .vlg-footer-brand-meta {
  gap: 12px;
  margin-bottom: 18px;
}

body.vlg-theme .vlg-footer-mini-card {
  padding: 16px 18px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.052), rgba(255,255,255,.03));
  border: 1px solid rgba(255,255,255,.08);
}

body.vlg-theme .vlg-footer-mini-card strong,
body.vlg-theme .vlg-footer-contact-row strong,
body.vlg-theme .vlg-footer-payments-title {
  color: #96adca;
}

body.vlg-theme .vlg-footer-mini-card a {
  color: #ffffff;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 800;
}

body.vlg-theme .vlg-footer-brand-tools {
  padding-top: 4px;
  border-top: 1px solid rgba(255,255,255,.08);
}

body.vlg-theme .vlg-footer-grid.vlg-footer-grid--refined {
  grid-template-columns: 1.05fr 1.15fr 1fr;
  gap: 20px;
}

body.vlg-theme .vlg-footer-panel {
  padding: 22px 20px;
}

body.vlg-theme .vlg-footer-panel h3 {
  margin-bottom: 16px;
  font-size: 13px;
  letter-spacing: .16em;
}

body.vlg-theme .vlg-footer-menu {
  gap: 12px;
}

body.vlg-theme .vlg-footer-menu li {
  list-style: none;
}

body.vlg-theme .vlg-footer-menu a {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  color: #e5edf8;
  font-size: 16px;
  font-weight: 600;
}

body.vlg-theme .vlg-footer-menu a:hover {
  color: #ffc56d;
  transform: translateX(2px);
}

body.vlg-theme .vlg-footer-contact-list {
  gap: 8px;
}

body.vlg-theme .vlg-footer-contact-row {
  grid-template-columns: 46px 1fr;
  gap: 14px;
  padding: 14px 0;
}

body.vlg-theme .vlg-footer-contact-icon {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  font-size: 18px;
  background: linear-gradient(180deg, rgba(255,177,70,.16), rgba(255,177,70,.08));
  border: 1px solid rgba(255,177,70,.18);
  color: #ffd18d;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}

body.vlg-theme .vlg-footer-contact-row a,
body.vlg-theme .vlg-footer-contact-row span {
  font-size: 16px;
}

body.vlg-theme .vlg-footer-payments-wrap {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.08);
}

body.vlg-theme .vlg-footer .vlg-payment-badges {
  gap: 10px;
}

body.vlg-theme .vlg-footer .vlg-payment-badge {
  min-height: 34px;
  padding: 0 10px;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(255,255,255,1), rgba(247,249,252,.98));
  border: 1px solid rgba(224,230,239,.85);
  box-shadow: 0 8px 18px rgba(0,0,0,.10);
}

body.vlg-theme .vlg-footer-bottom.vlg-footer-bottom--premium {
  margin-top: 22px;
  padding-top: 16px;
  min-height: 56px;
  gap: 12px 24px;
  border-top: 1px solid rgba(255,255,255,.10);
  color: #bed0e4;
  font-size: 13px;
}

body.vlg-theme .vlg-footer-bottom.vlg-footer-bottom--premium > span:last-child {
  text-align: right;
  max-width: 55%;
}

@media (max-width: 1280px) {
  body.vlg-theme .vlg-footer-shell {
    grid-template-columns: minmax(320px, 1.05fr) minmax(0, 1.95fr);
  }
  body.vlg-theme .vlg-footer-grid.vlg-footer-grid--refined {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1100px) {
  body.vlg-theme .vlg-footer-shell {
    grid-template-columns: 1fr;
  }
  body.vlg-theme .vlg-footer-grid.vlg-footer-grid--refined {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  body.vlg-theme .vlg-footer.vlg-footer--premium.vlg-footer--refined {
    margin-top: 48px;
    padding: 24px 0 16px;
  }
  body.vlg-theme .vlg-footer-trustbar {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  body.vlg-theme .vlg-footer-trustitem {
    min-height: 50px;
  }
  body.vlg-theme .vlg-footer-brand-card,
  body.vlg-theme .vlg-footer-panel {
    border-radius: 20px;
    padding: 18px;
  }
  body.vlg-theme .vlg-footer-brand-head {
    flex-direction: column;
    align-items: flex-start;
  }
  body.vlg-theme .vlg-footer-about {
    font-size: 15px;
  }
  body.vlg-theme .vlg-footer-mini-card a {
    font-size: 20px;
  }
  body.vlg-theme .vlg-footer-grid.vlg-footer-grid--refined,
  body.vlg-theme .vlg-footer-brand-meta {
    grid-template-columns: 1fr;
  }
  body.vlg-theme .vlg-footer-menu a,
  body.vlg-theme .vlg-footer-contact-row a,
  body.vlg-theme .vlg-footer-contact-row span {
    font-size: 15px;
  }
  body.vlg-theme .vlg-footer-bottom.vlg-footer-bottom--premium {
    flex-direction: column;
    align-items: flex-start;
  }
  body.vlg-theme .vlg-footer-bottom.vlg-footer-bottom--premium > span:last-child {
    max-width: 100%;
    text-align: left;
  }
}


/* === 119-v522-mobile-product-category-fixes.css === */
/* v5.1.22 — Mobile category text, product image modal and buybox fixes */
@media (max-width: 900px) {
  body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-list,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-submenu {
    overflow-x: hidden !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-item,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-row {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-row {
    display: grid !important;
    grid-template-columns: 28px minmax(0, 1fr) auto !important;
    gap: 10px !important;
    align-items: center !important;
    min-height: 64px !important;
    height: auto !important;
    padding: 10px 12px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-link,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-name,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-title,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-row a {
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    line-height: 1.16 !important;
    display: block !important;
    text-align: left !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-count,
  body.vlg-theme .vlg-nav.is-open .count {
    flex: 0 0 auto !important;
    min-width: 42px !important;
    max-width: 54px !important;
    text-align: center !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-submenu {
    padding-left: 18px !important;
  }

  /* Keep the main category drawer under user's control on phones. */
  body.vlg-theme .vlg-nav.is-open .vlg-category-menu,
  body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown {
    pointer-events: auto !important;
    touch-action: pan-y !important;
  }
}

@media (max-width: 782px) {
  /* User did not want the first product add-to-cart block to travel with scroll. */
  body.vlg-theme.single-product div.product form.cart {
    position: static !important;
    bottom: auto !important;
    z-index: auto !important;
    margin: 16px 0 0 !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .08) !important;
    backdrop-filter: none !important;
  }

  body.vlg-theme.single-product .vlg-product-gallery-card {
    min-height: auto !important;
  }

  body.vlg-theme.single-product .vlg-product-gallery-media,
  body.vlg-theme.single-product .woocommerce-product-gallery,
  body.vlg-theme.single-product .woocommerce-product-gallery__wrapper,
  body.vlg-theme.single-product .woocommerce-product-gallery__image,
  body.vlg-theme.single-product .flex-viewport {
    min-height: 0 !important;
    height: auto !important;
  }

  body.vlg-theme.single-product .woocommerce-product-gallery__image a,
  body.vlg-theme.single-product .woocommerce-product-gallery__image img {
    cursor: pointer !important;
  }

  body.vlg-theme.single-product .woocommerce-product-gallery__image img,
  body.vlg-theme.single-product .vlg-product-gallery-card img {
    max-height: min(58vh, 420px) !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }
}

.vlg-mobile-image-modal {
  position: fixed;
  inset: 0;
  z-index: 1000000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(8, 16, 31, .78);
  backdrop-filter: blur(5px);
}

.vlg-mobile-image-modal.is-open {
  display: flex;
}

.vlg-mobile-image-modal__dialog {
  position: relative;
  width: min(94vw, 880px);
  max-height: 92vh;
  padding: 14px;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 28px 80px rgba(0, 0, 0, .42);
}

.vlg-mobile-image-modal__close {
  position: absolute;
  right: 10px;
  top: 10px;
  z-index: 2;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(15, 23, 42, .12);
  border-radius: 14px;
  background: rgba(255,255,255,.96);
  color: #111827;
  font-size: 30px;
  font-weight: 900;
  line-height: 1;
}

.vlg-mobile-image-modal__img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: calc(92vh - 48px);
  margin: 0 auto;
  object-fit: contain;
  border-radius: 16px;
}


/* === 120-v523-mobile-product-final-hotfix.css === */
/* v5.1.23 — final mobile hotfix: product image, category drawer click behavior and text fit */
@media (max-width: 782px) {
  html body.vlg-theme.single-product,
  html body.vlg-theme.single-product .site,
  html body.vlg-theme.single-product #page {
    overflow-x: hidden !important;
  }

  html body.vlg-theme.single-product .vlg-single-product-page {
    padding-left: 10px !important;
    padding-right: 10px !important;
    padding-bottom: calc(var(--vlg-mobile-appbar-h, 76px) + 32px + env(safe-area-inset-bottom)) !important;
  }

  html body.vlg-theme.single-product .vlg-product-main-grid,
  html body.vlg-theme.single-product .vlg-product-detail .vlg-product-main-grid {
    gap: 12px !important;
  }

  /* Fix giant blank gallery area on mobile. */
  html body.vlg-theme.single-product .vlg-product-gallery-card {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    padding: 10px !important;
    margin: 0 0 12px !important;
    border-radius: 22px !important;
    overflow: visible !important;
  }

  html body.vlg-theme.single-product .vlg-product-gallery-media,
  html body.vlg-theme.single-product div.product div.images,
  html body.vlg-theme.single-product div.product div.woocommerce-product-gallery,
  html body.vlg-theme.single-product .woocommerce-product-gallery,
  html body.vlg-theme.single-product .flex-viewport,
  html body.vlg-theme.single-product .woocommerce-product-gallery__wrapper,
  html body.vlg-theme.single-product .woocommerce-product-gallery__image {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  html body.vlg-theme.single-product .flex-viewport {
    overflow: hidden !important;
  }

  html body.vlg-theme.single-product .woocommerce-product-gallery__wrapper {
    display: block !important;
  }

  html body.vlg-theme.single-product .woocommerce-product-gallery__image {
    width: 100% !important;
    float: none !important;
    text-align: center !important;
  }

  html body.vlg-theme.single-product .woocommerce-product-gallery__image:not(:first-child):not(.flex-active-slide) {
    display: none !important;
  }

  html body.vlg-theme.single-product .woocommerce-product-gallery__image a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 220px !important;
    height: auto !important;
  }

  html body.vlg-theme.single-product .woocommerce-product-gallery__image img,
  html body.vlg-theme.single-product .woocommerce-product-gallery img.wp-post-image,
  html body.vlg-theme.single-product .vlg-product-gallery-card img {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: min(44vh, 340px) !important;
    object-fit: contain !important;
    opacity: 1 !important;
    visibility: visible !important;
    margin: 0 auto !important;
    padding: 4px !important;
  }

  html body.vlg-theme.single-product .flex-control-thumbs {
    display: flex !important;
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    gap: 8px !important;
    margin: 10px 0 0 !important;
    padding: 2px 2px 4px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  html body.vlg-theme.single-product .flex-control-thumbs li {
    flex: 0 0 64px !important;
    width: 64px !important;
    height: 64px !important;
    margin: 0 !important;
    border-radius: 14px !important;
  }

  html body.vlg-theme.single-product .flex-control-thumbs img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    padding: 7px !important;
  }

  .vlg-mobile-gallery-zoom {
    position: absolute;
    right: 14px;
    top: 14px;
    z-index: 20;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 38px;
    padding: 0 12px;
    border: 1px solid rgba(15, 23, 42, .12);
    border-radius: 999px;
    background: rgba(255,255,255,.94);
    color: #0f172a;
    font-weight: 900;
    font-size: 12px;
    box-shadow: 0 10px 24px rgba(15,23,42,.14);
  }

  html body.vlg-theme.single-product .vlg-product-summary-card,
  html body.vlg-theme.single-product div.product .summary {
    max-width: 100% !important;
    overflow: hidden !important;
    padding: 16px !important;
    border-radius: 22px !important;
  }

  html body.vlg-theme.single-product .vlg-pill {
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    line-height: 1.2 !important;
  }

  html body.vlg-theme.single-product .product_title,
  html body.vlg-theme.single-product div.product .product_title {
    max-width: 100% !important;
    font-size: clamp(24px, 6.1vw, 32px) !important;
    line-height: 1.12 !important;
    letter-spacing: -.035em !important;
    white-space: normal !important;
    overflow: visible !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  /* User requested: add-to-cart must not travel with scroll and must not cover content/appbar. */
  html body.vlg-theme.single-product div.product form.cart,
  html body.vlg-theme.single-product form.cart,
  html body.vlg-theme.single-product .vlg-product-buybox form.cart {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    top: auto !important;
    z-index: 2 !important;
    display: grid !important;
    grid-template-columns: 86px minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 14px 0 0 !important;
    padding: 9px !important;
    border-radius: 20px !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .12) !important;
    backdrop-filter: none !important;
  }

  html body.vlg-theme.single-product form.cart .single_add_to_cart_button {
    min-width: 0 !important;
    white-space: normal !important;
    line-height: 1.12 !important;
    font-size: 15px !important;
  }
}

@media (max-width: 390px) {
  html body.vlg-theme.single-product .product_title,
  html body.vlg-theme.single-product div.product .product_title {
    font-size: clamp(22px, 5.7vw, 28px) !important;
  }
  html body.vlg-theme.single-product div.product form.cart,
  html body.vlg-theme.single-product form.cart {
    grid-template-columns: 76px minmax(0, 1fr) !important;
  }
}

@media (max-width: 900px) {
  /* Mobile category drawer: click-controlled, readable long names. */
  html body.vlg-theme .vlg-nav.is-open .vlg-category-menu,
  html body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown,
  html body.vlg-theme .vlg-nav.is-open .vlg-cat-list,
  html body.vlg-theme .vlg-nav.is-open .vlg-cat-submenu {
    touch-action: pan-y !important;
    pointer-events: auto !important;
  }

  html body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown.is-open,
  html body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open > .vlg-category-dropdown {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-height: calc(100dvh - 230px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
  }

  html body.vlg-theme .vlg-nav.is-open .vlg-cat-row {
    display: grid !important;
    grid-template-columns: 30px minmax(0, 1fr) 44px !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 58px !important;
    height: auto !important;
    padding: 9px 10px !important;
  }

  html body.vlg-theme .vlg-nav.is-open .vlg-cat-link,
  html body.vlg-theme .vlg-nav.is-open .vlg-cat-name,
  html body.vlg-theme .vlg-nav.is-open .vlg-cat-title,
  html body.vlg-theme .vlg-nav.is-open .vlg-cat-row a {
    min-width: 0 !important;
    max-width: 100% !important;
    width: auto !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    line-height: 1.16 !important;
    font-size: clamp(13px, 3.3vw, 15px) !important;
    text-align: left !important;
  }

  html body.vlg-theme .vlg-nav.is-open .vlg-cat-count,
  html body.vlg-theme .vlg-nav.is-open .count {
    min-width: 34px !important;
    width: auto !important;
    max-width: 46px !important;
    padding: 0 6px !important;
    justify-self: end !important;
  }

  html body.vlg-theme .vlg-nav.is-open .vlg-cat-submenu {
    margin: 6px 0 8px 10px !important;
    padding-left: 8px !important;
  }

  html body.vlg-theme .vlg-nav.is-open .vlg-cat-submenu .vlg-cat-row {
    grid-template-columns: 22px minmax(0, 1fr) 38px !important;
    min-height: 52px !important;
  }
}


/* === 121-v524-footer-layout-fit.css === */
/* v5.1.24 — Footer layout fit and readability polish */
body.vlg-theme .vlg-footer-premium-wrap {
  max-width: 1400px;
}

body.vlg-theme .vlg-footer-shell {
  grid-template-columns: minmax(380px, 1.18fr) minmax(0, 1.82fr);
  gap: 22px;
}

body.vlg-theme .vlg-footer-brand-card,
body.vlg-theme .vlg-footer-panel,
body.vlg-theme .vlg-footer-col,
body.vlg-theme .vlg-footer-contact-row > div,
body.vlg-theme .vlg-footer-mini-card {
  min-width: 0;
}

body.vlg-theme .vlg-footer-brand-card {
  padding: 26px 26px 22px;
}

body.vlg-theme .vlg-footer-grid.vlg-footer-grid--refined {
  grid-template-columns: minmax(210px, .92fr) minmax(250px, 1.12fr) minmax(260px, 1.06fr);
  gap: 22px;
}

body.vlg-theme .vlg-footer-brand-meta {
  grid-template-columns: minmax(160px, .78fr) minmax(250px, 1.22fr);
  align-items: stretch;
}

body.vlg-theme .vlg-footer-mini-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
}

body.vlg-theme .vlg-footer-mini-card strong,
body.vlg-theme .vlg-footer-contact-row strong,
body.vlg-theme .vlg-footer-payments-title {
  font-size: 12px;
  letter-spacing: .12em;
}

body.vlg-theme .vlg-footer-mini-card a,
body.vlg-theme .vlg-footer-contact-row a,
body.vlg-theme .vlg-footer-bottom.vlg-footer-bottom--premium span {
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto;
}

body.vlg-theme .vlg-footer-mini-card a {
  display: block;
  max-width: 100%;
  font-size: clamp(17px, 1.35vw, 20px);
  line-height: 1.3;
}

body.vlg-theme .vlg-footer-brand-meta .vlg-footer-mini-card:first-child a {
  font-size: clamp(18px, 1.5vw, 21px);
  letter-spacing: .01em;
}

body.vlg-theme .vlg-footer-brand-meta .vlg-footer-mini-card:last-child a {
  font-size: clamp(16px, 1.1vw, 18px);
}

body.vlg-theme .vlg-footer-about {
  max-width: 42ch;
  font-size: 15px;
  line-height: 1.72;
}

body.vlg-theme .vlg-footer-panel {
  padding: 24px 22px;
}

body.vlg-theme .vlg-footer-panel h3 {
  font-size: 12px;
  letter-spacing: .18em;
}

body.vlg-theme .vlg-footer-menu a {
  line-height: 1.4;
}

body.vlg-theme .vlg-footer-contact-row {
  align-items: start;
}

body.vlg-theme .vlg-footer-contact-row a,
body.vlg-theme .vlg-footer-contact-row span {
  display: block;
  font-size: 15px;
  line-height: 1.55;
}

body.vlg-theme .vlg-footer .vlg-payment-badges {
  gap: 8px;
}

body.vlg-theme .vlg-footer .vlg-payment-badge {
  min-height: 32px;
  padding: 0 9px;
  font-size: 13px;
}

body.vlg-theme .vlg-footer-bottom.vlg-footer-bottom--premium {
  display: grid;
  grid-template-columns: minmax(240px, .95fr) minmax(380px, 1.55fr);
  align-items: start;
  gap: 10px 28px;
}

body.vlg-theme .vlg-footer-bottom.vlg-footer-bottom--premium > span {
  display: block;
  line-height: 1.65;
}

body.vlg-theme .vlg-footer-bottom.vlg-footer-bottom--premium > span:last-child {
  max-width: none;
  text-align: right;
  justify-self: end;
}

@media (max-width: 1360px) {
  body.vlg-theme .vlg-footer-shell {
    grid-template-columns: minmax(340px, 1.08fr) minmax(0, 1.92fr);
  }
  body.vlg-theme .vlg-footer-grid.vlg-footer-grid--refined {
    grid-template-columns: minmax(190px, .88fr) minmax(220px, 1.02fr) minmax(230px, 1fr);
  }
  body.vlg-theme .vlg-footer-brand-meta {
    grid-template-columns: minmax(150px, .82fr) minmax(210px, 1.18fr);
  }
}

@media (max-width: 1180px) {
  body.vlg-theme .vlg-footer-shell {
    grid-template-columns: 1fr;
  }
  body.vlg-theme .vlg-footer-grid.vlg-footer-grid--refined {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  body.vlg-theme .vlg-footer-bottom.vlg-footer-bottom--premium {
    grid-template-columns: 1fr;
  }
  body.vlg-theme .vlg-footer-bottom.vlg-footer-bottom--premium > span:last-child {
    text-align: left;
    justify-self: start;
  }
}

@media (max-width: 860px) {
  body.vlg-theme .vlg-footer-grid.vlg-footer-grid--refined {
    grid-template-columns: 1fr;
  }
  body.vlg-theme .vlg-footer-brand-meta {
    grid-template-columns: 1fr;
  }
}


/* === 122-v525-mobile-gallery-energy-fit.css === */
/* v5.1.25 — Mobile gallery and energy modal fit */
@media (max-width: 782px) {
  html body.vlg-theme.single-product .vlg-single-product-page {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  html body.vlg-theme.single-product .vlg-product-gallery-card {
    padding: 6px !important;
    border-radius: 20px !important;
    margin-bottom: 10px !important;
    min-height: 0 !important;
  }

  html body.vlg-theme.single-product .vlg-product-gallery-media {
    gap: 8px !important;
  }

  html body.vlg-theme.single-product .woocommerce-product-gallery,
  html body.vlg-theme.single-product .flex-viewport,
  html body.vlg-theme.single-product .woocommerce-product-gallery__wrapper,
  html body.vlg-theme.single-product .woocommerce-product-gallery__image {
    border-radius: 18px !important;
    min-height: 0 !important;
  }

  html body.vlg-theme.single-product .woocommerce-product-gallery__image a {
    min-height: 0 !important;
    padding: 0 !important;
  }

  html body.vlg-theme.single-product .woocommerce-product-gallery__image img,
  html body.vlg-theme.single-product .woocommerce-product-gallery img.wp-post-image,
  html body.vlg-theme.single-product .vlg-product-gallery-card img {
    width: auto !important;
    max-width: 100% !important;
    max-height: min(54vh, 360px) !important;
    padding: 0 !important;
    margin: 0 auto !important;
  }

  html body.vlg-theme.single-product .flex-control-thumbs {
    gap: 6px !important;
    margin-top: 8px !important;
    padding: 0 0 4px !important;
  }

  html body.vlg-theme.single-product .flex-control-thumbs li {
    flex-basis: 58px !important;
    width: 58px !important;
    height: 58px !important;
    border-radius: 12px !important;
  }

  html body.vlg-theme.single-product .flex-control-thumbs img {
    padding: 5px !important;
  }

  html body.vlg-theme.single-product .vlg-single-image-energy {
    right: 8px !important;
    bottom: 8px !important;
    transform: scale(.88) !important;
    transform-origin: right bottom !important;
  }

  html body.vlg-theme.single-product .vlg-product-summary-card,
  html body.vlg-theme.single-product div.product .summary {
    padding: 14px !important;
  }

  html body.vlg-theme.single-product .vlg-pill {
    font-size: 12px !important;
    padding: 8px 12px !important;
  }

  html body.vlg-theme.single-product .product_title,
  html body.vlg-theme.single-product div.product .product_title {
    font-size: clamp(18px, 5.2vw, 26px) !important;
    line-height: 1.14 !important;
    letter-spacing: -.03em !important;
  }

  html body.vlg-theme.single-product .vlg-product-price,
  html body.vlg-theme.single-product div.product p.price,
  html body.vlg-theme.single-product div.product span.price {
    font-size: clamp(17px, 4.7vw, 24px) !important;
    line-height: 1.15 !important;
  }

  /* Core energy label modal (Energiasildid module) */
  .valgusallikad-energiasildid-modal {
    padding: 10px !important;
  }

  .valgusallikad-energiasildid-modal-dialog {
    width: min(96vw, 420px) !important;
    max-width: 96vw !important;
    padding: 12px 12px 14px !important;
    border-radius: 20px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    gap: 10px !important;
    overflow-x: hidden !important;
  }

  .valgusallikad-energiasildid-modal-title {
    width: 100% !important;
    margin: 0 !important;
    padding-right: 50px !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    text-align: left !important;
  }

  .valgusallikad-energiasildid-modal-close {
    top: 10px !important;
    right: 10px !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 14px !important;
    font-size: 20px !important;
    line-height: 1 !important;
  }

  .valgusallikad-energiasildid-modal-image {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    max-height: 58vh !important;
    margin: 0 auto !important;
    border-radius: 10px !important;
  }

  .valgusallikad-energiasildid-modal-filter {
    width: 100% !important;
    min-height: 54px !important;
    margin-top: 2px !important;
    padding: 14px 16px !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    text-align: center !important;
    white-space: normal !important;
    justify-content: center !important;
  }

  /* Legacy energy label modal compatibility */
  .fs-euel-modal {
    padding: 10px !important;
  }

  .fs-euel-modal-dialog {
    width: min(96vw, 420px) !important;
    max-width: 96vw !important;
    padding: 12px 12px 14px !important;
    border-radius: 20px !important;
  }

  .fs-euel-modal-title {
    margin: 0 50px 8px 0 !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
  }

  .fs-euel-modal-close {
    top: 10px !important;
    right: 10px !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 14px !important;
  }

  .fs-euel-modal-image {
    max-height: 58vh !important;
    margin: 0 auto !important;
  }

  .fs-euel-modal-filter {
    width: 100% !important;
    margin-top: 10px !important;
    padding: 14px 16px !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    text-align: center !important;
    white-space: normal !important;
  }
}

@media (max-width: 390px) {
  html body.vlg-theme.single-product .product_title,
  html body.vlg-theme.single-product div.product .product_title {
    font-size: clamp(17px, 5vw, 23px) !important;
  }

  .valgusallikad-energiasildid-modal-dialog,
  .fs-euel-modal-dialog {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    padding: 10px 10px 12px !important;
  }

  .valgusallikad-energiasildid-modal-filter,
  .fs-euel-modal-filter {
    font-size: 12px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}


/* === 123-v526-footer-gallery-modal-refine.css === */
/* v5.1.26 — footer de-boxing, archive/single gallery fit, EU modal fit */

/* ---------- Footer: less boxed, more elegant ---------- */
body.vlg-theme .vlg-footer.vlg-footer--premium.vlg-footer--refined {
  padding-top: 18px !important;
}

body.vlg-theme .vlg-footer-trustbar {
  margin-bottom: 18px !important;
}

body.vlg-theme .vlg-footer-brand-card,
body.vlg-theme .vlg-footer-panel {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 10px 0 12px !important;
}

body.vlg-theme .vlg-footer-brand-card::before,
body.vlg-theme .vlg-footer-panel::before {
  display: none !important;
}

body.vlg-theme .vlg-footer-brand-head {
  margin-bottom: 12px !important;
}

body.vlg-theme .vlg-footer-about {
  max-width: 46ch !important;
  margin-bottom: 18px !important;
}

body.vlg-theme .vlg-footer-brand-meta {
  gap: 12px !important;
}

body.vlg-theme .vlg-footer-mini-card {
  background: rgba(255,255,255,.03) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: none !important;
}

body.vlg-theme .vlg-footer-panel h3 {
  margin-bottom: 14px !important;
}

body.vlg-theme .vlg-footer-menu {
  gap: 10px !important;
}

body.vlg-theme .vlg-footer-menu li {
  padding: 0 !important;
}

body.vlg-theme .vlg-footer-contact-row {
  padding: 10px 0 !important;
  gap: 12px !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
}

body.vlg-theme .vlg-footer-contact-row:last-child {
  border-bottom: 0 !important;
}

body.vlg-theme .vlg-footer-contact-icon {
  background: rgba(255,255,255,.04) !important;
  border-color: rgba(255,180,79,.18) !important;
  box-shadow: none !important;
}

body.vlg-theme .vlg-footer-payments-wrap {
  margin-top: 10px !important;
  padding-top: 12px !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
}

body.vlg-theme .vlg-footer-bottom.vlg-footer-bottom--premium {
  gap: 12px 20px !important;
}

/* ---------- Mobile product cards (archive/listing) ---------- */
@media (max-width: 782px) {
  body.vlg-theme .vlg-product-card .vlg-card-image-wrap,
  body.vlg-theme ul.products li.product.vlg-product-card .vlg-card-image-wrap {
    margin: 8px 8px 0 !important;
    padding: 10px !important;
    aspect-ratio: 1 / 0.86 !important;
    min-height: 190px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 18px !important;
    overflow: hidden !important;
  }

  body.vlg-theme .vlg-product-card .vlg-card-image-wrap > a,
  body.vlg-theme ul.products li.product.vlg-product-card .vlg-card-image-wrap > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
  }

  body.vlg-theme .vlg-product-card .wp-post-image,
  body.vlg-theme .vlg-product-card img:first-of-type,
  body.vlg-theme ul.products li.product.vlg-product-card .wp-post-image,
  body.vlg-theme ul.products li.product.vlg-product-card img:first-of-type {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  body.vlg-theme .vlg-product-card .vlg-card-content {
    padding-top: 8px !important;
  }

  /* Single product hero image: remove oversized empty grey area */
  html body.vlg-theme.single-product .vlg-product-gallery-card {
    padding: 8px !important;
    min-height: 0 !important;
  }

  html body.vlg-theme.single-product .vlg-product-gallery-media,
  html body.vlg-theme.single-product .woocommerce-product-gallery,
  html body.vlg-theme.single-product .flex-viewport,
  html body.vlg-theme.single-product .woocommerce-product-gallery__wrapper,
  html body.vlg-theme.single-product .woocommerce-product-gallery__image,
  html body.vlg-theme.single-product .woocommerce-product-gallery__image a {
    min-height: 0 !important;
    height: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  html body.vlg-theme.single-product .flex-viewport {
    min-height: 220px !important;
    aspect-ratio: 1 / 0.92 !important;
    overflow: hidden !important;
  }

  html body.vlg-theme.single-product .woocommerce-product-gallery__wrapper {
    width: 100% !important;
  }

  html body.vlg-theme.single-product .woocommerce-product-gallery__image {
    width: 100% !important;
  }

  html body.vlg-theme.single-product .woocommerce-product-gallery__image img,
  html body.vlg-theme.single-product .woocommerce-product-gallery img.wp-post-image,
  html body.vlg-theme.single-product .vlg-product-gallery-card img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: min(50vh, 330px) !important;
    object-fit: contain !important;
    object-position: center center !important;
    padding: 0 !important;
    margin: 0 auto !important;
  }

  html body.vlg-theme.single-product .vlg-single-image-energy {
    transform: scale(.82) !important;
    right: 6px !important;
    bottom: 6px !important;
  }

  /* EU energy modal must fit fully on phone */
  .valgusallikad-energiasildid-modal {
    padding: 8px !important;
    align-items: center !important;
  }

  .valgusallikad-energiasildid-modal-dialog {
    width: min(94vw, 360px) !important;
    max-width: 94vw !important;
    max-height: calc(100dvh - 16px) !important;
    padding: 8px 8px 12px !important;
    gap: 8px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    justify-items: center !important;
    align-content: start !important;
  }

  .valgusallikad-energiasildid-modal-title {
    padding-right: 48px !important;
    font-size: 13px !important;
    line-height: 1.18 !important;
  }

  .valgusallikad-energiasildid-modal-close {
    top: 8px !important;
    right: 8px !important;
    width: 36px !important;
    height: 36px !important;
  }

  .valgusallikad-energiasildid-modal-image {
    width: auto !important;
    max-width: 100% !important;
    max-height: calc(100dvh - 190px) !important;
    margin: 0 auto !important;
  }

  .valgusallikad-energiasildid-modal-filter {
    width: 100% !important;
    min-height: 50px !important;
    padding: 12px 14px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    border-radius: 999px !important;
  }

  .fs-euel-modal {
    padding: 8px !important;
    align-items: center !important;
  }

  .fs-euel-modal-dialog {
    width: min(94vw, 360px) !important;
    max-width: 94vw !important;
    max-height: calc(100dvh - 16px) !important;
    padding: 8px 8px 12px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  .fs-euel-modal-title {
    margin-right: 48px !important;
    font-size: 13px !important;
    line-height: 1.18 !important;
  }

  .fs-euel-modal-close {
    top: 8px !important;
    right: 8px !important;
    width: 36px !important;
    height: 36px !important;
  }

  .fs-euel-modal-image {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    max-height: calc(100dvh - 190px) !important;
    margin: 0 auto !important;
  }

  .fs-euel-modal-filter {
    width: 100% !important;
    min-height: 50px !important;
    padding: 12px 14px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    border-radius: 999px !important;
    white-space: normal !important;
  }
}

@media (max-width: 390px) {
  body.vlg-theme .vlg-product-card .vlg-card-image-wrap,
  body.vlg-theme ul.products li.product.vlg-product-card .vlg-card-image-wrap {
    min-height: 176px !important;
    aspect-ratio: 1 / 0.88 !important;
  }

  .valgusallikad-energiasildid-modal-dialog,
  .fs-euel-modal-dialog {
    width: calc(100vw - 12px) !important;
    max-width: calc(100vw - 12px) !important;
    max-height: calc(100dvh - 12px) !important;
    padding: 6px 6px 10px !important;
  }

  .valgusallikad-energiasildid-modal-image,
  .fs-euel-modal-image {
    max-height: calc(100dvh - 184px) !important;
  }

  .valgusallikad-energiasildid-modal-filter,
  .fs-euel-modal-filter {
    font-size: 11.5px !important;
  }
}


/* === 124-v527-footer-phone-nowrap.css === */
/* v5.1.27 — footer phone should stay on one line */

body.vlg-theme .vlg-footer-mini-card a[href^="tel:"],
body.vlg-theme .vlg-footer-contact-row a[href^="tel:"] {
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  letter-spacing: 0 !important;
}

body.vlg-theme .vlg-footer-brand-meta .vlg-footer-mini-card:first-child a {
  font-size: clamp(15px, 1.2vw, 18px) !important;
  line-height: 1.25 !important;
}

body.vlg-theme .vlg-footer-contact-row a[href^="tel:"] {
  font-size: clamp(15px, 1.05vw, 17px) !important;
}

@media (max-width: 1180px) {
  body.vlg-theme .vlg-footer-brand-meta .vlg-footer-mini-card:first-child a,
  body.vlg-theme .vlg-footer-contact-row a[href^="tel:"] {
    white-space: normal !important;
  }
}


/* === 125-v528-mobile-product-fit.css === */
/* v5.1.28 — mobile single-product fit: gallery, buybox and energy modal */

@media (max-width: 782px) {
  html body.vlg-theme.single-product .vlg-single-product-page {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  html body.vlg-theme.single-product .vlg-product-main-grid,
  html body.vlg-theme.single-product .vlg-product-detail .vlg-product-main-grid {
    display: block !important;
    gap: 0 !important;
  }

  html body.vlg-theme.single-product .vlg-product-gallery-card {
    min-height: 0 !important;
    height: auto !important;
    padding: 8px !important;
    margin: 0 0 12px !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  html body.vlg-theme.single-product .vlg-product-gallery-card::before {
    display: none !important;
  }

  html body.vlg-theme.single-product .vlg-product-gallery-media,
  html body.vlg-theme.single-product .woocommerce-product-gallery,
  html body.vlg-theme.single-product .flex-viewport,
  html body.vlg-theme.single-product .woocommerce-product-gallery__wrapper,
  html body.vlg-theme.single-product .woocommerce-product-gallery__image,
  html body.vlg-theme.single-product .flex-viewport .slides,
  html body.vlg-theme.single-product .flex-viewport .slides > li {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    left: auto !important;
    transform: none !important;
    display: block !important;
    overflow: hidden !important;
  }

  html body.vlg-theme.single-product .flex-viewport {
    aspect-ratio: 1 / 1 !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, #fbfbfc 0%, #f4f5f7 100%) !important;
  }

  html body.vlg-theme.single-product .woocommerce-product-gallery__wrapper > *:not(:first-child):not(.flex-active-slide),
  html body.vlg-theme.single-product .flex-viewport .slides > li:not(:first-child):not(.flex-active-slide) {
    display: none !important;
  }

  html body.vlg-theme.single-product .woocommerce-product-gallery__image a,
  html body.vlg-theme.single-product .flex-viewport .slides > li > a,
  html body.vlg-theme.single-product .flex-viewport .slides > li > div,
  html body.vlg-theme.single-product .woocommerce-product-gallery__image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    min-height: clamp(240px, 72vw, 360px) !important;
    background: transparent !important;
  }

  html body.vlg-theme.single-product .woocommerce-product-gallery__image img,
  html body.vlg-theme.single-product .woocommerce-product-gallery img.wp-post-image,
  html body.vlg-theme.single-product .vlg-product-gallery-card img,
  html body.vlg-theme.single-product .flex-viewport .slides img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: clamp(240px, 72vw, 360px) !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
  }

  html body.vlg-theme.single-product .flex-control-thumbs {
    display: flex !important;
    gap: 8px !important;
    margin: 8px 0 0 !important;
    padding: 0 0 4px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  html body.vlg-theme.single-product .flex-control-thumbs li {
    flex: 0 0 58px !important;
    width: 58px !important;
    height: 58px !important;
    border-radius: 12px !important;
  }

  html body.vlg-theme.single-product .vlg-single-image-energy {
    right: 8px !important;
    bottom: 8px !important;
    left: auto !important;
    top: auto !important;
    transform: scale(.76) !important;
    transform-origin: right bottom !important;
  }

  html body.vlg-theme.single-product .vlg-product-summary-card,
  html body.vlg-theme.single-product div.product .summary {
    padding: 14px !important;
    border-radius: 20px !important;
    overflow: hidden !important;
  }

  html body.vlg-theme.single-product .product_title,
  html body.vlg-theme.single-product div.product .product_title {
    font-size: clamp(18px, 5.3vw, 28px) !important;
    line-height: 1.14 !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }

  html body.vlg-theme.single-product .vlg-product-meta-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  html body.vlg-theme.single-product .vlg-product-meta-grid > * {
    min-width: 0 !important;
  }

  html body.vlg-theme.single-product .vlg-product-buybox {
    display: grid !important;
    gap: 12px !important;
    min-height: 0 !important;
    margin: 16px 0 !important;
    padding: 12px !important;
    border-radius: 16px !important;
  }

  html body.vlg-theme.single-product .vlg-product-buybox > p,
  html body.vlg-theme.single-product .vlg-product-buybox .stock,
  html body.vlg-theme.single-product .vlg-product-buybox .woocommerce-variation-availability,
  html body.vlg-theme.single-product .vlg-product-buybox .woocommerce-variation-price {
    margin: 0 !important;
  }

  html body.vlg-theme.single-product .vlg-product-buybox form.cart,
  html body.vlg-theme.single-product div.product form.cart,
  html body.vlg-theme.single-product form.cart {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 82px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  html body.vlg-theme.single-product form.cart .quantity,
  html body.vlg-theme.single-product .vlg-product-buybox form.cart .quantity {
    width: 82px !important;
    min-width: 82px !important;
    max-width: 82px !important;
    margin: 0 !important;
  }

  html body.vlg-theme.single-product form.cart .quantity .qty {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 50px !important;
  }

  html body.vlg-theme.single-product form.cart .single_add_to_cart_button,
  html body.vlg-theme.single-product .vlg-product-buybox form.cart .single_add_to_cart_button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    font-size: 15px !important;
    line-height: 1.15 !important;
    white-space: normal !important;
  }

  /* Energy label modal should fit without excessive white area. */
  .valgusallikad-energiasildid-modal,
  .fs-euel-modal {
    padding: 8px !important;
    align-items: center !important;
  }

  .valgusallikad-energiasildid-modal-dialog,
  .fs-euel-modal-dialog {
    width: min(94vw, 360px) !important;
    max-width: 94vw !important;
    max-height: calc(100dvh - 16px) !important;
    padding: 12px !important;
    border-radius: 20px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    align-content: start !important;
    justify-items: center !important;
    gap: 10px !important;
  }

  .valgusallikad-energiasildid-modal-title,
  .fs-euel-modal-title {
    width: 100% !important;
    margin: 0 !important;
    padding-right: 48px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
  }

  .valgusallikad-energiasildid-modal-image,
  .fs-euel-modal-image {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    max-height: calc(100dvh - 210px) !important;
    margin: 0 auto !important;
    object-fit: contain !important;
  }

  .valgusallikad-energiasildid-modal-filter,
  .fs-euel-modal-filter {
    width: 100% !important;
    min-height: 50px !important;
    margin-top: 0 !important;
    padding: 12px 14px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    text-align: center !important;
    white-space: normal !important;
    border-radius: 999px !important;
  }
}

@media (max-width: 390px) {
  html body.vlg-theme.single-product .vlg-product-gallery-card {
    padding: 6px !important;
  }

  html body.vlg-theme.single-product .vlg-product-buybox form.cart,
  html body.vlg-theme.single-product div.product form.cart,
  html body.vlg-theme.single-product form.cart {
    grid-template-columns: 76px minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  html body.vlg-theme.single-product form.cart .quantity,
  html body.vlg-theme.single-product .vlg-product-buybox form.cart .quantity {
    width: 76px !important;
    min-width: 76px !important;
    max-width: 76px !important;
  }
}


/* === 126-v529-mobile-visual-refresh.css === */
/* v5.1.29 — mobile visual refresh: cleaner product imagery, tighter layout and refined energy modal */

@media (max-width: 782px) {
  /* General mobile product spacing */
  html body.vlg-theme.single-product .vlg-single-product-page {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  html body.vlg-theme.single-product .vlg-product-main-grid,
  html body.vlg-theme.single-product .vlg-product-detail .vlg-product-main-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    align-items: start !important;
  }

  /* Single product gallery — reduce empty area and let image use the card properly */
  html body.vlg-theme.single-product .vlg-product-gallery-card {
    padding: 10px !important;
    margin: 0 0 10px !important;
    min-height: 0 !important;
    border-radius: 22px !important;
    background: linear-gradient(180deg, #fdfdfd 0%, #f7f8fa 100%) !important;
    box-shadow: 0 10px 24px rgba(18, 33, 56, .06) !important;
    overflow: hidden !important;
  }

  html body.vlg-theme.single-product .vlg-product-gallery-media {
    display: grid !important;
    gap: 10px !important;
  }

  html body.vlg-theme.single-product .woocommerce-product-gallery,
  html body.vlg-theme.single-product .flex-viewport,
  html body.vlg-theme.single-product .woocommerce-product-gallery__wrapper,
  html body.vlg-theme.single-product .woocommerce-product-gallery__image,
  html body.vlg-theme.single-product .flex-viewport .slides,
  html body.vlg-theme.single-product .flex-viewport .slides > li {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    display: block !important;
    overflow: hidden !important;
    transform: none !important;
    left: auto !important;
  }

  html body.vlg-theme.single-product .flex-viewport {
    aspect-ratio: 1 / 1 !important;
    min-height: clamp(250px, 74vw, 390px) !important;
    border-radius: 18px !important;
    background: #ffffff !important;
  }

  html body.vlg-theme.single-product .woocommerce-product-gallery__wrapper > *:not(:first-child):not(.flex-active-slide),
  html body.vlg-theme.single-product .flex-viewport .slides > li:not(:first-child):not(.flex-active-slide) {
    display: none !important;
  }

  html body.vlg-theme.single-product .woocommerce-product-gallery__image,
  html body.vlg-theme.single-product .woocommerce-product-gallery__image a,
  html body.vlg-theme.single-product .flex-viewport .slides > li > a,
  html body.vlg-theme.single-product .flex-viewport .slides > li > div {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: clamp(250px, 74vw, 390px) !important;
    height: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
  }

  html body.vlg-theme.single-product .woocommerce-product-gallery__image img,
  html body.vlg-theme.single-product .woocommerce-product-gallery img.wp-post-image,
  html body.vlg-theme.single-product .vlg-product-gallery-card img,
  html body.vlg-theme.single-product .flex-viewport .slides img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: min(100%, calc(100vw - 40px)) !important;
    max-height: clamp(230px, 68vw, 360px) !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
  }

  html body.vlg-theme.single-product .flex-control-thumbs {
    display: flex !important;
    align-items: stretch !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 2px 4px !important;
    overflow-x: auto !important;
    scrollbar-width: thin !important;
    -webkit-overflow-scrolling: touch !important;
  }

  html body.vlg-theme.single-product .flex-control-thumbs li {
    flex: 0 0 60px !important;
    width: 60px !important;
    height: 60px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid rgba(24, 38, 61, .09) !important;
    box-shadow: 0 6px 14px rgba(17, 32, 55, .05) !important;
  }

  html body.vlg-theme.single-product .flex-control-thumbs li img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    padding: 6px !important;
  }

  html body.vlg-theme.single-product .vlg-single-image-energy {
    right: 8px !important;
    bottom: 8px !important;
    transform: scale(.72) !important;
    transform-origin: right bottom !important;
    z-index: 3 !important;
  }

  /* Summary card */
  html body.vlg-theme.single-product .vlg-product-summary-card,
  html body.vlg-theme.single-product div.product .summary {
    padding: 14px !important;
    border-radius: 20px !important;
    overflow: hidden !important;
  }

  html body.vlg-theme.single-product .vlg-pill {
    display: inline-flex !important;
    max-width: 100% !important;
    padding: 7px 12px !important;
    font-size: 12px !important;
    line-height: 1.1 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  html body.vlg-theme.single-product .product_title,
  html body.vlg-theme.single-product div.product .product_title {
    margin: 8px 0 10px !important;
    font-size: clamp(19px, 6vw, 30px) !important;
    line-height: 1.12 !important;
    letter-spacing: -.03em !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    hyphens: auto !important;
  }

  html body.vlg-theme.single-product .vlg-product-price,
  html body.vlg-theme.single-product div.product p.price,
  html body.vlg-theme.single-product div.product span.price {
    font-size: clamp(18px, 5vw, 26px) !important;
    line-height: 1.14 !important;
    margin: 0 0 10px !important;
  }

  html body.vlg-theme.single-product .vlg-product-meta-grid,
  html body.vlg-theme.single-product .vlg-product-specs {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  html body.vlg-theme.single-product .vlg-product-specs > div,
  html body.vlg-theme.single-product .vlg-product-meta-grid > * {
    min-width: 0 !important;
  }

  /* Buybox */
  html body.vlg-theme.single-product .vlg-product-buybox {
    display: grid !important;
    gap: 10px !important;
    margin: 14px 0 0 !important;
    padding: 12px !important;
    min-height: 0 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
  }

  html body.vlg-theme.single-product .vlg-product-buybox > p,
  html body.vlg-theme.single-product .vlg-product-buybox .stock,
  html body.vlg-theme.single-product .vlg-product-buybox .woocommerce-variation-availability,
  html body.vlg-theme.single-product .vlg-product-buybox .woocommerce-variation-price {
    margin: 0 !important;
  }

  html body.vlg-theme.single-product .vlg-product-buybox form.cart,
  html body.vlg-theme.single-product div.product form.cart,
  html body.vlg-theme.single-product form.cart {
    display: grid !important;
    grid-template-columns: 80px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  html body.vlg-theme.single-product form.cart .quantity,
  html body.vlg-theme.single-product .vlg-product-buybox form.cart .quantity {
    width: 80px !important;
    min-width: 80px !important;
    max-width: 80px !important;
    margin: 0 !important;
  }

  html body.vlg-theme.single-product form.cart .quantity .qty {
    width: 100% !important;
    min-height: 50px !important;
    max-width: 100% !important;
  }

  html body.vlg-theme.single-product form.cart .single_add_to_cart_button,
  html body.vlg-theme.single-product .vlg-product-buybox form.cart .single_add_to_cart_button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    font-size: 15px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
  }

  /* Product cards in mobile product listings — image should fill card better */
  body.vlg-theme ul.products li.product.vlg-product-card,
  body.vlg-theme .vlg-products-grid .vlg-product-card,
  body.vlg-theme .vlg-home-product-section .vlg-product-card {
    border-radius: 18px !important;
    overflow: hidden !important;
  }

  body.vlg-theme ul.products li.product.vlg-product-card .vlg-card-image-wrap,
  body.vlg-theme .vlg-products-grid .vlg-product-card .vlg-card-image-wrap,
  body.vlg-theme .vlg-home-product-section .vlg-product-card .vlg-card-image-wrap {
    min-height: 0 !important;
    aspect-ratio: 1 / .9 !important;
    padding: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: linear-gradient(180deg, #fbfbfc 0%, #f3f4f7 100%) !important;
  }

  body.vlg-theme ul.products li.product.vlg-product-card .vlg-card-image-wrap img,
  body.vlg-theme .vlg-products-grid .vlg-product-card .vlg-card-image-wrap img,
  body.vlg-theme .vlg-home-product-section .vlg-product-card .vlg-card-image-wrap img,
  body.vlg-theme ul.products li.product.vlg-product-card .wp-post-image,
  body.vlg-theme .vlg-products-grid .vlg-product-card .wp-post-image,
  body.vlg-theme .vlg-home-product-section .vlg-product-card .wp-post-image {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: clamp(132px, 34vw, 188px) !important;
    object-fit: contain !important;
    margin: 0 auto !important;
  }

  body.vlg-theme ul.products li.product.vlg-product-card .vlg-card-content,
  body.vlg-theme .vlg-products-grid .vlg-product-card .vlg-card-content,
  body.vlg-theme .vlg-home-product-section .vlg-product-card .vlg-card-content {
    padding-top: 10px !important;
  }

  body.vlg-theme ul.products li.product.vlg-product-card h2,
  body.vlg-theme .vlg-products-grid .vlg-product-card h2,
  body.vlg-theme .vlg-home-product-section .vlg-product-card h2 {
    font-size: 14px !important;
    line-height: 1.22 !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }

  /* Energy label modal — fit fully on screen and use less empty white area */
  .valgusallikad-energiasildid-modal,
  .fs-euel-modal {
    padding: 8px !important;
    align-items: center !important;
  }

  .valgusallikad-energiasildid-modal-dialog,
  .fs-euel-modal-dialog {
    width: min(92vw, 350px) !important;
    max-width: 92vw !important;
    max-height: calc(100svh - 16px) !important;
    padding: 10px !important;
    border-radius: 20px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-content: start !important;
    justify-items: center !important;
    gap: 10px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  .valgusallikad-energiasildid-modal-title,
  .fs-euel-modal-title {
    width: 100% !important;
    margin: 0 !important;
    padding-right: 44px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    text-align: left !important;
    overflow-wrap: anywhere !important;
  }

  .valgusallikad-energiasildid-modal-close,
  .fs-euel-modal-close {
    top: 10px !important;
    right: 10px !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 14px !important;
  }

  .valgusallikad-energiasildid-modal-image,
  .fs-euel-modal-image {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    max-height: calc(100svh - 210px) !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    border-radius: 8px !important;
  }

  .valgusallikad-energiasildid-modal-filter,
  .fs-euel-modal-filter {
    width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    text-align: center !important;
    white-space: normal !important;
    border-radius: 999px !important;
    justify-content: center !important;
  }

  /* Footer contact values should stay readable on one logical line */
  .vlg-footer-mini-card a,
  .vlg-footer-contact-row a,
  .vlg-footer-contact-row span,
  .vlg-footer-mini-card span {
    word-break: normal !important;
    overflow-wrap: normal !important;
  }

  .vlg-footer-mini-card a,
  .vlg-footer-contact-row a {
    white-space: nowrap !important;
  }
}

@media (max-width: 390px) {
  html body.vlg-theme.single-product .vlg-product-gallery-card {
    padding: 8px !important;
  }

  html body.vlg-theme.single-product .flex-viewport,
  html body.vlg-theme.single-product .woocommerce-product-gallery__image,
  html body.vlg-theme.single-product .woocommerce-product-gallery__image a,
  html body.vlg-theme.single-product .flex-viewport .slides > li > a,
  html body.vlg-theme.single-product .flex-viewport .slides > li > div {
    min-height: clamp(232px, 72vw, 330px) !important;
  }

  html body.vlg-theme.single-product .woocommerce-product-gallery__image img,
  html body.vlg-theme.single-product .woocommerce-product-gallery img.wp-post-image,
  html body.vlg-theme.single-product .vlg-product-gallery-card img,
  html body.vlg-theme.single-product .flex-viewport .slides img {
    max-height: clamp(214px, 64vw, 300px) !important;
  }

  html body.vlg-theme.single-product .flex-control-thumbs li {
    flex-basis: 56px !important;
    width: 56px !important;
    height: 56px !important;
  }

  html body.vlg-theme.single-product .vlg-single-image-energy {
    transform: scale(.68) !important;
  }

  html body.vlg-theme.single-product .product_title,
  html body.vlg-theme.single-product div.product .product_title {
    font-size: clamp(18px, 5.7vw, 24px) !important;
  }

  html body.vlg-theme.single-product .vlg-product-buybox form.cart,
  html body.vlg-theme.single-product div.product form.cart,
  html body.vlg-theme.single-product form.cart {
    grid-template-columns: 74px minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  html body.vlg-theme.single-product form.cart .quantity,
  html body.vlg-theme.single-product .vlg-product-buybox form.cart .quantity {
    width: 74px !important;
    min-width: 74px !important;
    max-width: 74px !important;
  }

  .valgusallikad-energiasildid-modal-dialog,
  .fs-euel-modal-dialog {
    width: calc(100vw - 14px) !important;
    max-width: calc(100vw - 14px) !important;
    padding: 10px 10px 12px !important;
  }

  .valgusallikad-energiasildid-modal-image,
  .fs-euel-modal-image {
    max-height: calc(100svh - 198px) !important;
  }
}


/* === 127-v530-mobile-product-full-fix.css === */
/* v5.1.30 — comprehensive mobile single-product repair */

@media (max-width: 782px) {
  html body.vlg-theme.single-product,
  html body.vlg-theme.single-product #page,
  html body.vlg-theme.single-product .site {
    overflow-x: hidden !important;
  }

  html body.vlg-theme.single-product .vlg-single-product-page {
    padding-left: 8px !important;
    padding-right: 8px !important;
    padding-bottom: calc(var(--vlg-mobile-appbar-h, 78px) + 30px + env(safe-area-inset-bottom)) !important;
  }

  html body.vlg-theme.single-product .vlg-product-detail,
  html body.vlg-theme.single-product .vlg-product-main-grid,
  html body.vlg-theme.single-product .vlg-product-left,
  html body.vlg-theme.single-product .vlg-product-right,
  html body.vlg-theme.single-product .summary,
  html body.vlg-theme.single-product .vlg-product-summary-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  html body.vlg-theme.single-product .vlg-product-main-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  /* --- Gallery --- */
  html body.vlg-theme.single-product .vlg-product-gallery-card {
    padding: 6px !important;
    margin: 0 0 10px !important;
    border-radius: 20px !important;
    background: #fff !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: hidden !important;
    box-shadow: 0 10px 26px rgba(18, 33, 56, 0.06) !important;
  }

  html body.vlg-theme.single-product .vlg-product-gallery-card::before {
    display: none !important;
  }

  html body.vlg-theme.single-product .vlg-product-gallery-media,
  html body.vlg-theme.single-product div.product div.images,
  html body.vlg-theme.single-product div.product div.woocommerce-product-gallery,
  html body.vlg-theme.single-product .woocommerce-product-gallery,
  html body.vlg-theme.single-product .woocommerce-product-gallery__wrapper,
  html body.vlg-theme.single-product .flex-viewport,
  html body.vlg-theme.single-product .flex-viewport .slides,
  html body.vlg-theme.single-product .flex-viewport .slides > li,
  html body.vlg-theme.single-product .woocommerce-product-gallery__image {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    overflow: hidden !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  html body.vlg-theme.single-product .flex-viewport {
    aspect-ratio: 1 / 1 !important;
    min-height: clamp(220px, 74vw, 360px) !important;
    background: linear-gradient(180deg, #fbfbfc 0%, #f4f6f8 100%) !important;
    border-radius: 16px !important;
  }

  html body.vlg-theme.single-product .woocommerce-product-gallery__wrapper > *:not(:first-child):not(.flex-active-slide),
  html body.vlg-theme.single-product .flex-viewport .slides > li:not(:first-child):not(.flex-active-slide),
  html body.vlg-theme.single-product .flex-viewport .slides > li.clone {
    display: none !important;
  }

  html body.vlg-theme.single-product .woocommerce-product-gallery__image,
  html body.vlg-theme.single-product .woocommerce-product-gallery__image a,
  html body.vlg-theme.single-product .flex-viewport .slides > li,
  html body.vlg-theme.single-product .flex-viewport .slides > li > a,
  html body.vlg-theme.single-product .flex-viewport .slides > li > div {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: clamp(220px, 74vw, 360px) !important;
    height: 100% !important;
    background: transparent !important;
  }

  html body.vlg-theme.single-product .woocommerce-product-gallery__image img,
  html body.vlg-theme.single-product .woocommerce-product-gallery img.wp-post-image,
  html body.vlg-theme.single-product .vlg-product-gallery-card img,
  html body.vlg-theme.single-product .flex-viewport .slides img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: clamp(210px, 68vw, 330px) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: transparent !important;
  }

  html body.vlg-theme.single-product .woocommerce-product-gallery .flex-control-thumbs,
  html body.vlg-theme.single-product .flex-control-thumbs,
  html body.vlg-theme.single-product ol.flex-control-nav.flex-control-thumbs {
    display: flex !important;
    align-items: stretch !important;
    width: 100% !important;
    gap: 8px !important;
    margin: 8px 0 0 !important;
    padding: 0 0 2px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
  }

  html body.vlg-theme.single-product .flex-control-thumbs li,
  html body.vlg-theme.single-product ol.flex-control-nav.flex-control-thumbs li {
    float: none !important;
    flex: 0 0 56px !important;
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 12px !important;
    background: #fff !important;
    border: 1px solid rgba(22, 35, 57, 0.08) !important;
    overflow: hidden !important;
  }

  html body.vlg-theme.single-product .flex-control-thumbs li img,
  html body.vlg-theme.single-product ol.flex-control-nav.flex-control-thumbs li img {
    width: 100% !important;
    height: 100% !important;
    padding: 6px !important;
    object-fit: contain !important;
  }

  html body.vlg-theme.single-product .vlg-single-image-energy {
    right: 8px !important;
    bottom: 8px !important;
    top: auto !important;
    left: auto !important;
    transform: scale(.66) !important;
    transform-origin: right bottom !important;
    z-index: 6 !important;
  }

  /* --- Summary --- */
  html body.vlg-theme.single-product .vlg-product-summary-card,
  html body.vlg-theme.single-product div.product .summary {
    padding: 14px !important;
    border-radius: 20px !important;
    margin: 0 !important;
  }

  html body.vlg-theme.single-product .vlg-product-excerpt:empty,
  html body.vlg-theme.single-product .woocommerce-product-details__short-description:empty {
    display: none !important;
  }

  html body.vlg-theme.single-product .vlg-pill {
    display: inline-flex !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    line-height: 1.15 !important;
  }

  html body.vlg-theme.single-product .product_title,
  html body.vlg-theme.single-product div.product .product_title {
    width: 100% !important;
    max-width: 100% !important;
    margin: 8px 0 10px !important;
    font-size: clamp(18px, 5.8vw, 28px) !important;
    line-height: 1.14 !important;
    letter-spacing: -0.03em !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    hyphens: auto !important;
  }

  html body.vlg-theme.single-product .vlg-product-price,
  html body.vlg-theme.single-product div.product p.price,
  html body.vlg-theme.single-product div.product span.price {
    font-size: clamp(18px, 5vw, 26px) !important;
    line-height: 1.16 !important;
    word-break: break-word !important;
  }

  html body.vlg-theme.single-product .vlg-product-specs,
  html body.vlg-theme.single-product .vlg-product-meta-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  html body.vlg-theme.single-product .vlg-product-specs > div,
  html body.vlg-theme.single-product .vlg-product-meta-grid > * {
    min-width: 0 !important;
  }

  /* --- Buybox --- */
  html body.vlg-theme.single-product .vlg-product-buybox,
  html body.vlg-theme.single-product #vlg-product-buybox {
    display: block !important;
    margin: 14px 0 0 !important;
    padding: 12px !important;
    min-height: 0 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
  }

  html body.vlg-theme.single-product .vlg-product-buybox .cart,
  html body.vlg-theme.single-product div.product form.cart,
  html body.vlg-theme.single-product form.cart {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  html body.vlg-theme.single-product form.cart:not(.variations_form),
  html body.vlg-theme.single-product .vlg-product-buybox form.cart:not(.variations_form) {
    display: grid !important;
    grid-template-columns: 78px minmax(0, 1fr) !important;
    gap: 8px !important;
    align-items: stretch !important;
  }

  html body.vlg-theme.single-product form.variations_form,
  html body.vlg-theme.single-product .vlg-product-buybox form.variations_form {
    display: block !important;
  }

  html body.vlg-theme.single-product form.variations_form table.variations,
  html body.vlg-theme.single-product form.variations_form table.variations tbody,
  html body.vlg-theme.single-product form.variations_form table.variations tr,
  html body.vlg-theme.single-product form.variations_form table.variations td,
  html body.vlg-theme.single-product form.variations_form table.variations th {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    text-align: left !important;
  }

  html body.vlg-theme.single-product form.variations_form table.variations tr {
    margin-bottom: 10px !important;
  }

  html body.vlg-theme.single-product form.variations_form table.variations td.label,
  html body.vlg-theme.single-product form.variations_form table.variations th.label,
  html body.vlg-theme.single-product form.variations_form table.variations label {
    margin-bottom: 6px !important;
    font-weight: 700 !important;
  }

  html body.vlg-theme.single-product form.variations_form table.variations td.value {
    display: grid !important;
    gap: 6px !important;
  }

  html body.vlg-theme.single-product form.variations_form table.variations select,
  html body.vlg-theme.single-product form.variations_form table.variations .select2,
  html body.vlg-theme.single-product form.variations_form table.variations .select2-selection,
  html body.vlg-theme.single-product form.cart select {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 46px !important;
  }

  html body.vlg-theme.single-product form.variations_form .single_variation_wrap,
  html body.vlg-theme.single-product form.variations_form .woocommerce-variation-add-to-cart {
    display: grid !important;
    grid-template-columns: 78px minmax(0, 1fr) !important;
    gap: 8px !important;
    align-items: stretch !important;
    width: 100% !important;
  }

  html body.vlg-theme.single-product form.cart .quantity,
  html body.vlg-theme.single-product .vlg-product-buybox form.cart .quantity {
    width: 78px !important;
    min-width: 78px !important;
    max-width: 78px !important;
    margin: 0 !important;
  }

  html body.vlg-theme.single-product form.cart .quantity .qty,
  html body.vlg-theme.single-product form.cart input.qty {
    width: 100% !important;
    min-height: 48px !important;
    max-width: 100% !important;
  }

  html body.vlg-theme.single-product form.cart .single_add_to_cart_button,
  html body.vlg-theme.single-product .vlg-product-buybox form.cart .single_add_to_cart_button {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    white-space: normal !important;
    line-height: 1.15 !important;
    font-size: 15px !important;
  }

  html body.vlg-theme.single-product form.variations_form .reset_variations {
    display: inline-flex !important;
    margin-top: 4px !important;
  }

  /* --- Energy modal --- */
  .valgusallikad-energiasildid-modal,
  .fs-euel-modal {
    padding: 8px !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .valgusallikad-energiasildid-modal-dialog,
  .fs-euel-modal-dialog {
    width: min(94vw, 360px) !important;
    max-width: 94vw !important;
    max-height: calc(100dvh - 16px) !important;
    padding: 14px 12px 12px !important;
    border-radius: 20px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 10px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  .valgusallikad-energiasildid-modal-title,
  .fs-euel-modal-title {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 44px 0 2px !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    text-align: left !important;
    overflow-wrap: anywhere !important;
  }

  .valgusallikad-energiasildid-modal-close,
  .fs-euel-modal-close {
    top: 10px !important;
    right: 10px !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 14px !important;
  }

  .valgusallikad-energiasildid-modal-image,
  .fs-euel-modal-image {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: calc(100dvh - 220px) !important;
    margin: 0 auto !important;
    object-fit: contain !important;
  }

  .valgusallikad-energiasildid-modal-filter,
  .fs-euel-modal-filter {
    width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    border-radius: 999px !important;
    text-align: center !important;
    white-space: normal !important;
    line-height: 1.2 !important;
    justify-content: center !important;
  }
}

@media (max-width: 390px) {
  html body.vlg-theme.single-product .product_title,
  html body.vlg-theme.single-product div.product .product_title {
    font-size: clamp(17px, 5.6vw, 24px) !important;
  }

  html body.vlg-theme.single-product .vlg-single-image-energy {
    transform: scale(.60) !important;
  }

  html body.vlg-theme.single-product form.cart:not(.variations_form),
  html body.vlg-theme.single-product form.variations_form .single_variation_wrap,
  html body.vlg-theme.single-product form.variations_form .woocommerce-variation-add-to-cart {
    grid-template-columns: 72px minmax(0, 1fr) !important;
  }

  html body.vlg-theme.single-product form.cart .quantity,
  html body.vlg-theme.single-product .vlg-product-buybox form.cart .quantity {
    width: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
  }

  .valgusallikad-energiasildid-modal-dialog,
  .fs-euel-modal-dialog {
    width: calc(100vw - 14px) !important;
    max-width: calc(100vw - 14px) !important;
  }
}


/* === 128-v531-mobile-single-product-rebuild.css === */
/* v5.1.31 — mobile single product rebuild: reliable image, fit, buybox and lightbox */

.vlg-mobile-featured-image,
.vlg-mobile-image-modal {
  display: none;
}

@media (max-width: 782px) {
  html body.vlg-theme.single-product,
  html body.vlg-theme.single-product #page,
  html body.vlg-theme.single-product .site,
  html body.vlg-theme.single-product main {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  html body.vlg-theme.single-product .vlg-single-product-page {
    width: 100% !important;
    max-width: 100vw !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    padding-bottom: calc(120px + env(safe-area-inset-bottom)) !important;
    box-sizing: border-box !important;
  }

  html body.vlg-theme.single-product .vlg-breadcrumbs {
    display: none !important;
  }

  html body.vlg-theme.single-product .vlg-product-detail,
  html body.vlg-theme.single-product .vlg-product-main-grid,
  html body.vlg-theme.single-product .vlg-product-left,
  html body.vlg-theme.single-product .vlg-product-right,
  html body.vlg-theme.single-product .vlg-product-summary-card,
  html body.vlg-theme.single-product div.product .summary {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  html body.vlg-theme.single-product .vlg-product-main-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  /* Use a reliable mobile image instead of the desktop/Flexslider gallery, which causes blank oversized areas on phones. */
  html body.vlg-theme.single-product .vlg-product-gallery-card {
    width: 100% !important;
    padding: 8px !important;
    margin: 0 0 10px !important;
    min-height: 0 !important;
    height: auto !important;
    border-radius: 22px !important;
    background: #fff !important;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .06) !important;
    overflow: hidden !important;
  }

  html body.vlg-theme.single-product .vlg-product-gallery-card::before,
  html body.vlg-theme.single-product .vlg-product-gallery-card::after {
    display: none !important;
  }

  html body.vlg-theme.single-product .vlg-product-gallery-media {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-featured-image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    aspect-ratio: 1 / .86 !important;
    min-height: 220px !important;
    max-height: 355px !important;
    padding: 8px !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, #ffffff 0%, #f7f8fa 100%) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-featured-image__link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    text-decoration: none !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-featured-image__img,
  html body.vlg-theme.single-product .vlg-mobile-featured-image img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
  }

  html body.vlg-theme.single-product .vlg-product-gallery-card .woocommerce-product-gallery,
  html body.vlg-theme.single-product .vlg-product-gallery-card div.images,
  html body.vlg-theme.single-product .vlg-product-gallery-card .flex-viewport,
  html body.vlg-theme.single-product .vlg-product-gallery-card .flex-control-thumbs {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  html body.vlg-theme.single-product .vlg-single-image-energy {
    right: 10px !important;
    bottom: 10px !important;
    top: auto !important;
    left: auto !important;
    transform: scale(.66) !important;
    transform-origin: right bottom !important;
    z-index: 8 !important;
  }

  html body.vlg-theme.single-product .vlg-product-summary-card,
  html body.vlg-theme.single-product div.product .summary {
    padding: 14px !important;
    margin: 0 !important;
    border-radius: 22px !important;
    overflow: hidden !important;
  }

  html body.vlg-theme.single-product .vlg-pill {
    display: inline-flex !important;
    max-width: 100% !important;
    padding: 8px 12px !important;
    font-size: 12px !important;
    line-height: 1.15 !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }

  html body.vlg-theme.single-product .product_title,
  html body.vlg-theme.single-product div.product .product_title {
    width: 100% !important;
    max-width: 100% !important;
    margin: 10px 0 10px !important;
    font-size: clamp(18px, 5.5vw, 27px) !important;
    line-height: 1.15 !important;
    letter-spacing: -.025em !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    hyphens: auto !important;
  }

  html body.vlg-theme.single-product .vlg-product-rating-row {
    margin: 0 0 10px !important;
  }

  html body.vlg-theme.single-product .vlg-product-price,
  html body.vlg-theme.single-product div.product p.price,
  html body.vlg-theme.single-product div.product span.price {
    font-size: clamp(18px, 5vw, 25px) !important;
    line-height: 1.15 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }

  html body.vlg-theme.single-product .vlg-product-excerpt:empty,
  html body.vlg-theme.single-product .woocommerce-product-details__short-description:empty {
    display: none !important;
  }

  html body.vlg-theme.single-product .vlg-product-specs {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin: 12px 0 !important;
  }

  html body.vlg-theme.single-product .vlg-product-specs > div {
    min-width: 0 !important;
    padding: 12px !important;
    overflow: hidden !important;
  }

  html body.vlg-theme.single-product .vlg-product-specs strong {
    display: block !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  /* Buybox / variable products: never allow add-to-cart to run outside the screen. */
  html body.vlg-theme.single-product #vlg-product-buybox,
  html body.vlg-theme.single-product .vlg-product-buybox {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 14px 0 0 !important;
    padding: 12px !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  html body.vlg-theme.single-product #vlg-product-buybox *,
  html body.vlg-theme.single-product .vlg-product-buybox * {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  html body.vlg-theme.single-product form.cart,
  html body.vlg-theme.single-product div.product form.cart,
  html body.vlg-theme.single-product .vlg-product-buybox form.cart {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  html body.vlg-theme.single-product form.cart:not(.variations_form) {
    display: grid !important;
    grid-template-columns: 74px minmax(0, 1fr) !important;
    gap: 8px !important;
    align-items: stretch !important;
  }

  html body.vlg-theme.single-product form.variations_form {
    display: grid !important;
    gap: 10px !important;
  }

  html body.vlg-theme.single-product form.variations_form table.variations,
  html body.vlg-theme.single-product form.variations_form table.variations tbody,
  html body.vlg-theme.single-product form.variations_form table.variations tr,
  html body.vlg-theme.single-product form.variations_form table.variations td,
  html body.vlg-theme.single-product form.variations_form table.variations th {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    text-align: left !important;
  }

  html body.vlg-theme.single-product form.variations_form table.variations tr {
    margin-bottom: 10px !important;
  }

  html body.vlg-theme.single-product form.variations_form table.variations label,
  html body.vlg-theme.single-product form.variations_form table.variations .label {
    display: block !important;
    margin-bottom: 6px !important;
    font-weight: 800 !important;
  }

  html body.vlg-theme.single-product form.variations_form table.variations select,
  html body.vlg-theme.single-product form.cart select {
    width: 100% !important;
    min-height: 46px !important;
    max-width: 100% !important;
  }

  html body.vlg-theme.single-product form.variations_form .single_variation_wrap,
  html body.vlg-theme.single-product form.variations_form .woocommerce-variation-add-to-cart,
  html body.vlg-theme.single-product form.variations_form .woocommerce-variation-add-to-cart.variations_button {
    display: grid !important;
    grid-template-columns: 74px minmax(0, 1fr) !important;
    gap: 8px !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  html body.vlg-theme.single-product form.cart .quantity,
  html body.vlg-theme.single-product .vlg-product-buybox form.cart .quantity {
    width: 74px !important;
    min-width: 74px !important;
    max-width: 74px !important;
    margin: 0 !important;
  }

  html body.vlg-theme.single-product form.cart .quantity .qty,
  html body.vlg-theme.single-product form.cart input.qty {
    width: 100% !important;
    min-height: 48px !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  html body.vlg-theme.single-product form.cart .single_add_to_cart_button,
  html body.vlg-theme.single-product .vlg-product-buybox form.cart .single_add_to_cart_button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    line-height: 1.15 !important;
    font-size: 14px !important;
    white-space: normal !important;
    text-align: center !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-product-bar {
    display: none !important;
  }

  /* Mobile image lightbox. */
  .vlg-mobile-image-modal.is-open {
    position: fixed !important;
    inset: 0 !important;
    z-index: 999999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 18px !important;
    background: rgba(15, 23, 42, .76) !important;
  }

  .vlg-mobile-image-modal__dialog {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: min(96vw, 520px) !important;
    max-height: calc(100dvh - 40px) !important;
    padding: 14px !important;
    border-radius: 22px !important;
    background: #fff !important;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .35) !important;
  }

  .vlg-mobile-image-modal__img {
    display: block !important;
    max-width: 100% !important;
    max-height: calc(100dvh - 90px) !important;
    object-fit: contain !important;
  }

  .vlg-mobile-image-modal__close {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    width: 42px !important;
    height: 42px !important;
    border: 1px solid rgba(15, 23, 42, .12) !important;
    border-radius: 14px !important;
    background: #fff !important;
    color: #0f172a !important;
    font-size: 26px !important;
    line-height: 1 !important;
  }

  /* Energy modal smaller and safe on phone. */
  .valgusallikad-energiasildid-modal,
  .fs-euel-modal {
    padding: 8px !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .valgusallikad-energiasildid-modal-dialog,
  .fs-euel-modal-dialog {
    width: min(94vw, 360px) !important;
    max-width: 94vw !important;
    max-height: calc(100dvh - 16px) !important;
    padding: 12px !important;
    border-radius: 20px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  .valgusallikad-energiasildid-modal-image,
  .fs-euel-modal-image {
    width: auto !important;
    max-width: 100% !important;
    max-height: calc(100dvh - 210px) !important;
    object-fit: contain !important;
  }
}

@media (max-width: 390px) {
  html body.vlg-theme.single-product .vlg-mobile-featured-image {
    min-height: 210px !important;
    aspect-ratio: 1 / .82 !important;
  }

  html body.vlg-theme.single-product .product_title,
  html body.vlg-theme.single-product div.product .product_title {
    font-size: clamp(17px, 5.4vw, 23px) !important;
  }

  html body.vlg-theme.single-product form.cart:not(.variations_form),
  html body.vlg-theme.single-product form.variations_form .single_variation_wrap,
  html body.vlg-theme.single-product form.variations_form .woocommerce-variation-add-to-cart,
  html body.vlg-theme.single-product form.variations_form .woocommerce-variation-add-to-cart.variations_button {
    grid-template-columns: 70px minmax(0, 1fr) !important;
  }

  html body.vlg-theme.single-product form.cart .quantity,
  html body.vlg-theme.single-product .vlg-product-buybox form.cart .quantity {
    width: 70px !important;
    min-width: 70px !important;
    max-width: 70px !important;
  }
}


/* === 129-v532-product-image-final.css === */
/* v5.1.32 — final product image layout fix for desktop + mobile */

/* Use the simple reliable product image on both desktop and mobile.
   The Woo/Flexslider gallery was leaving blank areas after responsive switches. */
body.vlg-theme.single-product .vlg-product-gallery-card {
  overflow: hidden !important;
}

body.vlg-theme.single-product .vlg-product-gallery-card .woocommerce-product-gallery,
body.vlg-theme.single-product .vlg-product-gallery-card div.images,
body.vlg-theme.single-product .vlg-product-gallery-card .flex-viewport,
body.vlg-theme.single-product .vlg-product-gallery-card .flex-control-thumbs,
body.vlg-theme.single-product .vlg-product-gallery-card .woocommerce-product-gallery__wrapper {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

body.vlg-theme.single-product .vlg-mobile-gallery-zoom {
  display: none !important;
}

body.vlg-theme.single-product .vlg-mobile-featured-image {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  background: linear-gradient(180deg, #ffffff 0%, #f7f8fa 100%) !important;
  overflow: hidden !important;
}

body.vlg-theme.single-product .vlg-mobile-featured-image__link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  text-decoration: none !important;
}

body.vlg-theme.single-product .vlg-mobile-featured-image__img,
body.vlg-theme.single-product .vlg-mobile-featured-image img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: 0 auto !important;
  padding: 0 !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

@media (min-width: 783px) {
  body.vlg-theme.single-product .vlg-product-gallery-card {
    min-height: 520px !important;
    padding: 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #fff !important;
  }

  body.vlg-theme.single-product .vlg-product-gallery-media {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
  }

  body.vlg-theme.single-product .vlg-mobile-featured-image {
    aspect-ratio: 1 / .68 !important;
    min-height: 430px !important;
    max-height: 500px !important;
    padding: 18px !important;
    border-radius: 24px !important;
  }

  body.vlg-theme.single-product .vlg-mobile-featured-image__img,
  body.vlg-theme.single-product .vlg-mobile-featured-image img {
    max-width: 88% !important;
    max-height: 440px !important;
  }

  body.vlg-theme.single-product .vlg-single-image-energy {
    right: 30px !important;
    bottom: 30px !important;
    transform: scale(.92) !important;
    transform-origin: right bottom !important;
  }
}

@media (max-width: 782px) {
  html body.vlg-theme.single-product .vlg-single-product-page {
    padding-left: 8px !important;
    padding-right: 8px !important;
    padding-bottom: calc(132px + env(safe-area-inset-bottom)) !important;
  }

  html body.vlg-theme.single-product .vlg-product-gallery-card {
    width: 100% !important;
    padding: 6px !important;
    margin: 0 0 8px !important;
    min-height: 0 !important;
    height: auto !important;
    border-radius: 20px !important;
    background: #fff !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .05) !important;
  }

  html body.vlg-theme.single-product .vlg-product-gallery-media {
    width: 100% !important;
    min-height: 0 !important;
    position: relative !important;
    display: block !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-featured-image {
    aspect-ratio: 1 / .66 !important;
    min-height: 172px !important;
    max-height: 245px !important;
    padding: 5px !important;
    border-radius: 16px !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-featured-image__img,
  html body.vlg-theme.single-product .vlg-mobile-featured-image img {
    max-width: 92% !important;
    max-height: 220px !important;
  }

  html body.vlg-theme.single-product .vlg-single-image-energy {
    right: 6px !important;
    bottom: 6px !important;
    top: auto !important;
    left: auto !important;
    transform: scale(.56) !important;
    transform-origin: right bottom !important;
    z-index: 8 !important;
  }

  html body.vlg-theme.single-product .vlg-product-summary-card,
  html body.vlg-theme.single-product div.product .summary {
    padding: 12px !important;
    border-radius: 18px !important;
  }

  html body.vlg-theme.single-product .product_title,
  html body.vlg-theme.single-product div.product .product_title {
    font-size: clamp(17px, 5.1vw, 24px) !important;
    line-height: 1.14 !important;
    margin: 8px 0 9px !important;
  }

  html body.vlg-theme.single-product .vlg-pill {
    font-size: 11px !important;
    padding: 7px 10px !important;
  }

  html body.vlg-theme.single-product .vlg-product-price,
  html body.vlg-theme.single-product div.product p.price,
  html body.vlg-theme.single-product div.product span.price {
    font-size: clamp(17px, 4.7vw, 23px) !important;
  }

  html body.vlg-theme.single-product .vlg-product-buybox,
  html body.vlg-theme.single-product #vlg-product-buybox {
    margin-top: 12px !important;
    padding: 10px !important;
    border-radius: 16px !important;
  }

  html body.vlg-theme.single-product form.cart:not(.variations_form),
  html body.vlg-theme.single-product .vlg-product-buybox form.cart:not(.variations_form),
  html body.vlg-theme.single-product form.variations_form .single_variation_wrap,
  html body.vlg-theme.single-product form.variations_form .woocommerce-variation-add-to-cart,
  html body.vlg-theme.single-product form.variations_form .woocommerce-variation-add-to-cart.variations_button {
    display: grid !important;
    grid-template-columns: 68px minmax(0, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  html body.vlg-theme.single-product form.cart .quantity,
  html body.vlg-theme.single-product .vlg-product-buybox form.cart .quantity {
    width: 68px !important;
    min-width: 68px !important;
    max-width: 68px !important;
  }

  html body.vlg-theme.single-product form.cart .quantity .qty,
  html body.vlg-theme.single-product form.cart input.qty,
  html body.vlg-theme.single-product form.cart .single_add_to_cart_button,
  html body.vlg-theme.single-product .vlg-product-buybox form.cart .single_add_to_cart_button {
    min-height: 46px !important;
  }
}

@media (max-width: 390px) {
  html body.vlg-theme.single-product .vlg-mobile-featured-image {
    aspect-ratio: 1 / .62 !important;
    min-height: 158px !important;
    max-height: 220px !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-featured-image__img,
  html body.vlg-theme.single-product .vlg-mobile-featured-image img {
    max-height: 200px !important;
  }

  html body.vlg-theme.single-product .product_title,
  html body.vlg-theme.single-product div.product .product_title {
    font-size: clamp(16px, 5vw, 22px) !important;
  }

  html body.vlg-theme.single-product form.cart:not(.variations_form),
  html body.vlg-theme.single-product .vlg-product-buybox form.cart:not(.variations_form),
  html body.vlg-theme.single-product form.variations_form .single_variation_wrap,
  html body.vlg-theme.single-product form.variations_form .woocommerce-variation-add-to-cart,
  html body.vlg-theme.single-product form.variations_form .woocommerce-variation-add-to-cart.variations_button {
    grid-template-columns: 64px minmax(0, 1fr) !important;
  }

  html body.vlg-theme.single-product form.cart .quantity,
  html body.vlg-theme.single-product .vlg-product-buybox form.cart .quantity {
    width: 64px !important;
    min-width: 64px !important;
    max-width: 64px !important;
  }
}


/* === 130-v533-product-image-crop-fix.css === */
/* v5.1.33 — product image source + visual crop fix */

body.vlg-theme.single-product .vlg-mobile-featured-image,
body.vlg-theme.single-product .vlg-mobile-featured-image__link {
  box-sizing: border-box !important;
  overflow: hidden !important;
}

body.vlg-theme.single-product .vlg-mobile-featured-image__img,
body.vlg-theme.single-product .vlg-mobile-featured-image img {
  flex: 0 1 auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
}

body.vlg-theme.single-product .vlg-mobile-featured-image__img.vlg-autocropped-image {
  width: auto !important;
  height: auto !important;
  max-width: 96% !important;
  max-height: 96% !important;
}

@media (min-width: 783px) {
  body.vlg-theme.single-product .vlg-mobile-featured-image {
    min-height: 480px !important;
  }

  body.vlg-theme.single-product .vlg-mobile-featured-image__img,
  body.vlg-theme.single-product .vlg-mobile-featured-image img {
    max-width: min(92%, 720px) !important;
    max-height: 455px !important;
  }
}

@media (max-width: 782px) {
  html body.vlg-theme.single-product .vlg-product-gallery-card {
    padding: 6px !important;
    margin-bottom: 8px !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-featured-image {
    aspect-ratio: 1 / .70 !important;
    min-height: 188px !important;
    max-height: 270px !important;
    padding: 4px !important;
    background: #fff !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-featured-image__link {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-featured-image__img,
  html body.vlg-theme.single-product .vlg-mobile-featured-image img {
    width: auto !important;
    height: auto !important;
    max-width: 96% !important;
    max-height: 250px !important;
    margin: auto !important;
  }

  html body.vlg-theme.single-product .vlg-single-image-energy {
    right: 6px !important;
    bottom: 6px !important;
    transform: scale(.52) !important;
  }

  html body.vlg-theme.single-product .product_title,
  html body.vlg-theme.single-product div.product .product_title {
    font-size: clamp(17px, 5.05vw, 23px) !important;
    line-height: 1.15 !important;
  }

  html body.vlg-theme.single-product .vlg-product-summary-card,
  html body.vlg-theme.single-product div.product .summary {
    padding-bottom: 18px !important;
  }

  html body.vlg-theme.single-product .vlg-product-buybox,
  html body.vlg-theme.single-product #vlg-product-buybox {
    margin-bottom: calc(var(--vlg-mobile-appbar-h, 78px) + 28px + env(safe-area-inset-bottom)) !important;
  }
}

@media (max-width: 390px) {
  html body.vlg-theme.single-product .vlg-mobile-featured-image {
    min-height: 178px !important;
    max-height: 240px !important;
    aspect-ratio: 1 / .68 !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-featured-image__img,
  html body.vlg-theme.single-product .vlg-mobile-featured-image img {
    max-height: 222px !important;
  }
}


/* === 131-v534-product-image-crop-hard-fix.css === */
/* v5.1.34 — hard fix for off-canvas product images + mobile bottom spacing */

body.vlg-theme.single-product .vlg-product-gallery-card .woocommerce-product-gallery,
body.vlg-theme.single-product .vlg-product-gallery-card div.images,
body.vlg-theme.single-product .vlg-product-gallery-card .flex-viewport,
body.vlg-theme.single-product .vlg-product-gallery-card .flex-control-thumbs,
body.vlg-theme.single-product .vlg-product-gallery-card .woocommerce-product-gallery__wrapper {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  overflow: hidden !important;
}

body.vlg-theme.single-product .vlg-mobile-featured-image {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  background: #fff !important;
}

body.vlg-theme.single-product .vlg-mobile-featured-image__link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
}

body.vlg-theme.single-product .vlg-mobile-featured-image__img,
body.vlg-theme.single-product .vlg-mobile-featured-image img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 96% !important;
  max-height: 96% !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: auto !important;
  transform: none !important;
}

body.vlg-theme.single-product .vlg-mobile-featured-image__img.vlg-autocropped-image,
body.vlg-theme.single-product .vlg-mobile-featured-image img.vlg-autocropped-image {
  max-width: 98% !important;
  max-height: 98% !important;
}

body.vlg-theme.single-product .vlg-mobile-featured-image__img.vlg-crop-failed {
  max-width: none !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

@media (min-width: 783px) {
  body.vlg-theme.single-product .vlg-product-gallery-card {
    min-height: 0 !important;
    padding: 18px !important;
  }

  body.vlg-theme.single-product .vlg-mobile-featured-image {
    min-height: 420px !important;
    max-height: 520px !important;
    aspect-ratio: 1 / .66 !important;
    border-radius: 22px !important;
  }

  body.vlg-theme.single-product .vlg-mobile-featured-image__img,
  body.vlg-theme.single-product .vlg-mobile-featured-image img {
    max-height: 470px !important;
  }
}

@media (max-width: 782px) {
  html body.vlg-theme.single-product,
  html body.vlg-theme.single-product #page,
  html body.vlg-theme.single-product .site,
  html body.vlg-theme.single-product main,
  html body.vlg-theme.single-product .vlg-product-detail,
  html body.vlg-theme.single-product .vlg-product-main-grid,
  html body.vlg-theme.single-product .vlg-product-left,
  html body.vlg-theme.single-product .vlg-product-right,
  html body.vlg-theme.single-product .vlg-product-summary-card {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  html body.vlg-theme.single-product .vlg-single-product-page {
    padding-left: 8px !important;
    padding-right: 8px !important;
    padding-bottom: calc(180px + env(safe-area-inset-bottom)) !important;
  }

  html body.vlg-theme.single-product .vlg-product-gallery-card {
    padding: 6px !important;
    margin: 0 0 8px !important;
    min-height: 0 !important;
    height: auto !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  html body.vlg-theme.single-product .vlg-product-gallery-media {
    display: block !important;
    position: relative !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-featured-image {
    aspect-ratio: 1 / .58 !important;
    min-height: 156px !important;
    max-height: 224px !important;
    padding: 4px !important;
    border-radius: 16px !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-featured-image__img,
  html body.vlg-theme.single-product .vlg-mobile-featured-image img {
    max-width: 98% !important;
    max-height: 206px !important;
  }

  html body.vlg-theme.single-product .vlg-single-image-energy {
    right: 5px !important;
    bottom: 5px !important;
    transform: scale(.48) !important;
    transform-origin: right bottom !important;
  }

  html body.vlg-theme.single-product .vlg-product-summary-card,
  html body.vlg-theme.single-product div.product .summary {
    padding: 14px !important;
    padding-bottom: calc(120px + env(safe-area-inset-bottom)) !important;
    border-radius: 20px !important;
  }

  html body.vlg-theme.single-product .product_title,
  html body.vlg-theme.single-product div.product .product_title {
    font-size: clamp(17px, 5vw, 24px) !important;
    line-height: 1.15 !important;
  }

  html body.vlg-theme.single-product .vlg-product-buybox,
  html body.vlg-theme.single-product #vlg-product-buybox {
    margin-bottom: calc(110px + env(safe-area-inset-bottom)) !important;
  }

  html body.vlg-theme.single-product form.cart:not(.variations_form),
  html body.vlg-theme.single-product .vlg-product-buybox form.cart:not(.variations_form),
  html body.vlg-theme.single-product form.variations_form .single_variation_wrap,
  html body.vlg-theme.single-product form.variations_form .woocommerce-variation-add-to-cart,
  html body.vlg-theme.single-product form.variations_form .woocommerce-variation-add-to-cart.variations_button {
    display: grid !important;
    grid-template-columns: 70px minmax(0, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  html body.vlg-theme.single-product form.cart .quantity,
  html body.vlg-theme.single-product .vlg-product-buybox form.cart .quantity {
    width: 70px !important;
    min-width: 70px !important;
    max-width: 70px !important;
  }
}

@media (max-width: 390px) {
  html body.vlg-theme.single-product .vlg-mobile-featured-image {
    min-height: 148px !important;
    max-height: 204px !important;
    aspect-ratio: 1 / .56 !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-featured-image__img,
  html body.vlg-theme.single-product .vlg-mobile-featured-image img {
    max-height: 188px !important;
  }
}


/* === 132-v535-core-mobile-product-bridge.css === */
/* v5.1.35 — bridge for Core mobile product image fixer + final visual safeguards */
body.vlg-theme.single-product .vlg-product-gallery-card .woocommerce-product-gallery,
body.vlg-theme.single-product .vlg-product-gallery-card div.images,
body.vlg-theme.single-product .vlg-product-gallery-card .flex-viewport,
body.vlg-theme.single-product .vlg-product-gallery-card .flex-control-thumbs,
body.vlg-theme.single-product .vlg-product-gallery-card .woocommerce-product-gallery__wrapper {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  overflow: hidden !important;
}

body.vlg-theme.single-product .vlg-mobile-featured-image {
  position: relative !important;
  isolation: isolate !important;
}

body.vlg-theme.single-product .vlg-mobile-featured-image__img.vlg-core-cropped-image,
body.vlg-theme.single-product .vlg-mobile-featured-image img.vlg-core-cropped-image {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  transform: none !important;
  object-fit: contain !important;
  object-position: center center !important;
}

body.vlg-theme.single-product .vlg-mobile-featured-image__img.vlg-core-focus-right,
body.vlg-theme.single-product .vlg-mobile-featured-image img.vlg-core-focus-right {
  max-width: none !important;
  width: 150% !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: right center !important;
  transform: translateX(-18%) !important;
}

@media (min-width: 783px) {
  body.vlg-theme.single-product .vlg-mobile-featured-image {
    min-height: 430px !important;
    max-height: 500px !important;
    aspect-ratio: 1 / .64 !important;
    padding: 10px !important;
    border-radius: 22px !important;
    background: #fff !important;
  }
}

@media (max-width: 782px) {
  html body.vlg-theme.single-product .vlg-single-product-page {
    padding-left: 8px !important;
    padding-right: 8px !important;
    padding-bottom: calc(210px + env(safe-area-inset-bottom)) !important;
  }

  html body.vlg-theme.single-product .vlg-product-gallery-card {
    padding: 6px !important;
    margin-bottom: 8px !important;
    min-height: 0 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-featured-image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 168px !important;
    max-height: 224px !important;
    aspect-ratio: 1 / .58 !important;
    padding: 2px !important;
    border-radius: 14px !important;
    background: #fff !important;
    overflow: hidden !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-featured-image__link {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-featured-image__img,
  html body.vlg-theme.single-product .vlg-mobile-featured-image img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 98% !important;
    max-height: 206px !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: auto !important;
  }

  html body.vlg-theme.single-product .vlg-product-summary-card,
  html body.vlg-theme.single-product div.product .summary {
    padding: 12px !important;
    padding-bottom: calc(132px + env(safe-area-inset-bottom)) !important;
    border-radius: 18px !important;
  }

  html body.vlg-theme.single-product .product_title,
  html body.vlg-theme.single-product div.product .product_title {
    font-size: clamp(17px, 5vw, 23px) !important;
    line-height: 1.14 !important;
    margin: 8px 0 !important;
  }

  html body.vlg-theme.single-product .vlg-product-price,
  html body.vlg-theme.single-product div.product p.price,
  html body.vlg-theme.single-product div.product span.price {
    font-size: clamp(18px, 5vw, 24px) !important;
  }

  html body.vlg-theme.single-product .vlg-product-buybox,
  html body.vlg-theme.single-product #vlg-product-buybox {
    margin-bottom: calc(128px + env(safe-area-inset-bottom)) !important;
  }
}

@media (max-width: 390px) {
  html body.vlg-theme.single-product .vlg-mobile-featured-image {
    min-height: 154px !important;
    max-height: 204px !important;
    aspect-ratio: 1 / .56 !important;
  }
  html body.vlg-theme.single-product .vlg-mobile-featured-image__img,
  html body.vlg-theme.single-product .vlg-mobile-featured-image img {
    max-height: 188px !important;
  }
}


/* === 133-v536-mobile-image-cover-fallback.css === */
/* v5.1.36 — mobile product image cover fallback: show the actual product, not the white canvas */

@media (max-width: 782px) {
  html body.vlg-theme.single-product .vlg-product-gallery-card {
    min-height: 0 !important;
    height: auto !important;
    padding: 6px !important;
    margin: 0 0 8px !important;
    background: #fff !important;
    border-radius: 18px !important;
    overflow: hidden !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-featured-image,
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image {
    position: relative !important;
    width: 100% !important;
    height: clamp(190px, 52vw, 238px) !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    background-color: #fff !important;
    background-repeat: no-repeat !important;
    background-position: 84% 50% !important;
    background-size: auto 112% !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-featured-image__link,
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image__link {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Default: use a cover crop so products embedded on a wide white canvas become visible. */
  html body.vlg-theme.single-product .vlg-mobile-featured-image__img,
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image__img,
  html body.vlg-theme.single-product .vlg-mobile-featured-image img,
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: 84% 50% !important;
    padding: 0 !important;
    margin: 0 !important;
    transform: none !important;
    background: transparent !important;
  }

  /* When JS canvas crop succeeded, show the generated cropped image normally. */
  html body.vlg-theme.single-product .vlg-mobile-featured-image__img.vlg-autocropped-image,
  html body.vlg-theme.single-product .vlg-mobile-featured-image__img.vlg-core-cropped-image,
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image__img.vlg-autocropped-image,
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image__img.vlg-core-cropped-image {
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 98% !important;
    max-height: 98% !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: auto !important;
  }

  /* If Core/JS switches to background crop mode, hide image and let background show product. */
  html body.vlg-theme.single-product .vlg-mobile-featured-image.vlg-bg-product-crop,
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image.vlg-bg-product-crop {
    background-size: auto 118% !important;
    background-position: 86% 50% !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-featured-image.vlg-bg-product-crop img,
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image.vlg-bg-product-crop img {
    opacity: 0 !important;
    visibility: hidden !important;
  }

  html body.vlg-theme.single-product .vlg-single-image-energy {
    right: 6px !important;
    bottom: 6px !important;
    transform: scale(.58) !important;
    transform-origin: right bottom !important;
    z-index: 4 !important;
  }

  html body.vlg-theme.single-product .vlg-product-summary-card,
  html body.vlg-theme.single-product div.product .summary {
    padding-bottom: calc(150px + env(safe-area-inset-bottom)) !important;
  }

  html body.vlg-theme.single-product .vlg-product-buybox,
  html body.vlg-theme.single-product #vlg-product-buybox {
    margin-bottom: calc(150px + env(safe-area-inset-bottom)) !important;
  }
}

@media (max-width: 390px) {
  html body.vlg-theme.single-product .vlg-mobile-featured-image,
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image {
    height: clamp(176px, 50vw, 214px) !important;
    background-size: auto 120% !important;
    background-position: 86% 50% !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-featured-image__img,
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image__img,
  html body.vlg-theme.single-product .vlg-mobile-featured-image img,
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image img {
    object-position: 86% 50% !important;
  }
}


/* === 134-v537-mobile-product-stabilize.css === */
/* v5.1.37 — Mobile product view stabilization
   Goal: stop the huge blank image area, keep product visible, and keep add-to-cart usable. */

@media (max-width: 782px) {
  html body.vlg-theme.single-product,
  html body.vlg-theme.single-product #page,
  html body.vlg-theme.single-product .site,
  html body.vlg-theme.single-product .site-main {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }

  html body.vlg-theme.single-product .vlg-single-product-page {
    padding-left: 8px !important;
    padding-right: 8px !important;
    padding-bottom: calc(220px + env(safe-area-inset-bottom)) !important;
  }

  html body.vlg-theme.single-product .vlg-product-main-grid,
  html body.vlg-theme.single-product .vlg-product-left,
  html body.vlg-theme.single-product .vlg-product-right,
  html body.vlg-theme.single-product .vlg-product-summary-card,
  html body.vlg-theme.single-product div.product .summary {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  html body.vlg-theme.single-product .vlg-product-main-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  html body.vlg-theme.single-product .vlg-product-gallery-card {
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 6px !important;
    margin: 0 0 10px !important;
    border-radius: 18px !important;
    background: #fff !important;
    overflow: hidden !important;
  }

  html body.vlg-theme.single-product .vlg-product-gallery-card::before,
  html body.vlg-theme.single-product .vlg-product-gallery-card::after {
    display: none !important;
  }

  html body.vlg-theme.single-product .vlg-product-gallery-media {
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    display: block !important;
    position: relative !important;
    overflow: hidden !important;
  }

  /* The reliable/mobile image block: compact height. */
  html body.vlg-theme.single-product .vlg-mobile-featured-image,
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image {
    width: 100% !important;
    height: clamp(150px, 41vw, 186px) !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 14px !important;
    background-color: #fff !important;
    background-repeat: no-repeat !important;
    background-position: 100% 50% !important;
    background-size: auto 245% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-featured-image__link,
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image__link {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  /* Normal/cropped image mode. Cropped images stay centered. */
  html body.vlg-theme.single-product .vlg-mobile-featured-image img,
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image img,
  html body.vlg-theme.single-product .vlg-mobile-featured-image__img,
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image__img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: auto !important;
    padding: 0 !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  /* Fallback mode for bad product images with huge white canvas: zoom the right side. */
  html body.vlg-theme.single-product .vlg-mobile-featured-image.vlg-bg-product-crop,
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image.vlg-bg-product-crop,
  html body.vlg-theme.single-product .vlg-mobile-featured-image.vlg-force-right-crop,
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image.vlg-force-right-crop {
    background-position: 100% 50% !important;
    background-size: auto 265% !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-featured-image.vlg-bg-product-crop img,
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image.vlg-bg-product-crop img,
  html body.vlg-theme.single-product .vlg-mobile-featured-image.vlg-force-right-crop img,
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image.vlg-force-right-crop img {
    opacity: 0 !important;
    visibility: hidden !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-featured-image img.vlg-autocropped-image,
  html body.vlg-theme.single-product .vlg-mobile-featured-image img.vlg-core-cropped-image,
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image img.vlg-autocropped-image,
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image img.vlg-core-cropped-image {
    opacity: 1 !important;
    visibility: visible !important;
    width: auto !important;
    height: auto !important;
    max-width: 98% !important;
    max-height: 98% !important;
    object-fit: contain !important;
    object-position: center center !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-featured-image:has(img.vlg-autocropped-image),
  html body.vlg-theme.single-product .vlg-mobile-featured-image:has(img.vlg-core-cropped-image),
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image:has(img.vlg-autocropped-image),
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image:has(img.vlg-core-cropped-image) {
    background-image: none !important;
  }

  html body.vlg-theme.single-product .vlg-single-image-energy {
    right: 5px !important;
    bottom: 5px !important;
    transform: scale(.48) !important;
    transform-origin: right bottom !important;
  }

  html body.vlg-theme.single-product .vlg-product-summary-card,
  html body.vlg-theme.single-product div.product .summary {
    padding: 12px !important;
    padding-bottom: calc(165px + env(safe-area-inset-bottom)) !important;
    border-radius: 18px !important;
  }

  html body.vlg-theme.single-product .vlg-pill {
    font-size: 11px !important;
    line-height: 1.15 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    max-width: 100% !important;
  }

  html body.vlg-theme.single-product .product_title,
  html body.vlg-theme.single-product div.product .product_title {
    font-size: clamp(18px, 5.2vw, 24px) !important;
    line-height: 1.14 !important;
    margin: 8px 0 9px !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  html body.vlg-theme.single-product .vlg-product-price,
  html body.vlg-theme.single-product div.product p.price,
  html body.vlg-theme.single-product div.product span.price {
    font-size: clamp(20px, 5.4vw, 26px) !important;
    line-height: 1.12 !important;
  }

  html body.vlg-theme.single-product .vlg-product-specs,
  html body.vlg-theme.single-product .vlg-product-meta-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  /* Buybox and variable products: use flex to prevent the orange button collapsing into a thin strip. */
  html body.vlg-theme.single-product .vlg-product-buybox,
  html body.vlg-theme.single-product #vlg-product-buybox {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    margin: 14px 0 calc(170px + env(safe-area-inset-bottom)) !important;
    padding: 12px !important;
    border-radius: 18px !important;
  }

  html body.vlg-theme.single-product form.cart,
  html body.vlg-theme.single-product form.variations_form,
  html body.vlg-theme.single-product form.variations_form .single_variation_wrap,
  html body.vlg-theme.single-product form.variations_form .woocommerce-variation-add-to-cart,
  html body.vlg-theme.single-product form.variations_form .woocommerce-variation-add-to-cart.variations_button {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  html body.vlg-theme.single-product form.variations_form table.variations,
  html body.vlg-theme.single-product form.variations_form table.variations tbody,
  html body.vlg-theme.single-product form.variations_form table.variations tr,
  html body.vlg-theme.single-product form.variations_form table.variations th,
  html body.vlg-theme.single-product form.variations_form table.variations td {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  html body.vlg-theme.single-product form.variations_form table.variations select,
  html body.vlg-theme.single-product form.variations_form table.variations .select2,
  html body.vlg-theme.single-product form.variations_form table.variations .select2-container,
  html body.vlg-theme.single-product form.cart select {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 46px !important;
  }

  html body.vlg-theme.single-product form.cart:not(.variations_form),
  html body.vlg-theme.single-product form.variations_form .woocommerce-variation-add-to-cart,
  html body.vlg-theme.single-product form.variations_form .woocommerce-variation-add-to-cart.variations_button {
    display: flex !important;
    align-items: stretch !important;
    gap: 8px !important;
  }

  html body.vlg-theme.single-product form.cart .quantity {
    flex: 0 0 72px !important;
    width: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
    margin: 0 !important;
  }

  html body.vlg-theme.single-product form.cart input.qty {
    width: 100% !important;
    min-height: 48px !important;
  }

  html body.vlg-theme.single-product form.cart .single_add_to_cart_button,
  html body.vlg-theme.single-product .vlg-product-buybox form.cart .single_add_to_cart_button {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 48px !important;
    padding: 0 12px !important;
    white-space: normal !important;
    line-height: 1.15 !important;
    font-size: 14px !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-product-bar,
  html body.vlg-theme.single-product [data-vlg-mobile-buybar] {
    display: none !important;
  }
}

@media (max-width: 390px) {
  html body.vlg-theme.single-product .vlg-mobile-featured-image,
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image {
    height: clamp(140px, 40vw, 172px) !important;
    background-size: auto 280% !important;
    background-position: 100% 50% !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-featured-image.vlg-bg-product-crop,
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image.vlg-bg-product-crop,
  html body.vlg-theme.single-product .vlg-mobile-featured-image.vlg-force-right-crop,
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image.vlg-force-right-crop {
    background-size: auto 295% !important;
  }
}


/* === 135-v538-mobile-product-clean-reset.css === */
/* v5.1.38 — mobile product clean reset: stop stacked gallery hotfixes from breaking layout */

@media (max-width: 782px) {
  html body.vlg-theme.single-product,
  html body.vlg-theme.single-product #page,
  html body.vlg-theme.single-product .site,
  html body.vlg-theme.single-product .site-main {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  html body.vlg-theme.single-product .vlg-single-product-page {
    padding-left: 8px !important;
    padding-right: 8px !important;
    padding-bottom: calc(150px + env(safe-area-inset-bottom)) !important;
  }

  html body.vlg-theme.single-product .vlg-product-main-grid,
  html body.vlg-theme.single-product .vlg-product-left,
  html body.vlg-theme.single-product .vlg-product-right,
  html body.vlg-theme.single-product .vlg-product-summary-card,
  html body.vlg-theme.single-product .summary {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  html body.vlg-theme.single-product .vlg-product-gallery-card {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 0 10px !important;
    padding: 6px !important;
    border-radius: 18px !important;
    background: #fff !important;
    overflow: hidden !important;
  }

  html body.vlg-theme.single-product .vlg-product-gallery-card::before,
  html body.vlg-theme.single-product .vlg-product-gallery-card::after {
    display: none !important;
  }

  html body.vlg-theme.single-product .vlg-product-gallery-media {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  /* Hide the Woo/Flexslider gallery on mobile. It is what creates the empty desktop-like box. */
  html body.vlg-theme.single-product .vlg-product-gallery-media > .woocommerce-product-gallery,
  html body.vlg-theme.single-product .vlg-product-gallery-media > div.images,
  html body.vlg-theme.single-product .vlg-product-gallery-media > .flex-viewport,
  html body.vlg-theme.single-product .vlg-product-gallery-media > .woocommerce-product-gallery__wrapper,
  html body.vlg-theme.single-product .vlg-product-gallery-media > .flex-control-nav {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-featured-image,
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image {
    display: block !important;
    width: 100% !important;
    height: clamp(190px, 54vw, 232px) !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 15px !important;
    background-color: #fff !important;
    background-repeat: no-repeat !important;
    background-position: 72% 50% !important;
    background-size: auto 220% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-featured-image__link,
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image__link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-featured-image img,
  html body.vlg-theme.single-product .vlg-mobile-featured-image__img,
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image img,
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image__img {
    display: block !important;
    width: auto !important;
    height: 100% !important;
    max-width: none !important;
    max-height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  /* If Core makes a real cropped image, show it normally. */
  html body.vlg-theme.single-product .vlg-mobile-featured-image img.vlg-core-cropped-image,
  html body.vlg-theme.single-product .vlg-mobile-featured-image img.vlg-autocropped-image,
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image img.vlg-core-cropped-image,
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image img.vlg-autocropped-image {
    width: auto !important;
    height: auto !important;
    max-width: 96% !important;
    max-height: 96% !important;
    object-fit: contain !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  /* If crop fails, show dynamic background, but do not align it to the far right edge. */
  html body.vlg-theme.single-product .vlg-mobile-featured-image.vlg-bg-product-crop,
  html body.vlg-theme.single-product .vlg-mobile-featured-image.vlg-force-right-crop,
  html body.vlg-theme.single-product .vlg-mobile-featured-image.vlg-v538-bg-fallback,
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image.vlg-bg-product-crop,
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image.vlg-force-right-crop,
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image.vlg-v538-bg-fallback {
    background-position: 72% 50% !important;
    background-size: auto 220% !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-featured-image.vlg-v538-bg-fallback img,
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image.vlg-v538-bg-fallback img,
  html body.vlg-theme.single-product .vlg-mobile-featured-image.vlg-bg-product-crop img:not(.vlg-core-cropped-image):not(.vlg-autocropped-image),
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image.vlg-bg-product-crop img:not(.vlg-core-cropped-image):not(.vlg-autocropped-image),
  html body.vlg-theme.single-product .vlg-mobile-featured-image.vlg-force-right-crop img:not(.vlg-core-cropped-image):not(.vlg-autocropped-image),
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image.vlg-force-right-crop img:not(.vlg-core-cropped-image):not(.vlg-autocropped-image) {
    opacity: 0 !important;
    visibility: hidden !important;
  }

  html body.vlg-theme.single-product .vlg-single-image-energy {
    right: 6px !important;
    bottom: 6px !important;
    transform: scale(.52) !important;
    transform-origin: right bottom !important;
  }

  html body.vlg-theme.single-product .vlg-product-summary-card,
  html body.vlg-theme.single-product div.product .summary {
    padding: 12px !important;
    padding-bottom: calc(135px + env(safe-area-inset-bottom)) !important;
    border-radius: 18px !important;
  }

  html body.vlg-theme.single-product .product_title,
  html body.vlg-theme.single-product div.product .product_title {
    font-size: clamp(19px, 5.4vw, 26px) !important;
    line-height: 1.15 !important;
    margin: 8px 0 10px !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }

  html body.vlg-theme.single-product .vlg-product-price,
  html body.vlg-theme.single-product div.product p.price,
  html body.vlg-theme.single-product div.product span.price {
    font-size: clamp(21px, 5.6vw, 28px) !important;
  }

  html body.vlg-theme.single-product .vlg-product-specs,
  html body.vlg-theme.single-product .vlg-product-meta-grid {
    grid-template-columns: 1fr !important;
  }

  html body.vlg-theme.single-product .vlg-product-buybox,
  html body.vlg-theme.single-product #vlg-product-buybox {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 14px 0 calc(145px + env(safe-area-inset-bottom)) !important;
    padding: 12px !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  html body.vlg-theme.single-product form.variations_form table.variations,
  html body.vlg-theme.single-product form.variations_form table.variations tbody,
  html body.vlg-theme.single-product form.variations_form table.variations tr,
  html body.vlg-theme.single-product form.variations_form table.variations td,
  html body.vlg-theme.single-product form.variations_form table.variations th {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  html body.vlg-theme.single-product form.variations_form table.variations select,
  html body.vlg-theme.single-product form.cart select {
    width: 100% !important;
    min-height: 46px !important;
  }

  html body.vlg-theme.single-product form.cart:not(.variations_form),
  html body.vlg-theme.single-product form.variations_form .woocommerce-variation-add-to-cart,
  html body.vlg-theme.single-product form.variations_form .woocommerce-variation-add-to-cart.variations_button {
    display: grid !important;
    grid-template-columns: 74px minmax(0, 1fr) !important;
    gap: 8px !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  html body.vlg-theme.single-product form.cart .quantity {
    width: 74px !important;
    min-width: 74px !important;
    max-width: 74px !important;
    margin: 0 !important;
  }

  html body.vlg-theme.single-product form.cart input.qty {
    width: 100% !important;
    min-height: 48px !important;
  }

  html body.vlg-theme.single-product form.cart .single_add_to_cart_button,
  html body.vlg-theme.single-product .vlg-product-buybox form.cart .single_add_to_cart_button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 48px !important;
    padding: 0 12px !important;
    white-space: normal !important;
    line-height: 1.15 !important;
    font-size: 14px !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-product-bar,
  html body.vlg-theme.single-product [data-vlg-mobile-buybar] {
    display: none !important;
  }
}

@media (max-width: 390px) {
  html body.vlg-theme.single-product .vlg-mobile-featured-image,
  html body.vlg-theme.single-product .vlg-core-mobile-featured-image {
    height: clamp(180px, 53vw, 218px) !important;
    background-position: 70% 50% !important;
    background-size: auto 230% !important;
  }

  html body.vlg-theme.single-product form.cart:not(.variations_form),
  html body.vlg-theme.single-product form.variations_form .woocommerce-variation-add-to-cart,
  html body.vlg-theme.single-product form.variations_form .woocommerce-variation-add-to-cart.variations_button {
    grid-template-columns: 70px minmax(0, 1fr) !important;
  }

  html body.vlg-theme.single-product form.cart .quantity {
    width: 70px !important;
    min-width: 70px !important;
    max-width: 70px !important;
  }
}


/* === 136-v539-mobile-product-order-buybox.css === */
/* v5.1.39 — mobile product order fix: show summary and add-to-cart before tabs */

@media (max-width: 782px) {
  html body.vlg-theme.single-product .vlg-single-product-page {
    padding-bottom: calc(210px + env(safe-area-inset-bottom)) !important;
  }

  /* The markup has gallery + tabs inside left column and summary inside right column.
     On mobile this must be reordered: image -> summary/buybox -> tabs. */
  html body.vlg-theme.single-product .vlg-product-main-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }

  html body.vlg-theme.single-product .vlg-product-left {
    display: contents !important;
  }

  html body.vlg-theme.single-product .vlg-product-gallery-card {
    order: 1 !important;
  }

  html body.vlg-theme.single-product .vlg-product-right,
  html body.vlg-theme.single-product .vlg-product-summary-card,
  html body.vlg-theme.single-product div.product .summary {
    order: 2 !important;
  }

  html body.vlg-theme.single-product .vlg-product-tabs {
    order: 3 !important;
    margin-top: 12px !important;
  }

  html body.vlg-theme.single-product .vlg-product-related-wrap {
    order: 4 !important;
  }

  /* Summary should not hide the buybox behind huge internal padding. */
  html body.vlg-theme.single-product .vlg-product-summary-card,
  html body.vlg-theme.single-product div.product .summary {
    padding-bottom: 14px !important;
    overflow: visible !important;
  }

  html body.vlg-theme.single-product .vlg-product-buybox,
  html body.vlg-theme.single-product #vlg-product-buybox {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 14px 0 18px !important;
    padding: 12px !important;
    overflow: visible !important;
    position: relative !important;
    z-index: 4 !important;
  }

  html body.vlg-theme.single-product .vlg-product-buybox form.cart,
  html body.vlg-theme.single-product div.product form.cart,
  html body.vlg-theme.single-product form.cart {
    display: grid !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    box-shadow: none !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
  }

  html body.vlg-theme.single-product form.cart:not(.variations_form),
  html body.vlg-theme.single-product .vlg-product-buybox form.cart:not(.variations_form),
  html body.vlg-theme.single-product form.variations_form .woocommerce-variation-add-to-cart,
  html body.vlg-theme.single-product form.variations_form .woocommerce-variation-add-to-cart.variations_button {
    grid-template-columns: 74px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: stretch !important;
  }

  html body.vlg-theme.single-product form.cart .quantity,
  html body.vlg-theme.single-product .vlg-product-buybox form.cart .quantity {
    width: 74px !important;
    min-width: 74px !important;
    max-width: 74px !important;
    margin: 0 !important;
  }

  html body.vlg-theme.single-product form.cart input.qty {
    width: 100% !important;
    min-height: 50px !important;
  }

  html body.vlg-theme.single-product form.cart .single_add_to_cart_button,
  html body.vlg-theme.single-product .vlg-product-buybox form.cart .single_add_to_cart_button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border-radius: 16px !important;
    font-size: 15px !important;
    line-height: 1.15 !important;
    white-space: normal !important;
  }

  html body.vlg-theme.single-product form.variations_form table.variations {
    margin-bottom: 12px !important;
  }

  html body.vlg-theme.single-product form.variations_form table.variations,
  html body.vlg-theme.single-product form.variations_form table.variations tbody,
  html body.vlg-theme.single-product form.variations_form table.variations tr,
  html body.vlg-theme.single-product form.variations_form table.variations td,
  html body.vlg-theme.single-product form.variations_form table.variations th {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  html body.vlg-theme.single-product form.variations_form select,
  html body.vlg-theme.single-product form.cart select {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 46px !important;
  }

  /* A small always-visible mobile CTA above bottom navigation. It scrolls to the real buybox. */
  html body.vlg-theme.single-product .vlg-mobile-product-bar,
  html body.vlg-theme.single-product .vlg-mobile-product-bar[hidden],
  html body.vlg-theme.single-product [data-vlg-mobile-buybar],
  html body.vlg-theme.single-product [data-vlg-mobile-buybar][hidden] {
    display: flex !important;
    position: fixed !important;
    left: 12px !important;
    right: 12px !important;
    bottom: calc(var(--vlg-mobile-appbar-h, 78px) + 8px + env(safe-area-inset-bottom)) !important;
    z-index: 9997 !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    padding: 10px !important;
    border-radius: 20px !important;
    background: rgba(255,255,255,.96) !important;
    border: 1px solid rgba(15,23,42,.08) !important;
    box-shadow: 0 16px 38px rgba(15,23,42,.18) !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-product-bar__price {
    display: grid !important;
    gap: 2px !important;
    min-width: 0 !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-product-bar__price span {
    font-size: 11px !important;
    color: #64748b !important;
    font-weight: 800 !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-product-bar__price strong {
    font-size: 16px !important;
    line-height: 1.1 !important;
    color: #0f172a !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-product-bar__button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 46px !important;
    padding: 0 20px !important;
    border-radius: 16px !important;
    background: #f28a00 !important;
    color: #fff !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    box-shadow: 0 10px 22px rgba(242,138,0,.25) !important;
  }
}

@media (max-width: 390px) {
  html body.vlg-theme.single-product form.cart:not(.variations_form),
  html body.vlg-theme.single-product .vlg-product-buybox form.cart:not(.variations_form),
  html body.vlg-theme.single-product form.variations_form .woocommerce-variation-add-to-cart,
  html body.vlg-theme.single-product form.variations_form .woocommerce-variation-add-to-cart.variations_button {
    grid-template-columns: 68px minmax(0, 1fr) !important;
  }

  html body.vlg-theme.single-product form.cart .quantity,
  html body.vlg-theme.single-product .vlg-product-buybox form.cart .quantity {
    width: 68px !important;
    min-width: 68px !important;
    max-width: 68px !important;
  }

  html body.vlg-theme.single-product .vlg-mobile-product-bar__button {
    padding: 0 16px !important;
  }
}


/* === 137-v540-mobile-product-sequence-no-sticky-buybar.css === */
/* v5.1.40 — Mobile product page: image -> info -> add to cart; remove extra sticky buybar */

@media (max-width: 782px) {
  html body.vlg-theme.single-product {
    overflow-x: hidden !important;
  }

  html body.vlg-theme.single-product .vlg-single-product-page {
    padding-left: 0 !important;
    padding-right: 0 !important;
    /* only room for bottom navigation, not the removed sticky buy bar */
    padding-bottom: calc(var(--vlg-mobile-appbar-h, 78px) + 56px + env(safe-area-inset-bottom)) !important;
  }

  /* Disable the extra floating Osta bar. It hides the category bottom nav and the real buybox. */
  html body.vlg-theme.single-product .vlg-mobile-product-bar,
  html body.vlg-theme.single-product .vlg-mobile-product-bar[hidden],
  html body.vlg-theme.single-product [data-vlg-mobile-buybar],
  html body.vlg-theme.single-product [data-vlg-mobile-buybar][hidden],
  html body.vlg-mobile-buybar-visible .vlg-mobile-product-bar,
  html body.vlg-mobile-buybar-visible [data-vlg-mobile-buybar] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  html body.vlg-mobile-buybar-visible {
    padding-bottom: 0 !important;
  }

  /* Correct order: picture first, product info second, add-to-cart inside info, then tabs/additional info. */
  html body.vlg-theme.single-product .vlg-product-main-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  html body.vlg-theme.single-product .vlg-product-left {
    display: contents !important;
  }

  html body.vlg-theme.single-product .vlg-product-gallery-card {
    order: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    border-radius: 0 0 18px 18px !important;
  }

  html body.vlg-theme.single-product .vlg-product-right,
  html body.vlg-theme.single-product .vlg-product-summary-card,
  html body.vlg-theme.single-product div.product .summary {
    order: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  html body.vlg-theme.single-product .vlg-product-tabs {
    order: 3 !important;
    margin: 12px 8px 0 !important;
  }

  html body.vlg-theme.single-product .vlg-product-related-wrap {
    order: 4 !important;
    margin: 12px 8px 0 !important;
  }

  /* Info card should be compact and full-width on mobile. */
  html body.vlg-theme.single-product .vlg-product-summary-card,
  html body.vlg-theme.single-product div.product .summary {
    padding: 16px 16px calc(var(--vlg-mobile-appbar-h, 78px) + 38px + env(safe-area-inset-bottom)) !important;
    border-radius: 18px 18px 0 0 !important;
    overflow: visible !important;
    background: #fff !important;
  }

  html body.vlg-theme.single-product .product_title,
  html body.vlg-theme.single-product div.product .product_title {
    font-size: clamp(20px, 5.7vw, 28px) !important;
    line-height: 1.12 !important;
    margin: 10px 0 10px !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }

  html body.vlg-theme.single-product .vlg-product-price,
  html body.vlg-theme.single-product div.product p.price,
  html body.vlg-theme.single-product div.product span.price {
    font-size: clamp(20px, 5.8vw, 28px) !important;
    line-height: 1.15 !important;
  }

  /* Real add-to-cart must be visible after info, not hidden behind bottom nav. */
  html body.vlg-theme.single-product .vlg-product-buybox,
  html body.vlg-theme.single-product #vlg-product-buybox {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 16px 0 18px !important;
    padding: 12px !important;
    border-radius: 18px !important;
    overflow: visible !important;
    position: relative !important;
    z-index: 5 !important;
    background: rgba(255, 250, 244, .96) !important;
    border: 1px solid rgba(242, 138, 0, .22) !important;
  }

  html body.vlg-theme.single-product .vlg-product-buybox form.cart,
  html body.vlg-theme.single-product div.product form.cart,
  html body.vlg-theme.single-product form.cart {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    top: auto !important;
    display: grid !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  html body.vlg-theme.single-product form.cart:not(.variations_form),
  html body.vlg-theme.single-product .vlg-product-buybox form.cart:not(.variations_form),
  html body.vlg-theme.single-product form.variations_form .woocommerce-variation-add-to-cart,
  html body.vlg-theme.single-product form.variations_form .woocommerce-variation-add-to-cart.variations_button {
    grid-template-columns: 76px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: stretch !important;
  }

  html body.vlg-theme.single-product form.cart .quantity,
  html body.vlg-theme.single-product .vlg-product-buybox form.cart .quantity {
    width: 76px !important;
    min-width: 76px !important;
    max-width: 76px !important;
    margin: 0 !important;
  }

  html body.vlg-theme.single-product form.cart input.qty,
  html body.vlg-theme.single-product form.cart .quantity .qty {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 52px !important;
  }

  html body.vlg-theme.single-product form.cart .single_add_to_cart_button,
  html body.vlg-theme.single-product .vlg-product-buybox form.cart .single_add_to_cart_button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 52px !important;
    padding: 0 14px !important;
    margin: 0 !important;
    border-radius: 16px !important;
    white-space: normal !important;
    text-align: center !important;
  }

  /* Variable products: selector first, then qty + button below it. */
  html body.vlg-theme.single-product form.variations_form,
  html body.vlg-theme.single-product .vlg-product-buybox form.variations_form {
    display: block !important;
  }

  html body.vlg-theme.single-product form.variations_form table.variations,
  html body.vlg-theme.single-product form.variations_form table.variations tbody,
  html body.vlg-theme.single-product form.variations_form table.variations tr,
  html body.vlg-theme.single-product form.variations_form table.variations td,
  html body.vlg-theme.single-product form.variations_form table.variations th {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  html body.vlg-theme.single-product form.variations_form table.variations select,
  html body.vlg-theme.single-product form.cart select {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 48px !important;
  }
}

@media (max-width: 390px) {
  html body.vlg-theme.single-product form.cart:not(.variations_form),
  html body.vlg-theme.single-product .vlg-product-buybox form.cart:not(.variations_form),
  html body.vlg-theme.single-product form.variations_form .woocommerce-variation-add-to-cart,
  html body.vlg-theme.single-product form.variations_form .woocommerce-variation-add-to-cart.variations_button {
    grid-template-columns: 70px minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  html body.vlg-theme.single-product form.cart .quantity,
  html body.vlg-theme.single-product .vlg-product-buybox form.cart .quantity {
    width: 70px !important;
    min-width: 70px !important;
    max-width: 70px !important;
  }
}


/* === 138-v542-cart-checkout-footer-polish.css === */
/* ============================================================
 * Valgusallikad teema — v5.1.42
 * ============================================================
 * Konkreetne polish 3 alal pärast kasutaja screenshote:
 *   PILT 1 — ostukorv (lehel /cart): toote read, hind, "Tasuta tarne"
 *            progressbar, alumised "Kiire tarne / 14 päeva / Turvaline makse"
 *            kaardid.
 *   PILT 2 — kassa (lehel /checkout): ESTO järelmaksu plokk + "Vormistan
 *            tellimuse" nupp, panga nimed mis ei mahu reale (Swedbank
 *            → "wedbank", MastercardCitadele joostes kokku).
 *   PILT 3 — jalus: ülemine 4-kaardi riba (Tasuta tarne / Kiire tarne /
 *            Turvalised maksed / Eesti klienditugi), menüü kogu jalus.
 *
 * Ja täiendav, mida pluginafail v2.4.1-s lahendab tugevamalt:
 *   PILT 4 — mobiilis suur tühi ala tootevaate alguses
 *   PILT 5 — Lisa korvi nupp ülikitsa / ovaalne, tekst kahel real
 * (Need parandused on käivad pluginas. Siin teeme CSS lisakindlustuse.)
 * ============================================================ */


/* ─── PILT 4 + 5 LISAKINDLUSTUS (mobile single product page) ──── */
@media (max-width: 782px) {

  /* Kindlustus pildi 4 jaoks: kui plugin millegipärast ei jõua peita
   * vana teema toote layout'i, siis CSS osafail siin peidab selle ka. */
  html body.single-product.vlg-mobile-product-pro-enabled article.product,
  html body.single-product.vlg-mobile-product-pro-enabled .vlg-product-detail,
  html body.single-product.vlg-mobile-product-pro-enabled .vlg-product-main-grid {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  /* Kindlustus pildi 5 jaoks: vmp-buybox horisontaal flex ka siit. */
  html body.single-product .vmp-buybox form.cart:not(.variations_form),
  html body.single-product .vmp-buybox .woocommerce-variation-add-to-cart,
  html body.single-product .vmp-buybox .variations_button {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 12px !important;
  }

  html body.single-product .vmp-buybox form.cart > .quantity,
  html body.single-product .vmp-buybox .woocommerce-variation-add-to-cart > .quantity,
  html body.single-product .vmp-buybox .variations_button > .quantity {
    flex: 0 0 84px !important;
    width: 84px !important;
    min-width: 84px !important;
    max-width: 84px !important;
    order: 1 !important;
  }

  html body.single-product .vmp-buybox form.cart > .single_add_to_cart_button,
  html body.single-product .vmp-buybox .woocommerce-variation-add-to-cart > .single_add_to_cart_button,
  html body.single-product .vmp-buybox .variations_button > .single_add_to_cart_button {
    flex: 1 1 0% !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    order: 2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}


/* ============================================================
 * PILT 1 — OSTUKORV (/cart)
 * ============================================================ */

/* Lehe konteiner — selgem maxi ja vahe. */
body.woocommerce-cart .vlg-container,
body.woocommerce-cart .woocommerce {
  padding-top: 12px;
  padding-bottom: 24px;
}

/* "Tasuta tarne" progressbar */
body.woocommerce-cart .wc-block-components-totals-shipping__via,
body.woocommerce-cart .vlg-free-shipping-bar,
body.woocommerce-cart .woocommerce-cart .cart-collaterals .free-shipping-progress,
body.woocommerce-cart .vlg-cart-free-shipping {
  margin: 16px 0 24px;
  padding: 18px 20px;
  border-radius: 18px;
  background: linear-gradient(180deg, #fffbf3 0%, #fff5e3 100%);
  border: 1px solid rgba(251, 133, 0, .18);
  box-shadow: 0 6px 16px rgba(15, 23, 42, .04);
  font-weight: 700;
  color: #0f172a;
}

/* Üldine "Tasuta tarne" promo riba ülal (kui kasutab table-based cart) */
body.woocommerce-cart .vlg-cart-pro-banner,
body.woocommerce-cart .vlg-cart-free-banner,
body.woocommerce-cart .vlg-cart-summary-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0 0 18px;
  padding: 16px 20px;
  border-radius: 18px;
  background: linear-gradient(180deg, #fffbf3 0%, #fff5e3 100%);
  border: 1px solid rgba(251, 133, 0, .22);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .9) inset, 0 14px 28px rgba(15, 23, 42, .05);
}

body.woocommerce-cart .vlg-cart-pro-banner__title,
body.woocommerce-cart .vlg-cart-summary-bar__title {
  font-size: 16px;
  font-weight: 1000;
  color: #0f172a;
  letter-spacing: -.005em;
}

body.woocommerce-cart .vlg-cart-pro-banner__remaining,
body.woocommerce-cart .vlg-cart-summary-bar__remaining {
  font-size: 14px;
  font-weight: 800;
  color: #d56f00;
}

/* Progress bar — kollane gradient ja peenem joon */
body.woocommerce-cart .vlg-progress,
body.woocommerce-cart .vlg-cart-progress,
body.woocommerce-cart .vlg-cart-free-shipping__bar,
body.woocommerce-cart .vlg-free-shipping-progress {
  position: relative;
  width: 100%;
  height: 10px;
  margin: 12px 0 0;
  background: rgba(15, 23, 42, .08);
  border-radius: 999px;
  overflow: hidden;
}

body.woocommerce-cart .vlg-progress > span,
body.woocommerce-cart .vlg-progress__fill,
body.woocommerce-cart .vlg-cart-progress__fill,
body.woocommerce-cart .vlg-cart-free-shipping__fill,
body.woocommerce-cart .vlg-free-shipping-progress__fill {
  position: absolute;
  inset: 0 auto 0 0;
  background: linear-gradient(90deg, #ffe25a 0%, #ffd400 50%, #f5b800 100%);
  border-radius: 999px;
  box-shadow: 0 0 0 1px rgba(255, 204, 0, .35) inset, 0 4px 8px rgba(245, 184, 0, .25);
  transition: width .35s ease;
}

/* Toote read — selgem grid, et "Hind", "Kogus", "Vahesumma" oleksid
 * tegelikus joondatud paigutuses, mitte hajusalt nagu pildil. */
body.woocommerce-cart table.cart,
body.woocommerce-cart table.shop_table.cart,
body.woocommerce-cart .woocommerce-cart-form .shop_table {
  width: 100%;
  margin: 0 0 24px;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .04);
}

body.woocommerce-cart table.cart thead th,
body.woocommerce-cart table.shop_table.cart thead th {
  padding: 16px 14px;
  background: linear-gradient(180deg, #f8fafc 0%, #eef3f7 100%);
  border-bottom: 1px solid rgba(15, 23, 42, .06);
  color: #64748b;
  font-size: 12px;
  font-weight: 1000;
  text-transform: uppercase;
  letter-spacing: .08em;
  text-align: left;
}

body.woocommerce-cart table.cart tbody td,
body.woocommerce-cart table.shop_table.cart tbody td {
  padding: 16px 14px;
  vertical-align: middle;
  border-bottom: 1px solid rgba(15, 23, 42, .05);
  font-size: 15px;
  color: #0f172a;
}

body.woocommerce-cart table.cart tbody tr:last-child td,
body.woocommerce-cart table.shop_table.cart tbody tr:last-child td {
  border-bottom: 0;
}

/* Toote nimi paks ja loetav */
body.woocommerce-cart table.cart .product-name,
body.woocommerce-cart table.shop_table .product-name {
  font-weight: 800;
}

body.woocommerce-cart table.cart .product-name a,
body.woocommerce-cart table.shop_table .product-name a {
  color: #0f172a;
  text-decoration: none;
}

body.woocommerce-cart table.cart .product-name a:hover,
body.woocommerce-cart table.shop_table .product-name a:hover {
  color: #fb8500;
}

/* Toote pisipilt — kindlustame, et see näeks välja kui pilt, mitte
 * lihtsalt katkine icon (nagu pildil 1, kus pisipildi koht oli tühi). */
body.woocommerce-cart table.cart .product-thumbnail,
body.woocommerce-cart table.shop_table .product-thumbnail {
  width: 88px;
  padding: 12px;
}

body.woocommerce-cart table.cart .product-thumbnail a,
body.woocommerce-cart table.cart .product-thumbnail img,
body.woocommerce-cart table.shop_table .product-thumbnail img {
  display: block;
  width: 64px;
  height: 64px;
  border-radius: 14px;
  background: #f7f8fa;
  object-fit: contain;
  border: 1px solid rgba(15, 23, 42, .06);
}

/* "X" eemaldus-nupp — selgem klikiala ja punane ainult hoveris */
body.woocommerce-cart .product-remove a.remove,
body.woocommerce-cart table.cart .product-remove a.remove {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 999px !important;
  background: rgba(239, 68, 68, .08) !important;
  color: #ef4444 !important;
  font-weight: 1000 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition: background .15s ease, color .15s ease, transform .12s ease;
}

body.woocommerce-cart .product-remove a.remove:hover {
  background: #ef4444 !important;
  color: #fff !important;
  transform: scale(1.05);
}

/* Hind ja vahesumma — paremas servas selgem */
body.woocommerce-cart .product-price,
body.woocommerce-cart .product-subtotal {
  font-weight: 800;
  color: #0f172a;
  white-space: nowrap;
}

body.woocommerce-cart .product-subtotal .amount,
body.woocommerce-cart .product-subtotal bdi {
  color: #0f172a;
  font-weight: 1000;
}

/* Kogus input — pehmem, sama stiil nagu tootevaates. */
body.woocommerce-cart .quantity input.qty,
body.woocommerce-cart table.cart .quantity input.qty {
  width: 76px;
  min-height: 44px;
  padding: 0 10px;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #fff;
  text-align: center;
  font-size: 15px;
  font-weight: 800;
  transition: border-color .12s ease, box-shadow .18s ease;
}

body.woocommerce-cart .quantity input.qty:focus {
  outline: none;
  border-color: #fb8500;
  box-shadow: 0 0 0 3px rgba(251, 133, 0, .18);
}

/* "Uuenda ostukorv" nupp — tagasihoidlik, mitte hall tühi */
body.woocommerce-cart button[name="update_cart"],
body.woocommerce-cart .actions .button[name="update_cart"] {
  padding: 12px 18px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #0f172a !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
  cursor: pointer !important;
  transition: background .15s ease, border-color .15s ease;
}

body.woocommerce-cart button[name="update_cart"]:hover {
  background: #f8fafc !important;
  border-color: #cbd5e1 !important;
}

body.woocommerce-cart button[name="update_cart"]:disabled,
body.woocommerce-cart button[name="update_cart"][disabled] {
  opacity: .6 !important;
  cursor: not-allowed !important;
}

/* Trust-kaardid all (Kiire tarne, 14 päeva, Turvaline makse) —
 * et oleksid jälle "kaardid", mitte hajusad ikoonid pildil 1. */
body.woocommerce-cart .vlg-cart-trust,
body.woocommerce-cart .vlg-cart-trustrow,
body.woocommerce-cart .vlg-cart-trust-row,
body.woocommerce-cart .woocommerce-cart-trust {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 24px 0 0;
}

body.woocommerce-cart .vlg-cart-trust > *,
body.woocommerce-cart .vlg-cart-trustrow > *,
body.woocommerce-cart .vlg-cart-trust-row > *,
body.woocommerce-cart .woocommerce-cart-trust > * {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 18px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, .08);
  box-shadow: 0 10px 22px rgba(15, 23, 42, .04);
}

body.woocommerce-cart .vlg-cart-trust strong,
body.woocommerce-cart .vlg-cart-trustrow strong,
body.woocommerce-cart .vlg-cart-trust-row strong,
body.woocommerce-cart .woocommerce-cart-trust strong {
  display: block;
  margin: 0 0 2px;
  color: #0f172a;
  font-size: 15px;
  font-weight: 1000;
}

body.woocommerce-cart .vlg-cart-trust span,
body.woocommerce-cart .vlg-cart-trustrow span,
body.woocommerce-cart .vlg-cart-trust-row span,
body.woocommerce-cart .woocommerce-cart-trust span {
  color: #64748b;
  font-size: 13px;
  font-weight: 700;
}

@media (max-width: 720px) {
  body.woocommerce-cart .vlg-cart-trust,
  body.woocommerce-cart .vlg-cart-trustrow,
  body.woocommerce-cart .vlg-cart-trust-row,
  body.woocommerce-cart .woocommerce-cart-trust {
    grid-template-columns: 1fr;
  }
}

/* Kassa nupp ("Vormista ost" / "Mine kassasse") */
body.woocommerce-cart .checkout-button,
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 58px !important;
  padding: 0 22px !important;
  margin: 8px 0 0 !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #ffb84a 0%, #fb8500 55%, #ef6c00 100%) !important;
  color: #fff !important;
  font-size: 17px !important;
  font-weight: 1000 !important;
  letter-spacing: .01em !important;
  text-decoration: none !important;
  text-transform: none !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, .35) inset,
    0 14px 26px rgba(251, 133, 0, .34) !important;
  transition: transform .12s ease, box-shadow .18s ease, filter .18s ease !important;
}

body.woocommerce-cart .checkout-button:hover {
  filter: brightness(1.05);
}

body.woocommerce-cart .checkout-button:active {
  transform: translateY(1px);
}


/* ============================================================
 * PILT 2 — KASSA (/checkout)
 * ============================================================
 * Põhilised mured:
 *   - "Swedbank" → kuvatud "wedbank" (vasakult tükeldatud)
 *   - "Mastercard" ja "Citadele" jooksevad kokku → "MastercardCitadele"
 *   - Pangad on lihtne tekst, võiksid olla loogilised badge'id
 *   - "Vormistan tellimuse" nupp võiks olla parem
 * ============================================================ */

/* Pangad ja kaardimakse-meetodid — chip/badge style */
body.woocommerce-checkout .vlg-payment-methods,
body.woocommerce-checkout .vlg-checkout-payment-methods,
body.woocommerce-checkout .vlg-payment-providers,
body.woocommerce-checkout .vlg-checkout-banks,
body.woocommerce-checkout .vlg-bank-list,
body.woocommerce-checkout .vlg-secure-banks,
body.woocommerce-checkout .vlg-payment-logos {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 12px 0 16px !important;
  padding: 0 !important;
  list-style: none !important;
  overflow: visible !important;
}

body.woocommerce-checkout .vlg-payment-methods > *,
body.woocommerce-checkout .vlg-checkout-payment-methods > *,
body.woocommerce-checkout .vlg-payment-providers > *,
body.woocommerce-checkout .vlg-checkout-banks > *,
body.woocommerce-checkout .vlg-bank-list > *,
body.woocommerce-checkout .vlg-secure-banks > *,
body.woocommerce-checkout .vlg-payment-logos > * {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  min-height: 30px !important;
  padding: 6px 12px !important;
  border: 1px solid rgba(15, 23, 42, .12) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #0f172a !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .6) inset, 0 4px 10px rgba(15, 23, 42, .04) !important;
}

/* Universaalne fallback: kui pangad on koma-eraldatud tekst,
 * teeme inline-block iga element gap-iga, et nimed mahuksid. */
body.woocommerce-checkout .vlg-banks-text,
body.woocommerce-checkout .vlg-checkout-text-banks {
  display: block;
  margin: 8px 0;
  padding: 4px 0;
  color: #475569;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.65;
  word-break: break-word;
  overflow-wrap: anywhere;
}

/* "Bank pill" globaalne kindlustus iga lapsele, mis sisaldab
 * panga nimi (kasutab klassi või data atribuuti) */
body.woocommerce-checkout .bank-pill,
body.woocommerce-checkout [data-bank],
body.woocommerce-checkout [data-payment-bank],
body.woocommerce-checkout .vlg-bank,
body.woocommerce-checkout .vlg-payment-bank {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 6px 14px !important;
  margin: 0 6px 6px 0 !important;
  border: 1px solid rgba(15, 23, 42, .12) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #0f172a !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

/* Värvilised punktid pankade brand'i jaoks. Lisame igale tuntud
 * pangale väike täiend "::before" punkt selle pangabändiga. */
body.woocommerce-checkout [data-bank="swedbank"]::before,
body.woocommerce-checkout .vlg-bank--swedbank::before,
body.woocommerce-checkout [data-bank="Swedbank"]::before { content: ""; display: inline-block; width: 10px; height: 10px; margin-right: 6px; border-radius: 50%; background: #ff5050; }

body.woocommerce-checkout [data-bank="seb"]::before,
body.woocommerce-checkout .vlg-bank--seb::before,
body.woocommerce-checkout [data-bank="SEB"]::before { content: ""; display: inline-block; width: 10px; height: 10px; margin-right: 6px; border-radius: 50%; background: #1d8c4d; }

body.woocommerce-checkout [data-bank="lhv"]::before,
body.woocommerce-checkout .vlg-bank--lhv::before,
body.woocommerce-checkout [data-bank="LHV"]::before { content: ""; display: inline-block; width: 10px; height: 10px; margin-right: 6px; border-radius: 50%; background: #ff6900; }

body.woocommerce-checkout [data-bank="coop"]::before,
body.woocommerce-checkout .vlg-bank--coop::before,
body.woocommerce-checkout [data-bank="Coop"]::before { content: ""; display: inline-block; width: 10px; height: 10px; margin-right: 6px; border-radius: 50%; background: #007f3f; }

body.woocommerce-checkout [data-bank="luminor"]::before,
body.woocommerce-checkout .vlg-bank--luminor::before,
body.woocommerce-checkout [data-bank="Luminor"]::before { content: ""; display: inline-block; width: 10px; height: 10px; margin-right: 6px; border-radius: 50%; background: #2a3a4b; }

body.woocommerce-checkout [data-bank="citadele"]::before,
body.woocommerce-checkout .vlg-bank--citadele::before,
body.woocommerce-checkout [data-bank="Citadele"]::before { content: ""; display: inline-block; width: 10px; height: 10px; margin-right: 6px; border-radius: 50%; background: #0096cb; }

body.woocommerce-checkout [data-bank="revolut"]::before,
body.woocommerce-checkout .vlg-bank--revolut::before,
body.woocommerce-checkout [data-bank="Revolut"]::before { content: ""; display: inline-block; width: 10px; height: 10px; margin-right: 6px; border-radius: 50%; background: #0666eb; }

body.woocommerce-checkout [data-bank="n26"]::before,
body.woocommerce-checkout .vlg-bank--n26::before,
body.woocommerce-checkout [data-bank="N26"]::before { content: ""; display: inline-block; width: 10px; height: 10px; margin-right: 6px; border-radius: 50%; background: #1f2937; }

body.woocommerce-checkout [data-bank="visa"]::before,
body.woocommerce-checkout .vlg-bank--visa::before,
body.woocommerce-checkout [data-bank="VISA"]::before { content: ""; display: inline-block; width: 10px; height: 10px; margin-right: 6px; border-radius: 50%; background: #1a1f71; }

body.woocommerce-checkout [data-bank="mastercard"]::before,
body.woocommerce-checkout .vlg-bank--mastercard::before,
body.woocommerce-checkout [data-bank="Mastercard"]::before { content: ""; display: inline-block; width: 10px; height: 10px; margin-right: 6px; border-radius: 50%; background: #eb001b; box-shadow: 6px 0 0 #f79e1b; }

body.woocommerce-checkout [data-bank="googlepay"]::before,
body.woocommerce-checkout .vlg-bank--googlepay::before,
body.woocommerce-checkout [data-bank="Google Pay"]::before { content: ""; display: inline-block; width: 10px; height: 10px; margin-right: 6px; border-radius: 50%; background: #4285f4; }

body.woocommerce-checkout [data-bank="applepay"]::before,
body.woocommerce-checkout .vlg-bank--applepay::before,
body.woocommerce-checkout [data-bank="Apple Pay"]::before { content: ""; display: inline-block; width: 10px; height: 10px; margin-right: 6px; border-radius: 50%; background: #000000; }

/* ESTO järelmaks plokk — selgem kaart */
body.woocommerce-checkout .vlg-esto-block,
body.woocommerce-checkout .vlg-checkout-esto,
body.woocommerce-checkout .esto-checkout-block {
  margin: 16px 0;
  padding: 18px 20px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, .08);
  box-shadow: 0 10px 22px rgba(15, 23, 42, .05);
}

body.woocommerce-checkout .vlg-esto-block h3,
body.woocommerce-checkout .vlg-checkout-esto h3,
body.woocommerce-checkout .esto-checkout-block h3 {
  margin: 0 0 8px;
  color: #0f172a;
  font-size: 16px;
  font-weight: 1000;
  letter-spacing: -.005em;
}

/* "Turvaline tellimus" / "Tarne ja tagastus" pealkirjad checkoutis */
body.woocommerce-checkout .vlg-checkout-trust h3,
body.woocommerce-checkout .vlg-checkout-shipping h3,
body.woocommerce-checkout .vlg-checkout-trustrow h3,
body.woocommerce-checkout .vlg-checkout-sidebar h3 {
  margin: 16px 0 8px;
  color: #0f172a;
  font-size: 15px;
  font-weight: 1000;
}

body.woocommerce-checkout .vlg-checkout-trust p,
body.woocommerce-checkout .vlg-checkout-shipping p {
  margin: 0 0 8px;
  color: #475569;
  font-size: 14px;
  line-height: 1.55;
}

/* "Vormistan tellimuse" nupp — sama oranži süsteem kui kogu sait */
body.woocommerce-checkout #place_order,
body.woocommerce-checkout button#place_order,
body.woocommerce-checkout .place-order .button,
body.woocommerce-checkout .vlg-place-order-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 62px !important;
  margin: 14px 0 0 !important;
  padding: 0 22px !important;
  border: 0 !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, #ffb84a 0%, #fb8500 55%, #ef6c00 100%) !important;
  color: #fff !important;
  font-size: 17px !important;
  font-weight: 1000 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
  cursor: pointer !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, .35) inset,
    0 14px 26px rgba(251, 133, 0, .34) !important;
  transition: transform .12s ease, box-shadow .18s ease, filter .18s ease !important;
}

body.woocommerce-checkout #place_order:hover,
body.woocommerce-checkout button#place_order:hover {
  filter: brightness(1.05) !important;
}

body.woocommerce-checkout #place_order:active,
body.woocommerce-checkout button#place_order:active {
  transform: translateY(1px) !important;
}

/* "Sinu isikuandmeid töödeldakse..." privaatsus-tekst —
 * loetav hall ja link kollane */
body.woocommerce-checkout .woocommerce-privacy-policy-text,
body.woocommerce-checkout .vlg-privacy-text {
  margin: 12px 0;
  color: #64748b;
  font-size: 13px;
  line-height: 1.6;
}

body.woocommerce-checkout .woocommerce-privacy-policy-text a,
body.woocommerce-checkout .vlg-privacy-text a {
  color: #d56f00;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}


/* ============================================================
 * PILT 3 — JALUS
 * ============================================================
 * 4-kaardi ülemine riba (Tasuta tarne / Kiire tarne / Turvalised
 * maksed / Eesti klienditugi) on hetkel pisut hajus — mündikujulised
 * tühjad ringid + tekst. Teeme need selgemateks ikoonpiltideks
 * (ikoon + tekst + tagaplaani gradient kaart).
 * ============================================================ */

.vlg-footer.vlg-footer--premium .vlg-footer-trustbar {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  padding: 20px 0 28px !important;
  margin: 0 !important;
  list-style: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}

@media (max-width: 980px) {
  .vlg-footer.vlg-footer--premium .vlg-footer-trustbar {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 520px) {
  .vlg-footer.vlg-footer--premium .vlg-footer-trustbar {
    grid-template-columns: 1fr !important;
  }
}

.vlg-footer.vlg-footer--premium .vlg-footer-trustitem {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 16px 18px !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, .04) 0%, rgba(255, 255, 255, .015) 100%) !important;
  border: 1px solid rgba(255, 255, 255, .08) !important;
  color: #e2e8f0 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 10px 24px rgba(0, 0, 0, .15) !important;
  transition: transform .15s ease, border-color .15s ease, background .15s ease !important;
}

.vlg-footer.vlg-footer--premium .vlg-footer-trustitem:hover {
  transform: translateY(-1px) !important;
  border-color: rgba(255, 204, 0, .3) !important;
  background: linear-gradient(180deg, rgba(255, 215, 80, .06) 0%, rgba(255, 215, 80, .015) 100%) !important;
}

.vlg-footer.vlg-footer--premium .vlg-footer-trustitem__icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 12px !important;
  background: linear-gradient(180deg, rgba(255, 215, 80, .18) 0%, rgba(255, 165, 0, .08) 100%) !important;
  border: 1px solid rgba(255, 215, 80, .26) !important;
  color: #ffd400 !important;
  font-size: 18px !important;
}

/* Jalus üldine - taustakaar parem peep, glow soft. */
.vlg-footer.vlg-footer--premium {
  background:
    radial-gradient(ellipse at 12% 18%, rgba(255, 204, 0, .07) 0%, transparent 50%),
    radial-gradient(ellipse at 88% 92%, rgba(43, 96, 220, .08) 0%, transparent 55%),
    linear-gradient(180deg, #0c1a2e 0%, #0a1626 100%) !important;
  color: #cbd5e1 !important;
}

.vlg-footer.vlg-footer--premium .vlg-footer-glow {
  filter: blur(60px);
  opacity: .35;
}

/* Brand + kirjeldus blokk */
.vlg-footer.vlg-footer--premium .vlg-footer-brand,
.vlg-footer.vlg-footer--premium .vlg-footer-about {
  padding-right: 12px;
}

.vlg-footer.vlg-footer--premium .vlg-footer-about p {
  color: #94a3b8 !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

/* Kontakti kaardid (TELEFON, E-POST) — paremad rounded ja äär. */
.vlg-footer.vlg-footer--premium .vlg-footer-contact-card,
.vlg-footer.vlg-footer--premium .vlg-footer-cta-card {
  margin: 12px 0 !important;
  padding: 16px 18px !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, .04) 0%, rgba(255, 255, 255, .015) 100%) !important;
  border: 1px solid rgba(255, 255, 255, .08) !important;
}

.vlg-footer.vlg-footer--premium .vlg-footer-contact-card label,
.vlg-footer.vlg-footer--premium .vlg-footer-cta-card label,
.vlg-footer.vlg-footer--premium .vlg-footer-cta-card span {
  display: block;
  margin-bottom: 4px;
  color: #94a3b8 !important;
  font-size: 11px !important;
  font-weight: 1000 !important;
  text-transform: uppercase !important;
  letter-spacing: .12em !important;
}

.vlg-footer.vlg-footer--premium .vlg-footer-contact-card a,
.vlg-footer.vlg-footer--premium .vlg-footer-cta-card a,
.vlg-footer.vlg-footer--premium .vlg-footer-cta-card strong {
  color: #f8fafc !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  letter-spacing: -.01em !important;
}

.vlg-footer.vlg-footer--premium .vlg-footer-contact-card a:hover {
  color: #ffd400 !important;
}

/* Menüü pealkirjad / link-listid */
.vlg-footer.vlg-footer--premium .vlg-footer-col h4,
.vlg-footer.vlg-footer--premium .vlg-footer-col h3 {
  position: relative;
  margin: 0 0 16px !important;
  padding-bottom: 10px !important;
  color: #f8fafc !important;
  font-size: 12px !important;
  font-weight: 1000 !important;
  text-transform: uppercase !important;
  letter-spacing: .14em !important;
}

.vlg-footer.vlg-footer--premium .vlg-footer-col h4::after,
.vlg-footer.vlg-footer--premium .vlg-footer-col h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 28px;
  height: 2px;
  background: linear-gradient(90deg, #ffd400 0%, #fb8500 100%);
  border-radius: 999px;
}

.vlg-footer.vlg-footer--premium .vlg-footer-col ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.vlg-footer.vlg-footer--premium .vlg-footer-col li {
  margin: 0 0 9px;
}

.vlg-footer.vlg-footer--premium .vlg-footer-col a {
  display: inline-block;
  color: #cbd5e1 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: color .15s ease, transform .15s ease;
}

.vlg-footer.vlg-footer--premium .vlg-footer-col a:hover {
  color: #ffd400 !important;
  transform: translateX(2px);
}

/* "Makselahendused" — pangad pillidena, mitte tekstina */
.vlg-footer.vlg-footer--premium .vlg-footer-payments,
.vlg-footer.vlg-footer--premium .vlg-footer-payment-list,
.vlg-footer.vlg-footer--premium .vlg-footer-banks {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
}

.vlg-footer.vlg-footer--premium .vlg-footer-payments > *,
.vlg-footer.vlg-footer--premium .vlg-footer-payment-list > *,
.vlg-footer.vlg-footer--premium .vlg-footer-banks > * {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .07);
  color: #f8fafc;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .02em;
  border: 1px solid rgba(255, 255, 255, .1);
  white-space: nowrap;
}

/* Footer copyright rida + makseteenusepakkujad alumine rida */
.vlg-footer.vlg-footer--premium .vlg-footer-bottom,
.vlg-footer.vlg-footer--premium .vlg-footer-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-top: 28px !important;
  padding: 20px 0 !important;
  border-top: 1px solid rgba(255, 255, 255, .06) !important;
  color: #64748b !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
}

.vlg-footer.vlg-footer--premium .vlg-footer-bottom a,
.vlg-footer.vlg-footer--premium .vlg-footer-meta a {
  color: #94a3b8 !important;
  text-decoration: none !important;
}

.vlg-footer.vlg-footer--premium .vlg-footer-bottom a:hover,
.vlg-footer.vlg-footer--premium .vlg-footer-meta a:hover {
  color: #ffd400 !important;
}


/* === 139-v543-mobile-cart-free-shipping-fix.css === */
/* ============================================================
 * v5.1.45 / v5.4.3 — mobiilse ostukorvi tasuta tarne plokk
 * ============================================================
 * Eelmises polish-failis sihiti kogemata kogu .vlg-free-shipping-progress
 * konteinerit progressiriba stiiliga (height:10px + overflow:hidden), mistõttu
 * pealkiri ja summa jäid telefonis kaardi ülaosa taha/ära lõigatuks.
 * Siin taastame konteineri kaardina ja jätame 10px kõrguse ainult sisemisele
 * progressiribale.
 */

body.woocommerce-cart .vlg-free-shipping-progress,
body.woocommerce-checkout .vlg-free-shipping-progress {
  position: relative !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 0 18px !important;
  padding: 16px 18px !important;
  background: linear-gradient(180deg, #fffbf3 0%, #fff7ec 100%) !important;
  border: 1px solid rgba(251, 133, 0, .18) !important;
  border-radius: 20px !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .06) !important;
  overflow: visible !important;
  color: #0f172a !important;
}

body.woocommerce-cart .vlg-free-shipping-progress__head,
body.woocommerce-checkout .vlg-free-shipping-progress__head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 0 0 11px !important;
  line-height: 1.35 !important;
}

body.woocommerce-cart .vlg-free-shipping-progress__head strong,
body.woocommerce-checkout .vlg-free-shipping-progress__head strong {
  flex: 0 0 auto !important;
  color: #0f172a !important;
  font-size: 15px !important;
  font-weight: 1000 !important;
  white-space: nowrap !important;
}

body.woocommerce-cart .vlg-free-shipping-progress__head span,
body.woocommerce-checkout .vlg-free-shipping-progress__head span {
  display: block !important;
  min-width: 0 !important;
  color: #334155 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  text-align: right !important;
}

body.woocommerce-cart .vlg-free-shipping-progress__bar,
body.woocommerce-checkout .vlg-free-shipping-progress__bar,
body.woocommerce-cart .vlg-free-shipping-progress > span,
body.woocommerce-checkout .vlg-free-shipping-progress > span,
body.woocommerce-cart .vlg-core-free-shipping-progress__bar,
body.woocommerce-checkout .vlg-core-free-shipping-progress__bar {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 10px !important;
  margin: 0 !important;
  background: rgba(15, 23, 42, .08) !important;
  border-radius: 999px !important;
  overflow: hidden !important;
}

body.woocommerce-cart .vlg-free-shipping-progress__bar span,
body.woocommerce-checkout .vlg-free-shipping-progress__bar span,
body.woocommerce-cart .vlg-free-shipping-progress > span > i,
body.woocommerce-checkout .vlg-free-shipping-progress > span > i,
body.woocommerce-cart .vlg-core-free-shipping-progress__bar i,
body.woocommerce-checkout .vlg-core-free-shipping-progress__bar i {
  position: absolute !important;
  inset: 0 auto 0 0 !important;
  display: block !important;
  height: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  background: linear-gradient(90deg, #ffe25a 0%, #ffd400 50%, #f5b800 100%) !important;
  border-radius: inherit !important;
  box-shadow: 0 0 0 1px rgba(255, 204, 0, .35) inset, 0 4px 8px rgba(245, 184, 0, .25) !important;
}

body.woocommerce-cart .vlg-core-free-shipping-progress,
body.woocommerce-checkout .vlg-core-free-shipping-progress {
  display: block;
  margin: 0 0 18px;
  padding: 16px 18px;
  border-radius: 20px;
  background: linear-gradient(180deg, #fffbf3 0%, #fff7ec 100%);
  border: 1px solid rgba(251, 133, 0, .18);
  box-shadow: 0 10px 28px rgba(15, 23, 42, .06);
}

body.woocommerce-cart .vlg-core-free-shipping-progress strong,
body.woocommerce-checkout .vlg-core-free-shipping-progress strong {
  display: block;
  margin: 0 0 11px;
  color: #0f172a;
  font-size: 15px;
  font-weight: 1000;
  line-height: 1.35;
}

@media (max-width: 782px) {
  body.woocommerce-cart main,
  body.woocommerce-cart .vlg-main,
  body.woocommerce-cart #primary,
  body.woocommerce-cart .woocommerce {
    overflow: visible !important;
  }

  body.woocommerce-cart .vlg-free-shipping-progress,
  body.woocommerce-checkout .vlg-free-shipping-progress,
  body.woocommerce-cart .vlg-core-free-shipping-progress,
  body.woocommerce-checkout .vlg-core-free-shipping-progress {
    margin: 10px 0 18px !important;
    padding: 15px 16px !important;
    border-radius: 18px !important;
  }

  body.woocommerce-cart .vlg-free-shipping-progress__head,
  body.woocommerce-checkout .vlg-free-shipping-progress__head {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 6px !important;
  }

  body.woocommerce-cart .vlg-free-shipping-progress__head span,
  body.woocommerce-checkout .vlg-free-shipping-progress__head span {
    text-align: left !important;
  }

  body.woocommerce-cart .woocommerce-cart-form,
  body.woocommerce-cart form.woocommerce-cart-form {
    margin-top: 0 !important;
    clear: both !important;
  }
}


/* === 140-v549-mobile-product-card-images.css === */
/* v5.1.49 — mobile product card image enlargement
   Less empty grey area in product cards: the product photo/canvas is scaled
   up while keeping contain behavior so bulbs are not cropped. */
@media (max-width: 782px) {
  body.vlg-theme ul.products li.product.vlg-product-card .vlg-card-image-wrap,
  body.vlg-theme .vlg-products-grid .vlg-product-card .vlg-card-image-wrap,
  body.vlg-theme .vlg-shop-products .vlg-product-card .vlg-card-image-wrap,
  body.vlg-theme .vlg-home-product-section .vlg-product-card .vlg-card-image-wrap,
  body.vlg-theme .related.products .vlg-product-card .vlg-card-image-wrap,
  body.vlg-theme .upsells.products .vlg-product-card .vlg-card-image-wrap {
    padding: 6px !important;
    min-height: 0 !important;
    aspect-ratio: 1 / .96 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
  }

  body.vlg-theme ul.products li.product.vlg-product-card .vlg-card-image-wrap img,
  body.vlg-theme .vlg-products-grid .vlg-product-card .vlg-card-image-wrap img,
  body.vlg-theme .vlg-shop-products .vlg-product-card .vlg-card-image-wrap img,
  body.vlg-theme .vlg-home-product-section .vlg-product-card .vlg-card-image-wrap img,
  body.vlg-theme .related.products .vlg-product-card .vlg-card-image-wrap img,
  body.vlg-theme .upsells.products .vlg-product-card .vlg-card-image-wrap img,
  body.vlg-theme ul.products li.product.vlg-product-card .vlg-card-image-wrap .wp-post-image,
  body.vlg-theme .vlg-products-grid .vlg-product-card .vlg-card-image-wrap .wp-post-image,
  body.vlg-theme .vlg-shop-products .vlg-product-card .vlg-card-image-wrap .wp-post-image,
  body.vlg-theme .vlg-home-product-section .vlg-product-card .vlg-card-image-wrap .wp-post-image {
    width: 94% !important;
    height: 94% !important;
    max-width: 94% !important;
    max-height: 94% !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: auto !important;
    transform: none !important;
  }

  body.vlg-theme ul.products li.product.vlg-product-card .vlg-card-image-wrap .valgusallikad-energiasildid-label-wrap,
  body.vlg-theme .vlg-products-grid .vlg-product-card .vlg-card-image-wrap .valgusallikad-energiasildid-label-wrap,
  body.vlg-theme .vlg-shop-products .vlg-product-card .vlg-card-image-wrap .valgusallikad-energiasildid-label-wrap,
  body.vlg-theme .vlg-home-product-section .vlg-product-card .vlg-card-image-wrap .valgusallikad-energiasildid-label-wrap {
    right: 8px !important;
    bottom: 8px !important;
  }
}

@media (max-width: 420px) {
  body.vlg-theme ul.products li.product.vlg-product-card .vlg-card-image-wrap,
  body.vlg-theme .vlg-products-grid .vlg-product-card .vlg-card-image-wrap,
  body.vlg-theme .vlg-shop-products .vlg-product-card .vlg-card-image-wrap,
  body.vlg-theme .vlg-home-product-section .vlg-product-card .vlg-card-image-wrap {
    padding: 4px !important;
  }

  body.vlg-theme ul.products li.product.vlg-product-card .vlg-card-image-wrap img,
  body.vlg-theme .vlg-products-grid .vlg-product-card .vlg-card-image-wrap img,
  body.vlg-theme .vlg-shop-products .vlg-product-card .vlg-card-image-wrap img,
  body.vlg-theme .vlg-home-product-section .vlg-product-card .vlg-card-image-wrap img {
    width: 96% !important;
    height: 96% !important;
    max-width: 96% !important;
    max-height: 96% !important;
  }
}


/* === 127-v546-footer-oomi-refresh.css === */
/* v5.1.46 — premium footer refresh inspired by cleaner e-commerce footers.
   Goal: remove the overly heavy/glowy feel, make columns more structured,
   move payment badges to the bottom bar, and keep all footer columns visible
   on mobile instead of hiding them. */

body.vlg-theme .vlg-footer.vlg-footer--premium.vlg-footer--refined {
  margin-top: 52px !important;
  padding: 38px 0 20px !important;
  background:
    radial-gradient(circle at 0% 100%, rgba(255,176,63,.10) 0%, transparent 32%),
    radial-gradient(circle at 100% 0%, rgba(64,136,255,.10) 0%, transparent 28%),
    linear-gradient(180deg, #081423 0%, #06101d 100%) !important;
  border-top: 1px solid rgba(255,255,255,.06);
}

body.vlg-theme .vlg-footer.vlg-footer--premium.vlg-footer--refined::before {
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0)) !important;
}

body.vlg-theme .vlg-footer-glow { display: none !important; }
body.vlg-theme .vlg-footer-premium-wrap { max-width: 1320px; }

body.vlg-theme .vlg-footer-trustbar {
  margin-bottom: 28px !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

body.vlg-theme .vlg-footer-trustitem {
  min-height: 74px;
  display: flex !important;
  align-items: center;
  gap: 14px;
  padding: 16px 18px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: rgba(255,255,255,.03) !important;
  box-shadow: none !important;
}

body.vlg-theme .vlg-footer-trustitem__icon {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: rgba(255,176,63,.10);
  border: 1px solid rgba(255,176,63,.22);
  color: #ffd487;
  font-size: 18px;
  flex: 0 0 42px;
}

body.vlg-theme .vlg-footer-trustitem span:last-child {
  color: #f7fafc;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
}

body.vlg-theme .vlg-footer-shell {
  gap: 28px !important;
  align-items: start;
  grid-template-columns: minmax(280px, 1.02fr) minmax(0, 1.98fr) !important;
}

body.vlg-theme .vlg-footer-brand-card,
body.vlg-theme .vlg-footer-panel {
  border-radius: 22px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.025)) !important;
  box-shadow: none !important;
}

body.vlg-theme .vlg-footer-brand-card {
  padding: 24px 24px 22px !important;
}

body.vlg-theme .vlg-footer-brand-card::before,
body.vlg-theme .vlg-footer-panel::before {
  opacity: 0 !important;
}

body.vlg-theme .vlg-footer-brand-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
}

body.vlg-theme .vlg-footer-brand-head .vlg-logo img {
  max-height: 56px;
  width: auto;
}

body.vlg-theme .vlg-footer-badge {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(255,176,63,.12);
  border: 1px solid rgba(255,176,63,.22);
  color: #ffe2a8;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.vlg-theme .vlg-footer-about {
  margin: 0 0 18px !important;
  color: #d8e1ec !important;
  font-size: 16px;
  line-height: 1.75;
}

body.vlg-theme .vlg-footer-brand-meta {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px !important;
  margin-bottom: 16px;
}

body.vlg-theme .vlg-footer-mini-card {
  min-height: 92px;
  padding: 16px 18px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: rgba(255,255,255,.02) !important;
}

body.vlg-theme .vlg-footer-mini-card strong,
body.vlg-theme .vlg-footer-contact-row strong {
  display: block;
  margin-bottom: 6px;
  color: #96a9c0;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

body.vlg-theme .vlg-footer-mini-card a,
body.vlg-theme .vlg-footer-contact-row a,
body.vlg-theme .vlg-footer-contact-row span:last-child {
  color: #ffffff !important;
  font-size: 16px;
  font-weight: 700;
}

body.vlg-theme .vlg-footer-brand-tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.08);
}

body.vlg-theme .vlg-footer-grid.vlg-footer-grid--refined {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

body.vlg-theme .vlg-footer-panel {
  padding: 22px 22px 20px !important;
}

body.vlg-theme .vlg-footer h3,
body.vlg-theme .vlg-footer-col h3 {
  margin: 0 0 16px !important;
  padding-bottom: 12px;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

body.vlg-theme .vlg-footer h3::after,
body.vlg-theme .vlg-footer-col h3::after {
  content: '';
  display: block;
  width: 44px;
  height: 3px;
  margin-top: 11px;
  border-radius: 999px;
  background: linear-gradient(90deg, #ffbf5e, #f6a61e);
}

body.vlg-theme .vlg-footer-menu {
  display: grid !important;
  gap: 10px !important;
}

body.vlg-theme .vlg-footer-menu li {
  margin: 0;
}

body.vlg-theme .vlg-footer-menu a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #dbe4ee !important;
  font-size: 15px;
  line-height: 1.5;
  text-decoration: none;
}

body.vlg-theme .vlg-footer-menu a::before {
  content: '›';
  color: rgba(255,191,94,.92);
  font-size: 16px;
  line-height: 1;
}

body.vlg-theme .vlg-footer-menu a:hover {
  color: #ffca72 !important;
  transform: translateX(2px);
}

body.vlg-theme .vlg-footer-contact-list {
  display: grid;
  gap: 12px;
}

body.vlg-theme .vlg-footer-contact-row {
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 14px 0;
}

body.vlg-theme .vlg-footer-contact-row + .vlg-footer-contact-row {
  border-top: 1px solid rgba(255,255,255,.08);
}

body.vlg-theme .vlg-footer-contact-icon {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  color: #ffca72;
  font-size: 18px;
}

body.vlg-theme .vlg-footer-payments-wrap {
  margin-top: 16px;
}

body.vlg-theme .vlg-footer-bottom.vlg-footer-bottom--premium {
  display: grid !important;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 18px 24px;
  margin-top: 24px;
  padding-top: 20px !important;
  border-top: 1px solid rgba(255,255,255,.10);
}

body.vlg-theme .vlg-footer-bottom__copy {
  color: #aebed1;
  font-size: 14px;
  line-height: 1.5;
}

body.vlg-theme .vlg-footer-bottom__payments {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
}

body.vlg-theme .vlg-footer-bottom__payments-title {
  color: #d9e4f1;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

body.vlg-theme .vlg-footer-bottom__meta {
  color: #94a9c0;
  font-size: 13px;
  text-align: right;
}

body.vlg-theme .vlg-payment-badges--footer-bottom {
  display: flex !important;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
}

body.vlg-theme .vlg-payment-badges--footer-bottom .vlg-payment-badge {
  background: rgba(255,255,255,.94) !important;
  color: #1d2a38 !important;
  border-color: rgba(255,255,255,.94) !important;
  box-shadow: none !important;
}

body.vlg-theme .vlg-payment-badges--footer-bottom .vlg-payment-badge.is-image {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: 8px 12px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.98) !important;
}

body.vlg-theme .vlg-payment-badges--footer-bottom .vlg-payment-badge.is-image img {
  max-height: 22px;
  width: auto;
}

@media (max-width: 1180px) {
  body.vlg-theme .vlg-footer-shell {
    grid-template-columns: 1fr !important;
  }

  body.vlg-theme .vlg-footer-grid.vlg-footer-grid--refined {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.vlg-theme .vlg-footer-bottom.vlg-footer-bottom--premium {
    grid-template-columns: 1fr !important;
    justify-items: start;
  }

  body.vlg-theme .vlg-footer-bottom__payments {
    justify-content: flex-start;
  }

  body.vlg-theme .vlg-footer-bottom__meta {
    text-align: left;
  }
}

@media (max-width: 767px) {
  body.vlg-theme .vlg-footer.vlg-footer--premium.vlg-footer--refined {
    margin-top: 34px !important;
    padding: 28px 0 calc(102px + env(safe-area-inset-bottom)) !important;
  }

  body.vlg-theme .vlg-footer-trustbar {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body.vlg-theme .vlg-footer-trustitem {
    min-height: 0;
    padding: 14px !important;
    border-radius: 16px !important;
  }

  body.vlg-theme .vlg-footer-shell,
  body.vlg-theme .vlg-footer-grid.vlg-footer-grid--refined,
  body.vlg-theme .vlg-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  body.vlg-theme .vlg-footer-col:nth-of-type(n+2) {
    display: block !important;
  }

  body.vlg-theme .vlg-footer-brand-card,
  body.vlg-theme .vlg-footer-panel {
    padding: 18px !important;
    border-radius: 18px !important;
  }

  body.vlg-theme .vlg-footer-brand-head {
    flex-direction: column;
    align-items: flex-start;
  }

  body.vlg-theme .vlg-footer-brand-meta {
    grid-template-columns: 1fr !important;
  }

  body.vlg-theme .vlg-footer-about,
  body.vlg-theme .vlg-footer-menu a,
  body.vlg-theme .vlg-footer-mini-card a,
  body.vlg-theme .vlg-footer-contact-row a,
  body.vlg-theme .vlg-footer-contact-row span:last-child {
    font-size: 15px !important;
  }

  body.vlg-theme .vlg-footer-brand-tools {
    flex-direction: column;
    align-items: flex-start;
  }

  body.vlg-theme .vlg-footer-bottom.vlg-footer-bottom--premium {
    margin-top: 18px;
    gap: 14px;
  }
}

@media (max-width: 520px) {
  body.vlg-theme .vlg-footer-trustbar {
    grid-template-columns: 1fr !important;
  }
}


/* === 128-v547-mobile-menu-product-fixes.css === */
/* v5.1.47 — mobile category drawer cleanup.
   The earlier redesign used pill-like labels inside every category row. On
   narrow Android / Messenger WebView screens those pills clipped text and
   made the menu look broken. This final override uses a cleaner row layout. */

@media (max-width: 782px) {
  body.vlg-theme.vlg-menu-open,
  body.vlg-theme.vlg-menu-open html {
    overflow: hidden !important;
  }

  body.vlg-theme .vlg-nav.is-open,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open {
    display: block !important;
    position: fixed !important;
    inset: 10px !important;
    width: auto !important;
    max-width: none !important;
    max-height: calc(100dvh - 20px) !important;
    border-radius: 28px !important;
    background: #f7f8fb !important;
    overflow: hidden !important;
    z-index: 99998 !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-nav-inner,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-nav-inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    height: 100% !important;
    max-height: calc(100dvh - 20px) !important;
    padding: 14px !important;
    overflow: hidden !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-head,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-mobile-nav-head {
    flex: 0 0 auto !important;
    min-height: 74px !important;
    margin: 0 !important;
    padding: 16px 74px 16px 18px !important;
    border-radius: 22px !important;
    background: linear-gradient(135deg, #0b1424 0%, #1a263a 100%) !important;
    color: #fff !important;
    overflow: hidden !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-close,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-mobile-nav-close {
    top: 24px !important;
    right: 24px !important;
    width: 52px !important;
    height: 52px !important;
    border-radius: 18px !important;
    background: #fff !important;
    color: #0f172a !important;
    box-shadow: 0 10px 24px rgba(15,23,42,.20) !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-quick-links,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-mobile-quick-links {
    flex: 0 0 auto !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 0 !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-quick-links a,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-mobile-quick-links a {
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #dde5ee !important;
    border-radius: 16px !important;
    background: #fff !important;
    color: #121826 !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    box-shadow: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-menu,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-menu {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-button,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-button {
    flex: 0 0 auto !important;
    width: 100% !important;
    min-height: 64px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 16px !important;
    border-radius: 20px !important;
    background: #111c30 !important;
    color: #fff !important;
    font-size: 21px !important;
    font-weight: 950 !important;
    box-shadow: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-category-dropdown {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    display: block !important;
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 12px !important;
    border: 1px solid #dfe7f0 !important;
    border-radius: 22px !important;
    background: #fff !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    box-shadow: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-dropdown-list,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-tree,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-dropdown-list,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-tree {
    display: grid !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-submenu,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-submenu {
    margin: 8px 0 0 14px !important;
    padding: 0 0 0 12px !important;
    border-left: 2px solid rgba(242,138,0,.22) !important;
    display: none;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-item.is-sub-open > .vlg-cat-submenu,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-subtoggle[aria-expanded="true"] ~ .vlg-cat-submenu,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-item.is-sub-open > .vlg-cat-submenu {
    display: grid !important;
    gap: 10px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-row,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 10px !important;
    align-items: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-link,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-link {
    min-width: 0 !important;
    width: 100% !important;
    min-height: 56px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 10px !important;
    align-items: center !important;
    padding: 10px 12px !important;
    border: 1px solid #e3eaf2 !important;
    border-radius: 18px !important;
    background: #fff !important;
    color: #111827 !important;
    text-decoration: none !important;
    box-shadow: 0 8px 18px rgba(15,23,42,.05) !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-link::before,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-link::before,
  body.vlg-theme .vlg-nav.is-open .vlg-cat-title::before,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-title::before {
    display: none !important;
    content: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-title,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-title {
    display: block !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #111827 !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    text-transform: none !important;
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-depth-0 > .vlg-cat-row .vlg-cat-title,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-depth-0 > .vlg-cat-row .vlg-cat-title {
    text-transform: uppercase !important;
    font-size: 15px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-count,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-count {
    min-width: 38px !important;
    height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    background: #edf3f9 !important;
    color: #64748b !important;
    font-size: 14px !important;
    font-weight: 900 !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-subtoggle,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-subtoggle {
    width: 54px !important;
    min-width: 54px !important;
    min-height: 56px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 18px !important;
    background: #f28a00 !important;
    color: #fff !important;
    box-shadow: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-cat-subtoggle span,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-cat-subtoggle span {
    color: inherit !important;
    font-size: 19px !important;
    font-weight: 900 !important;
    transform: none !important;
  }
}


/* === 141-v553-mobile-pagination-gap.css === */
/* v5.1.53 — mobile pagination spacing fix.
   Adds clear gaps between page numbers and keeps touch targets comfortable. */

body.vlg-theme nav.woocommerce-pagination,
body.vlg-theme .woocommerce nav.woocommerce-pagination,
body.vlg-theme .vlg-pagination,
body.vlg-theme .pagination,
body.vlg-theme .nav-links {
  width: 100%;
}

body.vlg-theme nav.woocommerce-pagination ul.page-numbers,
body.vlg-theme .woocommerce nav.woocommerce-pagination ul.page-numbers,
body.vlg-theme ul.page-numbers,
body.vlg-theme .page-numbers:not(span):not(a),
body.vlg-theme .vlg-pagination .page-numbers,
body.vlg-theme .pagination .page-numbers,
body.vlg-theme .nav-links {
  display: flex !important;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px !important;
  row-gap: 14px !important;
  border: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.vlg-theme nav.woocommerce-pagination ul.page-numbers li,
body.vlg-theme .woocommerce nav.woocommerce-pagination ul.page-numbers li,
body.vlg-theme ul.page-numbers li {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  float: none !important;
}

body.vlg-theme nav.woocommerce-pagination .page-numbers li > a,
body.vlg-theme nav.woocommerce-pagination .page-numbers li > span,
body.vlg-theme .woocommerce nav.woocommerce-pagination .page-numbers li > a,
body.vlg-theme .woocommerce nav.woocommerce-pagination .page-numbers li > span,
body.vlg-theme a.page-numbers,
body.vlg-theme span.page-numbers,
body.vlg-theme .page-numbers.current,
body.vlg-theme .nav-links .page-numbers {
  min-width: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 14px !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
}

@media (max-width: 782px) {
  body.vlg-theme nav.woocommerce-pagination,
  body.vlg-theme .woocommerce nav.woocommerce-pagination,
  body.vlg-theme .vlg-pagination,
  body.vlg-theme .pagination {
    padding: 16px 10px 22px !important;
    overflow-x: visible !important;
  }

  body.vlg-theme nav.woocommerce-pagination ul.page-numbers,
  body.vlg-theme .woocommerce nav.woocommerce-pagination ul.page-numbers,
  body.vlg-theme ul.page-numbers,
  body.vlg-theme .vlg-pagination .page-numbers,
  body.vlg-theme .pagination .page-numbers,
  body.vlg-theme .nav-links {
    gap: 10px !important;
    row-gap: 12px !important;
    padding: 0 8px !important;
  }

  body.vlg-theme nav.woocommerce-pagination .page-numbers li > a,
  body.vlg-theme nav.woocommerce-pagination .page-numbers li > span,
  body.vlg-theme .woocommerce nav.woocommerce-pagination .page-numbers li > a,
  body.vlg-theme .woocommerce nav.woocommerce-pagination .page-numbers li > span,
  body.vlg-theme a.page-numbers,
  body.vlg-theme span.page-numbers,
  body.vlg-theme .page-numbers.current,
  body.vlg-theme .nav-links .page-numbers {
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 0 12px !important;
    font-size: 16px !important;
  }
}

@media (max-width: 380px) {
  body.vlg-theme nav.woocommerce-pagination ul.page-numbers,
  body.vlg-theme .woocommerce nav.woocommerce-pagination ul.page-numbers,
  body.vlg-theme ul.page-numbers,
  body.vlg-theme .vlg-pagination .page-numbers,
  body.vlg-theme .pagination .page-numbers,
  body.vlg-theme .nav-links {
    gap: 8px !important;
  }

  body.vlg-theme nav.woocommerce-pagination .page-numbers li > a,
  body.vlg-theme nav.woocommerce-pagination .page-numbers li > span,
  body.vlg-theme .woocommerce nav.woocommerce-pagination .page-numbers li > a,
  body.vlg-theme .woocommerce nav.woocommerce-pagination .page-numbers li > span,
  body.vlg-theme a.page-numbers,
  body.vlg-theme span.page-numbers,
  body.vlg-theme .page-numbers.current,
  body.vlg-theme .nav-links .page-numbers {
    min-width: 42px !important;
    min-height: 42px !important;
    padding: 0 10px !important;
  }
}


/* === 142-v554-footer-icon-centering.css === */
/* v5.1.54 — center footer support icons precisely within their boxes
   and make them visually fill the icon tile more confidently. */
body.vlg-theme .vlg-footer-contact-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  text-align: center !important;
  line-height: 1 !important;
  overflow: hidden !important;
  width: 64px !important;
  height: 64px !important;
  min-width: 64px !important;
  flex: 0 0 64px !important;
  border-radius: 18px !important;
  font-size: 32px !important;
}
body.vlg-theme .vlg-footer-contact-row {
  grid-template-columns: 64px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 18px !important;
}
body.vlg-theme .vlg-footer-contact-row > div {
  min-width: 0;
}
@media (max-width: 767px) {
  body.vlg-theme .vlg-footer-contact-icon {
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    flex-basis: 64px !important;
    font-size: 32px !important;
    border-radius: 18px !important;
  }
  body.vlg-theme .vlg-footer-contact-row {
    grid-template-columns: 64px minmax(0, 1fr) !important;
    gap: 16px !important;
  }
}


/* === 143-v555-single-notice-offset.css === */
/* v5.1.55 — single-product notice/breadcrumb offset for sticky header.
   When WooCommerce redirects back to the product after add-to-cart,
   the page can land with the success notice partly hidden behind the sticky header/nav.
   Give the relevant anchors and blocks enough scroll margin so they stay fully visible. */
body.vlg-theme.single-product .woocommerce-notices-wrapper,
body.vlg-theme.single-product .woocommerce-message,
body.vlg-theme.single-product .woocommerce-info,
body.vlg-theme.single-product .woocommerce-error,
body.vlg-theme.single-product .vlg-breadcrumbs,
body.vlg-theme.single-product .woocommerce-breadcrumb {
  scroll-margin-top: 170px !important;
}

body.vlg-theme.single-product .woocommerce-notices-wrapper {
  position: relative;
  z-index: 2;
}

@media (max-width: 991px) {
  body.vlg-theme.single-product .woocommerce-notices-wrapper,
  body.vlg-theme.single-product .woocommerce-message,
  body.vlg-theme.single-product .woocommerce-info,
  body.vlg-theme.single-product .woocommerce-error,
  body.vlg-theme.single-product .vlg-breadcrumbs,
  body.vlg-theme.single-product .woocommerce-breadcrumb {
    scroll-margin-top: 110px !important;
  }
}


/* === 144-v556-mobile-energy-overlay-backdrop-pagination.css === */
/* v5.1.56 — mobile energy overlay cleanup, lighter category backdrops,
   and cleaner single-row pagination on phones. */

/* 1) Do not show energy labels on top of product images.
   The badge already appears in the content area, so image overlays are duplicate. */
body.vlg-theme .vlg-mobile-featured-image .vlg-energy-overlay,
body.vlg-theme .vlg-product-gallery .vlg-energy-overlay,
body.vlg-theme .woocommerce-product-gallery .vlg-energy-overlay,
body.vlg-theme .valgusallikad-energiasildid-thumb-wrap .valgusallikad-energiasildid-label-wrap {
  display: none !important;
}

/* If Core wrapped the image just for the overlay, keep layout clean. */
body.vlg-theme .valgusallikad-energiasildid-thumb-wrap {
  display: inline-block;
}

/* 2) Category / filter / sheet backdrop should not turn the whole page too dark. */
body.vlg-theme .vlg-mobile-backdrop:not([hidden]),
body.vlg-theme .vlg-filter-backdrop:not([hidden]),
body.vlg-theme .vlg-sales-os-sheet__backdrop {
  background: rgba(7, 18, 36, 0.16) !important;
  backdrop-filter: blur(2px) saturate(108%) !important;
  -webkit-backdrop-filter: blur(2px) saturate(108%) !important;
}

/* 3) Mobile pagination — one clean row, good spacing, horizontal scroll if needed. */
@media (max-width: 767px) {
  body.vlg-theme nav.woocommerce-pagination,
  body.vlg-theme .woocommerce nav.woocommerce-pagination,
  body.vlg-theme .vlg-pagination,
  body.vlg-theme .pagination {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
  }

  body.vlg-theme nav.woocommerce-pagination ul.page-numbers,
  body.vlg-theme .woocommerce nav.woocommerce-pagination ul.page-numbers,
  body.vlg-theme .vlg-pagination .page-numbers,
  body.vlg-theme .pagination .page-numbers,
  body.vlg-theme ul.page-numbers {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    width: max-content !important;
    min-width: 100%;
    margin: 0 auto !important;
    padding: 0 8px 6px !important;
    white-space: nowrap !important;
  }

  body.vlg-theme nav.woocommerce-pagination ul.page-numbers li,
  body.vlg-theme .woocommerce nav.woocommerce-pagination ul.page-numbers li,
  body.vlg-theme ul.page-numbers li {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
  }

  body.vlg-theme nav.woocommerce-pagination .page-numbers li > a,
  body.vlg-theme nav.woocommerce-pagination .page-numbers li > span,
  body.vlg-theme .woocommerce nav.woocommerce-pagination .page-numbers li > a,
  body.vlg-theme .woocommerce nav.woocommerce-pagination .page-numbers li > span,
  body.vlg-theme a.page-numbers,
  body.vlg-theme span.page-numbers,
  body.vlg-theme .page-numbers.current,
  body.vlg-theme .nav-links .page-numbers {
    min-width: 52px !important;
    height: 52px !important;
    padding: 0 14px !important;
    border-radius: 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    font-size: 20px !important;
    font-weight: 800 !important;
  }

  body.vlg-theme span.page-numbers.dots,
  body.vlg-theme nav.woocommerce-pagination .page-numbers li > span.dots,
  body.vlg-theme .woocommerce nav.woocommerce-pagination .page-numbers li > span.dots {
    min-width: 40px !important;
    padding-inline: 8px !important;
    letter-spacing: 0.06em;
  }
}


/* === 145-v557-fixes.css === */
/* v5.1.57 — focused fixes
 *
 *  1) Energy label: belt-and-suspenders hide the EU label that the
 *     valgusallikad-eu-energy-labels Core module renders on top of product
 *     images. The plugin itself now defers to the theme, but if it is forced
 *     on via filter or an older Core build is still installed, this rule
 *     prevents the doubled red "EU G" mark on cards and the single gallery.
 *
 *  2) Mobile category drawer: when the drawer is open, raise the drawer
 *     above the backdrop and guarantee the category dropdown is interactive.
 *     The previous build sometimes left .vlg-mobile-backdrop sitting in
 *     front of the drawer contents, which read as a "dead grey screen
 *     I cannot tap" after pressing "Kõik kategooriad".
 *
 *  3) Admin: make the top tabs sticky, drop the duplicate "Salvesta /
 *     Loobu" floating bar (a static submitbar already exists), and
 *     strengthen the active-tab indicator and section header so it is
 *     obvious which section of the site each card belongs to.
 */


/* ===== 1. Energy label duplicates ===== */

/* The Core EU energy labels plugin (fs-euel) wraps the product image with
   <span class="fs-euel-thumb-wrap"> and stamps a small badge inside.
   The theme already prints its own vlg-energy-badge in the card content,
   so on every product card the customer saw two labels stacked. Hide the
   plugin's image overlay everywhere. The theme badge remains. */
body.vlg-theme .fs-euel-thumb-wrap > .fs-euel-label,
body.vlg-theme .fs-euel-single-image-wrap > .fs-euel-label,
body.vlg-theme .fs-euel-loop-fallback {
  display: none !important;
}

/* If only the wrapper is left, behave like a plain inline-block container
   so the image keeps its original size. */
body.vlg-theme .fs-euel-thumb-wrap {
  display: inline-block !important;
  position: static !important;
}

/* Single-product gallery: keep the badge OFF the image. The summary card
   on the right still shows it next to the price. */
body.vlg-theme.single-product .vlg-product-gallery-card .vlg-energy-badge,
body.vlg-theme.single-product .vlg-product-gallery-card .vlg-energy-overlay,
body.vlg-theme.single-product .vlg-product-gallery-media .vlg-energy-badge,
body.vlg-theme.single-product .vlg-product-gallery-media .vlg-energy-overlay,
body.vlg-theme.single-product .vlg-mobile-featured-image .vlg-energy-badge,
body.vlg-theme.single-product .vlg-mobile-featured-image .vlg-energy-overlay,
body.vlg-theme.single-product .woocommerce-product-gallery .vlg-energy-badge,
body.vlg-theme.single-product .woocommerce-product-gallery .vlg-energy-overlay {
  display: none !important;
}


/* ===== 2. Mobile drawer + category dropdown ===== */

@media (max-width: 900px) {
  /* Backdrop sits behind the drawer. */
  body.vlg-theme .vlg-mobile-backdrop:not([hidden]) {
    z-index: 9990 !important;
    pointer-events: auto !important;
  }

  /* The drawer itself must be above the backdrop so its contents
     (including the category dropdown) receive taps. */
  body.vlg-theme .vlg-nav.is-open {
    z-index: 9999 !important;
  }

  /* When the user taps "Kõik kategooriad" the dropdown gets is-open;
     guarantee it is visible and tappable. Some older parts left it
     visibility:hidden which produced the "grey panel that does nothing"
     symptom the user reported. */
  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    max-height: none !important;
  }

  /* And the link items themselves. */
  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown a,
  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown button,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown a,
  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] + .vlg-category-dropdown button {
    pointer-events: auto !important;
  }

  /* Auto-open mode: when admin set the drawer to open categories
     immediately, do not require .is-open on the inner menu. */
  body.vlg-theme.vlg-mobile-auto-open-categories .vlg-nav.is-open .vlg-category-dropdown,
  body.vlg-theme.vlg-mobile-auto-open-categories .vlg-nav.is-open .vlg-cat-tree {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  /* Visual cue on the toggle button when expanded. */
  body.vlg-theme .vlg-nav.is-open .vlg-category-button[aria-expanded="true"] {
    background: #fff7ed !important;
    border-color: rgba(242, 138, 0, .55) !important;
    color: #f28a00 !important;
  }
}


/* ===== 3. Admin: sticky tabs + single save bar + section indicator ===== */

.wp-admin .vlg-admin-wrap {
  /* Anchor for the sticky tabs and submitbar. */
  position: relative;
}

/* 3a. Sticky tabs row. WP admin bar is 32px on desktop, 46px on phones. */
.wp-admin .vlg-admin-wrap .vlg-admin-tabs-pro {
  position: sticky !important;
  top: 32px !important; /* below the WP admin bar */
  z-index: 50 !important;
  background: #fff !important;
  border: 1px solid #dbe5f1 !important;
  box-shadow: 0 6px 18px rgba(15, 23, 42, .08) !important;
}

@media screen and (max-width: 782px) {
  .wp-admin .vlg-admin-wrap .vlg-admin-tabs-pro {
    top: 46px !important;
  }
}

/* When auto-fold is on, admin bar collapses; fall back to top:0. */
.wp-admin.no-admin-bar .vlg-admin-wrap .vlg-admin-tabs-pro {
  top: 0 !important;
}

/* 3b. Section indicator under the tabs — make it loud so the user always
   knows which area of the site the cards below belong to. */
.wp-admin .vlg-admin-wrap .vlg-admin-section-intro {
  position: sticky !important;
  top: 122px !important; /* 32px admin bar + tab strip height */
  z-index: 49 !important;
  margin: 12px 0 18px !important;
  padding: 14px 18px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(242, 138, 0, .35) !important;
  background: linear-gradient(180deg, #fff7ed, #fff) !important;
  box-shadow: 0 8px 22px rgba(242, 138, 0, .10) !important;
}

.wp-admin .vlg-admin-wrap .vlg-admin-section-intro h2 {
  margin: 0 !important;
  color: #0f172a !important;
  font-size: 19px !important;
  font-weight: 950 !important;
  line-height: 1.2 !important;
}

.wp-admin .vlg-admin-wrap .vlg-admin-section-intro p {
  margin: 4px 0 0 !important;
  color: #475569 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

.wp-admin .vlg-admin-wrap .vlg-admin-section-intro-icon {
  width: 44px !important;
  height: 44px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 0 0 1px rgba(242, 138, 0, .35), 0 6px 14px rgba(242, 138, 0, .15) !important;
  font-size: 22px !important;
}

@media screen and (max-width: 782px) {
  .wp-admin .vlg-admin-wrap .vlg-admin-section-intro {
    top: 138px !important; /* 46px bar + larger tab strip */
  }
}

/* 3c. Remove the duplicate floating "Muudatused on salvestamata" bubble.
   It overlapped the static submitbar and confused users about where to
   click "Salvesta". The static submitbar already covers both jobs once we
   pulse it on dirty state (see vlg-admin-submitbar.is-dirty below). */
.wp-admin .vlg-floating-save,
.wp-admin .vlg-floating-save.is-visible {
  display: none !important;
}

/* 3d. Static submitbar — keep it sticky, but call attention to it when the
   form is dirty. */
.wp-admin .vlg-admin-wrap .vlg-admin-submitbar.vlg-admin-submitbar-sticky {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 48 !important;
  padding: 12px 16px !important;
  border-top: 1px solid #dbe5f1 !important;
  background: rgba(255, 255, 255, .96) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  box-shadow: 0 -8px 22px rgba(15, 23, 42, .06) !important;
}

.wp-admin .vlg-admin-wrap .vlg-admin-submitbar.is-dirty {
  border-top-color: rgba(242, 138, 0, .55) !important;
  background: linear-gradient(180deg, #fff7ed, #fff) !important;
}

.wp-admin .vlg-admin-wrap .vlg-admin-submitbar.is-dirty .vlg-admin-submitbar-hint::before {
  content: "● " !important;
  color: #f28a00 !important;
  font-weight: 950 !important;
}

.wp-admin .vlg-admin-wrap .vlg-admin-submitbar.is-dirty .vlg-admin-submitbar-hint {
  color: #b25a00 !important;
  font-weight: 800 !important;
}

.wp-admin .vlg-admin-wrap .vlg-admin-submitbar.is-dirty .button-primary {
  animation: vlg-admin-pulse 1.6s ease-in-out infinite !important;
}

@keyframes vlg-admin-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(242, 138, 0, .35); }
  50% { box-shadow: 0 0 0 6px rgba(242, 138, 0, 0); }
}

/* 3e. Active tab indicator — make the orange "you are here" much stronger.
   The old style was a soft outline that disappeared on light backgrounds. */
.wp-admin .vlg-admin-wrap .vlg-admin-tabs-pro .vlg-admin-tab.is-active {
  background: linear-gradient(180deg, #fff7ed, #fff) !important;
  color: #f28a00 !important;
  position: relative !important;
}

.wp-admin .vlg-admin-wrap .vlg-admin-tabs-pro .vlg-admin-tab.is-active::after {
  content: "" !important;
  position: absolute !important;
  left: 12% !important;
  right: 12% !important;
  bottom: -1px !important;
  height: 3px !important;
  background: #f28a00 !important;
  border-radius: 999px 999px 0 0 !important;
}

/* On mobile widths the tabs grid wraps — give the active tab a more
   visible chip so it's easy to spot in the wrapped row. */
@media (max-width: 900px) {
  .wp-admin .vlg-admin-wrap .vlg-admin-tabs-pro .vlg-admin-tab.is-active {
    background: #f28a00 !important;
    color: #fff !important;
  }
  .wp-admin .vlg-admin-wrap .vlg-admin-tabs-pro .vlg-admin-tab.is-active::after {
    display: none !important;
  }
}


/* === 146-v558-fixes.css === */
/* v5.1.58 — product card energy badge next to price, prettier pagination,
 * gallery thumbnails, out-of-stock buybox, mini-cart quantity controls.
 *
 * 1) Product cards (loop, related products): the energy badge moves OUT
 *    of the image and sits to the right of the price. Image stays clean.
 * 2) Single product gallery card: the small energy badge that sits in the
 *    summary moves a few pixels inward so it does not hug the right edge.
 * 3) Pagination on archive pages: bigger, cleaner numbered chips with a
 *    proper hover and active state instead of plain text.
 * 4) Single product buybox when out of stock: bigger Ostuvalikud panel
 *    plus a prominent "Lisa soovilisti" fallback so the customer still
 *    has somewhere to click. Mobile-product-pro module also gets this.
 * 5) Mini-cart drawer: quantity +/- chips on every line item, with live
 *    AJAX update. Companion JS in 79-v558-fixes.js binds the buttons.
 * 6) Product gallery (desktop): make all thumbnails visible and clickable
 *    even when the theme image-fit CSS has hidden them in older builds.
 */


/* ===== 1. Product card: energy badge next to price ===== */

/* New wrapper around price + badge on the product card. */
.vlg-product-card .vlg-card-price-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;
  margin-top: 8px !important;
}

.vlg-product-card .vlg-card-price-row .vlg-card-price {
  margin: 0 !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.vlg-product-card .vlg-card-price-row .vlg-card-energy {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
}

/* The energy badge itself when sitting next to the price: compact and
   visually subordinate to the price. The "EU G" arrow tag plus A↕G scale
   side chip — keep them tight. */
.vlg-product-card .vlg-card-energy .vlg-energy-badge,
.vlg-product-card .vlg-card-energy .vlg-energy-core-badge {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  margin: 0 !important;
  min-width: 0 !important;
  height: 30px !important;
  padding: 2px 4px !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  border-radius: 0 !important;
}

/* The "EU" + class letter chip. */
.vlg-product-card .vlg-card-energy .vlg-energy-badge-eu,
.vlg-product-card .vlg-card-energy .vlg-energy-badge .vlg-energy-badge-eu {
  display: grid !important;
  place-items: center !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .02em !important;
  background: var(--vlg-energy-color, #ed1c24) !important;
  color: #fff !important;
  padding: 2px 4px 2px 5px !important;
  border-radius: 4px 0 0 0 !important;
}

.vlg-product-card .vlg-card-energy .vlg-energy-badge-class,
.vlg-product-card .vlg-card-energy .vlg-energy-badge strong.vlg-energy-badge-class {
  display: grid !important;
  place-items: center !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  background: var(--vlg-energy-color, #ed1c24) !important;
  color: #fff !important;
  padding: 2px 5px 4px !important;
  border-radius: 0 0 0 4px !important;
}

/* Anything the plugin might still inject inside the image wrapper — kill it. */
.vlg-product-card .vlg-card-image-wrap .vlg-energy-badge,
.vlg-product-card .vlg-card-image-wrap .vlg-energy-overlay,
.vlg-product-card .vlg-card-image-wrap .fs-euel-label,
.vlg-product-card .vlg-card-image-wrap .fs-euel-thumb-wrap > .fs-euel-label {
  display: none !important;
}

/* Mobile: keep the layout but allow stacking if very narrow. */
@media (max-width: 480px) {
  .vlg-product-card .vlg-card-price-row {
    gap: 8px !important;
  }
  .vlg-product-card .vlg-card-energy .vlg-energy-badge-class {
    font-size: 12px !important;
  }
}


/* ===== 2. Single product summary: badge a touch inward ===== */

.vlg-product-summary-card .vlg-product-energy-inline {
  margin-right: 12px !important;
  padding-right: 0 !important;
}

@media (max-width: 782px) {
  .vlg-product-summary-card .vlg-product-energy-inline {
    margin-right: 6px !important;
  }
}


/* ===== 3. Pagination — refreshed look ===== */

body.vlg-theme .woocommerce-pagination,
body.vlg-theme nav.woocommerce-pagination,
body.vlg-theme .vlg-pagination {
  margin: 28px 0 8px !important;
  padding: 0 !important;
  text-align: center !important;
}

body.vlg-theme .woocommerce-pagination ul.page-numbers,
body.vlg-theme nav.woocommerce-pagination ul.page-numbers,
body.vlg-theme .vlg-pagination ul.page-numbers,
body.vlg-theme ul.page-numbers {
  display: inline-flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  margin: 0 auto !important;
  padding: 10px 14px !important;
  border: 1px solid var(--vlg-line, #e8edf4) !important;
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .05) !important;
  list-style: none !important;
}

body.vlg-theme ul.page-numbers li {
  margin: 0 !important;
  padding: 0 !important;
}

body.vlg-theme ul.page-numbers li > a,
body.vlg-theme ul.page-numbers li > span,
body.vlg-theme a.page-numbers,
body.vlg-theme span.page-numbers {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  height: 40px !important;
  padding: 0 12px !important;
  border-radius: 12px !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--vlg-text, #172033) !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition: background-color .15s ease, color .15s ease, transform .15s ease !important;
}

body.vlg-theme ul.page-numbers li > a:hover,
body.vlg-theme a.page-numbers:hover {
  background: #fff7ed !important;
  color: var(--vlg-primary, #f28a00) !important;
}

body.vlg-theme ul.page-numbers li > .page-numbers.current,
body.vlg-theme span.page-numbers.current,
body.vlg-theme .page-numbers.current {
  background: var(--vlg-primary, #f28a00) !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(242, 138, 0, .35) !important;
}

body.vlg-theme ul.page-numbers li > .page-numbers.dots,
body.vlg-theme span.page-numbers.dots {
  background: transparent !important;
  color: #94a3b8 !important;
  letter-spacing: .1em !important;
}

body.vlg-theme ul.page-numbers li > .page-numbers.prev,
body.vlg-theme ul.page-numbers li > .page-numbers.next,
body.vlg-theme a.page-numbers.prev,
body.vlg-theme a.page-numbers.next {
  background: #f1f5f9 !important;
  color: var(--vlg-text, #172033) !important;
  font-size: 18px !important;
  font-weight: 900 !important;
}

body.vlg-theme ul.page-numbers li > .page-numbers.prev:hover,
body.vlg-theme ul.page-numbers li > .page-numbers.next:hover {
  background: var(--vlg-primary, #f28a00) !important;
  color: #fff !important;
}

@media (max-width: 480px) {
  body.vlg-theme ul.page-numbers {
    gap: 6px !important;
    padding: 8px 10px !important;
  }
  body.vlg-theme ul.page-numbers li > a,
  body.vlg-theme ul.page-numbers li > span {
    min-width: 36px !important;
    height: 36px !important;
    padding: 0 9px !important;
    font-size: 14px !important;
  }
}


/* ===== 4. Out-of-stock buybox + wishlist fallback ===== */

/* Mobile-product-pro module's vmp-buybox when out of stock. */
.vmp-buybox--out-of-stock {
  padding: 18px !important;
  background: linear-gradient(180deg, #fff9f1, #fff) !important;
  border-color: #ffd49a !important;
}

.vmp-buybox--out-of-stock .vmp-buybox-head span {
  font-size: 16px !important;
}

.vmp-buybox--out-of-stock .vmp-buybox-head em {
  color: #b25a00 !important;
  font-style: normal !important;
  font-weight: 700 !important;
}

/* Hide the empty WC out-of-stock placeholder inside the buybox so the
   wishlist fallback below is what the customer sees. */
.vmp-buybox--out-of-stock .stock.out-of-stock,
.vmp-buybox--out-of-stock p.stock.out-of-stock {
  display: none !important;
}

/* "Lisa soovilisti" fallback card. */
.vmp-wishlist-fallback {
  display: grid !important;
  grid-template-columns: 48px 1fr !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  gap: 4px 14px !important;
  margin-top: 14px !important;
  padding: 14px 16px !important;
  border: 1px solid rgba(242, 138, 0, .35) !important;
  border-radius: 16px !important;
  background: #fff !important;
  color: var(--vlg-text, #172033) !important;
  text-decoration: none !important;
  box-shadow: 0 8px 22px rgba(242, 138, 0, .10) !important;
  transition: transform .15s ease, box-shadow .15s ease !important;
}

.vmp-wishlist-fallback:hover,
.vmp-wishlist-fallback:focus-visible {
  transform: translateY(-1px) !important;
  box-shadow: 0 14px 30px rgba(242, 138, 0, .18) !important;
}

.vmp-wishlist-fallback > span {
  grid-row: 1 / span 2 !important;
  display: grid !important;
  place-items: center !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 14px !important;
  background: #fff7ed !important;
  color: var(--vlg-primary, #f28a00) !important;
  font-size: 24px !important;
  line-height: 1 !important;
}

.vmp-wishlist-fallback strong {
  font-size: 16px !important;
  font-weight: 900 !important;
  color: var(--vlg-primary, #f28a00) !important;
  line-height: 1.2 !important;
}

.vmp-wishlist-fallback em {
  font-style: normal !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #64748b !important;
  line-height: 1.35 !important;
}

/* Theme single-product buybox out-of-stock parity (desktop + tablet). */
.vlg-product-buybox:has(.stock.out-of-stock),
.vlg-product-buybox.is-out-of-stock {
  padding: 20px !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, #fff9f1, #fff) !important;
  border: 1px solid #ffd49a !important;
}

.vlg-product-buybox .vlg-btn-outline {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 52px !important;
  padding: 0 22px !important;
  border-radius: 14px !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}


/* ===== 5. Mini-cart quantity controls ===== */

/* Wrap each cart item so the qty + remove buttons line up. */
body.vlg-theme .vlg-mini-cart-body ul.woocommerce-mini-cart {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.vlg-theme .vlg-mini-cart-body ul.woocommerce-mini-cart li.woocommerce-mini-cart-item,
body.vlg-theme .vlg-mini-cart-body ul.woocommerce-mini-cart li.mini_cart_item {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 56px 1fr auto !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  gap: 4px 12px !important;
  padding: 12px 14px !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--vlg-line, #e8edf4) !important;
  list-style: none !important;
}

body.vlg-theme .vlg-mini-cart-body ul.woocommerce-mini-cart li img {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  width: 56px !important;
  height: 56px !important;
  object-fit: contain !important;
  background: #fff !important;
  border: 1px solid var(--vlg-line, #e8edf4) !important;
  border-radius: 12px !important;
  padding: 4px !important;
  margin: 0 !important;
  float: none !important;
}

body.vlg-theme .vlg-mini-cart-body ul.woocommerce-mini-cart li a:not(.remove) {
  grid-column: 2 !important;
  grid-row: 1 !important;
  color: var(--vlg-text, #172033) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  line-height: 1.25 !important;
}

body.vlg-theme .vlg-mini-cart-body ul.woocommerce-mini-cart li .quantity {
  grid-column: 2 !important;
  grid-row: 2 !important;
  margin: 0 !important;
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

body.vlg-theme .vlg-mini-cart-body ul.woocommerce-mini-cart li .quantity .woocommerce-Price-amount {
  color: var(--vlg-primary, #f28a00) !important;
  font-weight: 900 !important;
}

body.vlg-theme .vlg-mini-cart-body ul.woocommerce-mini-cart li a.remove {
  grid-column: 3 !important;
  grid-row: 1 !important;
  width: 28px !important;
  height: 28px !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 !important;
  border-radius: 999px !important;
  background: #f1f5f9 !important;
  color: #475569 !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  line-height: 1 !important;
  border: 0 !important;
}

body.vlg-theme .vlg-mini-cart-body ul.woocommerce-mini-cart li a.remove:hover {
  background: #fee2e2 !important;
  color: #b91c1c !important;
}

/* Quantity stepper injected by JS. */
body.vlg-theme .vlg-mini-cart-qty-stepper {
  grid-column: 2 / span 2 !important;
  grid-row: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
  margin-top: 6px !important;
  padding: 2px !important;
  border: 1px solid var(--vlg-line, #e8edf4) !important;
  border-radius: 999px !important;
  background: #f8fafc !important;
  width: max-content !important;
  max-width: 100% !important;
}

body.vlg-theme .vlg-mini-cart-qty-stepper button {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 32px !important;
  height: 32px !important;
  display: grid !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--vlg-text, #172033) !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
  line-height: 1 !important;
  box-shadow: 0 0 0 1px var(--vlg-line, #e8edf4) inset !important;
}

body.vlg-theme .vlg-mini-cart-qty-stepper button:hover:not(:disabled) {
  background: var(--vlg-primary, #f28a00) !important;
  color: #fff !important;
  box-shadow: 0 0 0 1px var(--vlg-primary, #f28a00) inset !important;
}

body.vlg-theme .vlg-mini-cart-qty-stepper button:disabled {
  opacity: .35 !important;
  cursor: not-allowed !important;
}

body.vlg-theme .vlg-mini-cart-qty-stepper input.vlg-mini-cart-qty-value {
  width: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  height: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  text-align: center !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  color: var(--vlg-text, #172033) !important;
  -moz-appearance: textfield !important;
}

body.vlg-theme .vlg-mini-cart-qty-stepper input::-webkit-outer-spin-button,
body.vlg-theme .vlg-mini-cart-qty-stepper input::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

body.vlg-theme .vlg-mini-cart-qty-stepper.is-updating {
  opacity: .6 !important;
  pointer-events: none !important;
}

/* Hide the original "× N" quantity span once we have a real stepper. */
body.vlg-theme .vlg-mini-cart-body ul.woocommerce-mini-cart li[data-vlg-qty-bound] .quantity {
  display: none !important;
}


/* ===== 6. Product gallery: thumb strip + clickable lightbox ===== */

/* The theme already uses .vlg-mobile-featured-image as the primary image
   carrier on BOTH desktop and mobile (see 131-v534-product-image-crop-hard-fix
   for the size rules). We do NOT touch that — touching it makes the image
   disappear because the .woocommerce-product-gallery container is intentionally
   hidden site-wide by 131-v534. Instead, the JS pulls every gallery slide URL
   out of the (hidden) WC gallery DOM and builds a thumb strip under the
   featured image, and the click handler opens an in-page lightbox with prev/
   next nav. So no CSS change is needed for desktop visibility. */
body.vlg-theme .vlg-mobile-image-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 100000 !important;
  display: none !important;
  background: rgba(7, 18, 36, .92) !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 16px !important;
}

body.vlg-theme .vlg-mobile-image-modal.is-open {
  display: flex !important;
}

body.vlg-theme .vlg-mobile-image-modal__dialog {
  position: relative !important;
  max-width: min(96vw, 1100px) !important;
  max-height: 92vh !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.vlg-theme .vlg-mobile-image-modal__img {
  max-width: 100% !important;
  max-height: 92vh !important;
  object-fit: contain !important;
  border-radius: 16px !important;
  background: #fff !important;
}

body.vlg-theme .vlg-mobile-image-modal__close {
  position: absolute !important;
  top: -50px !important;
  right: -4px !important;
  width: 44px !important;
  height: 44px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .12) !important;
  color: #fff !important;
  font-size: 28px !important;
  cursor: pointer !important;
}

body.vlg-theme .vlg-mobile-image-modal__nav {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 44px !important;
  height: 44px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .15) !important;
  color: #fff !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
  display: grid !important;
  place-items: center !important;
}

body.vlg-theme .vlg-mobile-image-modal__nav--prev { left: 6px !important; }
body.vlg-theme .vlg-mobile-image-modal__nav--next { right: 6px !important; }
body.vlg-theme .vlg-mobile-image-modal__nav:hover { background: rgba(255, 255, 255, .3) !important; }
body.vlg-theme .vlg-mobile-image-modal__nav:disabled { opacity: .25 !important; cursor: not-allowed !important; }

html.vlg-mobile-image-modal-open,
html.vlg-mobile-image-modal-open body {
  overflow: hidden !important;
}

/* The gallery card on mobile gets a row of thumbs underneath when there
   are extra images. JS populates this strip from the WC gallery items.
   Placed as a sibling of .vlg-product-gallery-media inside the section,
   not inside the (flex-centered) media container — so it always sits
   below the featured image, full width. */
body.vlg-theme .vlg-product-gallery-card > .vlg-mobile-gallery-thumbs,
body.vlg-theme .vlg-mobile-gallery-thumbs {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  overflow-x: auto !important;
  margin: 14px 0 4px !important;
  padding: 6px 4px !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;
}

body.vlg-theme .vlg-mobile-gallery-thumbs::-webkit-scrollbar { display: none !important; }

body.vlg-theme .vlg-mobile-gallery-thumbs button {
  flex: 0 0 auto !important;
  width: 72px !important;
  height: 72px !important;
  padding: 6px !important;
  border: 1px solid var(--vlg-line, #e8edf4) !important;
  border-radius: 14px !important;
  background: #fff !important;
  cursor: pointer !important;
  transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease !important;
  box-shadow: 0 4px 12px rgba(15, 23, 42, .04) !important;
}

body.vlg-theme .vlg-mobile-gallery-thumbs button:hover {
  border-color: var(--vlg-primary, #f28a00) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 18px rgba(242, 138, 0, .18) !important;
}

body.vlg-theme .vlg-mobile-gallery-thumbs button img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
}

body.vlg-theme .vlg-mobile-gallery-thumbs button.is-active {
  border-color: var(--vlg-primary, #f28a00) !important;
  box-shadow: 0 0 0 2px rgba(242, 138, 0, .25), 0 8px 18px rgba(242, 138, 0, .18) !important;
}

@media (max-width: 782px) {
  body.vlg-theme .vlg-mobile-gallery-thumbs button {
    width: 60px !important;
    height: 60px !important;
    padding: 4px !important;
    border-radius: 12px !important;
  }
}




/* v5.1.61 — Arvutitark-style single product gallery
 * Large clean image frame, thumbnail strip underneath, JS-driven image swap,
 * and an in-page full-screen viewer. This intentionally does not rely on the
 * older .vlg-mobile-featured-image / hidden Woo gallery fallback stack.
 */
body.vlg-theme.single-product .vlg-at-product-gallery-card,
body.vlg-theme.single-product .vlg-product-gallery-card.vlg-at-product-gallery-card {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  padding: clamp(14px, 2vw, 24px) !important;
  border: 1px solid var(--vlg-line, #e8edf4) !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: 0 18px 46px rgba(15, 23, 42, .07) !important;
  overflow: visible !important;
}

body.vlg-theme.single-product .vlg-at-product-gallery-card::before,
body.vlg-theme.single-product .vlg-at-product-gallery-card::after {
  display: none !important;
}

body.vlg-theme.single-product .vlg-at-product-gallery {
  display: grid !important;
  gap: 16px !important;
  width: 100% !important;
}

body.vlg-theme.single-product .vlg-at-gallery-main {
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  min-height: clamp(360px, 42vw, 620px) !important;
  aspect-ratio: 1 / .72 !important;
  border-radius: 18px !important;
  background: #fff !important;
  overflow: hidden !important;
}

body.vlg-theme.single-product .vlg-at-gallery-open {
  appearance: none !important;
  -webkit-appearance: none !important;
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 100% !important;
  min-height: inherit !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  cursor: zoom-in !important;
  text-align: center !important;
}

body.vlg-theme.single-product .vlg-at-gallery-image-frame {
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 100% !important;
  padding: clamp(8px, 1.6vw, 18px) !important;
}

body.vlg-theme.single-product .vlg-at-gallery-main-img,
body.vlg-theme.single-product .vlg-at-product-gallery img.vlg-at-gallery-main-img,
body.vlg-theme.single-product .vlg-at-gallery-image-frame img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: clamp(340px, 40vw, 600px) !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

body.vlg-theme.single-product .vlg-at-gallery-zoom {
  position: absolute !important;
  right: 14px !important;
  bottom: 14px !important;
  display: grid !important;
  place-items: center !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .92) !important;
  color: var(--vlg-text, #172033) !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .16) !important;
  opacity: 0 !important;
  transform: translateY(4px) !important;
  transition: opacity .16s ease, transform .16s ease !important;
  pointer-events: none !important;
}

body.vlg-theme.single-product .vlg-at-gallery-open:hover .vlg-at-gallery-zoom,
body.vlg-theme.single-product .vlg-at-gallery-open:focus-visible .vlg-at-gallery-zoom {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

body.vlg-theme.single-product .vlg-at-gallery-nav {
  appearance: none !important;
  -webkit-appearance: none !important;
  position: absolute !important;
  top: 50% !important;
  z-index: 3 !important;
  display: grid !important;
  place-items: center !important;
  width: 42px !important;
  height: 42px !important;
  border: 1px solid var(--vlg-line, #e8edf4) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .96) !important;
  color: var(--vlg-text, #172033) !important;
  font-size: 28px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .12) !important;
  transform: translateY(-50%) !important;
  transition: background-color .15s ease, color .15s ease, opacity .15s ease !important;
}

body.vlg-theme.single-product .vlg-at-gallery-nav--prev { left: 10px !important; }
body.vlg-theme.single-product .vlg-at-gallery-nav--next { right: 10px !important; }
body.vlg-theme.single-product .vlg-at-gallery-nav:hover {
  background: var(--vlg-primary, #f28a00) !important;
  color: #fff !important;
}
body.vlg-theme.single-product .vlg-at-gallery-nav:disabled {
  opacity: .32 !important;
  cursor: not-allowed !important;
  background: #fff !important;
  color: #94a3b8 !important;
}

body.vlg-theme.single-product .vlg-at-gallery-thumbs {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 2px 0 0 !important;
}

body.vlg-theme.single-product .vlg-at-gallery-thumb {
  appearance: none !important;
  -webkit-appearance: none !important;
  flex: 0 0 auto !important;
  display: grid !important;
  place-items: center !important;
  width: clamp(76px, 7.6vw, 118px) !important;
  height: clamp(76px, 7.6vw, 118px) !important;
  padding: 8px !important;
  border: 1px solid #dbe3ef !important;
  border-radius: 8px !important;
  background: #fff !important;
  cursor: pointer !important;
  box-shadow: none !important;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease !important;
}

body.vlg-theme.single-product .vlg-at-gallery-thumb:hover {
  border-color: #111827 !important;
  transform: translateY(-1px) !important;
}

body.vlg-theme.single-product .vlg-at-gallery-thumb.is-active,
body.vlg-theme.single-product .vlg-at-gallery-thumb[aria-current="true"] {
  border-color: #111827 !important;
  box-shadow: 0 0 0 1px #111827 inset !important;
}

body.vlg-theme.single-product .vlg-at-gallery-thumb img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.vlg-theme .vlg-at-gallery-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 100000 !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: clamp(12px, 2vw, 28px) !important;
  background: rgba(7, 18, 36, .92) !important;
}

body.vlg-theme .vlg-at-gallery-modal.is-open { display: flex !important; }

body.vlg-theme .vlg-at-gallery-modal__dialog {
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  width: min(1180px, 96vw) !important;
  height: min(860px, 92vh) !important;
}

body.vlg-theme .vlg-at-gallery-modal__img {
  display: block !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .32) !important;
}

body.vlg-theme .vlg-at-gallery-modal__close,
body.vlg-theme .vlg-at-gallery-modal__nav {
  appearance: none !important;
  -webkit-appearance: none !important;
  position: absolute !important;
  z-index: 2 !important;
  display: grid !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .14) !important;
  color: #fff !important;
  cursor: pointer !important;
  backdrop-filter: blur(6px) !important;
}

body.vlg-theme .vlg-at-gallery-modal__close {
  top: 0 !important;
  right: 0 !important;
  width: 46px !important;
  height: 46px !important;
  font-size: 28px !important;
}

body.vlg-theme .vlg-at-gallery-modal__nav {
  top: 50% !important;
  width: 48px !important;
  height: 48px !important;
  font-size: 28px !important;
  font-weight: 900 !important;
  transform: translateY(-50%) !important;
}

body.vlg-theme .vlg-at-gallery-modal__nav--prev { left: 0 !important; }
body.vlg-theme .vlg-at-gallery-modal__nav--next { right: 0 !important; }
body.vlg-theme .vlg-at-gallery-modal__close:hover,
body.vlg-theme .vlg-at-gallery-modal__nav:hover { background: rgba(255, 255, 255, .28) !important; }
body.vlg-theme .vlg-at-gallery-modal__nav:disabled { opacity: .28 !important; cursor: not-allowed !important; }

body.vlg-theme .vlg-at-gallery-modal__counter {
  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;
  transform: translateX(-50%) !important;
  padding: 8px 12px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .14) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  backdrop-filter: blur(6px) !important;
}

html.vlg-at-gallery-modal-open,
html.vlg-at-gallery-modal-open body { overflow: hidden !important; }

@media (max-width: 782px) {
  body.vlg-theme.single-product .vlg-at-product-gallery-card,
  body.vlg-theme.single-product .vlg-product-gallery-card.vlg-at-product-gallery-card {
    padding: 8px !important;
    border-radius: 18px !important;
    margin: 0 0 10px !important;
  }
  body.vlg-theme.single-product .vlg-at-product-gallery { gap: 10px !important; }
  body.vlg-theme.single-product .vlg-at-gallery-main {
    min-height: 230px !important;
    aspect-ratio: 1 / .78 !important;
    border-radius: 14px !important;
  }
  body.vlg-theme.single-product .vlg-at-gallery-image-frame { padding: 6px !important; }
  body.vlg-theme.single-product .vlg-at-gallery-main-img,
  body.vlg-theme.single-product .vlg-at-product-gallery img.vlg-at-gallery-main-img,
  body.vlg-theme.single-product .vlg-at-gallery-image-frame img {
    max-height: 260px !important;
  }
  body.vlg-theme.single-product .vlg-at-gallery-nav {
    width: 34px !important;
    height: 34px !important;
    font-size: 22px !important;
  }
  body.vlg-theme.single-product .vlg-at-gallery-nav--prev { left: 6px !important; }
  body.vlg-theme.single-product .vlg-at-gallery-nav--next { right: 6px !important; }
  body.vlg-theme.single-product .vlg-at-gallery-zoom {
    opacity: 1 !important;
    transform: none !important;
    right: 8px !important;
    bottom: 8px !important;
    width: 34px !important;
    height: 34px !important;
    font-size: 17px !important;
  }
  body.vlg-theme.single-product .vlg-at-gallery-thumbs {
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
    padding: 4px 2px 6px !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }
  body.vlg-theme.single-product .vlg-at-gallery-thumbs::-webkit-scrollbar { display: none !important; }
  body.vlg-theme.single-product .vlg-at-gallery-thumb {
    width: 68px !important;
    height: 68px !important;
    padding: 5px !important;
    border-radius: 8px !important;
  }
  body.vlg-theme .vlg-at-gallery-modal__close {
    top: 6px !important;
    right: 6px !important;
  }
  body.vlg-theme .vlg-at-gallery-modal__nav--prev { left: 6px !important; }
  body.vlg-theme .vlg-at-gallery-modal__nav--next { right: 6px !important; }
}


/* v5.1.62 — clicking the main product image now cycles gallery images; the zoom badge opens the modal. */
body.vlg-theme.single-product .vlg-at-gallery-open {
  cursor: pointer !important;
}
body.vlg-theme.single-product .vlg-at-gallery-zoom {
  pointer-events: auto !important;
  cursor: zoom-in !important;
}
body.vlg-theme.single-product .vlg-at-gallery-image-frame {
  cursor: pointer !important;
}


/* v5.1.63 — mobile category drawer opens fully and collapses cleanly when closed. */
@media (max-width: 991px) {
  body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-dropdown {
    display: block !important;
  }
}



/* v5.1.65 — Arvutitark-style product image lightbox: large image, arrows, bottom thumbnails. */
body.vlg-theme.single-product .vlg-at-gallery-open {
  cursor: zoom-in !important;
}
body.vlg-theme.single-product .vlg-at-gallery-image-frame {
  cursor: zoom-in !important;
}
body.vlg-theme .vlg-at-gallery-modal {
  background: rgba(248, 250, 252, .98) !important;
  backdrop-filter: blur(10px) !important;
  padding: clamp(10px, 2vw, 28px) !important;
}
body.vlg-theme .vlg-at-gallery-modal__dialog {
  width: min(1180px, 100%) !important;
  height: min(92dvh, 920px) !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) auto auto !important;
  align-items: center !important;
  gap: 12px !important;
  margin: auto !important;
  padding: clamp(12px, 2vw, 24px) !important;
  border: 1px solid rgba(226, 232, 240, .95) !important;
  border-radius: 28px !important;
  background: #fff !important;
  box-shadow: 0 24px 80px rgba(15, 23, 42, .22) !important;
}
body.vlg-theme .vlg-at-gallery-modal__stage {
  min-height: 0 !important;
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 100% !important;
}
body.vlg-theme .vlg-at-gallery-modal__img {
  max-width: 100% !important;
  max-height: calc(92dvh - 190px) !important;
  object-fit: contain !important;
  border-radius: 0 !important;
  background: #fff !important;
}
body.vlg-theme .vlg-at-gallery-modal__close {
  top: clamp(12px, 2vw, 28px) !important;
  right: clamp(12px, 2vw, 28px) !important;
  background: #fff !important;
  color: #0f172a !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .16) !important;
}
body.vlg-theme .vlg-at-gallery-modal__nav {
  width: 54px !important;
  height: 54px !important;
  background: #fff !important;
  color: #0f172a !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 14px 32px rgba(15, 23, 42, .16) !important;
}
body.vlg-theme .vlg-at-gallery-modal__nav--prev { left: clamp(10px, 2vw, 26px) !important; }
body.vlg-theme .vlg-at-gallery-modal__nav--next { right: clamp(10px, 2vw, 26px) !important; }
body.vlg-theme .vlg-at-gallery-modal__counter {
  position: static !important;
  justify-self: center !important;
  color: #334155 !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
}
body.vlg-theme .vlg-at-gallery-modal__thumbs {
  display: flex !important;
  gap: 10px !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  padding: 4px 4px 2px !important;
  justify-content: center !important;
  scrollbar-width: thin !important;
}
body.vlg-theme .vlg-at-gallery-modal__thumb {
  appearance: none !important;
  -webkit-appearance: none !important;
  flex: 0 0 76px !important;
  width: 76px !important;
  height: 76px !important;
  display: grid !important;
  place-items: center !important;
  padding: 6px !important;
  border: 1px solid #d8e1ee !important;
  border-radius: 12px !important;
  background: #fff !important;
  cursor: pointer !important;
}
body.vlg-theme .vlg-at-gallery-modal__thumb.is-active {
  border-color: #0f172a !important;
  box-shadow: 0 0 0 2px rgba(15, 23, 42, .12) !important;
}
body.vlg-theme .vlg-at-gallery-modal__thumb img {
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
}
@media (max-width: 782px) {
  body.vlg-theme .vlg-at-gallery-modal { padding: 8px !important; }
  body.vlg-theme .vlg-at-gallery-modal__dialog {
    height: calc(100dvh - 16px) !important;
    border-radius: 20px !important;
    padding: 12px !important;
  }
  body.vlg-theme .vlg-at-gallery-modal__img { max-height: calc(100dvh - 180px) !important; }
  body.vlg-theme .vlg-at-gallery-modal__nav { width: 44px !important; height: 44px !important; }
  body.vlg-theme .vlg-at-gallery-modal__thumb { flex-basis: 64px !important; width: 64px !important; height: 64px !important; }
}

/* v5.1.66 — robust Arvutitark-style full-screen product image viewer.
   This intentionally overrides older modal/card and mobile plugin lightboxes. */
html.vlg-at-gallery-modal-open,
html.vlg-at-gallery-modal-open body {
  overflow: hidden !important;
  overscroll-behavior: none !important;
}
body.vlg-theme .vlg-at-gallery-modal,
body .vlg-at-gallery-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483000 !important;
  display: none !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  width: 100vw !important;
  height: 100dvh !important;
  padding: 0 !important;
  margin: 0 !important;
  background: rgba(255,255,255,.985) !important;
  color: #0f172a !important;
  backdrop-filter: blur(8px) !important;
}
body.vlg-theme .vlg-at-gallery-modal.is-open,
body .vlg-at-gallery-modal.is-open {
  display: flex !important;
}
body.vlg-theme .vlg-at-gallery-modal__dialog,
body .vlg-at-gallery-modal__dialog {
  position: relative !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
  width: 100vw !important;
  height: 100dvh !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: clamp(12px, 2vw, 26px) clamp(12px, 4vw, 56px) calc(14px + env(safe-area-inset-bottom)) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  gap: 12px !important;
  overflow: hidden !important;
}
body.vlg-theme .vlg-at-gallery-modal__stage,
body .vlg-at-gallery-modal__stage {
  display: grid !important;
  place-items: center !important;
  min-width: 0 !important;
  min-height: 0 !important;
  width: 100% !important;
  height: 100% !important;
  padding: clamp(42px, 6vh, 72px) clamp(0px, 6vw, 74px) 4px !important;
}
body.vlg-theme .vlg-at-gallery-modal__img,
body .vlg-at-gallery-modal__img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: calc(100dvh - 170px - env(safe-area-inset-bottom)) !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.vlg-theme .vlg-at-gallery-modal__close,
body.vlg-theme .vlg-at-gallery-modal__nav,
body .vlg-at-gallery-modal__close,
body .vlg-at-gallery-modal__nav {
  appearance: none !important;
  -webkit-appearance: none !important;
  position: absolute !important;
  z-index: 4 !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid rgba(226,232,240,.95) !important;
  background: rgba(255,255,255,.94) !important;
  color: #0f172a !important;
  box-shadow: 0 14px 40px rgba(15,23,42,.13) !important;
  cursor: pointer !important;
}
body.vlg-theme .vlg-at-gallery-modal__close,
body .vlg-at-gallery-modal__close {
  top: calc(16px + env(safe-area-inset-top)) !important;
  right: clamp(14px, 3vw, 34px) !important;
  width: 46px !important;
  height: 46px !important;
  border-radius: 999px !important;
  font-size: 32px !important;
  line-height: 1 !important;
  font-weight: 500 !important;
}
body.vlg-theme .vlg-at-gallery-modal__nav,
body .vlg-at-gallery-modal__nav {
  top: 50% !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 999px !important;
  font-size: 42px !important;
  line-height: 1 !important;
  transform: translateY(-50%) !important;
}
body.vlg-theme .vlg-at-gallery-modal__nav--prev,
body .vlg-at-gallery-modal__nav--prev { left: clamp(10px, 2vw, 30px) !important; }
body.vlg-theme .vlg-at-gallery-modal__nav--next,
body .vlg-at-gallery-modal__nav--next { right: clamp(10px, 2vw, 30px) !important; }
body.vlg-theme .vlg-at-gallery-modal__close:hover,
body.vlg-theme .vlg-at-gallery-modal__nav:hover,
body .vlg-at-gallery-modal__close:hover,
body .vlg-at-gallery-modal__nav:hover {
  background: #fff !important;
  box-shadow: 0 18px 46px rgba(15,23,42,.18) !important;
}
body.vlg-theme .vlg-at-gallery-modal__nav:disabled,
body .vlg-at-gallery-modal__nav:disabled {
  opacity: .22 !important;
  cursor: default !important;
}
body.vlg-theme .vlg-at-gallery-modal__counter,
body .vlg-at-gallery-modal__counter {
  position: absolute !important;
  top: calc(18px + env(safe-area-inset-top)) !important;
  left: clamp(14px, 3vw, 34px) !important;
  z-index: 4 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  padding: 0 14px !important;
  border: 1px solid rgba(226,232,240,.95) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.94) !important;
  color: #334155 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  box-shadow: 0 10px 28px rgba(15,23,42,.10) !important;
}
body.vlg-theme .vlg-at-gallery-modal__thumbs,
body .vlg-at-gallery-modal__thumbs {
  display: flex !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 8px 8px 4px !important;
  margin: 0 auto !important;
  scrollbar-width: thin !important;
  -webkit-overflow-scrolling: touch !important;
}
body.vlg-theme .vlg-at-gallery-modal__thumb,
body .vlg-at-gallery-modal__thumb {
  appearance: none !important;
  -webkit-appearance: none !important;
  flex: 0 0 82px !important;
  width: 82px !important;
  height: 82px !important;
  display: grid !important;
  place-items: center !important;
  padding: 6px !important;
  border: 1px solid #d8e1ee !important;
  border-radius: 12px !important;
  background: #fff !important;
  cursor: pointer !important;
  box-shadow: 0 8px 20px rgba(15,23,42,.06) !important;
}
body.vlg-theme .vlg-at-gallery-modal__thumb.is-active,
body.vlg-theme .vlg-at-gallery-modal__thumb[aria-current="true"],
body .vlg-at-gallery-modal__thumb.is-active,
body .vlg-at-gallery-modal__thumb[aria-current="true"] {
  border-color: #0f172a !important;
  box-shadow: 0 0 0 2px rgba(15,23,42,.13), 0 8px 20px rgba(15,23,42,.08) !important;
}
body.vlg-theme .vlg-at-gallery-modal__thumb img,
body .vlg-at-gallery-modal__thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}
@media (max-width: 782px) {
  body.vlg-theme .vlg-at-gallery-modal__dialog,
  body .vlg-at-gallery-modal__dialog {
    padding: 10px 10px calc(10px + env(safe-area-inset-bottom)) !important;
    gap: 8px !important;
  }
  body.vlg-theme .vlg-at-gallery-modal__stage,
  body .vlg-at-gallery-modal__stage {
    padding: 56px 44px 0 !important;
  }
  body.vlg-theme .vlg-at-gallery-modal__img,
  body .vlg-at-gallery-modal__img {
    max-height: calc(100dvh - 154px - env(safe-area-inset-bottom)) !important;
  }
  body.vlg-theme .vlg-at-gallery-modal__nav,
  body .vlg-at-gallery-modal__nav {
    width: 42px !important;
    height: 42px !important;
    font-size: 32px !important;
  }
  body.vlg-theme .vlg-at-gallery-modal__nav--prev,
  body .vlg-at-gallery-modal__nav--prev { left: 8px !important; }
  body.vlg-theme .vlg-at-gallery-modal__nav--next,
  body .vlg-at-gallery-modal__nav--next { right: 8px !important; }
  body.vlg-theme .vlg-at-gallery-modal__close,
  body .vlg-at-gallery-modal__close {
    width: 42px !important;
    height: 42px !important;
    right: 10px !important;
    font-size: 30px !important;
  }
  body.vlg-theme .vlg-at-gallery-modal__counter,
  body .vlg-at-gallery-modal__counter {
    top: calc(14px + env(safe-area-inset-top)) !important;
    left: 10px !important;
    min-height: 34px !important;
    padding: 0 10px !important;
  }
  body.vlg-theme .vlg-at-gallery-modal__thumb,
  body .vlg-at-gallery-modal__thumb {
    flex-basis: 64px !important;
    width: 64px !important;
    height: 64px !important;
    border-radius: 10px !important;
  }
}


/* v5.1.67 — safer lightbox/rendering after browser-freeze report. */
body.vlg-theme .vlg-at-gallery-modal__img {
  contain: content !important;
}
body.vlg-theme .vlg-at-gallery-modal__thumb img {
  pointer-events: none !important;
}


/* v5.1.68 — removed mobile category quick-action toolbar; previous category drawer behaviour restored. */


/* v5.1.69 — mobile subcategories stay collapsed by default and open only on user tap. */
/* v5.1.75 — Mobile menu header cleanup
   Removes the dark header block behind the X button while keeping the close
   button and quick links visible and aligned. */
@media (max-width: 900px) {
  body.vlg-theme .vlg-nav.is-open::before,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open::before {
    display: none !important;
    content: none !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-nav-inner,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-nav-inner {
    padding-top: 16px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-head,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-mobile-nav-head {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    z-index: 30 !important;
    display: block !important;
    width: 58px !important;
    height: 58px !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-head > div,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-mobile-nav-head > div,
  body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-head strong,
  body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-head span,
  body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-head strong::before,
  body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-head strong::after {
    display: none !important;
    content: none !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-close,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-mobile-nav-close {
    position: static !important;
    inset: auto !important;
    display: inline-grid !important;
    place-items: center !important;
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
    min-height: 58px !important;
    margin: 0 !important;
    border: 1px solid #dbe6f3 !important;
    border-radius: 20px !important;
    background: #ffffff !important;
    color: #071224 !important;
    font-size: 38px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .13) !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-quick-links,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-mobile-quick-links {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: calc(100% - 74px) !important;
    min-height: 58px !important;
    margin: 0 74px 10px 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-quick-links a,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-mobile-quick-links a {
    min-height: 58px !important;
    border-radius: 20px !important;
  }
}

@media (max-width: 380px) {
  body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-head,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-mobile-nav-head {
    top: 12px !important;
    right: 12px !important;
    width: 52px !important;
    height: 52px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-nav-close,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-mobile-nav-close {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    min-height: 52px !important;
    border-radius: 18px !important;
    font-size: 34px !important;
  }

  body.vlg-theme .vlg-nav.is-open .vlg-mobile-quick-links,
  body.vlg-theme.vlg-menu-open .vlg-nav.is-open .vlg-mobile-quick-links {
    width: calc(100% - 64px) !important;
    margin-right: 64px !important;
  }
}

/* v5.1.76 — remove mobile bottom category "AVA" badge. */
@media (max-width: 900px) {
  html body.vlg-theme .vlg-mobile-appbar__item--primary::after,
  html body.vlg-theme .vlg-mobile-appbar__item--primary:after,
  html body.vlg-theme .vlg-mobile-appbar a.vlg-mobile-appbar__item--primary::after,
  html body.vlg-theme .vlg-mobile-appbar button.vlg-mobile-appbar__item--primary::after {
    content: none !important;
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    min-width: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
}

/* v5.1.77 — main product image changes image in the same gallery; zoom button opens large view. */
body.vlg-theme.single-product .vlg-at-gallery-open,
body.vlg-theme.single-product .vlg-at-gallery-image-frame {
  cursor: pointer !important;
}
body.vlg-theme.single-product .vlg-at-gallery-zoom {
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 0 !important;
  outline: 0 !important;
  opacity: 1 !important;
  transform: translateY(0) !important;
  cursor: zoom-in !important;
  z-index: 5 !important;
}
body.vlg-theme.single-product .vlg-at-gallery-zoom:hover,
body.vlg-theme.single-product .vlg-at-gallery-zoom:focus-visible {
  transform: translateY(-1px) scale(1.03) !important;
}


/* === 152-lightbox-arrows-only === */
/*
 * Lightbox: ainult nooled — pisipiltide riba ja loendaja peidetud
 * Lisa see fail: Valgusallikad/assets/css/parts/152-lightbox-arrows-only.css
 * ja lisa sisu ka kompileeritud CSS-i lõppu (valgusallikad-frontend-*.css)
 */

/* Peida pisipiltide riba modalis */
body.vlg-theme .vlg-at-gallery-modal__thumbs,
body .vlg-at-gallery-modal__thumbs {
  display: none !important;
}

/* Peida "1 / 3" loendaja modalis */
body.vlg-theme .vlg-at-gallery-modal__counter,
body .vlg-at-gallery-modal__counter {
  display: none !important;
}

/* Kuna thumbid on peidetud, anna pildile rohkem ruumi */
body.vlg-theme .vlg-at-gallery-modal__stage,
body .vlg-at-gallery-modal__stage {
  flex: 1 1 auto !important;
  padding-bottom: 0 !important;
}

body.vlg-theme .vlg-at-gallery-modal__img,
body .vlg-at-gallery-modal__img {
  max-height: calc(100dvh - 80px) !important;
}

@media (max-width: 600px) {
  body.vlg-theme .vlg-at-gallery-modal__img,
  body .vlg-at-gallery-modal__img {
    max-height: calc(100dvh - 60px) !important;
  }
}


/* === 153-admin-link-editor === */
/* ============================================================
   Valgusallikad Admin — Link Editor  v1.0.0
   ============================================================ */

.vlg-links-field { display: flex; flex-direction: column; gap: 10px; }

/* Lingiloend */
.vlg-links-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* Üks lingi rida */
.vlg-link-row {
  display: grid;
  grid-template-columns: 28px 1fr 1fr 34px;
  gap: 6px;
  align-items: center;
  background: #fff;
  border: 1.5px solid #e5e7eb;
  border-radius: 10px;
  padding: 7px 10px;
  transition: border-color .15s, box-shadow .15s;
}
.vlg-link-row:hover {
  border-color: #c3c4c7;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
}
.vlg-link-row.vlg-link-dragging {
  opacity: .5;
  border-style: dashed;
  border-color: #f28a00;
}
.vlg-link-row.vlg-link-over {
  border-color: #f28a00;
  box-shadow: 0 0 0 2px rgba(242,138,0,.2);
}

/* Drag handle */
.vlg-link-drag {
  cursor: grab;
  color: #aaa;
  font-size: 16px;
  text-align: center;
  user-select: none;
  line-height: 1;
  padding-top: 2px;
}
.vlg-link-drag:active { cursor: grabbing; }

/* Sisendväljad */
.vlg-link-row input[type="text"] {
  width: 100%;
  min-width: 0;
  padding: 6px 10px;
  border: 1px solid #ddd;
  border-radius: 7px;
  font-size: 13px;
  background: #fafafa;
  transition: border-color .12s, background .12s;
  box-sizing: border-box;
}
.vlg-link-row input[type="text"]:focus {
  border-color: #2271b1;
  background: #fff;
  box-shadow: 0 0 0 2px rgba(34,113,177,.12);
  outline: none;
}
.vlg-link-text { font-weight: 500; }
.vlg-link-url  { color: #555; font-family: monospace; font-size: 12.5px; }

/* Eemalda nupp */
.vlg-link-del {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  min-height: 0;
  padding: 0;
  border: 1.5px solid #e5e7eb !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: #c0392b !important;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  transition: background .12s, border-color .12s;
}
.vlg-link-del:hover {
  background: #fdf0f0 !important;
  border-color: #c0392b !important;
}

/* Lisa link nupp */
.vlg-link-add {
  align-self: flex-start;
  background: rgba(242,138,0,.09) !important;
  border: 1.5px dashed rgba(242,138,0,.4) !important;
  border-radius: 8px !important;
  color: #bf6500 !important;
  font-weight: 700 !important;
  padding: 6px 14px !important;
  font-size: 13px !important;
  transition: background .13s, border-color .13s;
}
.vlg-link-add:hover {
  background: rgba(242,138,0,.16) !important;
  border-color: rgba(242,138,0,.7) !important;
}

/* Tühi list */
.vlg-links-list:empty::before {
  content: 'Linke pole lisatud — vajuta "+ Lisa link"';
  display: block;
  color: #999;
  font-size: 13px;
  font-style: italic;
  padding: 10px 0;
}


/* === 154-admin-sticky-rail === */
/* =========================================================
   v5.1.71 — Admin section-rail sticky fix
   Rail (vasak navigatsioon) peab jääma paigale skrollimisel.
   Probleem: top:50px oli liiga väike — tabs-pro katab ~142px.
   ========================================================= */

/* CSS muutuja kogu lehele — lihtsam hallata */
.wp-admin .vlg-admin-wrap {
  --vlg-rail-top: 148px; /* 32px admin bar + ~116px tabs = ~148px */
}
.wp-admin.no-admin-bar .vlg-admin-wrap {
  --vlg-rail-top: 116px;
}
@media screen and (max-width: 782px) {
  .wp-admin .vlg-admin-wrap {
    --vlg-rail-top: 162px; /* 46px mobile bar + ~116px tabs */
  }
}

/* Rail — korrektne sticky */
.wp-admin .vlg-admin-wrap .vlg-admin-section-rail {
  position: sticky !important;
  top: var(--vlg-rail-top, 148px) !important;
  max-height: calc(100vh - var(--vlg-rail-top, 148px) - 16px) !important;
  overflow-y: auto !important;
  z-index: 40 !important; /* tabs (z:50) all on top */
  /* scrollbar väike ja diskreetne */
  scrollbar-width: thin;
  scrollbar-color: #e2e8f0 transparent;
}
.wp-admin .vlg-admin-wrap .vlg-admin-section-rail::-webkit-scrollbar {
  width: 4px;
}
.wp-admin .vlg-admin-wrap .vlg-admin-section-rail::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 4px;
}

/* Grid peab rail'i lubama sticky-na töötada:
   align-items:start on oluline — ilma selleta venitab grid
   rail'i täispitkuseks ja sticky ei tööta */
.wp-admin .vlg-admin-wrap .vlg-admin-studio-layout-v2 {
  align-items: start !important;
}

/* Kindlusta et ükski vanem ei blokeeri sticky-t overflow:hidden-ga */
.wp-admin #wpcontent,
.wp-admin #wpbody,
.wp-admin #wpbody-content,
.wp-admin .vlg-admin-wrap,
.wp-admin .vlg-admin-studio-layout-v2 {
  overflow: visible !important;
}
/* Erand: vlg-admin-card võib jääda overflow:hidden-ga — see ei blokeeri */

/* Mobiilil rail on laiuse täis, sticky eemaldatud */
@media (max-width: 1100px) {
  .wp-admin .vlg-admin-wrap .vlg-admin-section-rail {
    position: static !important;
    max-height: none !important;
    overflow-y: visible !important;
  }
}


/* === 155-admin-ui-pro === */
/* =============================================================
   Valgusallikad Admin UI Pro  v2.0  (155-admin-ui-pro.css)
   Täielik admin kujunduse täiustus — tabs, väljad, kaardid,
   sisend-elemendid, checkbox, rail, lingiredaktor.
   ============================================================= */

/* ── CSS muutujad ──────────────────────────────────────────── */
.wp-admin .vlg-admin-wrap {
  --va-orange:        #f28a00;
  --va-orange-dark:   #bf6500;
  --va-orange-light:  rgba(242, 138, 0, .10);
  --va-orange-glow:   rgba(242, 138, 0, .22);
  --va-blue:          #2271b1;
  --va-slate:         #0f172a;
  --va-muted:         #64748b;
  --va-border:        #e2e8f0;
  --va-bg:            #f8fafc;
  --va-card:          #ffffff;
  --va-radius-sm:     8px;
  --va-radius-md:     12px;
  --va-radius-lg:     18px;
  --va-radius-xl:     24px;
  --va-shadow-xs:     0 1px 3px rgba(15,23,42,.06);
  --va-shadow-sm:     0 4px 14px rgba(15,23,42,.07);
  --va-shadow-md:     0 12px 32px rgba(15,23,42,.09);
  --va-shadow-lg:     0 22px 56px rgba(15,23,42,.11);
  --va-shadow-glow:   0 0 0 3px var(--va-orange-glow);
  --va-transition:    .16s cubic-bezier(.4,0,.2,1);
}

/* ── Üldine typography ─────────────────────────────────────── */
.wp-admin .vlg-admin-wrap {
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: var(--va-slate) !important;
}

/* ═══════════════════════════════════════════════════════════
   TABS — peamine navigatsioon
   ═══════════════════════════════════════════════════════════ */
.wp-admin .vlg-admin-wrap .vlg-admin-tabs-pro {
  display: grid !important;
  grid-template-columns: repeat(7, 1fr) !important;
  gap: 3px !important;
  padding: 5px !important;
  border-radius: var(--va-radius-lg) !important;
  border: 1px solid var(--va-border) !important;
  background: linear-gradient(180deg, #f8fafc, #f1f5f9) !important;
  box-shadow: var(--va-shadow-xs), inset 0 1px 0 rgba(255,255,255,.9) !important;
}

.wp-admin .vlg-admin-wrap .vlg-admin-tabs-pro .vlg-admin-tab {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  padding: 11px 8px !important;
  border: 1px solid transparent !important;
  border-radius: var(--va-radius-md) !important;
  background: transparent !important;
  color: var(--va-muted) !important;
  font-weight: 650 !important;
  cursor: pointer !important;
  transition: all var(--va-transition) !important;
  text-align: center !important;
  line-height: 1.2 !important;
  min-height: 60px !important;
  position: relative !important;
}

.wp-admin .vlg-admin-wrap .vlg-admin-tabs-pro .vlg-admin-tab .vlg-admin-tab-icon {
  font-size: 22px !important;
  line-height: 1 !important;
  transition: transform var(--va-transition) !important;
}

.wp-admin .vlg-admin-wrap .vlg-admin-tabs-pro .vlg-admin-tab .vlg-admin-tab-label {
  font-size: 11.5px !important;
  font-weight: 750 !important;
  letter-spacing: -.01em !important;
}

.wp-admin .vlg-admin-wrap .vlg-admin-tabs-pro .vlg-admin-tab:hover {
  background: rgba(255,255,255,.85) !important;
  border-color: var(--va-border) !important;
  color: var(--va-slate) !important;
  box-shadow: var(--va-shadow-xs) !important;
}
.wp-admin .vlg-admin-wrap .vlg-admin-tabs-pro .vlg-admin-tab:hover .vlg-admin-tab-icon {
  transform: translateY(-1px) !important;
}

.wp-admin .vlg-admin-wrap .vlg-admin-tabs-pro .vlg-admin-tab.is-active {
  background: linear-gradient(160deg, #fff 0%, #fffbf5 100%) !important;
  border-color: rgba(242,138,0,.28) !important;
  color: var(--va-orange) !important;
  box-shadow:
    0 2px 12px rgba(242,138,0,.18),
    0 1px 0 rgba(255,255,255,.9) inset !important;
  font-weight: 850 !important;
}

.wp-admin .vlg-admin-wrap .vlg-admin-tabs-pro .vlg-admin-tab.is-active .vlg-admin-tab-icon {
  filter: drop-shadow(0 0 6px rgba(242,138,0,.4)) !important;
}

/* ═══════════════════════════════════════════════════════════
   SECTION RAIL — vasak navigatsioon
   ═══════════════════════════════════════════════════════════ */
.wp-admin .vlg-admin-wrap .vlg-admin-section-rail {
  border-radius: var(--va-radius-lg) !important;
  border: 1px solid var(--va-border) !important;
  background: linear-gradient(180deg, #fff 0%, #fafbfd 100%) !important;
  box-shadow: var(--va-shadow-sm) !important;
  padding: 10px !important;
}

.wp-admin .vlg-admin-wrap .vlg-admin-section-rail-head {
  padding: 8px 10px 12px !important;
  margin-bottom: 6px !important;
  border-bottom: 1px solid #f0f4f8 !important;
}

.wp-admin .vlg-admin-wrap .vlg-admin-section-rail-head strong {
  font-size: 14px !important;
  font-weight: 900 !important;
  color: var(--va-slate) !important;
  letter-spacing: -.02em !important;
}

.wp-admin .vlg-admin-wrap .vlg-admin-section-rail-head small {
  font-size: 12px !important;
  color: var(--va-muted) !important;
  margin-top: 3px !important;
  display: block !important;
  line-height: 1.4 !important;
}

.wp-admin .vlg-admin-wrap .vlg-admin-section-rail-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}

.wp-admin .vlg-admin-wrap .vlg-admin-section-rail-link {
  display: grid !important;
  grid-template-columns: 26px 1fr !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 9px 11px !important;
  border-radius: var(--va-radius-md) !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  color: #334155 !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  text-align: left !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: all var(--va-transition) !important;
  line-height: 1.3 !important;
  width: 100% !important;
}

.wp-admin .vlg-admin-wrap .vlg-admin-section-rail-link span:first-child {
  font-size: 17px !important;
  text-align: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 26px !important;
  height: 26px !important;
  border-radius: 8px !important;
  background: #f1f5f9 !important;
  transition: background var(--va-transition) !important;
}

.wp-admin .vlg-admin-wrap .vlg-admin-section-rail-link:hover {
  background: var(--va-orange-light) !important;
  border-color: var(--va-orange-glow) !important;
  color: var(--va-orange-dark) !important;
}
.wp-admin .vlg-admin-wrap .vlg-admin-section-rail-link:hover span:first-child {
  background: rgba(242,138,0,.12) !important;
}

.wp-admin .vlg-admin-wrap .vlg-admin-section-rail-link.is-active {
  background: linear-gradient(135deg, #fff7ed, #fffbf5) !important;
  border-color: rgba(242,138,0,.3) !important;
  color: var(--va-orange-dark) !important;
  font-weight: 850 !important;
  box-shadow: var(--va-shadow-xs), inset 3px 0 0 var(--va-orange) !important;
}
.wp-admin .vlg-admin-wrap .vlg-admin-section-rail-link.is-active span:first-child {
  background: rgba(242,138,0,.15) !important;
}

/* ═══════════════════════════════════════════════════════════
   KAARDID (accordion details)
   ═══════════════════════════════════════════════════════════ */
.wp-admin .vlg-admin-wrap details.vlg-admin-card,
.wp-admin .vlg-admin-wrap .vlg-admin-card {
  border-radius: var(--va-radius-lg) !important;
  border: 1px solid var(--va-border) !important;
  background: var(--va-card) !important;
  box-shadow: var(--va-shadow-xs) !important;
  margin-bottom: 10px !important;
  overflow: hidden !important;
  transition: box-shadow var(--va-transition), border-color var(--va-transition) !important;
}

.wp-admin .vlg-admin-wrap details.vlg-admin-card[open],
.wp-admin .vlg-admin-wrap details.vlg-admin-card:focus-within {
  border-color: rgba(242,138,0,.3) !important;
  box-shadow: var(--va-shadow-sm) !important;
}

/* Summary rida */
.wp-admin .vlg-admin-wrap details.vlg-admin-card > summary {
  display: grid !important;
  grid-template-columns: 44px 1fr auto !important;
  align-items: center !important;
  gap: 14px !important;
  min-height: 60px !important;
  padding: 14px 18px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: -.02em !important;
  cursor: pointer !important;
  user-select: none !important;
  background: linear-gradient(180deg, #fff 0%, #fafbfd 100%) !important;
  transition: background var(--va-transition) !important;
}
.wp-admin .vlg-admin-wrap details.vlg-admin-card > summary:hover {
  background: linear-gradient(180deg, #fff 0%, #f8fafc 100%) !important;
}
.wp-admin .vlg-admin-wrap details.vlg-admin-card[open] > summary {
  background: linear-gradient(180deg, #fffbf5 0%, #fff 100%) !important;
  border-bottom: 1px solid #f0e8d8 !important;
}

/* Indeks-number (01, 02 …) */
.wp-admin .vlg-admin-wrap details.vlg-admin-card > summary::before {
  content: var(--vlg-card-index, "") !important;
  display: grid !important;
  place-items: center !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: var(--va-radius-md) !important;
  background: #f1f5f9 !important;
  color: var(--va-muted) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  flex-shrink: 0 !important;
  transition: all var(--va-transition) !important;
}
.wp-admin .vlg-admin-wrap details.vlg-admin-card[open] > summary::before {
  background: linear-gradient(135deg, #fff7ed, #ffe8c0) !important;
  color: var(--va-orange) !important;
  box-shadow: 0 2px 8px rgba(242,138,0,.2) !important;
}

/* Expand chevron */
.wp-admin .vlg-admin-wrap details.vlg-admin-card > summary::after {
  content: '' !important;
  display: block !important;
  width: 10px !important;
  height: 10px !important;
  border-right: 2.5px solid var(--va-muted) !important;
  border-bottom: 2.5px solid var(--va-muted) !important;
  transform: rotate(45deg) translateY(-2px) !important;
  transition: transform var(--va-transition), border-color var(--va-transition) !important;
  flex-shrink: 0 !important;
}
.wp-admin .vlg-admin-wrap details.vlg-admin-card[open] > summary::after {
  transform: rotate(-135deg) translateY(3px) !important;
  border-color: var(--va-orange) !important;
}

/* Sisuvaba marker eemaldamine */
.wp-admin .vlg-admin-wrap details.vlg-admin-card > summary::-webkit-details-marker { display: none !important; }
.wp-admin .vlg-admin-wrap details.vlg-admin-card > summary { list-style: none !important; }

/* Kaardi sisu */
.wp-admin .vlg-admin-wrap details.vlg-admin-card > .vlg-admin-grid,
.wp-admin .vlg-admin-wrap details.vlg-admin-card > div {
  padding: 20px !important;
}

/* ═══════════════════════════════════════════════════════════
   SISENDVÄLJAD — text, textarea, select, number
   ═══════════════════════════════════════════════════════════ */
.wp-admin .vlg-admin-wrap input[type="text"],
.wp-admin .vlg-admin-wrap input[type="email"],
.wp-admin .vlg-admin-wrap input[type="url"],
.wp-admin .vlg-admin-wrap input[type="number"],
.wp-admin .vlg-admin-wrap input[type="color"],
.wp-admin .vlg-admin-wrap input[type="date"],
.wp-admin .vlg-admin-wrap input[type="search"],
.wp-admin .vlg-admin-wrap textarea,
.wp-admin .vlg-admin-wrap select {
  width: 100% !important;
  padding: 9px 12px !important;
  border: 1.5px solid #d4dce8 !important;
  border-radius: var(--va-radius-sm) !important;
  background: #fafbfd !important;
  color: var(--va-slate) !important;
  font-size: 13.5px !important;
  line-height: 1.5 !important;
  font-family: inherit !important;
  transition: border-color var(--va-transition), box-shadow var(--va-transition), background var(--va-transition) !important;
  box-shadow: inset 0 1px 3px rgba(15,23,42,.04) !important;
}

.wp-admin .vlg-admin-wrap input[type="text"]:focus,
.wp-admin .vlg-admin-wrap input[type="email"]:focus,
.wp-admin .vlg-admin-wrap input[type="url"]:focus,
.wp-admin .vlg-admin-wrap input[type="number"]:focus,
.wp-admin .vlg-admin-wrap input[type="search"]:focus,
.wp-admin .vlg-admin-wrap textarea:focus,
.wp-admin .vlg-admin-wrap select:focus {
  border-color: var(--va-orange) !important;
  background: #fff !important;
  box-shadow: var(--va-shadow-glow), inset 0 1px 3px rgba(15,23,42,.03) !important;
  outline: none !important;
}

.wp-admin .vlg-admin-wrap select {
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2364748b' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  padding-right: 34px !important;
}

/* Välja label */
.wp-admin .vlg-admin-wrap .vlg-admin-field > span:first-child,
.wp-admin .vlg-admin-wrap .vlg-admin-grid label > span:first-child {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-size: 11.5px !important;
  font-weight: 800 !important;
  color: var(--va-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
  margin-bottom: 2px !important;
}

/* Välja kirjeldus (small) */
.wp-admin .vlg-admin-wrap .vlg-admin-field small,
.wp-admin .vlg-admin-wrap label small {
  font-size: 12px !important;
  color: #94a3b8 !important;
  line-height: 1.4 !important;
  margin-top: 4px !important;
  display: block !important;
}

/* ═══════════════════════════════════════════════════════════
   CHECKBOX — kohandatud välimus
   ═══════════════════════════════════════════════════════════ */
.wp-admin .vlg-admin-wrap .vlg-admin-checkbox {
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 14px !important;
  border-radius: var(--va-radius-md) !important;
  border: 1.5px solid var(--va-border) !important;
  background: #fafbfd !important;
  cursor: pointer !important;
  transition: all var(--va-transition) !important;
}
.wp-admin .vlg-admin-wrap .vlg-admin-checkbox:hover {
  border-color: var(--va-orange-glow) !important;
  background: #fffbf5 !important;
}
.wp-admin .vlg-admin-wrap .vlg-admin-checkbox:has(input:checked) {
  border-color: rgba(242,138,0,.4) !important;
  background: linear-gradient(135deg, #fffbf5, #fff) !important;
}

.wp-admin .vlg-admin-wrap .vlg-admin-checkbox input[type="checkbox"] {
  flex-shrink: 0 !important;
  width: 18px !important;
  height: 18px !important;
  padding: 0 !important;
  accent-color: var(--va-orange) !important;
  cursor: pointer !important;
}

.wp-admin .vlg-admin-wrap .vlg-admin-checkbox > span {
  font-size: 13.5px !important;
  font-weight: 650 !important;
  color: var(--va-slate) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* ═══════════════════════════════════════════════════════════
   NUPUD
   ═══════════════════════════════════════════════════════════ */
.wp-admin .vlg-admin-wrap .button-primary {
  background: linear-gradient(135deg, #f28a00, #ff9a1a) !important;
  border-color: #c35a00 !important;
  color: #fff !important;
  text-shadow: none !important;
  font-weight: 800 !important;
  box-shadow: 0 2px 10px rgba(242,138,0,.35) !important;
  transition: all var(--va-transition) !important;
}
.wp-admin .vlg-admin-wrap .button-primary:hover,
.wp-admin .vlg-admin-wrap .button-primary:focus {
  background: linear-gradient(135deg, #d97a00, #f28a00) !important;
  box-shadow: 0 4px 16px rgba(242,138,0,.45) !important;
  transform: translateY(-1px) !important;
  color: #fff !important;
}

.wp-admin .vlg-admin-wrap .button-secondary,
.wp-admin .vlg-admin-wrap .button:not(.button-primary):not(.button-link) {
  border: 1.5px solid var(--va-border) !important;
  background: linear-gradient(180deg, #fff, #f8fafc) !important;
  color: #334155 !important;
  box-shadow: var(--va-shadow-xs) !important;
  font-weight: 700 !important;
  transition: all var(--va-transition) !important;
}
.wp-admin .vlg-admin-wrap .button-secondary:hover,
.wp-admin .vlg-admin-wrap .button:not(.button-primary):not(.button-link):hover {
  border-color: #cbd5e1 !important;
  background: #fff !important;
  box-shadow: var(--va-shadow-sm) !important;
  transform: translateY(-1px) !important;
}

/* Salvestamise riba */
.wp-admin .vlg-admin-wrap .vlg-admin-submitbar {
  border-top: 1px solid var(--va-border) !important;
  background: rgba(255,255,255,.96) !important;
  backdrop-filter: blur(12px) !important;
  padding: 14px 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

/* ═══════════════════════════════════════════════════════════
   HERO — ülemine pealkirjariba
   ═══════════════════════════════════════════════════════════ */
.wp-admin .vlg-admin-wrap .vlg-admin-hero {
  border-radius: var(--va-radius-xl) !important;
  background:
    radial-gradient(ellipse at 90% 0%, rgba(242,138,0,.18) 0%, transparent 40%),
    radial-gradient(ellipse at 5% 110%, rgba(14,165,233,.10) 0%, transparent 35%),
    linear-gradient(135deg, #fff 0%, #f8fafc 50%, #fff8f0 100%) !important;
  border: 1px solid rgba(219,229,241,.9) !important;
  box-shadow: var(--va-shadow-md) !important;
}

/* ═══════════════════════════════════════════════════════════
   MEEDIAL väli (logo jne)
   ═══════════════════════════════════════════════════════════ */
.wp-admin .vlg-admin-wrap .vlg-media-row {
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
}
.wp-admin .vlg-admin-wrap .vlg-media-row input[type="text"] {
  flex: 1 !important;
}
.wp-admin .vlg-admin-wrap .vlg-media-preview {
  display: block !important;
  max-width: 120px !important;
  max-height: 60px !important;
  object-fit: contain !important;
  margin-top: 8px !important;
  border-radius: var(--va-radius-sm) !important;
  border: 1px solid var(--va-border) !important;
  padding: 4px !important;
  background: #f8fafc !important;
}

/* ═══════════════════════════════════════════════════════════
   LINGIREDAKTOR (vlg-option-links)
   ═══════════════════════════════════════════════════════════ */
.vlg-link-row {
  background: #fafbfd !important;
  border: 1.5px solid #e8edf3 !important;
  border-radius: 12px !important;
}
.vlg-link-row:hover { border-color: #cbd5e1 !important; }
.vlg-link-row.vlg-link-over { border-color: var(--va-orange, #f28a00) !important; }

.vlg-link-row input[type="text"] {
  background: #fff !important;
  border-color: #dde3eb !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  padding: 6px 10px !important;
}

/* ═══════════════════════════════════════════════════════════
   MOBIIL responsive
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 900px) {
  .wp-admin .vlg-admin-wrap .vlg-admin-tabs-pro {
    grid-template-columns: repeat(4, 1fr) !important;
  }
  body .vlg-cat-subtoggle { width: 44px !important; height: 44px !important; }
}
@media (max-width: 600px) {
  .wp-admin .vlg-admin-wrap .vlg-admin-tabs-pro {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}



/* === 156-admin-sticky-tabs === */
/* =========================================================
   156-admin-sticky-tabs.css
   Täielik sticky-fix admin tabs + rail jaoks.
   WP admin #wpcontent/html overflow blokeeris CSS sticky.
   ========================================================= */

/* Eemalda overflow-blokeering WP admin wrapper'itel (ainult teema seadete lehel) */
.toplevel_page_valgusallikad-options #wpwrap,
.toplevel_page_valgusallikad-options #wpcontent,
.toplevel_page_valgusallikad-options #wpbody,
.toplevel_page_valgusallikad-options #wpbody-content {
  overflow: visible !important;
}

/* TABS — sticky täpsete väärtustega */
.wp-admin .vlg-admin-wrap .vlg-admin-tabs-pro {
  position: sticky !important;
  top: 32px !important;
  z-index: 100 !important;
  background: linear-gradient(180deg,#f8fafc,#f1f5f9) !important;
  border-radius: 18px !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 4px 20px rgba(15,23,42,.10) !important;
  /* Takista allpool olevat sisu läbi paistmast */
  isolation: isolate !important;
}

.wp-admin.no-admin-bar .vlg-admin-wrap .vlg-admin-tabs-pro {
  top: 0 !important;
}

/* Mobiili admin bar on 46px */
@media screen and (max-width: 782px) {
  .wp-admin .vlg-admin-wrap .vlg-admin-tabs-pro {
    top: 46px !important;
  }
}

/* RAIL — sticky koos korrektse top-väärtusega */
.wp-admin .vlg-admin-wrap .vlg-admin-section-rail {
  position: sticky !important;
  top: 148px !important; /* 32px bar + ~116px tabs */
  z-index: 90 !important;
  align-self: start !important;
  max-height: calc(100vh - 164px) !important;
  overflow-y: auto !important;
  scrollbar-width: thin !important;
  scrollbar-color: #e2e8f0 transparent !important;
  background: linear-gradient(180deg,#fff,#fafbfd) !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 18px !important;
  box-shadow: 0 4px 16px rgba(15,23,42,.07) !important;
}

.wp-admin.no-admin-bar .vlg-admin-wrap .vlg-admin-section-rail {
  top: 116px !important;
  max-height: calc(100vh - 132px) !important;
}

@media screen and (max-width: 782px) {
  .wp-admin .vlg-admin-wrap .vlg-admin-section-rail {
    top: 162px !important;
    max-height: calc(100vh - 178px) !important;
  }
}

/* Grid peab lubama sticky */
.wp-admin .vlg-admin-wrap .vlg-admin-studio-layout-v2 {
  align-items: start !important;
  /* Ei ole overflow! */
}

/* Section intro (orange banner) — sticky tabs all */
.wp-admin .vlg-admin-wrap .vlg-admin-section-intro {
  position: sticky !important;
  top: 148px !important;
  z-index: 89 !important;
}
.wp-admin.no-admin-bar .vlg-admin-wrap .vlg-admin-section-intro {
  top: 116px !important;
}

/* Submit bar — põhjas sticky */
.wp-admin .vlg-admin-wrap .vlg-admin-submitbar {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 95 !important;
  background: rgba(255,255,255,.97) !important;
  backdrop-filter: blur(12px) !important;
  border-top: 1px solid #e2e8f0 !important;
  box-shadow: 0 -4px 20px rgba(15,23,42,.08) !important;
  padding: 12px 20px !important;
}

/* Mobiilil rail pole sticky */
@media (max-width: 1100px) {
  .wp-admin .vlg-admin-wrap .vlg-admin-section-rail {
    position: static !important;
    max-height: none !important;
    overflow-y: visible !important;
  }
}

/* Peida standardne WooCommerce bänner tootelehel */
body.single-product .woocommerce-message:not(.woocommerce-cart .woocommerce-message),
body.single-product .woocommerce > .woocommerce-message {
  /* Teisenda toast-teateks */
  position: fixed !important;
  bottom: 24px !important;
  right: 24px !important;
  top: auto !important;
  left: auto !important;
  z-index: 99999 !important;
  width: auto !important;
  max-width: min(420px, calc(100vw - 48px)) !important;
  margin: 0 !important;
  padding: 14px 18px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(242,138,0,.25) !important;
  border-left: 4px solid #f28a00 !important;
  background: #fff !important;
  box-shadow: 0 8px 32px rgba(15,23,42,.16), 0 2px 8px rgba(242,138,0,.12) !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #1e293b !important;
  animation: vlgToastIn .3s cubic-bezier(.34,1.56,.64,1) both !important;
}

/* Üldine toast kõigil lehtedel (v.a. cart ise) */
body:not(.woocommerce-cart) .woocommerce-message {
  position: fixed !important;
  bottom: 24px !important;
  right: 24px !important;
  top: auto !important;
  left: auto !important;
  z-index: 99999 !important;
  width: auto !important;
  max-width: min(420px, calc(100vw - 48px)) !important;
  margin: 0 !important;
  padding: 14px 20px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(34,197,94,.3) !important;
  border-left: 4px solid #22c55e !important;
  background: #fff !important;
  box-shadow: 0 8px 32px rgba(15,23,42,.15) !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #1e293b !important;
  animation: vlgToastIn .32s cubic-bezier(.34,1.56,.64,1) both !important;
  backdrop-filter: blur(4px) !important;
}

/* Rohelise linnukese ikoon */
body:not(.woocommerce-cart) .woocommerce-message::before {
  content: '✓' !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: #dcfce7 !important;
  color: #16a34a !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

/* "Vaata ostukorvi" nupp toast-is */
body:not(.woocommerce-cart) .woocommerce-message .button,
body:not(.woocommerce-cart) .woocommerce-message a.button {
  flex-shrink: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 7px 14px !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg, #f28a00, #ff9a1a) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  border: none !important;
  box-shadow: 0 2px 8px rgba(242,138,0,.3) !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}
body:not(.woocommerce-cart) .woocommerce-message .button:hover {
  background: linear-gradient(135deg, #d97a00, #f28a00) !important;
}

/* Sissetuleku animatsioon */
@keyframes vlgToastIn {
  from { opacity: 0; transform: translateY(20px) scale(.95); }
  to   { opacity: 1; transform: translateY(0)  scale(1); }
}

/* Mobiilil — all keskel */
@media (max-width: 600px) {
  body:not(.woocommerce-cart) .woocommerce-message {
    bottom: 16px !important;
    right: 12px !important;
    left: 12px !important;
    max-width: none !important;
  }
}

/* ============================================================
   v5.1.79 — Jaluse linkide täiustatud disain
   Asendab kuldsed ›-nooled elegantsema stiiliga
   ============================================================ */

/* Eemaldame › noole */
body.vlg-theme .vlg-footer-menu a::before {
  content: '' !important;
  display: none !important;
}

/* Uus link stiil — peen joon vasakul + sujuv hover */
body.vlg-theme .vlg-footer-menu a {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: rgba(219, 228, 238, .82) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  padding: 5px 0 5px 12px !important;
  border-left: 2px solid rgba(255, 191, 94, 0) !important;
  transition: color .15s, border-color .15s, padding-left .15s, background .15s !important;
  border-radius: 0 6px 6px 0 !important;
  position: relative !important;
  letter-spacing: .01em !important;
}

body.vlg-theme .vlg-footer-menu a:hover {
  color: #ffca72 !important;
  border-left-color: rgba(255, 191, 94, .7) !important;
  padding-left: 16px !important;
  background: rgba(255, 191, 94, .05) !important;
  transform: none !important;
}

/* Pealkirjad jaluse veergudes */
body.vlg-theme .vlg-footer-col-title,
body.vlg-theme .vlg-footer-menu-title {
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: rgba(255,191,94,.9) !important;
  margin-bottom: 14px !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid rgba(255,191,94,.2) !important;
  display: block !important;
}

/* Jaluse lingide vahe */
body.vlg-theme .vlg-footer-menu {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}

/* Variations tabel ja single_variation_wrap — span kogu laius */
.single-product .vlg-product-buybox form.variations_form .variations,
.single-product .vlg-product-buybox form.variations_form table.variations,
.single-product .vlg-product-buybox form.variations_form .single_variation_wrap,
.single-product .vlg-product-buybox form.variations_form .woocommerce-variation-description,
.single-product .vlg-product-buybox form.variations_form .reset_variations {
  grid-column: 1 / -1 !important;
  width: 100% !important;
}

/* variation-add-to-cart saab ise 2-veerulise griidi */
.single-product .vlg-product-buybox .woocommerce-variation-add-to-cart {
  display: grid !important;
  grid-template-columns: 90px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
  width: 100% !important;
}

/* Nupp — täidab kogu parema veeru */
.single-product .vlg-product-buybox .woocommerce-variation-add-to-cart .single_add_to_cart_button,
.single-product .vlg-product-buybox .woocommerce-variation-add-to-cart button.button {
  width: 100% !important;
  min-height: 48px !important;
  grid-column: 2 !important;
}

/* Kogus — vasak veerg */
.single-product .vlg-product-buybox .woocommerce-variation-add-to-cart .quantity {
  width: 100% !important;
  grid-column: 1 !important;
}

/* Mobiil-spetsiifiline override */
@media (max-width: 600px) {
  .single-product .vlg-product-buybox form.variations_form .variations,
  .single-product .vlg-product-buybox form.variations_form table.variations,
  .single-product .vlg-product-buybox form.variations_form .single_variation_wrap {
    grid-column: 1 / -1 !important;
  }

  .single-product .vlg-product-buybox .woocommerce-variation-add-to-cart {
    grid-template-columns: 80px minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  /* Overflow fix — nupp ei tohi lõigata */
  .single-product .vlg-product-buybox,
  .single-product .vlg-product-buybox form.cart,
  .single-product .vlg-product-buybox .single_variation_wrap,
  .single-product .vlg-product-buybox .woocommerce-variation-add-to-cart {
    overflow: visible !important;
  }
}

/* ============================================================
   v5.1.79 — Lisa korvi nupp: lihtne toode mobiilil
   Probleem: form.cart grid 80px+1fr paneb nuppu 80px veergu
   kui kogus puudub (lihtsal tootel)
   ============================================================ */

/* Lihtne toode (ilma koguseta) — nupp täislaiuses */
@media (max-width: 600px) {
  .single-product .vlg-product-buybox form.cart:not(:has(.quantity)) {
    display: block !important;
    grid-template-columns: none !important;
  }
  .single-product .vlg-product-buybox form.cart:not(:has(.quantity)) .single_add_to_cart_button,
  .single-product .vlg-product-buybox form.cart:not(:has(.quantity)) button[type="submit"] {
    width: 100% !important;
    min-height: 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Kõikidel juhtudel — nupp ei tohi lõigata */
  .single-product .vlg-product-buybox form.cart {
    overflow: visible !important;
  }
  .single-product .vlg-product-buybox .single_add_to_cart_button {
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
  }
}

/* Üldine fallback: kui nupp on ainus laps form.cart-is */
@media (max-width: 767px) {
  .single-product .vlg-product-buybox form.cart.cart > .single_add_to_cart_button:only-child,
  .single-product .vlg-product-buybox form.cart > button.single_add_to_cart_button:first-child:last-child {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-height: 50px !important;
  }
}

/* ============================================================
   v5.1.80 — Mobile bottom appbar stability fix
   Problem: on Android/iOS during page load/viewport changes the bottom
   appbar could appear in the middle of the screen. Keep it pinned to
   the visual bottom and stop inherited transforms/margins from moving it.
   ============================================================ */
@media (max-width: 782px) {
  :root { --vlg-mobile-appbar-h: 78px; }

  html body.vlg-theme {
    padding-bottom: calc(var(--vlg-mobile-appbar-h, 78px) + 18px + env(safe-area-inset-bottom)) !important;
  }

  html body.vlg-theme .vlg-mobile-appbar {
    position: fixed !important;
    top: auto !important;
    left: max(10px, env(safe-area-inset-left)) !important;
    right: max(10px, env(safe-area-inset-right)) !important;
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    transform: translate3d(0, 0, 0) !important;
    translate: none !important;
    z-index: 99920 !important;
    will-change: auto !important;
    backface-visibility: hidden !important;
    contain: layout paint style !important;
  }

  html body.vlg-theme:not(.vlg-menu-open):not(.vlg-mobile-search-open) .vlg-mobile-appbar {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  html body.vlg-theme .vlg-mobile-appbar__item {
    transform: none !important;
  }

  html body.vlg-theme .vlg-mobile-appbar__item--primary {
    transform: translateY(-8px) !important;
  }
}


/* v5.1.79 audit-live-mobile-stabilizer
   Viimane kaitsekiht mobiili jaoks: alumine appbar fikseeritult all,
   safe-area tugi, piisav bottom-padding ja vähem horisontaalset nihkumist. */
@media (max-width: 900px) {
  html, body { max-width: 100%; overflow-x: clip; }
  body.vlg-theme { padding-bottom: calc(104px + env(safe-area-inset-bottom, 0px)) !important; }
  body.vlg-theme .vlg-mobile-appbar,
  body.vlg-theme .vlg-mobile-quick-links {
    position: fixed !important;
    left: 12px !important;
    right: 12px !important;
    bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important;
    top: auto !important;
    width: auto !important;
    max-width: calc(100vw - 24px) !important;
    transform: translate3d(0,0,0) !important;
    margin: 0 !important;
    z-index: 2147483000 !important;
    contain: layout paint style;
    will-change: transform;
  }
  body.vlg-theme .vlg-mobile-appbar__item,
  body.vlg-theme .vlg-mobile-quick-links a {
    min-width: 0 !important;
    min-height: 56px !important;
    touch-action: manipulation;
  }
  body.vlg-theme .vlg-mobile-appbar__item--primary,
  body.vlg-theme .vlg-mobile-quick-links a[data-page="categories"] {
    transform: translate3d(0,-12px,0) !important;
  }
  .vlg-section,
  .vlg-home-section,
  .vlg-popular-categories,
  .vlg-category-section {
    scroll-margin-top: 88px;
  }
  .single-product .vmp-sticky-buy,
  body.vlg-theme .vlg-sticky-cart,
  body.vlg-theme [data-vlg-mobile-buybar] {
    bottom: calc(94px + env(safe-area-inset-bottom, 0px)) !important;
    z-index: 2147482000 !important;
  }
}
@media (min-width: 901px) {
  body.vlg-theme .vlg-mobile-appbar,
  body.vlg-theme .vlg-mobile-quick-links { display: none !important; }
}


/* =========================================================
 * v5.1.82 — Product card add-to-cart icon cleanup
 * - Hides the tiny cart icon inside loop/card CTA buttons when it is
 *   barely visible on the yellow button background.
 * ========================================================= */
body.vlg-theme .vlg-product-card .vlg-card-actions .vlg-card-cart::before,
body.vlg-theme .vlg-product-card .vlg-card-actions .button::before,
body.vlg-theme .vlg-home-product-section .vlg-product-card .vlg-card-actions .vlg-card-cart::before,
body.vlg-theme .vlg-latest-showcase .vlg-product-card .vlg-card-actions .vlg-card-cart::before,
body.vlg-theme ul.products li.product.vlg-product-card .vlg-card-actions .vlg-card-cart::before {
  content: none !important;
  display: none !important;
}

body.vlg-theme .vlg-product-card .vlg-card-actions .vlg-card-cart .vlg-icon,
body.vlg-theme .vlg-product-card .vlg-card-actions .vlg-card-cart i,
body.vlg-theme .vlg-product-card .vlg-card-actions .vlg-card-cart svg,
body.vlg-theme .vlg-product-card .vlg-card-actions .vlg-card-cart img,
body.vlg-theme .vlg-product-card .vlg-card-actions .button .vlg-icon,
body.vlg-theme .vlg-product-card .vlg-card-actions .button i,
body.vlg-theme .vlg-product-card .vlg-card-actions .button svg,
body.vlg-theme .vlg-product-card .vlg-card-actions .button img {
  display: none !important;
}

body.vlg-theme .vlg-product-card .vlg-card-actions .vlg-card-cart,
body.vlg-theme .vlg-product-card .vlg-card-actions .button,
body.vlg-theme .vlg-home-product-section .vlg-product-card .vlg-card-actions .vlg-card-cart,
body.vlg-theme .vlg-latest-showcase .vlg-product-card .vlg-card-actions .vlg-card-cart,
body.vlg-theme ul.products li.product.vlg-product-card .vlg-card-actions .vlg-card-cart {
  justify-content: center !important;
  gap: 0 !important;
}


/* =========================================================
 * v5.1.83 — Hide category arrows in desktop header/dropdown
 * - Hides the right-side arrow on the dark “Kõik kategooriad” button
 * - Hides submenu toggle arrow buttons inside the desktop category panel
 * - Reflows the row so no empty arrow column remains
 * ========================================================= */
body.vlg-theme .vlg-category-button::after,
body.vlg-theme .vlg-nav .vlg-category-button::after,
body.vlg-theme.vlg-menu-open .vlg-nav .vlg-category-button::after,
body.vlg-theme .vlg-nav.is-open .vlg-category-button::after,
body.vlg-theme .vlg-nav.is-open .vlg-category-menu.is-open .vlg-category-button::after {
  content: none !important;
  display: none !important;
}

@media (min-width: 901px) {
  body.vlg-theme .vlg-nav .vlg-cat-subtoggle,
  body.vlg-theme .vlg-category-dropdown .vlg-cat-subtoggle,
  body.vlg-theme .vlg-nav.is-open .vlg-category-dropdown .vlg-cat-subtoggle {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    min-width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
  }

  body.vlg-theme .vlg-nav .vlg-cat-tree .vlg-cat-row,
  body.vlg-theme .vlg-category-dropdown .vlg-cat-tree .vlg-cat-row {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
  }

  body.vlg-theme .vlg-nav .vlg-cat-tree .vlg-cat-link,
  body.vlg-theme .vlg-category-dropdown .vlg-cat-tree .vlg-cat-link {
    width: 100% !important;
  }
}


/* =========================================================
 * v5.1.84 — mobile category arrows hidden + out-of-stock red
 * - forces out-of-stock text/badges to red across mobile/product buyboxes
 * - hides the mobile category drawer chevrons for a cleaner look
 * ========================================================= */
html body.vlg-theme .stock.out-of-stock,
html body.vlg-theme p.stock.out-of-stock,
html body.vlg-theme .vlg-oos,
html body.vlg-theme .vlg-out-of-stock-guard,
html body.vlg-theme .vmp-buybox .woocommerce-variation-availability .stock.out-of-stock,
html body.vlg-theme .vlg-product-buybox .woocommerce-variation-availability .stock.out-of-stock {
  background: #fee2e2 !important;
  color: #dc2626 !important;
  border-color: rgba(220,38,38,.22) !important;
}

@media (max-width: 900px) {
  html body.vlg-theme.vlg-mobile-categories-only .vlg-nav.is-open .vlg-category-button::after,
  html body.vlg-theme .vlg-nav.is-open .vlg-category-button::after {
    content: none !important;
    display: none !important;
  }

  html body.vlg-theme.vlg-mobile-categories-only .vlg-nav.is-open .vlg-category-button,
  html body.vlg-theme .vlg-nav.is-open .vlg-category-button {
    justify-content: flex-start !important;
    gap: 14px !important;
    padding-right: 16px !important;
  }

  html body.vlg-theme.vlg-mobile-categories-only .vlg-nav.is-open .vlg-cat-subtoggle,
  html body.vlg-theme .vlg-nav.is-open .vlg-cat-subtoggle {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
  }

  html body.vlg-theme.vlg-mobile-categories-only .vlg-nav.is-open .vlg-cat-row,
  html body.vlg-theme .vlg-nav.is-open .vlg-cat-row {
    grid-template-columns: minmax(0,1fr) auto !important;
    column-gap: 12px !important;
  }
}
