/* ============================================================
   WooCommerce Custom Styles – stadtlandfluss-honig.de
   Divi Theme kompatibel | Warenkorb & Kasse
   ============================================================ */

/* ── Variablen & Grundlayout ─────────────────────────────── */
:root {
    --slf-blue:       #2ea3f2;
    --slf-blue-dark:  #1a8fd8;
    --slf-text:       #333333;
    --slf-muted:      #666666;
    --slf-border:     #e2e2e2;
    --slf-bg:         #ffffff;
    --slf-bg-light:   #f9f9f9;
    --slf-radius:     3px;
    --slf-font:       'Open Sans', Arial, sans-serif;
}

.woocommerce,
.woocommerce-page {
    font-family: var(--slf-font);
    color: var(--slf-text);
    line-height: 1.7em;
    font-size: 14px;
}

/* ── Allgemeine Überschriften ────────────────────────────── */
.woocommerce h2,
.woocommerce-page h2,
.woocommerce h3,
.woocommerce-page h3 {
    color: var(--slf-text);
    font-weight: 500;
    font-family: var(--slf-font);
    margin-bottom: 20px;
    border-bottom: 2px solid var(--slf-blue);
    padding-bottom: 10px;
    display: inline-block;
}

/* ── Buttons – hohe Spezifität gegen Divi-Überschreibung ───── */
body .woocommerce a.button,
body .woocommerce button.button,
body .woocommerce input.button,
body .woocommerce #respond input#submit,
body .woocommerce-page a.button,
body .woocommerce-page button.button,
body .woocommerce-page input.button,
body .woocommerce a.checkout-button,
body .woocommerce-cart a.checkout-button,
body .wc-proceed-to-checkout a.checkout-button {
    background-color: #2ea3f2 !important;
    color: #ffffff !important;
    border: 2px solid #2ea3f2 !important;
    border-radius: 3px !important;
    font-family: 'Open Sans', Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    padding: 0.5em 1.4em !important;
    cursor: pointer !important;
    transition: background-color 0.3s ease, border-color 0.3s ease !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    display: inline-block !important;
    text-decoration: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

body .woocommerce a.button:hover,
body .woocommerce button.button:hover,
body .woocommerce input.button:hover,
body .woocommerce-page a.button:hover,
body .woocommerce-page button.button:hover,
body .woocommerce a.checkout-button:hover,
body .wc-proceed-to-checkout a.checkout-button:hover {
    background-color: #1a8fd8 !important;
    border-color: #1a8fd8 !important;
    color: #ffffff !important;
}

body .woocommerce a.button.alt,
body .woocommerce button.button.alt,
body .woocommerce #place_order,
body .woocommerce-page #place_order,
body .wc-proceed-to-checkout a.checkout-button {
    background-color: #2ea3f2 !important;
    border-color: #2ea3f2 !important;
    font-size: 16px !important;
    padding: 0.65em 2em !important;
    width: 100% !important;
    text-align: center !important;
    display: block !important;
}

/* ── Hintergrundbild Warenkorb & Kasse ───────────────────────── */
body.slf-cart-page,
body.slf-checkout-page {
    background-image: url('./bienen-hintergrund.jpg') !important;
    background-size: 100% auto !important;
    background-position: top center !important;
    background-repeat: no-repeat !important;
    background-color: #24333a !important;
}

/* ── Weißen Divi-Seitenhintergrund entfernen ─────────────────── */
body.slf-cart-page #page-container,
body.slf-cart-page #main-content,
body.slf-cart-page #et-main-area,
body.slf-cart-page .et_pb_post_content,
body.slf-checkout-page #page-container,
body.slf-checkout-page #main-content,
body.slf-checkout-page #et-main-area,
body.slf-checkout-page .et_pb_post_content {
    background: transparent !important;
    background-color: transparent !important;
}

/* ── WARENKORB: Divi-Container + Box dunkel ──────────────────── */
body.slf-cart-page .et_pb_section {
    background: transparent !important;
    background-color: transparent !important;
    padding-top: 50px !important;
    padding-bottom: 50px !important;
}

body.slf-cart-page .et_pb_row {
    background: #24333a !important;
    border-radius: 6px !important;
    box-shadow: 0 6px 40px rgba(0,0,0,0.35) !important;
    max-width: 1200px !important;
    width: 100% !important;
    padding: 0 !important;
    border: none !important;
}

body.slf-cart-page .et_pb_column,
body.slf-cart-page .et_pb_text_inner {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Warenkorb: alle Texte weiß */
body.slf-cart-page .wc-block-cart-item__product-name,
body.slf-cart-page .wc-block-cart-item__product-name a,
body.slf-cart-page .wc-block-cart-items__header span,
body.slf-cart-page .wc-block-components-totals-item__label,
body.slf-cart-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.slf-cart-page .wc-block-cart__sidebar h2,
body.slf-cart-page .wc-block-cart__main h2,
body.slf-cart-page .wc-block-components-order-summary__title,
body.slf-cart-page .wc-block-components-totals-item__description,
body.slf-cart-page .wc-block-cart-item__prices {
    color: #ffffff !important;
}

body.slf-cart-page .wc-block-cart-item__product-name a:hover {
    color: #2ea3f2 !important;
}

/* Header-Zeile (PRODUKT / GESAMTSUMME) – gleiche Farbe wie Box */
body.slf-cart-page .wc-block-cart-items__header {
    background-color: #24333a !important;
    color: rgba(255,255,255,0.6) !important;
    border-bottom-color: rgba(255,255,255,0.1) !important;
}

/* Weißen Rand um Cart-Block entfernen */
body.slf-cart-page .wc-block-cart,
body.slf-cart-page .wp-block-woocommerce-cart,
body.slf-cart-page .wc-block-cart__main,
body.slf-cart-page .wc-block-cart-items,
body.slf-cart-page .wc-block-cart__inner-wrapper {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Mengeneingabe auf dunklem Hintergrund */
body.slf-cart-page .wc-block-components-quantity-selector {
    background-color: rgba(255,255,255,0.1) !important;
    border-color: rgba(255,255,255,0.2) !important;
    color: #ffffff !important;
}

body.slf-cart-page .wc-block-components-quantity-selector__input {
    background-color: transparent !important;
    color: #ffffff !important;
    border-color: transparent !important;
}

body.slf-cart-page .wc-block-components-quantity-selector button {
    color: #ffffff !important;
    background: transparent !important;
}

/* Sidebar-Box im Warenkorb */
body.slf-cart-page .wc-block-cart__sidebar {
    background-color: rgba(0,0,0,0.2) !important;
    border-color: rgba(255,255,255,0.1) !important;
}

/* Trennlinien */
body.slf-cart-page .wc-block-components-totals-item,
body.slf-cart-page .wc-block-cart-items__row {
    border-bottom-color: rgba(255,255,255,0.1) !important;
}

/* "Artikel entfernen" Link */
body.slf-cart-page .wc-block-cart-item__remove-link {
    color: rgba(255,255,255,0.5) !important;
}
body.slf-cart-page .wc-block-cart-item__remove-link:hover {
    color: #e74c3c !important;
}

/* ── KASSE: identisch wie Warenkorb (Standard Divi Template) ─── */
body.slf-checkout-page #page-container,
body.slf-checkout-page #et-main-area,
body.slf-checkout-page #main-content,
body.slf-checkout-page #content-area,
body.slf-checkout-page article,
body.slf-checkout-page .et-l,
body.slf-checkout-page .et-l--post,
body.slf-checkout-page .entry-content {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: none !important;
}

body.slf-checkout-page .et_pb_section {
    background: transparent !important;
    background-color: transparent !important;
    padding-top: 50px !important;
    padding-bottom: 50px !important;
}

body.slf-checkout-page .et_pb_row {
    background: #24333a !important;
    border-radius: 6px !important;
    box-shadow: 0 6px 40px rgba(0,0,0,0.35) !important;
    max-width: 1200px !important;
    width: 100% !important;
    padding: 0 !important;
    border: none !important;
}

body.slf-checkout-page .et_pb_column,
body.slf-checkout-page .et_pb_text_inner {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Checkout-Block: volle Breite innerhalb der Box */
body.slf-checkout-page .wp-block-woocommerce-checkout,
body.slf-checkout-page .wc-block-checkout {
    max-width: 100% !important;
    width: 100% !important;
    padding: 40px 50px !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Zwei-Spalten-Layout erzwingen */
body.slf-checkout-page .wc-block-checkout__inner-wrapper {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 30px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Linke Spalte: Formular */
body.slf-checkout-page .wc-block-checkout__main {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    background: rgba(255,255,255,0.06) !important;
    border-radius: 4px !important;
    padding: 30px !important;
    box-sizing: border-box !important;
}

/* Rechte Spalte: Bestellübersicht – fixe Breite, sticky */
body.slf-checkout-page .wc-block-checkout__sidebar {
    flex: 0 0 360px !important;
    width: 360px !important;
    max-width: 360px !important;
    background: rgba(0,0,0,0.2) !important;
    border-radius: 4px !important;
    padding: 30px !important;
    box-sizing: border-box !important;
    position: sticky !important;
    top: 20px !important;
    align-self: flex-start !important;
}

/* Kasse: Zwei-Spalten-Grid erzwingen (DOM-Reihenfolge-unabhängig) */
body.slf-checkout-page .wc-block-checkout__inner-wrapper {
    display: grid !important;
    grid-template-columns: 1fr 360px !important;
    grid-template-areas: "main sidebar" !important;
    grid-template-rows: auto !important;
    gap: 40px !important;
    width: 100% !important;
    align-items: start !important;
    box-sizing: border-box !important;
}

body.slf-checkout-page .wc-block-checkout__main,
body.slf-checkout-page .wp-block-woocommerce-checkout-fields-block {
    grid-area: main !important;
    min-width: 0 !important;
}

body.slf-checkout-page .wc-block-checkout__sidebar,
body.slf-checkout-page .wp-block-woocommerce-checkout-order-summary-block {
    grid-area: sidebar !important;
    width: 100% !important;
}

/* Kasse: Bestellübersicht-Box dunkel */
body.slf-checkout-page .wc-block-checkout__sidebar,
body.slf-checkout-page .wc-block-components-order-summary {
    background: rgba(0,0,0,0.2) !important;
    border-color: rgba(255,255,255,0.1) !important;
    border-radius: 4px !important;
}

/* Kasse LINKS (Formular) – dunkle Texte auf weißem Hintergrund */
body.slf-checkout-page .wc-block-checkout__main .wc-block-components-checkout-step__title,
body.slf-checkout-page .wc-block-checkout__main .wc-block-components-checkout-step__heading,
body.slf-checkout-page .wc-block-checkout__main h2,
body.slf-checkout-page .wc-block-checkout__main h3,
body.slf-checkout-page .wc-block-checkout__main p,
body.slf-checkout-page .wc-block-checkout__main label {
    color: #333333 !important;
}

body.slf-checkout-page .wc-block-checkout__main .wc-block-components-text-input label,
body.slf-checkout-page .wc-block-checkout__main .wc-block-components-select label,
body.slf-checkout-page .wc-block-checkout__main .wc-block-components-country-input label,
body.slf-checkout-page .wc-block-checkout__main .wc-block-components-state-input label {
    color: #888888 !important;
}

/* Kasse RECHTS (Bestellübersicht) – weiße Texte auf dunklem Hintergrund */
body.slf-checkout-page .wc-block-checkout__sidebar .wc-block-components-order-summary__title,
body.slf-checkout-page .wc-block-checkout__sidebar .wc-block-components-totals-item__label,
body.slf-checkout-page .wc-block-checkout__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.slf-checkout-page .wc-block-checkout__sidebar .wc-block-components-product-name,
body.slf-checkout-page .wc-block-checkout__sidebar h2,
body.slf-checkout-page .wc-block-checkout__sidebar h3 {
    color: #ffffff !important;
}

body.slf-checkout-page .wc-block-checkout__sidebar .wc-block-components-totals-footer-item-tax,
body.slf-checkout-page .wc-block-checkout__sidebar .wc-block-components-order-summary-item__individual-price,
body.slf-checkout-page .wc-block-checkout__sidebar .wc-block-components-totals-item__description {
    color: rgba(255,255,255,0.7) !important;
}

body.slf-checkout-page .wc-block-checkout__sidebar .wc-block-components-totals-item {
    border-bottom-color: rgba(255,255,255,0.12) !important;
}

body.slf-checkout-page .wc-block-checkout__sidebar .wc-block-components-order-summary-item,
body.slf-checkout-page .wc-block-checkout__sidebar .wc-block-components-order-summary__item-list {
    background: transparent !important;
    border-color: rgba(255,255,255,0.1) !important;
}

/* ── Warenkorb Block Wrapper ────────────────────────────────── */
.wp-block-woocommerce-cart,
.wc-block-cart {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 40px 50px !important;
    font-family: 'Open Sans', Arial, sans-serif !important;
    font-size: 15px !important;
    box-sizing: border-box !important;
}

/* ── Kasse Block Wrapper ────────────────────────────────────── */
.wp-block-woocommerce-checkout,
.wc-block-checkout {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: 'Open Sans', Arial, sans-serif !important;
    font-size: 15px !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    box-sizing: border-box !important;
}

/* Kasse: Formularfelder */
.wc-block-checkout__main {
    display: block !important;
}

.wc-block-components-checkout-step {
    padding: 20px 0 !important;
    border-bottom: 1px solid #e2e2e2 !important;
}

.wc-block-components-checkout-step__title {
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #333333 !important;
    font-family: 'Open Sans', Arial, sans-serif !important;
    margin-bottom: 16px !important;
}

/* Kasse: Bestellübersicht Sidebar */
.wc-block-checkout__sidebar,
.wc-block-components-order-summary {
    background-color: #f9f9f9 !important;
    border: 1px solid #e2e2e2 !important;
    border-radius: 3px !important;
    padding: 24px !important;
    display: block !important;
    visibility: visible !important;
}

.wc-block-components-order-summary__title,
.wc-block-checkout__sidebar h2 {
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #333333 !important;
    border-bottom: 2px solid #2ea3f2 !important;
    padding-bottom: 10px !important;
    margin-bottom: 16px !important;
}

/* Kasse: Gesamtsumme */
.wc-block-components-totals-wrapper {
    margin-top: 16px !important;
}

/* Warenkorb-Summe Sidebar sichtbar machen */
.wc-block-cart__sidebar {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    background-color: #f9f9f9 !important;
    border: 1px solid #e2e2e2 !important;
    border-radius: 3px !important;
    padding: 24px !important;
}

.wc-block-cart__sidebar .wc-block-components-totals-item,
.wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-totals-block {
    display: block !important;
    visibility: visible !important;
}

/* Produktname größer */
.wc-block-cart-item__product-name,
.wc-block-cart-item__product-name a {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #333333 !important;
    text-decoration: none !important;
}

.wc-block-cart-item__product-name a:hover {
    color: #2ea3f2 !important;
}

/* Produktbild größer */
.wc-block-cart-item__image img {
    width: 100px !important;
    height: 100px !important;
    object-fit: cover !important;
    border-radius: 3px !important;
    border: 1px solid #e2e2e2 !important;
}

/* Tabellenzeilen */
.wc-block-cart-items__row {
    padding: 20px 0 !important;
    border-bottom: 1px solid #e2e2e2 !important;
}

/* Tabellenkopf */
.wc-block-cart-items__header {
    background-color: #f9f9f9 !important;
    padding: 12px 0 !important;
    border-bottom: 2px solid #e2e2e2 !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: #333333 !important;
}

/* Sidebar (Zusammenfassung) */
.wc-block-cart__sidebar {
    background-color: #f9f9f9 !important;
    border: 1px solid #e2e2e2 !important;
    border-radius: 3px !important;
    padding: 24px !important;
}

/* Gesamtsumme */
.wc-block-components-totals-item {
    font-size: 15px !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid #e2e2e2 !important;
}

.wc-block-components-totals-item:last-child {
    border-bottom: none !important;
}

.wc-block-components-totals-item__label {
    font-weight: 600 !important;
    color: #333333 !important;
}

/* Gesamtsumme – letzte Zeile hervorheben */
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #333333 !important;
    padding-top: 16px !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    color: #2ea3f2 !important;
}

/* Mengenfeld */
.wc-block-components-quantity-selector {
    border: 1px solid #e2e2e2 !important;
    border-radius: 3px !important;
}

.wc-block-components-quantity-selector__input {
    font-size: 15px !important;
    width: 50px !important;
    text-align: center !important;
}

/* ── WooCommerce Blocks (Gutenberg) ─────────────────────────── */
.wc-block-components-button.wp-element-button,
.wc-block-cart__submit-button,
.wc-block-checkout__place-order-button,
.wp-element-button {
    background-color: #2ea3f2 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 3px !important;
    font-family: 'Open Sans', Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 0.65em 1.5em !important;
    box-shadow: none !important;
    text-shadow: none !important;
    transition: background-color 0.3s ease !important;
    cursor: pointer !important;
}

.wc-block-components-button.wp-element-button:hover,
.wc-block-cart__submit-button:hover,
.wc-block-checkout__place-order-button:hover,
.wp-element-button:hover {
    background-color: #1a8fd8 !important;
    color: #ffffff !important;
}

/* Block-Preise */
.wc-block-components-totals-item__value,
.wc-block-components-order-summary-item__total-price,
.wc-block-cart-item__total .wc-block-formatted-money-amount {
    color: #2ea3f2 !important;
    font-weight: 600 !important;
}

/* Block-Formularfelder: Floating Label Abstand fix */
.wc-block-components-text-input,
.wc-block-components-select,
.wc-block-components-country-input,
.wc-block-components-state-input {
    position: relative !important;
    display: block !important;
}

/* Eingabefeld – genug Platz oben für Label */
.wc-block-components-text-input input,
.wc-block-components-select select,
.wc-block-components-country-input input,
.wc-block-components-state-input input {
    border: 1px solid #e2e2e2 !important;
    border-radius: 3px !important;
    font-family: 'Open Sans', Arial, sans-serif !important;
    font-size: 15px !important;
    padding: 32px 14px 8px !important;
    height: 64px !important;
    line-height: 1.2 !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
    margin-top: 0 !important;
}

/* Label: immer oben, klein – nie über dem Text */
.wc-block-components-text-input label,
.wc-block-components-select label,
.wc-block-components-country-input label,
.wc-block-components-state-input label {
    font-size: 11px !important;
    font-weight: 600 !important;
    top: 8px !important;
    left: 15px !important;
    bottom: auto !important;
    position: absolute !important;
    transform: none !important;
    transition: none !important;
    color: #888888 !important;
    pointer-events: none !important;
    line-height: 1 !important;
    z-index: 1 !important;
}

.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus {
    border-color: #2ea3f2 !important;
    box-shadow: 0 0 0 3px rgba(46, 163, 242, 0.12) !important;
    outline: none !important;
}

/* Block Überschriften */
.wc-block-components-title,
.wc-block-cart__main h2,
.wc-block-cart__sidebar h2,
.wc-block-checkout h2 {
    color: #333333 !important;
    font-family: 'Open Sans', Arial, sans-serif !important;
    font-weight: 500 !important;
}

/* ── Formularfelder ──────────────────────────────────────── */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce-page form .form-row select {
    border: 1px solid var(--slf-border);
    border-radius: var(--slf-radius);
    padding: 10px 14px;
    font-family: var(--slf-font);
    font-size: 14px;
    color: var(--slf-text);
    background-color: var(--slf-bg);
    width: 100%;
    box-sizing: border-box;
    transition: border-color 0.25s ease;
    outline: none;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
    border-color: var(--slf-blue);
    box-shadow: 0 0 0 3px rgba(46, 163, 242, 0.12);
}

.woocommerce form .form-row label,
.woocommerce-page form .form-row label {
    font-size: 13px;
    font-weight: 600;
    color: var(--slf-text);
    margin-bottom: 4px;
    display: block;
}

.woocommerce form .form-row .required {
    color: var(--slf-blue);
}

/* ── Nachrichten & Benachrichtigungen ────────────────────── */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    border-radius: var(--slf-radius);
    font-family: var(--slf-font);
    font-size: 14px;
    padding: 14px 20px 14px 50px;
    margin-bottom: 20px;
}

.woocommerce-message {
    background-color: #f0fbff;
    border-top: 3px solid var(--slf-blue);
    color: var(--slf-text);
}

.woocommerce-info {
    background-color: #f0fbff;
    border-top: 3px solid var(--slf-blue);
}

.woocommerce-error {
    background-color: #fff5f5;
    border-top: 3px solid #e74c3c;
    color: #c0392b;
}

/* ── Warenkorb-Seite ─────────────────────────────────────── */
.woocommerce table.cart,
.woocommerce-page table.cart {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 30px;
    font-family: var(--slf-font);
}

.woocommerce table.cart th,
.woocommerce-page table.cart th {
    background-color: var(--slf-bg-light);
    color: var(--slf-text);
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 14px 16px;
    border-bottom: 2px solid var(--slf-border);
    text-align: left;
}

.woocommerce table.cart td,
.woocommerce-page table.cart td {
    padding: 18px 16px;
    border-bottom: 1px solid var(--slf-border);
    vertical-align: middle;
    color: var(--slf-text);
    font-size: 14px;
}

.woocommerce table.cart tr:last-child td,
.woocommerce-page table.cart tr:last-child td {
    border-bottom: none;
}

.woocommerce table.cart tr:hover td,
.woocommerce-page table.cart tr:hover td {
    background-color: #fafeff;
}

/* Produktbild im Warenkorb */
.woocommerce table.cart td.product-thumbnail img,
.woocommerce-page table.cart td.product-thumbnail img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: var(--slf-radius);
    border: 1px solid var(--slf-border);
}

/* Produktname */
.woocommerce table.cart td.product-name a,
.woocommerce-page table.cart td.product-name a {
    color: var(--slf-text);
    font-weight: 600;
    text-decoration: none;
    font-size: 15px;
    transition: color 0.2s ease;
}

.woocommerce table.cart td.product-name a:hover {
    color: var(--slf-blue);
}

/* Preis */
.woocommerce table.cart td.product-price,
.woocommerce table.cart td.product-subtotal,
.woocommerce-page table.cart td.product-price,
.woocommerce-page table.cart td.product-subtotal {
    font-weight: 600;
    color: var(--slf-blue);
    font-size: 15px;
}

/* Menge */
.woocommerce table.cart td.product-quantity input.qty,
.woocommerce-page table.cart td.product-quantity input.qty {
    width: 65px;
    text-align: center;
    border: 1px solid var(--slf-border);
    border-radius: var(--slf-radius);
    padding: 6px 10px;
    font-size: 14px;
    font-family: var(--slf-font);
}

/* Entfernen-Button */
.woocommerce table.cart td.product-remove a.remove,
.woocommerce-page table.cart td.product-remove a.remove {
    color: var(--slf-muted) !important;
    font-size: 20px;
    font-weight: 400;
    width: 28px;
    height: 28px;
    line-height: 28px;
    display: block;
    text-align: center;
    border-radius: 50%;
    border: 1px solid var(--slf-border);
    transition: all 0.2s ease;
    text-decoration: none;
}

.woocommerce table.cart td.product-remove a.remove:hover {
    background-color: #e74c3c;
    color: #fff !important;
    border-color: #e74c3c;
}

/* Coupon & Aktualisieren */
.woocommerce .cart .coupon input.input-text {
    border: 1px solid var(--slf-border);
    border-radius: var(--slf-radius);
    padding: 8px 14px;
    font-size: 14px;
    width: 200px;
}

/* ── Warenkorb-Zusammenfassung ───────────────────────────── */
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals {
    background-color: var(--slf-bg-light);
    border: 1px solid var(--slf-border);
    border-radius: var(--slf-radius);
    padding: 28px 30px;
}

.woocommerce .cart_totals h2,
.woocommerce-page .cart_totals h2 {
    font-size: 18px;
    color: var(--slf-text);
    margin-bottom: 20px;
    border-bottom-color: var(--slf-blue);
}

.woocommerce .cart_totals table,
.woocommerce-page .cart_totals table {
    width: 100%;
    border-collapse: collapse;
}

.woocommerce .cart_totals table th,
.woocommerce-page .cart_totals table th {
    text-align: left;
    padding: 10px 0;
    font-weight: 600;
    color: var(--slf-text);
    border-bottom: 1px solid var(--slf-border);
    font-size: 14px;
    width: 40%;
}

.woocommerce .cart_totals table td,
.woocommerce-page .cart_totals table td {
    text-align: right;
    padding: 10px 0;
    border-bottom: 1px solid var(--slf-border);
    color: var(--slf-muted);
    font-size: 14px;
}

.woocommerce .cart_totals .order-total th,
.woocommerce .cart_totals .order-total td,
.woocommerce-page .cart_totals .order-total th,
.woocommerce-page .cart_totals .order-total td {
    font-size: 18px;
    font-weight: 700;
    color: var(--slf-text);
    border-bottom: none;
    padding-top: 16px;
}

.woocommerce .cart_totals .order-total td {
    color: var(--slf-blue);
}

.woocommerce .wc-proceed-to-checkout,
.woocommerce-page .wc-proceed-to-checkout {
    margin-top: 20px;
}

.woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce-page .wc-proceed-to-checkout a.checkout-button {
    display: block;
    text-align: center;
    font-size: 16px;
    padding: 0.7em 1em;
    width: 100%;
    box-sizing: border-box;
}

/* ── Kassen-Seite ────────────────────────────────────────── */
.woocommerce-checkout #customer_details,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
    font-family: var(--slf-font);
}

.woocommerce-checkout h3#order_review_heading {
    font-size: 20px;
    color: var(--slf-text);
    font-weight: 500;
    border-bottom: 2px solid var(--slf-blue);
    padding-bottom: 10px;
    margin-bottom: 20px;
}

/* Bestellübersicht */
.woocommerce-checkout-review-order {
    background-color: var(--slf-bg-light);
    border: 1px solid var(--slf-border);
    border-radius: var(--slf-radius);
    padding: 24px 26px;
}

.woocommerce-checkout-review-order table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.woocommerce-checkout-review-order table thead th {
    font-weight: 600;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 0.07em;
    color: var(--slf-muted);
    border-bottom: 2px solid var(--slf-border);
    padding: 8px 0;
}

.woocommerce-checkout-review-order table tbody td {
    padding: 12px 0;
    border-bottom: 1px solid var(--slf-border);
    color: var(--slf-text);
}

.woocommerce-checkout-review-order table tfoot td,
.woocommerce-checkout-review-order table tfoot th {
    padding: 10px 0;
    border-bottom: 1px solid var(--slf-border);
    font-size: 14px;
}

.woocommerce-checkout-review-order table tfoot .order-total td,
.woocommerce-checkout-review-order table tfoot .order-total th {
    font-size: 18px;
    font-weight: 700;
    color: var(--slf-blue);
    border-bottom: none;
    padding-top: 16px;
}

/* Zahlungsmethoden */
.woocommerce-checkout #payment {
    background-color: var(--slf-bg-light);
    border: 1px solid var(--slf-border);
    border-radius: var(--slf-radius);
    padding: 0;
    overflow: hidden;
}

.woocommerce-checkout #payment ul.payment_methods {
    padding: 20px 24px;
    border-bottom: 1px solid var(--slf-border);
    margin: 0;
    list-style: none;
}

.woocommerce-checkout #payment ul.payment_methods li {
    padding: 10px 0;
    border-bottom: 1px solid var(--slf-border);
    font-size: 14px;
}

.woocommerce-checkout #payment ul.payment_methods li:last-child {
    border-bottom: none;
}

.woocommerce-checkout #payment ul.payment_methods li label {
    font-weight: 600;
    color: var(--slf-text);
    cursor: pointer;
}

.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] {
    accent-color: var(--slf-blue);
    margin-right: 8px;
}

.woocommerce-checkout #payment .payment_box {
    background-color: #f0fbff;
    border-left: 3px solid var(--slf-blue);
    padding: 12px 16px;
    margin-top: 10px;
    border-radius: 0 var(--slf-radius) var(--slf-radius) 0;
    font-size: 13px;
    color: var(--slf-muted);
}

.woocommerce-checkout #payment .place-order {
    padding: 20px 24px;
}

.woocommerce-checkout #payment #place_order {
    width: 100%;
    font-size: 16px;
    padding: 0.75em 1em;
    box-sizing: border-box;
    border-radius: var(--slf-radius);
}

/* ── Checkout-Abschnitt Rechnungsadresse ─────────────────── */
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3 {
    font-size: 20px !important;
    color: var(--slf-text);
    font-weight: 500 !important;
    border-bottom: 2px solid var(--slf-blue) !important;
    padding-bottom: 10px !important;
    margin-bottom: 20px !important;
    display: block !important;
}

/* ── Datenschutz-Checkbox ────────────────────────────────── */
.woocommerce-checkout .woocommerce-privacy-policy-text {
    font-size: 12px;
    color: var(--slf-muted);
    margin-bottom: 16px;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    margin-bottom: 16px;
    font-size: 13px;
    color: var(--slf-text);
}

/* ── Bestellbestätigung ──────────────────────────────────── */
.woocommerce-order-received .woocommerce-order {
    font-family: var(--slf-font);
}

.woocommerce-order-received h2.woocommerce-order-details__title {
    color: var(--slf-text);
    font-weight: 500;
}

.woocommerce-notice--success {
    background-color: #f0fbff;
    border-left: 4px solid var(--slf-blue);
    padding: 20px 24px;
    border-radius: var(--slf-radius);
    font-size: 15px;
    color: var(--slf-text);
}

/* ── Preis-Styling ───────────────────────────────────────── */
.woocommerce .price,
.woocommerce-page .price,
.woocommerce ins .amount,
.woocommerce-page ins .amount {
    color: var(--slf-blue);
    font-weight: 600;
}

.woocommerce del .amount,
.woocommerce-page del .amount {
    color: var(--slf-muted);
    font-weight: 400;
}

/* ── Breadcrumb ──────────────────────────────────────────── */
.woocommerce .woocommerce-breadcrumb {
    font-size: 12px;
    color: var(--slf-muted);
    margin-bottom: 24px;
}

.woocommerce .woocommerce-breadcrumb a {
    color: var(--slf-blue);
    text-decoration: none;
}

.woocommerce .woocommerce-breadcrumb a:hover {
    text-decoration: underline;
}

/* ── Divi Header & Footer: Warenkorb & Kasse ────────────────── */
/* Primäre Klassen: .slf-cart-page / .slf-checkout-page (via PHP gesetzt)
   Fallback:        .woocommerce-cart / .woocommerce-checkout (WooCommerce)  */

/* Kompletten Header ausblenden */
.slf-cart-page     #main-header,
.slf-checkout-page #main-header,
.woocommerce-cart    #main-header,
.woocommerce-checkout #main-header {
    display: none !important;
}

/* Kompletten Footer ausblenden */
.slf-cart-page     #main-footer,
.slf-checkout-page #main-footer,
.woocommerce-cart    #main-footer,
.woocommerce-checkout #main-footer {
    display: none !important;
}

/* Divi Bottom-Bar ("Powered by...") ausblenden */
.slf-cart-page     #et-footer-nav,
.slf-checkout-page #et-footer-nav,
.woocommerce-cart    #et-footer-nav,
.woocommerce-checkout #et-footer-nav {
    display: none !important;
}

/* Seitenabstand oben kompensieren (kein Header mehr) */
.slf-cart-page     #page-container,
.slf-checkout-page #page-container,
.woocommerce-cart    #page-container,
.woocommerce-checkout #page-container {
    padding-top: 0 !important;
}

/* ── Template "Shop (Kein Header/Footer)" – Layout ──────────── */

#slf-page-wrapper {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: #fff;
    font-family: var(--slf-font);
}

/* Mini-Header */
.slf-shop-header {
    background: #fff;
    border-bottom: 2px solid var(--slf-blue);
    text-align: center;
    padding: 20px;
    flex-shrink: 0;
}

.slf-shop-header-inner {
    max-width: 1080px;
    margin: 0 auto;
}

.slf-shop-header img {
    max-height: 80px;
    width: auto;
    display: inline-block;
}

.slf-shop-header .slf-site-name {
    font-size: 24px;
    font-weight: 600;
    color: var(--slf-text);
    text-decoration: none;
}

/* Hauptinhalt */
#slf-main-content {
    flex: 1;
    padding: 40px 20px;
}

.slf-content-wrap {
    max-width: 1080px;
    margin: 0 auto;
}

/* Mini-Footer */
.slf-shop-footer {
    background: var(--slf-bg-light);
    border-top: 1px solid var(--slf-border);
    padding: 18px 20px;
    text-align: center;
    flex-shrink: 0;
}

.slf-shop-footer-inner {
    max-width: 1080px;
    margin: 0 auto;
}

.slf-shop-footer p {
    margin: 0;
    font-size: 13px;
    color: var(--slf-muted);
}

.slf-shop-footer a {
    color: var(--slf-muted);
    text-decoration: none;
    transition: color 0.2s;
}

.slf-shop-footer a:hover {
    color: var(--slf-blue);
}

/* Checkout-Fortschrittsanzeige (optional) */
.slf-checkout-steps {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0;
    padding: 16px 0;
    background-color: var(--slf-bg-light);
    border-bottom: 1px solid var(--slf-border);
    margin-bottom: 30px;
    font-family: var(--slf-font);
    font-size: 13px;
}

.slf-checkout-steps .step {
    display: flex;
    align-items: center;
    color: var(--slf-muted);
    padding: 0 16px;
}

.slf-checkout-steps .step.active {
    color: var(--slf-blue);
    font-weight: 600;
}

.slf-checkout-steps .step.done {
    color: #27ae60;
}

.slf-checkout-steps .step-number {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid currentColor;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    margin-right: 8px;
    flex-shrink: 0;
}

.slf-checkout-steps .step.active .step-number {
    background-color: var(--slf-blue);
    color: #fff;
    border-color: var(--slf-blue);
}

.slf-checkout-steps .step-divider {
    width: 40px;
    height: 1px;
    background-color: var(--slf-border);
    flex-shrink: 0;
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 767px) {
    .woocommerce table.cart td,
    .woocommerce-page table.cart td {
        padding: 12px 8px;
        font-size: 13px;
    }

    .woocommerce table.cart td.product-thumbnail img {
        width: 55px;
        height: 55px;
    }

    .woocommerce .cart_totals,
    .woocommerce-page .cart_totals {
        padding: 20px 18px;
    }

    .woocommerce-checkout #payment ul.payment_methods,
    .woocommerce-checkout #payment .place-order {
        padding: 16px 18px;
    }

    .woocommerce-checkout-review-order {
        padding: 18px 16px;
    }
}
