/**
 * TVK Basketball – finale Ausnahmen
 * Absichtlich klein halten. Neue Komponenten gehören in layout.css,
 * sportspress.css oder frontpage.css.
 */

/* Bestehende WP Show Posts-Ausgabe. */
.wp-show-posts-inner {
    margin: 0 0 2rem 4rem !important;
}

/* WooCommerce + PPOM: Auswahl und Preistabelle oberhalb der Kaufzeile. */
.single-product form.variations_form.cart.ppom-flex-controller
.woocommerce-variation-add-to-cart.variations_button {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    width: 100%;
}

/* PPOM ist ein vollständiger Block und keine Spalte neben dem Button. */
.single-product form.variations_form.cart.ppom-flex-controller
.woocommerce-variation-add-to-cart > .ppom-wrapper {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-bottom: 10px;
}

.single-product form.variations_form.cart.ppom-flex-controller
.ppom-rendering-fields,
.single-product form.variations_form.cart.ppom-flex-controller
.ppom-field-wrapper,
.single-product form.variations_form.cart.ppom-flex-controller
#ppom-price-container {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

/* Übersicht mit ausreichend Platz für Beschriftung und Beträge. */
.single-product form.variations_form.cart.ppom-flex-controller
#ppom-price-container table {
    width: 100% !important;
    table-layout: auto;
}

.single-product form.variations_form.cart.ppom-flex-controller
#ppom-price-container th.ppom-label-item {
    text-align: left;
    overflow-wrap: break-word;
}

.single-product form.variations_form.cart.ppom-flex-controller
#ppom-price-container th.ppom-price-item {
    width: 125px;
    min-width: 105px;
    text-align: right;
    white-space: nowrap;
}

/* Menge und Button bilden eine kompakte Zeile unter der Preisübersicht. */
.single-product form.variations_form.cart.ppom-flex-controller
.woocommerce-variation-add-to-cart > .quantity {
    float: none;
    flex: 0 0 auto;
    margin: 0;
}

.single-product form.variations_form.cart.ppom-flex-controller
.woocommerce-variation-add-to-cart > .single_add_to_cart_button {
    float: none;
    flex: 1 1 190px;
    width: auto;
    min-width: 190px;
    min-height: 44px;
    height: auto;
    align-self: center;
    white-space: normal;
    overflow-wrap: normal;
    margin: 0;
}

@media (max-width: 575.98px) {
    .single-product form.variations_form.cart.ppom-flex-controller
    .woocommerce-variation-add-to-cart > .single_add_to_cart_button {
        flex: 1 1 100%;
        min-width: 0;
    }
}

/* Navbar: Warenkorb und Preis nicht auf mehrere Zeilen umbrechen. */
@media (min-width: 992px) {
    .navbar .nav-item:has(> .cart-contents),
    .navbar .nav-item:has(> .cart-content),
    .navbar .nav-item:has(> .cart-toggler),
    .navbar .nav-item:has(> .offcanvas-cart-toggler) {
        flex: 0 0 auto;
        width: auto;
        min-width: max-content;
    }
}

.navbar .cart-contents,
.navbar .cart-content,
.navbar .cart-toggler,
.navbar .offcanvas-cart-toggler,
.navbar a[href*="/warenkorb/"] {
    width: auto !important;
    min-width: max-content;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

.navbar .cart-contents .woocommerce-Price-amount,
.navbar .cart-content .woocommerce-Price-amount,
.navbar .cart-toggler .woocommerce-Price-amount,
.navbar .offcanvas-cart-toggler .woocommerce-Price-amount,
.navbar a[href*="/warenkorb/"] .woocommerce-Price-amount {
    display: inline-block;
    white-space: nowrap !important;
    word-break: keep-all !important;
}
