/* ═══════════════════════════════════════════════════════════
   ZERONIQ Shop System — WooCommerce Base Restyle
   Source: ZERONIQ Design Bundle (tokens.css, styles.css, shop-product.jsx)

   Uses ONLY ZERONIQ core tokens. Dashboard --zvs-* overrides
   cascade on top via zeroniq-woo.php.

   Covers:
   1. Shop archive / product loop
   2. Single product page
   3. Cart page
   4. Checkout page
   5. My Account page
   6. Global WC elements
   7. Mini-Cart drawer
   8. Toast notification
   9. Responsive
   ═══════════════════════════════════════════════════════════ */


/* ─── RESET ──────────────────────────────────────────────── */
.zvs-active .woocommerce,
.zvs-active .woocommerce-page { font-family: var(--f-body); font-size: var(--t-body, 15px); color: var(--fg); }
.zvs-active .woocommerce *:focus-visible { outline: 2px solid var(--lime); outline-offset: 2px; }

/* ─── CONTAINER OVERRIDE ─────────────────────────────────
   ZERONIQ Theme wraps WC content in:
   1. An unnamed div with inline style max-width:760px (blog post width)
   2. .zv-post-content inside that
   3. Sometimes a sidebar grid on .woocommerce
   We bust all of these for the shop.
   ─────────────────────────────────────────────────────────── */

/* Kill the 760px inline-style wrapper — this is the main bottleneck */
.zvs-active .zv-post-content { max-width: 1320px !important; width: 100% !important; margin: 0 auto; padding: 0 28px !important; }
.zvs-active .zv-post-content > div { max-width: 100% !important; width: 100% !important; }
/* Target the parent of .zv-post-content — the unnamed div with inline max-width:760px */
body.zvs-active div[style*="max-width:760px"],
body.zvs-active div[style*="max-width: 760px"] {
  max-width: 1320px !important;
  padding-left: 28px !important;
  padding-right: 28px !important;
}

/* Expand theme containers */
.zvs-active .zv-container { max-width: 1320px !important; width: 100% !important; padding: 0 28px; }
.zvs-active .woocommerce.columns-4,
.zvs-active .woocommerce.columns-3,
.zvs-active .woocommerce.columns-2,
.zvs-active .woocommerce {
  display: block !important;
  grid-template-columns: none !important;
  max-width: 100% !important;
  width: 100% !important;
}

/* Kill theme sidebar on WC pages */
.zvs-active .woocommerce > aside,
.zvs-active .woocommerce > .widget-area,
.zvs-active .woocommerce > [class*="sidebar"] { display: none !important; }

/* Single product wrapper */
.zvs-active .single-product { max-width: 100% !important; width: 100% !important; }

/* Reset WC default floats — we use CSS grid */
.zvs-active div.product .woocommerce-product-gallery { float: none !important; width: 100% !important; }
.zvs-active div.product .summary.entry-summary { float: none !important; width: 100% !important; }
/* Override WC's .woocommerce div.product div.images { width: 48% } with higher specificity */
body .woocommerce.zvs-active div.product div.images,
body .woocommerce .zvs-active div.product div.images { width: 100% !important; float: none !important; }
body .woocommerce.zvs-active div.product div.summary,
body .woocommerce .zvs-active div.product div.summary { width: 100% !important; float: none !important; }

/* ─── HIDE THEME CRUFT ON WC PAGES ───────────────────────
   The theme injects blog-style elements (author box, share, meta)
   that don't belong on product pages.
   ─────────────────────────────────────────────────────────── */
.zvs-active .zv-author-box { display: none !important; }
.zvs-active .zv-share-buttons,
.zvs-active .zv-post-share,
.zvs-active [class*="zv-share"] { display: none !important; }
/* Hide the blog meta line (date, author, read time) on product pages */
body.single-product.zvs-active .zv-post-meta,
body.single-product.zvs-active .zv-page-header .zv-post-meta { display: none !important; }
/* Restyle the page header for product pages — remove blog styling, keep title */
body.single-product.zvs-active .zv-page-header {
  border-bottom: none !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
body.single-product.zvs-active .zv-page-header .zv-container {
  max-width: 1320px !important;
  padding: 0 28px !important;
}
/* Style the product title in the page header like the design */
body.single-product.zvs-active .zv-page-header h1 {
  font-family: var(--f-display) !important;
  font-weight: 700 !important;
  font-size: clamp(34px, 4vw, 46px) !important;
  letter-spacing: -.035em !important;
  line-height: 1.02 !important;
  color: var(--fg) !important;
  margin: 0 !important;
  padding: 20px 0 24px !important;
}
/* Keep breadcrumb but style it as eyebrow */
body.single-product.zvs-active .zv-breadcrumbs {
  font-family: var(--f-mono) !important;
  font-size: 11px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--fg-mute) !important;
}
body.single-product.zvs-active .zv-breadcrumbs a { color: var(--fg-mute) !important; text-decoration: none !important; }
body.single-product.zvs-active .zv-breadcrumbs a:hover { color: var(--fg) !important; }


/* ═══ 1 · SHOP ARCHIVE / PRODUCT LOOP ═══════════════════ */

.zvs-active ul.products {
  display: grid !important;
  grid-template-columns: repeat(var(--zvs-cols, 4), 1fr);
  gap: var(--s-4, 16px);
  list-style: none; padding: 0;
  justify-content: start !important;
  justify-items: stretch !important;
}
.zvs-active ul.products li.product { margin: 0 !important; width: 100% !important; float: none !important; }

.zvs-card {
  background: var(--bg-2);
  border: 1px solid var(--line-color);
  border-radius: var(--r-card);
  overflow: hidden;
  transition: transform var(--dur-base, .25s) var(--ease-out), box-shadow var(--dur-base, .25s), border-color var(--dur-base, .25s);
}
.zvs-card:hover { transform: translateY(-3px); box-shadow: var(--sh-card, 0 20px 50px -20px rgba(0,0,0,.25)); border-color: var(--line-color-2); }

.zvs-img-wrap { overflow: hidden; background: var(--bg-3); position: relative; }
.zvs-img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--dur-slow, .5s) var(--ease-out); }
.zvs-card:hover .zvs-img-wrap img { transform: scale(1.04); }

.zvs-badge {
  position: absolute; top: 12px; left: 12px; z-index: 2;
  display: inline-block; width: fit-content;
  padding: 5px 11px; border-radius: var(--r-chip);
  font-family: var(--f-mono); font-size: 10.5px; font-weight: 500;
  letter-spacing: .08em; text-transform: uppercase;
  background: var(--lime); color: var(--lime-ink);
}
.zvs-active .onsale { display: none !important; }

.zvs-loop-cat {
  font-family: var(--f-mono); font-size: 11px; font-weight: 500;
  letter-spacing: .14em; text-transform: uppercase; color: var(--fg-mute);
  padding: 16px 16px 0;
}
.zvs-active ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--f-display); font-size: 16px; font-weight: 600;
  letter-spacing: -.015em; line-height: 1.25;
  padding: 8px 16px 0; margin: 0; color: var(--fg);
}
.zvs-active ul.products li.product .price {
  padding: 8px 16px 0; font-family: var(--f-display); font-size: 16px; font-weight: 600;
  color: var(--zvs-price, var(--lime)) !important;
}
.zvs-active ul.products li.product .price del { font-size: 13px; font-weight: 400; color: var(--fg-mute) !important; opacity: .6; text-decoration: line-through; }
.zvs-active ul.products li.product .price del .woocommerce-Price-amount { color: var(--fg-mute) !important; }
.zvs-active ul.products li.product .price ins { text-decoration: none; color: var(--zvs-price, var(--lime)) !important; }

/* Star rating — base reset */
.zvs-active ul.products li.product .star-rating,
.zvs-active .woocommerce .products .star-rating,
.zvs-active .star-rating {
  color: var(--zvs-star, var(--lime)) !important;
  float: none !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  width: 5.4em !important;
  overflow: hidden !important;
  clear: both !important;
}
/* Stars inside loop card — margin-left aligns with card text, padding-left breaks font star rendering */
.zvs-active ul.products li.product a .star-rating,
.zvs-active ul.products li.product .woocommerce-loop-product__link .star-rating {
  margin-top: 8px !important;
  margin-left: 16px !important;
  padding-left: 0 !important;
}
/* Stars outside link wrapper (e.g. directly in .zvs-card-info) */
.zvs-active .zvs-card-info .star-rating { margin-top: 6px !important; }
.zvs-active .star-rating span,
.zvs-active ul.products .star-rating span { float: left !important; }
.zvs-active .star-rating span::before { color: var(--zvs-star, var(--lime)) !important; }

.zvs-active ul.products li.product .button,
.zvs-active ul.products li.product .add_to_cart_button {
  display: block; width: calc(100% - 32px); margin: 12px 16px 16px;
  padding: 12px 0; border-radius: var(--r-btn);
  background: transparent; border: 1px solid var(--line-color-2); color: var(--fg);
  font-family: var(--f-body); font-size: 14px; font-weight: 500;
  text-align: center; text-decoration: none; cursor: pointer;
  transition: all .15s var(--ease-out);
}
.zvs-active ul.products li.product .button:hover,
.zvs-active ul.products li.product .add_to_cart_button:hover {
  background: var(--lime); color: var(--lime-ink); border-color: transparent;
  transform: translateY(-1px);
  box-shadow: 0 1px 0 rgba(255,255,255,.25) inset, 0 6px 22px -10px oklch(0.88 0.18 128 / .6);
}


/* ═══ 2 · SINGLE PRODUCT ════════════════════════════════ */

.zvs-active div.product {
  display: grid; grid-template-columns: 1.25fr 1fr;
  gap: 56px; align-items: start;
  max-width: 1320px; margin: 0 auto; padding: 24px 28px 64px;
}
/* Images column: align top edge with summary headline */
.zvs-active div.product div.images { align-self: start; }
.zvs-active div.product div.summary { align-self: start; }

/* Gallery */
.zvs-active div.product div.images {
  display: grid; gap: 12px;
}
.zvs-active div.product div.images .woocommerce-product-gallery__wrapper { border-radius: var(--r-card); background: var(--bg-3); }
/* overflow:hidden intentionally NOT set on __wrapper — FlexSlider needs it unconstrained.
   Clipping + border-radius live on .flex-viewport instead (see below). */
.zvs-active div.product div.images img { border-radius: 0; }
.zvs-active div.product div.images .flex-viewport { border-radius: var(--r-card); overflow: hidden; }
/* Thumb grid — applied WITHOUT .zvs-active to avoid JS-dependent layout shift */
div.product div.images .flex-control-thumbs {
  display: grid !important; grid-template-columns: repeat(5, 1fr) !important; gap: 10px !important;
  padding: 0 !important; margin: 0 !important; list-style: none !important;
}
div.product div.images .flex-control-thumbs li {
  aspect-ratio: 1/1 !important; border-radius: var(--r-sm, 8px) !important; overflow: hidden !important;
  opacity: .5 !important; border: 1px solid var(--line-color, rgba(255,255,255,.08)) !important;
  cursor: pointer !important; transition: opacity .15s, border-color .15s !important;
  margin: 0 !important; padding: 0 !important; width: 100% !important; float: none !important;
}
div.product div.images .flex-control-thumbs li img {
  width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important;
}
div.product div.images .flex-control-thumbs li:has(img.flex-active),
div.product div.images .flex-control-thumbs li:hover { opacity: 1 !important; border-color: var(--lime, #B4ED5F) !important; border-width: 1.5px !important; }
/* zvs-active variants kept for specificity on older WC */
.zvs-active div.product div.images .flex-control-thumbs { display: grid !important; }
.zvs-active div.product div.images .flex-control-thumbs li { float: none !important; }
/* Hide WC default nav arrows */
.zvs-active div.product div.images .flex-direction-nav { display: none !important; }
/* Gallery main image indicator — subtle lime glow on viewport */
.zvs-active div.product div.images .flex-viewport { border-radius: var(--r-card) !important; overflow: hidden !important; }

/* Title */
.zvs-active div.product .product_title {
  font-family: var(--f-display); font-weight: 700;
  font-size: clamp(34px, 4vw, 46px); letter-spacing: -.035em; line-height: 1.02;
}
/* *text* in product title — grey, weight 400 */
.zvs-active div.product .product_title .zvs-title-muted {
  color: var(--fg-mute) !important;
  font-weight: 400 !important;
}

/* Short description */
.zvs-active div.product .woocommerce-product-details__short-description {
  font-size: 16px; line-height: 1.6; color: var(--fg-mute); max-width: 520px;
  margin-top: 0 !important; margin-bottom: 16px !important;
}
/* Hide WC native rating row on single product — replaced by zvs-rating-row */
.zvs-active div.product .woocommerce-product-rating { display: none !important; }

/* Price */
.zvs-active div.product p.price,
body.zvs-active div.product p.price {
  display: flex !important; align-items: baseline !important; gap: 14px !important;
  padding: 16px 0 !important; border-top: 1px solid var(--line-color) !important; border-bottom: 1px solid var(--line-color) !important;
  font-family: var(--f-display) !important; margin: 0 0 16px !important;
}
/* Single price for variable products (hide range, show selected) */
.zvs-active .zvs-single-price p.price {
  display: flex !important; align-items: baseline !important; gap: 14px !important;
  padding: 20px 0 !important; border-top: 1px solid var(--line-color) !important; border-bottom: 1px solid var(--line-color) !important;
  font-family: var(--f-display) !important; margin: 0 0 20px !important;
}
.zvs-active .zvs-single-price .woocommerce-Price-amount { font-size: 44px !important; font-weight: 700 !important; letter-spacing: -.035em !important; line-height: 1 !important; }
.zvs-active div.product p.price .woocommerce-Price-amount,
body.zvs-active div.product p.price .woocommerce-Price-amount { font-size: 44px !important; font-weight: 700 !important; letter-spacing: -.035em !important; line-height: 1 !important; }
.zvs-active div.product p.price del { font-size: 18px !important; font-weight: 400 !important; color: var(--fg-mute-2) !important; }
.zvs-active div.product p.price del .woocommerce-Price-amount { font-size: 18px !important; font-weight: 400 !important; }
.zvs-active div.product p.price ins { text-decoration: none !important; }

/* Quantity + ATC row */
/* form.cart: block for variable products (table.variations + single_variation_wrap stack vertically) */
.zvs-active div.product form.cart {
  display: block !important;
  margin: 20px 0 !important;
}
/* The actual qty+button row — variable product */
.zvs-active div.product .woocommerce-variation-add-to-cart {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  gap: 16px !important;
  align-items: center !important;
  margin-top: 20px !important;
}
/* Simple product: qty + button are direct children of form.cart */
.zvs-active div.product form.cart > .quantity {
  display: inline-flex !important;
  vertical-align: middle !important;
}
.zvs-active div.product form.cart > .quantity + button.single_add_to_cart_button {
  margin-left: 16px !important;
}
/* Single variation wrap: no extra spacing */
.zvs-active div.product .single_variation_wrap { margin: 0 !important; }
/* Hide WC default variation reset + price inside single_variation_wrap */
.zvs-active div.product form.cart .reset_variations { display: none !important; }
.zvs-active .quantity {
  display: inline-flex !important; align-items: center !important;
  border: 1px solid var(--line-color-2) !important; border-radius: var(--r-btn) !important; overflow: hidden !important;
  flex-shrink: 0 !important;
}
.zvs-active .quantity .qty {
  width: 36px !important; text-align: center !important; font-family: var(--f-display) !important; font-weight: 600 !important; font-size: 16px !important;
  color: var(--fg) !important; background: transparent !important; border: none !important; outline: none !important; padding: 0 !important;
  -moz-appearance: textfield !important;
}
.zvs-active .quantity .qty::-webkit-outer-spin-button,
.zvs-active .quantity .qty::-webkit-inner-spin-button { -webkit-appearance: none !important; }
/* Qty stepper buttons (−/+) */
.zvs-active .zvs-qty-btn {
  width: 44px !important; height: 50px !important; font-size: 18px !important;
  color: var(--fg-mute) !important; background: transparent !important; border: none !important;
  cursor: pointer !important; transition: background .15s, color .15s !important;
  display: grid !important; place-items: center !important; flex-shrink: 0 !important;
  font-family: var(--f-body) !important;
  -webkit-appearance: none !important; appearance: none !important;
  border-radius: 0 !important;
}
.zvs-active .zvs-qty-btn:hover { background: var(--bg-2) !important; color: var(--fg) !important; }
.zvs-active .quantity .qty {
  height: 50px !important; line-height: 50px !important;
}

/* ATC button */
.zvs-active div.product .single_add_to_cart_button,
body.zvs-active div.product .single_add_to_cart_button {
  display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 12px !important;
  padding: 0 28px !important; height: 50px !important; border-radius: var(--r-btn) !important;
  background: var(--lime) !important; color: var(--lime-ink) !important; border: none !important;
  font-family: var(--f-body) !important; font-size: 16px !important; font-weight: 500 !important; cursor: pointer !important;
  flex: 1 !important;
  -webkit-appearance: none !important; appearance: none !important;
  transition: transform .15s var(--ease-out), box-shadow .25s !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.25) inset, 0 6px 22px -10px oklch(0.88 0.18 128 / .6) !important;
}
.zvs-active div.product .single_add_to_cart_button:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.3) inset, 0 10px 30px -10px oklch(0.88 0.18 128 / .8) !important;
}

/* Variations */
.zvs-active .variations td { padding: 8px 0; }
.zvs-active .variations .label label {
  font-family: var(--f-mono); font-size: 11px; font-weight: 500;
  letter-spacing: .14em; text-transform: uppercase; color: var(--fg-mute);
}
.zvs-active .variations select {
  background: var(--bg-2); border: 1px solid var(--line-color-2); border-radius: var(--r-btn);
  color: var(--fg); padding: 14px 16px; font-family: var(--f-body); font-size: 14px;
  transition: border-color .15s;
}
.zvs-active .variations select:focus { border-color: var(--lime); outline: none; }

/* Tabs */
.zvs-active div.product .woocommerce-tabs { grid-column: 1 / -1; margin-top: 32px !important; }
.zvs-active div.product .woocommerce-tabs ul.tabs,
body.zvs-active div.product .woocommerce-tabs ul.tabs {
  display: flex !important; gap: 4px !important; border-bottom: 1px solid var(--line-color) !important;
  padding: 0 !important; margin: 0 0 40px !important; list-style: none !important; overflow-x: auto !important;
  background: transparent !important;
}
.zvs-active div.product .woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }
.zvs-active div.product .woocommerce-tabs ul.tabs li,
body.zvs-active div.product .woocommerce-tabs ul.tabs li {
  background: transparent !important; border: none !important; border-radius: 0 !important; margin: 0 !important; padding: 0 !important;
}
.zvs-active div.product .woocommerce-tabs ul.tabs li::before,
.zvs-active div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.zvs-active div.product .woocommerce-tabs ul.tabs li a,
body.zvs-active div.product .woocommerce-tabs ul.tabs li a {
  display: block !important; padding: 14px 18px !important; font-family: var(--f-body) !important; font-size: 14px !important; font-weight: 500 !important;
  color: var(--fg-mute) !important; border-bottom: 2px solid transparent !important; margin-bottom: -1px !important;
  text-decoration: none !important; white-space: nowrap !important; transition: color .15s !important;
  background: transparent !important;
}
.zvs-active div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--fg) !important; }
.zvs-active div.product .woocommerce-tabs ul.tabs li.active a,
body.zvs-active div.product .woocommerce-tabs ul.tabs li.active a {
  font-weight: 600 !important; color: var(--fg) !important; border-bottom-color: var(--lime) !important;
}
.zvs-active div.product .woocommerce-tabs .panel { border: none; padding: 0; font-size: 15px; line-height: 1.55; color: var(--fg-mute); }
.zvs-active div.product .woocommerce-tabs .panel h2 {
  font-family: var(--f-display); font-weight: 700; font-size: 28px;
  letter-spacing: -.03em; color: var(--fg); margin-bottom: 24px;
}

/* Reviews */
.zvs-active #reviews { display: grid !important; grid-template-columns: 280px 1fr !important; gap: 56px !important; }
.zvs-active #reviews .woocommerce-Reviews-title { grid-column: 1 / -1 !important; font-family: var(--f-display) !important; font-weight: 700 !important; font-size: 28px !important; letter-spacing: -.03em !important; }
.zvs-active #comments .commentlist { list-style: none; padding: 0; }
.zvs-active #comments .commentlist li {
  display: grid; grid-template-columns: 44px 1fr; gap: 18px;
  padding: 20px 0; border-top: 1px solid var(--line-color);
}
.zvs-active #comments .commentlist li:last-child { border-bottom: 1px solid var(--line-color); }
.zvs-active #comments .commentlist li img.avatar { width: 44px; height: 44px; border-radius: 999px; background: var(--bg-3); }
.zvs-active #comments .commentlist .meta strong { font-family: var(--f-display); font-weight: 600; font-size: 15px; }
.zvs-active #comments .commentlist .meta time,
.zvs-active #comments .commentlist .meta .woocommerce-review__dash { font-family: var(--f-mono); font-size: 11px; color: var(--fg-mute); }
.zvs-active #comments .commentlist .star-rating { margin: 0 !important; padding: 0 !important; font-size: 11px !important; display: inline-block !important; }
.zvs-active #comments .commentlist .description p { font-size: 15px; line-height: 1.55; color: var(--fg-mute); }

/* Review form */
.zvs-active #review_form label {
  font-family: var(--f-mono); font-size: 11px; font-weight: 500;
  letter-spacing: .14em; text-transform: uppercase; color: var(--fg-mute);
  display: block; margin-bottom: 8px;
}
.zvs-active #review_form input[type="text"],
.zvs-active #review_form input[type="email"],
.zvs-active #review_form textarea {
  background: var(--bg-2); border: 1px solid var(--line-color-2); border-radius: var(--r-sm);
  color: var(--fg); padding: 14px 16px; font-family: var(--f-body); font-size: 14px; width: 100%;
  transition: border-color .15s;
}
.zvs-active #review_form input:focus,
.zvs-active #review_form textarea:focus { border-color: var(--lime); outline: none; }

/* Meta */
.zvs-active .product_meta {
  display: flex; gap: 12px; flex-wrap: wrap;
  font-family: var(--f-mono); font-size: 12px; letter-spacing: .02em; color: var(--fg-mute);
  margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--line-color);
}
.zvs-active .product_meta a { color: var(--fg-mute); text-decoration: none; }
.zvs-active .product_meta a:hover { color: var(--lime); }

/* Related */
.zvs-active .related.products,
.zvs-active .upsells.products,
.zvs-active section.related,
.zvs-active section.upsells {
  grid-column: 1 / -1 !important; border-top: 1px solid var(--line-color) !important;
  padding-top: 64px !important; margin-top: 32px !important;
}
.zvs-active .related.products > h2,
.zvs-active .upsells.products > h2,
.zvs-active section.related > h2,
.zvs-active section.upsells > h2 {
  font-family: var(--f-display) !important; font-weight: 700 !important; font-size: 32px !important;
  letter-spacing: -.03em !important; margin-bottom: 28px !important; color: var(--fg) !important;
}
/* Fix WC ghost slot: woocommerce-layout.css sets clear:both on li.first
   In a CSS Grid context this creates a phantom empty column before the first item.
   Force clear:none + explicit grid-column-start:1 */
.zvs-active ul.products li.product { clear: none !important; }
.zvs-active ul.products li.first { clear: none !important; grid-column-start: 1 !important; }

/* Ensure related grid has 4 columns — left-aligned */
.zvs-active .related.products ul.products,
.zvs-active .upsells.products ul.products,
.zvs-active section.related ul.products,
.zvs-active section.upsells ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
  justify-content: start !important;
  justify-items: stretch !important;
}


/* ═══ 3 · CART PAGE ═════════════════════════════════════ */

.zvs-cart-style-modern .woocommerce-cart-form { max-width: 1320px; margin: 0 auto; }
.zvs-cart-style-modern table.cart {
  border-collapse: separate; border-spacing: 0;
  border: 1px solid var(--line-color); border-radius: var(--r-card); overflow: hidden; width: 100%;
}
.zvs-cart-style-modern table.cart th {
  background: var(--bg-2); font-family: var(--f-mono); font-size: 11px; font-weight: 500;
  letter-spacing: .14em; text-transform: uppercase; color: var(--fg-mute); padding: 14px 22px; border: none; text-align: left;
}
.zvs-cart-style-modern table.cart td { background: var(--bg); border-bottom: 1px solid var(--line-color); padding: 16px 22px; vertical-align: middle; }
.zvs-cart-style-modern table.cart td.product-name a { font-family: var(--f-display); font-weight: 600; font-size: 15px; color: var(--fg); text-decoration: none; }
.zvs-cart-style-modern table.cart td.product-name a:hover { color: var(--lime); }
.zvs-cart-style-modern table.cart td.product-price,
.zvs-cart-style-modern table.cart td.product-subtotal { font-family: var(--f-display); font-weight: 600; font-size: 15px; }
.zvs-cart-style-modern table.cart td.product-thumbnail img { width: 64px; height: 64px; object-fit: cover; border-radius: var(--r-sm); }
.zvs-cart-style-modern table.cart td.product-remove a { color: var(--fg-mute-2); font-size: 18px; text-decoration: none; transition: color .15s; }
.zvs-cart-style-modern table.cart td.product-remove a:hover { color: var(--fg); }

.zvs-cart-style-modern .cart_totals {
  background: var(--bg-2); border-radius: var(--r-card); border: 1px solid var(--line-color); padding: 28px;
}
.zvs-cart-style-modern .cart_totals h2 { font-family: var(--f-display); font-weight: 700; font-size: 18px; letter-spacing: -.02em; margin-bottom: 20px; }
.zvs-cart-style-modern .cart_totals table { border: none; }
.zvs-cart-style-modern .cart_totals table th {
  font-family: var(--f-mono); font-size: 11px; font-weight: 500; letter-spacing: .14em;
  text-transform: uppercase; color: var(--fg-mute); padding: 14px 0; border: none;
}
.zvs-cart-style-modern .cart_totals table td { font-family: var(--f-display); font-weight: 600; padding: 14px 0; border: none; }
.zvs-cart-style-modern .cart_totals .order-total td { font-size: 24px; font-weight: 700; letter-spacing: -.02em; }

.zvs-cart-style-modern .wc-proceed-to-checkout .checkout-button {
  display: flex; align-items: center; justify-content: space-between;
  width: 100%; padding: 15px 20px; border-radius: var(--r-btn);
  background: var(--lime); color: var(--lime-ink);
  font-family: var(--f-body); font-size: 15px; font-weight: 500;
  text-decoration: none; border: none;
  box-shadow: 0 1px 0 rgba(255,255,255,.25) inset, 0 6px 22px -10px oklch(0.88 0.18 128 / .6);
  transition: transform .15s var(--ease-out), box-shadow .25s;
}
.zvs-cart-style-modern .wc-proceed-to-checkout .checkout-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 1px 0 rgba(255,255,255,.3) inset, 0 10px 30px -10px oklch(0.88 0.18 128 / .8);
}

.zvs-cart-style-modern .coupon .input-text {
  background: var(--bg-2); border: 1px solid var(--line-color-2); border-radius: var(--r-btn);
  color: var(--fg); padding: 12px 16px; font-family: var(--f-mono); font-size: 13px;
}
.zvs-cart-style-modern .coupon .input-text:focus { border-color: var(--lime); outline: none; }
.zvs-cart-style-modern .coupon .button {
  border-radius: var(--r-btn); padding: 12px 20px; font-size: 14px; font-weight: 500;
  background: transparent; border: 1px solid var(--line-color-2); color: var(--fg);
  cursor: pointer; transition: all .15s;
}
.zvs-cart-style-modern .coupon .button:hover { background: var(--bg-2); }


/* ═══ 4 · CHECKOUT ══════════════════════════════════════ */

.zvs-checkout-style-modern .woocommerce-checkout { max-width: 1320px; margin: 0 auto; }
.zvs-checkout-style-modern .woocommerce-checkout h3 { font-family: var(--f-display); font-weight: 700; font-size: 20px; letter-spacing: -.015em; margin-bottom: 24px; }

.zvs-checkout-style-modern .form-row label {
  font-family: var(--f-mono); font-size: 11px; font-weight: 500;
  letter-spacing: .14em; text-transform: uppercase; color: var(--fg-mute); margin-bottom: 8px;
}
.zvs-checkout-style-modern .form-row input.input-text,
.zvs-checkout-style-modern .form-row textarea,
.zvs-checkout-style-modern .form-row select,
.zvs-checkout-style-modern .select2-container .select2-selection {
  background: var(--bg-2); border: 1px solid var(--line-color-2); border-radius: var(--r-sm);
  color: var(--fg); padding: 14px 16px; font-family: var(--f-body); font-size: 14px; transition: border-color .15s;
}
.zvs-checkout-style-modern .form-row input.input-text:focus,
.zvs-checkout-style-modern .form-row textarea:focus { border-color: var(--lime); outline: none; }

.zvs-checkout-style-modern .woocommerce-checkout-review-order-table {
  background: var(--bg-2); border: 1px solid var(--line-color); border-radius: var(--r-card); overflow: hidden;
}
.zvs-checkout-style-modern .woocommerce-checkout-review-order-table th {
  font-family: var(--f-mono); font-size: 11px; font-weight: 500; letter-spacing: .14em;
  text-transform: uppercase; color: var(--fg-mute); padding: 14px 22px; background: var(--bg-3); border: none;
}
.zvs-checkout-style-modern .woocommerce-checkout-review-order-table td { padding: 14px 22px; border: none; border-bottom: 1px solid var(--line-color); }
.zvs-checkout-style-modern .woocommerce-checkout-review-order-table .product-name { font-family: var(--f-display); font-weight: 600; font-size: 15px; }
.zvs-checkout-style-modern .woocommerce-checkout-review-order-table .order-total td { font-family: var(--f-display); font-size: 24px; font-weight: 700; letter-spacing: -.02em; }

.zvs-checkout-style-modern #place_order {
  display: flex; align-items: center; justify-content: center;
  width: 100%; padding: 16px; border-radius: var(--r-btn);
  background: var(--lime); color: var(--lime-ink); font-family: var(--f-body); font-size: 16px; font-weight: 500;
  border: none; cursor: pointer;
  box-shadow: 0 1px 0 rgba(255,255,255,.25) inset, 0 6px 22px -10px oklch(0.88 0.18 128 / .6);
  transition: transform .15s var(--ease-out), box-shadow .25s;
}
.zvs-checkout-style-modern #place_order:hover {
  transform: translateY(-1px);
  box-shadow: 0 1px 0 rgba(255,255,255,.3) inset, 0 10px 30px -10px oklch(0.88 0.18 128 / .8);
}

.zvs-checkout-style-modern .woocommerce-checkout-payment {
  background: var(--bg-2); border: 1px solid var(--line-color); border-radius: var(--r-card); padding: 24px;
}
.zvs-checkout-style-modern .wc_payment_methods { border: none; padding: 0; }
.zvs-checkout-style-modern .wc_payment_methods li { border-bottom: 1px solid var(--line-color); padding: 14px 0; }
.zvs-checkout-style-modern .wc_payment_methods li:last-child { border: none; }
.zvs-checkout-style-modern .wc_payment_methods li label {
  font-family: var(--f-body); font-weight: 500; font-size: 14px;
  text-transform: none; letter-spacing: normal;
}


/* ═══ 4b · CHECKOUT (WC BLOCKS) ════════════════════════ */

/* ── Layout ── */
.zvs-checkout-style-modern .wc-block-checkout { max-width: 1320px; margin: 0 auto; }
.zvs-checkout-style-modern .wc-block-checkout__main { padding-right: 48px; }
.zvs-checkout-style-modern .wc-block-checkout__sidebar {
    position: sticky !important; top: 100px !important; align-self: start !important;
    background: var(--bg-2) !important;
    border: 1px solid var(--line-color) !important;
    border-radius: var(--r-card) !important;
    overflow: hidden !important;
    padding: 0 !important;
}

/* ── Step headings ── */
.zvs-checkout-style-modern .wc-block-components-checkout-step__title {
    font-family: var(--f-display) !important;
    font-size: 17px !important; font-weight: 700 !important;
    letter-spacing: -.02em !important; color: var(--fg) !important;
    margin-bottom: 20px !important;
}
.zvs-checkout-style-modern .wc-block-components-checkout-step {
    padding: 16px 0 !important; margin-bottom: 0 !important;
    border-bottom: 1px solid var(--line-color) !important;
}
.zvs-checkout-style-modern .wc-block-components-checkout-step:last-child { border-bottom: none !important; }
/* WC adds extra padding on the checkout blocks themselves */
.zvs-checkout-style-modern .wc-block-checkout__contact-fields,
.zvs-checkout-style-modern .wc-block-checkout__billing-fields,
.zvs-checkout-style-modern .wc-block-checkout__shipping-fields,
.zvs-checkout-style-modern .wc-block-checkout__payment-method,
.zvs-checkout-style-modern .wc-block-checkout__order-notes {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
    margin-bottom: 0 !important;
}

/* ── Text inputs — WC handles ALL layout/positioning, we ONLY style visuals ── */
.zvs-checkout-style-modern .wc-block-components-text-input input {
    background: var(--bg-3, #22252E) !important;
    border: 1px solid var(--line-color-2, rgba(255,255,255,.12)) !important;
    border-radius: var(--r-btn, 10px) !important;
    color: var(--fg, #F7F5F0) !important;
    font-family: var(--f-display) !important;
    box-shadow: none !important; outline: none !important;
    /* NO height, padding, font-size — WC controls these for floating label to work */
    transition: border-color .15s !important;
}
.zvs-checkout-style-modern .wc-block-components-text-input input:focus {
    border-color: var(--lime) !important;
    box-shadow: 0 0 0 2px rgba(180,237,95,.1) !important;
}
/* Label — ONLY color, NO position/size/transform (WC floating label system handles all) */
.zvs-checkout-style-modern .wc-block-components-text-input label {
    color: var(--fg-mute) !important;
    /* absolutely nothing else — WC's JS adds/removes is-active and animates */
}
.zvs-checkout-style-modern .wc-block-components-text-input.has-error input {
    border-color: #ef4444 !important;
}

/* ── Country/State dropdowns (wc-blocks-components-select) ── */
.zvs-checkout-style-modern .wc-blocks-components-select__container {
    background: var(--bg-3, #22252E) !important;
    border: 1px solid var(--line-color-2, rgba(255,255,255,.12)) !important;
    border-radius: var(--r-btn, 10px) !important;
    transition: border-color .15s !important;
}
.zvs-checkout-style-modern .wc-blocks-components-select__container:focus-within {
    border-color: var(--lime) !important;
    box-shadow: 0 0 0 2px rgba(180,237,95,.1) !important;
}
.zvs-checkout-style-modern .wc-blocks-components-select__label {
    font-family: var(--f-mono) !important;
    font-weight: 600 !important; letter-spacing: .06em !important;
    text-transform: uppercase !important; color: var(--fg-mute) !important;
}
.zvs-checkout-style-modern .wc-blocks-components-select__select {
    background: transparent !important; border: none !important; outline: none !important;
    color: var(--fg, #F7F5F0) !important; font-family: var(--f-display) !important;
}
.zvs-checkout-style-modern .wc-blocks-components-select__select option {
    background: var(--bg-3, #22252E) !important; color: var(--fg) !important;
}

/* ── Combobox (State) ── */
.zvs-checkout-style-modern .wc-block-components-combobox {
    background: var(--bg-3) !important;
    border: 1px solid var(--line-color-2) !important;
    border-radius: var(--r-btn) !important;
    transition: border-color .15s !important;
}
.zvs-checkout-style-modern .wc-block-components-combobox:focus-within {
    border-color: var(--lime) !important;
}
.zvs-checkout-style-modern .wc-block-components-combobox input {
    background: transparent !important; border: none !important; outline: none !important;
    color: var(--fg) !important; font-family: var(--f-display) !important;
}
.zvs-checkout-style-modern .wc-block-components-combobox label {
    font-family: var(--f-mono) !important; font-weight: 600 !important;
    letter-spacing: .06em !important; text-transform: uppercase !important;
    color: var(--fg-mute) !important;
}

/* ── Textarea ── */
.zvs-checkout-style-modern .wc-block-components-textarea textarea {
    background: var(--bg-3) !important;
    border: 1px solid var(--line-color-2) !important;
    border-radius: var(--r-btn) !important;
    color: var(--fg) !important; font-family: var(--f-display) !important;
    outline: none !important; resize: vertical !important;
    transition: border-color .15s !important;
}
.zvs-checkout-style-modern .wc-block-components-textarea textarea:focus { border-color: var(--lime) !important; }

/* ── Checkbox ── */
.zvs-checkout-style-modern .wc-block-components-checkbox__label {
    font-family: var(--f-display) !important; font-size: 14px !important; color: var(--fg-mute) !important;
}

/* ── Validation errors ── */
.zvs-checkout-style-modern .wc-block-components-validation-error p {
    color: #fca5a5 !important; font-size: 11px !important;
    font-family: var(--f-mono) !important; margin-top: 4px !important;
}

/* ── Payment notice ── */
.zvs-checkout-style-modern .wc-block-components-notice-banner {
    background: var(--bg-3) !important;
    border: 1px solid var(--line-color) !important;
    border-radius: var(--r-btn) !important;
    color: var(--fg-mute) !important;
    font-family: var(--f-display) !important; font-size: 14px !important;
}
.zvs-checkout-style-modern .wc-block-components-notice-banner.is-error {
    background: rgba(239,68,68,.08) !important;
    border-color: rgba(239,68,68,.25) !important; color: #fca5a5 !important;
}

/* ── Terms ── */
.zvs-checkout-style-modern .wc-block-checkout__terms {
    font-family: var(--f-display) !important; font-size: 13px !important; color: var(--fg-mute) !important;
}
.zvs-checkout-style-modern .wc-block-checkout__terms a { color: var(--lime) !important; text-decoration: none !important; }

/* ── Place order button ── */
.zvs-checkout-style-modern .wc-block-components-checkout-place-order-button,
.zvs-checkout-style-modern .wc-block-checkout__place-order .wc-block-components-button {
    width: 100% !important; background: var(--lime) !important;
    color: var(--lime-ink, #0A0B0F) !important; border: none !important;
    border-radius: var(--r-btn) !important;
    font-family: var(--f-display) !important; font-size: 16px !important; font-weight: 700 !important;
    padding: 16px 24px !important; cursor: pointer !important;
    transition: filter .15s, transform .15s !important;
    box-shadow: 0 4px 24px -8px rgba(180,237,95,.35) !important;
}
.zvs-checkout-style-modern .wc-block-components-checkout-place-order-button:hover {
    filter: brightness(1.08) !important; transform: translateY(-1px) !important;
}

/* ── Back to cart / actions row ── */
.zvs-checkout-style-modern .wc-block-checkout__actions_row {
    display: flex !important; align-items: center !important; gap: 16px !important;
    margin-top: 24px !important;
}
.zvs-checkout-style-modern .wc-block-checkout__return-to-cart-link {
    color: var(--fg-mute) !important; font-family: var(--f-display) !important;
    font-size: 13px !important; text-decoration: none !important; transition: color .15s !important;
    flex-shrink: 0 !important;
}
.zvs-checkout-style-modern .wc-block-checkout__return-to-cart-link:hover { color: var(--fg) !important; }

/* ── Sidebar: align top with left column ── */
.zvs-checkout-style-modern .wc-block-checkout > div {
    align-items: start !important;
}

/* ── Order summary header ── */
.zvs-checkout-style-modern .wc-block-components-order-summary .wc-block-components-panel__button {
    padding: 20px 24px !important; width: 100% !important;
    background: transparent !important; border: none !important;
    border-bottom: 1px solid var(--line-color) !important;
    font-family: var(--f-display) !important; font-size: 15px !important; font-weight: 700 !important;
    color: var(--fg) !important; cursor: pointer !important;
    display: flex !important; justify-content: space-between !important; align-items: center !important;
}

/* ── Order summary items ── */
.zvs-checkout-style-modern .wc-block-components-order-summary__content { padding: 0 24px !important; }
.zvs-checkout-style-modern .wc-block-components-order-summary-item {
    display: grid !important;
    grid-template-columns: 52px 1fr auto !important;
    gap: 12px !important;
    align-items: start !important;
    padding: 14px 0 !important;
    border-bottom: 1px solid var(--line-color) !important;
}
.zvs-checkout-style-modern .wc-block-components-order-summary-item:last-child { border-bottom: none !important; }

/* Image — fixed size, no WC padding-bottom hack */
.zvs-checkout-style-modern .wc-block-components-order-summary-item__image {
    grid-column: 1 !important; grid-row: 1 !important;
    width: 52px !important; height: 52px !important; padding: 0 !important;
    border-radius: var(--r-sm, 8px) !important; overflow: hidden !important;
    background: var(--bg-3) !important; flex-shrink: 0 !important;
    align-self: start !important;
}
.zvs-checkout-style-modern .wc-block-components-order-summary-item__image img {
    width: 52px !important; height: 52px !important;
    object-fit: cover !important; display: block !important;
    border-radius: var(--r-sm, 8px) !important;
}
/* Item description column */
.zvs-checkout-style-modern .wc-block-components-order-summary-item__description {
    grid-column: 2 !important; align-self: start !important;
}
.zvs-checkout-style-modern .wc-block-components-order-summary-item__name {
    font-family: var(--f-display) !important; font-size: 13px !important;
    font-weight: 600 !important; color: var(--fg) !important;
    line-height: 1.3 !important; margin-bottom: 3px !important;
}
.zvs-checkout-style-modern .wc-block-components-order-summary-item__subtitle,
.zvs-checkout-style-modern .wc-block-components-order-summary-item__individual-price {
    font-family: var(--f-mono) !important; font-size: 10px !important;
    color: var(--fg-mute) !important; letter-spacing: .04em !important;
    text-transform: uppercase !important;
}
/* Price column */
.zvs-checkout-style-modern .wc-block-components-order-summary-item__total-price {
    grid-column: 3 !important; align-self: start !important;
    font-family: var(--f-display) !important; font-size: 13px !important;
    font-weight: 700 !important; color: var(--fg) !important; white-space: nowrap !important;
}
/* Quantity badge */
.zvs-checkout-style-modern .wc-block-components-order-summary-item__quantity {
    background: var(--bg-3) !important;
    border: 1px solid var(--line-color-2) !important;
    border-radius: 999px !important; color: var(--fg-mute) !important;
    font-family: var(--f-mono) !important; font-size: 10px !important; font-weight: 700 !important;
}

/* ── Totals ── */
.zvs-checkout-style-modern .wc-block-components-totals-wrapper { padding: 0 24px 20px !important; }
.zvs-checkout-style-modern .wc-block-components-totals-item {
    font-family: var(--f-display) !important; font-size: 14px !important;
    padding: 8px 0 !important; border-bottom: none !important;
}
.zvs-checkout-style-modern .wc-block-components-totals-item__label { color: var(--fg-mute) !important; }
.zvs-checkout-style-modern .wc-block-components-totals-item__value { color: var(--fg) !important; font-weight: 600 !important; }
.zvs-checkout-style-modern .wc-block-components-totals-discount .wc-block-components-totals-item__value { color: #4ade80 !important; }
.zvs-checkout-style-modern .wc-block-components-totals-footer-item {
    border-top: 1px solid var(--line-color) !important;
    padding: 16px 0 4px !important; margin-top: 4px !important;
}
.zvs-checkout-style-modern .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    font-family: var(--f-display) !important; font-size: 15px !important;
    font-weight: 700 !important; color: var(--fg) !important;
}
.zvs-checkout-style-modern .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-family: var(--f-display) !important; font-size: 22px !important;
    font-weight: 800 !important; letter-spacing: -.03em !important; color: var(--lime) !important;
}

/* ── Coupon ── */
.zvs-checkout-style-modern .wc-block-components-totals-coupon {
    border-top: 1px solid var(--line-color) !important; padding-top: 12px !important;
}
.zvs-checkout-style-modern .wc-block-components-totals-coupon__button {
    font-family: var(--f-display) !important; font-size: 13px !important;
    color: var(--fg-mute) !important; background: transparent !important;
    border: none !important; padding: 8px 0 !important; cursor: pointer !important;
    transition: color .15s !important; width: 100% !important; text-align: left !important;
}
.zvs-checkout-style-modern .wc-block-components-totals-coupon__button:hover { color: var(--fg) !important; }
.zvs-checkout-style-modern .wc-block-components-totals-coupon__form { display: flex !important; gap: 8px !important; margin-top: 8px !important; }
.zvs-checkout-style-modern .wc-block-components-totals-coupon__form input {
    flex: 1 !important; background: var(--bg-3) !important;
    border: 1px solid var(--line-color-2) !important; border-radius: var(--r-btn) !important;
    color: var(--fg) !important; font-family: var(--f-mono) !important;
    font-size: 12px !important; letter-spacing: .04em !important;
    height: 42px !important; padding: 0 12px !important; outline: none !important;
}
.zvs-checkout-style-modern .wc-block-components-totals-coupon__form input:focus { border-color: var(--lime) !important; }
.zvs-checkout-style-modern .wc-block-components-totals-coupon__form .wc-block-components-button {
    background: var(--bg-3) !important; border: 1px solid var(--line-color-2) !important;
    border-radius: var(--r-btn) !important; color: var(--fg) !important;
    font-family: var(--f-display) !important; font-size: 13px !important; font-weight: 600 !important;
    height: 42px !important; padding: 0 16px !important; cursor: pointer !important;
    transition: background .15s, border-color .15s !important; width: auto !important;
}
.zvs-checkout-style-modern .wc-block-components-totals-coupon__form .wc-block-components-button:hover {
    background: var(--lime) !important; color: var(--lime-ink) !important; border-color: transparent !important;
}

/* ═══ 5 · MY ACCOUNT ═══════════════════════════════════ */

.zvs-account-style-modern .woocommerce-MyAccount-navigation {
  background: var(--bg-2); border: 1px solid var(--line-color); border-radius: var(--r-card); padding: 16px;
}
.zvs-account-style-modern .woocommerce-MyAccount-navigation ul {
  list-style: none; padding: 6px !important; margin: 0;
  display: flex; flex-direction: column; gap: 2px;
}
.zvs-account-style-modern .woocommerce-MyAccount-navigation ul li a {
  display: block; padding: 10px 14px; border-radius: var(--r-btn);
  color: var(--fg-mute); font-family: var(--f-body); font-size: 14px; font-weight: 500;
  text-decoration: none; transition: all .15s;
}
.zvs-account-style-modern .woocommerce-MyAccount-navigation ul li a:hover { background: var(--bg-3); color: var(--fg); }
.zvs-account-style-modern .woocommerce-MyAccount-navigation ul li.is-active a { background: var(--zvs-btn-bg, var(--lime)); color: var(--zvs-btn-color, var(--lime-ink)); }
/* Logout — red tint */
.zvs-account-style-modern .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 6px; }
.zvs-account-style-modern .woocommerce-MyAccount-navigation-link--customer-logout a {
  color: #ff6b6b !important;
  border: 1px solid rgba(255,80,80,.25) !important;
  background: rgba(255,80,80,.07) !important;
}
.zvs-account-style-modern .woocommerce-MyAccount-navigation-link--customer-logout a:hover {
  background: rgba(255,80,80,.18) !important;
  border-color: rgba(255,80,80,.5) !important;
  color: #fff !important;
}

.zvs-account-style-modern .woocommerce-MyAccount-content { font-size: 15px; line-height: 1.55; }
/* Clamp h2/h3 to sensible sizes — theme's global h2 is too large */
.zvs-account-style-modern .woocommerce-MyAccount-content h2 {
  font-family: var(--f-display); font-weight: 700; letter-spacing: -.02em;
  font-size: 22px !important;
}
.zvs-account-style-modern .woocommerce-MyAccount-content h3 {
  font-family: var(--f-display); font-weight: 700; letter-spacing: -.02em;
  font-size: 17px !important;
}
/* Address block heading */
.zvs-account-style-modern .woocommerce-Address-title h2,
.zvs-account-style-modern .woocommerce-column__title {
  font-family: var(--f-display) !important; font-weight: 700 !important;
  font-size: 17px !important; letter-spacing: -.01em !important;
}

.zvs-account-style-modern .woocommerce-orders-table {
  border: 1px solid var(--line-color); border-radius: var(--r-card); overflow: hidden;
  border-collapse: separate; border-spacing: 0; width: 100%;
}
.zvs-account-style-modern .woocommerce-orders-table th {
  background: var(--bg-2); font-family: var(--f-mono); font-size: 11px; font-weight: 500;
  letter-spacing: .14em; text-transform: uppercase; color: var(--fg-mute); padding: 14px 22px; border: none;
}
.zvs-account-style-modern .woocommerce-orders-table td { padding: 14px 22px; border-bottom: 1px solid var(--line-color); }
.zvs-account-style-modern .woocommerce-orders-table .button {
  padding: 8px 16px; border-radius: var(--r-btn); background: transparent;
  border: 1px solid var(--line-color-2); color: var(--fg); font-size: 13px; font-weight: 500;
  text-decoration: none; transition: all .15s;
}
.zvs-account-style-modern .woocommerce-orders-table .button:hover { background: var(--lime); color: var(--lime-ink); border-color: transparent; }

.zvs-account-style-modern .woocommerce-Addresses .woocommerce-Address {
  background: var(--bg-2); border: 1px solid var(--line-color); border-radius: var(--r-card); padding: 24px 28px;
}
.zvs-account-style-modern .woocommerce-Addresses .woocommerce-Address address {
  font-style: normal !important; color: var(--fg-mute) !important;
  font-size: 14px !important; line-height: 1.6 !important; margin-top: 8px !important;
}
.zvs-account-style-modern .woocommerce-Addresses .woocommerce-Address header h3 { font-family: var(--f-display); font-weight: 700; font-size: 16px; margin-bottom: 12px; }

/* ── Kontodetails / Edit Account Form ──────────────────── */
.zvs-account-style-modern .woocommerce-EditAccountForm .form-row label,
.zvs-active .woocommerce-EditAccountForm .form-row label {
  font-family: var(--f-mono); font-size: 11px; font-weight: 500;
  letter-spacing: .1em; text-transform: uppercase; color: var(--fg-mute); display: block; margin-bottom: 8px;
}
/* Inputs — normal subtle border, NOT lime */
.zvs-account-style-modern .woocommerce-EditAccountForm .form-row input,
.zvs-account-style-modern .woocommerce-EditAccountForm .form-row input[type="text"],
.zvs-account-style-modern .woocommerce-EditAccountForm .form-row input[type="email"],
.zvs-account-style-modern .woocommerce-EditAccountForm .form-row input[type="password"] {
  background: var(--bg-3) !important; border: 1px solid var(--line-color-2) !important;
  border-radius: var(--r-sm) !important; color: var(--fg) !important;
  padding: 11px 14px !important; font-family: var(--f-body) !important; font-size: 14px !important;
  width: 100% !important; transition: border-color .15s !important; display: block !important;
}
.zvs-account-style-modern .woocommerce-EditAccountForm .form-row input:focus {
  border-color: var(--zvs-accent, var(--lime)) !important; outline: none !important;
}
.zvs-account-style-modern .woocommerce-EditAccountForm .form-row { margin-bottom: 16px !important; }
/* Fieldset (Passwort ändern) — lime border, clean legend */
.zvs-account-style-modern .woocommerce-EditAccountForm fieldset {
  border: 1px solid var(--zvs-accent, var(--lime)) !important;
  border-radius: var(--r-card) !important; padding: 20px 20px 8px !important;
  margin: 24px 0 16px !important;
}
.zvs-account-style-modern .woocommerce-EditAccountForm fieldset legend {
  font-family: var(--f-display) !important; font-weight: 700 !important;
  font-size: 14px !important; color: var(--fg) !important;
  padding: 0 8px !important; letter-spacing: -.01em !important;
}
/* Display name hint — smaller, muted */
.zvs-account-style-modern .woocommerce-EditAccountForm em,
.zvs-account-style-modern .woocommerce-EditAccountForm .description,
.zvs-active .woocommerce-EditAccountForm em {
  font-size: 12px !important; font-style: normal !important;
  color: var(--fg-mute) !important; opacity: .65 !important; line-height: 1.5 !important;
  display: block !important; margin-top: 5px !important;
}
/* Password eye toggle — light grey via filter on SVG ::before */
.zvs-active .show-password-input::before {
  filter: brightness(0) invert(1) opacity(0.35) !important;
}
.zvs-active .show-password-input:hover::before {
  filter: brightness(0) invert(1) opacity(0.7) !important;
}
/* Save button — more top margin */
.zvs-account-style-modern .woocommerce-EditAccountForm [type="submit"],
.zvs-account-style-modern .woocommerce-EditAccountForm .woocommerce-Button {
  background: var(--zvs-btn-bg, var(--lime)) !important;
  color: var(--zvs-btn-color, var(--lime-ink)) !important;
  border: none !important; border-radius: var(--r-btn) !important;
  padding: 12px 28px !important; font-family: var(--f-body) !important;
  font-size: 14px !important; font-weight: 500 !important; cursor: pointer !important;
  transition: transform .15s, box-shadow .2s !important;
  margin-top: 24px !important;
}
.zvs-account-style-modern .woocommerce-EditAccountForm [type="submit"]:hover,
.zvs-account-style-modern .woocommerce-EditAccountForm .woocommerce-Button:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px -8px color-mix(in oklch, var(--lime) 60%, transparent) !important;
}
/* Password strength meter */
.zvs-account-style-modern .woocommerce-password-strength { font-size: 12px; margin-top: 6px; border-radius: var(--r-sm); padding: 4px 10px; }
.zvs-account-style-modern .woocommerce-password-hint { font-size: 12px; color: var(--fg-mute); margin-top: 4px; }

/* ── Address page — fix "hinzufügen" link alignment ──── */
.zvs-account-style-modern .woocommerce-Address-title {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin-bottom: 16px !important;
}
.zvs-account-style-modern .woocommerce-Address-title h2 {
  margin: 0 !important;
}
.zvs-account-style-modern .woocommerce-Address-title a.edit {
  float: none !important;
  white-space: nowrap !important;
  font-size: 12px !important; color: var(--fg-mute) !important;
  text-decoration: none !important; line-height: 1.4 !important;
  padding: 5px 12px !important; border: 1px solid var(--line-color-2) !important;
  border-radius: 6px !important; transition: all .15s !important;
}
.zvs-account-style-modern .woocommerce-Address-title a.edit:hover {
  color: var(--fg) !important; border-color: var(--fg-mute) !important;
}

/* Login / Register */
.zvs-active .woocommerce-form-login,
.zvs-active .woocommerce-form-register {
  background: var(--bg-2); border: 1px solid var(--line-color); border-radius: var(--r-card); padding: 40px;
}
.zvs-active .woocommerce-form-login label,
.zvs-active .woocommerce-form-register label {
  font-family: var(--f-mono); font-size: 11px; font-weight: 500;
  letter-spacing: .14em; text-transform: uppercase; color: var(--fg-mute);
  display: block; margin-bottom: 8px;
}
.zvs-active .woocommerce-form-login input[type="text"],
.zvs-active .woocommerce-form-login input[type="password"],
.zvs-active .woocommerce-form-login input[type="email"],
.zvs-active .woocommerce-form-register input[type="text"],
.zvs-active .woocommerce-form-register input[type="password"],
.zvs-active .woocommerce-form-register input[type="email"] {
  background: var(--bg-3); border: 1px solid var(--line-color-2); border-radius: var(--r-sm);
  color: var(--fg); padding: 14px 16px; font-family: var(--f-body); font-size: 14px; width: 100%;
  transition: border-color .15s;
}
.zvs-active .woocommerce-form-login input:focus,
.zvs-active .woocommerce-form-register input:focus { border-color: var(--lime); outline: none; }
.zvs-active .woocommerce-form-login .woocommerce-button,
.zvs-active .woocommerce-form-register .woocommerce-button {
  display: inline-flex; align-items: center; padding: 14px 22px; border-radius: var(--r-btn);
  background: var(--lime); color: var(--lime-ink); font-family: var(--f-body); font-size: 14px; font-weight: 500;
  border: none; cursor: pointer;
  box-shadow: 0 1px 0 rgba(255,255,255,.25) inset, 0 6px 22px -10px oklch(0.88 0.18 128 / .6);
  transition: transform .15s var(--ease-out), box-shadow .25s;
}
.zvs-active .woocommerce-form-login .woocommerce-button:hover,
.zvs-active .woocommerce-form-register .woocommerce-button:hover { transform: translateY(-1px); }


/* ═══ 6 · GLOBAL WC OVERRIDES ═══════════════════════════ */

.zvs-active .woocommerce .button,
.zvs-active .woocommerce button.button,
.zvs-active .woocommerce a.button,
.zvs-active .woocommerce input.button { font-family: var(--f-body); font-weight: 500; }

/* Notices */
.zvs-active .woocommerce-message {
  background: var(--bg-2); border: 1px solid var(--zvs-accent, var(--lime));
  border-radius: var(--r-card); color: var(--fg); padding: 14px 20px;
  display: flex !important; align-items: center !important;
  justify-content: space-between !important; gap: 16px !important;
  white-space: normal !important; outline: none !important;
  width: 100% !important; box-sizing: border-box !important;
}
/* Hide WC's default cart icon */
.zvs-active .woocommerce-message::before { display: none !important; }
/* "Warenkorb anzeigen" button */
.zvs-active .woocommerce-message .button {
  background: var(--zvs-btn-bg, var(--lime)) !important; color: var(--zvs-btn-color, var(--lime-ink)) !important;
  border: none !important; border-radius: var(--r-btn) !important;
  padding: 8px 18px !important; font-weight: 500 !important;
  text-decoration: none !important; white-space: nowrap !important;
  flex-shrink: 0 !important; margin-left: auto !important;
}
.zvs-active .woocommerce-message .button:hover {
  filter: brightness(1.1) !important; transform: translateY(-1px) !important;
}
.zvs-active .woocommerce-error { background: var(--bg-2); border: 1px solid #EF4444; border-radius: var(--r-card); color: var(--fg); padding: 16px 24px; }
.zvs-active .woocommerce-info {
  background: var(--bg-2); border: 1px solid var(--line-color);
  border-radius: var(--r-card); color: var(--fg); padding: 16px 24px;
  display: flex !important; align-items: center; justify-content: space-between; gap: 16px;
}
/* Hide WC default blue info icon */
.zvs-active .woocommerce-info::before { display: none !important; }
/* "Produkte durchsuchen" / wc-forward button inside info box */
.zvs-active .woocommerce-info .button,
.zvs-active .woocommerce-info a.button,
.zvs-active .woocommerce-info .wc-forward {
  background: transparent !important; color: var(--fg) !important;
  border: 1px solid var(--line-color-2) !important; border-radius: var(--r-btn) !important;
  padding: 9px 18px !important; font-family: var(--f-body) !important;
  font-size: 13px !important; font-weight: 500 !important; text-decoration: none !important;
  white-space: nowrap !important; flex-shrink: 0 !important; transition: all .15s !important;
}
.zvs-active .woocommerce-info .button:hover,
.zvs-active .woocommerce-info a.button:hover,
.zvs-active .woocommerce-info .wc-forward:hover {
  background: var(--zvs-btn-bg, var(--lime)) !important;
  color: var(--zvs-btn-color, var(--lime-ink)) !important;
  border-color: transparent !important;
}

/* Breadcrumb */
.zvs-active .woocommerce-breadcrumb {
  font-family: var(--f-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--fg-mute); display: flex; gap: 10px; align-items: center; padding: 18px 0;
}
.zvs-active .woocommerce-breadcrumb a { color: var(--fg-mute); text-decoration: none; }
.zvs-active .woocommerce-breadcrumb a:hover { color: var(--fg); }

/* Result count + ordering */
.zvs-active .woocommerce-result-count { font-family: var(--f-mono); font-size: 12px; letter-spacing: .02em; color: var(--fg-mute); }
.zvs-active .woocommerce-ordering select {
  background: var(--bg-2); border: 1px solid var(--line-color-2); border-radius: var(--r-btn);
  color: var(--fg); padding: 8px 14px; font-family: var(--f-body); font-size: 14px;
}

/* Pagination */
.zvs-active .woocommerce-pagination ul.page-numbers { display: flex; gap: 4px; justify-content: center; padding: 0; list-style: none; }
.zvs-active .woocommerce-pagination ul.page-numbers li a,
.zvs-active .woocommerce-pagination ul.page-numbers li span {
  display: flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border-radius: var(--r-btn);
  border: 1px solid var(--line-color); background: transparent;
  color: var(--fg-mute); font-family: var(--f-mono); font-size: 13px; font-weight: 500;
  text-decoration: none; transition: all .15s;
}
.zvs-active .woocommerce-pagination ul.page-numbers li a:hover { border-color: var(--line-color-2); background: var(--bg-2); color: var(--fg); }
.zvs-active .woocommerce-pagination ul.page-numbers li span.current { background: var(--fg); color: var(--bg); border-color: var(--fg); }


/* ═══ 7 · MINI-CART DRAWER ═════════════════════════════ */

/* Cart Drawer styles moved to zvs-cart-drawer.css */


/* ═══ 8 · TOAST ════════════════════════════════════════ */

.zvs-toast {
  position: fixed; bottom: 28px; left: 50%; transform: translateX(-50%) translateY(20px);
  background: var(--bg-2); border: 1px solid var(--lime); border-radius: var(--r-btn);
  padding: 12px 20px; font-family: var(--f-mono); font-size: 12px; color: var(--lime);
  display: flex; align-items: center; gap: 8px;
  opacity: 0; transition: all .3s var(--ease-out); pointer-events: none; z-index: 200; white-space: nowrap;
}
.zvs-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }


/* ═══ 9 · ADDITIONAL OVERRIDES ════════════════════════ */

/* Antialiased text everywhere */
.zvs-active { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

/* WC Gallery deep overrides */
.zvs-active .woocommerce-product-gallery { opacity: 1 !important; }
.zvs-active .woocommerce-product-gallery__wrapper { margin: 0; }
.zvs-active .woocommerce-product-gallery .woocommerce-product-gallery__image a { display: block; }
.zvs-active .woocommerce-product-gallery .flex-viewport { border-radius: var(--r-card); overflow: hidden; }
.zvs-active .woocommerce-product-gallery .flex-direction-nav { display: none; }

/* Quantity +/− buttons (WC default doesn't have buttons — we style the input) */
.zvs-active .quantity .minus,
.zvs-active .quantity .plus {
  width: 44px; height: 50px; font-size: 18px; color: var(--fg-mute);
  background: transparent; border: none; cursor: pointer; transition: background .15s, color .15s;
  display: inline-flex; align-items: center; justify-content: center;
}
.zvs-active .quantity .minus:hover,
.zvs-active .quantity .plus:hover { background: var(--bg-2); color: var(--fg); }

/* Select2 deep styling (checkout country/state dropdowns) */
.zvs-active .select2-container--default .select2-selection--single {
  height: 50px; border: 1px solid var(--line-color-2); border-radius: var(--r-sm);
  background: var(--bg-2);
}
.zvs-active .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 50px; padding: 0 16px; color: var(--fg); font-family: var(--f-body); font-size: 14px;
}
.zvs-active .select2-container--default .select2-selection--single .select2-selection__arrow { top: 12px; right: 12px; }
.zvs-active .select2-dropdown {
  background: var(--bg-2); border: 1px solid var(--line-color-2); border-radius: var(--r-sm); margin-top: 4px;
}
.zvs-active .select2-container--default .select2-results__option {
  padding: 10px 16px; font-family: var(--f-body); font-size: 14px; color: var(--fg-mute);
}
.zvs-active .select2-container--default .select2-results__option--highlighted {
  background: var(--bg-3); color: var(--fg);
}
.zvs-active .select2-container--default .select2-results__option--selected {
  background: var(--lime); color: var(--lime-ink);
}

/* Empty cart page */
.zvs-active .cart-empty {
  text-align: center; padding: 80px 28px; max-width: 560px; margin: 0 auto;
}
.zvs-active .cart-empty.woocommerce-info {
  font-family: var(--f-display); font-size: 22px; font-weight: 600;
  background: var(--bg-2); border: 1px solid var(--line-color); border-radius: var(--r-card);
}
.zvs-active .cart-empty.woocommerce-info::before { display: none; }
.zvs-active .return-to-shop .button {
  display: inline-flex; align-items: center; gap: 8px; padding: 14px 28px; border-radius: var(--r-btn);
  background: var(--lime); color: var(--lime-ink); font-family: var(--f-body); font-size: 15px; font-weight: 500;
  text-decoration: none; margin-top: 20px;
  box-shadow: 0 1px 0 rgba(255,255,255,.25) inset, 0 6px 22px -10px oklch(0.88 0.18 128 / .6);
  transition: transform .15s var(--ease-out), box-shadow .25s;
}
.zvs-active .return-to-shop .button:hover { transform: translateY(-1px); }

/* Thank you / order received page */
.zvs-active .woocommerce-order-received .woocommerce-thankyou-order-received {
  font-family: var(--f-display); font-weight: 700; font-size: 28px; letter-spacing: -.03em;
  text-align: center; padding: 40px 0 20px;
}
.zvs-active .woocommerce-order-received .woocommerce-order-overview {
  list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 0;
  border: 1px solid var(--line-color); border-radius: var(--r-card); overflow: hidden;
}
.zvs-active .woocommerce-order-received .woocommerce-order-overview li {
  flex: 1; min-width: 140px; padding: 20px 22px;
  border-right: 1px solid var(--line-color); background: var(--bg-2);
}
.zvs-active .woocommerce-order-received .woocommerce-order-overview li:last-child { border-right: none; }
.zvs-active .woocommerce-order-received .woocommerce-order-overview li strong {
  display: block; font-family: var(--f-display); font-weight: 700; font-size: 16px; margin-top: 4px;
}
.zvs-active .woocommerce-order-received .woocommerce-order-details { margin-top: 32px; }
.zvs-active .woocommerce-order-received .woocommerce-table--order-details {
  border: 1px solid var(--line-color); border-radius: var(--r-card); overflow: hidden;
  border-collapse: separate; border-spacing: 0; width: 100%;
}
.zvs-active .woocommerce-order-received .woocommerce-table--order-details th {
  background: var(--bg-2); font-family: var(--f-mono); font-size: 11px; font-weight: 500;
  letter-spacing: .14em; text-transform: uppercase; color: var(--fg-mute); padding: 14px 22px; border: none;
}
.zvs-active .woocommerce-order-received .woocommerce-table--order-details td {
  padding: 14px 22px; border-bottom: 1px solid var(--line-color);
}

/* My Account: grid layout (nav sidebar + content) */
.zvs-account-style-modern .woocommerce {
  display: grid; grid-template-columns: 240px 1fr; gap: 32px; align-items: flex-start;
}
@media (max-width: 768px) {
  /* ── Account ── */
  .zvs-account-style-modern .woocommerce { grid-template-columns: 1fr; }

  /* ── Single Product: stack image above summary ── */
  .zvs-active div.product {
    /* minmax(0,1fr) prevents FlexSlider's fixed-px width from blowing out the grid track */
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
    padding: 12px 0 40px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  /* ALL direct children full width */
  .zvs-active div.product > * {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    box-sizing: border-box !important;
  }
  /* Image column — min-width:0 prevents FlexSlider from blowing out the grid track */
  .zvs-active div.product div.images {
    order: -1 !important;
    min-width: 0 !important;
    overflow: visible !important; /* must be visible so thumbnails below viewport aren't clipped */
  }
  .zvs-active div.product div.summary {
    min-width: 0 !important;
  }
  /* Force FlexSlider container to not exceed parent.
     NOTE: gallery__wrapper must NOT be width-constrained here —
     FlexSlider sets it to e.g. 1000% (n-slides × 200%) inline,
     and overriding that with 100% collapses all slides to offsetLeft:0. */
  .zvs-active div.product div.images .flex-viewport,
  .zvs-active div.product div.images .flexslider {
    width: 100% !important;
    max-width: 100% !important;
  }
  /* Cap gallery height on mobile */
  .zvs-active div.product div.images .flex-viewport {
    max-height: 75vw !important;
    overflow: hidden !important;
  }
  .zvs-active div.product div.images .flex-viewport img,
  .zvs-active div.product div.images .woocommerce-product-gallery__wrapper img {
    max-height: 75vw !important;
    width: 100% !important;
    object-fit: cover !important;
  }

  /* Product title size */
  .zvs-active div.product .product_title,
  .zvs-subtitle { font-size: 28px !important; }

  /* Price size */
  .zvs-active div.product p.price .woocommerce-Price-amount,
  body.zvs-active div.product p.price .woocommerce-Price-amount {
    font-size: 32px !important;
  }

  /* Thumbnail strip: 4 cols on mobile */
  div.product div.images .flex-control-thumbs {
    grid-template-columns: repeat(4, 1fr) !important;
  }

  /* Add to cart: qty flush left, button flush right — one row on mobile */
  .zvs-active div.product form.cart {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    margin: 20px 0 !important;
    padding: 0 !important;
  }
  .zvs-active div.product form.cart > .quantity {
    flex: 0 0 auto !important;
    margin: 0 12px 0 0 !important;
  }
  .zvs-active div.product form.cart > button.single_add_to_cart_button {
    flex: 1 1 0% !important;
    margin: 0 !important;
  }
  .zvs-active div.product .woocommerce-variation-add-to-cart {
    grid-template-columns: auto 1fr !important;
    flex-direction: row !important;
  }

  /* License picker: full width */
  .zvs-license-picker { gap: 8px !important; }

  /* Trust grid: 1 col */
  .zvs-trust-grid { grid-template-columns: 1fr !important; }

  /* Addon checkboxes: stack */
  .zvs-addon-row { flex-direction: column !important; align-items: flex-start !important; }

  /* Tabs: scroll horizontally */
  .zvs-active div.product .woocommerce-tabs ul.tabs {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    padding-bottom: 4px !important;
  }
  .zvs-active div.product .woocommerce-tabs { grid-column: 1 !important; }

  /* Specs table: full width */
  .zvs-specs-dl { grid-template-columns: 1fr !important; }
  .zvs-specs-dl dt { border-bottom: none !important; padding-bottom: 2px !important; }

  /* FAQ list */
  .zvs-faq-list { max-width: 100% !important; }

  /* Preview strip: hidden on mobile */
  .zvs-preview-strip { display: none !important; }

  /* Related products: 2 cols */
  .zvs-active .related.products ul.products,
  .zvs-active .upsells.products ul.products,
  .zvs-active section.related ul.products,
  .zvs-active section.upsells ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  .zvs-active .related.products,
  .zvs-active .upsells.products,
  .zvs-active section.related,
  .zvs-active section.upsells {
    padding-top: 40px !important;
  }
  .zvs-active .related.products > h2,
  .zvs-active section.related > h2 { font-size: 22px !important; }

  /* Cart page: hide product thumb column, stack */
  .zvs-cart-style-modern table.cart th.product-thumbnail { display: none !important; }
  .zvs-cart-style-modern table.cart td.product-thumbnail { display: none !important; }
  .zvs-cart-style-modern .zvs-cart-item-wrap { flex-direction: column !important; gap: 12px !important; }

  /* Checkout: sidebar below form on mobile */
  .zvs-checkout-style-modern .wc-block-checkout__main { padding-right: 0 !important; }
  .zvs-checkout-style-modern .wc-block-checkout__sidebar {
    position: static !important;
    border-radius: var(--r-card) !important;
    margin-top: 24px !important;
  }
}

@media (max-width: 480px) {
  /* Product: even tighter padding */
  .zvs-active div.product { padding: 12px 16px 32px !important; }

  /* Thumbnail strip: 3 cols on small mobile */
  div.product div.images .flex-control-thumbs {
    grid-template-columns: repeat(3, 1fr) !important;
  }

  /* Related: 1 col on tiny screens */
  .zvs-active .related.products ul.products,
  .zvs-active section.related ul.products {
    grid-template-columns: 1fr !important;
  }
}

/* Form field wrappers */
.zvs-active .form-row { margin-bottom: 16px; }
.zvs-active .form-row label .required { color: var(--lime); }
.zvs-active .form-row .woocommerce-input-wrapper { display: block; }

/* Links in WC */
.zvs-active .woocommerce a { transition: color .15s; }
.zvs-active .woocommerce a:hover { color: var(--lime); }

/* Remove WC default box styling */
.zvs-active .woocommerce form .form-row-first,
.zvs-active .woocommerce form .form-row-last { width: 48%; }
.zvs-active .woocommerce form .form-row-wide { width: 100%; }

/* Chip utility (reusable) */
.zvs-chip {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 5px 11px; font-family: var(--f-mono); font-size: 10.5px; font-weight: 500;
  letter-spacing: .08em; text-transform: uppercase;
  background: var(--bg-2); border: 1px solid var(--line-color); border-radius: var(--r-chip); color: var(--fg-mute);
}
.zvs-chip .zvs-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 2px oklch(0.88 0.18 128 / .2); }

/* Trust grid utility */
.zvs-trust-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.zvs-trust-item { display: flex; align-items: flex-start; gap: 10px; }
.zvs-trust-icon {
  width: 30px; height: 30px; border-radius: 8px; flex-shrink: 0;
  background: var(--bg-2); border: 1px solid var(--line-color); display: grid; place-items: center;
}
.zvs-trust-label { font-size: 13px; font-weight: 600; line-height: 1.3; }
.zvs-trust-sub { font-family: var(--f-mono); font-size: 10.5px; color: var(--fg-mute); margin-top: 2px; }

/* Loading skeleton for AJAX */
.zvs-loading { opacity: .5; pointer-events: none; }
@keyframes zvs-pulse { 0%,100%{opacity:1} 50%{opacity:.4} }
.zvs-skeleton { animation: zvs-pulse 1.5s ease-in-out infinite; background: var(--bg-3); border-radius: var(--r-sm); }


/* ═══ 10 · ZERONIQ PRODUCT FEATURES ═════════════════════ */

/* ── Rating Widget ───────────────────────────────────── */
.zvs-rating-widget {
  display: flex !important; flex-direction: column !important;
  gap: 10px !important; margin: 0 0 20px !important;
  align-items: flex-start !important;
}

/* Summary button */
.zvs-rating-summary {
  display: inline-flex !important; align-items: center !important; gap: 8px !important;
  padding: 8px 14px !important;
  background: var(--bg-2) !important;
  border: 1px solid var(--line-color) !important;
  border-radius: var(--r-btn) !important;
  text-decoration: none !important;
  transition: border-color .15s, background .15s !important;
  cursor: pointer !important;
}
.zvs-rating-summary:hover {
  border-color: var(--lime) !important;
  background: rgba(180,237,95,.05) !important;
}
.zvs-rating-summary__stars {
  display: inline-flex !important; gap: 2px !important; color: var(--lime) !important;
}
.zvs-rating-summary__num {
  font-family: var(--f-display) !important; font-weight: 700 !important;
  font-size: 15px !important; color: var(--fg) !important;
}
.zvs-rating-summary__count {
  font-family: var(--f-mono) !important; font-size: 11px !important;
  color: var(--fg-mute) !important; letter-spacing: .04em !important;
}

/* Breakdown bars */
.zvs-rating-breakdown {
  display: flex !important; flex-direction: column !important;
  gap: 5px !important; width: 100% !important; max-width: 260px !important;
}
.zvs-rating-bar-row {
  display: grid !important;
  grid-template-columns: 14px 12px 1fr 32px !important;
  align-items: center !important; gap: 6px !important;
}
.zvs-rating-bar-label {
  font-family: var(--f-mono) !important; font-size: 11px !important;
  font-weight: 600 !important; color: var(--fg-mute) !important;
  text-align: right !important;
}
.zvs-rating-bar-star { color: var(--lime) !important; flex-shrink: 0 !important; }
.zvs-rating-bar-wrap {
  height: 4px !important; background: var(--bg-3) !important;
  border-radius: 99px !important; overflow: hidden !important;
}
.zvs-rating-bar-fill {
  height: 100% !important; background: var(--lime) !important;
  border-radius: 99px !important; transition: width .4s ease !important;
  min-width: 2px !important;
}
.zvs-rating-bar-pct {
  font-family: var(--f-mono) !important; font-size: 10px !important;
  color: var(--fg-mute) !important; text-align: right !important;
}

/* Legacy — keep for backwards compat */
.zvs-rating-row {
  display: flex !important; align-items: center !important; gap: 8px !important;
  margin: 0 0 16px !important; flex-wrap: wrap !important;
}
.zvs-stars { display: inline-flex !important; gap: 2px !important; color: var(--lime) !important; }
.zvs-rating-num { font-family: var(--f-display) !important; font-weight: 600 !important; font-size: 14px !important; }
.zvs-rating-sep { color: var(--fg-mute-2) !important; font-size: 12px !important; }
.zvs-rating-count { font-family: var(--f-mono) !important; font-size: 12px !important; color: var(--fg-mute) !important; }

/* ── Eyebrow ─────────────────────────────────────────── */
.zvs-eyebrow {
  font-family: var(--f-mono) !important; font-size: 11px !important; font-weight: 500 !important;
  letter-spacing: .14em !important; text-transform: uppercase !important; color: var(--fg-mute) !important;
  margin-bottom: 8px !important;
}

/* ── Subtitle ────────────────────────────────────────── */
.zvs-subtitle {
  font-family: var(--f-display) !important;
  font-weight: 700 !important;
  font-size: 44px !important;
  font-style: normal !important;
  color: var(--fg) !important;
  letter-spacing: -.02em !important;
  line-height: 1.1 !important;
  margin-top: 0 !important;
  margin-bottom: 16px !important;
}
/* *text* segments — grey, weight 400, regular */
.zvs-subtitle .zvs-subtitle-muted {
  color: var(--fg-mute) !important;
  font-weight: 400 !important;
  font-style: normal !important;
}

/* ── Hide WC variation dropdown when license picker is present ── */
.zvs-active div.product .variations { display: none !important; }
.zvs-active div.product .single_variation_wrap .woocommerce-variation { display: none !important; }
/* But keep the hidden inputs for WC variation system — grid layout matches our form layout */
.zvs-active div.product .single_variation_wrap .woocommerce-variation-add-to-cart { display: grid !important; }

/* ── Breadcrumb toggle (controlled by body class) ────── */
body.zvs-hide-breadcrumbs .zv-breadcrumbs,
body.zvs-hide-breadcrumbs .woocommerce-breadcrumb { display: none !important; }

/* ── Page header toggle for shop pages ───────────────── */
body.zvs-hide-page-header .zv-page-header,
body.zvs-hide-page-header .zv-page-header + * > .zv-breadcrumbs { display: none !important; }

/* ── Chip bar ────────────────────────────────────────── */
.zvs-chip-bar { display: flex !important; gap: 6px !important; flex-wrap: wrap !important; margin: 0 0 24px !important; }
.zvs-chip {
  display: inline-flex !important; align-items: center !important; gap: 6px !important;
  padding: 5px 11px !important; font-family: var(--f-mono) !important; font-size: 10.5px !important;
  font-weight: 500 !important; letter-spacing: .08em !important; text-transform: uppercase !important;
  background: var(--bg-2) !important; border: 1px solid var(--line-color) !important;
  border-radius: var(--r-chip) !important; color: var(--fg-mute) !important;
}
.zvs-chip--stock { color: var(--lime) !important; border-color: oklch(0.88 0.18 128 / .4) !important; }
.zvs-chip--lime { background: var(--lime) !important; color: var(--lime-ink) !important; border-color: transparent !important; padding: 2px 7px !important; font-size: 9px !important; }
.zvs-dot { width: 6px !important; height: 6px !important; border-radius: 50% !important; background: var(--lime) !important; box-shadow: 0 0 0 2px oklch(0.88 0.18 128 / .2) !important; }

/* ── License Picker ──────────────────────────────────── */
.zvs-licenses { margin: 16px 0 !important; }
.zvs-licenses__head { margin-bottom: 10px !important; }
.zvs-licenses__grid { display: grid !important; gap: 8px !important; }
.zvs-license {
  display: grid !important; grid-template-columns: 20px 1fr auto !important; align-items: center !important;
  gap: 14px !important; padding: 14px 16px !important; background: transparent !important;
  border: 1px solid var(--line-color-2) !important; border-radius: var(--r-card) !important;
  text-align: left !important; transition: all .15s !important; cursor: pointer !important; width: 100% !important;
  color: var(--fg) !important; font-family: var(--f-body) !important;
}
.zvs-license:hover { border-color: var(--fg-mute-2) !important; }
.zvs-license--active { background: var(--bg-2) !important; border-color: var(--lime) !important; border-width: 1.5px !important; }
.zvs-license__radio {
  width: 18px !important; height: 18px !important; border-radius: 999px !important;
  border: 1.5px solid var(--line-color-2) !important; background: transparent !important;
  transition: all .2s !important; flex-shrink: 0 !important;
}
.zvs-license--active .zvs-license__radio { border: 5px solid var(--lime) !important; background: var(--ink, #0A0B0F) !important; }
.zvs-license__name { font-family: var(--f-display) !important; font-weight: 600 !important; font-size: 15px !important; display: flex !important; align-items: center !important; gap: 8px !important; }
.zvs-license__desc { font-family: var(--f-mono) !important; font-size: 11px !important; color: var(--fg-mute) !important; margin-top: 2px !important; }
.zvs-license__price { font-family: var(--f-display) !important; font-weight: 600 !important; font-size: 16px !important; white-space: nowrap !important; }

/* ── Add-ons ─────────────────────────────────────────── */
.zvs-addons { margin: 16px 0 !important; }
.zvs-addons__grid { display: grid !important; gap: 6px !important; }
.zvs-addon {
  display: grid !important; grid-template-columns: 20px 1fr auto !important; align-items: center !important;
  gap: 14px !important; padding: 12px 16px !important; border: 1px solid var(--line-color) !important;
  border-radius: var(--r-card) !important; background: transparent !important; cursor: pointer !important;
  width: 100% !important; text-align: left !important; transition: background .15s !important;
  color: var(--fg) !important; font-family: var(--f-body) !important;
}
.zvs-addon.zvs-addon--active { background: var(--bg-2) !important; }
.zvs-addon__check {
  width: 18px !important; height: 18px !important; border-radius: 5px !important;
  border: 1.5px solid var(--line-color-2) !important; background: transparent !important;
  transition: all .15s !important; display: grid !important; place-items: center !important; flex-shrink: 0 !important;
}
.zvs-addon.zvs-addon--active .zvs-addon__check { background: var(--lime) !important; border-color: var(--lime) !important; }
.zvs-addon__label { font-size: 14px !important; font-weight: 500 !important; }
.zvs-addon__price { font-family: var(--f-mono) !important; font-size: 12px !important; color: var(--fg-mute) !important; white-space: nowrap !important; }

/* ── Trust Grid ──────────────────────────────────────── */
.zvs-trust-grid { display: grid !important; grid-template-columns: repeat(2,1fr) !important; gap: 12px !important; margin-top: 20px !important; padding-top: 20px !important; border-top: 1px solid var(--line-color) !important; }
.zvs-trust-item { display: flex !important; align-items: flex-start !important; gap: 10px !important; }
.zvs-trust-icon { width: 30px !important; height: 30px !important; border-radius: 8px !important; flex-shrink: 0 !important; background: var(--bg-2) !important; border: 1px solid var(--line-color) !important; display: grid !important; place-items: center !important; color: var(--lime) !important; }
.zvs-trust-label { font-size: 13px !important; font-weight: 600 !important; line-height: 1.3 !important; }
.zvs-trust-sub { font-family: var(--f-mono) !important; font-size: 10.5px !important; color: var(--fg-mute) !important; margin-top: 2px !important; }

/* ── Live Preview Strip ──────────────────────────────── */
.zvs-preview-strip { border-top: 1px solid var(--line-color) !important; border-bottom: 1px solid var(--line-color) !important; background: var(--bg-2) !important; grid-column: 1 / -1 !important; margin: 32px -28px 0 !important; padding: 0 !important; }
.zvs-preview-strip__inner { max-width: 1320px !important; margin: 0 auto !important; padding: 40px 28px !important; }
.zvs-preview-strip__top { display: grid !important; grid-template-columns: auto 1fr auto !important; gap: 32px !important; align-items: center !important; margin-bottom: 28px !important; }
.zvs-preview-strip__title { font-family: var(--f-display) !important; font-weight: 700 !important; font-size: 28px !important; letter-spacing: -.03em !important; }
.zvs-preview-browser { border: 1px solid var(--line-color-2) !important; border-radius: var(--r-card) !important; overflow: hidden !important; background: var(--bg) !important; }
.zvs-preview-browser__bar { display: flex !important; align-items: center !important; gap: 8px !important; padding: 10px 14px !important; border-bottom: 1px solid var(--line-color) !important; background: var(--bg-2) !important; }
.zvs-browser-dot { width: 10px !important; height: 10px !important; border-radius: 50% !important; }
.zvs-preview-browser__url { font-family: var(--f-mono) !important; font-size: 12px !important; color: var(--fg-mute) !important; margin-left: 14px !important; }
.zvs-preview-browser__content { aspect-ratio: 21/9 !important; background: var(--ink) !important; }

/* ── Buttons ─────────────────────────────────────────── */
.zvs-btn { display: inline-flex !important; align-items: center !important; gap: 10px !important; padding: 13px 22px !important; font-family: var(--f-body) !important; font-weight: 500 !important; font-size: 14px !important; border-radius: var(--r-btn) !important; border: 1px solid transparent !important; cursor: pointer !important; text-decoration: none !important; transition: all .2s var(--ease-out) !important; white-space: nowrap !important; }
.zvs-btn--ghost { background: transparent !important; color: var(--fg) !important; border-color: var(--line-color-2) !important; }
.zvs-btn--ghost:hover { background: var(--bg-2) !important; }
.zvs-btn--dark { background: var(--ink) !important; color: var(--paper) !important; }
.zvs-btn--dark:hover { transform: translateY(-1px) !important; }
.zvs-mono { font-family: var(--f-mono) !important; font-size: 12px !important; letter-spacing: .02em !important; }

/* ── Tab: Overview ───────────────────────────────────── */
.zvs-tab-overview { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 56px !important; }
.zvs-tab-overview__text h3 { font-family: var(--f-display) !important; font-weight: 700 !important; font-size: 36px !important; letter-spacing: -.03em !important; line-height: 1.05 !important; margin-bottom: 20px !important; }
.zvs-tab-overview__text p { font-size: 16px !important; line-height: 1.6 !important; color: var(--fg-mute) !important; }
.zvs-stat-row { display: grid !important; grid-template-columns: 120px 1fr !important; align-items: baseline !important; gap: 24px !important; padding: 20px 0 !important; border-bottom: 1px solid var(--line-color) !important; }
.zvs-stat-row:first-child { border-top: 1px solid var(--line-color) !important; }
.zvs-stat-n { font-family: var(--f-display) !important; font-weight: 700 !important; font-size: 56px !important; letter-spacing: -.04em !important; line-height: 1 !important; }
.zvs-stat-label { font-size: 15px !important; color: var(--fg-mute) !important; }

/* ── Tab: Specs ──────────────────────────────────────── */
.zvs-specs-dl { display: grid !important; grid-template-columns: 200px 1fr !important; max-width: 920px !important; }
.zvs-specs-dt { font-family: var(--f-mono) !important; font-size: 12px !important; color: var(--fg-mute) !important; padding: 14px 0 !important; border-top: 1px solid var(--line-color) !important; }
.zvs-specs-dd { font-size: 14px !important; padding: 14px 0 !important; border-top: 1px solid var(--line-color) !important; margin: 0 !important; }

/* ── Tab: Changelog ──────────────────────────────────── */
.zvs-changelog-row { display: grid !important; grid-template-columns: 160px 1fr !important; gap: 32px !important; padding: 24px 0 !important; border-top: 1px solid var(--line-color) !important; }
.zvs-changelog-row:last-child { border-bottom: 1px solid var(--line-color) !important; }
.zvs-changelog-v { font-family: var(--f-display) !important; font-weight: 700 !important; font-size: 22px !important; letter-spacing: -.02em !important; }
.zvs-changelog-date { font-family: var(--f-mono) !important; font-size: 11px !important; color: var(--fg-mute) !important; margin-top: 4px !important; }
.zvs-changelog-list { list-style: none !important; display: grid !important; gap: 8px !important; padding: 6px 0 0 !important; margin: 0 !important; }
.zvs-changelog-li { display: grid !important; grid-template-columns: 14px 1fr !important; gap: 12px !important; align-items: baseline !important; font-size: 15px !important; }
.zvs-changelog-dot { width: 4px !important; height: 4px !important; border-radius: 999px !important; margin-top: 8px !important; }

/* ── Tab: FAQ ────────────────────────────────────────── */
.zvs-faq-list { max-width: 820px !important; }
.zvs-faq-item { border-top: 1px solid var(--line-color) !important; }
.zvs-faq-item:last-child { border-bottom: 1px solid var(--line-color) !important; }
.zvs-faq-q {
  width: 100% !important; text-align: left !important; display: grid !important;
  grid-template-columns: 1fr auto !important; align-items: center !important; gap: 16px !important;
  padding: 20px 0 !important; font-family: var(--f-display) !important; font-size: 18px !important;
  font-weight: 600 !important; letter-spacing: -.015em !important; cursor: pointer !important;
  background: transparent !important; border: none !important; color: var(--fg) !important;
}
.zvs-faq-toggle {
  width: 28px !important; height: 28px !important; border-radius: 999px !important;
  border: 1px solid var(--line-color-2) !important; display: grid !important; place-items: center !important;
  transition: transform .25s, background .25s !important; flex-shrink: 0 !important;
}
.zvs-faq-item.zvs-faq--open .zvs-faq-toggle { transform: rotate(45deg) !important; background: var(--lime) !important; color: var(--lime-ink) !important; }
.zvs-faq-a { max-height: 0 !important; overflow: hidden !important; transition: max-height .35s var(--ease-out), padding .35s !important; }
.zvs-faq-item.zvs-faq--open .zvs-faq-a { max-height: 200px !important; padding-bottom: 22px !important; }
.zvs-faq-a p { font-size: 15px !important; line-height: 1.6 !important; color: var(--fg-mute) !important; margin: 0 !important; }


/* ── Standalone Reviews Section ──────────────────── */
.zvs-reviews-section {
  grid-column: 1 / -1 !important;
  border-top: 1px solid var(--line-color) !important;
  padding: 56px 0 !important; margin-top: 0 !important;
}
.zvs-reviews-section__inner { max-width: 1320px; margin: 0 auto; padding: 0 28px; }

/* Grid: 320px aside + fluid reviews list — matches reference */
.zvs-reviews-grid {
  display: grid !important;
  grid-template-columns: 320px 1fr !important;
  gap: 56px !important;
  margin-bottom: 0 !important;
  align-items: start !important;
}
.zvs-reviews-right-col { display: flex; flex-direction: column; }

/* Score panel */
.zvs-reviews-score-panel { position: sticky; top: 100px; }
.zvs-reviews-score-num { font-family: var(--f-display); font-weight: 700; font-size: 64px; letter-spacing: -.04em; line-height: 1; margin-bottom: 8px; }
.zvs-bar-row {
  display: grid; grid-template-columns: 22px 1fr 36px; gap: 8px; align-items: center;
}
/* Clickable bar button variant */
.zvs-bar-row--btn {
  background: none; border: none; padding: 4px 6px; margin: 0 -6px;
  border-radius: var(--r-sm, 8px); cursor: pointer;
  transition: background .15s;
  text-align: left; width: calc(100% + 12px);
  color: var(--fg); /* inherit theme color — browser default is black which is invisible on dark bg */
}
.zvs-bar-row--btn:hover { background: rgba(255,255,255,.07); color: var(--fg); }
.zvs-bar-row--btn.zvs--active {
  background: rgba(180,237,95,.08);
}
.zvs-bar-row--btn.zvs--active .zvs-bar-fill { background: var(--lime); }
.zvs-bar-row--btn.zvs--active span { color: var(--lime) !important; }
/* On mobile: hide the separate filter buttons row (bars do the filtering) */
@media (max-width: 860px) {
  .zvs-reviews-filter { display: none !important; }
}
.zvs-bar-track { height: 4px; border-radius: 999px; background: var(--line-color); overflow: hidden; }
.zvs-bar-fill { height: 100%; background: var(--lime); border-radius: 999px; }
.zvs-write-review-btn {
  display: inline-flex; align-items: center; margin-top: 24px;
  padding: 11px 20px; border-radius: var(--r-btn);
  background: var(--zvs-btn-bg, var(--lime)); color: var(--zvs-btn-color, var(--lime-ink)) !important; text-decoration: none !important;
  border: none; font-size: 14px; font-weight: 500; text-decoration: none; cursor: pointer;
  transition: background .15s, transform .15s, box-shadow .2s;
  box-shadow: 0 1px 0 rgba(255,255,255,.2) inset;
}
.zv-post-content .zvs-write-review-btn,
.zv-post-body .zvs-write-review-btn {
  color: var(--zvs-btn-color, var(--lime-ink)) !important;
}
.zv-post-content .zvs-write-review-btn--ghost,
.zv-post-body .zvs-write-review-btn--ghost {
  color: var(--fg) !important;
}
.zvs-write-review-btn:hover {
  background: var(--zvs-btn-hover-bg, color-mix(in oklch, var(--lime) 85%, black));
  color: var(--zvs-btn-hover-c, var(--lime-ink)) !important;
  transform: translateY(-1px);
}

/* Review cards — matches .review-card in reference */
.zvs-reviews-list { display: grid; gap: 0; }
.zvs-review-card {
  display: grid !important;
  grid-template-columns: 44px 1fr !important;
  gap: 18px !important;
  padding: 20px 0 !important;
  border-top: 1px solid var(--line-color) !important;
}
.zvs-review-card.zvs-hidden { display: none !important; }
.zvs-review-card:last-child { border-bottom: 1px solid var(--line-color) !important; }
.zvs-review-avatar {
  width: 44px !important; height: 44px !important; border-radius: 999px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  font-family: var(--f-display) !important; font-weight: 600 !important; font-size: 15px !important;
  line-height: 1 !important; text-align: center !important;
  color: rgba(255,255,255,.7) !important; flex-shrink: 0 !important;
}
.zvs-review-body { min-width: 0; }
.zvs-review-meta-row { display: flex; align-items: center; gap: 10px; margin-bottom: 4px; flex-wrap: wrap; }
.zvs-review-name { font-family: var(--f-display); font-weight: 600; font-size: 15px; color: var(--fg); }
.zvs-review-title { font-family: var(--f-mono); font-size: 11px; letter-spacing: .08em; color: var(--fg-mute); margin-bottom: 8px; text-transform: uppercase; }
.zvs-review-text { font-size: 15px; line-height: 1.6; color: var(--fg-mute); }
.zvs-review-text p { margin: 0; }
/* Star color in review cards via dashboard var */
.zvs-review-card [style*="var(--lime)"] { color: var(--zvs-star, var(--lime)) !important; }

/* Review form — hidden until triggered via "Write a review" button */
.zvs-review-form-wrap {
  overflow: hidden !important;
  max-height: 0 !important;
  opacity: 0 !important;
  transition: max-height .45s cubic-bezier(.4,0,.2,1), opacity .3s ease !important;
}
.zvs-review-form-wrap.zvs--open {
  max-height: 900px !important;
  opacity: 1 !important;
}
.zvs-review-form-inner { padding-top: 40px; }
/* Login prompt — shown to logged-out users */
.zvs-review-login-prompt { padding-top: 40px; border-top: 1px solid var(--line-color); margin-top: 8px; }
/* Ghost variant — secondary action (Create account) */
.zvs-write-review-btn--ghost {
  background: var(--bg-2) !important;
  color: var(--fg) !important;
  box-shadow: none !important;
  border: 1px solid var(--line-color-2) !important;
}
.zvs-write-review-btn--ghost:hover,
.zv-post-content .zvs-write-review-btn--ghost:hover,
.zv-post-body .zvs-write-review-btn--ghost:hover {
  background: var(--bg-3) !important;
  color: var(--fg) !important;
  transform: translateY(-1px);
}
.zvs-form-title { font-family: var(--f-display); font-weight: 700; font-size: 22px; letter-spacing: -.025em; margin-bottom: 24px; }
.zvs-review-form-wrap .comment-respond { max-width: 640px; }
/* Use flex + order to visually reorder: stars → name → email → textarea
   comment_form() always outputs comment_field (textarea) first in the DOM */
.zvs-review-form-wrap form.comment-form {
  display: flex !important; flex-direction: column !important;
}
.zvs-review-form-wrap .comment-form-rating  { order: 1 !important; }
.zvs-review-form-wrap .comment-form-author  { order: 2 !important; }
.zvs-review-form-wrap .comment-form-email   { order: 3 !important; }
.zvs-review-form-wrap .comment-form-comment { order: 4 !important; }
.zvs-review-form-wrap .form-submit          { order: 5 !important; }
.zvs-review-form-wrap p { margin-bottom: 16px; }
.zvs-review-form-wrap label { display: block; font-family: var(--f-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--fg-mute); margin-bottom: 8px; }
.zvs-review-form-wrap input[type="text"],
.zvs-review-form-wrap input[type="email"],
.zvs-review-form-wrap textarea {
  background: var(--bg-2) !important; border: 1px solid var(--line-color-2) !important; border-radius: var(--r-sm) !important;
  color: var(--fg) !important; padding: 12px 16px !important; font-family: var(--f-body) !important; font-size: 14px !important; width: 100% !important;
  transition: border-color .15s !important; display: block !important;
}
/* Suppress WC default .stars block inside our form — we use .zvs-star-picker */
.zvs-review-form-wrap p.stars { display: none !important; }
.zvs-review-form-wrap input:focus, .zvs-review-form-wrap textarea:focus { border-color: var(--zvs-accent, var(--lime)) !important; outline: none !important; }
/* Star picker */
.zvs-star-field label { margin-bottom: 10px; }
.zvs-star-picker { display: flex; gap: 4px; margin-bottom: 4px; }
.zvs-star-pick {
  font-size: 24px; cursor: pointer; color: var(--line-color-2); line-height: 1;
  transition: color .1s, transform .1s; user-select: none;
}
.zvs-star-pick:hover,
.zvs-star-pick.zvs--active { color: var(--zvs-star, var(--lime)); }
.zvs-star-pick:hover { transform: scale(1.15); }
/* Submit — use dashboard vars */
.zvs-review-form-wrap .zvs-submit-btn,
.zvs-review-form-wrap input[type="submit"],
.zvs-review-form-wrap .form-submit input {
  background: var(--zvs-btn-bg, var(--lime)) !important;
  color: var(--zvs-btn-color, var(--lime-ink)) !important;
  border: none !important; padding: 13px 28px !important; border-radius: var(--r-btn) !important;
  font-family: var(--f-body) !important; font-size: 14px !important; font-weight: 500 !important; cursor: pointer !important;
  transition: transform .15s, background .15s !important;
}
.zvs-review-form-wrap .zvs-submit-btn:hover,
.zvs-review-form-wrap input[type="submit"]:hover {
  background: var(--zvs-btn-hover-bg, color-mix(in oklch, var(--lime) 85%, black)) !important;
  color: var(--zvs-btn-hover-c, var(--lime-ink)) !important;
  transform: translateY(-1px) !important;
}
@media (max-width: 860px) {
  /* On mobile: remove post-content side padding so reviews can go full width */
  body.single-product.zvs-active .zv-post-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  /* Product grid gets its own side padding instead */
  .zvs-active div.product {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  /* Reviews section: full viewport width */
  .zvs-reviews-section {
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .zvs-reviews-section__inner {
    padding: 0 20px !important;
  }
  /* Reviews grid: single column */
  .zvs-reviews-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
  }
  .zvs-reviews-grid > * {
    width: 100% !important; max-width: 100% !important; min-width: 0 !important;
  }
  .zvs-reviews-score-panel { position: static !important; }
  .zvs-reviews-score-num { font-size: 40px !important; }

  /* Filter: All on full-width top row, all star buttons in one row below */
  .zvs-reviews-filter {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin-bottom: 20px !important;
  }
  /* All button: full width on its own row */
  .zvs-filter-btn[data-filter="0"] {
    width: 100% !important;
    text-align: center !important;
    padding: 10px 14px !important;
    font-size: 13px !important;
  }
  /* Star buttons: all in one row using flex:1 with max-width cap */
  .zvs-filter-btn:not([data-filter="0"]) {
    flex: 1 1 0 !important;
    text-align: center !important;
    padding: 8px 4px !important;
    font-size: 12px !important;
    min-width: 0 !important;
    white-space: nowrap !important;
  }

  /* Review cards: full width, avatar inline with name */
  .zvs-review-card {
    display: block !important; /* drop grid, use block flow */
    padding: 16px 0 !important;
  }
  /* Put avatar + meta-row on one line */
  .zvs-review-card .zvs-review-avatar {
    display: inline-flex !important;
    width: 32px !important; height: 32px !important; font-size: 12px !important;
    vertical-align: middle !important; margin-right: 8px !important;
    flex-shrink: 0 !important;
  }
  .zvs-review-card .zvs-review-meta-row {
    display: inline-flex !important; align-items: center !important;
    gap: 8px !important; flex-wrap: wrap !important;
    width: calc(100% - 40px) !important; vertical-align: middle !important;
  }
  .zvs-review-body {
    display: block !important; width: 100% !important; min-width: 0 !important;
    margin-top: 10px !important;
  }
  .zvs-review-text { font-size: 14px !important; line-height: 1.6 !important; }
}

/* ── Reviews: star filter + pagination ──────────────── */
.zvs-reviews-filter {
  display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 20px;
}
.zvs-filter-btn {
  background: var(--bg-3); color: var(--fg-mute);
  border: 1px solid var(--line-color-2); border-radius: var(--r-btn);
  padding: 5px 12px; font-family: var(--f-mono); font-size: 11px;
  font-weight: 500; letter-spacing: .06em; cursor: pointer;
  transition: all .15s;
}
.zvs-filter-btn:hover { color: var(--fg); border-color: var(--fg-mute); }
.zvs-filter-btn--active {
  background: var(--zvs-accent, var(--lime)); color: var(--lime-ink) !important;
  border-color: transparent !important;
}
.zvs-reviews-pagination {
  display: flex; gap: 4px; align-items: center;
  margin-top: 20px; flex-wrap: wrap;
}
.zvs-page-btn {
  background: var(--bg-3); color: var(--fg-mute);
  border: 1px solid var(--line-color-2); border-radius: var(--r-btn);
  padding: 6px 12px; font-family: var(--f-mono); font-size: 12px;
  cursor: pointer; transition: all .15s; min-width: 36px;
}
.zvs-page-btn:hover:not(:disabled) { color: var(--fg); border-color: var(--fg-mute); }
.zvs-page-btn--active { background: var(--bg-2); color: var(--fg) !important; border-color: var(--line-color-2) !important; }
.zvs-page-btn:disabled { opacity: .3; cursor: not-allowed; }

/* ── Nav: Account + Cart Buttons ─────────────────── */
/* Header Builder wc_account element */
.zvhb-fe-wc-account {
  display: inline-flex !important; align-items: center !important; gap: 7px !important;
  text-decoration: none !important; transition: opacity .15s !important;
}
.zvhb-fe-wc-account:hover { opacity: .75 !important; }
/* Header Builder wc_cart element */
.zvhb-fe-wc-cart {
  position: relative !important; display: inline-flex !important; align-items: center !important;
  justify-content: center !important; text-decoration: none !important; transition: opacity .15s !important;
  width: 36px !important; height: 36px !important;
}
.zvhb-fe-wc-cart:hover { opacity: .75 !important; }
.zvhb-fe-wc-cart__count {
  position: absolute !important; top: -5px !important; right: -6px !important;
  min-width: 17px !important; height: 17px !important; padding: 0 4px !important;
  border-radius: 999px !important; font-size: 10px !important; font-weight: 700 !important;
  display: grid !important; place-items: center !important; line-height: 1 !important;
}
.zvs-nav-injected { display: flex !important; align-items: center !important; gap: 8px !important; }

/* ═══ 11 · RESPONSIVE ══════════════════════════════════ */

@media (max-width: 1024px) {
  .zvs-active div.product { grid-template-columns: 1fr; }
  .zvs-active div.product div.images { position: relative; } /* keep badge anchored to image area, not div.product */
  .zvs-active div.product .woocommerce-tabs { grid-column: auto; }
  .zvs-active .related.products, .zvs-active .upsells.products,
  .zvs-active section.related, .zvs-active section.upsells { grid-column: auto; }
  .zvs-trust-grid { grid-template-columns: 1fr 1fr !important; }
  .zvs-tab-overview { grid-template-columns: 1fr !important; gap: 32px !important; }
  .zvs-active #reviews { grid-template-columns: 1fr !important; gap: 32px !important; }
  .zvs-preview-strip { margin-left: 0 !important; margin-right: 0 !important; }
  .zvs-preview-strip__top { grid-template-columns: 1fr !important; gap: 16px !important; }
  .zvs-changelog-row { grid-template-columns: 1fr !important; gap: 12px !important; }
  .zvs-related.products ul.products,
  .zvs-active .related.products ul.products,
  .zvs-active section.related ul.products { grid-template-columns: repeat(3, 1fr) !important; }
}

@media (max-width: 768px) {
  .zvs-active ul.products { grid-template-columns: repeat(2, 1fr) !important; }
  .zvs-active .related.products ul.products,
  .zvs-active section.related ul.products { grid-template-columns: repeat(2, 1fr) !important; }
  .zvs-cart-style-modern table.cart { display: block; }
  .zvs-cart-style-modern table.cart thead { display: none; }
  .zvs-cart-style-modern table.cart tbody { display: grid; }
  .zvs-cart-style-modern table.cart tr {
    display: grid; grid-template-columns: 64px 1fr auto;
    gap: 12px; padding: 16px; border-bottom: 1px solid var(--line-color);
  }
  .zvs-cart-style-modern table.cart td { padding: 0; border: none; background: transparent; }
  .zvs-trust-grid { grid-template-columns: 1fr !important; }
  .zvs-specs-dl { grid-template-columns: 140px 1fr !important; }
  .zvs-stat-n { font-size: 42px !important; }
  .zvs-active .woocommerce form .form-row-first,
  .zvs-active .woocommerce form .form-row-last { width: 100%; float: none; }
  .zvs-active .woocommerce-order-received .woocommerce-order-overview { flex-direction: column; }
  .zvs-active .woocommerce-order-received .woocommerce-order-overview li { border-right: none; border-bottom: 1px solid var(--line-color); }
}

@media (max-width: 480px) {
  .zvs-active ul.products { grid-template-columns: 1fr !important; }
  .zvs-active div.product p.price .woocommerce-Price-amount { font-size: 32px !important; }
  .zvs-specs-dl { grid-template-columns: 1fr !important; }
  .zvs-specs-dt { border-top: none !important; padding-bottom: 0 !important; }
  .zvs-faq-q { font-size: 16px !important; }
  .zvs-preview-browser__content { aspect-ratio: 16/9 !important; }
  .zvs-subtitle { font-size: 22px !important; }
}

/* ═══ WC GUTENBERG BLOCK GRID ══════════════════════════════
   Targets .wc-block-grid__product (used in Cart/empty-state
   "Neu im Shop" block and similar Gutenberg product blocks).
   Mirrors the loop card design exactly.
   ══════════════════════════════════════════════════════════ */
.zvs-active .wc-block-grid__products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
  list-style: none !important; padding: 0 !important; margin: 0 !important;
}
.zvs-active .wc-block-grid__product {
  background: var(--bg-2) !important;
  border-radius: var(--r-card) !important;
  border: 1px solid var(--line-color) !important;
  overflow: hidden !important;
  display: flex !important; flex-direction: column !important;
  transition: transform .2s var(--ease-out), box-shadow .2s !important;
  position: relative !important;
  /* Override WC Block's own flex constraints */
  flex: none !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
.zvs-active .wc-block-grid__product:hover { transform: translateY(-2px) !important; box-shadow: 0 8px 32px rgba(0,0,0,.35) !important; }
/* Sale badge */
.zvs-active .wc-block-grid__product-onsale {
  position: absolute !important; top: 10px !important; left: 10px !important; z-index: 2 !important;
  background: var(--zvs-sale-bg, var(--lime)) !important; color: var(--zvs-sale, var(--lime-ink)) !important;
  font-family: var(--f-mono) !important; font-size: 10px !important; font-weight: 700 !important;
  padding: 3px 9px !important; border-radius: 999px !important; letter-spacing: .06em !important;
  text-transform: uppercase !important; line-height: 1.4 !important;
}
.zvs-active .wc-block-grid__product-onsale .screen-reader-text { display: none !important; }
/* Image area */
.zvs-active .wc-block-grid__product-link { display: block !important; text-decoration: none !important; }
.zvs-active .wc-block-grid__product-image a { display: block !important; }
.zvs-active .wc-block-grid__product-image img { width: 100% !important; height: auto !important; display: block !important; }
/* Title */
.zvs-active .wc-block-grid__product-title {
  font-family: var(--f-display) !important; font-weight: 700 !important; font-size: 15px !important;
  padding: 12px 16px 4px !important; line-height: 1.3 !important; color: var(--fg) !important;
  text-decoration: none !important; display: block !important;
}
/* Price */
.zvs-active .wc-block-grid__product-price {
  padding: 0 16px 8px !important; font-size: 15px !important;
  color: var(--zvs-price, var(--lime)) !important; display: block !important;
}
.zvs-active .wc-block-grid__product-price del {
  color: var(--fg-mute) !important; font-size: 13px !important;
  text-decoration: line-through !important; margin-right: 4px !important;
}
.zvs-active .wc-block-grid__product-price del .woocommerce-Price-amount { color: var(--fg-mute) !important; }
.zvs-active .wc-block-grid__product-price ins { text-decoration: none !important; }
/* Rating */
.zvs-active .wc-block-grid__product-rating { padding: 0 16px 0 !important; }
.zvs-active .wc-block-grid__product-rating .star-rating {
  margin: 0 !important; padding: 0 !important; float: none !important;
  display: block !important; font-size: 12px !important; width: 5.4em !important;
}
.zvs-active .wc-block-grid__product-rating .star-rating span::before { color: var(--zvs-star, var(--lime)) !important; }
/* ATC button */
.zvs-active .wc-block-grid__product-add-to-cart { padding: 8px 12px 14px !important; margin-top: auto !important; }
.zvs-active .wc-block-grid__product-add-to-cart .wp-block-button__link,
.zvs-active .wc-block-grid__product-add-to-cart a {
  background: var(--bg-3) !important; color: var(--fg) !important;
  border: 1px solid var(--line-color-2) !important; border-radius: var(--r-btn) !important;
  padding: 11px 16px !important; width: 100% !important; text-align: center !important;
  font-family: var(--f-body) !important; font-size: 13px !important; font-weight: 500 !important;
  transition: all .15s !important; display: block !important; text-decoration: none !important;
  box-sizing: border-box !important;
}
.zvs-active .wc-block-grid__product-add-to-cart .wp-block-button__link:hover,
.zvs-active .wc-block-grid__product-add-to-cart a:hover {
  background: var(--zvs-btn-bg, var(--lime)) !important;
  color: var(--zvs-btn-color, var(--lime-ink)) !important;
  border-color: transparent !important;
}
@media (max-width: 860px) {
  .zvs-active .wc-block-grid__products { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 480px) {
  .zvs-active .wc-block-grid__products { grid-template-columns: 1fr !important; }
}

/* ── Eyebrow *muted* markdown syntax ───────────────── */
.zvs-eyebrow .zvs-eyebrow-muted {
  color: var(--fg-mute) !important;
  font-weight: 300 !important;
  opacity: .7;
}

/* ── Share buttons — theme-styled ───────────────────── */
.zvs-active .zv-sharing { margin: 24px 0 !important; }
.zvs-active .zv-sharing a,
.zvs-active .zv-sharing button {
  background: var(--bg-3) !important;
  color: var(--fg) !important;
  border: 1px solid var(--line-color-2) !important;
  border-radius: var(--r-btn) !important;
  padding: 6px 14px !important;
  font-size: 12px !important;
  font-family: var(--f-mono) !important;
  font-weight: 500 !important;
  letter-spacing: .04em !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all .15s !important;
}
.zvs-active .zv-sharing a:hover,
.zvs-active .zv-sharing button:hover {
  background: var(--bg-2) !important;
  border-color: var(--fg-mute) !important;
  color: var(--fg) !important;
}

/* ═══════════════════════════════════════════════════════
   WC BLOCKS CART — Full Restyle
   ═══════════════════════════════════════════════════════ */

/* ── Layout: force nowrap flex, sidebar right ── */
.zvs-cart-style-modern .wc-block-components-sidebar-layout.wc-block-cart {
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: 40px !important;
  max-width: 1320px;
  margin: 0 auto;
}
.zvs-cart-style-modern .wc-block-cart__main {
  flex: 1 1 0 !important;
  min-width: 0 !important;
}
.zvs-cart-style-modern .wc-block-cart__sidebar {
  flex: 0 0 380px !important;
  width: 380px !important;
  position: sticky !important;
  top: 100px !important;
  align-self: flex-start !important;
}

/* ── Cart items table header ── */
.zvs-cart-style-modern .wc-block-cart-items__header {
  border-bottom: 1px solid var(--line-color);
  padding: 0 0 10px 0;
}
.zvs-cart-style-modern .wc-block-cart-items__header-product,
.zvs-cart-style-modern .wc-block-cart-items__header-total {
  font-family: var(--f-mono);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--fg-mute);
}

/* ── Cart item row ── */
.zvs-cart-style-modern .wc-block-cart-items__row {
  border-bottom: 1px solid var(--line-color);
  padding: 20px 0;
  align-items: center;
}

/* ── Thumbnail ── */
.zvs-cart-style-modern .wc-block-cart-item__image img {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: var(--r-sm);
  border: 1px solid var(--line-color);
}

/* ── Product name ── */
.zvs-cart-style-modern .wc-block-components-product-name,
.zvs-cart-style-modern .wc-block-components-product-name a {
  font-family: var(--f-display);
  font-weight: 600;
  font-size: 15px;
  color: var(--fg);
  text-decoration: none;
}
.zvs-cart-style-modern .wc-block-components-product-name a:hover { color: var(--lime); }

/* ── Product sub-price ── */
.zvs-cart-style-modern .wc-block-cart-item__prices .price,
.zvs-cart-style-modern .wc-block-cart-item__prices .wc-block-components-product-price {
  font-family: var(--f-display);
  font-size: 13px;
  font-weight: 500;
  color: var(--fg-mute);
}

/* ── Variation / addon meta ── */
.zvs-cart-style-modern .wc-block-components-product-details__name {
  font-family: var(--f-mono);
  font-size: 11px;
  color: var(--fg-mute);
  text-transform: uppercase;
  letter-spacing: .06em;
}
.zvs-cart-style-modern .wc-block-components-product-details__value {
  font-family: var(--f-display);
  font-size: 12px;
  color: var(--fg-mute);
}

/* ── Quantity selector ── */
.zvs-cart-style-modern .wc-block-components-quantity-selector {
  display: flex;
  align-items: center;
  border: 1px solid var(--line-color-2);
  border-radius: var(--r-btn);
  overflow: hidden;
  background: var(--bg-2);
  width: fit-content;
}
.zvs-cart-style-modern .wc-block-components-quantity-selector__input {
  background: transparent;
  border: none;
  color: var(--fg);
  font-family: var(--f-mono);
  font-size: 14px;
  font-weight: 500;
  width: 40px;
  text-align: center;
  padding: 0;
  -moz-appearance: textfield;
  box-shadow: none !important;
}
.zvs-cart-style-modern .wc-block-components-quantity-selector__input::-webkit-outer-spin-button,
.zvs-cart-style-modern .wc-block-components-quantity-selector__input::-webkit-inner-spin-button { -webkit-appearance: none; }
.zvs-cart-style-modern .wc-block-components-quantity-selector__button {
  background: transparent;
  border: none;
  color: var(--fg-mute);
  font-size: 16px;
  width: 34px;
  height: 38px;
  cursor: pointer;
  transition: color .15s, background .15s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.zvs-cart-style-modern .wc-block-components-quantity-selector__button:hover {
  color: var(--fg);
  background: var(--bg-3);
}

/* ── Remove link ── */
.zvs-cart-style-modern .wc-block-cart-item__remove-link a {
  font-family: var(--f-mono);
  font-size: 11px;
  letter-spacing: .04em;
  color: var(--fg-mute-2);
  text-decoration: none;
  text-transform: uppercase;
  transition: color .15s;
  margin-top: 8px;
  display: inline-block;
}
.zvs-cart-style-modern .wc-block-cart-item__remove-link a:hover { color: #ef4444; }

/* ── Line total ── */
.zvs-cart-style-modern .wc-block-cart-item__total .wc-block-formatted-money-amount {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 16px;
  color: var(--fg);
}

/* ── Sidebar card ── */
.zvs-cart-style-modern .wc-block-cart__sidebar {
  background: var(--bg-2);
  border: 1px solid var(--line-color);
  border-radius: var(--r-card);
  padding: 28px;
}
.zvs-cart-style-modern .wc-block-cart__totals-title h2 {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 18px;
  letter-spacing: -.02em;
  color: var(--fg);
  margin-bottom: 20px;
}

/* ── Totals rows ── */
.zvs-cart-style-modern .wc-block-components-totals-item {
  border-top: 1px solid var(--line-color);
  border-bottom: none !important;
  padding: 14px 0;
}
/* Coupon panel: no double border */
.zvs-cart-style-modern .wc-block-components-totals-coupon {
  border-top: none !important;
  padding-top: 0 !important;
}
/* Kill any WC-injected HR or extra borders in sidebar */
.zvs-cart-style-modern .wc-block-cart__sidebar hr,
.zvs-cart-style-modern .wc-block-components-totals-item + .wc-block-components-totals-item {
  border-top: 1px solid var(--line-color) !important;
}
.zvs-cart-style-modern .wc-block-cart__sidebar .wc-block-components-panel {
  border-top: none !important;
  border-bottom: 1px solid var(--line-color) !important;
  padding-bottom: 4px !important;
}
.zvs-cart-style-modern .wc-block-components-totals-item__label {
  font-family: var(--f-display);
  font-size: 14px;
  color: var(--fg-mute);
}
.zvs-cart-style-modern .wc-block-components-totals-item__value {
  font-family: var(--f-display);
  font-weight: 600;
  font-size: 15px;
  color: var(--fg);
}
.zvs-cart-style-modern .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-weight: 700;
  font-size: 16px;
  color: var(--fg);
}
.zvs-cart-style-modern .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -.02em;
  color: var(--lime);
}

/* ── Coupon panel ── */
.zvs-cart-style-modern .wc-block-components-panel__button {
  font-family: var(--f-display);
  font-size: 13px;
  color: var(--fg-mute);
  background: none;
  border: none;
  cursor: pointer;
  padding: 10px 0;
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  transition: color .15s;
}
.zvs-cart-style-modern .wc-block-components-panel__button:hover { color: var(--fg); }

/* ── Proceed to checkout button ── */
.zvs-cart-style-modern .wc-block-cart__submit-container {
  margin-top: 20px;
}
/* Fix WC sticky button glow — WC uses --wp-preset--color--background (white) for the fade.
   Override it to our dark bg so the ::before gradient doesn't glow white. */
.zvs-cart-style-modern {
  --wp--preset--color--background: var(--bg);
}
.zvs-cart-style-modern .wc-block-cart__submit-container::before {
  background: linear-gradient(to top, var(--bg) 0%, transparent 100%) !important;
}
.zvs-cart-style-modern .wc-block-cart__submit-container .wc-block-components-button {
  width: 100% !important;
  background: var(--zvs-btn-bg, var(--lime)) !important;
  color: var(--zvs-btn-color, var(--lime-ink)) !important;
  border: none !important;
  border-radius: var(--r-btn) !important;
  font-family: var(--f-display) !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  padding: 14px 24px !important;
  cursor: pointer;
  transition: filter .15s, transform .15s;
  text-decoration: none !important;
  display: block !important;
}
.zvs-cart-style-modern .wc-block-cart__submit-container .wc-block-components-button:hover {
  filter: brightness(1.1) !important;
  transform: translateY(-1px) !important;
}


/* ── Coupon field styling ────────────────────────────────── */
.zvs-cart-style-modern .wc-block-components-totals-coupon {
  background: var(--bg-2) !important;
  border-radius: var(--r-card) !important;
  padding: 16px !important;
  margin-bottom: 12px !important;
  border: 1px solid var(--line-color) !important;
}
.zvs-cart-style-modern .wc-block-components-totals-coupon__form {
  display: flex !important;
  gap: 8px !important;
  margin-top: 10px !important;
}
.zvs-cart-style-modern .wc-block-components-totals-coupon input[type="text"] {
  flex: 1 !important;
  background: var(--bg-3) !important;
  border: 1px solid var(--line-color-2) !important;
  border-radius: 8px !important;
  color: var(--fg) !important;
  padding: 10px 12px !important;
  font-size: 14px !important;
  font-family: var(--f-body) !important;
  -webkit-appearance: none !important;
}
.zvs-cart-style-modern .wc-block-components-totals-coupon input[type="text"]::placeholder {
  color: var(--fg-mute) !important;
}
.zvs-cart-style-modern .wc-block-components-totals-coupon button {
  background: var(--lime) !important;
  color: var(--lime-ink) !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 10px 16px !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  font-family: var(--f-body) !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  -webkit-appearance: none !important;
  transition: filter .15s !important;
}
.zvs-cart-style-modern .wc-block-components-totals-coupon button:hover {
  filter: brightness(1.1) !important;
}

/* ── Cross-sells section ── */
.zvs-cart-style-modern .wp-block-woocommerce-product-collection h2,
.zvs-cart-style-modern .wc-block-cart__main .wp-block-woocommerce-product-collection h2 {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 20px;
  letter-spacing: -.02em;
  margin: 40px 0 20px;
}

/* ── Responsive ── */
@media (max-width: 768px) {
  /* Layout: sidebar (coupon+totals) ABOVE cart items and cross-sells */
  .zvs-cart-style-modern .wc-block-components-sidebar-layout.wc-block-cart {
    display: flex !important;
    flex-direction: column !important;
  }
  .zvs-cart-style-modern .wc-block-cart__sidebar {
    order: 1 !important;
    flex: none !important;
    width: 100% !important;
    position: static !important;
    margin-top: 0 !important;
    margin-bottom: 16px !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid var(--line-color) !important;
  }
  /* Cart items + cross-sells below */
  .zvs-cart-style-modern .wc-block-cart__main {
    order: 2 !important;
  }

  /* Prevent horizontal overflow */
  .zvs-cart-style-modern .wc-block-components-sidebar-layout,
  .zvs-cart-style-modern .wc-block-cart,
  .zvs-cart-style-modern .wp-block-woocommerce-cart {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  /* Row: image | product | total — 3-col grid */
  .zvs-cart-style-modern .wc-block-cart-items__row {
    display: grid !important;
    grid-template-columns: 72px 1fr auto !important;
    gap: 0 12px !important;
    align-items: start !important;
    padding: 16px 0 !important;
    max-width: 100% !important;
  }

  .zvs-cart-style-modern .wc-block-cart-item__image {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 72px !important;
  }
  .zvs-cart-style-modern .wc-block-cart-item__image img {
    width: 72px !important;
    height: 72px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    display: block !important;
  }

  .zvs-cart-style-modern .wc-block-cart-item__product {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
  }
  .zvs-cart-style-modern .wc-block-cart-item__wrap {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
  }

  /* Hide per-unit price — row total is shown in the third column */
  .zvs-cart-style-modern .wc-block-cart-item__prices {
    display: none !important;
  }

  /* Total: third column, price + sale badge stacked */
  .zvs-cart-style-modern .wc-block-cart-item__total {
    grid-column: 3 !important;
    grid-row: 1 !important;
    align-self: start !important;
    padding: 0 !important;
    max-width: 100px !important;
    text-align: right !important;
  }
  .zvs-cart-style-modern .wc-block-cart-item__total-price-and-sale-badge-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 4px !important;
  }
  .zvs-cart-style-modern .wc-block-components-product-badge {
    font-size: 10px !important;
    padding: 2px 6px !important;
    white-space: nowrap !important;
    text-align: right !important;
  }
}

/* ── Cart item row ── */
.zvs-cart-style-modern .wc-block-cart-items__row td {
  padding: 18px 12px 18px 0 !important;
  vertical-align: middle !important;
  border-bottom: 1px solid var(--line-color) !important;
  background: transparent !important;
}
.zvs-cart-style-modern .wc-block-cart-items__row td.wc-block-cart-item__image {
  padding-right: 16px !important;
  width: 88px !important;
}
.zvs-cart-style-modern .wc-block-cart-items__row td.wc-block-cart-item__total {
  padding-right: 0 !important;
  padding-bottom: 14px !important;
  text-align: right !important;
  white-space: nowrap;
  vertical-align: top !important;
}

/* Image: align top with product name */
.zvs-cart-style-modern .wc-block-cart-items__row td.wc-block-cart-item__image {
  vertical-align: top !important;
  padding-top: 20px !important;
  padding-bottom: 14px !important;
}

/* Row bottom padding */
.zvs-cart-style-modern .wc-block-cart-items__row td.wc-block-cart-item__product {
  padding-bottom: 14px !important;
}

/* Pay price: lime */
.zvs-cart-style-modern .wc-block-cart-item__total .wc-block-components-product-price .wc-block-formatted-money-amount {
  color: var(--lime) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
}

/* Spare badge: muted pill */
.zvs-cart-style-modern .wc-block-components-sale-badge {
  background: var(--bg-3) !important;
  color: var(--fg-mute) !important;
  font-family: var(--f-mono) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: .04em !important;
  border-radius: 4px !important;
  padding: 2px 5px !important;
  margin-top: 4px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
}

/* Qty selector: compact */
.zvs-cart-style-modern .wc-block-components-quantity-selector {
  height: 32px !important;
}
.zvs-cart-style-modern .wc-block-components-quantity-selector__button {
  height: 32px !important;
  width: 30px !important;
}
.zvs-cart-style-modern .wc-block-components-quantity-selector__input {
  height: 32px !important;
  padding: 0 !important;
  line-height: 32px !important;
}

/* Qty area: less top gap */
.zvs-cart-style-modern .wc-block-cart-item__quantity {
  margin-top: 8px !important;
}

/* ══════════════════════════════════════════════════
   CROSS-SELLS — pixel-perfect match to .zvs-card
   ══════════════════════════════════════════════════ */

.zvs-cart-style-modern .wc-block-product-template {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Card shell */
.zvs-cart-style-modern .wc-block-product-template li {
  background: var(--bg-2) !important;
  border: 1px solid var(--line-color) !important;
  border-radius: var(--r-card) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  list-style: none !important;
  padding: 0 !important;
  transition: transform var(--dur-base, .25s) var(--ease-out), box-shadow var(--dur-base, .25s), border-color var(--dur-base, .25s) !important;
}
.zvs-cart-style-modern .wc-block-product-template li:hover {
  transform: translateY(-3px) !important;
  box-shadow: var(--sh-card, 0 20px 50px -20px rgba(0,0,0,.25)) !important;
  border-color: var(--line-color-2) !important;
}

/* Image wrapper — position:relative for badge */
.zvs-cart-style-modern .wc-block-product-template li .wc-block-components-product-image {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 3/4 !important;
  overflow: hidden !important;
  background: var(--bg-3) !important;
  position: relative !important;
  flex-shrink: 0 !important;
}
.zvs-cart-style-modern .wc-block-product-template li .wc-block-components-product-image a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}
.zvs-cart-style-modern .wc-block-product-template li .wc-block-components-product-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform var(--dur-slow, .5s) var(--ease-out) !important;
}
.zvs-cart-style-modern .wc-block-product-template li:hover .wc-block-components-product-image img {
  transform: scale(1.04) !important;
}

/* Sale badge — absolute on image, top-left like shop */
.zvs-cart-style-modern .wc-block-product-template li .wc-block-components-product-sale-badge {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  right: auto !important;
  z-index: 2 !important;
  background: var(--lime) !important;
  color: var(--lime-ink, #0A0B0F) !important;
  font-family: var(--f-mono) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  border-radius: 999px !important;
  padding: 3px 9px !important;
  line-height: 1.4 !important;
  display: inline-block !important;
}
/* WC Blocks wraps badge in extra div — move that into position too */
.zvs-cart-style-modern .wc-block-product-template li .wc-block-components-product-image__inner-container {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none !important;
}
.zvs-cart-style-modern .wc-block-product-template li .wp-block-woocommerce-product-sale-badge {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  right: auto !important;
}

/* Title */
.zvs-cart-style-modern .wc-block-product-template li h2.wp-block-post-title {
  font-family: var(--f-display) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: -.015em !important;
  line-height: 1.25 !important;
  color: var(--fg) !important;
  text-align: left !important;
  padding: 12px 16px 0 !important;
  margin: 0 !important;
  display: block !important;
}
.zvs-cart-style-modern .wc-block-product-template li h2.wp-block-post-title a {
  color: var(--fg) !important;
  text-decoration: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: inline !important;
}
.zvs-cart-style-modern .wc-block-product-template li h2.wp-block-post-title a:hover { color: var(--lime) !important; }

/* Price */
.zvs-cart-style-modern .wc-block-product-template li .wc-block-components-product-price {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  gap: 4px !important;
  font-family: var(--f-display) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--lime) !important;
  padding: 6px 16px 0 !important;
  margin: 0 !important;
  text-align: left !important;
}
.zvs-cart-style-modern .wc-block-product-template li .wc-block-components-product-price del {
  display: inline !important;
  margin: 0 !important;
  color: var(--fg-mute) !important;
  opacity: .6 !important;
  font-weight: 400 !important;
  font-size: 13px !important;
  text-decoration: line-through !important;
}
.zvs-cart-style-modern .wc-block-product-template li .wc-block-components-product-price ins {
  display: inline !important;
  margin: 0 !important;
  text-decoration: none !important;
}
.zvs-cart-style-modern .wc-block-product-template li .wc-block-components-product-price .screen-reader-text {
  display: none !important;
}

/* ATC button wrapper */
.zvs-cart-style-modern .wc-block-product-template li .wp-block-button {
  padding: 12px 16px 16px !important;
  margin: auto 0 0 !important;
  display: block !important;
  box-sizing: border-box !important;
}

/* ATC button — exact shop match */
.zvs-cart-style-modern .wc-block-product-template li .wp-block-button__link,
.zvs-cart-style-modern .wc-block-product-template li .add_to_cart_button,
.zvs-cart-style-modern .wc-block-product-template li .wc-block-components-product-button__button {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 11px 0 !important;
  border-radius: var(--r-btn) !important;
  background: transparent !important;
  border: 1px solid var(--line-color-2) !important;
  color: var(--fg) !important;
  font-family: var(--f-body) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  transition: all .15s var(--ease-out) !important;
}
/* Hover — lime fill like shop */
.zvs-cart-style-modern .wc-block-product-template li .wp-block-button__link:hover,
.zvs-cart-style-modern .wc-block-product-template li .add_to_cart_button:hover,
.zvs-cart-style-modern .wc-block-product-template li .wc-block-components-product-button__button:hover {
  background: var(--lime) !important;
  color: var(--lime-ink) !important;
  border-color: transparent !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 22px -10px oklch(0.88 0.18 128 / 0.6) !important;
}

/* Section heading */
.zvs-cart-style-modern .wp-block-woocommerce-product-collection .wp-block-heading {
  font-family: var(--f-display) !important;
  font-weight: 700 !important;
  font-size: 20px !important;
  letter-spacing: -.02em !important;
  color: var(--fg) !important;
  margin: 40px 0 20px !important;
  text-align: left !important;
}

/* Responsive */
@media (max-width: 640px) {
  .zvs-cart-style-modern .wc-block-product-template {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* Kill WC Blocks auto-margins on cross-sell card children */
.zvs-cart-style-modern .wc-block-product-template li .wc-block-components-product-image { margin: 0 !important; }
.zvs-cart-style-modern .wc-block-product-template li [class*="wp-block-woocommerce-product-price"] { margin: 0 !important; text-align: left !important; }
.zvs-cart-style-modern .wc-block-product-template li [class*="wp-block-woocommerce-product-add-to-cart"] { margin: 0 !important; padding: 0 !important; }

/* ═══ GROUPED PRODUCT TABLE ═══ */
/* "Ausführung wählen" button — dark bg with white text, not grey bg with lime */
.zvs-active .grouped_form .button.product_type_variable,
.zvs-active .woocommerce-grouped-product-list .button.product_type_variable {
    background: var(--ink-2, #121317) !important;
    color: var(--paper, #F7F5F0) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: var(--r-btn, 10px) !important;
    font-size: 13px !important;
    padding: 10px 16px !important;
    transition: background .15s, border-color .15s;
}
.zvs-active .grouped_form .button.product_type_variable:hover {
    background: var(--ink-3, #22252E) !important;
    border-color: rgba(255,255,255,.2) !important;
}
/* Grouped product table links — paper white, not lime */
.zvs-active .woocommerce-grouped-product-list td a:not(.button),
.zvs-active .grouped_form td a:not(.button) {
    color: var(--paper, #F7F5F0) !important;
    text-decoration: none !important;
}
.zvs-active .woocommerce-grouped-product-list td a:not(.button):hover,
.zvs-active .grouped_form td a:not(.button):hover {
    color: var(--lime, #B4ED5F) !important;
}
