/* ================================================================
   Baufaktura - WooCommerce Design Overrides
   Primaerfarbe:  #2B44B0 (Blue)
   Sekundaerfarbe: #1A2F7A (Deep Blue)
   ================================================================ */

/* -- Variablen --------------------------------------------------- */
:root {
    --bf-blue:      #2B44B0;
    --bf-blue-dark: #1A2F7A;
    --bf-blue-bg:   #EEF1F9;
    --bf-radius:    6px;
}

/* -- Buttons (Warenkorb, Kasse, Kaufen) -------------------------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-page a.button,
.woocommerce-page button.button {
    background: var(--bf-blue) !important;
    color: #fff !important;
    border-radius: var(--bf-radius) !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    padding: 10px 20px !important;
    border: none !important;
    transition: background .15s !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
    background: var(--bf-blue-dark) !important;
    color: #fff !important;
}

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce #payment #place_order {
    background: var(--bf-blue-dark) !important;
    font-size: 15px !important;
    padding: 12px 24px !important;
}

/* -- Preisanzeige ----------------------------------------------- */
.woocommerce .price,
.woocommerce-Price-amount.amount {
    color: var(--bf-blue) !important;
    font-weight: 500 !important;
}

.woocommerce .single-product .price {
    font-size: 26px !important;
}

/* -- Produktkarten (Shop-Uebersicht) ----------------------------- */
.woocommerce ul.products li.product {
    border-radius: 10px !important;
    border: 1px solid #e2e8f0 !important;
    overflow: hidden !important;
    transition: box-shadow .15s !important;
    padding-bottom: 0 !important;
}

.woocommerce ul.products li.product:hover {
    box-shadow: 0 4px 16px rgba(43,68,176,.1) !important;
}

.woocommerce ul.products li.product .bf-card-header-bar {
    background: var(--bf-blue);
    padding: 10px 14px;
    color: #fff;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 14px !important;
    font-weight: 500 !important;
    padding: 10px 14px 4px !important;
    color: #1e293b !important;
}

.woocommerce ul.products li.product .price {
    padding: 0 14px !important;
    font-size: 15px !important;
}

.woocommerce ul.products li.product a.button {
    margin: 10px 14px 14px !important;
    display: block !important;
    text-align: center !important;
}

/* -- Einzelprodukt-Seite ---------------------------------------- */
.woocommerce div.product .product_title {
    font-size: 28px !important;
    font-weight: 500 !important;
    color: #1e293b !important;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
    background: #EEF1F9;
    display: inline-block;
    padding: 10px 16px;
    border-radius: 8px;
    font-size: 24px !important;
}

/* -- ECO / PREMIUM Variations-Tabs ------------------------------ */
.bf-variation-tabs {
    display: flex;
    gap: 0;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    overflow: hidden;
    width: fit-content;
    margin-bottom: 16px;
}

.bf-variation-tab {
    padding: 10px 22px;
    font-size: 14px;
    cursor: pointer;
    background: #f8fafc;
    color: #64748b;
    border-right: 1px solid #d1d5db;
    transition: background .15s, color .15s;
    user-select: none;
}

.bf-variation-tab:last-child {
    border-right: none;
}

.bf-variation-tab.bf-active-eco {
    background: var(--bf-blue);
    color: #fff;
    font-weight: 500;
}

.bf-variation-tab.bf-active-premium {
    background: var(--bf-blue-dark);
    color: #fff;
    font-weight: 500;
}

/* Standard-Select verstecken wenn Tabs aktiv */
.bf-tabs-active .variations select {
    display: none !important;
}

/* -- Produkt-Tabs (Beschreibung, Bewertungen) -------------------- */
.woocommerce div.product .woocommerce-tabs ul.tabs li {
    border-radius: 6px 6px 0 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    background: var(--bf-blue) !important;
    border-color: var(--bf-blue) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: #fff !important;
}

/* -- Warenkorb & Kasse ------------------------------------------ */
.woocommerce-cart .woocommerce-cart-form__cart-item,
.woocommerce table.shop_table {
    border-radius: 8px !important;
    overflow: hidden !important;
}

.woocommerce table.shop_table th {
    background: #f8fafc !important;
    font-weight: 500 !important;
    color: #374151 !important;
    font-size: 13px !important;
}

.woocommerce #payment {
    border-radius: 8px !important;
    background: #f8fafc !important;
}

/* -- Formularfelder --------------------------------------------- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
    border-radius: var(--bf-radius) !important;
    border-color: #d1d5db !important;
    font-size: 14px !important;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
    border-color: var(--bf-blue) !important;
    box-shadow: 0 0 0 2px rgba(43,68,176,.15) !important;
    outline: none !important;
}

/* Pflichtfeld-Stern */
.woocommerce form .form-row label abbr {
    color: var(--bf-blue) !important;
}

/* -- Notices (Erfolg, Fehler) ------------------------------------ */
.woocommerce-message {
    border-top-color: var(--bf-blue) !important;
}

.woocommerce-error {
    border-top-color: #dc2626 !important;
}

/* -- Breadcrumb -------------------------------------------------- */
.woocommerce .woocommerce-breadcrumb {
    font-size: 12px !important;
    color: #9ca3af !important;
}

.woocommerce .woocommerce-breadcrumb a {
    color: var(--bf-blue) !important;
}

/* -- Bewertungs-Sterne ------------------------------------------- */
.woocommerce .star-rating span::before,
.woocommerce .star-rating::before {
    color: var(--bf-blue) !important;
}

/* -- Zugehoerige Produkte --------------------------------------- */
.related.products h2,
.upsells.products h2,
.cross-sells h2 {
    font-size: 16px !important;
    font-weight: 500 !important;
    color: #1e293b !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    font-size: 12px !important;
}

/* -- "More articles" Theme-Block auf Produktseiten ausblenden ---- */
.single-product .wpex-post-series,
.single-product .related-posts,
.single-product [class*="more-articles"],
.single-product [class*="more_articles"],
.single-product .wpex-more-posts,
.single-product .blog-entry-related,
.single-product section.detailed-blog__related-articles,
.single-product .detailed-blog__related-articles {
    display: none !important;
}

/* -- Beschreibungs-Tab: saubereres Styling ----------------------- */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    padding: 0 !important;
    margin-bottom: -1px !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-size: 13px !important;
    font-weight: 500 !important;
}

.woocommerce div.product .woocommerce-tabs .panel {
    padding: 20px !important;
}

/* -- Produktbeschreibung: Listen-Styling ------------------------- */
.woocommerce-Tabs-panel--description ul {
    padding-left: 20px !important;
    margin-bottom: 12px !important;
}

.woocommerce-Tabs-panel--description ul li {
    margin-bottom: 6px !important;
    line-height: 1.5 !important;
    list-style-type: disc !important;
}

.woocommerce-Tabs-panel--description li[style*="list-style-type: none"] {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* -- Checkout Firmenfeld hervorheben ---------------------------- */
#billing_company_field label {
    font-weight: 500 !important;
}

/* -- Feature-Liste in Kurzbeschreibung (.bf-features) ----------- */
.woocommerce div.product .bf-features {
    list-style: none !important;
    padding: 0 !important;
    margin: 10px 0 16px !important;
}

.woocommerce div.product .bf-features li {
    padding: 5px 0 5px 28px !important;
    position: relative !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    border-bottom: 0.5px solid #f1f5f9 !important;
    color: #374151 !important;
}

.woocommerce div.product .bf-features li:last-child {
    border-bottom: none !important;
}

.woocommerce div.product .bf-features li::before {
    content: '\2713';
    position: absolute !important;
    left: 0 !important;
    top: 7px !important;
    width: 18px !important;
    height: 18px !important;
    background: #2B44B0 !important;
    color: #fff !important;
    border-radius: 50% !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
}

/* -- Fix 1: Produkttitel sichtbar machen ------------------------ */
.woocommerce div.product h1.product_title,
.single-product .product_title {
    display: block !important;
    font-size: 26px !important;
    font-weight: 500 !important;
    color: #1e293b !important;
    margin-bottom: 10px !important;
    line-height: 1.3 !important;
}

/* -- Fix 2: Preisrange bei variablen Produkten ausblenden -------- */
/* JS setzt .bf-range-hidden sobald Tabs initialisiert sind */
.bf-range-hidden {
    display: none !important;
}

/* Variation-Preis (nach Auswahl) gross anzeigen */
.woocommerce-variation-price .woocommerce-Price-amount {
    font-size: 22px !important;
    font-weight: 500 !important;
    color: #2B44B0 !important;
}

/* "Zurücksetzen"-Link ausblenden */
.woocommerce div.product form.variations_form .reset_variations {
    display: none !important;
}

/* -- Fix 3: Doppelte Aufzählungspunkte entfernen ----------------- */
.woocommerce div.product .bf-features {
    list-style: none !important;
    list-style-type: none !important;
    padding-left: 0 !important;
}

.woocommerce div.product .bf-features li {
    list-style: none !important;
    list-style-type: none !important;
}

.woocommerce div.product .bf-features li::marker {
    content: none !important;
    display: none !important;
}

/* Auch in der langen Beschreibung */
.woocommerce-Tabs-panel--description .bf-features li::marker {
    content: none !important;
}
