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