/**
 * CPS WooCommerce Overrides
 *
 * Platform-specific CSS that extends the canonical cps-configurator.css.
 * Keep this file minimal — only WooCommerce integration quirks belong here.
 */

/* Hide native WooCommerce quantity and add-to-cart when CPS is active */
form.cart:has(#cps-configurator) > .quantity,
form.cart:has(#cps-configurator) > .single_add_to_cart_button {
    display: none !important;
}

/* Reset WooCommerce button styles that leak into CPS */
.woocommerce .cps-configurator button,
.woocommerce .cps-configurator .cps-add-to-cart {
    line-height: 1.5;
    letter-spacing: normal;
    text-transform: none;
}

/* Ensure CPS tab buttons don't inherit WooCommerce tab styles */
.woocommerce .cps-configurator .cps-tabs__tab {
    margin: 0;
    text-decoration: none;
}

/* Ensure CPS accordion headers don't inherit WooCommerce heading styles */
.woocommerce .cps-configurator .cps-accordion__header {
    margin: 0;
}

/* Z-index for refresh overlay — above WC elements */
.woocommerce .cps-refreshing::after {
    z-index: 10;
}

.woocommerce .cps-refreshing::before {
    z-index: 11;
}

/* ── CPS Data Placeholders ──
   Hide spec fields when the [data-cps] span is empty (before calculation).
   The parent .cps-spec-field is hidden so trailing units ("mm", "dB") don't show alone.
*/
.cps-spec-field:has([data-cps]:empty) {
    display: none;
}
.cps-product-specs:has(.cps-spec-field:not([style*="display: none"])) {
    margin-bottom: 1.5em;
}
