/*!
 * 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;
  }
}
