/* Woocommerce Account: Register und Login */
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
    padding: 0;
    margin: 0;
    border-radius: 0;
    border: none;
}

.woocommerce #customer_login.col2-set .col-1,
.woocommerce-page #customer_login.col2-set .col-1,
.woocommerce #customer_login.col2-set .col-2,
.woocommerce-page #customer_login.col2-set .col-2 {
    margin-top: 15px;
    margin-bottom: 30px;
    padding-right: 30px;
    padding-left: 30px;
}

.woocommerce #customer_login h2 {
    font-size: 24px !important;
    text-transform: uppercase;
}

@media (max-width: 770px) {
    .woocommerce #customer_login.col2-set .col-1,
    .woocommerce-page #customer_login.col2-set .col-1,
    .woocommerce #customer_login.col2-set .col-2,
    .woocommerce-page #customer_login.col2-set .col-2 {
        margin-bottom: 50px;
    }
}

.woocommerce-account .woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme {
    margin-bottom: 20px;
    margin-top: 10px;
}

.woocommerce-account .woocommerce-LostPassword.lost_password {
    margin-top: 20px;
}

.woocommerce div.product div.images {
    box-shadow: none !important;
}

.titel-singel-product .elementor-heading-title {
    text-align: center !important;
}

.product-cards .woocommerce ul.products li.product {
    border-radius: 0;
}

.product-cards ul.products li.product .woocommerce-loop-product__title {
    padding: 0 25px !important;
}

/* Stil für die Produktkarte */
.product-cards.elementor-wc-products ul.products li.product {
    transition: transform 0.3s ease !important, box-shadow 0.3s ease !important;
    /*box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3) !important;*/
}

/* Hover-Effekt für die Produktkarte */
.product-cards.elementor-wc-products ul.products li.product:hover {
    /*transform: translateY(-2px) !important; */
    /*box-shadow: 0 8px 16px rgba(0, 0, 0, 0.5) !important;*/
}

.product-cards.elementor-wc-products ul.products li.product span.onsale {
    padding: 0 8px;
    border-radius: 25px;
}

.product-cards .woocommerce-loop-product__title:after {
    display: none;
}

.product-cards.elementor-wc-products ul.products li.product .woocommerce-loop-product__title {
    text-align: center;
}

/* Singel Product: Weitere Informationen */
.woocommerce .woocommerce-tabs ul.wc-tabs li.active {
    border-bottom: 2px var(--e-global-color-secondary) solid !important;
}

body.single-product header .header-img-titel {
    background-position: top center !important;
}

body.woocommerce-account:not([class*=elementor-page-]) .site-main {
    max-width: 100%;
}

.woocommerce #add_payment_method #payment ul.payment_methods,
.woocommerce .woocommerce-cart #payment ul.payment_methods,
.woocommerce .woocommerce-checkout #payment ul.payment_methods,
.woocommerce table.shop_table {
    background-color: #f4f4f4;
    border: 0;
}

.woocommerce #order_payment_heading,
.woocommerce #order_review_heading {
    color: #000;
    font-weight: 700;
    margin-bottom: .5rem;
    margin-top: 2rem;
}

.woocommerce #payment.woocommerce-checkout-payment {
    margin-top: 2rem;
}

.woocommerce .elementor-products-grid ul.products.elementor-grid li.product a.woocommerce-loop-product__link {
    display: block;
    position: relative;
    width: 100%;
}

.woocommerce form fieldset {
    padding: 0;
}

.woocommerce form .form-row {
    padding: 3px;
    margin: 0 0 6px;
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    margin-right: -5px;
    margin-left: -5px;
    justify-content: flex-start;
    align-items: stretch;
    flex-direction: column;
}

.woocommerce form .form-row-last,
.woocommerce-page form .form-row-last {
    float: left;
}

.woocommerce .flex-control-thumbs {
    border: 0 solid var(--e-global-color-primary);
    bottom: 0;
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 10px;
    position: relative;
    text-align: center;
    width: 100%;
}

.woocommerce .flex-control-thumbs .flex-active {
    cursor: default;
    opacity: 1;
}

.woocommerce .flex-control-thumbs img {
    cursor: pointer;
    display: block;
    opacity: .7;
    width: 100%;
}

.woocommerce .flex-control-thumbs img:hover {
    opacity: 0.5;
}

.woocommerce .flex-control-thumbs li {
    display: inline-block;
    margin: 0;
    zoom: 0.8;
}

.woocommerce .flex-control-thumbs li,
.woocommerce .flex-control-thumbs li:first-child {
    margin: 15px 5% 0 0;
    min-width: 100px;
    vertical-align: top;
    width: 16%;
}

.pewc-preset-style .select2-container--default .select2-selection--single,
.woocommerce form .form-row select,
.woocommerce-page form .form-row select {
    border: 2px solid #cacaca;
    border-radius: 0;
}

.woocommerce .product .elementor-widget-woocommerce-product-meta .product_meta {
    margin-top: 0;
}

.woocommerce .short-desc-list {
    color: #777;
    font-size: 14px;
    line-height: 1.5em;
    padding: 0 30px 30px;
}

.woocommerce .summary.entry-summary .wc-gzd-additional-info.product-units-wrapper.product-units.variation-modified,
.woocommerce .summary.entry-summary .wc-gzd-additional-info.product-units-wrapper.product-units {
    color: var(--e-global-color-text) !important;
    font-size: 1.25em;
}

main#content .page-content .woocommerce {
    width: 100%;
}

.woocommerce .col2-set .col-1,
.woocommerce-page .col2-set .col-1,
.woocommerce .col2-set .col-2,
.woocommerce-page .col2-set .col-2,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-navigation {
    flex: 0 0 48%;
    max-width: 48%;
    width: 48%;
}

main#content .page-content .woocommerce .woocommerce-ResetPassword,
main#content .page-content .woocommerce .woocommerce-ResetPassword.lost_reset_password {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
}

.woocommerce-account .woocommerce-MyAccount-content {
    flex: 0 0 100%;
    max-width: 65%;
    width: 100%;
}

.wc-block-components-order-summary .wc-block-components-order-summary-item__description {
    padding: 0 !important;
}

.woocommerce .col2-set .col-1 h3,
.woocommerce-page .col2-set .col-1 h3,
.woocommerce .col2-set .col-2 h3,
.woocommerce-page .col2-set .col-2 h3,
.woocommerce-shipping-fields .woocommerce-form__label.woocommerce-form__label-for-checkbox.checkbox span {
    color: #000;
    font-weight: 700;
}

.woocommerce .elementor-85 .elementor-element form.cart table.variations tr td {
    padding-right: 0;
    text-align: right;
}

.woocommerce .quantity .qty {
    text-align: center;
    width: 80px;
}

.woocommerce .quantity input {
    line-height: 1;
    padding: 11px;
}

.woocommerce .shop_table.woocommerce-checkout-review-order-table td,
.shop_table.woocommerce-checkout-review-order-table thead:first-child tr:first-child th,
.woocommerce .shop_table.woocommerce-checkout-review-order-table tfoot th {
    border: 0;
}

.woocommerce .woocommerce-breadcrumb {
    margin: 1rem 0;
}

.woocommerce div.product form.cart {
    margin-bottom: 1rem;
}

.woocommerce div.product form.cart .button,
.woocommerce .quantity .qty,
.woocommerce .quick-select-buttons button {
    height: 50px;
}

.woocommerce div.product table td,
.woocommerce div.product table th {
    border: 0;
    padding-left: 0;
}

.woocommerce div.product.elementor .woocommerce-tabs .panel {
    padding: 50px 0 0 !important;
}

.woocommerce div.product.elementor ul.tabs {
    text-align: center;
}

.woocommerce form .form-row label {
    line-height: 1.6;
    margin-top: 5px;
}

.woocommerce form .form-row.woocommerce-validated input.input-text {
    border-color: var(--e-global-color-accent);
}

.woocommerce h1.product_title {
    font-size: 40px;
    text-align: left;
    line-height: 45px;
}

.woocommerce h2 {
    font-size: 22px;
    text-align: left;
}

.woocommerce span.onsale {
    background-color: #F7941D;
    padding: 0;
}

.woocommerce table.shop_attributes td {
    padding: 8px;
}

.woocommerce table.shop_attributes td p,
.pewc-product-extra-groups {
    padding: 0;
}

.woocommerce table.shop_table tbody th,
.woocommerce table.shop_table tfoot td,
.woocommerce table.shop_table tfoot th {
    border-top: 1px solid rgba(0, 0, 0, .1);
    font-weight: 700;
}

.woocommerce ul.products li img {
    position: relative;
}

.woocommerce ul.products li.product {
    -o-transition: all .25s;
    -webkit-transition: all .25s;
    align-content: center;
    align-items: center;
    background-color: #fff;
    border: 0 solid var(--e-global-color-primary);
    border-radius: 3px;
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap;
    min-height: 100%;
    overflow: hidden;
    position: relative;
    text-align: center;
    transition: all .25s;
}

.woocommerce ul.products li.product a img {
    object-fit: cover;
    text-align: center;
    transition: all .25s ease-in-out;
    width: 100%;
}

.woocommerce-MyAccount-navigation li a {
    color: #fff;
    display: block;
    font-weight: 400;
    text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
    max-width: 300px;
    width: 25%;
}

.woocommerce-account .woocommerce-myaccount-navigation {
    width: 25%;
}

.woocommerce-billing-fields span.woocommerce-input-wrapper,
.woocommerce-shipping-fields span.woocommerce-input-wrapper,
.woocommerce-additional-fields span.woocommerce-input-wrapper {
    width: 100%;
}

.woocommerce-breadcrumb a {
    color: var(--e-global-color-accent) !important;
}

.woocommerce-button.button.view {
    margin-right: 10px;
}

.woocommerce-loop-product__title {
    margin-top: 9px !important;
    padding: 10px !important;
}

.woocommerce-loop-product__title:after {
    color: var(--e-global-color-accent);
    content: '›';
    margin-left: .5rem;
    vertical-align: .1rem;
}

.woocommerce-message {
    border-top-color: var(--e-global-color-accent);
}

.woocommerce-message::before {
    color: var(--e-global-color-accent);
}

.woocommerce-order-details p.order-again {
    padding-top: 10px;
}

.woocommerce-product-details__short-description p,
.woocommerce .product_title.entry-title.elementor-heading-title.elementor-size-default {
    margin-bottom: 0 !important;
}

.woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
.woocommerce-product-gallery__image a.customize-unpreviewable {
    max-height: 550px;
}

.woocommerce-product-gallery__image a img {
    max-height: 500px;
    object-fit: contain;
    object-position: top center;
}

.woocommerce-shipping-totals.shipping th {
    vertical-align: middle;
}

.woocommerce-shipping-totals.shipping th:after {
    content: "\f48b";
    font-family: "Font Awesome 5 Free";
    margin-left: 10px;
}

.woocommerce-table.woocommerce-table--custom-fields.shop_table.custom-fields {
    border-top: 1px solid rgba(0, 0, 0, .1);
    margin-top: 20px;
}

.woocommerce-table.woocommerce-table--order-details.shop_table.order_details {
    margin: 0;
}

.woocommerce-tabs .woocommerce-Tabs-panel {
    margin-top: -15px !important;
    padding: 15px !important;
}

.woocommerce-variation-price {
    align-content: center;
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    height: 50px;
    justify-content: flex-start;
    padding-left: 25px;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit.alt,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button.alt,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button.alt,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button.alt {
    background-color: var(--e-global-color-primary);
    font-size: 18px;
    font-weight: 500;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input#submit,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button {
    background-color: var(--e-global-color-accent);
    font-size: 18px;
    font-weight: 500;
}

.woocommerce span.onsale {
    background-color: var(--e-global-color-secondary);
}

.woocommerce ul.products li.product a {
    padding-top: 10px !important;
}

.woocommerce .page-title {
    text-align: center;
}

/* Kategorien */
.woocommerce ul.product-categories {
    list-style: none;
    min-width: 100%;
    padding: 0;
    position: relative;
    width: 250px;
    z-index: 1;
}

.woocommerce ul.product-categories > ul {
    background-color: #f1f1f1;
    border: 1px solid #ddd;
    /*box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);*/
    left: 0;
    min-width: 200px;
    padding-left: 0;
    position: relative;
    top: 0;
}

.woocommerce ul.product-categories li > a {
    display: block;
    padding: 15px 20px;
    position: relative;
    text-decoration: none;
}

.woocommerce ul.product-categories li, .woocommerce ul.product-categories li a {
    font-weight: 400;
}

.woocommerce ul.product-categories li.current-cat > a,
.woocommerce ul.product-categories li.current-cat-parent > a {
    background-color: var(--e-global-color-secondary);
}

.woocommerce ul.product-categories li.current-cat > a:before {
    content: '\f054';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 0;
    width: 20px;
    height: 20px;
}

.woocommerce ul.product-categories li.current-cat > ul {
    padding-left: 1rem;
}

.woocommerce ul.product-categories li:hover > a,
ul.product-categories li.current-cat:hover > a {
    background-color: var(--e-global-color-accent);
    color: var(--e-global-color-secondary);
}

.woocommerce ul.product-categories ul {
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
    margin: 0;
    padding: 0;
}

.woocommerce ul.product-categories ul ul {
    box-shadow: none;
}

.woocommerce ul.product-categories ul.children li.cat-item a {
    padding: 15px 20px 15px 40px;
}

/* WooCommerce Button Styles */
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input#submit,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button {
    background-color: var(--e-global-color-primary);
    font-size: 18px;
    font-weight: 500;
    border-radius: 3px;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt.disabled,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt.disabled {
    background-color: var(--e-global-color-primary);
}

/* WooCommerce Account Sidebar Menu */
nav.woocommerce-MyAccount-navigation {
    background: var(--e-global-color-primary);
    background-image: linear-gradient(165deg, var(--e-global-color-primary) 0%, var(--e-global-color-secondary); 100%);
}

nav.woocommerce-MyAccount-navigation a {
    color: #FFFFFF;
    line-height: 80px;
    display: block;
}

nav.woocommerce-MyAccount-navigation ul {
    padding: 0;
}

nav.woocommerce-MyAccount-navigation ul li {
    list-style: none;
    padding: 0 30px;
    transition: all 0.3s ease;
    font-weight: 600;
    border-bottom: 1px solid var(--e-global-color-primary);
}

nav.woocommerce-MyAccount-navigation ul li:hover {
    background-image: linear-gradient(165deg, var(--e-global-color-secondary) 0%, var(--e-global-color-primary); 100%);
    padding: 0px 30px 0px 35px;
}

nav.woocommerce-MyAccount-navigation ul li a:before {
    content: "\f054";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 15px;
}

/* WooCommerce Account Active Menu Item */
.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active {
    background: #FFFFFF;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active a {
    color: var(--e-global-color-primary);
}

.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active a:hover {
    color: var(--e-global-color-primary);
}

.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active a:before {
    color: var(--e-global-color-primary);
}

/* WooCommerce Account General Styles */
.woocommerce-account .woocommerce-info, .woocommerce-account .woocommerce-error, .woocommerce-account .woocommerce-message {
    margin-bottom: 50px;
    width: 100%;
    color: #fff;
}

.woocommerce-account .woocommerce-error a.button,
.woocommerce-account .woocommerce-info a.button,
.woocommerce-account .woocommerce-message a.button {
    border-radius: 0px;
    color: #fff;
    background-color: var(--e-global-color-primary);
}

.woocommerce-account .woocommerce-error a.button:hover,
.woocommerce-account .woocommerce-info a.button:hover,
.woocommerce-account .woocommerce-message a.button:hover {
    background-color: var(--e-global-color-secondary);
}

/* Account: Padding & Layout Adjustments */
.woocommerce-account .woocommerce-address-fields__field-wrapper, .woocommerce-MyAccount-content .woocommerce-EditAccountForm fieldset {
    margin-bottom: 30px;
}

/* Select Dropdown Styles */
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
    background-color: var(--e-global-color-primary);
}

/* Mobile Styles */
@media screen and (max-width: 992px) {
    .woocommerce-account .woocommerce-MyAccount-navigation,
    .woocommerce-account .woocommerce-MyAccount-content {
        max-width: 50%;
        width: 50%;
    }

    .woocommerce ul.products li.product {
        width: 50% !important;
    }

    .wc-block-components-order-summary .wc-block-components-order-summary-item__image>img {
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .woocommerce ul.products li.product {
        width: 100% !important;
    }

    .wc-block-components-order-summary .wc-block-components-order-summary-item__image>img {
        width: 100%;
    }
}

/* Checkout Styles */
.wc-block-checkout__actions_row a {
    fill: var(--e-global-color-text);
    color: var(--e-global-color-text) !important;
    font-size: 18px;
    font-weight: 500;
}

.wc-block-checkout__actions_row a:hover {
    color: var(--e-global-color-primary) !important;
}

.wp-block-woocommerce-checkout-order-summary-cart-items-block.wc-block-components-totals-wrapper button {
    padding: 6px 12px;
    border-radius: 0px !important;
    background-color: #808080;
    margin-bottom: 25px;
}

/* Xenofit Style */
/* Grundlayout für den Warenkorb */
.woocommerce-cart table.cart {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 30px;
    background-color: #f9f9f9;
	border-radius: 0px;
    overflow: hidden;
}

/* Tabellenkopf */
.woocommerce-cart table.cart th {
    background-color: var(--e-global-color-accent);
    color: #fff;
    font-weight: bold;
    text-align: left;
    padding: 15px;
}

/* Tabellenzeilen */
.woocommerce-cart table.cart tr {
    border-bottom: 1px solid #ddd;
}

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

/* Tabellenzellen */
.woocommerce-cart table.cart td {
    padding: 15px;
    text-align: left;
    vertical-align: middle;
}

/* Produktbild */
.woocommerce-cart table.cart img {
    max-width: 60px;
    height: auto;
    border-radius: 5px;
}

/* Produktname */
.woocommerce-cart table.cart .product-name a {
    color: var(--e-global-color-accent);
    font-weight: bold;
    text-decoration: none;
}

.woocommerce-cart table.cart .product-name a:hover {
    color: var(--e-global-color-primary);
}

/* Mengenfeld */
.woocommerce-cart table.cart .quantity input {
    width: 60px;
    text-align: center;
    border: 1px solid #ddd;
    border-radius: 5px;
    padding: 5px;
    background-color: #fff;
}

/* Gesamtpreis */
.woocommerce-cart table.cart .product-subtotal,
.woocommerce-cart table.cart .order-total {
    font-size: 1.2em;
    font-weight: bold;
}

/* Buttons */
.woocommerce-cart .actions .button,
.woocommerce-cart .checkout-button, .woocommerce a.button.alt {
	background-color: var(--e-global-color-accent);
    line-height: 1.2em;
    letter-spacing: 0.02em;
    text-shadow: 0px 0px 0px rgba(0, 0, 0, 0);
    color: var(--e-global-color-7fcaea0b) !important;
    border-style: none;
    border-radius: 99px;
    padding: 16px 32px 16px 32px !important;
}

.woocommerce-cart .actions .button:hover,
.woocommerce-cart .checkout-button:hover {
    background-color: var(--e-global-color-primary);
}

/* Hinweis-Meldungen */
.woocommerce-message {
    background-color: var(--e-global-color-accent);
    color: #155724;
    padding: 15px;
    border: 1px solid #c3e6cb;
    border-radius: 5px;
    margin-bottom: 20px;
}

/* Fehler-Meldungen */
.woocommerce-error {
    background-color: var(--e-global-color-accent);
    color: #721c24;
    padding: 15px;
    border: 1px solid #f5c6cb;
    border-radius: 5px;
    margin-bottom: 20px;
}
.woocommerce-error a {
	color: var(--e-global-color-secondary)!important;
}
.woocommerce-error a:hover {
	color: var(--e-global-color-7fcaea0b)!important;
	text-decoration: underline!important;
}
.elementor-widget.elementor-widget-text-editor ul.woocommerce-error {
	padding-left: 60px;
}
.woocommerce-cart-form {
	width: 100%;
}
/* Gutschein-Code */
@media (min-width:768px) {
	div.coupon .input-text#coupon_code {
		width: 180px!important;
		margin-right: 30px;
	}
}
/* Zurück zum Shop */
span.wp-block-button a {
	background-color: #fff;
	border: 1px solid;
	border-color: var(--e-global-color-primary);
}
span.wp-block-button a:hover {
	background-color: var(--e-global-color-primary);
	color: white;
}
/* Mobile-Optimierung */
@media (max-width: 768px) {
    .woocommerce-cart table.cart td {
        display: block;
        width: 100%;
        text-align: left;
    }

    .woocommerce-cart table.cart td:before {
        content: attr(data-title);
        font-weight: bold;
        margin-bottom: 10px;
        display: block;
    }

    .woocommerce-cart table.cart .quantity input {
        width: 100%;
    }
	
		div.coupon .input-text#coupon_code {
		width: 100%!important;
		margin-bottom: 10px;
	}
	.woocommerce-page table.cart td.actions .coupon .input-text+.button {
		width: 100%!important;
	}
}