/**
 * WooCommerce Additional Styles
 *
 * Styling for cart, checkout, account pages and
 * Germanized for WooCommerce compatibility.
 *
 * @package ServBen
 */


/* ═══════════════════════════════════════════════════════════════
 * CART PAGE — FULL REDESIGN
 * Spacious, structured, premium layout
 * ═══════════════════════════════════════════════════════════════ */

.woocommerce-cart .page-content {
    padding-top: 104px;
}

/* ── Page Title ── */
.woocommerce-cart .page-content > div > h1 {
    font-family: 'DM Serif Display', serif;
    font-size: 36px;
    margin-bottom: 12px;
    color: var(--ink);
    letter-spacing: -0.01em;
}

/* ── Breadcrumb-style label under title ── */
.woocommerce-cart .page-content > div > h1::after {
    content: 'Home  ›  Warenkorb';
    display: block;
    font-family: 'DM Mono', monospace;
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ink-mute);
    margin-top: 10px;
    padding-bottom: 28px;
    border-bottom: 1px solid var(--nude-dark);
    margin-bottom: 8px;
    font-weight: 400;
    font-style: normal;
}

/* ── WooCommerce Notices ── */
.woocommerce-cart .woocommerce-notices-wrapper {
    margin-bottom: 32px;
}

/* ── Cart Form ── */
.woocommerce-cart form.woocommerce-cart-form {
    margin-bottom: 48px;
}


/* ── Cart Table ── */
.woocommerce-cart table.shop_table {
    border: 1px solid var(--nude-dark);
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
    background: var(--white);
}

.woocommerce-cart table.shop_table thead {
    background: var(--nude);
}

.woocommerce-cart table.shop_table th {
    font-family: 'DM Mono', monospace;
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ink-mute);
    background: var(--nude);
    padding: 16px 24px;
    border-bottom: 1px solid var(--nude-dark);
    font-weight: 400;
    text-align: left;
}

.woocommerce-cart table.shop_table th.product-name {
    width: 45%;
}

.woocommerce-cart table.shop_table th.product-price,
.woocommerce-cart table.shop_table th.product-quantity,
.woocommerce-cart table.shop_table th.product-subtotal {
    text-align: center;
}

.woocommerce-cart table.shop_table th.product-remove {
    width: 52px;
    font-size: 0;
}

/* ── Cart Table Cells ── */
.woocommerce-cart table.shop_table td {
    padding: 28px 24px;
    border-bottom: 1px solid var(--nude-dark);
    vertical-align: middle;
    font-size: 14px;
    background: var(--white);
}

.woocommerce-cart table.shop_table tbody tr:last-of-type td {
    border-bottom: none;
}

/* ── Product Remove ── */
.woocommerce-cart table.shop_table .product-remove {
    text-align: center;
    width: 52px;
}

.woocommerce-cart table.shop_table .product-remove a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    font-size: 18px;
    line-height: 1;
    color: var(--ink-mute);
    text-decoration: none;
    border: 1px solid var(--nude-dark);
    transition: all 0.2s;
    background: var(--white);
}

.woocommerce-cart table.shop_table .product-remove a:hover {
    color: var(--white);
    background: var(--red);
    border-color: var(--red);
}

/* ── Product Thumbnail ── */
.woocommerce-cart table.shop_table .product-thumbnail {
    width: 110px;
    padding-right: 0;
}

.woocommerce-cart table.shop_table img {
    width: 84px;
    height: 84px;
    object-fit: cover;
    border: 1px solid var(--nude-dark);
    background: var(--nude);
}

/* ── Product Name ── */
.woocommerce-cart table.shop_table .product-name {
    padding-left: 16px;
}

.woocommerce-cart table.shop_table .product-name a {
    font-family: 'DM Serif Display', serif;
    font-size: 16px;
    color: var(--ink);
    text-decoration: none;
    line-height: 1.4;
    display: block;
    transition: color 0.2s;
}

.woocommerce-cart table.shop_table .product-name a:hover {
    color: var(--ink-soft);
}

/* Variation / meta under product name */
.woocommerce-cart table.shop_table .product-name .variation,
.woocommerce-cart table.shop_table .product-name dl.variation {
    margin-top: 8px;
    font-family: 'DM Mono', monospace;
    font-size: 11px;
    color: var(--ink-mute);
    letter-spacing: 0.04em;
}

.woocommerce-cart table.shop_table .product-name dl.variation dt {
    float: left;
    clear: left;
    margin-right: 4px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.woocommerce-cart table.shop_table .product-name dl.variation dd {
    margin-left: 0;
    margin-bottom: 4px;
}

.woocommerce-cart table.shop_table .product-name dl.variation dd p {
    margin: 0;
}

/* Germanized delivery time under product name */
.woocommerce-cart table.shop_table .product-name .wc-gzd-additional-info {
    display: block;
    margin-top: 8px;
    font-family: 'DM Mono', monospace;
    font-size: 11px;
    color: var(--ink-mute);
    letter-spacing: 0.04em;
}

/* ── Product Price ── */
.woocommerce-cart table.shop_table .product-price {
    text-align: center;
}

.woocommerce-cart table.shop_table .product-price .amount,
.woocommerce-cart table.shop_table .product-subtotal .amount {
    font-family: 'DM Mono', monospace;
    font-size: 15px;
    font-weight: 500;
    color: var(--ink);
}

/* ── Product Quantity ── */
.woocommerce-cart table.shop_table .product-quantity {
    text-align: center;
}

.woocommerce-cart table.shop_table .quantity {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--nude-dark);
    background: var(--white);
}

.woocommerce-cart table.shop_table .quantity .qty {
    font-family: 'DM Mono', monospace;
    font-size: 14px;
    width: 56px;
    text-align: center;
    border: none;
    padding: 10px 4px;
    background: var(--white);
    color: var(--ink);
    outline: none;
    -moz-appearance: textfield;
}

.woocommerce-cart table.shop_table .quantity .qty::-webkit-inner-spin-button,
.woocommerce-cart table.shop_table .quantity .qty::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* ── Product Subtotal ── */
.woocommerce-cart table.shop_table .product-subtotal {
    text-align: center;
    font-weight: 500;
}


/* ═══════════════════════════════════════════════════════════════
 * ACTIONS ROW (Coupon + Update Cart)
 * ═══════════════════════════════════════════════════════════════ */

.woocommerce-cart table.shop_table td.actions {
    padding: 24px;
    background: var(--nude);
    border-top: 1px solid var(--nude-dark);
    border-bottom: none !important;
}

.woocommerce-cart .coupon {
    display: inline-flex;
    align-items: center;
    gap: 0;
}

.woocommerce-cart .coupon label {
    display: none;
}

.woocommerce-cart .coupon .input-text {
    font-family: 'DM Mono', monospace;
    font-size: 12px;
    letter-spacing: 0.04em;
    padding: 12px 16px;
    border: 1px solid var(--nude-dark);
    border-right: none;
    background: var(--white);
    color: var(--ink);
    outline: none;
    min-width: 240px;
    width: 240px;
    transition: border-color 0.2s;
}

.woocommerce-cart .coupon .input-text::placeholder {
    color: var(--sand);
}

.woocommerce-cart .coupon .input-text:focus {
    border-color: var(--ink);
}

.woocommerce-cart .coupon .button {
    font-family: 'DM Mono', monospace !important;
    font-size: 11px !important;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    background: var(--ink) !important;
    color: var(--white) !important;
    padding: 13px 20px !important;
    border: 1px solid var(--ink) !important;
    border-radius: 0 !important;
    cursor: pointer;
    transition: background 0.2s;
    white-space: nowrap;
}

.woocommerce-cart .coupon .button:hover {
    background: var(--ink-soft) !important;
}

/* Update Cart button */
.woocommerce-cart table.shop_table td.actions > .button,
.woocommerce-cart table.shop_table td.actions > input[name="update_cart"] {
    float: right;
    font-family: 'DM Mono', monospace !important;
    font-size: 11px !important;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    background: transparent !important;
    color: var(--ink) !important;
    padding: 12px 24px !important;
    border: 1px solid var(--nude-dark) !important;
    border-radius: 0 !important;
    cursor: pointer;
    transition: all 0.2s;
}

.woocommerce-cart table.shop_table td.actions > .button:hover,
.woocommerce-cart table.shop_table td.actions > input[name="update_cart"]:hover {
    background: var(--ink) !important;
    color: var(--white) !important;
    border-color: var(--ink) !important;
}

.woocommerce-cart table.shop_table td.actions > .button:disabled,
.woocommerce-cart table.shop_table td.actions > input[name="update_cart"]:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}


/* ═══════════════════════════════════════════════════════════════
 * CART TOTALS
 * ═══════════════════════════════════════════════════════════════ */

.woocommerce-cart .cart-collaterals {
    margin-top: 0;
}

/* Höhere Spezifität als das WooCommerce-Default (.woocommerce .cart-collaterals
   .cart_totals { float:right; width:48% }) — sonst gewinnt WC und die Box wird
   schmal/halbbreit, besonders MOBIL: WCs Mobile-Override (volle Breite) steckt in
   der woocommerce-smallscreen.css, die das Theme entfernt. Daher hier mobil-first
   volle Breite (+ !important gegen WC), erst auf großen Screens rechtsbündig
   begrenzt. */
.woocommerce-cart .cart-collaterals .cart_totals {
    float: none !important;
    width: 100% !important;
    max-width: 100%;
    margin-left: auto;
    background: var(--white);
    border: 1px solid var(--nude-dark);
    padding: 0;
    overflow: visible;
}
@media (min-width: 1000px) {
    .woocommerce-cart .cart-collaterals .cart_totals {
        width: 420px !important;
    }
}

/* Header */
.woocommerce-cart .cart_totals > h2 {
    font-family: 'DM Serif Display', serif;
    font-size: 20px;
    color: var(--ink);
    margin: 0;
    padding: 28px 32px;
    border-bottom: 1px solid var(--nude-dark);
    background: var(--white);
    letter-spacing: -0.01em;
}

/* Totals Table */
.woocommerce-cart .cart_totals table {
    width: 100%;
    border-collapse: collapse;
}

.woocommerce-cart .cart_totals table th {
    font-family: 'DM Mono', monospace;
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ink-mute);
    font-weight: 400;
    text-align: left;
    padding: 20px 32px;
    border-bottom: 1px solid var(--nude-dark);
    vertical-align: top;
    width: 40%;
    background: var(--white);
}

.woocommerce-cart .cart_totals table td {
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    color: var(--ink-soft);
    text-align: right;
    padding: 20px 32px;
    border-bottom: 1px solid var(--nude-dark);
    vertical-align: top;
    background: var(--white);
}

.woocommerce-cart .cart_totals table td .amount {
    font-family: 'DM Mono', monospace;
    font-weight: 500;
    color: var(--ink);
}

/* Subtotal row */
.woocommerce-cart .cart_totals table tr.cart-subtotal td .amount {
    font-size: 15px;
}

/* Shipping row */
.woocommerce-cart .cart_totals table tr.woocommerce-shipping-totals td {
    text-align: right;
    font-size: 13px;
    color: var(--ink-mute);
    line-height: 1.7;
}

.woocommerce-cart .cart_totals table tr.woocommerce-shipping-totals td p {
    margin: 0 0 4px;
}

.woocommerce-cart .cart_totals .shipping-calculator-button {
    font-family: 'DM Mono', monospace;
    font-size: 11px;
    letter-spacing: 0.06em;
    color: var(--ink);
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
    transition: color 0.2s;
    display: inline-block;
    margin-top: 4px;
}

.woocommerce-cart .cart_totals .shipping-calculator-button:hover {
    color: var(--ink-mute);
}

/* Shipping calculator form */
.woocommerce-cart .cart_totals .shipping-calculator-form {
    margin-top: 12px;
    text-align: left;
}

.woocommerce-cart .cart_totals .shipping-calculator-form .form-row {
    margin-bottom: 10px;
}

.woocommerce-cart .cart_totals .shipping-calculator-form select,
.woocommerce-cart .cart_totals .shipping-calculator-form .input-text {
    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    padding: 10px 14px;
    border: 1px solid var(--nude-dark);
    background: var(--white);
    color: var(--ink);
    width: 100%;
    outline: none;
    transition: border-color 0.2s;
}

.woocommerce-cart .cart_totals .shipping-calculator-form select:focus,
.woocommerce-cart .cart_totals .shipping-calculator-form .input-text:focus {
    border-color: var(--ink);
}

/* Order Total row — highlighted */
.woocommerce-cart .cart_totals table tr.order-total th,
.woocommerce-cart .cart_totals table tr.order-total td {
    background: var(--nude);
    border-bottom: 1px solid var(--nude-dark);
}

.woocommerce-cart .cart_totals table tr.order-total th {
    font-size: 12px;
    color: var(--ink);
    font-weight: 500;
    padding: 24px 32px;
}

.woocommerce-cart .cart_totals table tr.order-total td {
    padding: 24px 32px;
}

.woocommerce-cart .cart_totals table tr.order-total .amount {
    font-family: 'DM Mono', monospace;
    font-size: 24px;
    font-weight: 500;
    color: var(--ink);
}

/* Tax info row */
.woocommerce-cart .cart_totals table tr.tax-rate th,
.woocommerce-cart .cart_totals table tr.tax-rate td,
.woocommerce-cart .cart_totals table tr.tax-total th,
.woocommerce-cart .cart_totals table tr.tax-total td {
    font-size: 12px;
    color: var(--ink-mute);
    padding: 14px 32px;
    background: var(--white);
}

.woocommerce-cart .cart_totals table .includes_tax {
    font-family: 'DM Mono', monospace;
    font-size: 11px;
    color: var(--ink-mute);
    display: block;
    margin-top: 4px;
    font-weight: 400;
}

/* Proceed to Checkout */
.woocommerce-cart .cart_totals .wc-proceed-to-checkout {
    padding: 28px 32px 32px;
    background: var(--white);
}

.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .cart_totals .wc-proceed-to-checkout .button {
    display: block;
    width: 100%;
    font-family: 'DM Mono', monospace !important;
    font-size: 13px !important;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-align: center;
    background: var(--ink) !important;
    color: var(--white) !important;
    padding: 18px 32px !important;
    border: none !important;
    border-radius: 0 !important;
    cursor: pointer;
    transition: all 0.25s;
    text-decoration: none;
}

.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart .cart_totals .wc-proceed-to-checkout .button:hover {
    background: var(--ink-soft) !important;
    transform: translateY(-1px);
    box-shadow: 0 8px 24px rgba(28,28,26,0.15);
}

/* Trust line under checkout button */
.woocommerce-cart .cart_totals .wc-proceed-to-checkout::after {
    content: '🔒  Sichere Zahlung  ·  📦  Versand innerhalb von 72h  ·  ↩️  30 Tage Rückgabe';
    display: block;
    text-align: center;
    font-family: 'DM Mono', monospace;
    font-size: 10px;
    letter-spacing: 0.04em;
    color: var(--ink-mute);
    margin-top: 16px;
    line-height: 1.8;
}


/* ═══════════════════════════════════════════════════════════════
 * EMPTY CART
 * ═══════════════════════════════════════════════════════════════ */

.woocommerce-cart .cart-empty {
    /* display:block hebt das von .woocommerce-info geerbte display:flex auf —
       sonst bleibt der Text linksbündig und das absolute Notice-Icon (::before)
       überlappt den ersten Buchstaben. */
    display: block;
    text-align: center;
    padding: 60px 24px;
    font-family: 'DM Serif Display', serif;
    font-size: 20px;
    color: var(--ink-mute);
}
/* Kein Notice-Icon bei der Leer-Meldung: WooCommerce setzt es über seine
   Iconfont, die hier nicht geladen ist → Tofu-Kästchen. Entfernen. */
.woocommerce-cart .cart-empty::before {
    content: none;
}

.woocommerce-cart .return-to-shop {
    text-align: center;
    margin-top: 24px;
}

.woocommerce-cart .return-to-shop .button {
    font-family: 'DM Mono', monospace !important;
    font-size: 12px !important;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    background: var(--ink) !important;
    color: var(--white) !important;
    padding: 14px 32px !important;
    border: none !important;
    border-radius: 0 !important;
    text-decoration: none;
    display: inline-block;
    transition: all 0.25s;
}

.woocommerce-cart .return-to-shop .button:hover {
    background: var(--ink-soft) !important;
    transform: translateY(-1px);
}


/* ═══════════════════════════════════════════════════════════════
 * CART RESPONSIVE
 * ═══════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
    /* Breite/Float regelt die höher spezifische .cart-collaterals-Regel oben;
       hier nur der Abstand zur Cart-Tabelle. */
    .woocommerce-cart .cart-collaterals .cart_totals {
        margin-top: 32px;
    }

    .woocommerce-cart table.shop_table th {
        padding: 12px 16px;
    }

    .woocommerce-cart table.shop_table td {
        padding: 20px 16px;
    }

    .woocommerce-cart table.shop_table .product-thumbnail {
        width: 80px;
        padding: 20px 8px 20px 16px;
    }

    .woocommerce-cart table.shop_table img {
        width: 60px;
        height: 60px;
    }

    .woocommerce-cart table.shop_table .product-name a {
        font-size: 14px;
    }

    .woocommerce-cart table.shop_table td.actions {
        padding: 16px;
    }

    .woocommerce-cart .coupon {
        display: flex;
        width: 100%;
        margin-bottom: 12px;
    }

    .woocommerce-cart .coupon .input-text {
        min-width: 0;
        flex: 1;
    }

    .woocommerce-cart table.shop_table td.actions > .button,
    .woocommerce-cart table.shop_table td.actions > input[name="update_cart"] {
        float: none;
        width: 100%;
        text-align: center;
    }

    .woocommerce-cart .cart_totals > h2 {
        padding: 20px 24px;
    }

    .woocommerce-cart .cart_totals table th,
    .woocommerce-cart .cart_totals table td {
        padding: 16px 24px;
    }

    .woocommerce-cart .cart_totals .wc-proceed-to-checkout {
        padding: 24px;
    }

    .woocommerce-cart .cart_totals .wc-proceed-to-checkout::after {
        font-size: 9px;
    }
}

/* Mobile — Cart-Tabelle als Karten stapeln (verhindert horizontalen Overflow
   der breiten Tabelle und damit, dass die Summe-Box rechts aus dem Viewport
   läuft). */
@media (max-width: 768px) {
    .woocommerce-cart table.shop_table thead {
        display: none;
    }

    .woocommerce-cart table.shop_table,
    .woocommerce-cart table.shop_table tbody,
    .woocommerce-cart table.shop_table tr.cart_item,
    .woocommerce-cart table.shop_table td {
        display: block;
        width: 100%;
    }

    .woocommerce-cart table.shop_table tr.cart_item {
        position: relative;
        padding: 20px 16px;
        border-bottom: 1px solid var(--nude-dark);
        display: grid;
        grid-template-columns: 72px 1fr;
        grid-template-rows: auto auto;
        gap: 4px 16px;
    }

    .woocommerce-cart table.shop_table tr.cart_item td {
        border: none;
        padding: 0;
    }

    .woocommerce-cart table.shop_table .product-remove {
        position: absolute;
        top: 16px;
        right: 12px;
        width: auto;
    }

    .woocommerce-cart table.shop_table .product-thumbnail {
        grid-row: 1 / 3;
        width: auto;
    }

    .woocommerce-cart table.shop_table .product-name {
        padding-left: 0;
        grid-column: 2;
    }

    .woocommerce-cart table.shop_table .product-price,
    .woocommerce-cart table.shop_table .product-quantity,
    .woocommerce-cart table.shop_table .product-subtotal {
        text-align: left;
        grid-column: 2;
    }

    .woocommerce-cart table.shop_table .product-price::before {
        content: 'Preis: ';
        font-family: 'DM Mono', monospace;
        font-size: 10px;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--ink-mute);
        margin-right: 8px;
    }

    .woocommerce-cart table.shop_table .product-subtotal::before {
        content: 'Gesamt: ';
        font-family: 'DM Mono', monospace;
        font-size: 10px;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--ink-mute);
        margin-right: 8px;
    }

    .woocommerce-cart table.shop_table td.actions {
        display: block;
        grid-column: 1 / -1;
    }
}


/* ═══════════════════════════════════════════════════════════════
 * GENERAL TABLE (non-cart pages like order details)
 * ═══════════════════════════════════════════════════════════════ */

.woocommerce table.shop_table {
    border: 1px solid var(--nude-dark);
    border-collapse: collapse;
    width: 100%;
}

.woocommerce table.shop_table th {
    font-family: 'DM Mono', monospace;
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ink-mute);
    background: var(--nude);
    padding: 14px 16px;
    border-bottom: 1px solid var(--nude-dark);
    font-weight: 400;
}

.woocommerce table.shop_table td {
    padding: 16px;
    border-bottom: 1px solid var(--nude-dark);
    vertical-align: middle;
    font-size: 14px;
}

.woocommerce table.shop_table .product-name a {
    font-family: 'DM Serif Display', serif;
    font-size: 15px;
    color: var(--ink);
    text-decoration: none;
}

.woocommerce table.shop_table .product-name a:hover {
    color: var(--ink-soft);
}

.woocommerce table.shop_table .product-price .amount,
.woocommerce table.shop_table .product-subtotal .amount {
    font-family: 'DM Mono', monospace;
    font-size: 14px;
    font-weight: 500;
}

.woocommerce table.shop_table .product-remove a {
    font-size: 18px;
    color: var(--ink-mute);
    text-decoration: none;
}

.woocommerce table.shop_table .product-remove a:hover {
    color: var(--red);
}

.woocommerce table.shop_table img {
    width: 60px;
    height: 60px;
    object-fit: cover;
}


/* ═══════════════════════════════════════════════════════════════
 * CHECKOUT
 * ═══════════════════════════════════════════════════════════════ */

.woocommerce-checkout .page-content {
    padding-top: 104px;
}

.woocommerce form .form-row label {
    font-family: 'DM Mono', monospace;
    font-size: 11px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--ink-mute);
    margin-bottom: 6px;
}

.woocommerce form .form-row .input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    padding: 12px 16px;
    border: 1px solid var(--nude-dark);
    background: var(--white);
    border-radius: 0;
    color: var(--ink);
    transition: border-color 0.2s;
}

.woocommerce form .form-row .input-text:focus,
.woocommerce form .form-row select:focus {
    border-color: var(--ink);
    outline: none;
    box-shadow: none;
}

.woocommerce #order_review_heading {
    font-family: 'DM Serif Display', serif;
    font-size: 20px;
    margin: 32px 0 16px;
}

.woocommerce .checkout #payment {
    background: var(--nude);
    border: 1px solid var(--nude-dark);
    border-radius: 0;
}

.woocommerce .checkout #payment ul.payment_methods li {
    font-size: 14px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--nude-dark);
}

.woocommerce #place_order {
    font-family: 'DM Mono', monospace !important;
    font-size: 13px !important;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    background: var(--ink) !important;
    color: var(--white) !important;
    padding: 16px 32px !important;
    border: none !important;
    border-radius: 0 !important;
    width: 100%;
    cursor: pointer;
    transition: background 0.2s;
}

.woocommerce #place_order:hover {
    background: var(--ink-soft) !important;
}


/* ═══════════════════════════════════════════════════════════════
 * 2-SPALTEN AUF MOBIL STAPELN (Login/Registrieren + Rechnung/Lieferung)
 *
 * WooCommerce legt diese Bereiche als Float-Zwei-Spalter an
 * (#customer_login bzw. #customer_details mit .col-1/.col-2). WCs eigene
 * Mobile-Stapelung sitzt in der vom Theme entfernten
 * woocommerce-smallscreen.css — daher hier selbst stapeln. ID-scoped, damit
 * andere Layouts (z. B. Adressen) unberührt bleiben; !important schlägt das
 * WC-Default sicher.
 * ═══════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
    #customer_login .col-1,
    #customer_login .col-2,
    #customer_login .u-column1,
    #customer_login .u-column2,
    #customer_details .col-1,
    #customer_details .col-2 {
        float: none !important;
        width: 100% !important;
    }
    #customer_login .col-2,
    #customer_login .u-column2,
    #customer_details .col-2 {
        margin-top: 32px;
    }
}


/* ═══════════════════════════════════════════════════════════════
 * MY ACCOUNT
 * ═══════════════════════════════════════════════════════════════ */

.woocommerce-account .page-content {
    padding-top: 104px;
}

/* ─── Bestellübersicht: Aktions-Buttons (Outline + Icon) ───
 * WC vergibt hier nur das globale Solid-Ink-Button-Styling → die zwei Aktionen
 * („Anzeigen" = .view, Germanized „Jetzt nachverfolgen") überlappen/wirken
 * schwer. Hier als gleichwertige Outline-Buttons mit Linien-Icon, sauberem
 * Abstand und sauberem Umbruch. Nur in der Orders-Tabelle, sonst nichts geändert. */
.woocommerce-orders-table__cell-order-actions .button {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    font-family: 'DM Mono', monospace !important;
    font-size: 12px !important;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 10px 16px !important;
    margin: 0 8px 8px 0 !important;
    border: 1px solid var(--ink) !important;
    background: transparent !important;
    color: var(--ink) !important;
    border-radius: 0 !important;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color 0.2s, color 0.2s;
}
.woocommerce-orders-table__cell-order-actions .button:hover {
    background: var(--nude) !important;
    color: var(--ink) !important;
}
/* Icon (ink-farbig via Maske → folgt der Textfarbe). Nur für die beiden
   relevanten Aktionen, damit z. B. „Bezahlen"/„Stornieren" kein Kästchen kriegt. */
.woocommerce-orders-table__cell-order-actions .button.view::before,
.woocommerce-orders-table__cell-order-actions .button:not(.view):not(.pay):not(.cancel)::before {
    content: "";
    width: 15px;
    height: 15px;
    flex: none;
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-size: contain;
            mask-size: contain;
}
.woocommerce-orders-table__cell-order-actions .button.view::before {
    -webkit-mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7Z'/><circle cx='12' cy='12' r='3'/></svg>");
            mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7Z'/><circle cx='12' cy='12' r='3'/></svg>");
}
.woocommerce-orders-table__cell-order-actions .button:not(.view):not(.pay):not(.cancel)::before {
    -webkit-mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M1 3h15v13H1z'/><path d='M16 8h4l3 3v5h-7'/><circle cx='5.5' cy='18.5' r='2.5'/><circle cx='18.5' cy='18.5' r='2.5'/></svg>");
            mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M1 3h15v13H1z'/><path d='M16 8h4l3 3v5h-7'/><circle cx='5.5' cy='18.5' r='2.5'/><circle cx='18.5' cy='18.5' r='2.5'/></svg>");
}
/* Mobil: Buttons volle Breite stapeln (kein gequetschtes Nebeneinander). */
@media (max-width: 768px) {
    .woocommerce-orders-table__cell-order-actions .button {
        display: flex !important;
        width: 100%;
        margin: 0 0 8px 0 !important;
        justify-content: center;
    }
}

.woocommerce-MyAccount-navigation ul {
    list-style: none;
    border: 1px solid var(--nude-dark);
}

.woocommerce-MyAccount-navigation ul li {
    border-bottom: 1px solid var(--nude-dark);
}

.woocommerce-MyAccount-navigation ul li:last-child {
    border-bottom: none;
}

.woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: 12px 16px;
    font-family: 'DM Mono', monospace;
    font-size: 12px;
    letter-spacing: 0.06em;
    color: var(--ink-mute);
    text-decoration: none;
    transition: all 0.2s;
}

.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover {
    background: var(--ink);
    color: var(--white);
}


/* ── Account Addresses ── */
.woocommerce-MyAccount-content .addresses {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    width: 100%;
}

.woocommerce-MyAccount-content .addresses .col-1,
.woocommerce-MyAccount-content .addresses .col-2 {
    width: 100% !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce-MyAccount-content .addresses .woocommerce-Address {
    border: 1px solid var(--nude-dark);
    padding: 0;
    overflow: hidden;
}

.woocommerce-MyAccount-content .addresses .woocommerce-Address .title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    /* Umbrechbar: bei schmaler Karte rutscht der „Bearbeiten"-Button unter die
       Überschrift statt aus der Karte (overflow:hidden) abgeschnitten zu werden. */
    flex-wrap: wrap;
    gap: 12px;
    padding: 18px 24px;
    background: var(--nude);
    border-bottom: 1px solid var(--nude-dark);
}

.woocommerce-MyAccount-content .addresses .woocommerce-Address .title h3 {
    font-family: 'DM Serif Display', serif;
    font-size: 16px;
    color: var(--ink);
    margin: 0;
}

.woocommerce-MyAccount-content .addresses .woocommerce-Address .title a {
    font-family: 'DM Mono', monospace;
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    background: var(--ink);
    color: var(--white);
    padding: 8px 16px;
    text-decoration: none;
    transition: all 0.2s;
}

.woocommerce-MyAccount-content .addresses .woocommerce-Address .title a:hover {
    background: var(--ink-soft);
    transform: translateY(-1px);
}

.woocommerce-MyAccount-content .addresses .woocommerce-Address address {
    padding: 20px 24px;
    font-style: normal;
    font-size: 14px;
    color: var(--ink-soft);
    line-height: 1.8;
}

/* ── My-Account Mobile: alles untereinander, nichts abgeschnitten ── */
@media (max-width: 768px) {
    /* Navigation + Inhalt untereinander. WC floatet sie 35%/65%; ohne WCs
       (entfernte) Mobile-Stapelung bliebe der Inhalt zu schmal und liefe über. */
    .woocommerce-account .woocommerce-MyAccount-navigation,
    .woocommerce-account .woocommerce-MyAccount-content {
        float: none !important;
        width: 100% !important;
    }
    .woocommerce-account .woocommerce-MyAccount-content {
        margin-top: 24px;
    }

    /* Adress-Kacheln einspaltig (Basis ist bereits 1fr). */
    .woocommerce-MyAccount-content .addresses {
        grid-template-columns: 1fr;
    }

    /* Alle Zwei-Spalter im Account stapeln (Adressen-Seite + Adressen auf der
       „Bestellung ansehen"-Seite nutzen .col-1/.col-2 als Float-Spalten). */
    .woocommerce-account .col-1,
    .woocommerce-account .col-2 {
        float: none !important;
        width: 100% !important;
    }

    /* Bestelltabelle als Karten stapeln (sonst läuft sie über den Viewport).
       Spalten-Labels via data-title, das WooCommerce an die Zellen setzt. */
    .woocommerce-orders-table thead {
        display: none;
    }
    .woocommerce-orders-table,
    .woocommerce-orders-table tbody,
    .woocommerce-orders-table tr,
    .woocommerce-orders-table td {
        display: block;
        width: 100%;
    }
    .woocommerce-orders-table tr {
        border: 1px solid var(--nude-dark);
        margin-bottom: 16px;
    }
    .woocommerce-orders-table td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 16px;
        text-align: right;
        padding: 12px 16px;
        border: none;
        border-bottom: 1px solid var(--nude-dark);
    }
    .woocommerce-orders-table td::before {
        content: attr(data-title);
        font-family: 'DM Mono', monospace;
        font-size: 10px;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--ink-mute);
        text-align: left;
    }
    /* Aktionen-Zelle: Label oben, Buttons darunter volle Breite. */
    .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions {
        display: block;
        text-align: left;
        border-bottom: none;
    }
    .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions::before {
        display: block;
        margin-bottom: 10px;
    }

    /* Formular-Zweispalter (Vorname/Nachname) stapeln — Kontodetails & Checkout. */
    .woocommerce form .form-row-first,
    .woocommerce form .form-row-last {
        float: none !important;
        width: 100% !important;
    }
}

/* ═══════════════════════════════════════════════════════════════
 * GERMANIZED NOTICES
 * ═══════════════════════════════════════════════════════════════ */

.wc-gzd-additional-info {
    font-size: 12px;
    color: var(--ink-mute);
    font-family: 'DM Sans', sans-serif;
}

.wc-gzd-additional-info a {
    color: var(--ink-mute);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.wc-gzd-additional-info a:hover {
    color: var(--ink);
}

.wc-gzd-additional-info.wc-gzd-additional-info-loop {
    font-size: 10px;
    margin-top: 4px;
}


/* ═══════════════════════════════════════════════════════════════
 * SHIPTASTIC / ORDER RECEIVED
 * ═══════════════════════════════════════════════════════════════ */

.wc-gzd-shipments-modal {
    font-family: 'DM Sans', sans-serif;
}

.woocommerce-order-received .page-content {
    padding-top: 104px;
}

.woocommerce-thankyou-order-received {
    font-family: 'DM Serif Display', serif;
    font-size: 24px;
    color: var(--green);
    margin-bottom: 24px;
}

/* ── Restliche WooCommerce-Float-Layouts mobil stapeln ──
 * Gleicher Mechanismus wie bei Cart/Checkout/Account: WCs eigene Mobile-
 * Stapelung sitzt in der vom Theme entfernten woocommerce-smallscreen.css.
 * Defensive Sammel-Regel für die übrigen WC-Standard-Spaltenlayouts
 * (Bestellbestätigung „Danke", „Bestellung ansehen", …). */
@media (max-width: 768px) {
    /* Alle WC-Zwei-Spalter (col2-set / woocommerce-columns / u-columns). */
    .woocommerce .col2-set .col-1,
    .woocommerce .col2-set .col-2,
    .woocommerce .woocommerce-columns .col-1,
    .woocommerce .woocommerce-columns .col-2,
    .woocommerce .u-columns .u-column1,
    .woocommerce .u-columns .u-column2 {
        float: none !important;
        width: 100% !important;
    }

    /* „Danke für deine Bestellung" – Übersicht (Nr./Datum/Summe/Zahlart),
       von WC mehrspaltig gefloatet → sauber untereinander. */
    .woocommerce-order-overview {
        display: block;
        border: 1px solid var(--nude-dark);
    }
    .woocommerce-order-overview li {
        float: none !important;
        width: 100% !important;
        margin: 0;
        padding: 14px 16px;
        border: none;
        border-bottom: 1px solid var(--nude-dark);
        text-align: left;
    }
    .woocommerce-order-overview li:last-child {
        border-bottom: none;
    }
}


/* ═══════════════════════════════════════════════════════════════
 * GLOBAL OVERRIDES
 * ═══════════════════════════════════════════════════════════════ */

.woocommerce .woocommerce-ordering select {
    font-family: 'DM Mono', monospace;
    font-size: 11px;
    padding: 9px 14px;
    border: 1px solid var(--nude-dark);
    background: var(--white);
    color: var(--ink-soft);
    cursor: pointer;
    outline: none;
}

.woocommerce .woocommerce-result-count {
    font-family: 'DM Mono', monospace;
    font-size: 11px;
    color: var(--ink-mute);
}

.woocommerce .price del {
    opacity: 0.5;
    font-size: 0.85em;
}

.woocommerce .price ins {
    text-decoration: none;
    color: var(--red);
    font-weight: 500;
}

.woocommerce span.onsale {
    font-family: 'DM Mono', monospace;
    font-size: 10px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    background: var(--red);
    color: #fff;
    border-radius: 0;
    padding: 4px 10px;
    min-width: auto;
    min-height: auto;
    line-height: 1.5;
}

.woocommerce .star-rating {
    color: #C47A3A;
}

.select2-container--default .select2-selection--single {
    border: 1px solid var(--nude-dark) !important;
    border-radius: 0 !important;
    height: auto !important;
    padding: 8px 12px !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 14px !important;
    color: var(--ink) !important;
}


/* ═══════════════════════════════════════════════════════════════
 * SINGLE PRODUCT: ADD TO CART WRAP
 * ═══════════════════════════════════════════════════════════════ */

.servben-add-to-cart-wrap {
    margin-bottom: 24px;
}

.servben-add-to-cart-wrap form.cart {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.servben-add-to-cart-wrap form.cart .quantity {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--nude-dark);
    width: fit-content;
}

.servben-add-to-cart-wrap form.cart .quantity .qty {
    font-family: 'DM Mono', monospace;
    font-size: 14px;
    width: 64px;
    text-align: center;
    border: none;
    padding: 10px 8px;
    background: var(--white);
    color: var(--ink);
    outline: none;
    -moz-appearance: textfield;
}

.servben-add-to-cart-wrap form.cart .quantity .qty::-webkit-inner-spin-button,
.servben-add-to-cart-wrap form.cart .quantity .qty::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.servben-add-to-cart-wrap form.cart button.single_add_to_cart_button,
.servben-add-to-cart-wrap form.cart .single_add_to_cart_button {
    font-family: 'DM Mono', monospace !important;
    font-size: 12px !important;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    background: var(--ink) !important;
    color: var(--white) !important;
    padding: 16px 32px !important;
    border: none !important;
    border-radius: 0 !important;
    width: 100%;
    cursor: pointer;
    transition: all 0.25s;
    display: block;
}

.servben-add-to-cart-wrap form.cart button.single_add_to_cart_button:hover,
.servben-add-to-cart-wrap form.cart .single_add_to_cart_button:hover {
    background: var(--ink-soft) !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(28,28,26,0.15);
}

.servben-add-to-cart-wrap .variations_form table.variations {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 12px;
}

.servben-add-to-cart-wrap .variations_form table.variations tr {
    border-bottom: 1px solid var(--nude);
}

.servben-add-to-cart-wrap .variations_form table.variations tr:last-child {
    border-bottom: none;
}

.servben-add-to-cart-wrap .variations_form table.variations td {
    padding: 10px 0;
    vertical-align: middle;
}

.servben-add-to-cart-wrap .variations_form table.variations td.label,
.servben-add-to-cart-wrap .variations_form table.variations td.label label {
    font-family: 'DM Mono', monospace;
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ink-mute);
    padding-right: 20px;
    white-space: nowrap;
    font-weight: 400;
}

.servben-add-to-cart-wrap .variations_form table.variations td.value {
    width: 100%;
}

.servben-add-to-cart-wrap .variations_form table.variations td.value select {
    font-family: 'DM Mono', monospace;
    font-size: 12px;
    letter-spacing: 0.06em;
    padding: 10px 14px;
    border: 1px solid var(--nude-dark);
    background: var(--white);
    color: var(--ink-soft);
    width: 100%;
    cursor: pointer;
    outline: none;
    transition: border-color 0.2s;
    -webkit-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 5l3 3 3-3' fill='none' stroke='%237A7873' stroke-width='1.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 36px;
}

.servben-add-to-cart-wrap .variations_form table.variations td.value select:focus {
    border-color: var(--ink);
}

.servben-add-to-cart-wrap .reset_variations {
    font-family: 'DM Mono', monospace;
    font-size: 11px;
    color: var(--ink-mute);
    cursor: pointer;
    margin-top: 6px;
    display: inline-block;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.servben-add-to-cart-wrap .reset_variations:hover {
    color: var(--ink);
}

.servben-add-to-cart-wrap .woocommerce-variation-price {
    margin-bottom: 12px;
}

.servben-add-to-cart-wrap .woocommerce-variation-price .price {
    font-family: 'DM Mono', monospace;
    font-size: 22px;
    font-weight: 500;
    color: var(--ink);
}

.servben-add-to-cart-wrap .woocommerce-variation-description p {
    font-size: 14px;
    color: var(--ink-soft);
    line-height: 1.7;
    margin-bottom: 8px;
}

.servben-add-to-cart-wrap .woocommerce-variation-availability {
    margin-bottom: 8px;
}

.servben-add-to-cart-wrap .woocommerce-variation-availability .stock {
    font-family: 'DM Mono', monospace;
    font-size: 11px;
    letter-spacing: 0.06em;
}

.servben-add-to-cart-wrap .stock.in-stock {
    color: var(--green);
}

.servben-add-to-cart-wrap .stock.out-of-stock {
    color: var(--red);
}

.servben-add-to-cart-wrap p.stock.out-of-stock {
    font-family: 'DM Mono', monospace;
    font-size: 12px;
    color: var(--red);
    padding: 12px 16px;
    background: rgba(196,94,62,0.08);
    border: 1px solid rgba(196,94,62,0.2);
}

.servben-add-to-cart-wrap .group_table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 16px;
}

.servben-add-to-cart-wrap .group_table td {
    padding: 10px 8px;
    border-bottom: 1px solid var(--nude);
    vertical-align: middle;
}

.servben-add-to-cart-wrap .group_table .woocommerce-grouped-product-list-item__label a {
    font-family: 'DM Serif Display', serif;
    font-size: 14px;
    color: var(--ink);
    text-decoration: none;
}

.servben-add-to-cart-wrap .group_table .woocommerce-grouped-product-list-item__label a:hover {
    color: var(--ink-mute);
}

.servben-add-to-cart-wrap .group_table .woocommerce-grouped-product-list-item__price {
    font-family: 'DM Mono', monospace;
    font-size: 13px;
    color: var(--ink-soft);
}

.servben-add-to-cart-wrap .wc-gzd-additional-info,
.wc-gzd-additional-info {
    font-size: 12px;
    color: var(--ink-mute);
    font-family: 'DM Sans', sans-serif;
}

.servben-add-to-cart-wrap .wc-gzd-additional-info a,
.wc-gzd-additional-info a {
    color: var(--ink-mute);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.servben-add-to-cart-wrap .wc-gzd-additional-info a:hover,
.wc-gzd-additional-info a:hover {
    color: var(--ink);
}
