/* Keep the original brand, photo, type and desktop layout. */
.local-original-hero-photo { display: none; }
#product_link[aria-disabled="true"] { background: #e6e6e6; color: #555; cursor: not-allowed; }
.local-package-help { margin: 10px 0 0; font-size: 13px; line-height: 1.5; color: #555; }
.local-checkout-choice { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 18px 0; margin: 0 0 25px; border-top: 1px solid #e5e5e5; border-bottom: 1px solid #e5e5e5; font-size: 14px; }
.local-checkout-choice ul { margin: 7px 0 0; padding: 0; list-style: none; }
.local-checkout-choice li { font-size: 13px; line-height: 1.5; }
.local-checkout-choice a { flex-shrink: 0; color: #8b420d; text-decoration: underline; text-underline-offset: 3px; padding: 10px 0; }
.local-order-total th, .local-order-total td { font-size: 17px; font-weight: 600; padding-top: 15px !important; padding-bottom: 15px !important; }
.woocommerce-input-wrapper .description { display: block; font-size: 12px; line-height: 1.5; color: #555; }
#billing_birth_date_field .woocommerce-input-wrapper, #billing_email_field .woocommerce-input-wrapper { flex-direction: column; }
#billing_birth_date-description, #billing_email-description { display: block !important; margin: 6px 0 0; padding: 0; background: none; color: #555; box-shadow: none; font-size: 12px; font-weight: 400; line-height: 1.5; position: static; }
#billing_birth_date-description::before, #billing_email-description::before { display: none; }
.local-guide-help { margin: 24px 0; padding: 20px; background: #fff5ed; border-left: 3px solid #ff7e26; }
.local-guide-help p { margin: 0 0 17px; line-height: 1.7; }
.local-guide-help .btn { background: #ff7e26; border: 0; color: #222; padding: 12px 18px; border-radius: 6px; font-weight: 600; }
@media (max-width: 575.98px) {
    .local-checkout-choice { align-items: flex-start; flex-direction: column; gap: 6px; }
    .local-checkout-choice a { min-height: 44px; }
    .product_banner_wrepp .product_col1 img.w-100 { display: block; max-height: 215px; width: auto !important; max-width: 100%; margin: 0 auto; object-fit: contain; }
}
#navigation button.menu-icon {
    appearance: none;
    background: transparent;
    border: 0;
    padding: 4px 6px;
    min-width: 44px;
    min-height: 44px;
    color: inherit;
}
@media (max-width: 360px) {
    .banner_wrepp:not(.local-photo-ready) { background-position: center 143px; }
}
#navigation button.menu-icon:focus-visible {
    outline: 3px solid #a74b13;
    outline-offset: 3px;
    border-radius: 3px;
}
@media (max-width: 575.98px) {
    .banner_wrepp {
        padding-top: 24px;
        padding-bottom: 22px;
        min-height: 0;
        background-size: 124px auto;
        background-position: center 105px;
    }
    .banner_wrepp.local-photo-ready { background-image: none; }
    .banner_wrepp .local-original-hero-photo {
        display: block;
        width: 124px;
        height: auto;
        margin: 12px auto 10px;
    }
    .banner_wrepp h2 { margin-bottom: 3px; }
    .banner_wrepp h1 { margin-bottom: 0; }
    .banner_wrepp p {
        margin-top: 239px;
        margin-bottom: 22px;
        padding: 0 10px;
        font-size: 16px;
        line-height: 25px;
    }
    .banner_wrepp h3 { margin-top: 9px; margin-bottom: 0; }
    .banner_wrepp.local-photo-ready p { margin-top: 0; }
    .process_wrepp .processslider {
        padding: 12px 0 0;
        overflow: visible;
    }
    .processslider > .swiper-wrapper {
        display: flex;
        flex-direction: column;
        gap: 22px;
        transform: none !important;
        height: auto !important;
    }
    .processslider .swiper-slide {
        display: grid;
        grid-template-columns: 46px minmax(0, 1fr);
        column-gap: 14px;
        width: 100% !important;
        height: auto;
        margin: 0 !important;
        padding: 0 8px 19px;
        border-bottom: 1px solid #ececec;
        text-align: left;
    }
    .processslider .swiper-slide > div:first-child {
        grid-column: 1;
        grid-row: 1 / 3;
        margin: 0;
        width: 46px;
        height: 46px;
        border-radius: 8px;
    }
    .processslider .swiper-slide picture img { width: 28px; height: 28px; object-fit: contain; }
    .processslider .swiper-slide h4 { grid-column: 2; font-size: 17px; line-height: 24px; margin: 0 0 6px; }
    .processslider .swiper-slide p { grid-column: 2; font-size: 14px; line-height: 22px; margin: 0; max-width: none; }
    .processslider .swiper-pagination { display: none; }
}

/* The portrait must reserve space at tablet/laptop widths as well as phones. */
@media (min-width: 576px) {
    .banner_wrepp.local-photo-ready { background-image: none; min-height: 0; padding: 40px 0 0; }
    .banner_wrepp.local-photo-ready > .container {
        display: grid;
        grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
        grid-template-rows: auto auto auto 1fr;
        column-gap: clamp(24px, 4vw, 64px);
        row-gap: 20px;
        width: 100%;
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 32px;
    }
    .banner_wrepp.local-photo-ready :is(h2, h1, p, .bestellen-div) { grid-column: 1; width: auto; max-width: none; margin: 0; padding: 0; position: static; }
    .banner_wrepp.local-photo-ready h2 { grid-row: 1; align-self: end; }
    .banner_wrepp.local-photo-ready h1 { grid-row: 2; font-size: clamp(32px, 4.3vw, 56px); line-height: 1.18; }
    .banner_wrepp.local-photo-ready p { grid-row: 3; font-size: clamp(16px, 1.5vw, 19px); line-height: 1.7; }
    .banner_wrepp.local-photo-ready .bestellen-div { grid-row: 4; align-self: start; padding-bottom: 32px; }
    .banner_wrepp.local-photo-ready .bestellen-div h3 { font-size: 15px; margin-top: 10px; }
    .banner_wrepp.local-photo-ready .local-original-hero-photo {
        display: block; grid-column: 2; grid-row: 1 / 5; align-self: end; justify-self: center;
        width: 100%; max-width: 330px; height: auto; max-height: 600px; object-fit: contain; margin: 0;
    }
}
@media (min-width: 576px) and (max-width: 767.98px) {
    .banner_wrepp.local-photo-ready { padding-top: 28px; }
    .banner_wrepp.local-photo-ready > .container { padding: 0 24px; column-gap: 20px; row-gap: 16px; }
    .banner_wrepp.local-photo-ready .btn { padding-left: 24px; padding-right: 24px; }
}
@media (min-width: 576px) {
    .banner_wrepp.local-photo-ready .bestellen-div { width: fit-content; max-width: 100%; justify-self: start; }
    .banner_wrepp.local-photo-ready .bestellen-div h3 { text-align: center; }
}
/* Keep navigation compact until all labels fit on one line. */
@media (min-width: 992px) and (max-width: 1199.98px) {
    #navigation.navbar-expand-lg { flex-wrap: wrap; }
    #navigation .navbar-toggler { display: block !important; }
    #navigation #navbarsExample05:not(.show) { display: none !important; }
    #navigation #navbarsExample05.show { display: block !important; flex-basis: 100%; width: 100%; height: auto !important; opacity: 1 !important; margin-top: 16px; }
    #navigation #navbarsExample05 .navbar-nav { flex-direction: column; align-items: stretch; }
    #navigation #navbarsExample05 .navbar-nav > li { display: block; border-bottom: 1px solid #ececec; }
    #navigation #navbarsExample05 .navbar-nav > li > a { display: block; padding: 12px 0; margin: 0; }
    #navigation #navbarsExample05 .sub-menu { position: static; box-shadow: none; }
}
@media (min-width: 1200px) {
    #navigation #navbarsExample05 { display: flex !important; height: auto !important; opacity: 1 !important; }
    #navigation .navbar-nav > li > a { white-space: nowrap; }
}
.local-process-symbol { display: block; width: 34px; height: 34px; color: #fff; margin: auto; flex-shrink: 0; }
@media(max-width:575.98px) { .processslider .local-process-symbol { width: 28px; height: 28px; } }
