/* ═══════════════════════════════════════════════════════════
   Zerova Shop System — WooCommerce Base Restyle
   Applies Zerova design language to standard WC templates.

   Custom properties (set via Dashboard → Shop → Colors):
   --zvs-accent         Primary accent (default: var(--lime))
   --zvs-accent-ink     Text on accent (default: var(--lime-ink))
   --zvs-price          Price color (default: var(--lime))
   --zvs-sale-bg        Sale badge bg (default: var(--lime))
   --zvs-sale           Sale badge text (default: var(--lime-ink))
   --zvs-star           Star color (default: var(--lime))
   --zvs-card-bg        Card background (default: var(--bg-2))
   --zvs-card-border    Card border (default: var(--line-color))
   --zvs-btn-bg         Button bg (default: var(--lime))
   --zvs-btn-color      Button text (default: var(--lime-ink))
   --zvs-btn-hover-bg   Button hover (default: --lime darkened)
   --zvs-btn-hover-c    Button hover text (default: var(--lime-ink))
   ═══════════════════════════════════════════════════════════ */

/* ── Defaults (fallback to Zerova core tokens) ───────────── */
.zvs-active {
    --zvs-accent:        var(--zvs-accent, var(--lime, #B4ED5F));
    --zvs-accent-ink:    var(--zvs-accent-ink, var(--lime-ink, #0A0B0F));
    --zvs-price:         var(--zvs-price, var(--lime, #B4ED5F));
    --zvs-sale-bg:       var(--zvs-sale-bg, var(--lime, #B4ED5F));
    --zvs-sale:          var(--zvs-sale, var(--lime-ink, #0A0B0F));
    --zvs-star:          var(--zvs-star, var(--lime, #B4ED5F));
    --zvs-card-bg:       var(--zvs-card-bg, var(--bg-2, #15171D));
    --zvs-card-border:   var(--zvs-card-border, var(--line-color, rgba(255,255,255,.08)));
    --zvs-btn-bg:        var(--zvs-btn-bg, var(--lime, #B4ED5F));
    --zvs-btn-color:     var(--zvs-btn-color, var(--lime-ink, #0A0B0F));
    --zvs-btn-hover-bg:  var(--zvs-btn-hover-bg, #9AD44A);
    --zvs-btn-hover-c:   var(--zvs-btn-hover-c, var(--lime-ink, #0A0B0F));
}

/* ═══════════════════════════════════════════════════════════
   SHOP LOOP / ARCHIVE
   ═══════════════════════════════════════════════════════════ */

/* Product card wrapper */
.zvs-active ul.products { display:grid !important; gap:clamp(16px,2vw,24px); list-style:none; padding:0; }
.zvs-active ul.products li.product { margin:0 !important; width:100% !important; float:none !important; }

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

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

/* Sale badge */
.zvs-badge { position:absolute; top:12px; left:12px; z-index:2; padding:4px 10px; border-radius:var(--r-chip,10px); font-family:var(--f-mono,'JetBrains Mono',monospace); font-size:10px; font-weight:700; letter-spacing:.06em; background:var(--zvs-sale-bg); color:var(--zvs-sale); }
/* Hide WC default badge */
.zvs-active .onsale { display:none !important; }

/* Category label */
.zvs-loop-cat { font-family:var(--f-mono,'JetBrains Mono',monospace); font-size:10px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--fg-mute-2,rgba(255,255,255,.38)); padding:18px 20px 0; }

/* Product title in loop */
.zvs-active ul.products li.product .woocommerce-loop-product__title { font-family:var(--f-display,'Plus Jakarta Sans',sans-serif); font-size:15px; font-weight:700; letter-spacing:-.01em; line-height:1.3; padding:8px 20px 0; margin:0; color:var(--fg,#F7F5F0); }

/* Price in loop */
.zvs-active ul.products li.product .price { padding:6px 20px 0; font-family:var(--f-display,'Plus Jakarta Sans',sans-serif); font-size:16px; font-weight:800; color:var(--zvs-price); }
.zvs-active ul.products li.product .price del { font-size:13px; font-weight:400; color:var(--fg-mute-2,rgba(255,255,255,.38)); opacity:1; }
.zvs-active ul.products li.product .price ins { text-decoration:none; }

/* Star rating in loop */
.zvs-active .star-rating { color:var(--zvs-star); margin:8px 20px 0; font-size:12px; }
.zvs-active .star-rating span::before { color:var(--zvs-star); }

/* Add to cart button in loop */
.zvs-active ul.products li.product .button,
.zvs-active ul.products li.product .add_to_cart_button { display:block; width:calc(100% - 40px); margin:14px 20px 20px; padding:10px 0; border-radius:var(--r-btn,10px); background:transparent; border:1.5px solid var(--zvs-card-border); color:var(--fg,#F7F5F0); font-family:var(--f-body,'Inter',sans-serif); font-size:13px; font-weight:600; text-align:center; text-decoration:none; cursor:pointer; transition:all .2s var(--ease-out,ease); }
.zvs-active ul.products li.product .button:hover,
.zvs-active ul.products li.product .add_to_cart_button:hover { background:var(--zvs-btn-bg); color:var(--zvs-btn-color); border-color:transparent; }

/* ═══════════════════════════════════════════════════════════
   SINGLE PRODUCT
   ═══════════════════════════════════════════════════════════ */

/* Gallery */
.zvs-active div.product div.images { border-radius:var(--r-card,16px); overflow:hidden; background:var(--bg-3,#22252E); }
.zvs-active div.product div.images img { border-radius:0; }
.zvs-active div.product div.images .flex-control-thumbs li { border-radius:var(--r-sm,8px); overflow:hidden; opacity:.6; border:2px solid transparent; transition:all .2s; }
.zvs-active div.product div.images .flex-control-thumbs li.flex-active { opacity:1; border-color:var(--zvs-accent); }

/* Product title */
.zvs-active div.product .product_title { font-family:var(--f-display,'Plus Jakarta Sans',sans-serif); font-weight:800; letter-spacing:-.03em; line-height:1.1; font-size:clamp(26px,3.2vw,40px); }

/* Price on single */
.zvs-active div.product p.price { font-family:var(--f-display,'Plus Jakarta Sans',sans-serif); font-size:28px; font-weight:800; color:var(--zvs-price); margin:16px 0; }
.zvs-active div.product p.price del { font-size:18px; font-weight:400; color:var(--fg-mute-2); }
.zvs-active div.product p.price ins { text-decoration:none; }

/* Short description */
.zvs-active div.product .woocommerce-product-details__short-description { font-size:15px; line-height:1.65; color:var(--fg-mute,rgba(255,255,255,.58)); margin-bottom:24px; }

/* Quantity input */
.zvs-active .quantity .qty { background:var(--bg-2,#15171D); border:1px solid var(--zvs-card-border); border-radius:var(--r-sm,8px); color:var(--fg,#F7F5F0); padding:10px 12px; font-family:var(--f-mono,'JetBrains Mono',monospace); font-size:14px; width:70px; text-align:center; }

/* Add to cart button on single */
.zvs-active div.product .single_add_to_cart_button { padding:14px 32px; border-radius:var(--r-btn,10px); background:var(--zvs-btn-bg); color:var(--zvs-btn-color); border:none; font-family:var(--f-body,'Inter',sans-serif); font-size:15px; font-weight:700; cursor:pointer; transition:transform .15s,box-shadow .2s; }
.zvs-active div.product .single_add_to_cart_button:hover { transform:translateY(-2px); box-shadow:0 10px 30px -10px var(--zvs-accent); background:var(--zvs-btn-hover-bg); color:var(--zvs-btn-hover-c); }

/* Variation selects */
.zvs-active .variations select { background:var(--bg-2); border:1px solid var(--zvs-card-border); border-radius:var(--r-btn,10px); color:var(--fg); padding:10px 14px; font-family:var(--f-body); font-size:14px; }

/* Product tabs */
.zvs-active div.product .woocommerce-tabs ul.tabs { border:none; padding:0; margin-bottom:32px; }
.zvs-active div.product .woocommerce-tabs ul.tabs li { background:transparent; border:none; border-radius:0; margin-right:0; }
.zvs-active div.product .woocommerce-tabs ul.tabs li a { font-family:var(--f-mono,'JetBrains Mono',monospace); font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--fg-mute-2); padding:12px 20px; text-decoration:none; border-bottom:2px solid transparent; transition:all .2s; }
.zvs-active div.product .woocommerce-tabs ul.tabs li.active a { color:var(--fg); border-bottom-color:var(--zvs-accent); }
.zvs-active div.product .woocommerce-tabs ul.tabs li a:hover { color:var(--fg); }
.zvs-active div.product .woocommerce-tabs .panel { border:none; padding:0; }

/* Meta (categories, tags, SKU) */
.zvs-active .product_meta { font-family:var(--f-mono); font-size:11px; letter-spacing:.06em; color:var(--fg-mute-2); margin-top:24px; padding-top:24px; border-top:1px solid var(--zvs-card-border); }
.zvs-active .product_meta a { color:var(--fg-mute); text-decoration:none; }
.zvs-active .product_meta a:hover { color:var(--zvs-accent); }

/* Related products heading */
.zvs-active .related.products > h2,
.zvs-active .upsells.products > h2 { font-family:var(--f-display); font-weight:800; letter-spacing:-.02em; font-size:clamp(22px,3vw,32px); margin-bottom:24px; }

/* ═══════════════════════════════════════════════════════════
   CART PAGE
   ═══════════════════════════════════════════════════════════ */
.zvs-cart-style-modern .woocommerce-cart-form table.cart { border-collapse:separate; border-spacing:0; border:1px solid var(--zvs-card-border); border-radius:var(--r-card,16px); overflow:hidden; }
.zvs-cart-style-modern .woocommerce-cart-form table.cart th { background:var(--bg-2); font-family:var(--f-mono); font-size:10px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--fg-mute-2); padding:14px 20px; border:none; }
.zvs-cart-style-modern .woocommerce-cart-form table.cart td { background:var(--bg); border-bottom:1px solid var(--zvs-card-border); padding:16px 20px; vertical-align:middle; }
.zvs-cart-style-modern .woocommerce-cart-form table.cart td.product-name a { font-family:var(--f-display); font-weight:700; color:var(--fg); text-decoration:none; }
.zvs-cart-style-modern .woocommerce-cart-form table.cart td.product-price,
.zvs-cart-style-modern .woocommerce-cart-form table.cart td.product-subtotal { font-family:var(--f-display); font-weight:700; color:var(--zvs-price); }
.zvs-cart-style-modern .woocommerce-cart-form table.cart td.product-thumbnail img { width:64px; height:64px; object-fit:cover; border-radius:var(--r-sm,8px); }
.zvs-cart-style-modern .woocommerce-cart-form table.cart td.product-remove a { color:var(--fg-mute-2); font-size:18px; text-decoration:none; }
.zvs-cart-style-modern .woocommerce-cart-form table.cart td.product-remove a:hover { color:var(--fg); }

/* Cart totals */
.zvs-cart-style-modern .cart_totals { background:var(--bg-2); border-radius:var(--r-card,16px); border:1px solid var(--zvs-card-border); padding:28px; }
.zvs-cart-style-modern .cart_totals h2 { font-family:var(--f-display); font-weight:700; font-size:18px; 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:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--fg-mute-2); padding:12px 0; border:none; }
.zvs-cart-style-modern .cart_totals table td { font-family:var(--f-display); font-weight:700; padding:12px 0; border:none; }
.zvs-cart-style-modern .cart_totals .order-total td { font-size:22px; font-weight:800; color:var(--zvs-price); }

/* Proceed to checkout */
.zvs-cart-style-modern .wc-proceed-to-checkout .checkout-button { display:block; width:100%; padding:14px; border-radius:var(--r-btn,10px); background:var(--zvs-btn-bg); color:var(--zvs-btn-color); font-family:var(--f-body); font-size:15px; font-weight:700; text-align:center; text-decoration:none; transition:transform .15s,box-shadow .2s; border:none; }
.zvs-cart-style-modern .wc-proceed-to-checkout .checkout-button:hover { transform:translateY(-2px); box-shadow:0 10px 30px -10px var(--zvs-accent); }

/* Coupon field */
.zvs-cart-style-modern .coupon .input-text { background:var(--bg-2); border:1px solid var(--zvs-card-border); border-radius:var(--r-btn,10px); color:var(--fg); padding:10px 14px; font-family:var(--f-mono); font-size:13px; }
.zvs-cart-style-modern .coupon .button { border-radius:var(--r-btn,10px); padding:10px 20px; font-size:13px; font-weight:600; background:transparent; border:1.5px solid var(--zvs-card-border); color:var(--fg); cursor:pointer; transition:all .2s; }
.zvs-cart-style-modern .coupon .button:hover { background:var(--zvs-accent); color:var(--zvs-accent-ink); border-color:transparent; }

/* ═══════════════════════════════════════════════════════════
   CHECKOUT
   ═══════════════════════════════════════════════════════════ */
.zvs-checkout-style-modern .woocommerce-checkout h3 { font-family:var(--f-display); font-weight:700; font-size:20px; letter-spacing:-.01em; margin-bottom:20px; }
.zvs-checkout-style-modern .woocommerce-checkout .form-row label { font-family:var(--f-mono); font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--fg-mute-2); }
.zvs-checkout-style-modern .woocommerce-checkout .form-row input.input-text,
.zvs-checkout-style-modern .woocommerce-checkout .form-row textarea,
.zvs-checkout-style-modern .woocommerce-checkout .form-row select { background:var(--bg-2); border:1px solid var(--zvs-card-border); border-radius:var(--r-sm,8px); color:var(--fg); padding:12px 14px; font-family:var(--f-body); font-size:14px; transition:border-color .2s; }
.zvs-checkout-style-modern .woocommerce-checkout .form-row input.input-text:focus,
.zvs-checkout-style-modern .woocommerce-checkout .form-row textarea:focus { border-color:var(--zvs-accent); outline:none; }

/* Order review */
.zvs-checkout-style-modern .woocommerce-checkout-review-order-table { background:var(--bg-2); border:1px solid var(--zvs-card-border); border-radius:var(--r-card,16px); overflow:hidden; }
.zvs-checkout-style-modern .woocommerce-checkout-review-order-table th { font-family:var(--f-mono); font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--fg-mute-2); padding:14px 20px; background:var(--bg-3); border:none; }
.zvs-checkout-style-modern .woocommerce-checkout-review-order-table td { padding:14px 20px; border:none; border-bottom:1px solid var(--zvs-card-border); }
.zvs-checkout-style-modern .woocommerce-checkout-review-order-table .order-total td { font-family:var(--f-display); font-size:20px; font-weight:800; color:var(--zvs-price); }

/* Place order button */
.zvs-checkout-style-modern #place_order { display:block; width:100%; padding:16px; border-radius:var(--r-btn,10px); background:var(--zvs-btn-bg); color:var(--zvs-btn-color); font-family:var(--f-body); font-size:16px; font-weight:700; border:none; cursor:pointer; transition:transform .15s,box-shadow .2s; }
.zvs-checkout-style-modern #place_order:hover { transform:translateY(-2px); box-shadow:0 10px 30px -10px var(--zvs-accent); }

/* Payment methods */
.zvs-checkout-style-modern .woocommerce-checkout-payment { background:var(--bg-2); border:1px solid var(--zvs-card-border); border-radius:var(--r-card,16px); padding:24px; }
.zvs-checkout-style-modern .woocommerce-checkout-payment .wc_payment_methods { border:none; padding:0; }
.zvs-checkout-style-modern .woocommerce-checkout-payment .wc_payment_methods li { border-bottom:1px solid var(--zvs-card-border); padding:14px 0; }
.zvs-checkout-style-modern .woocommerce-checkout-payment .wc_payment_methods li label { font-family:var(--f-body); font-weight:600; color:var(--fg); }

/* ═══════════════════════════════════════════════════════════
   MY ACCOUNT
   ═══════════════════════════════════════════════════════════ */
.zvs-account-style-modern .woocommerce-MyAccount-navigation { background:var(--bg-2); border:1px solid var(--zvs-card-border); border-radius:var(--r-card,16px); padding:16px; }
.zvs-account-style-modern .woocommerce-MyAccount-navigation ul { list-style:none; padding:0; margin:0; }
.zvs-account-style-modern .woocommerce-MyAccount-navigation ul li { margin:0; }
.zvs-account-style-modern .woocommerce-MyAccount-navigation ul li a { display:block; padding:10px 16px; border-radius:var(--r-btn,10px); 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,
.zvs-account-style-modern .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard.is-active a { background:var(--zvs-accent); color:var(--zvs-accent-ink); }

/* Account content area */
.zvs-account-style-modern .woocommerce-MyAccount-content { font-size:15px; line-height:1.65; }
.zvs-account-style-modern .woocommerce-MyAccount-content h2 { font-family:var(--f-display); font-weight:800; letter-spacing:-.02em; font-size:clamp(22px,3vw,32px); }

/* Order table */
.zvs-account-style-modern .woocommerce-orders-table { border:1px solid var(--zvs-card-border); border-radius:var(--r-card,16px); 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:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--fg-mute-2); padding:14px 20px; border:none; }
.zvs-account-style-modern .woocommerce-orders-table td { padding:14px 20px; border-bottom:1px solid var(--zvs-card-border); }
.zvs-account-style-modern .woocommerce-orders-table .button { padding:6px 14px; border-radius:var(--r-btn,10px); background:transparent; border:1px solid var(--zvs-card-border); color:var(--fg); font-size:12px; font-weight:600; text-decoration:none; transition:all .15s; }
.zvs-account-style-modern .woocommerce-orders-table .button:hover { background:var(--zvs-accent); color:var(--zvs-accent-ink); border-color:transparent; }

/* Address cards */
.zvs-account-style-modern .woocommerce-Addresses .woocommerce-Address { background:var(--bg-2); border:1px solid var(--zvs-card-border); border-radius:var(--r-card,16px); padding:24px; }
.zvs-account-style-modern .woocommerce-Addresses .woocommerce-Address header h3 { font-family:var(--f-display); font-weight:700; font-size:16px; }

/* ═══════════════════════════════════════════════════════════
   GLOBAL WC OVERRIDES
   ═══════════════════════════════════════════════════════════ */

/* All WC buttons */
.zvs-active .woocommerce .button,
.zvs-active .woocommerce button.button,
.zvs-active .woocommerce a.button,
.zvs-active .woocommerce input.button { font-family:var(--f-body,'Inter',sans-serif); }

/* Notices */
.zvs-active .woocommerce-message { background:var(--bg-2); border:1px solid var(--zvs-accent); border-radius:var(--r-card,16px); color:var(--fg); padding:16px 24px; }
.zvs-active .woocommerce-message::before { color:var(--zvs-accent); }
.zvs-active .woocommerce-message .button { background:var(--zvs-accent); color:var(--zvs-accent-ink); border:none; border-radius:var(--r-btn,10px); padding:8px 18px; font-weight:600; text-decoration:none; }
.zvs-active .woocommerce-error { background:var(--bg-2); border:1px solid #EF4444; border-radius:var(--r-card,16px); color:var(--fg); padding:16px 24px; }
.zvs-active .woocommerce-info { background:var(--bg-2); border:1px solid var(--zvs-card-border); border-radius:var(--r-card,16px); color:var(--fg); padding:16px 24px; }

/* Breadcrumb */
.zvs-active .woocommerce-breadcrumb { font-family:var(--f-mono); font-size:11px; letter-spacing:.08em; color:var(--fg-mute-2); text-transform:uppercase; margin-bottom:24px; }
.zvs-active .woocommerce-breadcrumb a { color:var(--fg-mute); text-decoration:none; }
.zvs-active .woocommerce-breadcrumb a:hover { color:var(--zvs-accent); }

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

/* Pagination */
.zvs-active .woocommerce-pagination ul.page-numbers { display:flex; gap:6px; 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:38px; height:38px; border-radius:var(--r-btn,10px); border:1px solid var(--zvs-card-border); background:transparent; color:var(--fg-mute); font-family:var(--f-mono); font-size:13px; font-weight:600; text-decoration:none; transition:all .15s; }
.zvs-active .woocommerce-pagination ul.page-numbers li a:hover { border-color:var(--zvs-accent); color:var(--fg); }
.zvs-active .woocommerce-pagination ul.page-numbers li span.current { background:var(--zvs-accent); color:var(--zvs-accent-ink); border-color:transparent; }

/* ── Responsive ──────────────────────────────────────────── */
@media(max-width:768px) {
    .zvs-active ul.products { grid-template-columns:repeat(2,1fr) !important; }
    .zvs-cart-style-modern .woocommerce-cart-form table.cart { display:block; }
    .zvs-cart-style-modern .woocommerce-cart-form table.cart thead { display:none; }
    .zvs-cart-style-modern .woocommerce-cart-form table.cart tr { display:grid; grid-template-columns:auto 1fr auto; gap:8px; padding:16px; border-bottom:1px solid var(--zvs-card-border); }
    .zvs-cart-style-modern .woocommerce-cart-form table.cart td { padding:4px 0; border:none; background:transparent; }
}
