#customer_details {
    opacity: 0;
    animation: fadeInCart 1.2s ease-in forwards!important;
}

#place_order:hover {
    opacity: 0.8!important;
}

@keyframes fadeInCart {
    0% {
        opacity: 0;
    }
    80% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

.postcode-city-wrapper {
    display: flex;
    justify-content: space-between;
}


/*COOKIEBOT TWEAKS*/

.wfc-checkout div#CookiebotWidget {
    display: none !important;
}



/*PAYPAL PAYMENTGATE QUICK FIXES */

input#ppcp-credit-card-gateway-card-expiry + div::after {
    content: 'Gültigkeit (MM/JJ):';
    position: absolute;
    top: -14px;
    left: 9px;
	  font-size: 12px;
}

input#ppcp-credit-card-gateway-card-number + div::before {
    content: 'Kreditkartennummer:';
    position: absolute;
    top: -14px;
    left: 9px;
    font-size: 12px;
}

input#ppcp-credit-card-gateway-card-cvc + div::before {
    content: 'Sicherheitscode (CVV):';
    position: absolute;
    top: -14px;
    left: 9px;
    font-size: 12px;
}


fieldset#wc-ppcp-credit-card-gateway-cc-form {
    display: flex;
    flex-direction: column;
}

fieldset#wc-ppcp-credit-card-gateway-cc-form * {
    width: 100%;
}


label[for="payment_method_ppcp-gateway"] {
    position: relative;
}

label[for="payment_method_ppcp-gateway"]::after {
    background-image: url('../../img/payment/paypal-icon.svg');
    display: inline-block;
    width: 34px;
    height: 34px;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    right: 16px;
    top: 12px;
    content: '';
}

.address-wrapper.billing-address-wrapper {
    gap: 0!important;
}


.billing-address-wrapper input#billing_address_1 {
    max-width: 197px;
}


.screen-reader-text.screen-reader-text {
    clip: inherit;
    word-wrap: inherit;
    border: inherit;
    clip-path: inherit;
    height: inherit;
    margin: inherit;
    overflow: inherit;
    overflow-wrap: inherit;
}

.billing-address-wrapper input#billing_address_2 {
    border-left: 0;
}

.woocommerce.woocommerce form .form-row label {
    line-height: 28px;
}

#billing_address_1::placeholder,
#shipping_address_1::placeholder,
#shipping_address_2::placeholder {
    font-size: 0;
    opacity: 0;
}

.woocommerce form .form-row .input-checkbox {
    max-width: 20px;
    height: 20px;
    margin-top: 2px;
    width: 20px;
}

label.woocommerce-form__label.woocommerce-form__label-for-checkbox.checkbox {
    margin-top: 10px;
    margin-bottom: 10px;
}

form.checkout_coupon.woocommerce-form-coupon {
    display: flex;
}

.woocommerce-checkout a.showcoupon {
    position: absolute;
    top: 0;
    left: 0;
    background: #fff;
    color: #222222 !important;
    font-weight: 400;
    height: 100%;
    border-bottom: 1px solid #D9D9D9;
    width: 100%;
    display: flex;
    align-items: center;

    /*REMOVE LATER*/
    font-size: 16px;
    padding-top: 2px;
}

form.checkout_coupon.woocommerce-form-coupon p.form-row.form-row-first {
    width: 274px;
}

.woocommerce-form-coupon-toggle.coupon-field-moved-below {
    margin-top: -30px;
}

.woocommerce-form-coupon-toggle {
    display: none;
}

form.checkout_coupon.woocommerce-form-coupon input {
    padding-top: 2px;
}

textarea#order_comments {
    background-color: #fff;
}


.woocommerce-shipping-fields.woocommerce-shipping-fields #ship-to-different-address {
    margin-top: 0;
}

textarea#order_comments + label, textarea#order_comments + label * {
    font-size: 16px !important;
}

.wfc-cart-collaterals tbody tr:nth-child(n) {
    background-color: transparent;
}

.woocommerce-checkout-review-order-totals .order-total > span > .includes_tax {
    display: block;
}

.woocommerce-checkout-review-order-totals .order-total > span {
    text-align: right;
}

#add_payment_method #payment div.payment_box, .woocommerce-cart #payment div.payment_box, .woocommerce-checkout #payment div.payment_box {
    margin-top: 0;
  }

.woocommerce-checkout a.showcoupon::after,
.woocommerce-shipping-fields #ship-to-different-address span::after {
    content: '';
    display: block;
    width: 20px;
    background-image: url(../../../../einguterplan-child-theme-vite/assets/img/icons/chevron-down-solid.svg);
    position: absolute;
    right: 0;
    top: 0;
    z-index: 100;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-color: #fff;
}



.woocommerce-checkout .wfc-checkout__inner-contents {
    padding-top: 0;
}

.woocommerce-checkout .woocommerce-info {
    border: none;
}


form.checkout_coupon.woocommerce-form-coupon button {
    font-size: 14px;
    min-height: 48px;
}

input#coupon_code {
    min-height: 56px;
    min-width: 320px;
    padding-top: 8px;
}

.checkout_coupon .form-row .coupon-error-notice:not(:last-of-type) {
    display: none !important;
}

.order-discount span + span {
    background: transparent!important;
    color: #000 !important;
    font-size: 12px;
    border-radius: 20px;
    padding: 0;
    display: flex;
    align-items: center;
}

.order-discount span + span * {
    color: #000 !important;
    font-size: 15px !important;
}

.woocommerce-form-coupon-toggle + .woocommerce-message.woocommerce-message {
    background-color: transparent!important;
    color: #000!important;
    padding: 14px;
}

a.woocommerce-remove-coupon {
    display: inline-block;
    margin-left: 8px;
}

input#coupon_code {
    border-color: #4d3939 !important;
}

.woocommerce form.checkout_coupon .coupon-error-notice {
    font-size: 14px;
}


form.checkout_coupon.woocommerce-form-coupon button {
    font-size: 14px;
    min-height: 56px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-top-right-radius: 200px;
    border-bottom-right-radius: 200px;
}


li.wc_payment_method label {
    padding-bottom: 0 !important;
}




form.checkout_coupon.woocommerce-form-coupon > p:first-child {
    font-size: 14px;
    margin-bottom: 13px;
    /* display: none; */
}


/* PAYMENTS SECTION */

.payment_box.payment_method_bacs {
    padding-top: 0 !important;
}

.mollie-components iframe {
    height: 22px !important;
    padding-left: 8px !important;
    margin-top: 6px !important;
}

.has-card-brand input, .has-co-branded-select input {
    margin-top: 8px !important;
}

#payment .payment_methods li.wc_payment_method.wc_payment_method>input[type=radio]:first-child:checked+label:before {
    content: "⬤";
    font-size: 12px !important;
    height: 24px !important;
    display: inline-block;
    vertical-align: text-bottom;
}


/* Hinweis für deaktivierten BACS bei Artikelüberschreitung für B2C */

.payment-disabled label {
    opacity: 0.4;
}

#bacs-disabled-notice {
    font-size: 14px;
    line-height: 20px;
    border-radius: 7px;
    background: #e2e2e2;
    color: #000;
    padding: 12px 18px;
}

#bacs-disabled-notice a {
    color: #7057de;
}


.woocommerce.woocommerce form .form-row label.checkbox, .woocommerce-page.woocommerce-page form .form-row label.checkbox {
    display: flex !important;
    align-items: center;
}


input#ship-to-different-address-checkbox:checked + span {
    border-bottom: 0;
}

.woocommerce-checkout-review-order .product-name > span {
    display: block;
}

.woocommerce-shipping-fields__field-wrapper {
    margin-top: -12px;
}

.shipping_address {
    border-bottom: 1px solid #D9D9D9;
    padding-bottom: 5.4em;
}


.woocommerce-privacy-policy-text a {
    color: #6a4ddc;
}

.woocommerce-privacy-policy-text.woocommerce-privacy-policy-text {
    margin: 1.6em 0 .6em;
}

#payment .payment_methods>.wc_payment_method>label {
    padding: 6px 0 6px !important;
}

li.wc_payment_method label {
    background-color: #fff !important;
}

.wc_payment_methods.payment_methods.methods {
    margin-top: 1em !important;
}

li.wc_payment_method label img {
    margin-top: 6px !important;
}

#payment .payment_methods.payment_methods>.wc_payment_method>label:before {
    font-size: 14px;
    content: "◯";
}



form.checkout.woocommerce-checkout h3 {
    font-size: 22px;
    font-weight: 900;
    line-height: 110%;
    font-family: var(--mu-font-family-sansSerif);
    margin-top: 1em;
    margin-bottom: 1.2em;
}


.woocommerce form .form-row.form-row {
    padding: 0;
}


.woocommerce form .form-row {
    margin-bottom: -1px;
}

.postcode-city-wrapper p:last-child span > input {
    border-left: 0;
}

.postcode-city-wrapper {
    display: flex;
    justify-content: space-between;
}

.postcode-city-wrapper > p {
    width: 50%;
}


.woocommerce-shipping-fields {
    position: relative;
    margin-top: 1.2em;
    margin-bottom: 1.2em;
}

.woocommerce-shipping-fields #ship-to-different-address {
    width: 100%;
    position: relative;
}

.woocommerce-shipping-fields #ship-to-different-address span {
    position: absolute;
    background-color: #fff;
    width: 100%;
    left: 0;
    top: 12px;
    z-index: 100;
    height: 100%;
    display: flex;
    align-items: center;
    font-weight: 400;
    font-family: var(--mu-font-family-serif);
    border-bottom: 1px solid #D9D9D9;
    border-top: 1px solid #D9D9D9;
    padding-top: 5px;
    font-size: 16px;
}

.woocommerce-checkout-review-order-totals h3 {
    display: none;
}

#shipping_state_field {
    border-bottom: 1px solid #D9D9D9;
}

.woocommerce-privacy-policy-text {
    font-size: 14px;
    max-width: 346px;
    margin: auto;
    font-family: var(--mu-font-family-serif);
}

textarea#order_comments {
    margin-bottom: 1.8em;
    min-height: 120px;
    padding-top: 1.6em;
}

button#place_order {
    display: inline-flex;
    height: 48px;
    justify-content: center;
    align-items: center;
    border-radius: 200px;
    font-size: 18px!important;
    background-color: var(--mu-color-web-lila);
    font-weight: 400!important;
    margin-top: 1em;
}

.shipping_address {
    padding-top: 12px;
}

#shipping_first_name_field, #shipping_last_name_field {
    width: 100%;
}

.woocommerce.woocommerce table.shop_table td, .woocommerce.woocommerce table.shop_table th {
    padding: 0;
}




/* Review Table */

.woocommerce-checkout-review-order .order-shipping > span:last-child {
    font-size: 14px;
}

.woocommerce-checkout-review-order .product-info-wrapper {
    display: flex;
}

.woocommerce-checkout-review-order .product-quantity {
    margin-right: 16px;
    margin-left: 12px;
}

.woocommerce-checkout-review-order .product-title {
    font-weight: 600;
}

.woocommerce-checkout-review-order .product-details {
    width: 100%;
}

.woocommerce-checkout-review-order .order-product-item.cart_item * {
    font-size: 14px;
}

.order-product-item.cart_item span.woocommerce-Price-amount.amount {
    font-weight: 400;
}

.order-product-item.cart_item .product-quantity {
    display: flex;
    align-items: baseline;
}

.order-products-list {
    border-top: 1px solid #D9D9D9;
    margin-top: 22px;
}

.order-product-item.cart_item {
    border-bottom: 1px solid #D9D9D9;
    padding-bottom: 10px;
    padding-top: 12px;
}

.product-price-wrapper {
    display: flex;
    justify-content: space-between;
}

.woocommerce-checkout-review-order span.sale-price bdi,
.woocommerce-checkout-review-order .discounted-price bdi {
    color: #FC6D47;
}

.woocommerce-checkout-review-order-products .discount-percentage {
    display: none;
}

.woocommerce-checkout-review-order span.sale-price,
.woocommerce-checkout-review-order .discounted-price {
    margin-right: 8px;
}

.woocommerce-checkout-review-order-products {
    margin-bottom: 1.2em;
}

.woocommerce-checkout-review-order-products s.regular-price *, .woocommerce-checkout-review-order-products s.regular-price {
    color: #808080;
}

#payment p {
    font-size: 14px;
}



.woocommerce-checkout-review-order-products span.quantity-x {
    display: inline-block;
    font-size: 12px !important;
    margin-left: 3px;
}

ul#shipping_method label {
    font-size: 0;
}

.order-total-list > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.order-total-list * {
    font-size: 14px;
}

.order-subtotal > span:first-child,
.order-shipping > span:first-child {
    color: #808080;
}

.order-total-list .order-total {
    margin-top: 0.6em;
}

input#billing_address_2::placeholder {
    font-size: 0;
}

.order-products-list span.quantity-x {
    font-size: 16px !important;
}

.order-total-list {
    border-bottom: 1px solid #D9D9D9;
    padding-bottom: 12px;
    padding-top: 1.2em;
}

form.checkout.woocommerce-checkout h3.checkout-payment-method-headline {
    margin-top: 2em;
}

/*Floating Labels Styles*/


span.select2.select2-container.select2-container--default + label{
    top: 0px;
    font-size: 14px;
}

span.select2.select2-container.select2-container--default {
    min-height: 56px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #444;
    line-height: 28px;
    padding-top: 22px;
}

.form-row select:not(:placeholder-shown) + label {
    z-index: 2;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    padding-left: 6px;
}

span.select2-selection.select2-selection--single {
    min-height: 56px;
    border-radius: 0;
    padding-left: 6px;
    border-bottom: none;
    border-color: #808080;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
    margin-left: -14px;
    margin-top: 12px;
}

.woocommerce form .form-row .required {
    color: #b0b0b0;
    font-weight: 400;
}

#customer_details input {
    min-height: 56px;
    background-color: transparent;
    padding-left: 14px;
    padding-top: 18px;
}

.form-row {
    position: relative;
    margin-bottom: 20px;
}

.form-row label:not(.checkbox) {
    position: absolute;
    top: 14px;
    left: 14px;
    font-size: 18px;
    color: #999;
    transition: all 0.3s ease;
    pointer-events: none;
}

#custom_terms_checkbox_field span.woocommerce-input-wrapper > label {
    display: flex;
    align-items: center;
    color: #FC6D47;
}



#custom_terms_checkbox_field span.woocommerce-input-wrapper > label input {
    width: 18px;
    height: 18px;
}

/* Hide Specific AGBS for B2B and NON-B2B */
.is-b2b-client .hidden-for-b2b {
    display: none;
}

body:not(.is-b2b-client) .show-for-b2b {
    display: none;
}

.form-row input,
.form-row select,
.form-row textarea {
    width: 100%;
    padding: 10px;
    font-size: 16px;
    border: 1px solid #808080;
    padding-left: 13px;
}

.form-row input:focus + label,
.form-row select:focus + label,
.form-row textarea:focus + label,
.form-row input:not(:placeholder-shown) + label,
.form-row select:not(:placeholder-shown) + label,
.form-row textarea:not(:placeholder-shown) + label {
    top: -3px;
    left: 9px;
    font-size: 14px;
    color: #808080;
    background-color: transparent;
    padding: 0 5px;
}

.form-row input + label,
.form-row select + label,
.form-row textarea + label,
.form-row input + label,
.form-row select + label,
.form-row textarea + label {
    top: 12px;
}

.form-row input:focus,
.form-row select:focus,
.form-row textarea:focus,
.form-row input:not(:placeholder-shown),
.form-row select:not(:placeholder-shown),
.form-row textarea:not(:placeholder-shown) {
    padding-bottom: 0;
    padding-top: 16px;
}



/* Review Table */

table.shop_table.woocommerce-checkout-review-order-table thead th {
    display: none;
}

#payment .payment_methods li.wc_payment_method>input[type=radio]:first-child:checked+label {
    background-color: transparent;
}

.woocommerce table.shop_table th {
    background-color: transparent;
}

.woocommerce table.shop_table tfoot th {
    font-size: 14px;
    font-weight: 400;
    line-height: 160%;
}

.woocommerce table.shop_table td.product-name {
    font-weight: 600;
    font-size: 14px;
}

table.shop_table span.woocommerce-Price-amount.amount {
    font-size: 14px;
    font-weight: 400;
    line-height: 135%;
}

.woocommerce table.shop_table tfoot tr.order-total * {
    font-weight: 600 !important;
}

.woocommerce table.shop_table, .woocommerce table.shop_table tfoot td, .woocommerce table.shop_table tfoot th {
    padding-bottom: 0px;
}



form.checkout.woocommerce-checkout h3 {
    font-size: 18px;
    font-weight: 900;
    line-height: 110%;
    font-family:var(--mu-font-family-serif);
    margin-top: 1em;
    margin-bottom: 1.2em;
}
  
  
/* Kasse Listenpunkte */

ul.kasse {
    margin-left: 2em;
}

.woocommerce form .form-row .required {
    color: #b0b0b0;
}

ul.kasse li{
    list-style: disc
}

#customer_details+#wc_checkout_add_ons, #order_review, #order_review_heading {
    width: inherit;
    float: inherit;
    margin-right: inherit;
}

.woocommerce-checkout-review-order-wrapper {
    margin-bottom: 2em;
}


ul.wc_payment_methods.payment_methods.methods {
    border-bottom: 1px solid #D9D9D9 !important;
    padding-bottom: 28px !important;
    margin-bottom: 12px !important;
}

/* Force postcode and city fields to display inline - override WooCommerce */
#billing_postcode_field,
#shipping_postcode_field {
    width: 50% !important;
    float: left !important;
    clear: none !important;
}

#billing_city_field,
#shipping_city_field {
    width: 50% !important;
    float: right !important;
    clear: none !important;
    margin-left: 0% !important;
}

/* Ensure proper clearing after city fields */
#billing_city_field::after,
#shipping_city_field::after {
    content: "";
    display: table;
    clear: both;
}

.woocommerce form .form-row.woocommerce-validated input.input-text, .woocommerce form .form-row.woocommerce-validated select,.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea {
    border-color: #808080!important;
    border-radius: 0 !important;
}

.woocommerce form .form-row.woocommerce-validated .select2-container:not(.select2-container--open) .select2-selection {
    border-color: #808080!important;
}

#customer_details input#billing_city,
#customer_details input#shipping_city {
    border-left: 0;
}

span#select2-billing_country-container,
span#select2-shipping_country-container {
    font-size: 16px !important;
    padding-left: 7px;
    padding-top: 19px;
}