/* ============================================================
   09-WOOCOMMERCE.CSS
   WooCommerce-spezifische Overrides (Plugin-Schicht)
   ------------------------------------------------------------
   ZIEL: Shop, Produkt-, Warenkorb- und Checkout-Seiten in unser
   Token-System (Dark-Theme, Gold-Akzent) bringen — analog zu
   07-elementor.css / 08-gutenberg.css.

   Wird in functions.php nur geladen, wenn WooCommerce aktiv ist.
   Gescoped via body.gourmet-broker für saubere Spezifität
   gegenüber den WooCommerce-Default-Styles.
   ============================================================ */


/* ============================================================
   1. BUTTONS (Warenkorb, Checkout, Block-Buttons)
   ============================================================
   Standard = Outline-Gold-Pill (wie Core). Prominente CTAs
   (In den Warenkorb / Bestellung absenden) = gefülltes Gold.
   ============================================================ */

body.gourmet-broker .woocommerce a.button,
body.gourmet-broker .woocommerce button.button,
body.gourmet-broker .woocommerce input.button,
body.gourmet-broker .woocommerce .button,
body.gourmet-broker .wc-block-components-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--cd-space-xs);
    padding: 0.7em 1.6em;
    border-radius: var(--cd-radius-pill);
    border: 1px solid var(--cd-color-primary);
    background-color: transparent;
    color: var(--cd-color-primary);
    font-family: var(--cd-font-body);
    font-weight: var(--cd-fw-medium);
    font-size: var(--cd-fs-body);
    line-height: 1.2;
    letter-spacing: 0.02em;
    text-decoration: none;
    text-transform: none;
    white-space: nowrap;
    cursor: pointer;
    transition:
        background-color var(--cd-transition-base),
        border-color var(--cd-transition-base),
        color var(--cd-transition-base),
        transform var(--cd-transition-fast);
}

body.gourmet-broker .woocommerce a.button:hover,
body.gourmet-broker .woocommerce button.button:hover,
body.gourmet-broker .woocommerce input.button:hover,
body.gourmet-broker .woocommerce .button:hover,
body.gourmet-broker .wc-block-components-button:hover {
    background-color: var(--cd-color-primary);
    border-color: var(--cd-color-primary);
    color: var(--cd-color-text-on-primary);
}

/* Prominente Haupt-CTAs → gefülltes Gold */
body.gourmet-broker .woocommerce .single_add_to_cart_button,
body.gourmet-broker .woocommerce #place_order,
body.gourmet-broker .woocommerce button.button.alt,
body.gourmet-broker .woocommerce a.button.alt,
body.gourmet-broker .woocommerce .checkout-button,
body.gourmet-broker .wc-block-components-checkout-place-order-button {
    background-color: var(--cd-color-primary);
    border-color: var(--cd-color-primary);
    color: var(--cd-color-text-on-primary);
}

body.gourmet-broker .woocommerce .single_add_to_cart_button:hover,
body.gourmet-broker .woocommerce #place_order:hover,
body.gourmet-broker .woocommerce button.button.alt:hover,
body.gourmet-broker .woocommerce a.button.alt:hover,
body.gourmet-broker .woocommerce .checkout-button:hover,
body.gourmet-broker .wc-block-components-checkout-place-order-button:hover {
    background-color: var(--cd-color-primary-soft);
    border-color: var(--cd-color-primary-soft);
    color: var(--cd-color-text-on-primary);
}


/* ============================================================
   2. SHOP-GRID / PRODUKT-KACHELN
   ============================================================
   ul.products > li.product — als dunkle Card wie .cd-card.
   ============================================================ */

body.gourmet-broker .woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--cd-space-lg);
    margin: 0;
    padding: 0;
    list-style: none;
}

@media (max-width: 1024px) {
    body.gourmet-broker .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
    body.gourmet-broker .woocommerce ul.products { grid-template-columns: 1fr; }
}

body.gourmet-broker .woocommerce ul.products li.product {
    display: flex;
    flex-direction: column;
    width: auto !important;
    margin: 0 !important;
    padding: var(--cd-space-md);
    background-color: var(--cd-color-surface);
    border: 1px solid var(--cd-color-border);
    border-radius: var(--cd-radius-md);
    box-shadow: var(--cd-shadow-sm);
    transition:
        transform var(--cd-transition-base),
        box-shadow var(--cd-transition-base),
        border-color var(--cd-transition-base);
}

body.gourmet-broker .woocommerce ul.products li.product:hover {
    transform: translateY(-2px);
    box-shadow: var(--cd-shadow-md);
    border-color: var(--cd-color-primary);
}

body.gourmet-broker .woocommerce ul.products li.product img {
    border-radius: var(--cd-radius-sm);
    margin-bottom: var(--cd-space-sm);
}

body.gourmet-broker .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--cd-font-heading);
    font-weight: var(--cd-fw-semibold);
    font-size: var(--cd-fs-h5);
    color: var(--cd-color-text);
    padding: 0;
    margin: 0 0 var(--cd-space-2xs) 0;
}

body.gourmet-broker .woocommerce ul.products li.product .button {
    margin-top: auto;
}


/* ============================================================
   3. PREISE
   ============================================================ */

body.gourmet-broker .woocommerce .price,
body.gourmet-broker .woocommerce ul.products li.product .price {
    color: var(--cd-color-primary);
    font-weight: var(--cd-fw-semibold);
    font-size: var(--cd-fs-h6);
}

/* Durchgestrichener Originalpreis (im Angebot) */
body.gourmet-broker .woocommerce .price del {
    color: var(--cd-color-text-muted);
    font-weight: var(--cd-fw-medium);
    opacity: 0.8;
}

body.gourmet-broker .woocommerce .price ins {
    text-decoration: none;
    color: var(--cd-color-primary);
}


/* ============================================================
   4. SALE-BADGE
   ============================================================ */

body.gourmet-broker .woocommerce span.onsale {
    background-color: var(--cd-color-burgundy);
    color: #FFFFFF;
    font-family: var(--cd-font-body);
    font-weight: var(--cd-fw-semibold);
    font-size: var(--cd-fs-small);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-radius: var(--cd-radius-pill);
    padding: 0.35em 0.9em;
    min-height: 0;
    min-width: 0;
    line-height: 1.4;
}


/* ============================================================
   5. STERNE-BEWERTUNG
   ============================================================ */

body.gourmet-broker .woocommerce .star-rating span::before,
body.gourmet-broker .woocommerce p.stars a::before {
    color: var(--cd-color-primary);
}


/* ============================================================
   6. EINZELPRODUKT-SEITE
   ============================================================ */

body.gourmet-broker .woocommerce div.product .product_title {
    font-family: var(--cd-font-heading);
    font-style: italic;
    color: var(--cd-color-text);
}

body.gourmet-broker .woocommerce div.product .woocommerce-product-details__short-description {
    color: var(--cd-color-text-muted);
}

/* Menge-Feld */
body.gourmet-broker .woocommerce .quantity .qty {
    background-color: var(--cd-color-surface);
    border: 1px solid var(--cd-color-border);
    color: var(--cd-color-text);
    border-radius: var(--cd-radius-sm);
    padding: 0.5em;
}

/* Produkt-Tabs */
body.gourmet-broker .woocommerce div.product .woocommerce-tabs ul.tabs {
    border-bottom: 1px solid var(--cd-color-border);
}

body.gourmet-broker .woocommerce div.product .woocommerce-tabs ul.tabs::before {
    border-bottom-color: var(--cd-color-border);
}

body.gourmet-broker .woocommerce div.product .woocommerce-tabs ul.tabs li {
    background-color: transparent;
    border: 1px solid var(--cd-color-border);
    border-radius: var(--cd-radius-sm) var(--cd-radius-sm) 0 0;
}

body.gourmet-broker .woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-family: var(--cd-font-heading);
    color: var(--cd-color-text-muted);
}

body.gourmet-broker .woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    background-color: var(--cd-color-surface);
    border-bottom-color: var(--cd-color-surface);
}

body.gourmet-broker .woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--cd-color-primary);
}


/* ============================================================
   7. WARENKORB & CHECKOUT (Tabellen / Totals)
   ============================================================ */

body.gourmet-broker .woocommerce table.shop_table {
    background-color: var(--cd-color-surface);
    border: 1px solid var(--cd-color-border);
    border-radius: var(--cd-radius-md);
    color: var(--cd-color-text);
}

body.gourmet-broker .woocommerce table.shop_table th {
    font-family: var(--cd-font-heading);
    color: var(--cd-color-text);
}

body.gourmet-broker .woocommerce table.shop_table td,
body.gourmet-broker .woocommerce table.shop_table th {
    border-top-color: var(--cd-color-border);
}

body.gourmet-broker .woocommerce-cart table.cart td.actions .coupon .input-text {
    background-color: var(--cd-color-surface);
    border: 1px solid var(--cd-color-border);
    color: var(--cd-color-text);
    border-radius: var(--cd-radius-sm);
}

/* Cart-Totals / Order-Review Box */
body.gourmet-broker .woocommerce .cart_totals,
body.gourmet-broker .woocommerce #order_review,
body.gourmet-broker .woocommerce-checkout #payment {
    background-color: var(--cd-color-surface);
    border: 1px solid var(--cd-color-border);
    border-radius: var(--cd-radius-md);
    padding: var(--cd-space-md);
}

body.gourmet-broker .woocommerce-checkout #payment {
    background-color: var(--cd-color-surface);
}

body.gourmet-broker .woocommerce .cart_totals h2,
body.gourmet-broker .woocommerce #order_review_heading {
    font-family: var(--cd-font-heading);
    color: var(--cd-color-text);
}

/* Checkout-Formularfelder erben grösstenteils aus 05-forms.css,
   hier nur WooCommerce-eigene Wrapper absichern. */
body.gourmet-broker .woocommerce form .form-row input.input-text,
body.gourmet-broker .woocommerce form .form-row textarea,
body.gourmet-broker .woocommerce form .form-row select,
body.gourmet-broker .woocommerce .select2-container--default .select2-selection--single {
    background-color: var(--cd-color-surface);
    border: 1px solid var(--cd-color-border);
    color: var(--cd-color-text);
    border-radius: var(--cd-radius-md);
}


/* ============================================================
   8. HINWEIS-MELDUNGEN (Notices)
   ============================================================ */

body.gourmet-broker .woocommerce-message,
body.gourmet-broker .woocommerce-info,
body.gourmet-broker .woocommerce-error {
    background-color: var(--cd-color-surface);
    color: var(--cd-color-text);
    border-top: none;
    border-left: 3px solid var(--cd-color-primary);
    border-radius: 0 var(--cd-radius-sm) var(--cd-radius-sm) 0;
    padding: var(--cd-space-sm) var(--cd-space-md);
    list-style: none;
}

body.gourmet-broker .woocommerce-message::before,
body.gourmet-broker .woocommerce-info::before,
body.gourmet-broker .woocommerce-error::before {
    color: var(--cd-color-primary);
}

body.gourmet-broker .woocommerce-error {
    border-left-color: #E1655B;
}

body.gourmet-broker .woocommerce-error::before {
    color: #E1655B;
}


/* ============================================================
   9. PAGINATION / SORTIERUNG
   ============================================================ */

body.gourmet-broker .woocommerce nav.woocommerce-pagination ul li a,
body.gourmet-broker .woocommerce nav.woocommerce-pagination ul li span {
    background-color: var(--cd-color-surface);
    color: var(--cd-color-text);
    border-color: var(--cd-color-border);
}

body.gourmet-broker .woocommerce nav.woocommerce-pagination ul li a:hover,
body.gourmet-broker .woocommerce nav.woocommerce-pagination ul li span.current {
    background-color: var(--cd-color-primary);
    color: var(--cd-color-text-on-primary);
}

body.gourmet-broker .woocommerce .woocommerce-ordering select {
    font-family: var(--cd-font-body);
}


/* ============================================================
   10. WIDGETS (Warenkorb-Widget, Filter)
   ============================================================ */

body.gourmet-broker .woocommerce .widget_shopping_cart .total,
body.gourmet-broker .woocommerce.widget_shopping_cart .total {
    border-top: 1px solid var(--cd-color-border);
    color: var(--cd-color-text);
}

body.gourmet-broker .woocommerce ul.cart_list li,
body.gourmet-broker .woocommerce ul.product_list_widget li {
    border-bottom: 1px solid var(--cd-color-border);
    color: var(--cd-color-text);
}
