/* Disable CMS-Home wide header */
/*
  .page-header .panel.wrapper {
    background-color: #D80012!important;
  }
*/



/* Disable CMS-Home wide header */
/*
    @media (min-width: 769px), print {
        .navigation {
            background: #ffffff!important;
            text-transform:uppercase;
	    font-weight: inherit!important;
        }

.navigation ul {
    display: flex;
    justify-content: space-between;
}

        .navigation .level0 > .level-top {
            color: #575757!important;
        }

    }


.nav-sections {
            background: #ffffff!important;
        }

	body.cms-home .header.content, body.cms-home .navigation {
            max-width: 1920px!important;
	padding-left: 120px!important;
	padding-right: 120px!important;
}
*/

        body.cms-home .page-main {
            max-width: 1920px!important;
            padding: 0px!important;
        }

[data-content-type='row'][data-appearance='full-width']>.row-full-width-inner {
    max-width: 1920px!important;
}

[data-content-type='row'][data-appearance='contained'] {
/*max-width: 1680px!important;*/
max-width: 1400px!important;

    padding-left: 40px;
    padding-right: 40px;
}

figure.w100 img {
   width: 100%;
}
























@media screen and (min-width: 769px) {
    .cms-home main#maincontent h2 {
        font-size: 40px;
    }
}

#html-body [data-pb-style=R4YA4AK] {
    display: flex;
    width: 100%;
    max-width: 1300px;
    margin: 0px auto;
    gap: 50px;
}

/* Contact form on homepage */
body.cms-home .form.contact {
    max-width: 800px;
    margin: 40px auto;
    padding: 30px 40px 40px;
    background-color: #f5f5f5;
}

body.cms-home .form.contact legend.legend span {
    font-size: 28px;
}

@media screen and (min-width: 769px) {
    body.cms-home .form.contact legend.legend span {
        font-size: 40px;
    }
}

/* Statutory revocation button (§ 356a BGB) - highlighted, permanently visible footer link */
.withdrawal-footer-link {
    text-align: center;
    margin: 25px 0 10px;
}
.withdrawal-footer-link .withdrawal-link {
    display: inline-block;
    padding: 11px 24px;
    background-color: #D80012;
    color: #fff;
    font-weight: bold;
    font-size: 15px;
    line-height: 1.2;
    text-decoration: none;
    border-radius: 3px;
}
.withdrawal-footer-link .withdrawal-link:hover,
.withdrawal-footer-link .withdrawal-link:focus {
    background-color: #b0000f;
    color: #fff;
    text-decoration: none;
}

/* PAngV price notice: "inkl. MwSt., zzgl. Versandkosten" below every catalog price */
.price-tax-notice {
    display: block;
    margin-top: 5px;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.3;
    color: #6d6d6d;
}
.price-tax-notice a {
    color: inherit;
    text-decoration: underline;
}
.price-tax-notice a:hover,
.price-tax-notice a:focus {
    color: #333;
}

/* Special price: struck-through regular price and a discount badge. On the product page Luma
   breaks the line after the price, so the badge opens the second line. */
.price-box .old-price .price {
    text-decoration: line-through;
}
.price-discount-badge {
    display: inline-block;
    margin-right: 8px;
    padding: 2px 8px;
    background-color: #D80012;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    white-space: nowrap;
    vertical-align: middle;
    border-radius: 3px;
}
.product-item .price-box .old-price {
    display: block;
}
/* Category and search lists show the badge as a sticker on the image corner, anchored to the
   photo link. List mode makes that link a table cell with 30px right padding, hence its offset. */
.products-grid .product-item-photo {
    position: relative;
    display: inline-block;
    /* Without it the shrink-wrapped link keeps the image at 240px on narrow tiles */
    max-width: 100%;
}
.products-list .product-item-photo {
    position: relative;
}
.price-discount-badge--sticker {
    position: absolute;
    top: 14px;
    right: -12px;
    /* Above the next tile's .product-image-wrapper (Luma: z-index 1), below the navigation (3) */
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 70px;
    margin: 0;
    padding: 0;
    font-size: 20px;
    line-height: 1;
    border-radius: 50%;
    transform: rotate(-12deg);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.28);
}
.products-list .price-discount-badge--sticker {
    right: 18px;
}
@media screen and (max-width: 767px) {
    .price-discount-badge--sticker {
        top: 10px;
        right: -6px;
        width: 54px;
        height: 54px;
        font-size: 16px;
    }
    .products-list .price-discount-badge--sticker {
        right: 4px;
    }
}

/* Store-wide notice banner - content comes from the CMS block "storewide_notice" */
.storewide-notice {
    background-color: #d80012;
    color: #fff;
    padding: 18px 20px;
    /* On mobile the page content follows directly, on desktop the navigation does */
    margin-bottom: 15px;
}
.storewide-notice__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}
.storewide-notice__icon {
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
}
.storewide-notice__text {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
}
.storewide-notice__text p {
    margin: 0;
}
.storewide-notice__text p + p {
    margin-top: 7px;
    font-weight: 400;
}
.storewide-notice__text strong {
    font-size: 1.2em;
    letter-spacing: 0.3px;
}
.storewide-notice__text a {
    color: #fff;
    text-decoration: underline;
}
/* Neutralise Page Builder wrappers (and the contained-row rule above) so the banner
   looks identical whether the CMS block holds plain HTML or Page Builder markup */
.storewide-notice__text [data-content-type='row'],
.storewide-notice__text [data-element='inner'],
.storewide-notice__text [data-content-type='text'],
.storewide-notice__text [data-content-type='html'] {
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
}
@media screen and (min-width: 769px) {
    .storewide-notice {
        padding: 22px 20px;
        margin-bottom: 0;
    }
    .storewide-notice__inner {
        flex-direction: row;
        justify-content: center;
        gap: 20px;
        text-align: left;
    }
    .storewide-notice__icon {
        width: 46px;
        height: 46px;
    }
    .storewide-notice__text {
        font-size: 18px;
    }
}