/* Scroll behavior */
html[lang="de"] {
    scroll-behavior: smooth !important;
}

/* Buttons */
.elementor-button {
    &:has(.elementor-button-icon) {
        .elementor-button-content-wrapper {
            display: flex;
            align-items: center;

            .elementor-button-icon {
                svg {
                    width: 24px;

                    path {
                        fill: none !important
                    }
                }
            }
        }
    }
}

/* Anchor Points */
.elementor-widget-menu-anchor {
    position: absolute !important;
    top: -150px;

    @media(max-width: 1024px) {
        top: -100px;
    }
}

/* Product Price */

.product-price {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    align-items: end;

    .price-präfix {
        font-size: 16px;
        line-height: 110%;
        font-weight: 500;
    }

    * {
        color: var(--e-global-color-af18597);
        font-family: var(--e-global-typography-primary-font-family);
        font-size: 22px;
        font-style: normal;
        font-weight: 700;
        line-height: 110%;
    }

    &:has(ins) {
        @media(min-width: 767px) {
            flex-direction: row-reverse;
            justify-content: start;
        }

        del {
            font-size: 16px;

            * {
                font-size: 16px;
                text-decoration: none;
                font-weight: 500;

            }
        }
    }

    ins {
        text-decoration: none;

        @media(max-width: 767px) {
            width: 100%;
        }
    }
}

/* Product Attributes */
.wtb-product-attibutes {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;

    .wtb-attribute {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 4px 12px;
        background-color: #ebe3d7;
        border-radius: 12px;
        font-family: var(--e-global-typography-primary-font-family), sans-serif;
        font-weight: 500;
        font-size: 12px;
        color: #131927;
        line-height: 16px;
        white-space: nowrap;
    }
}

/* Add to Cart Button */
.wtb-add-to-cart-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 48px;
    padding: 14px 20px;
    background-color: #526e80;
    border-radius: 999px;
    font-family: var(--e-global-typography-primary-font-family) !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    color: white !important;
    line-height: 20px;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    transition: background-color 0.2s;
    white-space: nowrap;
    padding: 14px 20px;

    @media(max-width: 767px) {
        font-size: 16px !important;
    }

    &:hover,
    &:focus {
        background-color: #3d5561;
        color: white;
        text-decoration: none;
    }

    &.loading {
        opacity: 0.7;
        pointer-events: none;
    }
}

/* Product Label */
.wtb-product-label-badges {
    display: flex;
    gap: 4px;

    .wbp-badge {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;

        svg {
            display: block;
        }

        .wbp-badge__text {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            font-family: var(--e-global-typography-primary-font-family), sans-serif;
            font-weight: 500;
            font-size: 16px;
            color: var(--e-global-color-af18597);
            line-height: 1.4;
            white-space: nowrap;
        }
    }

}

/* Windelpedia Badges */
.elementor-widget-shortcode:has(.wtb-windelpedia-label-badges) {
    .wtb-windelpedia-label-badges {
        display: flex;
        gap: 4px;
        width: 34px;

        .wbp-badge {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;

            svg {
                width: 34px;
                height: 29px;
            }

            img {
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                width: 20px;
                aspect-ratio: 1;
            }
        }

    }

    &.loop-item {
        position: absolute;
        left: 20px;
        top: 20px;

        .wtb-windelpedia-label-badges {
            display: flex;
            flex-direction: column;
            gap: 4px;
        }
    }


}


/* Contact Form */
.elementor-form {

    /* acceptance */
    .elementor-field-type-acceptance {
        .elementor-field-option {

            input {
                display: none !important;
            }

            label {
                position: relative;
                padding-left: 40px;
                display: block !important;
                font-size: 14px !important;
                cursor: pointer;

                a {
                    font-size: 14px !important;
                }

                &:before {
                    content: "";
                    border: 1.5px solid var(--e-global-color-7dbdc8e);
                    border-radius: 8px;
                    width: 24px;
                    aspect-ratio: 1;
                    position: absolute;
                    left: 0;
                    top: 4px;
                }

            }

            &:has(input:checked) {
                label {
                    &:before {
                        background-image: url('/wp-content/themes/WTB-Theme/assets/media/icons/home/check.svg');
                        background-position: center;
                        background-repeat: no-repeat;
                        background-size: contain;
                    }
                }
            }

        }
    }

    /* Submit Button */

    .e-form__buttons {
        .elementor-button {
            display: flex;
            align-items: center;
            gap: 8px;
            justify-content: center;

            &:after {
                content: "";
                width: 24px;
                aspect-ratio: 1;
                background-image: url('/wp-content/themes/WTB-Theme/assets/media/icons/home/arrow-right.svg');
                background-position: center;
                background-repeat: no-repeat;
                background-size: contain;
            }
        }
    }
}

/* Swiper Bullets */

.swiper-pagination-bullets {
    display: flex;
    gap: 4px !important;

    .swiper-pagination-bullet {
        margin: 0 !important;
        background-image: url(/wp-content/themes/WTB-Theme/assets/media/icons/swiper-button-inactive.svg) !important;
        background-color: transparent !important;
        height: 13px !important;
        width: 16px !important;
        aspect-ratio: 16/13 !important;
        box-shadow: none !important;
        opacity: 1 !important;
        background-position: center !important;
        background-repeat: no-repeat !important;

        &.swiper-pagination-bullet-active {
            background-image: url(/wp-content/themes/WTB-Theme/assets/media/icons/swiper-bullet-active.svg) !important;

        }
    }
}

/* Side Cart */
.elementor-menu-cart__main {
    * {
        font-family: var(--e-global-typography-db1d1e5-font-family), sans-serif;
    }

    .elementor-menu-cart__product {
        .elementor-menu-cart__product-image img {
            border-radius: 12px;
            aspect-ratio: 1;
            object-fit: cover;
            border: 1px solid var(--e-global-color-39dd569);
        }

        .variation {
            margin: 0 !important;
        }
    }

    .woocommerce-mini-cart {
        display: flex;
        flex-direction: column;
        list-style-type: none;
        padding: 0;
        gap: 20px;

        li {
            display: flex;
            flex-direction: column;
            position: relative;

            a:not(.remove) {
                display: grid;
                grid-template-columns: 80px auto;
                gap: 20px;
            }

            .quantity {
                margin-top: 10px;
            }

            a.remove {
                display: flex;
                position: absolute;
                right: 0;
                bottom: 0;
                border: 1px solid var(--e-global-color-a34d29c);
                min-width: 20px;
                aspect-ratio: 1;
                justify-content: center;
                align-items: center;
                height: 20px;
                border-radius: 50%;
                color: var(--e-global-color-a34d29c);

            }

            &:maker {
                display: none;
            }
        }
    }

    .elementor-menu-cart__product-price {
        .quantity {
            .product-quantity {
                font-size: 12px;
            }

            .woocommerce-Price-amount {
                * {
                    font-size: 16px;
                    font-weight: 600;
                }
            }

        }

        .wgm-info {
            font-size: 12px;
            font-weight: 400;
            text-transform: none !important;
        }
    }

    .elementor-menu-cart__subtotal {
        .woocommerce-Price-amount {
            font-weight: 600;
        }
    }

    .woocommerce-mini-cart__total {
        margin: 20px 0;
        padding: 20px 0;
        border-top: 1px solid var(--e-global-color-a34d29c);
        border-bottom: 1px solid var(--e-global-color-a34d29c);
        display: flex;
        flex-direction: column;
        gap: 10px;
        align-items: center;

        strong {
            font-family: var(--e-global-typography-18b4260-font-family), Sans-serif;
            font-size: 24px;
            font-weight: 600;
            text-transform: var(--e-global-typography-18b4260-text-transform);
            line-height: 110%;
            color: var(--e-global-color-af18597);
        }

        .woocommerce-Price-amount * {
            color: var(--e-global-color-af18597);
            font-family: var(--e-global-typography-primary-font-family);
            font-size: 22px;
            font-style: normal;
            font-weight: 400;
            line-height: 110%;
        }
    }

    .jde_hint *,
    .jde_hint {
        font-family: var(--e-global-typography-db1d1e5-font-family), Sans-serif;
        font-size: var(--e-global-typography-db1d1e5-font-size);
        font-weight: var(--e-global-typography-db1d1e5-font-weight);
        text-transform: var(--e-global-typography-db1d1e5-text-transform);
        line-height: var(--e-global-typography-db1d1e5-line-height);
    }

    .elementor-menu-cart__footer-buttons,
    .woocommerce-mini-cart__buttons {
        display: flex;
        flex-direction: column;
        gap: 10px;

        a {
            border: 1px solid var(--e-global-color-39dd569);
            background-color: var(--e-global-color-39dd569);
            font-family: var(--e-global-typography-0bf6c45-font-family), Sans-serif;
            font-size: var(--e-global-typography-0bf6c45-font-size);
            font-weight: var(--e-global-typography-0bf6c45-font-weight);
            line-height: var(--e-global-typography-0bf6c45-line-height);
            color: var(--e-global-color-primary);
            border-radius: 50px 50px 50px 50px;
            padding: 15px 50px 15px 50px;
            text-align: center;

            span {
                text-transform: none !important;
            }

            &:hover {
                color: var(--e-global-color-primary);
                background: var(--e-global-color-571a1ca);
            }
        }
    }
}

.wtb-comparable-diaper {
    ul {
        list-style-image: url(/wp-content/uploads/2026/07/list-style-blob.svg) !important;

        li {
            font-family: var(--e-global-typography-db1d1e5-font-family), Sans-serif;
            font-size: var(--e-global-typography-db1d1e5-font-size);
            font-weight: var(--e-global-typography-db1d1e5-font-weight);
            text-transform: var(--e-global-typography-db1d1e5-text-transform);
            line-height: var(--e-global-typography-db1d1e5-line-height);
        }
    }
}

.elementor-element[data-tooltip],
.elementor-widget-icon[data-tooltip],
a.elementor-icon[data-tooltip] {
    position: relative;

    z-index: 0;

    &:after {
        font-family: var(--e-global-typography-primary-font-family);
        content: attr(data-tooltip);
        position: absolute;
        left: 50%;
        top: 50%;
        font-size: 12px;
        background: #505153;
        color: #fff;
        transform: translateX(-50%);
        transition: .3s ease-in-out;
        opacity: 0;
        z-index: -1;
        border-radius: 2px;
        font-weight: 600;
        padding: 2px 5px 4px 5px;
        pointer-events: none;
        line-height: 1;
    }

    &:hover {
        &:after {
            top: calc(100% + 5px);
            opacity: 1;
        }
    }
}