/*
 * Warenkorb
 *
 * Scoped to the cart page so Kadence and WooCommerce defaults remain unchanged
 * everywhere else.
 */
.woocommerce-cart .cart-summary {
    display: none;
}

.woocommerce-cart .eichermusic-cart-title {
    color: var(--global-palette4);
    font-family: var(--global-heading-font-family);
    font-size: clamp(1.875rem, 2.5vw, 2.25rem);
    font-weight: 400;
    line-height: 1.2;
    margin: 0 0 1.5rem;
    text-align: left;
}

/* Product table */
.woocommerce-cart table.cart {
    border: 0;
    border-collapse: collapse;
    margin-bottom: var(--global-md-spacing);
}

.woocommerce-cart table.cart thead {
    border-bottom: 2px solid var(--global-palette2);
}

body.woocommerce-cart.woocommerce-page table.cart thead th {
    border: 0;
    color: var(--global-palette4);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    padding: 1rem 0.75rem;
    text-transform: none;
}

body.woocommerce-cart.woocommerce-page table.cart thead th.product-quantity {
    font-size: 0.75rem !important;
}

.woocommerce-cart table.cart td {
    border-color: var(--global-palette6);
    color: var(--global-palette4);
    padding-bottom: 1.5rem;
    padding-top: 1.5rem;
    vertical-align: middle;
}

.woocommerce-cart table.cart tbody tr.woocommerce-cart-form__cart-item td {
    border-bottom: 2px solid var(--global-palette7);
}

.woocommerce-cart table.cart .product-thumbnail img {
    display: block;
    max-width: 100%;
    width: 7.5rem;
}

.woocommerce-cart table.cart .product-name {
    font-size: 1rem;
    line-height: 1.45;
}

.woocommerce-cart table.cart td.product-name a {
    color: var(--global-palette4) !important;
    font-weight: 500;
    text-decoration: none;
}

.woocommerce-cart table.cart .product-name a:hover,
.woocommerce-cart table.cart .product-name a:focus {
    color: var(--global-palette1);
}

.woocommerce-cart table.cart .product-price,
.woocommerce-cart table.cart .product-subtotal {
    font-size: 0.9375rem;
}

.woocommerce-cart table.cart .product-subtotal {
    font-weight: 600;
}

.woocommerce-cart table.cart .product-subtotal .includes_tax {
    color: var(--global-palette5);
    display: block;
    font-size: 0.6875rem;
    font-weight: 400;
    line-height: 1.4;
    margin-top: 0.25rem;
}

.woocommerce-cart table.cart .product-name dl.variation {
    color: var(--global-palette4);
    font-size: 0.8125rem;
    margin: 0.375rem 0 0;
}

.woocommerce-cart table.cart .product-name dl.variation dt {
    display: none;
}

.woocommerce-cart table.cart .product-name dl.variation dd,
.woocommerce-cart table.cart .product-name dl.variation dd p {
    color: var(--global-palette4);
    font-weight: 400;
    margin: 0;
}

/* Quantity controls */
.woocommerce-cart table.cart .product-quantity .quantity {
    margin: 0;
}

.woocommerce-cart table.cart .product-quantity .quantity .qty {
    background: var(--global-palette7);
    border: 0;
    border-radius: 4px;
    box-shadow: none;
    color: var(--global-palette4);
    font-size: 0.8125rem;
    font-weight: 600;
    height: 2rem;
    min-height: 0;
    padding: 0.25rem;
    text-align: center;
    width: 4.5rem;
}

.woocommerce-cart table.cart .product-remove a.remove {
    color: var(--global-palette1) !important;
}

.woocommerce-cart table.cart .product-remove a.remove:hover,
.woocommerce-cart table.cart .product-remove a.remove:focus {
    background: var(--global-palette1);
    color: var(--global-palette9) !important;
}

/* Coupon, update and legal notice */
.woocommerce-cart table.cart td.actions {
    border-top: 2px solid var(--global-palette7);
    padding: 1rem 0;
}

.woocommerce-cart table.cart td.actions .coupon .input-text {
    background: var(--global-palette7);
    border: 1px solid var(--global-palette1);
    border-radius: 4px;
    color: var(--global-palette4);
    min-height: 2.75rem;
}

.woocommerce-cart table.cart td.actions .coupon .input-text::placeholder {
    color: var(--global-palette5);
    opacity: 1;
}

.woocommerce-cart table.cart td.actions .coupon .input-text:focus {
    border-color: var(--global-palette1);
    box-shadow: 0 0 0 1px var(--global-palette1);
}

.woocommerce-cart table.cart td.actions .button {
    border-radius: 4px;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    min-height: 2.75rem;
    padding-left: 1.125rem;
    padding-right: 1.125rem;
    text-transform: uppercase;
}

.woocommerce-cart table.cart td.actions .coupon .button {
    background: var(--global-palette7);
    color: var(--global-palette4);
}

.woocommerce-cart table.cart td.actions .coupon .button:hover,
.woocommerce-cart table.cart td.actions .coupon .button:focus {
    background: var(--global-palette2);
    color: var(--global-palette3);
}

/* Cart totals */
.woocommerce-cart .cart-collaterals .cart_totals {
    background: transparent;
    border: 0;
    margin-top: var(--global-lg-spacing);
    padding: 0;
}

.woocommerce-cart .cart-collaterals .cart_totals > h2 {
    color: var(--global-palette4);
    font-family: var(--global-heading-font-family);
    font-size: 1.625rem;
    font-weight: 400;
    line-height: 1.3;
    margin: 0 0 0.75rem;
}

.woocommerce-cart .cart-collaterals .cart_totals table {
    background: var(--global-palette7);
    border: 1px solid var(--global-palette6);
    border-collapse: separate;
    border-radius: 4px;
    border-spacing: 0;
    margin-bottom: var(--global-md-spacing);
}

.woocommerce-cart .cart-collaterals .cart_totals tr th,
.woocommerce-cart .cart-collaterals .cart_totals tr td {
    border-top-color: var(--global-palette9);
    color: var(--global-palette4);
    font-size: 0.875rem;
    padding: 0.875rem;
    text-align: left;
    vertical-align: top;
}

.woocommerce-cart .cart-collaterals .cart_totals tr:first-child th,
.woocommerce-cart .cart-collaterals .cart_totals tr:first-child td {
    border-top: 0;
}

.woocommerce-cart .cart-collaterals .cart_totals tr:not(.woocommerce-shipping-totals) td,
.woocommerce-cart .cart-collaterals .cart_totals tr.order-total td {
    text-align: right;
}

.woocommerce-cart .cart-collaterals .cart_totals .woocommerce-shipping-totals th {
    white-space: nowrap;
}

.woocommerce-cart .cart-collaterals .cart_totals .woocommerce-shipping-totals td {
    padding-left: 0;
}

.woocommerce-cart .cart-collaterals .cart_totals ul#shipping_method {
    margin: 0;
}

.woocommerce-cart .cart-collaterals .cart_totals ul#shipping_method li {
    align-items: flex-start;
    display: flex;
    gap: 0.5rem;
    margin: 0 0 0.625rem;
}

.woocommerce-cart .cart-collaterals .cart_totals ul#shipping_method li:last-child {
    margin-bottom: 0;
}

.woocommerce-cart .cart-collaterals .cart_totals ul#shipping_method input {
    accent-color: var(--global-palette1);
    margin: 0.25rem 0 0;
}

.woocommerce-cart .cart-collaterals .cart_totals ul#shipping_method label {
    flex: 1;
}

.woocommerce-cart .cart-collaterals .cart_totals ul#shipping_method label > .woocommerce-Price-amount {
    float: right;
    font-weight: 600;
}

.woocommerce-cart .cart-collaterals .cart_totals .woocommerce-shipping-destination {
    color: var(--global-palette5);
    font-size: 0.75rem;
    line-height: 1.45;
    margin: 0.75rem 0 0;
}

.woocommerce-cart .cart-collaterals .cart_totals tr.order-total th,
.woocommerce-cart .cart-collaterals .cart_totals tr.order-total td {
    background: var(--global-palette9);
    color: var(--global-palette3);
    font-size: 1.0625rem;
    font-weight: 700;
    padding-bottom: 1rem;
    padding-top: 1rem;
}

.woocommerce-cart .cart-collaterals .cart_totals tr.order-total th {
    border-bottom-left-radius: 3px;
    padding-left: 0.875rem;
}

.woocommerce-cart .cart-collaterals .cart_totals tr.order-total td {
    border-bottom-right-radius: 3px;
    padding-right: 0.875rem;
}

.woocommerce-cart .cart-collaterals .includes_tax {
    color: var(--global-palette5);
    display: block;
    font-size: 0.6875rem;
    font-weight: 400;
    line-height: 1.4;
    margin-top: 0.25rem;
}

.woocommerce-cart .wc-proceed-to-checkout {
    margin-bottom: 0;
}

.woocommerce-cart .wc-proceed-to-checkout .wc-cart-shipping-notice {
    color: var(--global-palette5);
    font-size: 0.9rem !important;
    line-height: 1.65;
    margin: 0 0 0.75rem;
    text-align: left;
}

.woocommerce-cart .eichermusic-cart-legal-notice {
    color: var(--global-palette5);
    font-size: 0.8rem;
    line-height: 1.65;
    margin: 0 0 var(--global-md-spacing);
    text-align: left;
}

.woocommerce-cart .eichermusic-cart-legal-notice p {
    margin: 0;
}

.woocommerce-cart .eichermusic-cart-legal-notice a {
    color: var(--global-palette1);
    text-decoration: underline;
    text-underline-offset: 0.125em;
}

.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout > a.checkout-button {
    align-items: center;
    background: var(--global-palette1);
    border-radius: 4px;
    color: var(--global-palette9);
    display: flex !important;
    font-size: 0.8125rem;
    font-weight: 700;
    justify-content: center;
    letter-spacing: 0.08em;
    line-height: 1;
    margin: 0 !important;
    min-height: 3.5rem;
    padding: 1rem 1.25rem;
    text-align: center !important;
    text-transform: uppercase;
    width: 100%;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus {
    background: var(--global-palette2);
    color: var(--global-palette3);
}

/* Responsive layout */
@media screen and (min-width: 1025px) {
    .woocommerce-cart .kadence-woo-cart-form-wrap > form {
        float: none;
        padding-right: 0;
        width: 100%;
    }

    .woocommerce-cart .kadence-woo-cart-form-wrap .cart-collaterals {
        float: none;
        margin-left: auto;
        max-width: 28rem;
        width: 100%;
    }
}

@media screen and (min-width: 768px) {
    .woocommerce-cart table.cart .product-thumbnail {
        width: 6.25rem;
    }

    .woocommerce-cart table.cart .product-thumbnail img {
        max-width: 100%;
        width: 6.25rem;
    }

    .woocommerce-cart table.cart td.actions .coupon {
        align-items: center;
        display: flex;
        float: left;
        gap: 0.5rem;
    }

    .woocommerce-cart table.cart td.actions .coupon .input-text,
    .woocommerce-cart table.cart td.actions .coupon .button {
        float: none;
        margin: 0;
        width: auto;
    }

    .woocommerce-cart table.cart td.actions .coupon .input-text {
        min-width: 13rem;
    }

    .woocommerce-cart table.cart td.actions > .button {
        float: right;
        width: auto;
    }
}

@media screen and (max-width: 767px) {
    .woocommerce-cart table.cart td.actions .coupon {
        align-items: stretch;
        display: flex;
        float: none;
        gap: 0.5rem;
        width: 100%;
    }

    .woocommerce-cart table.cart td.actions .coupon .input-text {
        flex: 1 1 auto;
        margin: 0;
        min-width: 0;
        width: auto;
    }

    .woocommerce-cart table.cart td.actions .coupon .button {
        flex: 0 0 auto;
        margin: 0;
        white-space: nowrap;
        width: auto;
    }

    .woocommerce-cart table.cart tbody tr.woocommerce-cart-form__cart-item {
        border-bottom: 2px solid var(--global-palette7) !important;
    }

    .woocommerce-cart table.cart tbody tr.woocommerce-cart-form__cart-item td {
        border: 0 !important;
        box-shadow: none !important;
    }

    .woocommerce-cart table.cart tbody tr.woocommerce-cart-form__cart-item td.product-name,
    .woocommerce-cart table.cart tbody tr.woocommerce-cart-form__cart-item td.product-price,
    .woocommerce-cart table.cart tbody tr.woocommerce-cart-form__cart-item td.product-quantity {
        border-bottom: 1px solid var(--global-palette7) !important;
    }

    .woocommerce-cart .kadence-woo-cart-form-wrap .cart-collaterals {
        margin-left: 0;
        max-width: none;
        width: 100%;
    }

    .woocommerce-cart .cart-collaterals .cart_totals table {
        clip-path: inset(0 round 4px);
        overflow: hidden;
    }

    .woocommerce-cart .cart-collaterals .cart_totals .woocommerce-shipping-totals,
    .woocommerce-cart .cart-collaterals .cart_totals .woocommerce-shipping-totals th,
    .woocommerce-cart .cart-collaterals .cart_totals .woocommerce-shipping-totals td {
        box-sizing: border-box;
        display: block;
        width: 100%;
    }

    .woocommerce-cart .cart-collaterals .cart_totals .woocommerce-shipping-totals th,
    .woocommerce-cart .cart-collaterals .cart_totals .woocommerce-shipping-totals td {
        background: var(--global-palette7) !important;
    }

    .woocommerce-cart .cart-collaterals .cart_totals .woocommerce-shipping-totals th {
        border-bottom: 0 !important;
        padding-bottom: 0.25rem;
    }

    .woocommerce-cart .cart-collaterals .cart_totals .woocommerce-shipping-totals td {
        border-top: 0 !important;
        padding-left: 0.875rem;
        padding-top: 0.25rem;
    }

    .woocommerce-cart .cart-collaterals .cart_totals .woocommerce-shipping-totals td::before {
        display: none;
    }

    .woocommerce-cart .cart-collaterals .cart_totals ul#shipping_method li {
        display: grid;
        gap: 0.5rem;
        grid-template-columns: 1.25rem minmax(0, 1fr);
    }

    .woocommerce-cart .cart-collaterals .cart_totals ul#shipping_method input {
        margin-left: 0;
    }

    .woocommerce-cart .cart-collaterals .cart_totals ul#shipping_method label {
        min-width: 0;
        text-align: left;
    }

    .woocommerce-cart .cart-collaterals .cart_totals .woocommerce-shipping-destination {
        margin-left: 1.75rem;
    }
}
