/*
Theme Name: MBG Freital
Theme URI: https://mbg.w500.de/
Author: MBG Relaunch
Description: Individuelles Block-Theme für Stahl- & Metallbau Gläser.
Version: 0.1.0
Requires at least: 7.1
Requires PHP: 8.1
Text Domain: mbg-freital
*/

*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:#12202d}a{text-underline-offset:.18em}.mbg-shop-header{position:sticky;top:0;z-index:90;box-shadow:0 1px 0 rgba(18,32,45,.05)}.admin-bar .mbg-shop-header{top:32px}.mbg-brand{display:flex;align-items:center;gap:.75rem;white-space:nowrap}.mbg-shop-header .wp-block-woocommerce-customer-account,.mbg-shop-header .wp-block-woocommerce-mini-cart{display:none!important}.mbg-primary-nav .wp-block-navigation-item__content{padding:.55rem .25rem;text-decoration:none}.mbg-primary-nav .mbg-cart-link{background:#075aa8;color:#fff;padding:.1rem .75rem}.mbg-primary-nav .mbg-cart-link a{color:#fff}.wp-block-button__link,.wc-block-components-button,.single_add_to_cart_button{border:0!important;border-radius:2px!important;background:#075aa8!important;color:#fff!important;min-height:46px;font-weight:750!important;box-shadow:none!important}.wp-block-button__link:hover,.wc-block-components-button:hover,.single_add_to_cart_button:hover{background:#064a89!important}.woocommerce ul.products,.wc-block-product-template{gap:1.5rem!important}.woocommerce ul.products li.product,.wc-block-product{padding:0 0 1.1rem!important;border:1px solid #dce4eb;border-radius:2px;background:#fff;overflow:hidden;box-shadow:none!important}.woocommerce ul.products li.product img,.wc-block-product img{margin:0 0 1rem!important;aspect-ratio:4/3;object-fit:cover;background:#f2f4f5}.woocommerce ul.products li.product .woocommerce-loop-product__title,.woocommerce ul.products li.product .price,.woocommerce ul.products li.product .button,.wc-block-product h2,.wc-block-product .wp-block-woocommerce-product-price,.wc-block-product .wp-block-button{margin-left:1rem!important;margin-right:1rem!important}.woocommerce .price,.wc-block-components-product-price{color:#075aa8!important;font-weight:800}.woocommerce-breadcrumb{font-size:.88rem;color:#607080}.woocommerce span.onsale{border-radius:0;background:#075aa8}footer.wp-block-group a{color:#fff!important}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen-reader-text:focus{clip:auto!important;width:auto;height:auto;margin:1rem;padding:.75rem 1rem;background:#fff;color:#111;z-index:100000}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #f2b705;outline-offset:3px}@media(max-width:782px){.admin-bar .mbg-shop-header{top:46px}.mbg-shop-header{position:sticky}.mbg-shop-header>.wp-block-group{gap:.75rem}.wp-block-navigation__responsive-container.is-menu-open{padding:1.25rem}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{gap:.25rem;width:100%}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{width:100%;border-bottom:1px solid #dce4eb}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{display:block;width:100%;padding:.85rem 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Site-wide compact heading scale, explicitly requested by the owner. */
html body[class] :is(main,#main,#page-content) :is(h1,h2,h3,h4,h5,h6){font-family:Montserrat,Arial,sans-serif!important;font-weight:400!important;line-height:1.35!important;letter-spacing:normal!important}
html body[class] :is(main,#main,#page-content) h1{font-size:26px!important}
html body[class] :is(main,#main,#page-content) h2{font-size:22px!important}
html body[class] :is(main,#main,#page-content) h3{font-size:18px!important}
html body[class] :is(main,#main,#page-content) .products :is(h2,h3){font-size:16px!important}
html body[class] :is(main,#main,#page-content) :is(h4,h5,h6){font-size:16px!important}
html body[class] .mbg-impreza-footer :is(h2,h3,h4){font-size:13px!important;font-weight:400!important}
@media(max-width:680px){
html body[class] :is(main,#main,#page-content) h1{font-size:22px!important}
html body[class] :is(main,#main,#page-content) h2{font-size:20px!important}
html body[class] :is(main,#main,#page-content) h3{font-size:17px!important}
}

/* Public, crawlable product guidance: visible before WooCommerce tabs. */
.single-product .mbg-product-main-description {
  clear: both;
  width: min(100% - 40px, 1480px);
  margin: 28px auto 12px;
  color: #102033;
}

.single-product .mbg-product-main-description > p:first-child {
  margin-top: 0;
}

.single-product .mbg-product-main-description .mbg-shop-depth-v1 {
  margin-top: 22px;
}

@media (max-width: 767px) {
  .single-product .mbg-product-main-description {
    width: min(100% - 28px, 1480px);
    margin-top: 20px;
  }
}

/* Keep the storefront chrome deliberately simple. */
header .wp-block-woocommerce-customer-account,
header .wp-block-woocommerce-mini-cart {
    display: none !important;
}

footer a {
    color: #fff !important;
}

.mbg-logo {
    display: block;
    width: min(245px, 34vw);
    height: auto;
}

@media (max-width: 782px) {
    .mbg-logo {
        width: 180px;
        max-width: 58vw;
    }
}

.mbg-hero h1,
.mbg-page-hero h1 {
    max-width: 900px;
}

.mbg-hero p:not(.mbg-eyebrow),
.mbg-page-hero p:not(.mbg-eyebrow) {
    max-width: 780px;
}

.mbg-eyebrow {
    margin-bottom: .75rem;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.mbg-card-grid {
    gap: 1.25rem;
    margin-top: 2rem;
}

.mbg-service-card,
.mbg-contact-card,
.mbg-facts {
    padding: clamp(1.4rem, 3vw, 2rem);
    border: 1px solid #dce4eb;
    background: #fff;
}

.mbg-service-card {
    min-height: 250px;
}

.mbg-service-card h2,
.mbg-service-card h3 {
    margin-top: 0;
}

.mbg-service-card a,
.mbg-contact-card a {
    color: #075aa8;
    font-weight: 750;
}

.mbg-facts {
    border-left: 4px solid #075aa8;
}

.mbg-process {
    margin-top: 2rem;
    padding: clamp(1.5rem, 4vw, 3rem);
    background: #f2f4f5;
}

.mbg-process li {
    margin-bottom: .65rem;
}

.mbg-hero .is-style-outline .wp-block-button__link,
.mbg-cta .is-style-outline .wp-block-button__link {
    background: transparent !important;
    border: 2px solid currentColor !important;
}

.mbg-hero .is-style-outline .wp-block-button__link {
    color: #fff !important;
}

.mbg-cta .is-style-outline .wp-block-button__link {
    color: #075aa8 !important;
}

@media (max-width: 782px) {
    .mbg-service-card {
        min-height: 0;
    }
}

.mbg-guide-section {
    background: #fff;
    padding-inline: clamp(1.5rem, 3vw, 3.5rem) !important;
}

.mbg-guide-section .wp-block-columns {
    gap: clamp(2rem, 6vw, 6rem);
    align-items: stretch;
}

.mbg-guide-section li {
    margin-bottom: .7rem;
}

.mbg-guide-card {
    padding: clamp(1.75rem, 4vw, 3.25rem);
    border-radius: 14px;
    background: #f2f4f5;
    border: 1px solid #dce4eb;
}

.mbg-guide-card a {
    color: #075aa8;
    font-weight: 750;
}

/* Cohesive, industrial hero composition. */
.mbg-hero {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(0, 760px) 1fr;
    align-content: center;
    row-gap: 1.25rem;
    min-height: clamp(540px, 54vw, 720px);
    padding: clamp(4rem, 8vw, 7rem) clamp(1.5rem, 4vw, 5rem) !important;
    background-image:
        linear-gradient(90deg, rgba(6, 49, 91, .16), rgba(7, 90, 168, .04)),
        url('../images/mbg-panorama.jpg');
    background-position: center center;
}

.mbg-hero::before {
    content: '';
    position: absolute;
    z-index: -1;
    inset: 0 auto 0 0;
    width: min(920px, 66vw);
    background: linear-gradient(120deg, rgba(5, 43, 77, .98), rgba(7, 90, 168, .9));
    clip-path: polygon(0 0, 88% 0, 100% 100%, 0 100%);
}

.mbg-hero > * {
    grid-column: 1;
    width: 100% !important;
    max-width: 720px !important;
    margin-inline: 0 !important;
    position: relative;
    z-index: 1;
}

.mbg-hero .mbg-eyebrow {
    width: fit-content !important;
    margin: 0 0 .35rem !important;
    padding: .5rem .75rem;
    border: 1px solid rgba(255, 255, 255, .42);
    border-radius: 999px;
    background: rgba(255, 255, 255, .1);
}

.mbg-hero h1 {
    margin-block: 0;
    font-size: clamp(2.5rem, 4.6vw, 4.8rem) !important;
    line-height: 1.02;
    text-wrap: balance;
}

.mbg-hero p.has-medium-font-size {
    margin-block: .3rem .5rem;
    font-size: clamp(1.05rem, 1.45vw, 1.25rem) !important;
    line-height: 1.65;
}

.mbg-hero .wp-block-buttons {
    gap: .85rem;
    margin-top: .5rem;
}

.mbg-hero .wp-block-button__link {
    padding-inline: 1.4rem;
}

@media (max-width: 781px) {
    .mbg-hero {
        display: block;
        min-height: 0;
        padding: 4.5rem 1.25rem !important;
        background-position: 62% center;
    }

    .mbg-hero::before {
        width: 100%;
        clip-path: none;
        background: linear-gradient(120deg, rgba(5, 43, 77, .96), rgba(7, 90, 168, .78));
    }

    .mbg-hero > * + * {
        margin-top: 1.1rem !important;
    }

    .mbg-hero h1 {
        font-size: clamp(2.25rem, 11vw, 3.5rem) !important;
    }

    .mbg-section {
        padding-inline: 1.25rem !important;
    }

    .mbg-section .mbg-card-grid {
        display: block !important;
        width: 100% !important;
        margin-inline: 0 !important;
    }

    .mbg-section .mbg-service-card {
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 0 1.25rem !important;
    }

    .mbg-section .mbg-service-card h3,
    .mbg-section .mbg-service-card p,
    .mbg-section .mbg-service-card a {
        overflow-wrap: anywhere;
    }

    .mbg-guide-section {
        padding-block: 2.75rem !important;
        padding-inline: 1.25rem !important;
    }

    .mbg-guide-section .wp-block-columns {
        display: block !important;
        width: 100% !important;
        margin-inline: 0 !important;
    }

    .mbg-guide-section .wp-block-column {
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 0 1.5rem !important;
    }

    .mbg-guide-section h2,
    .mbg-guide-section p,
    .mbg-guide-section li {
        overflow-wrap: anywhere;
    }
}

/* Service navigator: compact comparison instead of a conventional card grid. */
.mbg-section {
    display: grid;
    grid-template-columns: minmax(280px, .72fr) minmax(540px, 1.28fr);
    grid-template-rows: auto 1fr;
    gap: 1rem clamp(2.5rem, 6vw, 7rem);
    align-items: start;
    padding: clamp(4rem, 7vw, 7rem) clamp(1.5rem, 4vw, 5rem) !important;
    background-color: #0f2233 !important;
    background-image: linear-gradient(135deg, #0f2233 0%, #06355f 100%) !important;
    color: #fff !important;
}

.mbg-section > h2,
.mbg-section > p,
.mbg-section > .mbg-card-grid {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

.mbg-section > h2 {
    grid-column: 1;
    grid-row: 1;
    color: #fff;
    text-align: left !important;
    font-size: clamp(2rem, 3.4vw, 3.6rem);
    line-height: 1.08;
    text-wrap: balance;
}

.mbg-section > p {
    grid-column: 1;
    grid-row: 2;
    max-width: 520px !important;
    color: rgba(255, 255, 255, .76);
    text-align: left !important;
    font-size: 1.05rem;
}

.mbg-section > .mbg-card-grid {
    grid-column: 2;
    grid-row: 1 / span 2;
    display: grid !important;
    grid-template-columns: 1fr;
    gap: .85rem;
}

.mbg-section .mbg-service-card {
    min-height: 0;
    padding: 1.6rem 1.75rem;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 10px;
    background: rgba(255, 255, 255, .98);
    color: #12202d !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, .14);
}

.mbg-section .mbg-service-card h3,
.mbg-section .mbg-service-card p {
    color: #12202d !important;
}

.mbg-section .mbg-service-card::before {
    position: absolute;
    top: 1.75rem;
    left: 1.75rem;
    margin: 0;
}

.mbg-section .mbg-service-card::after {
    width: 5px;
}

.mbg-section .mbg-service-card h3 {
    margin-bottom: .55rem;
}

.mbg-section .mbg-service-card p {
    margin-block: .35rem;
}

.mbg-section .mbg-service-card p:last-child {
    margin-top: .9rem;
}

@media (max-width: 980px) {
    .mbg-section {
        display: block;
        padding: 3.75rem 1.25rem !important;
    }

    .mbg-section > h2,
    .mbg-section > p {
        max-width: 720px !important;
    }

    .mbg-section > p {
        margin-top: 1rem !important;
    }

    .mbg-section > .mbg-card-grid {
        margin-top: 2.25rem !important;
    }
}

/* Final image placement inside the selected service navigator. */
.mbg-section .mbg-service-card {
    min-height: 185px;
    padding: 1.5rem 1.75rem 1.5rem calc(35% + 1.75rem);
}

.mbg-section .mbg-service-card::before {
    content: '' !important;
    position: absolute;
    inset: 0 auto 0 0;
    display: block;
    width: 35%;
    margin: 0;
    border-radius: 9px 0 0 9px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.mbg-section .mbg-service-card:nth-child(1)::before {
    background-image: linear-gradient(rgba(7,90,168,.08),rgba(7,90,168,.08)),url('/wp-content/uploads/mbg/gelaender.webp');
}

.mbg-section .mbg-service-card:nth-child(2)::before {
    background-image: linear-gradient(rgba(7,90,168,.08),rgba(7,90,168,.08)),url('/wp-content/uploads/mbg/konstruktion.webp');
}

.mbg-section .mbg-service-card:nth-child(3)::before {
    background-image: linear-gradient(rgba(7,90,168,.08),rgba(7,90,168,.08)),url('/wp-content/uploads/mbg/bauteil.webp');
}

@media (max-width:680px) {
    .mbg-section .mbg-service-card {
        padding: 175px 1.25rem 1.4rem;
    }

    .mbg-section .mbg-service-card::before {
        inset: 0 0 auto;
        width: 100%;
        height: 145px;
        border-radius: 9px 9px 0 0;
    }
}

/* Decorative service imagery; these are category visuals, not project references. */
.mbg-section .mbg-service-card {
    min-height: 185px;
    padding: 1.5rem 1.75rem 1.5rem calc(35% + 1.75rem);
}

.mbg-section .mbg-service-card::before {
    content: '' !important;
    position: absolute;
    inset: 0 auto 0 0;
    display: block;
    width: 35%;
    margin: 0;
    border-radius: 9px 0 0 9px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.mbg-section .mbg-service-card:nth-child(1)::before {
    background-image: linear-gradient(rgba(7, 90, 168, .08), rgba(7, 90, 168, .08)), url('/wp-content/uploads/mbg/gelaender.webp');
}

.mbg-section .mbg-service-card:nth-child(2)::before {
    background-image: linear-gradient(rgba(7, 90, 168, .08), rgba(7, 90, 168, .08)), url('/wp-content/uploads/mbg/konstruktion.webp');
}

.mbg-section .mbg-service-card:nth-child(3)::before {
    background-image: linear-gradient(rgba(7, 90, 168, .08), rgba(7, 90, 168, .08)), url('/wp-content/uploads/mbg/bauteil.webp');
}

@media (max-width: 680px) {
    .mbg-section .mbg-service-card {
        padding: 175px 1.25rem 1.4rem;
    }

    .mbg-section .mbg-service-card::before {
        inset: 0 0 auto;
        width: 100%;
        height: 145px;
        border-radius: 9px 9px 0 0;
    }
}

/* Alternative editorial service layout: open, quiet and without card chrome. */
.mbg-section {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
    grid-template-rows: auto auto;
    gap: 1.5rem clamp(3rem, 8vw, 9rem);
    padding: clamp(4rem, 7vw, 7rem) clamp(1.5rem, 4vw, 5rem) !important;
    background-color: #f5f8fb !important;
    background-image: none !important;
    color: #12202d !important;
}

.mbg-section > h2 {
    grid-column: 1;
    grid-row: 1;
    max-width: 850px !important;
    color: #12202d !important;
    font-size: clamp(2.25rem, 4vw, 4.25rem);
}

.mbg-section > p {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    max-width: 560px !important;
    color: #40505e !important;
    font-size: 1.05rem;
}

.mbg-section > .mbg-card-grid {
    grid-column: 1 / -1;
    grid-row: 2;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1.5rem, 3vw, 3.5rem);
    margin-top: clamp(2rem, 4vw, 4rem) !important;
}

.mbg-section .mbg-service-card {
    display: block;
    min-height: 0;
    padding: clamp(1.5rem, 2.5vw, 2.25rem) 0 0;
    border: 0;
    border-top: 4px solid #075aa8;
    border-radius: 0;
    background: transparent;
    color: #12202d !important;
    box-shadow: none;
    overflow: visible;
}

.mbg-section .mbg-service-card::after {
    display: none;
}

.mbg-section .mbg-service-card::before {
    position: static;
    display: block;
    margin: 0 0 clamp(2rem, 4vw, 4rem);
    color: rgba(7, 90, 168, .28);
    font-size: clamp(2.8rem, 5vw, 5.5rem);
    font-weight: 800;
    line-height: .8;
    letter-spacing: -.05em;
}

.mbg-section .mbg-service-card:hover {
    transform: none;
    border-color: #f2b705;
    box-shadow: none;
}

.mbg-section .mbg-service-card h3 {
    margin-bottom: 1rem;
    font-size: clamp(1.35rem, 2vw, 1.8rem);
}

.mbg-section .mbg-service-card p {
    max-width: 500px;
    color: #40505e !important;
}

.mbg-section .mbg-service-card p:last-child {
    margin-top: 1.5rem;
}

@media (max-width: 900px) {
    .mbg-section {
        display: block;
        padding: 3.75rem 1.25rem !important;
    }

    .mbg-section > p {
        margin-top: 1rem !important;
    }

    .mbg-section > .mbg-card-grid {
        grid-template-columns: 1fr !important;
        gap: 2.5rem;
    }

    .mbg-section .mbg-service-card::before {
        margin-bottom: 1.5rem;
    }
}

/* Selected concept: dark service navigator. */
.mbg-section {
    display: grid;
    grid-template-columns: minmax(280px, .72fr) minmax(540px, 1.28fr);
    grid-template-rows: auto 1fr;
    gap: 1rem clamp(2.5rem, 6vw, 7rem);
    align-items: start;
    padding: clamp(4rem, 7vw, 7rem) clamp(1.5rem, 4vw, 5rem) !important;
    background-color: #0f2233 !important;
    background-image: linear-gradient(135deg, #0f2233 0%, #06355f 100%) !important;
    color: #fff !important;
}

.mbg-section > h2 {
    grid-column: 1;
    grid-row: 1;
    max-width: none !important;
    color: #fff !important;
    text-align: left !important;
    font-size: clamp(2rem, 3.4vw, 3.6rem);
    line-height: 1.08;
}

.mbg-section > p {
    grid-column: 1;
    grid-row: 2;
    align-self: start;
    max-width: 520px !important;
    color: rgba(255, 255, 255, .76) !important;
    text-align: left !important;
    font-size: 1.05rem;
}

.mbg-section > .mbg-card-grid {
    grid-column: 2;
    grid-row: 1 / span 2;
    display: grid !important;
    grid-template-columns: 1fr;
    gap: .85rem;
    margin: 0 !important;
}

.mbg-section .mbg-service-card {
    position: relative;
    display: block;
    min-height: 0;
    padding: 1.6rem 1.75rem 1.6rem 5.25rem;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 10px;
    background: rgba(255, 255, 255, .98);
    color: #12202d !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, .14);
    overflow: hidden;
}

.mbg-section .mbg-service-card::after {
    display: block;
    width: 5px;
}

.mbg-section .mbg-service-card::before {
    display: none;
}

.mbg-section .mbg-service-card:hover {
    transform: translateY(-3px);
    border-color: rgba(255, 255, 255, .3);
    box-shadow: 0 18px 38px rgba(0, 0, 0, .2);
}

.mbg-section .mbg-service-card h3 {
    margin-bottom: .55rem;
    color: #12202d !important;
    font-size: clamp(1.2rem, 1.7vw, 1.5rem);
}

.mbg-section .mbg-service-card p {
    max-width: none;
    margin-block: .35rem;
    color: #40505e !important;
}

.mbg-section .mbg-service-card p:last-child {
    margin-top: .9rem;
}

@media (max-width: 980px) {
    .mbg-section {
        display: block;
        padding: 3.75rem 1.25rem !important;
    }

    .mbg-section > p {
        margin-top: 1rem !important;
    }

    .mbg-section > .mbg-card-grid {
        grid-template-columns: 1fr !important;
        margin-top: 2.25rem !important;
    }
}

/* Use the available viewport width while retaining comfortable edge spacing. */
.mbg-shop-header .alignwide,
main .alignwide,
footer .alignwide {
    width: 100% !important;
    max-width: none !important;
}

.mbg-shop-header > .wp-block-group,
main > .wp-block-group:not(.alignfull),
footer > .wp-block-columns {
    padding-inline: clamp(1rem, 3vw, 3.5rem);
}

.mbg-hero > *,
.mbg-page-hero > * {
    width: 100%;
    max-width: none;
}

.mbg-hero h1,
.mbg-page-hero h1,
.mbg-hero p:not(.mbg-eyebrow),
.mbg-page-hero p:not(.mbg-eyebrow) {
    max-width: 980px;
}

.mbg-hero {
    min-height: clamp(440px, 58vw, 680px);
    background-color: #075aa8 !important;
    background-image:
        linear-gradient(90deg, rgba(6, 49, 91, .94) 0%, rgba(7, 90, 168, .82) 48%, rgba(7, 90, 168, .28) 100%),
        url('../images/mbg-panorama.jpg');
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}

@media (max-width: 782px) {
    .mbg-hero {
        min-height: 520px;
        background-image:
            linear-gradient(90deg, rgba(6, 49, 91, .94), rgba(7, 90, 168, .72)),
            url('../images/mbg-panorama.jpg');
        background-position: 62% center;
    }
}

/* Modern service overview. */
.mbg-section {
    background: linear-gradient(180deg, #fff 0%, #f6f9fc 100%);
}

.mbg-section > h2 {
    margin-bottom: .45rem;
    font-size: clamp(1.7rem, 2.6vw, 2.4rem);
}

.mbg-card-grid {
    gap: clamp(1rem, 2vw, 1.75rem);
}

.mbg-service-card {
    position: relative;
    min-height: 300px;
    padding: clamp(1.6rem, 3vw, 2.4rem);
    border: 1px solid rgba(7, 90, 168, .13);
    border-radius: 14px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 12px 35px rgba(18, 32, 45, .07);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
    overflow: hidden;
}

.mbg-service-card::after {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: #075aa8;
}

.mbg-service-card::before {
    display: block;
    margin-bottom: 2.4rem;
    color: #075aa8;
    font-size: .8rem;
    font-weight: 850;
    letter-spacing: .14em;
}

.mbg-card-grid > .mbg-service-card:nth-child(1)::before { content: '01'; }
.mbg-card-grid > .mbg-service-card:nth-child(2)::before { content: '02'; }
.mbg-card-grid > .mbg-service-card:nth-child(3)::before { content: '03'; }

.mbg-service-card:hover {
    transform: translateY(-6px);
    border-color: rgba(7, 90, 168, .34);
    box-shadow: 0 20px 45px rgba(18, 32, 45, .13);
}

.mbg-service-card h3 {
    font-size: clamp(1.2rem, 1.7vw, 1.5rem);
}

.mbg-service-card p:last-child {
    margin-top: 1.8rem;
}

.mbg-service-card a {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    text-decoration: none;
}

.mbg-service-card a:hover {
    text-decoration: underline;
}

.mbg-facts {
    border: 0;
    border-radius: 14px;
    background: linear-gradient(145deg, #075aa8, #06355f);
    color: #fff;
    box-shadow: 0 18px 40px rgba(18, 32, 45, .14);
}

.mbg-facts h3 {
    color: #fff;
}

.mbg-cta {
    margin-block: clamp(1rem, 3vw, 2.5rem);
    padding: clamp(3rem, 6vw, 5.5rem) clamp(1.25rem, 4vw, 4rem) !important;
    border-radius: 16px;
    background: linear-gradient(120deg, #06355f 0%, #075aa8 100%);
    color: #fff;
    box-shadow: 0 20px 50px rgba(18, 32, 45, .16);
}

.mbg-cta h2 {
    margin-top: 0;
    margin-bottom: 1.25rem;
}

.mbg-cta > p {
    margin-bottom: 1.75rem;
}

.mbg-cta .wp-block-buttons {
    gap: 1rem;
}

.mbg-cta .is-style-outline .wp-block-button__link {
    color: #fff !important;
}

@media (max-width: 782px) {
    .mbg-service-card {
        min-height: 0;
    }

    .mbg-service-card::before {
        margin-bottom: 1.4rem;
    }

    .mbg-cta {
        border-radius: 10px;
        padding-block: 2.75rem !important;
    }
}

/* Generated category visuals in the final cascade. */
.mbg-section .mbg-service-card{min-height:185px;padding:1.5rem 1.75rem 1.5rem calc(35% + 1.75rem)}
.mbg-section .mbg-service-card::before{content:''!important;position:absolute;inset:0 auto 0 0;display:block;width:35%;margin:0;border-radius:9px 0 0 9px;background-position:center;background-size:cover;background-repeat:no-repeat}
.mbg-section .mbg-service-card:nth-child(1)::before{background-image:linear-gradient(rgba(7,90,168,.08),rgba(7,90,168,.08)),url('/wp-content/uploads/mbg/gelaender.webp')}
.mbg-section .mbg-service-card:nth-child(2)::before{background-image:linear-gradient(rgba(7,90,168,.08),rgba(7,90,168,.08)),url('/wp-content/uploads/mbg/konstruktion.webp')}
.mbg-section .mbg-service-card:nth-child(3)::before{background-image:linear-gradient(rgba(7,90,168,.08),rgba(7,90,168,.08)),url('/wp-content/uploads/mbg/bauteil.webp')}
@media(max-width:680px){.mbg-section .mbg-service-card{padding:175px 1.25rem 1.4rem}.mbg-section .mbg-service-card::before{inset:0 0 auto;width:100%;height:145px;border-radius:9px 9px 0 0}}

/* Alternating service rows with identical dimensions and content rhythm. */
.mbg-section .mbg-service-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 210px;
}

.mbg-section .mbg-service-card:nth-child(1),
.mbg-section .mbg-service-card:nth-child(3) {
    transform: translateX(-24px);
}

.mbg-section .mbg-service-card:nth-child(2) {
    padding: 1.5rem calc(35% + 1.75rem) 1.5rem 1.75rem;
    transform: translateX(24px);
}

.mbg-section .mbg-service-card:nth-child(2)::before {
    inset: 0 0 0 auto;
    border-radius: 0 9px 9px 0;
}

.mbg-section .mbg-service-card:nth-child(1):hover,
.mbg-section .mbg-service-card:nth-child(3):hover {
    transform: translate(-24px,-4px);
}

.mbg-section .mbg-service-card:nth-child(2):hover {
    transform: translate(24px,-4px);
}

@media(max-width:980px) {
    .mbg-section .mbg-service-card,
    .mbg-section .mbg-service-card:nth-child(1),
    .mbg-section .mbg-service-card:nth-child(2),
    .mbg-section .mbg-service-card:nth-child(3),
    .mbg-section .mbg-service-card:nth-child(1):hover,
    .mbg-section .mbg-service-card:nth-child(2):hover,
    .mbg-section .mbg-service-card:nth-child(3):hover {
        transform: none;
    }
}

/* Helpful service copy in the open side of each zigzag row. */
.mbg-section > .mbg-card-grid {
    align-items: center !important;
    row-gap: clamp(2.75rem,5vw,5.5rem) !important;
}

.mbg-section .mbg-service-note {
    align-self: center;
    min-width: 0;
    max-width: 620px;
    padding: clamp(.5rem,2vw,1.5rem) clamp(.25rem,2.5vw,2.25rem);
    color: rgba(255,255,255,.84);
}

.mbg-section .mbg-service-note .mbg-eyebrow {
    display: none !important;
}

.mbg-section .mbg-service-note h3 {
    margin: 0 0 1rem;
    color: #fff;
    font-size: clamp(1.55rem,2.2vw,2.15rem);
    line-height: 1.16;
    text-wrap: balance;
}

.mbg-section .mbg-service-note p:not(.mbg-eyebrow) {
    margin: 0 0 .85rem;
    color: rgba(255,255,255,.82) !important;
    font-size: clamp(1rem,1.15vw,1.1rem);
    line-height: 1.7;
}

.mbg-section .mbg-note-1 { grid-column: 1; grid-row: 1; }
.mbg-section .mbg-card-1 { grid-column: 2 !important; grid-row: 1 !important; }
.mbg-section .mbg-card-2 { grid-column: 1 !important; grid-row: 2 !important; }
.mbg-section .mbg-note-2 { grid-column: 2; grid-row: 2; }
.mbg-section .mbg-note-3 { grid-column: 1; grid-row: 3; }
.mbg-section .mbg-card-3 { grid-column: 2 !important; grid-row: 3 !important; }

.mbg-section .mbg-card-1,
.mbg-section .mbg-card-3 {
    min-height: 260px;
    padding: 1.5rem 1.75rem 1.5rem calc(35% + 1.75rem) !important;
}

.mbg-section .mbg-card-2 {
    min-height: 260px;
    padding: 1.5rem calc(35% + 1.75rem) 1.5rem 1.75rem !important;
}

.mbg-section .mbg-card-1::before,
.mbg-section .mbg-card-3::before {
    inset: 0 auto 0 0 !important;
    border-radius: 9px 0 0 9px !important;
}

.mbg-section .mbg-card-2::before {
    inset: 0 0 0 auto !important;
    border-radius: 0 9px 9px 0 !important;
}

.mbg-section .mbg-card-1::before {
    background-image: linear-gradient(rgba(7,90,168,.08),rgba(7,90,168,.08)),url('/wp-content/uploads/mbg/gelaender.webp') !important;
}

.mbg-section .mbg-card-2::before {
    background-image: linear-gradient(rgba(7,90,168,.08),rgba(7,90,168,.08)),url('/wp-content/uploads/mbg/konstruktion.webp') !important;
}

.mbg-section .mbg-card-3::before {
    background-image: linear-gradient(rgba(7,90,168,.08),rgba(7,90,168,.08)),url('/wp-content/uploads/mbg/bauteil.webp') !important;
}

@media(max-width:980px) {
    .mbg-section .mbg-note-1 { grid-row: 1 !important; }
    .mbg-section .mbg-card-1 { grid-row: 2 !important; }
    .mbg-section .mbg-note-2 { grid-row: 3 !important; }
    .mbg-section .mbg-card-2 { grid-row: 4 !important; }
    .mbg-section .mbg-note-3 { grid-row: 5 !important; }
    .mbg-section .mbg-card-3 { grid-row: 6 !important; }

    .mbg-section .mbg-service-note,
    .mbg-section .mbg-card-1,
    .mbg-section .mbg-card-2,
    .mbg-section .mbg-card-3 {
        grid-column: 1 !important;
    }
}

@media(max-width:680px) {
    .mbg-section .mbg-card-1,
    .mbg-section .mbg-card-2,
    .mbg-section .mbg-card-3 {
        min-height: 0;
        padding: 175px 1.25rem 1.4rem !important;
    }

    .mbg-section .mbg-card-1::before,
    .mbg-section .mbg-card-2::before,
    .mbg-section .mbg-card-3::before {
        inset: 0 0 auto !important;
        width: 100% !important;
        height: 145px !important;
        border-radius: 9px 9px 0 0 !important;
    }
}

/* Preserve MBG contrast when the content is rendered by Impreza. */
body .l-main .mbg-hero,
body .l-main .mbg-hero h1,
body .l-main .mbg-hero p,
body .l-main .mbg-hero a,
body .l-main .mbg-section,
body .l-main .mbg-section h2,
body .l-main .mbg-section h3 {
    color: #fff !important;
}

body .l-main .mbg-service-card h3,
body .l-main .mbg-service-card p {
    color: #12202d !important;
}

/* Final lightweight hero heading. */
.mbg-hero h1,
.mbg-hero .wp-block-heading.has-x-large-font-size {
    max-width: 650px !important;
    font-size: clamp(2.2rem,3.5vw,3.8rem) !important;
    font-weight: 450 !important;
    line-height: 1.12 !important;
    letter-spacing: -.018em !important;
}

@media(max-width:680px) {
    .mbg-hero h1,
    .mbg-hero .wp-block-heading.has-x-large-font-size {
        font-size: clamp(1.95rem,8.5vw,2.65rem) !important;
        font-weight: 450 !important;
    }
}

/* Exact requested hero labels: smaller and regular weight. */
.mbg-hero > .mbg-eyebrow {
    display: inline-flex !important;
    width: auto !important;
    padding: .4rem .75rem !important;
    font-size: .65rem !important;
    font-weight: 400 !important;
    letter-spacing: .1em !important;
}

.mbg-hero > h1,
.mbg-hero > .wp-block-heading.has-x-large-font-size {
    max-width: 610px !important;
    font-size: clamp(2rem,3vw,3.25rem) !important;
    font-weight: 400 !important;
    line-height: 1.14 !important;
    letter-spacing: -.012em !important;
}

@media(max-width:680px) {
    .mbg-hero > h1,
    .mbg-hero > .wp-block-heading.has-x-large-font-size {
        font-size: clamp(1.8rem,7.5vw,2.35rem) !important;
        font-weight: 400 !important;
    }
}

/* Very compact final hero typography. */
.mbg-hero > .mbg-eyebrow {
    padding: .25rem .5rem !important;
    font-size: .48rem !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    letter-spacing: .06em !important;
}

.mbg-hero > h1,
.mbg-hero > .wp-block-heading.has-x-large-font-size {
    max-width: 470px !important;
    margin-block: 1rem !important;
    font-size: clamp(1.35rem,1.8vw,1.8rem) !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
}

@media(max-width:680px) {
    .mbg-hero > h1,
    .mbg-hero > .wp-block-heading.has-x-large-font-size {
        font-size: clamp(1.25rem,5.5vw,1.55rem) !important;
    }
}

/* Compact hero title requested. */
.mbg-hero > .mbg-eyebrow {
    padding: .32rem .6rem !important;
    font-size: .55rem !important;
    font-weight: 400 !important;
    letter-spacing: .08em !important;
}

.mbg-hero > h1,
.mbg-hero > .wp-block-heading.has-x-large-font-size {
    max-width: 520px !important;
    font-size: clamp(1.65rem,2.25vw,2.35rem) !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
}

@media(max-width:680px) {
    .mbg-hero > h1,
    .mbg-hero > .wp-block-heading.has-x-large-font-size {
        font-size: clamp(1.5rem,6.5vw,1.9rem) !important;
    }
}

/* Subtle interactive lift for the service elements. */
@media (hover:hover) and (pointer:fine) {
    .mbg-section .mbg-service-card {
        transition: transform .28s ease, box-shadow .28s ease !important;
        will-change: transform;
    }

    .mbg-section .mbg-service-card:hover {
        transform: translateY(-6px) !important;
        box-shadow: 0 20px 42px rgba(0,0,0,.22) !important;
    }
}

/* Cohesive planning and company transition below the service area. */
.mbg-guide-section {
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: clamp(3.75rem,6vw,6rem) clamp(1.25rem,4vw,5rem) !important;
    background: linear-gradient(135deg,#edf4fa 0%,#f8fbfd 100%);
}

.mbg-guide-section > .wp-block-columns {
    gap: clamp(1.25rem,3vw,2.5rem) !important;
    align-items: stretch !important;
}

.mbg-guide-section > .wp-block-columns > .wp-block-column {
    box-sizing: border-box;
    min-width: 0;
    margin: 0 !important;
    padding: clamp(2rem,3vw,3rem) !important;
    border: 1px solid rgba(12,75,128,.12);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 18px 46px rgba(15,34,51,.08);
}

.mbg-guide-section .mbg-guide-card {
    border-color: rgba(255,255,255,.12) !important;
    background: linear-gradient(135deg,#0d416f 0%,#0866b6 100%) !important;
    color: #fff;
    box-shadow: 0 20px 48px rgba(4,63,111,.22) !important;
}

.mbg-guide-section .mbg-eyebrow {
    margin-bottom: 1rem;
    color: #0866b6;
}

.mbg-guide-section h2 {
    margin: 0 0 1rem;
    font-size: clamp(1.55rem,2.1vw,2.05rem);
    line-height: 1.2;
}

.mbg-guide-section p,
.mbg-guide-section li {
    line-height: 1.65;
}

.mbg-guide-section ul,
.mbg-guide-section ol {
    margin: 1.35rem 0 0;
    padding-left: 1.4rem;
}

.mbg-guide-section li + li {
    margin-top: .75rem;
}

.mbg-guide-section .mbg-guide-card .mbg-eyebrow,
.mbg-guide-section .mbg-guide-card h2,
.mbg-guide-section .mbg-guide-card p,
.mbg-guide-section .mbg-guide-card li,
.mbg-guide-section .mbg-guide-card a {
    color: #fff !important;
}

.mbg-guide-section .mbg-guide-card a {
    text-decoration-color: rgba(255,255,255,.65);
    text-underline-offset: .25em;
}

.mbg-guide-section + .wp-block-group.alignfull {
    box-sizing: border-box;
    padding: clamp(3.75rem,6vw,6rem) clamp(1.25rem,4vw,5rem) !important;
    background: #fff !important;
}

.mbg-guide-section + .wp-block-group.alignfull > .wp-block-columns {
    gap: clamp(2rem,5vw,6rem) !important;
    align-items: center !important;
}

.mbg-guide-section + .wp-block-group.alignfull .mbg-eyebrow {
    color: #0866b6;
}

.mbg-guide-section + .wp-block-group.alignfull h2 {
    margin-bottom: 1rem;
    font-size: clamp(1.7rem,2.4vw,2.35rem);
}

.mbg-guide-section + .wp-block-group.alignfull p {
    max-width: 780px;
    line-height: 1.7;
}

.mbg-guide-section + .wp-block-group.alignfull .mbg-facts {
    box-sizing: border-box;
    padding: clamp(2rem,3vw,3rem) !important;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 14px;
    background: linear-gradient(135deg,#0d416f 0%,#0866b6 100%) !important;
    color: #fff;
    box-shadow: 0 20px 48px rgba(4,63,111,.2);
}

.mbg-guide-section + .wp-block-group.alignfull .mbg-facts h3,
.mbg-guide-section + .wp-block-group.alignfull .mbg-facts p {
    color: #fff !important;
}

@media (hover:hover) and (pointer:fine) {
    .mbg-guide-section > .wp-block-columns > .wp-block-column,
    .mbg-guide-section + .wp-block-group.alignfull .mbg-facts {
        transition: transform .28s ease, box-shadow .28s ease;
    }

    .mbg-guide-section > .wp-block-columns > .wp-block-column:hover,
    .mbg-guide-section + .wp-block-group.alignfull .mbg-facts:hover {
        transform: translateY(-6px);
    }
}

@media(max-width:780px) {
    .mbg-guide-section > .wp-block-columns,
    .mbg-guide-section + .wp-block-group.alignfull > .wp-block-columns {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }
}

@media(max-width:680px) {
    .mbg-section .mbg-service-card:nth-child(2) {
        padding: 175px 1.25rem 1.4rem;
    }

    .mbg-section .mbg-service-card:nth-child(2)::before {
        inset: 0 0 auto;
        border-radius: 9px 9px 0 0;
    }
}

/* True two-column zigzag: right, left, right. */
.mbg-section {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: clamp(4rem,7vw,7rem) clamp(1.25rem,4vw,5rem) !important;
    overflow: hidden;
}

.mbg-section > h2,
.mbg-section > p {
    display: none !important;
}

.mbg-section > .mbg-card-grid {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 1.35rem clamp(2rem,5vw,5rem) !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.mbg-section .mbg-service-card,
.mbg-section .mbg-service-card:hover {
    min-width: 0 !important;
    box-sizing: border-box !important;
    width: 100% !important;
    transform: none !important;
}

.mbg-section .mbg-service-card:nth-child(1) {
    grid-column: 2;
    grid-row: 1;
}

.mbg-section .mbg-service-card:nth-child(2) {
    grid-column: 1;
    grid-row: 2;
}

.mbg-section .mbg-service-card:nth-child(3) {
    grid-column: 2;
    grid-row: 3;
}

@media(max-width:980px) {
    .mbg-section > .mbg-card-grid {
        grid-template-columns: 1fr !important;
    }

    .mbg-section .mbg-service-card:nth-child(1),
    .mbg-section .mbg-service-card:nth-child(2),
    .mbg-section .mbg-service-card:nth-child(3) {
        grid-column: 1 !important;
        grid-row: auto !important;
    }
}

/* Final hover state: must follow the zigzag reset above. */
@media (hover:hover) and (pointer:fine) {
    .mbg-section .mbg-service-card {
        transition: transform .28s ease, box-shadow .28s ease !important;
        will-change: transform;
    }

    .mbg-section .mbg-service-card:hover {
        transform: translateY(-7px) !important;
        box-shadow: 0 22px 46px rgba(0,0,0,.26) !important;
    }
}

/* Technical details for the planning cards. */
.mbg-guide-section > .wp-block-columns > .wp-block-column {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.mbg-guide-section > .wp-block-columns > .wp-block-column > * {
    position: relative;
    z-index: 2;
}

.mbg-guide-section > .wp-block-columns > .wp-block-column:first-child::after {
    content: '';
    position: absolute;
    z-index: 1;
    right: -35px;
    bottom: -45px;
    width: 230px;
    height: 230px;
    opacity: .42;
    background-image:
        linear-gradient(rgba(8,102,182,.09) 1px,transparent 1px),
        linear-gradient(90deg,rgba(8,102,182,.09) 1px,transparent 1px);
    background-size: 22px 22px;
    transform: rotate(-8deg);
    mask-image: linear-gradient(135deg,transparent 5%,#000 75%);
}

.mbg-guide-section .mbg-guide-card::after {
    content: '';
    position: absolute;
    z-index: 1;
    right: -85px;
    bottom: -105px;
    width: 310px;
    height: 310px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 50%;
    box-shadow:
        0 0 0 38px rgba(255,255,255,.035),
        0 0 0 78px rgba(255,255,255,.025);
}

.mbg-guide-section > .wp-block-columns > .wp-block-column::before {
    content: '';
    position: absolute;
    z-index: 3;
    top: 0;
    left: clamp(2rem,3vw,3rem);
    width: 76px;
    height: 4px;
    border-radius: 0 0 4px 4px;
    background: #0873ce;
}

.mbg-guide-section .mbg-guide-card::before {
    background: #73baff !important;
}

.mbg-guide-section ul {
    list-style: none;
    padding-left: 0;
}

.mbg-guide-section ul li {
    position: relative;
    padding-left: 1.85rem;
}

.mbg-guide-section ul li::before {
    content: '✓';
    position: absolute;
    left: 0;
    top: .08em;
    display: grid;
    place-items: center;
    width: 1.15rem;
    height: 1.15rem;
    border-radius: 50%;
    background: rgba(8,102,182,.11);
    color: #0866b6;
    font-size: .72rem;
    font-weight: 900;
}

.mbg-guide-section .mbg-guide-card ol {
    list-style: none;
    counter-reset: mbg-step;
    padding-left: 0;
}

.mbg-guide-section .mbg-guide-card ol li {
    position: relative;
    counter-increment: mbg-step;
    padding-left: 2.65rem;
}

.mbg-guide-section .mbg-guide-card ol li::before {
    content: counter(mbg-step);
    position: absolute;
    left: 0;
    top: -.12em;
    display: grid;
    place-items: center;
    width: 1.85rem;
    height: 1.85rem;
    border: 1px solid rgba(255,255,255,.32);
    border-radius: 50%;
    background: rgba(255,255,255,.1);
    color: #fff;
    font-size: .78rem;
    font-weight: 800;
}

.mbg-guide-section .mbg-guide-card p:last-child {
    display: inline-flex;
    margin-top: 1.15rem;
    padding: .75rem 1rem;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 7px;
    background: rgba(255,255,255,.08);
}

/* Shop-first MBG header. */
.mbg-shop-header {
    position: sticky !important;
    top: 0;
    z-index: 1000;
    margin: 0 !important;
    background: #fff;
    box-shadow: 0 10px 30px rgba(15,34,51,.08);
}

.admin-bar .mbg-shop-header { top: 32px; }

.mbg-header-service {
    background: #0f2233;
    color: rgba(255,255,255,.82);
    font-size: .78rem;
    font-weight: 650;
    letter-spacing: .035em;
}

.mbg-header-service-inner,
.mbg-header-main,
.mbg-header-nav-inner {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin: 0 auto;
    padding-inline: clamp(1rem,4vw,5rem);
}

.mbg-header-service-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 34px;
    gap: 1.5rem;
}

.mbg-header-service p { margin: 0; }
.mbg-header-contact { display: flex; align-items: center; gap: .75rem; }
.mbg-header-contact a { color: #fff; text-decoration: none; }
.mbg-header-contact a:hover { text-decoration: underline; }

.mbg-header-main {
    display: grid;
    grid-template-columns: minmax(210px,280px) minmax(300px,1fr) auto;
    align-items: center;
    gap: clamp(1.5rem,3vw,3.5rem);
    min-height: 104px;
    padding-block: .85rem;
}

.mbg-header-main .mbg-brand,
.mbg-header-main .mbg-brand a { display: flex; align-items: center; }
.mbg-header-main .mbg-logo { width: min(100%,250px); height: auto; display: block; }

.mbg-product-search {
    display: grid;
    grid-template-columns: 1fr auto;
    min-width: 0;
    height: 50px;
    border: 1px solid #cdd9e3;
    border-radius: 8px;
    background: #f6f9fb;
    overflow: hidden;
    transition: border-color .2s ease,box-shadow .2s ease;
}

.mbg-product-search:focus-within {
    border-color: #0873ce;
    box-shadow: 0 0 0 3px rgba(8,115,206,.12);
}

.mbg-product-search input[type='search'] {
    min-width: 0;
    padding: 0 1.15rem;
    border: 0;
    outline: 0;
    background: transparent;
    color: #12202d;
    font: inherit;
}

.mbg-product-search button {
    min-width: 104px;
    padding: 0 1.25rem;
    border: 0;
    background: #0873ce;
    color: #fff;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.mbg-product-search button:hover { background: #075da6; }

.mbg-header-actions {
    display: flex;
    align-items: center;
    gap: .65rem;
}

.mbg-header-actions > a {
    display: flex;
    align-items: center;
    gap: .65rem;
    min-height: 50px;
    padding: .45rem .75rem;
    border-radius: 8px;
    color: #12202d;
    font-size: .9rem;
    font-weight: 800;
    line-height: 1.15;
    text-decoration: none;
    transition: background .2s ease,color .2s ease;
}

.mbg-header-actions > a:hover { background: #edf5fc; color: #075aa8; }
.mbg-header-actions small { display: block; margin-bottom: .18rem; color: #6b7b89; font-size: .68rem; font-weight: 650; }
.mbg-action-icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #e6f1fa; color: #075aa8; font-size: 1.25rem; }

.mbg-header-nav-row {
    border-top: 1px solid #e1e8ee;
    border-bottom: 1px solid #d8e1e8;
    background: #fff;
}

.mbg-header-nav-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 54px;
    gap: 2rem;
}

.mbg-header-nav-inner .mbg-primary-nav { flex: 1; }
.mbg-header-nav-inner .wp-block-navigation__container { gap: clamp(1.25rem,2.5vw,2.75rem); }
.mbg-header-nav-inner .wp-block-navigation-item__content { position: relative; padding: 1rem 0; color: #12202d; font-size: .92rem; font-weight: 750; }
.mbg-header-nav-inner .wp-block-navigation-item__content::after { content: ''; position: absolute; right: 0; bottom: .65rem; left: 0; height: 2px; background: #0873ce; transform: scaleX(0); transition: transform .2s ease; }
.mbg-header-nav-inner .wp-block-navigation-item__content:hover::after { transform: scaleX(1); }
.mbg-header-nav-inner .mbg-shop-nav-link .wp-block-navigation-item__content { color: #075aa8; }

.mbg-header-cta {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    min-height: 38px;
    padding: .55rem 1rem;
    border-radius: 6px;
    background: #0f416d;
    color: #fff;
    font-size: .84rem;
    font-weight: 800;
    text-decoration: none;
}

.mbg-header-cta:hover { background: #0873ce; }

@media(max-width:1050px) {
    .mbg-header-main { grid-template-columns: 210px minmax(250px,1fr) auto; gap: 1rem; }
    .mbg-header-actions small { display: none; }
    .mbg-header-actions > a { padding-inline: .5rem; }
}

@media(max-width:820px) {
    .admin-bar .mbg-shop-header { top: 46px; }
    .mbg-shop-header { position: relative !important; top: auto !important; }
    .mbg-header-service-inner { justify-content: center; }
    .mbg-header-contact { display: none; }
    .mbg-header-main { grid-template-columns: 1fr auto; min-height: 82px; }
    .mbg-header-main .mbg-logo { width: 190px; }
    .mbg-product-search { grid-column: 1 / -1; grid-row: 2; margin-bottom: .65rem; }
    .mbg-account-action { display: none !important; }
    .mbg-header-nav-inner { min-height: 52px; }
    .mbg-header-cta { display: none; }
    .mbg-header-nav-inner .wp-block-navigation__responsive-container-open { display: flex; }
}

/* The MBG header/footer replace Impreza's defaults on every public page. */
body .l-canvas .l-header,body footer.l-footer{display:none!important}
.mbg-shop-categories{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin:0 0 2rem;padding:1rem;border:1px solid #dce4eb;border-radius:8px;background:#f5f8fb}
.mbg-shop-categories span{margin-right:.25rem;color:#12202d;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.mbg-shop-categories a{padding:.55rem .85rem;border:1px solid #cbd9e5;border-radius:5px;background:#fff;color:#075aa8;text-decoration:none;font-size:.86rem;font-weight:700}
.mbg-shop-categories a:hover{border-color:#075aa8;background:#075aa8;color:#fff}

/* Company-section text link in the MBG brand blue. */
body .l-main .has-light-background-color p > a {
    color:#075aa8!important;
}
body .l-main .has-light-background-color p > a:hover,
body .l-main .has-light-background-color p > a:focus-visible {
    color:#064a89!important;
}

/* A denser, more informative final call-to-action. */
body.home .l-main .mbg-cta {
    display:grid!important;
    grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);
    grid-template-rows:auto auto auto;
    column-gap:clamp(3rem,7vw,8rem);
    row-gap:.8rem;
    align-items:center;
    min-height:0!important;
    padding:clamp(2.5rem,5vw,4.5rem)!important;
}
body.home .l-main .mbg-cta > h2 { grid-column:1;grid-row:1;margin:0!important;text-align:left!important; }
body.home .l-main .mbg-cta > p { grid-column:1;grid-row:2;margin:0!important;text-align:left!important; }
body.home .l-main .mbg-cta > .wp-block-buttons { grid-column:1;grid-row:3;justify-content:flex-start!important;margin-top:.5rem; }
.mbg-cta-details { grid-column:2;grid-row:1/4;padding:1.6rem 1.8rem;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:rgba(255,255,255,.09);backdrop-filter:blur(4px); }
.mbg-cta-details .mbg-eyebrow { margin:0 0 .65rem!important;color:rgba(255,255,255,.72)!important;font-size:.68rem!important;letter-spacing:.13em; }
.mbg-cta-details h3 { margin:0 0 1rem;color:#fff!important;font-size:1.2rem; }
.mbg-cta-details ul { display:grid;gap:.6rem;margin:0;padding:0;list-style:none; }
.mbg-cta-details li { position:relative;padding-left:1.5rem;color:#fff; }
.mbg-cta-details li::before { content:'✓';position:absolute;left:0;color:#9fd2ff;font-weight:800; }
.mbg-cta-details .mbg-cta-hint { margin:1.1rem 0 0!important;padding-top:1rem;border-top:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.78)!important;font-size:.86rem;line-height:1.55; }
.mbg-cta-visual { grid-column:2;grid-row:1/4;align-self:stretch;min-height:250px;margin:0!important;border:1px solid rgba(255,255,255,.2);border-radius:12px;overflow:hidden;box-shadow:0 20px 45px rgba(4,28,50,.22); }
.mbg-cta-visual img { display:block;width:100%;height:100%;min-height:250px;object-fit:cover;object-position:center;transition:transform .45s ease; }
.mbg-cta:hover .mbg-cta-visual img { transform:scale(1.035); }
@media(max-width:850px){body.home .l-main .mbg-cta{grid-template-columns:1fr;row-gap:1rem}.mbg-cta-details,.mbg-cta-visual{grid-column:1;grid-row:4;margin-top:.75rem!important}}

/* Impreza compatibility: preserve the established MBG front page. */
body.home .l-canvas .l-header,body.home footer.l-footer{display:none!important}
body.home .l-main>.l-section,body.home .l-main>.l-section>.l-section-h{max-width:none!important;padding:0!important}
body.home .l-main .alignfull{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
body.home .l-main .mbg-cta,body.home .l-main .mbg-cta h2{color:#fff!important}
body.home .l-main .mbg-section .mbg-card-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-rows:auto auto auto!important;gap:clamp(3rem,5vw,6rem) clamp(2rem,5vw,5rem)!important;align-items:center!important;width:100%!important}
body.home .l-main .mbg-section .mbg-card-grid>.wp-block-column{flex:none!important;width:auto!important;min-width:0!important;max-width:none!important;margin:0!important;writing-mode:horizontal-tb!important;word-break:normal!important;overflow-wrap:break-word!important}
body.home .l-main .mbg-section .mbg-card-grid>.mbg-note-1{grid-column:1!important;grid-row:1!important}
body.home .l-main .mbg-section .mbg-card-grid>.mbg-card-1{grid-column:2!important;grid-row:1!important}
body.home .l-main .mbg-section .mbg-card-grid>.mbg-card-2{grid-column:1!important;grid-row:2!important}
body.home .l-main .mbg-section .mbg-card-grid>.mbg-note-2{grid-column:2!important;grid-row:2!important}
body.home .l-main .mbg-section .mbg-card-grid>.mbg-note-3{grid-column:1!important;grid-row:3!important}
body.home .l-main .mbg-section .mbg-card-grid>.mbg-card-3{grid-column:2!important;grid-row:3!important}
body.home .l-main .mbg-section .mbg-service-card{display:block!important;min-height:260px!important}
.mbg-simple-nav{display:flex;align-items:center;gap:clamp(1.15rem,2.3vw,2.35rem)}
.mbg-simple-nav a{color:#12202d;text-decoration:none;font-size:.86rem;font-weight:650;padding:.75rem 0}.mbg-simple-nav a:hover{color:#075aa8}
.mbg-impreza-footer{padding:clamp(3rem,6vw,5rem) clamp(1.25rem,5vw,5rem) 1.5rem;background:#0c2f4c;color:#fff}
.mbg-impreza-footer a{color:#fff!important}.mbg-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:clamp(2rem,5vw,5rem);max-width:1400px;margin:0 auto}.mbg-footer-grid img{width:210px;height:auto;background:#fff}.mbg-footer-grid h3{color:#fff;font-size:1rem;margin:0 0 1rem}.mbg-footer-grid p{color:rgba(255,255,255,.82);line-height:1.8}.mbg-footer-copy{max-width:1400px;margin:2.5rem auto 0;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.14);text-align:center;color:rgba(255,255,255,.65);font-size:.82rem}
@media(max-width:900px){body.home .l-main .mbg-section .mbg-card-grid{grid-template-columns:1fr!important;gap:1.5rem!important}body.home .l-main .mbg-section .mbg-card-grid>.wp-block-column{grid-column:1!important;grid-row:auto!important}.mbg-footer-grid{grid-template-columns:1fr 1fr}.mbg-footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:680px){.mbg-simple-nav{gap:1rem;overflow-x:auto}.mbg-simple-nav a{white-space:nowrap}.mbg-footer-grid{grid-template-columns:1fr}.mbg-footer-grid>div:first-child{grid-column:auto}}

@media(max-width:480px) {
    .mbg-header-main .mbg-logo { width: 160px; }
    .mbg-header-actions > a { font-size: .78rem; }
    .mbg-action-icon { width: 30px; height: 30px; }
    .mbg-product-search button { min-width: 82px; padding-inline: .8rem; }
}

/* Sticky positioning belongs to the outer WordPress template part. */
header.wp-block-template-part {
    position: relative;
    top: auto;
    z-index: 1100;
    width: 100%;
}

.admin-bar header.wp-block-template-part {
    top: auto;
}

header.wp-block-template-part .mbg-shop-header {
    position: relative !important;
    top: auto !important;
}

@media(max-width:782px) {
    .admin-bar header.wp-block-template-part {
        top: auto;
    }
}


/* Refined, understated hero typography. */
.mbg-hero h1,
.mbg-hero .wp-block-heading.has-x-large-font-size {
    max-width: 720px !important;
    margin-top: 1.35rem !important;
    margin-bottom: 1.35rem !important;
    font-size: clamp(2.5rem,4.25vw,4.7rem) !important;
    font-weight: 650 !important;
    line-height: 1.08 !important;
    letter-spacing: -.025em !important;
}

.mbg-hero > p.has-medium-font-size {
    max-width: 760px !important;
    font-size: clamp(1rem,1.25vw,1.2rem) !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
    color: rgba(255,255,255,.88) !important;
}

.mbg-hero .mbg-eyebrow {
    font-size: .72rem !important;
    font-weight: 700 !important;
    letter-spacing: .13em !important;
}

.mbg-hero .wp-block-button__link {
    min-height: 43px !important;
    padding: .7rem 1.15rem !important;
    font-size: .86rem !important;
    font-weight: 700 !important;
}

@media(max-width:680px) {
    .mbg-hero h1,
    .mbg-hero .wp-block-heading.has-x-large-font-size {
        font-size: clamp(2.15rem,10vw,3.1rem) !important;
        font-weight: 400 !important;
    }
}

html body .mbg-hero .mbg-eyebrow{font-weight:400!important}
html body h1.mbg-utility-title{font-size:clamp(26px,3vw,36px)!important;font-weight:400!important;line-height:1.3;margin:24px 0 32px}
@media(max-width:680px){
html body .mbg-header-nav-inner>.mbg-simple-nav{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));width:100%!important;min-width:0!important;gap:0 8px!important;overflow:visible!important;justify-content:stretch!important;margin:0!important}
html body .mbg-simple-nav a{white-space:normal!important;text-align:center;font-size:13px!important;padding:10px 2px!important;min-height:40px}
html body .mbg-header-nav-inner{display:block!important;width:100%!important;overflow:visible!important}
html body .mbg-hero h1,html body .mbg-hero .wp-block-heading.has-x-large-font-size{font-size:clamp(27px,7.5vw,34px)!important;font-weight:400!important}
}

/* Header scrolls normally with the page. */
.mbg-shop-header,
header.wp-block-template-part {
    position: relative !important;
    top: auto !important;
}

/* Cleaner storefront header refinement. */
.mbg-shop-header {
    box-shadow: 0 4px 18px rgba(15,34,51,.07) !important;
}

.mbg-header-service {
    font-size: .73rem;
    letter-spacing: .025em;
}

.mbg-header-service-inner {
    min-height: 30px;
}

.mbg-header-main {
    grid-template-columns: minmax(190px,235px) minmax(320px,720px) auto;
    justify-content: space-between;
    min-height: 86px;
    gap: clamp(1.25rem,3vw,3rem);
    padding-block: .65rem;
}

.mbg-header-main .mbg-logo {
    width: min(100%,215px);
}

.mbg-product-search {
    height: 46px;
    border-color: #d6e0e8;
    border-radius: 6px;
    background: #f8fafc;
}

.mbg-product-search input[type='search'] {
    padding-inline: 1rem;
}

.mbg-product-search button {
    min-width: 92px;
    padding-inline: 1rem;
    background: #075aa8;
    font-size: .86rem;
}

.mbg-header-actions {
    gap: .5rem;
}

.mbg-header-actions > a {
    min-height: 40px;
    padding: .6rem .85rem;
    border: 1px solid #d7e1e9;
    border-radius: 6px;
    background: #fff;
    font-size: .82rem;
    white-space: nowrap;
}

.mbg-header-actions > a:hover {
    border-color: #8db8dc;
    background: #f2f7fb;
}

.mbg-basket-action {
    border-color: #075aa8 !important;
    background: #075aa8 !important;
    color: #fff !important;
}

.mbg-basket-action:hover {
    border-color: #064a89 !important;
    background: #064a89 !important;
    color: #fff !important;
}

.mbg-header-nav-inner {
    min-height: 46px;
}

.mbg-header-nav-inner .wp-block-navigation__container {
    gap: clamp(1.15rem,2.3vw,2.35rem);
}

.mbg-header-nav-inner .wp-block-navigation-item__content {
    padding: .75rem 0;
    font-size: .86rem;
}

.mbg-header-nav-inner .wp-block-navigation-item__content::after {
    bottom: .4rem;
}

.mbg-header-cta {
    min-height: 34px;
    padding: .45rem .85rem;
    border-radius: 5px;
    background: transparent;
    color: #075aa8;
    font-size: .8rem;
}

.mbg-header-cta:hover {
    background: #edf5fc;
    color: #064a89;
}

@media(max-width:1050px) {
    .mbg-header-main {
        grid-template-columns: 190px minmax(240px,1fr) auto;
    }
}

@media(max-width:820px) {
    .mbg-header-main {
        grid-template-columns: 1fr auto;
        min-height: 74px;
    }

    .mbg-header-main .mbg-logo {
        width: 175px;
    }

    .mbg-basket-action {
        display: inline-flex !important;
    }
}

/* Final Impreza override (must remain at the end of this stylesheet). */
body.home .l-canvas .l-header,body.home footer.l-footer{display:none!important}
body.home .l-main>.l-section,body.home .l-main>.l-section>.l-section-h{max-width:none!important;padding:0!important}
body.home .l-main .alignfull{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
body.home .l-main .mbg-section .mbg-card-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-rows:auto auto auto!important;gap:clamp(3rem,5vw,6rem) clamp(2rem,5vw,5rem)!important;align-items:center!important;width:100%!important}
body.home .l-main .mbg-section .mbg-card-grid>.wp-block-column{flex:none!important;width:auto!important;min-width:0!important;max-width:none!important;margin:0!important;word-break:normal!important;overflow-wrap:break-word!important}
body.home .l-main .mbg-section .mbg-card-grid>.mbg-note-1{grid-column:1!important;grid-row:1!important}body.home .l-main .mbg-section .mbg-card-grid>.mbg-card-1{grid-column:2!important;grid-row:1!important}body.home .l-main .mbg-section .mbg-card-grid>.mbg-card-2{grid-column:1!important;grid-row:2!important}body.home .l-main .mbg-section .mbg-card-grid>.mbg-note-2{grid-column:2!important;grid-row:2!important}body.home .l-main .mbg-section .mbg-card-grid>.mbg-note-3{grid-column:1!important;grid-row:3!important}body.home .l-main .mbg-section .mbg-card-grid>.mbg-card-3{grid-column:2!important;grid-row:3!important}
body.home .l-main .mbg-section .mbg-service-card{display:block!important;min-height:260px!important}body.home .l-main .mbg-cta,body.home .l-main .mbg-cta h2{color:#fff!important}
@media(max-width:900px){body.home .l-main .mbg-section .mbg-card-grid{grid-template-columns:1fr!important;gap:1.5rem!important}body.home .l-main .mbg-section .mbg-card-grid>.wp-block-column{grid-column:1!important;grid-row:auto!important}}

/* Search action follows the MBG blue brand palette. */
.mbg-shop-header .mbg-product-search button {
    border-color:#075aa8!important;
    background:#075aa8!important;
    color:#fff!important;
}
.mbg-shop-header .mbg-product-search button:hover,
.mbg-shop-header .mbg-product-search button:focus-visible {
    border-color:#064a89!important;
    background:#064a89!important;
    color:#fff!important;
}

/* Keep the category navigation visually centered. */
.mbg-header-nav-inner {
    display:grid!important;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
}
.mbg-header-nav-inner > .mbg-simple-nav {
    grid-column:2;
    justify-self:center;
}
.mbg-header-nav-inner > .mbg-header-cta {
    grid-column:3;
    justify-self:end;
}
@media(max-width:820px) {
    .mbg-header-nav-inner {
        grid-template-columns:minmax(0,1fr);
    }
    .mbg-header-nav-inner > .mbg-simple-nav {
        grid-column:1;
        justify-self:stretch;
        overflow-x:auto;
    }
}

/* Match the CTA's outer gutters to the sections above it. */
body.home .l-main .mbg-cta {
    width:calc(100% - clamp(2rem,6vw,7rem))!important;
    max-width:1780px!important;
    margin-left:auto!important;
    margin-right:auto!important;
}
@media(max-width:600px) {
    body.home .l-main .mbg-cta {
        width:calc(100% - 1.5rem)!important;
    }
}

/* Prevent empty side strips and horizontal overflow on narrow screens. */
html,body { max-width:100%;overflow-x:hidden; }
@media(max-width:850px) {
    body.home .l-main .mbg-cta {
        display:grid!important;
        grid-template-columns:minmax(0,1fr)!important;
        width:calc(100% - 1.5rem)!important;
        max-width:none!important;
        margin-left:auto!important;
        margin-right:auto!important;
        padding:1.5rem!important;
        column-gap:0!important;
    }
    body.home .l-main .mbg-cta > h2,
    body.home .l-main .mbg-cta > p,
    body.home .l-main .mbg-cta > .wp-block-buttons,
    body.home .l-main .mbg-cta > .mbg-cta-visual {
        grid-column:1!important;
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
    }
    body.home .l-main .mbg-cta > .mbg-cta-visual {
        grid-row:4!important;
        min-height:190px!important;
    }
    body.home .l-main .mbg-cta > .mbg-cta-visual img {
        min-height:190px!important;
    }
    .mbg-guide-section,
    .mbg-guide-section > .wp-block-columns,
    .mbg-guide-section > .wp-block-columns > .wp-block-column {
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
    }
}

/* Modern MBG footer: inquiry and shop are equal entry points. */
.mbg-impreza-footer{position:relative;overflow:hidden;padding:0;background:linear-gradient(135deg,#092944 0%,#0d3c61 100%);color:#fff}
.mbg-impreza-footer::after{content:'';position:absolute;right:-130px;bottom:-180px;width:460px;height:460px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.018);pointer-events:none}
.mbg-footer-shell{position:relative;z-index:1;width:min(1500px,calc(100% - clamp(2rem,8vw,9rem)));margin:0 auto;padding:clamp(3rem,6vw,5.5rem) 0 1.4rem}
.mbg-impreza-footer .mbg-footer-grid{display:grid;grid-template-columns:minmax(260px,1.6fr) 1fr .75fr 1fr;gap:clamp(2rem,5vw,5rem);max-width:none;margin:0;padding:0 0 clamp(2.5rem,5vw,4rem)}
.mbg-footer-brand img{display:block;box-sizing:content-box;width:205px;height:auto;margin-bottom:1.2rem;padding:.55rem .8rem;border-radius:5px;background:#fff;object-fit:contain}.mbg-footer-brand p{max-width:390px;margin:0 0 1rem;color:rgba(255,255,255,.74);line-height:1.7}.mbg-footer-brand span{display:inline-block;padding:.42rem .65rem;border:1px solid rgba(255,255,255,.14);border-radius:4px;color:#b9dcfa;font-size:.72rem;font-weight:750;letter-spacing:.05em}
.mbg-footer-grid h3{margin:0 0 1.1rem;color:#fff!important;font-size:.82rem;text-transform:uppercase;letter-spacing:.1em}.mbg-footer-grid nav,.mbg-footer-contact{display:flex;flex-direction:column;align-items:flex-start}.mbg-footer-grid nav a,.mbg-footer-contact>a{position:relative;margin:.32rem 0;color:rgba(255,255,255,.78)!important;text-decoration:none;line-height:1.45}.mbg-footer-grid nav a:hover,.mbg-footer-contact>a:hover{color:#fff!important;transform:translateX(3px)}.mbg-footer-contact p{margin:0 0 .8rem;color:rgba(255,255,255,.72);line-height:1.65}
.mbg-footer-bottom{display:flex;justify-content:space-between;gap:2rem;align-items:center;padding-top:1.3rem;border-top:1px solid rgba(255,255,255,.13)}.mbg-footer-bottom p{margin:0;color:rgba(255,255,255,.55);font-size:.78rem}.mbg-footer-bottom nav{display:flex;gap:1.4rem}.mbg-footer-bottom a{color:rgba(255,255,255,.62)!important;text-decoration:none;font-size:.78rem}.mbg-footer-bottom a:hover{color:#fff!important}
@media(max-width:1050px){.mbg-impreza-footer .mbg-footer-grid{grid-template-columns:1.5fr 1fr 1fr}.mbg-footer-contact{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr 1fr;gap:1rem 2rem;align-items:start}.mbg-footer-contact h3{grid-column:1/-1;margin-bottom:0}.mbg-footer-contact p{margin:0}}
@media(max-width:760px){.mbg-footer-shell{width:calc(100% - 2rem)}.mbg-impreza-footer .mbg-footer-grid{grid-template-columns:1fr 1fr}.mbg-footer-brand{grid-column:1/-1}.mbg-footer-contact{grid-template-columns:1fr;grid-column:1/-1}.mbg-footer-contact h3{grid-column:auto}.mbg-footer-bottom{align-items:flex-start;flex-direction:column;gap:.8rem}}
@media(max-width:480px){.mbg-footer-shell{width:calc(100% - 1.5rem)}.mbg-impreza-footer .mbg-footer-grid{grid-template-columns:1fr}.mbg-footer-brand{grid-column:auto}.mbg-footer-bottom nav{flex-wrap:wrap}}

/* Shared design system for all inner pages. */
body:not(.home) .l-main>.l-section,body:not(.home) .l-main>.l-section>.l-section-h{max-width:none!important;padding:0!important}
body:not(.home) .l-main .w-post-elm.post_content{margin:0!important}
.mbg-page-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);min-height:520px;background:linear-gradient(125deg,#0b3658 0%,#075aa8 72%,#2b80c5 100%);color:#fff;overflow:hidden}
.mbg-page-hero:not(.has-image){grid-template-columns:1fr;min-height:380px}
.mbg-page-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(3.5rem,8vw,8rem) clamp(2rem,7vw,8rem)}
.mbg-page-hero .mbg-eyebrow{color:#b9dcfa!important}.mbg-page-hero h1{max-width:800px;margin:.7rem 0 1.2rem;color:#fff!important;font-size:clamp(2.5rem,5vw,5.2rem);line-height:1.02;letter-spacing:-.035em}.mbg-page-hero-copy>p:last-child{max-width:720px;margin:0;color:rgba(255,255,255,.86);font-size:clamp(1rem,1.35vw,1.22rem);line-height:1.7}
.mbg-page-hero figure{position:relative;margin:0;min-height:100%;overflow:hidden}.mbg-page-hero figure::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,90,168,.62),rgba(7,90,168,.05))}.mbg-page-hero figure img{display:block;width:100%;height:100%;object-fit:cover}
.mbg-page-section{padding:clamp(4rem,8vw,8rem) clamp(1.5rem,6vw,7rem);background:#fff}.mbg-section-heading{max-width:840px;margin:0 auto clamp(2.5rem,5vw,4.5rem);text-align:center}.mbg-section-heading h2,.mbg-page-section h2,.mbg-page-split h2{margin:.65rem 0 1rem;color:#12202d;font-size:clamp(2rem,3.5vw,3.35rem);line-height:1.12;letter-spacing:-.025em}.mbg-section-heading>p:last-child{color:#536575;line-height:1.7}
.mbg-page-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;max-width:1450px;margin:0 auto}.mbg-page-card{position:relative;display:block;min-height:260px;padding:clamp(1.6rem,3vw,2.5rem);border:1px solid #d8e3ec;border-radius:11px;background:linear-gradient(145deg,#fff,#f5f8fb);color:#12202d!important;text-decoration:none;box-shadow:0 16px 38px rgba(14,48,75,.07);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.mbg-page-card:hover{transform:translateY(-5px);border-color:#8ebce1;box-shadow:0 22px 48px rgba(14,48,75,.13)}.mbg-page-card span{color:#075aa8;font-size:.69rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.mbg-page-card h3{margin:1.1rem 0 .8rem;color:#12202d!important;font-size:clamp(1.35rem,2vw,1.8rem)}.mbg-page-card p{max-width:570px;color:#536575;line-height:1.7}.mbg-page-card b{position:absolute;left:clamp(1.6rem,3vw,2.5rem);bottom:1.8rem;color:#075aa8}
.mbg-page-card-grid>.mbg-page-card{display:flex;flex-direction:column;min-height:0;padding:clamp(1.7rem,3vw,2.5rem);border-top:5px solid #075aa8;background:linear-gradient(145deg,#fff 0%,#f5f9fc 100%)}
.mbg-page-card-grid>.mbg-page-card p{margin:.75rem 0 1rem}
.mbg-page-card-grid>.mbg-page-card ul{display:grid;gap:.55rem;margin:.15rem 0 1.5rem;padding:0;list-style:none;color:#32485a}
.mbg-page-card-grid>.mbg-page-card li{position:relative;padding-left:1.45rem;line-height:1.5}
.mbg-page-card-grid>.mbg-page-card li::before{content:'✓';position:absolute;left:0;color:#075aa8;font-weight:900}
.mbg-page-card-grid>.mbg-page-card>a{display:inline-flex;align-items:center;align-self:flex-start;margin-top:auto;padding:.7rem .9rem;border-radius:5px;background:#075aa8;color:#fff!important;text-decoration:none;font-weight:750}
.mbg-page-card-grid>.mbg-page-card>a:hover{background:#064a89}
.mbg-page-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.85fr);gap:clamp(3rem,8vw,9rem);align-items:center;padding:clamp(4rem,8vw,7rem) clamp(1.5rem,7vw,8rem)}.mbg-page-split.is-dark{background:#0c304d;color:#fff}.mbg-page-split.is-dark h2{color:#fff}.mbg-page-split.is-dark p{color:rgba(255,255,255,.76)}.mbg-page-split.is-light{background:#eef4f8}.mbg-page-split p{line-height:1.75}.mbg-step-list{display:grid;gap:.8rem;margin:0;padding:0;list-style:none;counter-reset:steps}.mbg-step-list li{position:relative;padding:1.25rem 1.25rem 1.25rem 4rem;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:rgba(255,255,255,.06);counter-increment:steps}.mbg-step-list li::before{content:counter(steps);position:absolute;left:1.2rem;top:1.15rem;display:grid;place-items:center;width:1.9rem;height:1.9rem;border:1px solid rgba(255,255,255,.25);border-radius:50%;color:#b9dcfa;font-weight:800}.mbg-step-list b,.mbg-step-list span{display:block}.mbg-step-list span{margin-top:.2rem;color:rgba(255,255,255,.7)}
.mbg-page-two-col,.mbg-contact-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:clamp(3rem,8vw,8rem);align-items:center;max-width:1450px;margin:0 auto}.mbg-page-two-col>div:first-child>p,.mbg-contact-layout p{line-height:1.8;color:#536575}.mbg-check-card{padding:clamp(1.7rem,3.5vw,3rem);border:1px solid #d4e1eb;border-radius:12px;background:linear-gradient(145deg,#f6f9fb,#fff);box-shadow:0 18px 45px rgba(14,48,75,.09)}.mbg-check-card h3{margin:0 0 1.3rem;color:#12202d;font-size:1.35rem}.mbg-check-card ul{display:grid;gap:.9rem;margin:0;padding:0;list-style:none}.mbg-check-card li{position:relative;padding-left:1.8rem;color:#32485a}.mbg-check-card li::before{content:'✓';position:absolute;left:0;color:#075aa8;font-weight:900}.mbg-inline-button{display:inline-flex;margin-top:1.5rem;padding:.75rem 1rem;border-radius:5px;background:#075aa8;color:#fff!important;text-decoration:none;font-weight:750}
.mbg-fact-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.mbg-fact-row span{display:grid;place-items:center;min-height:100px;padding:1rem;border:1px solid currentColor;border-radius:8px;text-align:center;font-weight:750}.mbg-stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.mbg-stat-grid div{padding:1.4rem;border:1px solid #d8e3ec;border-radius:9px;background:#f4f8fb}.mbg-stat-grid strong,.mbg-stat-grid span{display:block}.mbg-stat-grid strong{color:#075aa8;font-size:1.5rem}.mbg-stat-grid span{margin-top:.35rem;color:#607383;font-size:.82rem}
.mbg-page-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center;margin:clamp(3rem,7vw,7rem) clamp(1.5rem,6vw,7rem);padding:clamp(2rem,5vw,4rem);border-radius:13px;background:linear-gradient(120deg,#0c3e66,#075aa8);color:#fff;box-shadow:0 24px 55px rgba(9,44,72,.18)}.mbg-page-cta h2{margin:.5rem 0 .8rem;color:#fff;font-size:clamp(1.8rem,3vw,2.8rem)}.mbg-page-cta p{max-width:760px;margin:0;color:rgba(255,255,255,.78);line-height:1.7}.mbg-page-actions{display:flex;gap:.7rem;flex-wrap:wrap}.mbg-page-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.72rem 1.05rem;border:1px solid currentColor;border-radius:5px;color:inherit!important;text-decoration:none;font-weight:750}.mbg-page-actions a.is-primary{border-color:#075aa8;background:#075aa8;color:#fff!important}.mbg-page-cta .mbg-page-actions a.is-primary{border-color:#fff;background:#fff;color:#075aa8!important}
.mbg-empty-showcase{max-width:1000px;margin:0 auto;padding:clamp(2rem,5vw,4rem);border:1px solid #d8e3ec;border-radius:12px;background:#f3f7fa;text-align:center}.mbg-empty-showcase h2{margin:.6rem 0 1rem}.mbg-empty-showcase>p:not(.mbg-eyebrow){max-width:720px;margin:0 auto 1.6rem;color:#536575;line-height:1.75}.mbg-empty-showcase .mbg-page-actions{justify-content:center}
.mbg-contact-panel{padding:clamp(2rem,4vw,3.5rem);border-radius:12px;background:#0c304d;color:#fff}.mbg-contact-panel h2{color:#fff}.mbg-contact-panel address{margin:1.5rem 0;color:rgba(255,255,255,.75);font-style:normal;line-height:1.7}.mbg-contact-panel>a{display:block;margin:.55rem 0;color:#fff!important;font-size:1.08rem;font-weight:750}
body.woocommerce-page:not(.home) .l-main{background:#f4f7f9}body.woocommerce-page:not(.home) .l-main>.l-section>.l-section-h{width:min(1500px,calc(100% - clamp(2rem,8vw,9rem)));padding:clamp(3rem,7vw,6rem) 0!important}.woocommerce-products-header__title,.woocommerce-account .l-main h1,.woocommerce-cart .l-main h1,.woocommerce-checkout .l-main h1{color:#12202d;font-size:clamp(2.4rem,5vw,4.5rem)}.woocommerce ul.products li.product{border-radius:10px!important;box-shadow:0 15px 35px rgba(14,48,75,.08)!important}.woocommerce ul.products li.product:hover{transform:translateY(-4px)}
body.page-id-22 .l-main,body.page-id-23 .l-main{background:#f5f8fa}body.page-id-22 .l-main>.l-section>.l-section-h,body.page-id-23 .l-main>.l-section>.l-section-h{width:min(1000px,calc(100% - 2rem));padding:clamp(3rem,7vw,6rem) 0!important}body.page-id-22 .post_content,body.page-id-23 .post_content{padding:clamp(2rem,5vw,4rem);border:1px solid #dce5ec;border-radius:10px;background:#fff;box-shadow:0 15px 40px rgba(14,48,75,.06)}
@media(max-width:950px){.mbg-page-hero{grid-template-columns:1fr;min-height:0}.mbg-page-hero figure{height:330px}.mbg-page-split,.mbg-page-two-col,.mbg-contact-layout,.mbg-page-cta{grid-template-columns:1fr}.mbg-page-card-grid{grid-template-columns:1fr}.mbg-page-cta .mbg-page-actions{justify-content:flex-start}}
@media(max-width:650px){.mbg-page-hero-copy{padding:3.2rem 1.3rem}.mbg-page-hero h1{font-size:clamp(2.3rem,12vw,3.5rem)}.mbg-page-section,.mbg-page-split{padding:3.5rem 1rem}.mbg-page-cta{margin:2.5rem .75rem;padding:1.5rem}.mbg-page-actions{display:grid;grid-template-columns:1fr;width:100%}.mbg-fact-row,.mbg-stat-grid{grid-template-columns:1fr}.mbg-page-hero figure{height:230px}}

/* Richer service overview: thematic imagery, stronger MBG blue and no theme-green accents. */
.mbg-page-card-grid>.mbg-page-card{
    overflow:hidden;
    padding-top:clamp(15rem,23vw,20rem);
    border-top:0;
    background:linear-gradient(150deg,#ffffff 0%,#edf5fb 100%);
}
.mbg-page-card-grid>.mbg-page-card::before{
    content:'';
    position:absolute;
    inset:0 0 auto;
    height:clamp(12.5rem,19vw,16.5rem);
    background-position:center;
    background-size:cover;
    box-shadow:inset 0 -55px 55px -46px rgba(5,43,73,.85);
    transition:transform .45s ease,filter .3s ease;
}
.mbg-page-card-grid>.mbg-page-card:nth-child(1)::before{background-image:linear-gradient(rgba(7,90,168,.12),rgba(7,90,168,.2)),url('/wp-content/uploads/mbg/balkon.webp')}
.mbg-page-card-grid>.mbg-page-card:nth-child(2)::before{background-image:linear-gradient(rgba(7,90,168,.1),rgba(7,90,168,.22)),url('/wp-content/uploads/mbg/stahlbau.webp')}
.mbg-page-card-grid>.mbg-page-card:nth-child(3)::before{background-image:linear-gradient(rgba(7,90,168,.08),rgba(7,90,168,.22)),url('/wp-content/uploads/mbg/reparatur.webp')}
.mbg-page-card-grid>.mbg-page-card:nth-child(4)::before{background-image:linear-gradient(rgba(7,90,168,.08),rgba(7,90,168,.22)),url('/wp-content/uploads/mbg/fertigung.webp')}
.mbg-page-card-grid>.mbg-page-card:hover::before{transform:scale(1.035);filter:saturate(1.08)}
.mbg-page-card-grid>.mbg-page-card>span{position:relative;align-self:flex-start;margin-top:-.2rem;padding:.45rem .65rem;border-radius:4px;background:#dceeff;color:#075aa8!important}
.mbg-page-card-grid>.mbg-page-card>h3{position:relative}
.mbg-page-card-grid>.mbg-page-card>ul{padding:1rem 1.1rem;border-left:4px solid #075aa8;border-radius:0 7px 7px 0;background:rgba(7,90,168,.055)}
.mbg-page-card-grid>.mbg-page-card>p:last-child{margin:auto 0 0!important;padding:0!important}
.mbg-page-card-grid>.mbg-page-card>p:last-child>a{
    display:inline-flex!important;
    align-items:center;
    margin-top:.4rem;
    padding:.75rem 1rem!important;
    border:1px solid #075aa8!important;
    border-radius:5px;
    background:#075aa8!important;
    color:#fff!important;
    text-decoration:none!important;
    font-weight:750;
}
.mbg-page-card-grid>.mbg-page-card>p:last-child>a:hover{border-color:#064a89!important;background:#064a89!important;color:#fff!important}

body .l-main a:not(.wp-block-button__link):not(.button):not(.is-primary){color:#075aa8}
body .l-main a:not(.wp-block-button__link):not(.button):not(.is-primary):hover{color:#064a89}
.mbg-product-search button,.mbg-header-search button,.w-search-form button,
body .l-main input[type='submit'],body .l-main button[type='submit']{
    border-color:#075aa8!important;
    background:#075aa8!important;
    color:#fff!important;
}
.mbg-product-search input:focus,.mbg-header-search input:focus,
body .l-main input:focus,body .l-main textarea:focus{border-color:#075aa8!important;box-shadow:0 0 0 3px rgba(7,90,168,.13)!important}
@media(max-width:650px){.mbg-page-card-grid>.mbg-page-card{padding-top:14.5rem}.mbg-page-card-grid>.mbg-page-card::before{height:12.5rem}}

/* The shop introduction supplies its own context; avoid a redundant generic page title. */
body.post-type-archive-product .woocommerce-products-header__title.page-title{display:none!important}

/* Shop category hub: spacious cards replace the former compact link strip. */
body.woocommerce-shop .mbg-shop-categories,
body.tax-product_cat .mbg-shop-categories{
    display:block;
    margin:0 0 clamp(2.5rem,5vw,4.5rem);
    padding:clamp(1.5rem,3vw,2.5rem);
    border:0;
    border-radius:14px;
    background:linear-gradient(125deg,#082f50 0%,#075aa8 100%);
    box-shadow:0 22px 50px rgba(7,47,80,.16);
}
.mbg-shop-categories>header{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.5rem}
.mbg-shop-categories>header .mbg-eyebrow{margin:0 0 .45rem;color:#b9dcfa!important}
.mbg-shop-categories>header h2{margin:0;color:#fff!important;font-size:clamp(1.45rem,2.4vw,2.25rem)}
.mbg-category-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem}
.mbg-shop-categories .mbg-category-card{
    position:relative;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:.8rem;
    align-items:center;
    min-height:112px;
    padding:1rem;
    border:1px solid rgba(255,255,255,.22);
    border-radius:9px;
    background:rgba(255,255,255,.09);
    color:#fff!important;
    text-decoration:none;
    transition:transform .22s ease,background .22s ease,border-color .22s ease;
}
.mbg-shop-categories .mbg-category-card:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.16);color:#fff!important}
.mbg-shop-categories .mbg-category-card.is-active{border-color:#fff;background:#fff;color:#075aa8!important;box-shadow:0 12px 26px rgba(1,28,51,.18)}
.mbg-category-card i{display:grid;place-items:center;width:2.45rem;height:2.45rem;border:1px solid currentColor;border-radius:7px;font-style:normal;font-size:1.05rem}
.mbg-category-card span,.mbg-category-card strong,.mbg-category-card small{display:block;text-transform:none!important;letter-spacing:normal!important}
.mbg-category-card strong{color:inherit;font-size:.92rem;line-height:1.25}
body .mbg-shop-categories .mbg-category-card:not(.is-active) :is(span,strong,b,i){color:#fff!important}
body .mbg-shop-categories .mbg-category-card:not(.is-active) small{color:#e1edf7!important}
body .mbg-shop-categories .mbg-category-card.is-active :is(span,strong,b,i){color:#075aa8!important}
body .mbg-shop-categories .mbg-category-card.is-active small{color:#476176!important}
.mbg-category-card small{margin-top:.35rem;color:rgba(255,255,255,.7);font-size:.72rem;line-height:1.35}
.mbg-category-card.is-active small{color:#567086}
.mbg-category-card>b{color:inherit;font-size:1.05rem}
@media(max-width:1180px){.mbg-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.mbg-category-grid{grid-template-columns:1fr 1fr}.mbg-shop-categories>header{display:block}}
@media(max-width:480px){.mbg-category-grid{grid-template-columns:1fr}}

/* Light category selector with individual cards instead of a large blue panel. */
body.woocommerce-shop .mbg-shop-categories,body.tax-product_cat .mbg-shop-categories{padding:0;background:transparent;border-radius:0;box-shadow:none}
.mbg-shop-categories>header{display:block;margin-bottom:1.4rem;padding-left:1rem;border-left:3px solid #075aa8}
.mbg-shop-categories>header .mbg-eyebrow{color:#075aa8!important;margin:0 0 .5rem}
.mbg-shop-categories>header h2{color:#14354f!important;font-size:clamp(1.3rem,2vw,1.85rem);line-height:1.3}
.mbg-category-grid{gap:1rem}
body .mbg-shop-categories .mbg-category-card{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr;gap:1rem;min-height:176px;padding:1.25rem;border:1px solid #d8e4ed;border-radius:12px;background:#fff;box-shadow:0 5px 16px rgba(12,48,77,.035);color:#14354f!important}
body .mbg-shop-categories .mbg-category-card>i{grid-column:1;grid-row:1;width:2.5rem;height:2.5rem;background:#edf5fc;border:0;border-radius:8px}
body .mbg-shop-categories .mbg-category-card>span{grid-column:1 / -1;grid-row:2;align-self:end}
body .mbg-shop-categories .mbg-category-card>b{grid-column:2;grid-row:1;align-self:center}
body .mbg-shop-categories .mbg-category-card:not(.is-active) :is(span,strong){color:#14354f!important}
body .mbg-shop-categories .mbg-category-card:not(.is-active) :is(b,i){color:#075aa8!important}
body .mbg-shop-categories .mbg-category-card:not(.is-active) small{color:#52697a!important;line-height:1.5}
body .mbg-shop-categories .mbg-category-card:hover{background:#f5f9fc;border-color:#83afd3;transform:translateY(-3px);box-shadow:0 10px 22px rgba(12,48,77,.08)}
body .mbg-shop-categories .mbg-category-card.is-active{background:linear-gradient(135deg,#0c304d,#075aa8);border-color:#075aa8;box-shadow:0 8px 20px rgba(7,90,168,.16)}
body .mbg-shop-categories .mbg-category-card.is-active :is(span,strong,b,i){color:#fff!important}
body .mbg-shop-categories .mbg-category-card.is-active small{color:#e1edf7!important;line-height:1.5}
body .mbg-shop-categories .mbg-category-card.is-active>i{background:rgba(255,255,255,.12)}
body .mbg-shop-categories .mbg-category-card:focus-visible{outline:3px solid #075aa8;outline-offset:4px}
@media(max-width:760px){body .mbg-shop-categories .mbg-category-card{min-height:155px;padding:1rem}}
@media(max-width:480px){.mbg-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}body .mbg-shop-categories .mbg-category-card{padding:.85rem}.mbg-category-card strong{font-size:.82rem}}
@media(prefers-reduced-motion:reduce){body .mbg-shop-categories .mbg-category-card{transition:none;transform:none}}

/* Image-led category selection using existing illustrative site assets. */
body.woocommerce-shop .mbg-shop-categories,body.tax-product_cat .mbg-shop-categories{padding:clamp(1.2rem,2.5vw,2.2rem);border:1px solid #dce7ef;border-radius:18px;background:linear-gradient(120deg,#eaf3fa,#f8fbfd 65%,#e3eff9);box-shadow:0 16px 40px rgba(12,48,77,.06)}
.mbg-shop-categories>header{border-left:0;padding-left:0;margin-bottom:1.6rem}
.mbg-shop-categories>header .mbg-eyebrow{font-size:.68rem;letter-spacing:.13em;margin-bottom:.55rem}
.mbg-shop-categories>header h2{font-size:clamp(1.35rem,2.3vw,2rem);margin:0!important}
body .mbg-shop-categories .mbg-category-card{position:relative;isolation:isolate;overflow:hidden;min-height:270px;grid-template-columns:minmax(0,1fr) 24px;grid-template-rows:1fr;align-items:end;gap:.6rem;padding:160px 1rem 1.15rem;border-radius:12px;background:#fff;border:1px solid #d7e4ee;box-shadow:0 7px 20px rgba(12,48,77,.07)}
body .mbg-shop-categories .mbg-category-card::before{content:'';position:absolute;z-index:0;inset:0 0 auto;height:145px;background:linear-gradient(0deg,rgba(7,35,57,.25),rgba(7,35,57,.02)),var(--category-image);background-size:cover;background-position:center;transition:filter .22s ease}
body .mbg-shop-categories .mbg-category-card[href*='/shop/']{--category-image:url('/wp-content/uploads/mbg/konstruktion-600x400.webp')}
body .mbg-shop-categories .mbg-category-card[href*='befestigung-montage']{--category-image:url('/wp-content/uploads/mbg/bauteil-600x400.webp')}
body .mbg-shop-categories .mbg-category-card[href*='gelaender-bauteile']{--category-image:url('/wp-content/uploads/mbg/gelaender-600x400.webp')}
body .mbg-shop-categories .mbg-category-card[href*='profile-zuschnitte']{--category-image:url('/wp-content/uploads/mbg/fertigung.webp')}
body .mbg-shop-categories .mbg-category-card[href*='werkstattbedarf']{--category-image:url('/wp-content/uploads/mbg/werkstatt.webp')}
body .mbg-shop-categories .mbg-category-card>i{position:absolute;grid-area:auto;top:12px;left:12px;width:32px;height:32px;border:1px solid rgba(255,255,255,.6);border-radius:8px;background:#fff!important;color:#075aa8!important;font-size:.9rem;z-index:1}
body .mbg-shop-categories .mbg-category-card>span{grid-column:1;grid-row:1;align-self:start}
body .mbg-shop-categories .mbg-category-card>b{grid-column:2;grid-row:1;align-self:end;justify-self:end;font-size:1.1rem}
body .mbg-shop-categories .mbg-category-card strong{font-size:.88rem;line-height:1.35}
body .mbg-shop-categories .mbg-category-card small{font-size:.7rem}
body .mbg-shop-categories .mbg-category-card.is-active{background:#0c3e66;border-color:#0c3e66;box-shadow:0 9px 24px rgba(7,60,100,.2)}
body .mbg-shop-categories .mbg-category-card.is-active::before{box-shadow:inset 0 -4px 0 #64b5f4}
body .mbg-shop-categories .mbg-category-card:hover{transform:translateY(-4px);border-color:#075aa8}
body .mbg-shop-categories .mbg-category-card.is-active:hover{background:#0c3e66}
@media(max-width:760px){body .mbg-shop-categories .mbg-category-card{min-height:245px;padding:140px .85rem 1rem}body .mbg-shop-categories .mbg-category-card::before{height:125px}}
@media(max-width:400px){.mbg-category-grid{grid-template-columns:1fr}body .mbg-shop-categories .mbg-category-card{min-height:235px}}
@media(prefers-reduced-motion:reduce){body .mbg-shop-categories .mbg-category-card:hover{transform:none}}

/* Compact split category navigation. */
body.woocommerce-shop .mbg-shop-categories,body.tax-product_cat .mbg-shop-categories{background:#fff;border-radius:12px;box-shadow:none}
.mbg-shop-categories .mbg-category-grid{grid-template-columns:.75fr 1fr 1fr;gap:1rem}
body .mbg-shop-categories .mbg-category-card{min-height:125px;padding:1rem 2rem 1rem 108px;grid-template-columns:1fr;grid-template-rows:1fr;border-radius:8px;box-shadow:none;align-items:center}
body .mbg-shop-categories .mbg-category-card::before{inset:14px auto 14px 12px;width:80px;height:auto;border-radius:6px}
body .mbg-shop-categories .mbg-category-card>i{display:none}
body .mbg-shop-categories .mbg-category-card>span{grid-area:1/1;align-self:center}
body .mbg-shop-categories .mbg-category-card>b{position:absolute;grid-area:auto;right:12px;bottom:16px}
body .mbg-shop-categories .mbg-category-card:hover{transform:none;border-color:#075aa8}
body .mbg-shop-categories .mbg-category-card.is-active::before{box-shadow:none}
body .mbg-shop-categories .mbg-category-card:first-child{grid-column:1;grid-row:1 / span 2;min-height:260px;padding:1.6rem;background:linear-gradient(145deg,#0b304e,#075aa8);border:0}
body .mbg-shop-categories .mbg-category-card:first-child::before{inset:0;width:100%;height:100%;background:repeating-linear-gradient(-45deg,transparent 0 24px,rgba(255,255,255,.045) 24px 25px)}
body .mbg-shop-categories .mbg-category-card:first-child>span{position:relative;z-index:1;align-self:end}
body .mbg-shop-categories .mbg-category-card:first-child :is(span,strong,b){color:#fff!important}
body .mbg-shop-categories .mbg-category-card:first-child small{color:#dcebf7!important}
body .mbg-shop-categories .mbg-category-card:first-child>i{display:grid;top:24px;left:24px;width:40px;height:40px;color:#075aa8!important}
@media(max-width:1000px){.mbg-shop-categories .mbg-category-grid{grid-template-columns:1fr 1fr}body .mbg-shop-categories .mbg-category-card:first-child{grid-column:1 / -1;grid-row:1;min-height:100px;padding:1.3rem 3rem 1.3rem 85px}body .mbg-shop-categories .mbg-category-card:first-child>span{align-self:center}}
@media(max-width:600px){.mbg-shop-categories .mbg-category-grid{grid-template-columns:1fr}body .mbg-shop-categories .mbg-category-card{min-height:115px}}

/* Unified MBG typography: Montserrat Regular throughout all visible text. */
@font-face{
    font-family:'Montserrat';
    src:url('../fonts/Montserrat-Regular.ttf') format('truetype');
    font-style:normal;
    font-weight:400;
    font-display:swap;
}
html body,
body h1,body h2,body h3,body h4,body h5,body h6,
body p,body a,body span,body li,body label,body legend,
body strong,body b,body small,body address,body blockquote,
body input,body textarea,body select,body button,body summary,
body table,body th,body td{
    font-family:'Montserrat',Arial,sans-serif!important;
    font-weight:400!important;
}

/* Individual page compositions within one MBG visual language. */
.mbg-page-hero.variant-overview{grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);min-height:610px;background:linear-gradient(120deg,#082c49 0%,#075aa8 78%)}
.mbg-page-hero.variant-overview figure{clip-path:polygon(18% 0,100% 0,100% 100%,0 100%)}
.variant-overview+.mbg-page-section{background:linear-gradient(180deg,#eef5fa 0,#fff 35%)}

.mbg-page-hero.variant-balcony{grid-template-columns:minmax(420px,.9fr) minmax(0,1.1fr);min-height:560px;background:#0c304d}
.mbg-page-hero.variant-balcony .mbg-page-hero-copy{order:2;background:linear-gradient(130deg,#0c304d,#075aa8)}
.mbg-page-hero.variant-balcony figure{order:1;margin:clamp(1.5rem,4vw,4rem) 0 clamp(1.5rem,4vw,4rem) clamp(1.5rem,4vw,4rem);min-height:auto;border-radius:0 16px 16px 0}
.variant-balcony+.mbg-page-section .mbg-check-card{border-left:6px solid #075aa8}

.mbg-page-hero.variant-construction{grid-template-columns:minmax(0,.82fr) minmax(500px,1.18fr);min-height:650px;background:linear-gradient(180deg,#0a263e,#0d3e63)}
.mbg-page-hero.variant-construction figure{margin:3rem 3rem 3rem 0;border-radius:14px;box-shadow:0 28px 65px rgba(0,0,0,.28)}
.mbg-page-hero.variant-construction figure::after{background:linear-gradient(0deg,rgba(5,30,50,.45),transparent 55%)}
.variant-construction+.mbg-page-section{background:#f0f4f7}.variant-construction+.mbg-page-section .mbg-page-two-col{align-items:start}

.mbg-page-hero.variant-repair{grid-template-columns:minmax(440px,1fr) minmax(0,1fr);background:linear-gradient(130deg,#102d43,#075aa8)}
.mbg-page-hero.variant-repair figure{order:1}.mbg-page-hero.variant-repair .mbg-page-hero-copy{order:2}
.mbg-page-hero.variant-repair figure::after{background:linear-gradient(90deg,transparent,rgba(7,90,168,.65))}
.variant-repair+.mbg-page-section .mbg-page-two-col{grid-template-columns:minmax(340px,.8fr) minmax(0,1.2fr)}.variant-repair+.mbg-page-section .mbg-check-card{order:-1;background:#0c304d;color:#fff}.variant-repair+.mbg-page-section .mbg-check-card h3,.variant-repair+.mbg-page-section .mbg-check-card li{color:#fff}

.mbg-page-hero.variant-fabrication{position:relative;display:flex;align-items:flex-end;min-height:650px;background:#092944}
.mbg-page-hero.variant-fabrication figure{position:absolute;inset:0}.mbg-page-hero.variant-fabrication figure::after{background:linear-gradient(90deg,rgba(5,35,58,.95) 0%,rgba(5,35,58,.75) 45%,rgba(5,35,58,.12) 100%)}
.mbg-page-hero.variant-fabrication .mbg-page-hero-copy{position:relative;z-index:1;width:min(820px,70%);padding-bottom:clamp(4rem,8vw,8rem)}
.variant-fabrication+.mbg-page-section .mbg-check-card{background:linear-gradient(145deg,#075aa8,#0c3e66);color:#fff}.variant-fabrication+.mbg-page-section .mbg-check-card h3,.variant-fabrication+.mbg-page-section .mbg-check-card li{color:#fff}.variant-fabrication+.mbg-page-section .mbg-check-card li::before{color:#b9dcfa}

.mbg-page-hero.variant-references{position:relative;display:grid;place-items:center;min-height:620px;text-align:center;background:#092944}
.mbg-page-hero.variant-references figure{position:absolute;inset:0}.mbg-page-hero.variant-references figure::after{background:linear-gradient(rgba(4,30,50,.72),rgba(7,90,168,.72))}
.mbg-page-hero.variant-references .mbg-page-hero-copy{position:relative;z-index:1;align-items:center;max-width:1050px;padding-inline:2rem}.mbg-page-hero.variant-references h1{max-width:950px}.mbg-page-hero.variant-references .mbg-page-hero-copy>p:last-child{max-width:760px}
.variant-references+.mbg-page-section{background:#edf4f9}.variant-references+.mbg-page-section .mbg-empty-showcase{background:#fff;box-shadow:0 24px 55px rgba(14,48,75,.1)}

.mbg-page-hero.variant-company{grid-template-columns:minmax(0,1fr) minmax(460px,.8fr);min-height:580px;background:linear-gradient(115deg,#075aa8,#0b3556)}
.mbg-page-hero.variant-company figure{margin:0;clip-path:polygon(13% 0,100% 0,100% 100%,0 100%)}
.variant-company+.mbg-page-section .mbg-page-two-col{grid-template-columns:minmax(0,.9fr) minmax(460px,1.1fr)}.variant-company+.mbg-page-section .mbg-stat-grid div{min-height:145px;display:flex;flex-direction:column;justify-content:center}

.mbg-page-hero.variant-career{grid-template-columns:minmax(430px,.92fr) minmax(0,1.08fr);background:linear-gradient(140deg,#0d3e63,#075aa8)}
.mbg-page-hero.variant-career figure{order:1;margin:2.5rem 0 2.5rem 2.5rem;border-radius:12px 0 0 12px}.mbg-page-hero.variant-career .mbg-page-hero-copy{order:2}
.variant-career+.mbg-page-section{background:linear-gradient(135deg,#fff 60%,#edf4f9 60%)}

.mbg-page-hero.variant-contact{position:relative;display:grid;place-items:center;min-height:430px;text-align:center;background:linear-gradient(135deg,#092944,#075aa8)}
.mbg-page-hero.variant-contact::after{content:'';position:absolute;right:-120px;bottom:-190px;width:480px;height:480px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 60px rgba(255,255,255,.035),0 0 0 120px rgba(255,255,255,.02)}
.mbg-page-hero.variant-contact .mbg-page-hero-copy{position:relative;z-index:1;align-items:center;max-width:1000px}.mbg-page-hero.variant-contact h1{max-width:900px}.mbg-page-hero.variant-contact .mbg-page-hero-copy>p:last-child{max-width:700px}
.variant-contact+.mbg-page-section{background:#edf4f9}.variant-contact+.mbg-page-section .mbg-contact-layout{align-items:stretch}.variant-contact+.mbg-page-section .mbg-contact-panel{display:flex;flex-direction:column;justify-content:center}

@media(max-width:950px){.mbg-page-hero.variant-overview,.mbg-page-hero.variant-balcony,.mbg-page-hero.variant-construction,.mbg-page-hero.variant-repair,.mbg-page-hero.variant-company,.mbg-page-hero.variant-career{grid-template-columns:1fr;min-height:0}.mbg-page-hero.variant-overview figure,.mbg-page-hero.variant-company figure{clip-path:none}.mbg-page-hero.variant-balcony .mbg-page-hero-copy,.mbg-page-hero.variant-repair .mbg-page-hero-copy,.mbg-page-hero.variant-career .mbg-page-hero-copy{order:1}.mbg-page-hero.variant-balcony figure,.mbg-page-hero.variant-repair figure,.mbg-page-hero.variant-career figure{order:2;margin:0;border-radius:0}.mbg-page-hero.variant-construction figure{margin:0;border-radius:0}.variant-repair+.mbg-page-section .mbg-page-two-col,.variant-company+.mbg-page-section .mbg-page-two-col{grid-template-columns:1fr}.mbg-page-hero.variant-fabrication .mbg-page-hero-copy{width:100%}}
@media(max-width:650px){.mbg-page-hero.variant-references,.mbg-page-hero.variant-fabrication{min-height:520px}.mbg-page-hero.variant-fabrication .mbg-page-hero-copy{padding:3rem 1.3rem}.mbg-page-hero.variant-contact{min-height:380px}}

/* Distinct content architectures for the four service detail pages. */
.mbg-balcony-story{padding:clamp(4rem,8vw,8rem) clamp(1.5rem,7vw,8rem);background:#fff}.mbg-balcony-intro{max-width:850px;margin-bottom:clamp(2.5rem,5vw,4.5rem)}.mbg-balcony-intro h2{font-size:clamp(2rem,4vw,3.5rem);margin:.6rem 0 1rem}.mbg-balcony-intro p:last-child{color:#536575;line-height:1.75}.mbg-balcony-points{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.mbg-balcony-points article{padding:clamp(1.5rem,3vw,2.5rem);border-top:4px solid #075aa8;background:#f2f6f9}.mbg-balcony-points b{color:#075aa8;font-size:.76rem;letter-spacing:.12em}.mbg-balcony-points h3{margin:1.1rem 0 .7rem}.mbg-balcony-points p{color:#536575;line-height:1.65}.mbg-balcony-band{display:grid;grid-template-columns:1.1fr .9fr;align-items:stretch;background:#0c304d;color:#fff}.mbg-balcony-band img{width:100%;height:100%;min-height:420px;object-fit:cover}.mbg-balcony-band>div{display:flex;flex-direction:column;justify-content:center;padding:clamp(2.5rem,6vw,6rem)}.mbg-balcony-band h2{color:#fff;font-size:clamp(2rem,3.5vw,3rem)}.mbg-balcony-band ul{display:grid;gap:.75rem;padding-left:1.2rem;color:rgba(255,255,255,.8)}
.mbg-construction-board{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);gap:clamp(2rem,6vw,7rem);padding:clamp(4rem,8vw,8rem) clamp(1.5rem,7vw,8rem);background:#eef3f6}.mbg-construction-board aside{position:sticky;top:2rem;align-self:start;padding:clamp(2rem,4vw,3.5rem);border-radius:12px;background:#0c304d;color:#fff}.mbg-construction-board aside h2{color:#fff;font-size:clamp(2rem,3vw,3rem)}.mbg-construction-board aside>p:last-of-type{color:rgba(255,255,255,.74);line-height:1.75}.mbg-construction-tags{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:1.5rem}.mbg-construction-tags span{padding:.45rem .65rem;border:1px solid rgba(255,255,255,.18);border-radius:4px;font-size:.76rem}.mbg-construction-flow{display:grid}.mbg-construction-flow article{padding:clamp(2rem,4vw,3.3rem) 0;border-bottom:1px solid #cbd8e1}.mbg-construction-flow article:first-child{padding-top:0}.mbg-construction-flow span{color:#075aa8;font-size:.7rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.mbg-construction-flow h3{font-size:clamp(1.5rem,2.6vw,2.2rem);margin:.7rem 0}.mbg-construction-flow p{max-width:720px;color:#536575;line-height:1.7}
.mbg-repair-diagnostic{padding:clamp(4rem,8vw,8rem) clamp(1.5rem,7vw,8rem);background:#fff}.mbg-repair-diagnostic>header{max-width:950px;margin:0 auto clamp(3rem,6vw,5rem);text-align:center}.mbg-repair-diagnostic h2{font-size:clamp(2rem,4vw,3.5rem);margin:.6rem 0 1rem}.mbg-repair-diagnostic header>p:last-child{color:#536575;line-height:1.75}.mbg-repair-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;max-width:1500px;margin:0 auto;background:#d6e1e8;border:1px solid #d6e1e8}.mbg-repair-grid article{min-height:285px;padding:2rem;background:#f4f7f9}.mbg-repair-grid span{display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;background:#075aa8;color:#fff;font-weight:800}.mbg-repair-grid h3{margin:2rem 0 .7rem}.mbg-repair-grid p{color:#536575;line-height:1.65}.mbg-repair-note{display:flex;gap:1rem;align-items:center;padding:1.5rem clamp(1.5rem,7vw,8rem);background:#0c304d;color:#fff}.mbg-repair-note strong{color:#9fd2ff}.mbg-repair-note p{margin:0;color:rgba(255,255,255,.78)}
.mbg-fabrication-spec{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:clamp(3rem,8vw,9rem);padding:clamp(4rem,8vw,8rem) clamp(1.5rem,7vw,8rem);background:#fff}.mbg-fabrication-title h2{font-size:clamp(2rem,4vw,3.6rem);margin:.6rem 0 1rem}.mbg-fabrication-title>p:last-child{color:#536575;line-height:1.75}.mbg-spec-table{border-top:1px solid #ccd9e2}.mbg-spec-table>div{display:grid;grid-template-columns:45px 150px 1fr;gap:1rem;align-items:center;padding:1.4rem 0;border-bottom:1px solid #ccd9e2}.mbg-spec-table span{color:#075aa8;font-size:.72rem;font-weight:850}.mbg-spec-table b{color:#12202d}.mbg-spec-table p{margin:0;color:#536575}.mbg-fabrication-strip{display:grid;grid-template-columns:repeat(4,1fr);background:#075aa8;color:#fff}.mbg-fabrication-strip span{padding:1.7rem 1rem;border-right:1px solid rgba(255,255,255,.18);text-align:center;font-weight:750}
@media(max-width:950px){.mbg-balcony-band,.mbg-construction-board,.mbg-fabrication-spec{grid-template-columns:1fr}.mbg-construction-board aside{position:static}.mbg-repair-grid{grid-template-columns:repeat(2,1fr)}.mbg-fabrication-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.mbg-balcony-points,.mbg-repair-grid{grid-template-columns:1fr}.mbg-balcony-band img{min-height:260px}.mbg-repair-grid article{min-height:0}.mbg-repair-note{align-items:flex-start;flex-direction:column}.mbg-spec-table>div{grid-template-columns:35px 1fr}.mbg-spec-table p{grid-column:2}.mbg-fabrication-strip{grid-template-columns:1fr}}

/* Substantial, customer-focused knowledge sections. */
.mbg-knowledge{padding:clamp(4rem,8vw,8rem) clamp(1.5rem,7vw,8rem);background:#fff}.mbg-knowledge.is-blue-tint{background:#edf4f8}.mbg-knowledge>header{max-width:970px;margin:0 0 clamp(2.8rem,5vw,4.8rem)}.mbg-knowledge>header h2{margin:.65rem 0 1rem;color:#12202d;font-size:clamp(2rem,4vw,3.6rem);line-height:1.12;letter-spacing:-.03em}.mbg-knowledge>header>p:last-child{max-width:850px;color:#536575;font-size:1.03rem;line-height:1.8}
.mbg-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:1500px}.mbg-topic-grid.is-three{grid-template-columns:repeat(3,minmax(0,1fr))}.mbg-topic-grid article{position:relative;min-height:210px;padding:clamp(1.5rem,3vw,2.4rem);border:1px solid #d6e2ea;border-radius:9px;background:#fff;box-shadow:0 12px 30px rgba(13,48,75,.055)}.mbg-topic-grid article::before{content:'';position:absolute;left:0;top:1.6rem;bottom:1.6rem;width:3px;border-radius:3px;background:#075aa8}.mbg-topic-grid h3{margin:0 0 .8rem;color:#12202d;font-size:1.22rem}.mbg-topic-grid p{margin:0;color:#536575;line-height:1.72}
.mbg-faq-list{max-width:1100px;margin:clamp(3.5rem,7vw,6rem) 0 0}.mbg-faq-list>h2{margin:0 0 1.5rem;color:#12202d;font-size:clamp(1.7rem,3vw,2.5rem)}.mbg-faq-list details{border-top:1px solid #cad8e2}.mbg-faq-list details:last-child{border-bottom:1px solid #cad8e2}.mbg-faq-list summary{position:relative;padding:1.25rem 3rem 1.25rem 0;cursor:pointer;color:#12202d;font-size:1.02rem;font-weight:760;list-style:none}.mbg-faq-list summary::-webkit-details-marker{display:none}.mbg-faq-list summary::after{content:'+';position:absolute;right:.4rem;top:50%;translate:0 -50%;display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:50%;background:#e7f0f7;color:#075aa8;font-size:1.15rem}.mbg-faq-list details[open] summary::after{content:'–';background:#075aa8;color:#fff}.mbg-faq-list details p{max-width:900px;margin:0;padding:0 3rem 1.35rem 0;color:#536575;line-height:1.75}
@media(max-width:950px){.mbg-topic-grid.is-three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.mbg-knowledge{padding:3.5rem 1rem}.mbg-topic-grid,.mbg-topic-grid.is-three{grid-template-columns:1fr}.mbg-topic-grid article{min-height:0}.mbg-faq-list details p{padding-right:0}}

.mbg-shop-guidance{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:clamp(2rem,5vw,5rem);align-items:center;margin:0 0 2rem;padding:clamp(1.6rem,3.5vw,3rem);border-radius:11px;background:linear-gradient(120deg,#0c304d,#075aa8);color:#fff}.mbg-shop-guidance h2{margin:.5rem 0 .8rem;color:#fff!important;font-size:clamp(1.7rem,3vw,2.6rem)}.mbg-shop-guidance>div>p:last-child{max-width:720px;margin:0;color:rgba(255,255,255,.76);line-height:1.7}.mbg-shop-guidance aside{padding:1.4rem;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:rgba(255,255,255,.08)}.mbg-shop-guidance aside h3{margin:0 0 .6rem;color:#fff!important}.mbg-shop-guidance aside p{color:rgba(255,255,255,.74);line-height:1.6}.mbg-shop-guidance aside a{color:#fff!important;font-weight:750}
@media(max-width:800px){.mbg-shop-guidance{grid-template-columns:1fr}}

/* Keep FAQ sections centered while questions and answers remain easy to scan. */
body .mbg-faq-list{margin-left:auto;margin-right:auto}
body .mbg-faq-list>h2{text-align:center}
body .mbg-faq-list summary{text-align:left;padding-left:0;padding-right:3rem}
body .mbg-faq-list details p{margin-left:0;margin-right:0;text-align:left;padding:0 3rem 1.35rem 0}
@media(max-width:650px){body .mbg-faq-list summary{padding-left:0;padding-right:2.5rem}body .mbg-faq-list details p{padding-left:0;padding-right:0}}

/* Labels and color treatment for generated thematic visuals. */
.mbg-page-hero figure figcaption{position:absolute;right:1rem;bottom:1rem;z-index:2;padding:.38rem .55rem;border:1px solid rgba(255,255,255,.25);border-radius:4px;background:rgba(5,30,50,.58);color:rgba(255,255,255,.78);font-size:.65rem;letter-spacing:.04em;backdrop-filter:blur(5px)}
.mbg-contact-visual{position:relative;height:clamp(280px,34vw,560px);margin:0;overflow:hidden;background:#0c304d}.mbg-contact-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,90,168,.52),rgba(7,90,168,.05))}.mbg-contact-visual img{display:block;width:100%;height:100%;object-fit:cover}.mbg-contact-visual figcaption{position:absolute;right:1rem;bottom:1rem;z-index:2;max-width:360px;padding:.42rem .6rem;border-radius:4px;background:rgba(5,30,50,.72);color:rgba(255,255,255,.8);font-size:.66rem}
.variant-balcony+.mbg-balcony-story{background:linear-gradient(135deg,#fff 0%,#fff 68%,#edf5fb 68%)}.variant-construction+.mbg-construction-board{border-top:8px solid #075aa8}.variant-repair+.mbg-repair-diagnostic{background:linear-gradient(180deg,#fff,#edf4f8)}.variant-fabrication+.mbg-fabrication-spec{background:linear-gradient(120deg,#f4f8fb,#fff)}.variant-company+.mbg-page-section{background:linear-gradient(135deg,#fff 0%,#fff 60%,#edf4f8 60%)}.variant-career+.mbg-page-section .mbg-check-card{border-top:5px solid #075aa8}.variant-references+.mbg-page-section{border-top:8px solid #075aa8}

/* Keep the copy block vertically centered beside each service image. */
body.home .l-main .mbg-section .mbg-service-card{
    display:flex!important;
    flex-direction:column;
    justify-content:center;
    align-items:stretch;
}

/* Vertically center the complete CTA copy block beside its image. */
@media(min-width:851px){
    body.home .l-main .mbg-cta>.wp-block-group__inner-container{
        grid-column:1;
        grid-row:1/4;
        align-self:center;
    }
}

/* Compact service overview: less scrolling, more information per viewport. */
body.page-id-13 .mbg-page-hero.variant-overview{min-height:440px}
body.page-id-13 .mbg-page-hero-copy{padding:clamp(2.5rem,5vw,5rem) clamp(2rem,6vw,7rem)}
body.page-id-13 .mbg-page-section{padding:clamp(2.25rem,4vw,3.75rem) clamp(1.5rem,6vw,7rem)}
body.page-id-13 .mbg-section-heading{max-width:960px;margin-bottom:clamp(1.5rem,2.5vw,2.25rem)}
body.page-id-13 .mbg-section-heading>p{margin:.65rem auto 0;max-width:900px}
body.page-id-13 .mbg-page-card-grid{gap:1rem}
body.page-id-13 .mbg-page-card-grid>.mbg-page-card{padding:clamp(12rem,16vw,14rem) clamp(1.5rem,2.4vw,2rem) clamp(1.5rem,2.4vw,2rem)}
body.page-id-13 .mbg-page-card-grid>.mbg-page-card::before{height:clamp(10rem,14vw,12rem)}
body.page-id-13 .mbg-page-card-grid>.mbg-page-card>h3{margin:.8rem 0 .55rem}
body.page-id-13 .mbg-page-card-grid>.mbg-page-card>p{margin:.45rem 0 .7rem}
body.page-id-13 .mbg-page-card-grid>.mbg-page-card>ul{gap:.4rem;margin:.1rem 0 1rem;padding:.75rem 1rem}
body.page-id-13 .mbg-page-split,
body.page-id-13 .mbg-knowledge{padding:clamp(3rem,5vw,4.5rem) clamp(1.5rem,7vw,8rem)}
body.page-id-13 .mbg-knowledge>header{margin-bottom:clamp(2rem,3vw,3rem)}
body.page-id-13 .mbg-topic-grid article{min-height:170px}
body.page-id-13 .mbg-faq-list{margin-top:clamp(2.5rem,4vw,3.5rem)}
body.page-id-13 .mbg-page-cta{margin:clamp(2.5rem,4vw,4rem) clamp(1.5rem,6vw,7rem)}
@media(max-width:650px){
    body.page-id-13 .mbg-page-hero.variant-overview{min-height:0}
    body.page-id-13 .mbg-page-section{padding:2.25rem 1rem}
    body.page-id-13 .mbg-page-card-grid>.mbg-page-card{padding:11rem 1.25rem 1.35rem}
    body.page-id-13 .mbg-page-card-grid>.mbg-page-card::before{height:9.5rem}
    body.page-id-13 .mbg-page-split,
    body.page-id-13 .mbg-knowledge{padding:3rem 1rem}
}

/* Center the references introduction over the full hero image. */
body.page-id-18 .mbg-page-hero.variant-references{
    grid-template-columns:minmax(0,1fr)!important;
    place-items:center!important;
}
body.page-id-18 .mbg-page-hero.variant-references .mbg-page-hero-copy{
    width:min(1050px,calc(100% - 2rem));
    max-width:none;
    justify-self:center;
    align-self:center;
    padding:2rem;
    text-align:center;
}

/* References page without oversized gaps between useful content blocks. */
body.page-id-18 .variant-references+.mbg-page-section{
    padding:clamp(1.75rem,3vw,2.5rem) clamp(1.25rem,6vw,7rem);
}
body.page-id-18 .mbg-empty-showcase{
    padding:clamp(2rem,3vw,2.75rem);
}
body.page-id-18 .mbg-knowledge{
    padding:clamp(2.75rem,4vw,3.5rem) clamp(1.5rem,7vw,8rem);
}
body.page-id-18 .mbg-knowledge>header{
    margin-bottom:clamp(1.75rem,2.5vw,2.5rem);
}
body.page-id-18 .mbg-knowledge>header:last-child{
    margin-bottom:0;
}
body.page-id-18 .mbg-faq-list{
    margin-top:0;
}
body.page-id-18 .mbg-page-cta{
    margin:clamp(2.25rem,3.5vw,3rem) clamp(1.5rem,6vw,7rem);
}
@media(max-width:650px){
    body.page-id-18 .variant-references+.mbg-page-section,
    body.page-id-18 .mbg-knowledge{padding:2.25rem 1rem}
    body.page-id-18 .mbg-empty-showcase{padding:1.5rem}
}

/* Balanced full-width reference information with stronger card contrast. */
body.page-id-18 .mbg-knowledge:not(.is-blue-tint)>header,
body.page-id-18 .mbg-knowledge:not(.is-blue-tint)>.mbg-topic-grid{
    width:min(1500px,100%);
    max-width:1500px;
    margin-left:auto;
    margin-right:auto;
}
body.page-id-18 .mbg-knowledge:not(.is-blue-tint)>header{
    text-align:center;
}
body.page-id-18 .mbg-knowledge:not(.is-blue-tint)>header>p:last-child{
    max-width:900px;
    margin-left:auto;
    margin-right:auto;
}
body.page-id-18 .mbg-topic-grid article{
    min-height:190px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border:1px solid #b9d3e7;
    border-top:4px solid #075aa8;
    background:linear-gradient(145deg,#fff 0%,#eaf4fb 100%);
    box-shadow:0 16px 34px rgba(8,55,91,.12);
    transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
body.page-id-18 .mbg-topic-grid article::before{
    top:1.3rem;
    bottom:1.3rem;
    width:4px;
}
body.page-id-18 .mbg-topic-grid article h3{
    color:#075aa8!important;
}
@media(hover:hover) and (pointer:fine){
    body.page-id-18 .mbg-topic-grid article:hover{
        transform:translateY(-5px);
        border-color:#78acd4;
        box-shadow:0 22px 42px rgba(8,55,91,.18);
    }
}

/* Compact, useful guidance for shop, category and demo-product pages. */
body .mbg-shop-depth-v1{
    width:min(1450px,100%);
    margin:clamp(2rem,4vw,3.5rem) auto 0;
    padding:clamp(1.5rem,3vw,2.5rem);
    border:1px solid #d4e3ee;
    border-radius:12px;
    background:linear-gradient(145deg,#f7fafc,#eaf4fb);
}
body .mbg-shop-depth-header{
    max-width:980px;
    margin:0 auto clamp(1.5rem,2.5vw,2rem);
    text-align:center;
}
body .mbg-shop-depth-header>span{
    display:block;
    margin-bottom:.55rem;
    color:#075aa8!important;
    font-size:11px;
    letter-spacing:.12em;
}
body .mbg-shop-depth-header h2{
    margin:0 0 .75rem!important;
    color:#12202d!important;
    font-size:clamp(20px,2.2vw,26px)!important;
}
body .mbg-shop-depth-header p{
    margin:0!important;
    color:#4d6374!important;
    line-height:1.75;
}
body .mbg-shop-depth-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1rem;
}
body .mbg-shop-depth-card{
    padding:clamp(1.25rem,2.2vw,1.8rem);
    border:1px solid #cbdde9;
    border-top:4px solid #075aa8;
    border-radius:8px;
    background:#fff;
}
body .mbg-shop-depth-card h3{
    margin:0 0 .7rem!important;
    color:#075aa8!important;
    font-size:17px!important;
}
body .mbg-shop-depth-card p{
    margin:0!important;
    color:#4d6374!important;
    font-size:14px;
    line-height:1.75;
}
.single-product .mbg-product-main-description .mbg-shop-depth-card{
    border-top:1px solid #cbdde9;
}
@media(max-width:850px){body .mbg-shop-depth-grid{grid-template-columns:1fr}}
@media(max-width:650px){body .mbg-shop-depth-v1{margin-top:1.5rem;padding:1.15rem}}

body.tax-product_cat .term-description{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1rem;
    margin:clamp(2rem,4vw,3.5rem) 0 0;
    padding:clamp(1.5rem,3vw,2.5rem);
    border:1px solid #d4e3ee;
    border-radius:12px;
    background:linear-gradient(145deg,#f7fafc,#eaf4fb);
}
body.tax-product_cat .term-description>p{
    margin:0!important;
    padding:clamp(1.2rem,2vw,1.6rem);
    border:1px solid #cbdde9;
    border-top:4px solid #075aa8;
    border-radius:8px;
    background:#fff;
    color:#4d6374!important;
    font-size:14px;
    line-height:1.75;
}
body.tax-product_cat .term-description>p:first-child{
    grid-column:1/-1;
    padding:0 0 1.25rem;
    border:0;
    border-bottom:1px solid #cbdde9;
    border-radius:0;
    background:transparent;
    color:#20394d!important;
    font-size:16px;
}
@media(max-width:850px){body.tax-product_cat .term-description{grid-template-columns:1fr}body.tax-product_cat .term-description>p:first-child{grid-column:auto}}

/* Compact shop buying guide and remove the oversized gap before categories. */
body.post-type-archive-product .for_shop_description>.l-section-h{
    padding-top:clamp(2rem,3vw,3rem)!important;
    padding-bottom:clamp(1.25rem,2vw,2rem)!important;
}
body.post-type-archive-product .for_shop>.l-section-h{
    padding-top:clamp(1.25rem,2vw,2rem)!important;
}
body.post-type-archive-product .mbg-shop-buying-guide{
    margin-top:0;
    padding:clamp(1.35rem,2.4vw,2rem);
}
body.post-type-archive-product .mbg-shop-buying-guide .mbg-shop-depth-header{
    margin-bottom:clamp(1.1rem,2vw,1.5rem);
}
body.post-type-archive-product .mbg-shop-buying-guide .mbg-shop-depth-card{
    padding:clamp(1.15rem,1.8vw,1.5rem);
}
html body.post-type-archive-product main.l-main .l-section.for_shop_description>.l-section-h{
    padding-top:clamp(2rem,3vw,3rem)!important;
    padding-bottom:clamp(1.25rem,2vw,2rem)!important;
}
html body.post-type-archive-product main.l-main .l-section.for_shop>.l-section-h{
    padding-top:clamp(1.25rem,2vw,2rem)!important;
}
html body.post-type-archive-product main.l-main .l-section.for_shop_description{
    display:none!important;
}

/* Shop guide below the catalogue: compact split layout instead of two text blocks. */
html body.post-type-archive-product .mbg-shop-buying-guide{
    display:grid;
    grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);
    gap:0;
    padding:0;
    overflow:hidden;
    border:0;
    border-radius:14px;
    background:#0d3454;
    box-shadow:0 18px 42px rgba(9,49,80,.14);
}
html body.post-type-archive-product .mbg-shop-buying-guide .mbg-shop-depth-header{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    max-width:none;
    margin:0;
    padding:clamp(2rem,4vw,3.5rem);
    text-align:left;
}
html body.post-type-archive-product .mbg-shop-buying-guide .mbg-shop-guide-eyebrow{
    margin:0 0 .8rem!important;
    color:#9fd2ff!important;
    font-size:11px;
    letter-spacing:.14em;
}
html body.post-type-archive-product .mbg-shop-buying-guide .mbg-shop-depth-header h2{
    margin:0 0 1rem!important;
    color:#fff!important;
    font-size:clamp(22px,2.4vw,30px)!important;
}
html body.post-type-archive-product .mbg-shop-buying-guide .mbg-shop-depth-header>p:not(.mbg-shop-guide-eyebrow){
    margin:0!important;
    color:rgba(255,255,255,.82)!important;
    line-height:1.75;
}
html body.post-type-archive-product .mbg-shop-guide-cta{
    display:inline-flex;
    align-items:center;
    gap:.65rem;
    margin-top:1.5rem;
    padding:.8rem 1rem;
    border:1px solid rgba(255,255,255,.5);
    border-radius:6px;
    color:#fff!important;
    text-decoration:none;
}
html body.post-type-archive-product .mbg-shop-guide-cta:hover{
    background:#fff;
    color:#075aa8!important;
}
html body.post-type-archive-product .mbg-shop-buying-guide .mbg-shop-depth-grid{
    counter-reset:shop-guide;
    display:grid;
    grid-template-columns:1fr;
    gap:1px;
    padding:1px;
    background:#c8dbe9;
}
html body.post-type-archive-product .mbg-shop-buying-guide .mbg-shop-depth-card{
    counter-increment:shop-guide;
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    align-content:center;
    column-gap:1rem;
    padding:clamp(1.25rem,2vw,1.7rem);
    border:0;
    border-radius:0;
    background:#fff;
}
html body.post-type-archive-product .mbg-shop-buying-guide .mbg-shop-depth-card::before{
    content:counter(shop-guide,decimal-leading-zero);
    grid-row:1/3;
    display:grid;
    place-items:center;
    align-self:start;
    width:40px;
    height:40px;
    border-radius:50%;
    background:#e8f2f9;
    color:#075aa8;
    font-size:12px;
}
html body.post-type-archive-product .mbg-shop-buying-guide .mbg-shop-depth-card h3,
html body.post-type-archive-product .mbg-shop-buying-guide .mbg-shop-depth-card p{
    grid-column:2;
}
html body.post-type-archive-product .mbg-shop-buying-guide .mbg-shop-depth-card h3{
    margin:0 0 .45rem!important;
    color:#12334c!important;
}
@media(max-width:850px){
    html body.post-type-archive-product .mbg-shop-buying-guide{grid-template-columns:1fr}
}

/* Category guidance as one readable article, not a collection of cards. */
html body.tax-product_cat .term-description{
    display:block!important;
    width:100%;
    max-width:none;
    margin:clamp(2rem,4vw,3.5rem) auto 0!important;
    padding:clamp(1.6rem,3.5vw,3rem)!important;
    border:1px solid #d4e3ee!important;
    border-left:1px solid #d4e3ee!important;
    border-radius:10px!important;
    background:#fff!important;
    box-shadow:0 16px 38px rgba(10,52,82,.08);
}
html body.tax-product_cat .term-description>p{
    display:block!important;
    margin:0 0 1.15rem!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:#344d60!important;
    font-size:16px!important;
    line-height:1.8!important;
}
html body.tax-product_cat .term-description>p:first-child{
    margin:0 0 1.35rem!important;
    padding:0 0 1.25rem!important;
    border-bottom:1px solid #d8e3eb!important;
    color:#17364d!important;
    font-size:17px!important;
}
html body.tax-product_cat .term-description>p:last-child{
    margin-bottom:0!important;
}
@media(max-width:650px){
    html body.tax-product_cat .term-description{padding:1.35rem!important}
    html body.tax-product_cat .term-description>p{font-size:15px!important;line-height:1.72!important}
}

/* Editorial hierarchy for the full-width category articles. */
html body.tax-product_cat .term-description>h2{
    margin:0 0 1rem!important;
    color:#12334c!important;
    font-size:clamp(23px,2.4vw,30px)!important;
    line-height:1.35!important;
}
html body.tax-product_cat .term-description>h3{
    margin:clamp(1.6rem,2.5vw,2.2rem) 0 .65rem!important;
    padding-left:0;
    border-left:0;
    color:#12334c!important;
    font-size:clamp(18px,1.7vw,21px)!important;
    line-height:1.45!important;
}
html body.tax-product_cat .term-description>h2+p{
    margin-bottom:1.5rem!important;
    padding-bottom:1.4rem!important;
    border-bottom:1px solid #d8e3eb!important;
    color:#17364d!important;
    font-size:17px!important;
}
html body.tax-product_cat .term-description>h3+p{
    margin-bottom:0!important;
}

/* Full product guides as semantic articles without cards or blue rules. */
html body.single-product .mbg-product-main-description .mbg-product-article{
    width:100%;
    padding:clamp(1.6rem,3.5vw,3rem);
    border:1px solid #d4e3ee;
    border-radius:10px;
    background:#fff;
    box-shadow:0 16px 38px rgba(10,52,82,.08);
}
html body.single-product .mbg-product-main-description .mbg-product-article>h2{
    margin:clamp(1.6rem,2.5vw,2.2rem) 0 .8rem!important;
    color:#12334c!important;
    font-size:clamp(23px,2.4vw,30px)!important;
}
html body.single-product .mbg-product-main-description .mbg-product-article>h3{
    margin:clamp(1.6rem,2.5vw,2.2rem) 0 .65rem!important;
    padding:0!important;
    border:0!important;
    color:#12334c!important;
    font-size:clamp(18px,1.7vw,21px)!important;
}
html body.single-product .mbg-product-main-description .mbg-product-article>p{
    margin:0!important;
    color:#344d60!important;
    font-size:16px;
    line-height:1.8;
}
html body.single-product .mbg-product-main-description .mbg-product-status{
    padding:1rem 1.1rem;
    border:1px solid #d8e3eb;
    border-radius:7px;
    background:#f4f7f9;
    color:#344d60!important;
}
html body.single-product .mbg-product-main-description .mbg-product-request{
    margin-top:clamp(1.7rem,3vw,2.5rem)!important;
    padding-top:1.25rem;
    border-top:1px solid #d8e3eb;
}
@media(max-width:650px){
    html body.single-product .mbg-product-main-description .mbg-product-article{padding:1.35rem}
    html body.single-product .mbg-product-main-description .mbg-product-article>p{font-size:15px;line-height:1.72}
}

/* --------------------------------------------------------------------------
   Responsive hardening: shared across pages, shop, checkout and legal content
   -------------------------------------------------------------------------- */
html body img,
html body video,
html body iframe,
html body svg{max-width:100%;}
html body img,
html body video{height:auto;}
html body p,
html body li,
html body dd,
html body td,
html body th,
html body a{overflow-wrap:anywhere;}

@media(max-width:1024px){
    html body .l-section-h,
    html body .mbg-header-main,
    html body .mbg-header-service-inner,
    html body .mbg-header-nav-inner{
        min-width:0;
    }
    html body .woocommerce table.shop_table,
    html body .wc-block-cart-items,
    html body .wc-block-components-table{
        display:block;
        width:100%;
        max-width:100%;
        overflow-x:auto;
        overscroll-behavior-inline:contain;
        -webkit-overflow-scrolling:touch;
    }
    html body .woocommerce form,
    html body .woocommerce form .form-row,
    html body .wc-block-components-form,
    html body .wc-block-components-text-input{
        min-width:0;
        max-width:100%;
    }
}

@media(max-width:900px){
    html body .mbg-header-contact{display:none!important;}
    html body .mbg-header-service-inner{justify-content:center;text-align:center;}
    html body .mbg-header-main{
        width:calc(100% - 2rem);
        grid-template-columns:minmax(0,1fr) auto!important;
        gap:.8rem 1rem;
        padding:.75rem 0;
    }
    html body .mbg-product-search{
        grid-column:1/-1;
        grid-row:2;
        width:100%;
        min-width:0;
    }
    html body .mbg-brand{grid-column:1;grid-row:1;}
    html body .mbg-header-actions{grid-column:2;grid-row:1;}
    html body .mbg-header-nav-inner{
        width:calc(100% - 2rem);
        grid-template-columns:minmax(0,1fr)!important;
        padding:.3rem 0;
    }
    html body .mbg-simple-nav{
        grid-column:1!important;
        display:grid!important;
        grid-template-columns:repeat(6,minmax(0,1fr));
        gap:0!important;
        overflow:visible!important;
        width:100%;
    }
    html body .mbg-simple-nav a{
        display:flex;
        align-items:center;
        justify-content:center;
        min-height:42px;
        padding:.45rem .25rem;
        text-align:center;
        white-space:normal!important;
    }
    html body .mbg-header-cta{display:none!important;}
}

@media(max-width:782px){
    /* A 200+ px sticky header hides too much content on phones and small tablets. */
    html body .mbg-shop-header,
    html body.admin-bar .mbg-shop-header{
        position:relative!important;
        top:auto!important;
    }
    html body .mbg-header-main{
        width:calc(100% - 2rem);
        grid-template-columns:minmax(0,1fr) auto!important;
        gap:.8rem 1rem;
        padding:.75rem 0;
    }
    html body .mbg-product-search{
        grid-column:1/-1;
        width:100%;
        min-width:0;
    }
    html body .mbg-product-search input{
        min-width:0;
    }
    html body .mbg-header-nav-inner{
        width:calc(100% - 2rem);
        padding:.3rem 0;
    }
    html body .mbg-simple-nav{
        display:grid!important;
        grid-template-columns:repeat(6,minmax(0,1fr));
        gap:0!important;
        overflow:visible!important;
        width:100%;
    }
    html body .mbg-simple-nav a{
        display:flex;
        align-items:center;
        justify-content:center;
        min-height:42px;
        padding:.45rem .25rem;
        text-align:center;
        white-space:normal!important;
    }
    html body .mbg-header-cta{display:none!important;}
    html body input:not([type="checkbox"]):not([type="radio"]),
    html body select,
    html body textarea{
        width:100%;
        max-width:100%;
        min-height:46px;
        font-size:16px!important;
    }
    html body textarea{min-height:140px;}
    html body button,
    html body input[type="submit"],
    html body .button,
    html body .wp-element-button,
    html body .mbg-page-actions a{
        min-height:44px;
    }
    html body .mbg-faq-list summary{
        min-height:48px;
    }
    html body.single-product div.product{
        width:100%;
        max-width:100%;
    }
    html body.single-product .woocommerce-product-gallery,
    html body.single-product .woocommerce-product-gallery__wrapper,
    html body.single-product .woocommerce-product-gallery__image,
    html body.single-product .woocommerce-product-gallery__image>a,
    html body.single-product .woocommerce-product-gallery__image img{
        width:100%!important;
        max-width:100%!important;
        margin-left:0!important;
        margin-right:0!important;
    }
    html body.single-product .zoomImg{
        max-width:none!important;
    }
    html body .woocommerce-breadcrumb{
        line-height:1.55;
    }
}

@media(max-width:600px){
    html body .mbg-header-service-inner{
        width:calc(100% - 1.5rem);
        justify-content:center;
        text-align:center;
    }
    html body .mbg-header-contact{display:none!important;}
    html body .mbg-header-main,
    html body .mbg-header-nav-inner{
        width:calc(100% - 1.5rem);
    }
    html body .mbg-simple-nav{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
    html body .mbg-header-main .mbg-logo{
        width:min(175px,48vw);
        max-height:58px;
        object-fit:contain;
    }
    html body .mbg-account-action{display:none!important;}
    html body .mbg-basket-action{
        min-height:44px;
        padding:.65rem .8rem;
    }
    html body .mbg-page-section,
    html body .mbg-page-split,
    html body .mbg-knowledge{
        padding-left:1rem!important;
        padding-right:1rem!important;
    }
    html body .mbg-page-hero-copy{
        padding-left:1rem!important;
        padding-right:1rem!important;
    }
    html body .mbg-page-cta,
    html body .mbg-empty-showcase,
    html body.tax-product_cat .term-description,
    html body.single-product .mbg-product-main-description .mbg-product-article{
        border-radius:8px!important;
    }
    html body .mbg-page-actions,
    html body .wp-block-buttons{
        width:100%;
    }
    html body .mbg-page-actions>a,
    html body .wp-block-buttons>.wp-block-button,
    html body .wp-block-buttons>.wp-block-button>a{
        width:100%;
        max-width:100%;
    }
    html body.single-product .related ul.products,
    html body.single-product .upsells ul.products{
        grid-template-columns:minmax(0,1fr)!important;
    }
    html body.single-product .related ul.products li.product,
    html body.single-product .upsells ul.products li.product{
        width:100%!important;
        max-width:100%!important;
    }
    html body .mbg-demo-specs dl>div{
        align-items:flex-start;
    }
    html body .mbg-demo-specs dt,
    html body .mbg-demo-specs dd{
        min-width:0;
    }
}

@media(max-width:420px){
    html body .mbg-simple-nav a{
        overflow-wrap:normal;
        word-break:normal;
        font-size:11px!important;
    }
    html body .mbg-product-search button{padding-left:.85rem;padding-right:.85rem;}
    html body .mbg-category-gallery,
    html body .woocommerce-products-header,
    html body .woocommerce-notices-wrapper,
    html body .woocommerce-result-count,
    html body .woocommerce-ordering{
        max-width:100%;
    }
    html body .mbg-step-list li{padding-left:3.5rem;}
}

@media(max-width:360px){
    html body .mbg-header-service{display:none!important;}
}

/* Accessible responsive navigation: desktop links become a burger menu. */
.mbg-menu-toggle{
    display:none;
    align-items:center;
    justify-content:center;
    gap:.65rem;
    min-width:104px;
    min-height:44px;
    margin:0;
    padding:.6rem .85rem;
    border:1px solid #cbd9e4;
    border-radius:5px;
    background:#fff;
    color:#12334c;
    font:inherit;
    cursor:pointer;
}
.mbg-menu-toggle-icon{
    display:grid;
    gap:4px;
    width:20px;
}
.mbg-menu-toggle-icon i{
    display:block;
    width:100%;
    height:2px;
    border-radius:2px;
    background:currentColor;
    transition:transform .2s ease,opacity .2s ease;
}
.mbg-shop-header.is-menu-open .mbg-menu-toggle-icon i:nth-child(1){transform:translateY(6px) rotate(45deg);}
.mbg-shop-header.is-menu-open .mbg-menu-toggle-icon i:nth-child(2){opacity:0;}
.mbg-shop-header.is-menu-open .mbg-menu-toggle-icon i:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

@media(max-width:900px){
    html body .mbg-header-nav-inner{
        display:flex!important;
        flex-wrap:wrap;
        justify-content:flex-end;
        min-height:56px;
    }
    html body .mbg-shop-header.is-menu-ready .mbg-menu-toggle{
        display:inline-flex;
    }
    html body .mbg-shop-header.is-menu-ready .mbg-simple-nav{
        display:none!important;
    }
    html body .mbg-shop-header.is-menu-ready.is-menu-open .mbg-simple-nav{
        display:grid!important;
        grid-template-columns:minmax(0,1fr)!important;
        flex:0 0 100%;
        width:100%;
        margin-top:.3rem;
        border-top:1px solid #dce5ec;
    }
    html body .mbg-shop-header.is-menu-open .mbg-simple-nav a{
        justify-content:flex-start;
        min-height:46px;
        padding:.7rem .25rem;
        border-bottom:1px solid #e3eaf0;
        text-align:left;
        font-size:14px!important;
    }
    html body .mbg-shop-header.is-menu-open .mbg-simple-nav a:last-child{
        border-bottom:0;
    }
}

@media(prefers-reduced-motion:reduce){
    .mbg-menu-toggle-icon i{transition:none;}
}

/* Editorial rule: readable content is consistently left-aligned. */
html body .l-main h1,
html body .l-main h2,
html body .l-main h3,
html body .l-main h4,
html body .l-main h5,
html body .l-main h6,
html body .l-main p,
html body .l-main ul,
html body .l-main ol,
html body .l-main li,
html body .l-main dl,
html body .l-main dt,
html body .l-main dd,
html body .l-main blockquote,
html body .l-main figcaption,
html body .l-main summary,
html body .l-main label,
html body .l-main th,
html body .l-main td{
    text-align:left!important;
}

/* Empty cart: concise guidance with two clear next steps. */
.mbg-cart-empty-message{
    max-width:760px;
    margin:0 auto 2rem;
    padding:clamp(1.5rem,4vw,2.5rem);
    border:1px solid #d8e3ec;
    border-radius:12px;
    background:#fff;
    text-align:center;
    box-shadow:0 16px 38px rgba(14,48,75,.08);
}
.mbg-cart-empty-message .wc-block-cart__empty-cart__title{
    margin:0 0 .8rem!important;
}
.mbg-cart-empty-message>p{
    max-width:620px;
    margin:0 auto 1.4rem;
    color:#536575;
    line-height:1.7;
}
.mbg-cart-empty-message .mbg-page-actions{
    justify-content:center;
}

/* FAQ answers always use the same available width as their questions. */
html body .mbg-faq-list details>p{
    width:100%;
    max-width:none;
    box-sizing:border-box;
}

/* Catalogue only: compact, balanced cards without altering product detail pages. */
body.woocommerce-shop ul.products,body.tax-product_cat ul.products,body.tax-product_tag ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:28px!important;margin:24px 0 48px!important}
body.woocommerce-shop ul.products::before,body.woocommerce-shop ul.products::after,body.tax-product_cat ul.products::before,body.tax-product_cat ul.products::after{display:none!important}
body.woocommerce ul.products li.product{position:relative;display:flex!important;flex-direction:column;width:auto!important;margin:0!important;padding:0 0 24px!important;float:none!important;border:1px solid #d6e4ee!important;border-radius:16px!important;overflow:hidden;background:#fff!important;box-shadow:0 7px 22px #0c304d08!important;transition:transform .2s ease,box-shadow .2s ease}
body.woocommerce ul.products li.product:hover{transform:translateY(-5px);box-shadow:0 16px 32px #0c304d16!important}
body.woocommerce ul.products li.product>a.woocommerce-LoopProduct-link{display:block;flex:1;color:#102f47!important}
body.woocommerce ul.products li.product a img{width:100%!important;height:230px!important;object-fit:cover!important;margin:0 0 24px!important;border-radius:0!important;display:block}
body.woocommerce ul.products li.product .mbg-product-badge{position:absolute;z-index:2;top:16px;left:16px;padding:7px 12px;border-radius:30px;background:#fff;color:#075aa8;font-size:11px;line-height:1.4;box-shadow:0 3px 12px #0c304d12;font-weight:400}
body.woocommerce ul.products li.product .mbg-product-category{margin:0 24px 10px;color:#075aa8!important;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:400;line-height:1.5}
body.woocommerce ul.products li.product .woocommerce-loop-product__title{margin:0 24px 12px!important;padding:0!important;color:#102f47!important;font-size:20px!important;line-height:1.45!important;font-family:Montserrat,sans-serif!important;font-weight:400!important}
body.woocommerce ul.products li.product .mbg-product-description{margin:0 24px 24px;color:#4a6274!important;font-size:14px;line-height:1.75;font-weight:400}
body.woocommerce ul.products li.product .price{margin:0 24px 16px!important}
body.woocommerce ul.products li.product>a.button{display:flex!important;align-items:center;justify-content:center;gap:12px;margin:0 24px!important;padding:13px 18px!important;min-height:48px;background:#075aa8!important;color:#fff!important;border:1px solid #075aa8!important;border-radius:8px!important;box-shadow:none!important;font-family:Montserrat,sans-serif!important;font-size:14px!important;font-weight:400!important}
body.woocommerce ul.products li.product>a.button .w-btn-label{color:#fff!important;font-weight:400!important}
body.woocommerce ul.products li.product>a.button::after{content:'→';position:static!important;background:none!important;opacity:1!important;transform:none!important;color:#fff!important}
body.woocommerce ul.products li.product>a.button:hover{background:#0c304d!important;border-color:#0c304d!important}
body.woocommerce ul.products li.product a:focus-visible{outline:3px solid #5caee8;outline-offset:-3px}
body.woocommerce .woocommerce-result-count{color:#4a6274!important;font-size:14px!important}
body.woocommerce .woocommerce-ordering select{background:#fff!important;border:1px solid #d6e4ee!important;border-radius:8px!important;color:#102f47!important;font-weight:400!important}
@media(max-width:1000px){body.woocommerce-shop ul.products,body.tax-product_cat ul.products,body.tax-product_tag ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){body.woocommerce-shop ul.products,body.tax-product_cat ul.products,body.tax-product_tag ul.products{grid-template-columns:1fr!important;gap:20px!important}body.woocommerce ul.products li.product a img{height:210px!important}}
@media(prefers-reduced-motion:reduce){body.woocommerce ul.products li.product{transition:none}body.woocommerce ul.products li.product:hover{transform:none}}

/* Alternative: horizontal catalogue panels with a full-height image strip. */
body.woocommerce ul.products li.product>a.woocommerce-LoopProduct-link{position:static!important}
body.woocommerce-shop ul.products,body.tax-product_cat ul.products,body.tax-product_tag ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important}
body.woocommerce ul.products li.product{min-height:350px;padding:28px 26px 26px calc(36% + 26px)!important;border-radius:5px!important;border-bottom:3px solid #075aa8!important;box-shadow:none!important;background:linear-gradient(120deg,#fff 65%,#f2f7fb)!important}
body.woocommerce ul.products li.product a img{position:absolute;left:0;top:0;width:36%!important;height:100%!important;margin:0!important;object-fit:cover!important;filter:saturate(.75)}
body.woocommerce ul.products li.product .mbg-product-badge{left:12px;top:12px;max-width:calc(36% - 24px);border-radius:3px;padding:6px 8px;background:#0c304d;color:#fff;font-size:10px;box-shadow:none}
body.woocommerce ul.products li.product .mbg-product-category{margin:0 0 14px!important;font-size:10px;letter-spacing:.09em}
body.woocommerce ul.products li.product .woocommerce-loop-product__title{margin:0 0 16px!important;font-size:21px!important}
body.woocommerce ul.products li.product .mbg-product-description{margin:0 0 22px!important;font-size:13px;line-height:1.7}
body.woocommerce ul.products li.product .price{margin:0 0 16px!important}
body.woocommerce ul.products li.product>a.button{margin:0!important;padding:10px 0!important;justify-content:space-between;background:transparent!important;color:#075aa8!important;border:0!important;border-top:1px solid #c7dce9!important;border-radius:0!important;font-size:13px!important;min-height:42px}
body.woocommerce ul.products li.product>a.button .w-btn-label,body.woocommerce ul.products li.product>a.button::after{color:#075aa8!important}
body.woocommerce ul.products li.product>a.button:hover{background:transparent!important;color:#0c304d!important}
body.woocommerce ul.products li.product:hover{transform:translateY(-3px);box-shadow:0 10px 24px #0c304d12!important}
@media(max-width:900px){body.woocommerce-shop ul.products,body.tax-product_cat ul.products,body.tax-product_tag ul.products{grid-template-columns:1fr!important}body.woocommerce ul.products li.product{min-height:300px}}
@media(max-width:480px){body.woocommerce ul.products li.product{padding:22px 18px 18px calc(30% + 18px)!important}body.woocommerce ul.products li.product a img{width:30%!important}body.woocommerce ul.products li.product .mbg-product-badge{left:6px;top:8px;max-width:calc(30% - 12px);font-size:8px;padding:5px}body.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:17px!important}}
@media(prefers-reduced-motion:reduce){body.woocommerce ul.products li.product:hover{transform:none}}

/* Inset photo gallery with quiet white information panels. */
body.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:30px!important}
body.woocommerce ul.products li.product{padding:14px 14px 24px!important;min-height:0!important;border:0!important;border-radius:22px!important;background:#fff!important;box-shadow:0 8px 30px #12344b0b!important}
body.woocommerce ul.products li.product a img{position:static!important;width:100%!important;height:220px!important;margin:0 0 22px!important;border-radius:13px!important;filter:none}
body.woocommerce ul.products li.product .mbg-product-badge{top:28px;left:28px;max-width:calc(100% - 56px);padding:6px 10px;background:#fff;color:#075aa8!important;border-radius:5px;font-size:10px}
body.woocommerce ul.products li.product .mbg-product-category{display:table;margin:0 10px 14px!important;padding:5px 10px;background:#eaf3fa;border-radius:4px;font-size:11px;line-height:1.5;letter-spacing:0;text-transform:none}
body.woocommerce ul.products li.product .woocommerce-loop-product__title{margin:0 10px 12px!important;font-size:20px!important}
body.woocommerce ul.products li.product .mbg-product-description{margin:0 10px 24px!important;font-size:13px;line-height:1.8}
body.woocommerce ul.products li.product .price{margin:0 10px 16px!important}
body.woocommerce ul.products li.product>a.button{margin:0 10px!important;padding:13px 18px!important;min-height:46px;background:#075aa8!important;border:0!important;border-radius:8px!important;color:#fff!important}
body.woocommerce ul.products li.product>a.button .w-btn-label,body.woocommerce ul.products li.product>a.button::after{color:#fff!important}
body.woocommerce ul.products li.product>a.button::after{content:'↗';font-size:19px}
body.woocommerce ul.products li.product>a.button:hover{background:#0c304d!important}
@media(max-width:1000px){body.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px!important}}
@media(max-width:600px){body.woocommerce ul.products{grid-template-columns:1fr!important}}

body .mbg-category-gallery{margin:0 0 48px;padding:0;font-family:Montserrat,sans-serif;color:#12344b}
body .mbg-category-gallery header{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:26px}
body .mbg-category-gallery header p{font-size:11px;letter-spacing:.12em;color:#075aa8;margin:0 0 12px;font-weight:400}
body .mbg-category-gallery h2{font-size:clamp(23px,2.4vw,34px)!important;line-height:1.3;margin:0;font-weight:400!important;color:#12344b!important}
body .mbg-category-gallery .mbg-all-products{display:flex;gap:24px;align-items:center;white-space:nowrap;padding:11px 18px;border:1px solid #075aa8;border-radius:7px;color:#075aa8!important;background:white;font-size:13px;font-weight:400}
body .mbg-category-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
body .mbg-category-tile{display:block;overflow:hidden;border-radius:12px;background:#0c304d;border:1px solid #d7e4ee;transition:transform .2s,box-shadow .2s;text-decoration:none}
body .mbg-category-photo{display:block;height:190px;background-size:cover;background-position:center;background-color:#e9f0f6}
body .mbg-category-tile[href*='metallideen'] .mbg-category-photo{background-image:url('/wp-content/uploads/mbg/bauteil-600x400.webp')}
body .mbg-category-tile[href*='haus-hof-garten'] .mbg-category-photo{background-image:url('/wp-content/uploads/mbg/gelaender-600x400.webp')}
body .mbg-category-tile[href*='grillen-feuer'] .mbg-category-photo{background-image:linear-gradient(145deg,#0c304d,#075aa8 65%,#4d96cf)}
body .mbg-category-tile[href*='material-reststuecke'] .mbg-category-photo{background-image:url('/wp-content/uploads/mbg/fertigung.webp')}
body .mbg-category-caption{position:relative;display:block;min-height:124px;padding:22px 38px 22px 20px;background:linear-gradient(120deg,#0c304d,#075aa8)}
body .mbg-category-gallery .mbg-category-name{display:block;color:#fff!important;font-size:16px;line-height:1.4;font-weight:400}
body .mbg-category-gallery small{display:block;margin-top:8px;color:#dbe9f5!important;font-size:11px;line-height:1.6;font-weight:400}
body .mbg-category-gallery .mbg-category-arrow{position:absolute;right:16px;bottom:20px;color:#fff!important;font-size:20px}
body .mbg-category-tile:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0c304d20}
body .mbg-category-tile.is-active{outline:3px solid #2582cf;outline-offset:3px}
body .mbg-shop-special-request{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center;margin-top:28px;padding:clamp(24px,3vw,38px);border-radius:12px;background:linear-gradient(120deg,#0c304d,#075aa8);box-shadow:0 18px 38px rgba(12,48,77,.16);color:#fff}
body .mbg-shop-special-request span:first-child{display:block;margin-bottom:8px;color:#b9dcfa;font-size:11px;letter-spacing:.12em}
body .mbg-shop-special-request h3{margin:0 0 10px;color:#fff!important;font-size:clamp(20px,2vw,26px)!important}
body .mbg-shop-special-request p{max-width:820px;margin:0;color:rgba(255,255,255,.82)!important;line-height:1.7}
body .mbg-shop-special-request>a{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 18px;border:1px solid #fff;border-radius:6px;background:#fff;color:#075aa8!important;text-decoration:none;white-space:nowrap;transition:transform .2s ease,box-shadow .2s ease}
body .mbg-shop-special-request>a span{margin:0;color:inherit;font-size:16px;letter-spacing:0}
body .mbg-shop-special-request>a:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(0,0,0,.16)}
body .mbg-category-gallery a:focus-visible{outline:3px solid #2582cf;outline-offset:4px}
@media(max-width:1000px){body .mbg-category-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){body .mbg-shop-special-request{grid-template-columns:1fr;gap:20px}body .mbg-shop-special-request>a{justify-self:start;white-space:normal}}
@media(max-width:550px){body .mbg-category-gallery header{display:block}body .mbg-category-gallery .mbg-all-products{display:inline-flex;margin-top:20px}body .mbg-category-tiles{grid-template-columns:1fr}body .mbg-category-photo{height:190px}body .mbg-category-caption{min-height:100px}}
@media(prefers-reduced-motion:reduce){body .mbg-category-tile{transition:none}body .mbg-category-tile:hover{transform:none}}

body .mbg-demo-specs{margin:8px 0 24px;color:#18384f;font-family:Montserrat,sans-serif;font-weight:400}
body ul.products .mbg-demo-specs{margin:0 10px 24px}
body .mbg-demo-specs .mbg-demo-label{margin:0 0 12px!important;font-size:15px;line-height:1.5;color:#075aa8!important;font-weight:400}
body .mbg-demo-specs dl{margin:0 0 18px;padding:15px 18px;background:#f1f6fa;border-radius:7px}
body .mbg-demo-specs dl>div{display:flex;justify-content:space-between;gap:18px;padding:6px 0;font-size:15px;line-height:1.55}
body .mbg-demo-specs dt,body .mbg-demo-specs dd{margin:0!important;font-weight:400!important}
body .mbg-demo-specs dt{color:#546b7b}
body .mbg-demo-specs dd{text-align:right;color:#18384f}
body .mbg-demo-specs .mbg-demo-price{margin:0 0 10px!important;font-size:25px!important;line-height:1.5;color:#075aa8!important;font-weight:400!important}
body .mbg-demo-price>span{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#546b7b}
body .mbg-demo-price small{font-size:12px;color:#546b7b}
body .mbg-demo-specs .mbg-demo-disclaimer{font-size:11px!important;line-height:1.6!important;color:#526675!important;margin:0!important;font-weight:400!important}

/* Related products: one consistent inner edge for every text element. */
body.single-product .related ul.products li.product{
    --mbg-related-card-padding:20px;
    position:relative;
    padding-bottom:var(--mbg-related-card-padding)!important;
}
body.single-product .related ul.products li.product .mbg-product-badge{
    position:absolute;
    z-index:2;
    top:14px;
    left:14px;
    margin:0!important;
    padding:6px 10px!important;
    border-radius:4px;
    background:rgba(255,255,255,.94);
    color:#075aa8!important;
    box-shadow:0 4px 14px rgba(12,48,77,.13);
}
body.single-product .related ul.products li.product a img{
    margin:0 0 18px!important;
}
body.single-product .related ul.products li.product .mbg-product-category,
body.single-product .related ul.products li.product .woocommerce-loop-product__title,
body.single-product .related ul.products li.product .mbg-product-description{
    margin-left:var(--mbg-related-card-padding)!important;
    margin-right:var(--mbg-related-card-padding)!important;
}
body.single-product .related ul.products li.product .mbg-product-category{
    margin-top:0!important;
    margin-bottom:10px!important;
}
body.single-product .related ul.products li.product .woocommerce-loop-product__title{
    margin-top:0!important;
    margin-bottom:10px!important;
}
body.single-product .related ul.products li.product .mbg-product-description{
    margin-top:0!important;
    margin-bottom:18px!important;
}
body.single-product .related ul.products li.product .mbg-demo-specs{
    margin:0 var(--mbg-related-card-padding) 22px!important;
}
body.single-product .related ul.products li.product>a.button{
    margin:0 var(--mbg-related-card-padding)!important;
}

@media (max-width:600px){
    body .mbg-demo-specs dl>div{align-items:flex-start;gap:12px;font-size:14px}
    body .mbg-demo-specs dd{max-width:55%}
}
