
/* ============================================================
 * THEME HEADER REPLACE (Block Themes / Classic)
 * ============================================================ */
body.mh-has-master-header header.wp-block-template-part,
body.mh-has-master-header .wp-site-blocks > header,
body.mh-has-master-header header.site-header,
body.mh-has-master-header .site-header {
    display: none !important;
}

/* ============================================================
 * ROOT HEADER
 * ============================================================ */

#master-header,
.mh-header {
    width: 100%;
    position: relative;
    z-index: 999;
    box-sizing: border-box;
    font-family: inherit;
}

/* Prevent header-related overlays (drawers/modals) from creating horizontal scroll.
   NOTE: On some Android browsers/WebViews, applying overflow-x only on <body>
   is not sufficient and a "ghost" horizontal viewport can remain visible.
   Therefore we also clip the <html> element whenever the Master Header is active. */
html { overflow-x: hidden; }
body.mh-has-master-header { overflow-x: hidden; }
/* Prefer overflow-x:clip where supported (avoids scrollbars + is stricter). */
@supports (overflow-x: clip) {
    html { overflow-x: clip; }
    body.mh-has-master-header { overflow-x: clip; }
}

/* Additional hard guard: ensure the header never exceeds the visual viewport. */
#master-header,
.mh-header {
    max-width: 100vw;
}

/* Glass Look (optional) */
.mh-header {
    backdrop-filter: blur(12px);
    background: var(--mh-header-bg, rgba(255, 255, 255, 0.75));
    color: var(--mh-header-text, inherit);
    border-bottom: 1px solid rgba(0,0,0,.06);
}

/* ============================================================
 * INNER LAYOUT
 * ============================================================ */

.mh-inner {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 10px 20px;
    box-sizing: border-box;
    height: 100%;
    min-width: 0; /* allow flex children to shrink instead of forcing overflow */
}

/* Optional: Multi-row header (elements may wrap into multiple lines) */
#master-header.mh-multirow {
    height: auto !important;
}

#master-header.mh-multirow .mh-inner {
    height: auto !important;
    flex-wrap: wrap;
    row-gap: 10px;
}

#master-header.mh-multirow .mh-column {
    flex-wrap: wrap;
}

/* Multi-row with explicit line assignment (per element) */
#master-header.mh-multirow .mh-column.mh-has-lines {
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    flex-wrap: nowrap;
    gap: 8px; /* vertical gap between lines */
}

#master-header.mh-multirow .mh-column.mh-has-lines .mh-line {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    flex-wrap: wrap; /* safety on small screens */
}


/* ============================================================
 * MULTI-ROW: Per-Line Height (Zeilenhöhe)
 * - Values are provided as CSS variables via inline style:
 *   --mh-row1-height-desktop: 48px; etc.
 * - 0 / unset = Auto
 * ============================================================ */

#master-header.mh-device-desktop {
    --mh-row1-height: var(--mh-row1-height-desktop, auto);
    --mh-row2-height: var(--mh-row2-height-desktop, auto);
    --mh-row3-height: var(--mh-row3-height-desktop, auto);
    --mh-row4-height: var(--mh-row4-height-desktop, auto);
}

#master-header.mh-device-tablet {
    --mh-row1-height: var(--mh-row1-height-tablet, auto);
    --mh-row2-height: var(--mh-row2-height-tablet, auto);
    --mh-row3-height: var(--mh-row3-height-tablet, auto);
    --mh-row4-height: var(--mh-row4-height-tablet, auto);
}

#master-header.mh-device-mobile {
    --mh-row1-height: var(--mh-row1-height-mobile, auto);
    --mh-row2-height: var(--mh-row2-height-mobile, auto);
    --mh-row3-height: var(--mh-row3-height-mobile, auto);
    --mh-row4-height: var(--mh-row4-height-mobile, auto);
}

#master-header.mh-multirow .mh-column.mh-has-lines .mh-line-1 { min-height: var(--mh-row1-height, auto); }
#master-header.mh-multirow .mh-column.mh-has-lines .mh-line-2 { min-height: var(--mh-row2-height, auto); }
#master-header.mh-multirow .mh-column.mh-has-lines .mh-line-3 { min-height: var(--mh-row3-height, auto); }
#master-header.mh-multirow .mh-column.mh-has-lines .mh-line-4 { min-height: var(--mh-row4-height, auto); }


/* Preserve the classic left/center/right alignment per column */
#master-header.mh-multirow .mh-column:first-child .mh-line {
    justify-content: flex-start;
}
#master-header.mh-multirow .mh-column:nth-child(2) .mh-line {
    justify-content: center;
}
#master-header.mh-multirow .mh-column:last-child .mh-line {
    justify-content: flex-end;
}

/* ============================================================
 * RESPONSIVE SAFETY (prevent horizontal overflow)
 * ============================================================ */

.mh-column {
    min-width: 0; /* long items (search/button/text) can shrink */
}

.mh-column > * {
    min-width: 0;
    max-width: 100%;
}

/* On small screens allow wrapping (content adapts instead of overflowing) */
@media (max-width: 768px) {
    #master-header .mh-inner {
        flex-wrap: wrap;
        row-gap: 10px;
    }

    #master-header .mh-column {
        flex-wrap: wrap;
    }

    #master-header .mh-search {
        max-width: 100%;
    }

    #master-header .mh-search .mh-search-input {
        min-width: 0;
    }
}

/* Full width (per device layout) */
.mh-header.mh-fullwidth .mh-inner,
#master-header.mh-fullwidth .mh-inner {
    max-width: none;
}

/* ============================================================
 * COLUMNS
 * ============================================================ */

.mh-column {
    display: flex;
    align-items: center;
    gap: 12px;
    box-sizing: border-box;
}

.mh-column:first-child {
    justify-content: flex-start;
}

.mh-column:nth-child(2) {
    justify-content: center;
}

.mh-column:last-child {
    justify-content: flex-end;
}

/* ============================================================
 * LOGO
 * ============================================================ */

.mh-logo img {
    max-height: var(--mh-logo-max-height, 48px);
    width: auto;
    height: auto;
    display: block;
}

/* ============================================================
 * LOGO SWAP (SHRINK)
 * ============================================================ */

.mh-logo {
    position: relative;
}


.mh-logo-link {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    color: var(--mh-social-color, inherit);
}
.mh-logo img {
    display: block;
}

/* Shrink-Logo standardmäßig aus */
.mh-logo-shrink {
    display: none;
}

/* Beim Shrink: Swap */
#master-header.mh-shrink .mh-logo-main {
    display: none;
}

#master-header.mh-shrink .mh-logo-shrink {
    display: block;
}

/* Optional: Disable shrink logo swap (keep main logo visible in shrink state) */
.mh-logo.mh-no-shrink-logo .mh-logo-shrink {
    display: none !important;
}
#master-header.mh-shrink .mh-logo.mh-no-shrink-logo .mh-logo-main {
    display: block !important;
}
#master-header.mh-shrink .mh-logo.mh-no-shrink-logo .mh-logo-shrink {
    display: none !important;
}


/* ============================================================
 * MENU
 * ============================================================ */

.mh-menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 18px;
}

.mh-menu li {
    position: relative;
}

.mh-menu a {
    text-decoration: none;
    font-weight: 500;
    color: inherit;
    padding: 6px 0;
}

/* ============================================================
 * SEARCH
 * ============================================================ */

.mh-search form {
    display: flex;
    width: 100%;
}

/* Search width control (from editor: --mh-search-width) */
.mh-search {
    width: var(--mh-search-width, auto);
    max-width: 100%;
}

.mh-search .mh-search-form {
    width: 100%;
}

.mh-search .mh-search-input {
    width: 100%;
    min-width: 0;
}

.mh-search input[type="search"] {
    padding: 6px 10px;
    border-radius: 6px;
    border: 1px solid #d1d5db;
}

/* ============================================================
 * BUTTONS (BASE)
 * ============================================================ */

.mh-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    border-radius: 6px;
    cursor: pointer;
    transition:
        background .15s ease,
        color .15s ease,
        transform .15s ease,
        box-shadow .15s ease;
}

.mh-button:hover {
    transform: translateY(-1px);
}

/* ============================================================
 * BUTTON PRESETS
 * ============================================================ */

.mh-primary {
    background: var(--mh-primary-bg, #2563eb);
    color: var(--mh-primary-color, #ffffff);
}

.mh-primary:hover {
    background: var(--mh-primary-bg-hover, #1e40af);
}

.mh-secondary {
    background: var(--mh-secondary-bg, #e5e7eb);
    color: var(--mh-secondary-color, #111827);
}

.mh-secondary:hover {
    background: var(--mh-secondary-bg-hover, #d1d5db);
}

.mh-ghost {
    background: transparent;
    color: var(--mh-ghost-color, #2563eb);
}

.mh-ghost:hover {
    background: rgba(37,99,235,.08);
}

/* ============================================================
 * WOO CART
 * ============================================================ */

.mh-woo-cart a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    font-weight: 500;
}

/* Drawer mode uses a <button> instead of <a> */
.mh-woo-cart .mh-cart-button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: transparent;
    border: none;
    padding: 0;
    font: inherit;
    color: inherit;
    cursor: pointer;
    position: relative;
    z-index: 1;
}

.mh-cart-count {
    background: #ef4444;
    color: #fff;
    border-radius: 999px;
    font-size: 11px;
    padding: 2px 6px;
}

/* Wishlist (heart icon) */
.mh-woo-wishlist .mh-wishlist-button,
.mh-woo-wishlist .mh-wishlist-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    padding: 0;
    font: inherit;
    color: inherit;
    cursor: pointer;
    text-decoration: none;
    position: relative;
}

.mh-wishlist-svg {
    width: 22px;
    height: 22px;
    fill: currentColor;
    display: block;
}

.mh-wishlist-count {
    position: absolute;
    top: -8px;
    right: -10px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: var(--mh-primary-bg, #2563eb);
    color: var(--mh-primary-color, #ffffff);
    font-size: 11px;
    line-height: 18px;
    text-align: center;
}


/* ============================================================
 * DEVICE STYLES
 * ============================================================ */

.mh-device-tablet .mh-inner {
    padding: 8px 16px;
}

.mh-device-mobile .mh-inner {
    padding: 6px 12px;
}

.mh-device-mobile .mh-menu {
    display: none;
}

/* Offcanvas trigger should stay visible in mobile */
.mh-device-mobile .mh-menu.mh-menu-offcanvas {
    display: inline-flex;
}

/* Default: hide offcanvas trigger on large screens (JS/CSS responsive will show it) */
.mh-menu.mh-menu-offcanvas { display: none; }
.mh-menu.mh-menu-inline { display: block; }

/* Extra robustness: some themes apply generic nav/menu rules that can accidentally
   override visibility on desktop. */
#master-header .mh-menu.mh-menu-offcanvas { display: none !important; }
@media (min-width: 1025px) {
    #master-header .mh-menu.mh-menu-inline { display: block !important; }
}

/* Viewport-based fallback (works even if server-side mobile detection is false)
   NOTE: We only force hamburger on real mobile widths. Tablet/Desktop are handled by JS auto-collapse.
*/
@media (max-width: 768px) {
    #master-header .mh-menu.mh-menu-inline { display: none !important; }
    #master-header .mh-menu.mh-menu-offcanvas { display: inline-flex !important; }
}

/* ============================================================
 * AUTO COLLAPSE (Inline -> Hamburger when it would overflow)
 * - Fixes 3-column headers where the center menu can visually overlap the right column.
 * - JS toggles: #master-header.mh-auto-collapse-enabled + .mh-auto-collapsed
 * ============================================================ */
#master-header.mh-auto-collapse-enabled .mh-menu.mh-menu-offcanvas {
    display: none !important;
}
#master-header.mh-auto-collapse-enabled .mh-menu.mh-menu-inline {
    display: block !important;
}

/* Collapsed state: show hamburger, keep inline menu available for measurement (off-screen) */
#master-header.mh-auto-collapse-enabled.mh-auto-collapsed .mh-menu.mh-menu-offcanvas {
    display: inline-flex !important;
}
#master-header.mh-auto-collapse-enabled.mh-auto-collapsed .mh-menu.mh-menu-inline {
    position: absolute !important;
    left: -9999px !important;
    top: -9999px !important;
    width: auto !important;
    height: auto !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* Mobile always: hamburger (even if JS is disabled) */
#master-header.mh-device-mobile .mh-menu.mh-menu-inline {
    display: none !important;
}
#master-header.mh-device-mobile .mh-menu.mh-menu-offcanvas {
    display: inline-flex !important;
}

.mh-hamburger {
    --mh-offcanvas-trigger-bg: #ffffff;
    --mh-offcanvas-trigger-color: #23313a;
    --mh-offcanvas-trigger-border: rgba(35,49,58,.14);
    appearance: none;
    border: 1px solid var(--mh-offcanvas-trigger-border);
    background: var(--mh-offcanvas-trigger-bg);
    color: var(--mh-offcanvas-trigger-color);
    border-radius: 14px;
    width: 48px;
    height: 48px;
    padding: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.10);
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.mh-hamburger:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.14);
}

.mh-hamburger.mh-hamburger-transparent {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}
.mh-hamburger.mh-hamburger-transparent:hover {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}
.mh-hamburger:focus-visible {
    outline: 2px solid color-mix(in srgb, var(--mh-offcanvas-trigger-color) 18%, white);
    outline-offset: 2px;
}
.mh-hamburger-box {
    --mh-hamburger-icon-size-desktop: 20px;
    --mh-hamburger-icon-size-tablet: var(--mh-hamburger-icon-size-desktop, 20px);
    --mh-hamburger-icon-size-mobile: var(--mh-hamburger-icon-size-tablet, var(--mh-hamburger-icon-size-desktop, 20px));
    width: var(--mh-hamburger-icon-size-desktop, 20px);
    height: calc(var(--mh-hamburger-icon-size-desktop, 20px) * 0.8);
    display: inline-flex;
    flex-direction: column;
    justify-content: space-between;
}
@media (max-width: 1024px) {
    .mh-hamburger-box {
        width: var(--mh-hamburger-icon-size-tablet, var(--mh-hamburger-icon-size-desktop, 20px));
        height: calc(var(--mh-hamburger-icon-size-tablet, var(--mh-hamburger-icon-size-desktop, 20px)) * 0.8);
    }
}
@media (max-width: 767px) {
    .mh-hamburger-box {
        width: var(--mh-hamburger-icon-size-mobile, var(--mh-hamburger-icon-size-tablet, var(--mh-hamburger-icon-size-desktop, 20px)));
        height: calc(var(--mh-hamburger-icon-size-mobile, var(--mh-hamburger-icon-size-tablet, var(--mh-hamburger-icon-size-desktop, 20px))) * 0.8);
    }
}
.mh-hamburger-box span {
    display: block;
    width: 100%;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
}

/* ============================================================
 * DRAWER / OFFCANVAS (Menu + MiniCart)
 * ============================================================ */

.mh-drawer-overlay {
    position: fixed;
    inset: 0; /* cover full viewport (header stays above via z-index) */
    background: rgba(0,0,0,.45);
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s ease;
    z-index: 9998;
}

.mh-drawer-overlay.is-open {
    opacity: 1;
    pointer-events: auto;
}

html.mh-drawer-open-html {
    overflow: hidden;
    overscroll-behavior: contain;
}

body.mh-drawer-open-body {
    overscroll-behavior: contain;
}

/* Keep the header visible/clickable while a drawer is open.
   Mobile browsers (iOS/Android) can otherwise paint the overlay above the header
   depending on stacking contexts. */
body.mh-drawer-open-body #master-header,
body.mh-drawer-open-body .mh-header {
    z-index: 10000;
}

/* Mobile offcanvas menu must stay above any fixed widgets/plugins. */
.mh-drawer-overlay {
    z-index: 2147483638;
}

.mh-drawer {
    z-index: 2147483639;
}

.mh-drawer {
    position: fixed;
    top: var(--mh-drawer-top, 0px);
    right: 0;
    height: calc(100vh - var(--mh-drawer-top, 0px));
    height: calc(100dvh - var(--mh-drawer-top, 0px));
    width: 320px;
    max-width: 92vw;
    max-height: calc(100vh - var(--mh-drawer-top, 0px) - 48px);
    max-height: calc(100dvh - var(--mh-drawer-top, 0px) - 48px);
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    background: var(--mh-drawer-bg, #ffffff);
    color: var(--mh-drawer-text, #111827);
    box-shadow: 0 20px 60px rgba(0,0,0,.25);
    transform: translateX(105%);
    transition: transform .22s ease;
    z-index: 9999;
    display: flex;
    flex-direction: column;
}

.mh-drawer.mh-drawer-menu {
    --mh-offcanvas-panel-bg: #f4f1ec;
    --mh-offcanvas-panel-text: #23313a;
    --mh-offcanvas-header-bg: #e98c2f;
    --mh-offcanvas-header-text: #ffffff;
    --mh-offcanvas-item-bg: #ffffff;
    --mh-offcanvas-item-text: #23313a;
    --mh-offcanvas-item-border: rgba(35,49,58,.08);
    --mh-offcanvas-item-hover-bg: #f6f6f6;
    --mh-offcanvas-toggle-bg: #f2f2f2;
    --mh-offcanvas-toggle-color: #23313a;
    --mh-offcanvas-toggle-border: rgba(35,49,58,.10);
    --mh-offcanvas-submenu-bg: #ebe7e1;
    background: var(--mh-offcanvas-panel-bg);
    color: var(--mh-offcanvas-panel-text);
    border-radius: 24px 0 0 24px;
    border-left: 1px solid rgba(35,49,58,.08);
    overflow: hidden;
}

@media (max-width: 767px) {
    .mh-drawer.mh-drawer-menu {
        top: 0 !important;
        right: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
        height: 100vh !important;
        height: 100dvh !important;
        max-height: 100vh !important;
        max-height: 100dvh !important;
        border-radius: 0 !important;
        border-left: 0 !important;
    }
}

/* Cart & Wishlist drawer: keep identical sizing (Wishlist should match Cart) */
.mh-drawer.mh-drawer-cart,
.mh-drawer.mh-drawer-wishlist {
    height: calc(75vh - var(--mh-drawer-top, 0px));
    height: calc(75dvh - var(--mh-drawer-top, 0px));
    max-height: calc(75vh - var(--mh-drawer-top, 0px));
    max-height: calc(75dvh - var(--mh-drawer-top, 0px));
    min-height: 260px;
    overflow: hidden;
}
.mh-drawer.mh-drawer-cart .mh-drawer-content,
.mh-drawer.mh-drawer-wishlist .mh-drawer-content {
    overflow: auto;
}

/* Robustness: prevent theme styles on <aside> from making drawers visible in-page
   (e.g. position/transform overrides). */
#master-header .mh-drawer {
    position: fixed !important;
    top: var(--mh-drawer-top, 0px) !important;
    right: 0 !important;
    transform: translateX(105%) !important;
    visibility: hidden !important;
    pointer-events: none !important;
}
#master-header .mh-drawer.is-open {
    transform: translateX(0) !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

/* Enterprise desktop drawer sizing */
@media (min-width: 1025px) {
    .mh-drawer { width: 420px; }
}

.mh-drawer.is-open {
    transform: translateX(0);
}

.mh-drawer-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    border-bottom: 1px solid rgba(0,0,0,.08);
}

.mh-drawer.mh-drawer-menu .mh-drawer-header {
    background: var(--mh-offcanvas-header-bg);
    color: var(--mh-offcanvas-header-text);
    padding: 16px 16px 14px;
    border-bottom: 0;
}

.mh-drawer-title {
    font-size: 14px;
    letter-spacing: .02em;
}

.mh-drawer.mh-drawer-menu .mh-drawer-title {
    font-size: 20px;
    font-weight: 700;
    color: inherit;
}

.mh-drawer-close {
    background: transparent;
    border: none;
    font-size: 18px;
    cursor: pointer;
    padding: 6px 10px;
    border-radius: 10px;
}

.mh-drawer.mh-drawer-menu .mh-drawer-close {
    width: 40px;
    height: 40px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: inherit;
    background: rgba(255,255,255,.18);
}

.mh-drawer-content {
    padding: 12px 16px;
    overflow: auto;
    flex: 1 1 auto;
}

.mh-drawer.mh-drawer-menu .mh-drawer-content {
    padding: 12px 12px 16px;
}

.mh-drawer-footer {
    padding: 12px 16px;
    border-top: 1px solid rgba(0,0,0,.08);
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(10px);
}

.mh-mini-cart-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 12px;
}

.mh-mini-cart-actions .mh-button {
    width: 100%;
}

/* Sync Cart + Wishlist with Hamburger/Offcanvas color settings */
.mh-drawer.mh-drawer-cart,
.mh-drawer.mh-drawer-wishlist {
    --mh-offcanvas-panel-bg: var(--mh-offcanvas-panel-bg, #f4f1ec);
    --mh-offcanvas-panel-text: var(--mh-offcanvas-panel-text, #23313a);
    --mh-offcanvas-header-bg: var(--mh-offcanvas-header-bg, #e98c2f);
    --mh-offcanvas-header-text: var(--mh-offcanvas-header-text, #ffffff);
    --mh-offcanvas-item-bg: var(--mh-offcanvas-item-bg, #ffffff);
    --mh-offcanvas-item-text: var(--mh-offcanvas-item-text, #23313a);
    --mh-offcanvas-item-border: var(--mh-offcanvas-item-border, rgba(35,49,58,.08));
    --mh-offcanvas-item-hover-bg: var(--mh-offcanvas-item-hover-bg, #f6f6f6);
    background: var(--mh-offcanvas-panel-bg);
    color: var(--mh-offcanvas-panel-text);
    border-radius: 24px 0 0 24px;
    border-left: 1px solid var(--mh-offcanvas-item-border);
}
.mh-drawer.mh-drawer-cart .mh-drawer-header,
.mh-drawer.mh-drawer-wishlist .mh-drawer-header {
    background: var(--mh-offcanvas-header-bg);
    color: var(--mh-offcanvas-header-text);
    border-bottom: 0;
}
.mh-drawer.mh-drawer-cart .mh-drawer-close,
.mh-drawer.mh-drawer-wishlist .mh-drawer-close {
    color: inherit;
    background: rgba(255,255,255,.18);
}
.mh-drawer.mh-drawer-cart .mh-drawer-footer,
.mh-drawer.mh-drawer-wishlist .mh-drawer-footer {
    background: color-mix(in srgb, var(--mh-offcanvas-panel-bg) 92%, #fff 8%);
    border-top-color: var(--mh-offcanvas-item-border);
}
.mh-drawer.mh-drawer-cart .mh-mini-cart-item,
.mh-drawer.mh-drawer-wishlist .mh-mini-cart-item,
.mh-drawer.mh-drawer-cart .mh-wishlist-select,
.mh-drawer.mh-drawer-wishlist .mh-wishlist-select {
    background: var(--mh-offcanvas-item-bg);
    color: var(--mh-offcanvas-item-text);
    border-color: var(--mh-offcanvas-item-border);
}
.mh-drawer.mh-drawer-cart .mh-mini-cart-remove:hover,
.mh-drawer.mh-drawer-wishlist .mh-mini-cart-remove:hover {
    background: var(--mh-offcanvas-item-hover-bg);
}
.mh-drawer.mh-drawer-cart .mh-mini-cart-totals,
.mh-drawer.mh-drawer-wishlist .mh-mini-cart-totals {
    border-top-color: var(--mh-offcanvas-item-border);
}
.mh-drawer.mh-drawer-cart .mh-button.mh-secondary,
.mh-drawer.mh-drawer-wishlist .mh-button.mh-secondary {
    background: var(--mh-offcanvas-item-bg);
    color: var(--mh-offcanvas-item-text);
    border-color: var(--mh-offcanvas-item-border);
}
.mh-woo-cart .mh-cart-link,
.mh-woo-cart .mh-cart-button,
.mh-woo-wishlist .mh-wishlist-button,
.mh-woo-wishlist .mh-wishlist-link {
    color: var(--mh-offcanvas-trigger-color, currentColor);
    background: transparent;
}
.mh-woo-cart .mh-cart-link:hover,
.mh-woo-cart .mh-cart-button:hover,
.mh-woo-wishlist .mh-wishlist-button:hover,
.mh-woo-wishlist .mh-wishlist-link:hover {
    background: color-mix(in srgb, var(--mh-offcanvas-trigger-bg, rgba(0,0,0,.06)) 82%, transparent 18%);
}

/* Wishlist drawer switcher */
.mh-wishlist-switcher {
    display: grid;
    gap: 6px;
    margin-bottom: 10px;
}
.mh-wishlist-switcher-label {
    font-size: 12px;
    opacity: .8;
}
.mh-wishlist-select {
    width: 100%;
    padding: 8px 10px;
    border-radius: 12px;
    border: 1px solid rgba(0,0,0,.12);
    background: rgba(255,255,255,.92);
}
html.mh-dark .mh-wishlist-select {
    background: rgba(255,255,255,.06);
    border-color: rgba(255,255,255,.14);
    color: var(--mh-social-color, inherit);
}


/* Mini wishlist (reuses mini-cart layout) */
.mh-mini-wishlist .mh-mini-cart-bottom {
    justify-content: flex-start;
}
.mh-mini-wishlist-qty {
    opacity: .75;
    font-size: 12px;
    white-space: nowrap;
}
.mh-mini-wishlist-item-actions {
    margin-left: auto;
}
.mh-mini-wishlist-item-actions .mh-button {
    padding: 6px 10px;
    font-size: 12px;
    white-space: nowrap;
}
.mh-mini-wishlist-empty {
    opacity: .75;
    font-size: 13px;
    margin: 6px 0;
}
/* Woo mini-cart typography (enterprise) */
.mh-mini-cart {
    font-size: 14px;
}
.mh-mini-cart .woocommerce-mini-cart {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 10px;
}
.mh-mini-cart .woocommerce-mini-cart-item {
    display: grid;
    grid-template-columns: 64px 1fr;
    gap: 10px;
    align-items: center;
    padding: 10px;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 14px;
    background: rgba(0,0,0,.02);
}
.mh-mini-cart .woocommerce-mini-cart-item a {
    text-decoration: none;
    color: var(--mh-social-color, inherit);
}
.mh-mini-cart .woocommerce-mini-cart-item img {
    width: 64px;
    height: 64px;
    object-fit: cover;
    border-radius: 12px;
}
.mh-mini-cart .quantity {
    opacity: .8;
    font-size: 12px;
}
.mh-mini-cart .remove {
    font-size: 18px;
    opacity: .8;
}

/* Custom mini cart markup (v1.07.3) */
.mh-mini-cart-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 10px;
}
.mh-mini-cart-item {
    display: grid;
    grid-template-columns: 64px 1fr;
    gap: 10px;
    align-items: start;
    padding: 10px;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 14px;
    background: rgba(0,0,0,.02);
}
.mh-mini-cart-thumb img {
    width: 64px;
    height: 64px;
    object-fit: cover;
    border-radius: 12px;
}
.mh-mini-cart-meta {
    display: grid;
    gap: 8px;
}
.mh-mini-cart-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}
.mh-mini-cart-name {
    text-decoration: none;
    color: inherit;
    font-weight: 600;
    line-height: 1.25;
}
.mh-mini-cart-remove {
    text-decoration: none;
    opacity: .75;
    font-size: 16px;
    border-radius: 10px;
    padding: 4px 8px;
}
.mh-mini-cart-remove:hover { background: rgba(0,0,0,.06); opacity: 1; }
.mh-mini-cart-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.mh-mini-cart-price { opacity: .9; font-size: 13px; }

.mh-mini-cart-qty {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid rgba(0,0,0,.10);
    border-radius: 12px;
    padding: 4px;
    background: rgba(255,255,255,.85);
}
.mh-qty-btn {
    border: none;
    background: transparent;
    cursor: pointer;
    width: 28px;
    height: 28px;
    border-radius: 10px;
    font-size: 16px;
    line-height: 1;
}
.mh-qty-btn:hover { background: rgba(0,0,0,.06); }
.mh-qty-input {
    width: 48px;
    padding: 0 6px;
    height: 28px;
    border: none;
    background: transparent;
    text-align: center;
    outline: none;
}
.mh-mini-cart-totals {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px dashed rgba(0,0,0,.14);
    display: grid;
    gap: 8px;
    font-size: 13px;
}
.mh-mini-trow {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}
.mh-mini-total {
    font-weight: 700;
    font-size: 14px;
    padding-top: 6px;
    border-top: 1px solid rgba(0,0,0,.08);
}
.mh-mini-nettotal {
    font-weight: 600;
}
.mh-mini-tax em {
    font-style: italic;
}
.mh-mini-gross {
    font-weight: 800;
    font-size: 15px;
}
.mh-mini-muted { opacity: .7; }

html.mh-dark .mh-mini-cart-item {
    background: rgba(255,255,255,.04);
    border-color: rgba(255,255,255,.14);
}
html.mh-dark .mh-mini-cart-qty {
    background: rgba(255,255,255,.06);
    border-color: rgba(255,255,255,.14);
}
html.mh-dark .mh-mini-cart-remove:hover { background: rgba(255,255,255,.06); }
html.mh-dark .mh-mini-cart-totals { border-top-color: rgba(255,255,255,.16); }

@media (min-width: 1025px) {
    .mh-drawer {
        width: 420px;
    }
    .mh-drawer-header {
        padding: 16px 18px;
    }
    .mh-drawer-content,
    .mh-drawer-footer {
        padding-left: 18px;
        padding-right: 18px;
    }
}

.mh-mini-cart .woocommerce-mini-cart__total {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px dashed rgba(0,0,0,.12);
    font-weight: 600;
}

.mh-offcanvas-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* Each item: link + (optional) toggle on the right, submenu below */
.mh-offcanvas-list > li.mh-menu-item {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 10px;
}

.mh-offcanvas-list > li.mh-menu-item > a {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    min-height: 36px;
    padding: 8px 12px;
    border-radius: 14px;
    text-decoration: none;
    color: var(--mh-offcanvas-item-text, var(--mh-social-color, inherit));
    background: var(--mh-offcanvas-item-bg);
    border: 1px solid var(--mh-offcanvas-item-border);
    font-weight: 600;
    letter-spacing: .2px;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.03);
    transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
}

.mh-offcanvas-list > li.mh-menu-item > a:hover {
    background: var(--mh-offcanvas-item-hover-bg);
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
}

.mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle {
    flex: 0 0 auto;
    width: 38px;
    min-width: 38px;
    min-height: 38px;
    border: 1px solid var(--mh-offcanvas-toggle-border);
    background: var(--mh-offcanvas-toggle-bg);
    color: var(--mh-offcanvas-toggle-color);
    border-radius: 14px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.03);
}

.mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle:hover {
    background: color-mix(in srgb, var(--mh-offcanvas-toggle-bg) 82%, #000 18%);
}

.mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle .mh-sub-icon {
    width: 18px;
    height: 18px;
}

.mh-offcanvas-list .sub-menu {
    list-style: none;
    margin: 0 0 0 6px;
    padding: 4px 0 0 14px;
    display: block;
    flex-basis: 100%;
    border-left: 2px solid rgba(35,49,58,.10);
    max-height: 0;
    overflow: hidden;
    transition: max-height .22s ease;
}

.mh-offcanvas-list .sub-menu a {
    display: block;
    text-decoration: none;
    color: var(--mh-offcanvas-item-text, var(--mh-social-color, inherit));
    background: var(--mh-offcanvas-submenu-bg);
    font-family: inherit;
    font-weight: 600;
    letter-spacing: .15px;
    font-size: 0.92em;
    padding: 8px 11px;
    border-radius: 12px;
    margin-top: 8px;
}

.mh-offcanvas-list .sub-menu a:hover {
    background: color-mix(in srgb, var(--mh-offcanvas-submenu-bg) 86%, #fff 14%);
}

html.mh-dark .mh-offcanvas-list .sub-menu a:hover {
    background: rgba(255,255,255,.06);
}

html.mh-dark .mh-drawer.mh-drawer-menu {
    --mh-offcanvas-panel-bg: #121826;
    --mh-offcanvas-panel-text: #f8fafc;
    --mh-offcanvas-item-bg: rgba(255,255,255,.04);
    --mh-offcanvas-item-text: #f8fafc;
    --mh-offcanvas-item-border: rgba(255,255,255,.08);
    --mh-offcanvas-item-hover-bg: rgba(255,255,255,.08);
    --mh-offcanvas-toggle-bg: rgba(255,255,255,.05);
    --mh-offcanvas-toggle-color: #f8fafc;
    --mh-offcanvas-toggle-border: rgba(255,255,255,.10);
    --mh-offcanvas-submenu-bg: rgba(255,255,255,.04);
}
html.mh-dark .mh-hamburger {
    --mh-offcanvas-trigger-bg: rgba(255,255,255,.08);
    --mh-offcanvas-trigger-color: #f8fafc;
    --mh-offcanvas-trigger-border: rgba(255,255,255,.12);
}

.mh-offcanvas-list li.mh-sub-open > .sub-menu {
    max-height: 1200px;
}

.mh-offcanvas-list li.mh-sub-open > .mh-sub-toggle {
    transform: rotate(180deg);
    border-color: color-mix(in srgb, var(--mh-offcanvas-toggle-border) 68%, #000 32%);
    box-shadow: 0 10px 20px rgba(15, 23, 42, 0.08);
}


.mh-cart-button {
    border: 1px solid rgba(0,0,0,.12);
    background: rgba(255,255,255,.85);
    border-radius: 12px;
    padding: 8px 10px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

/* legacy rule removed (actions are styled in drawer section above) */

/* ============================================================
 * PREVIEW MODE
 * ============================================================ */

body.mh-preview-mode > *:not(#master-header) {
    display: none !important;
}

/* ============================================================
 * THEME HEADER OVERRIDE (Frontend)
 * ============================================================ */

/* Block-Themes (z.B. Twenty Twenty-Five): Template-Part Header ausblenden */
body.mh-has-master-header .wp-site-blocks > header:not(#master-header),
body.mh-has-master-header header.wp-block-template-part:not(#master-header),
body.mh-force-override-theme-header > header:not(#master-header),
body.mh-force-override-theme-header > .site-header,
body.mh-force-override-theme-header > #masthead,
body.mh-force-override-theme-header > #site-header,
body.mh-force-override-theme-header .wp-site-blocks > header:not(#master-header),
body.mh-force-override-theme-header .wp-site-blocks > .wp-block-template-part:not(#master-header),
body.mh-force-override-theme-header .wp-site-blocks > .site-header,
body.mh-force-override-theme-header .wp-site-blocks > #masthead,
body.mh-force-override-theme-header .wp-site-blocks > #site-header {
    display: none !important;
}

/* ============================================================
 * MASTER HEADER – HEIGHT SYSTEM
 * ============================================================ */

#master-header {
    height: var(--mh-header-height, auto);
    min-height: 48px;
}

#master-header .mh-inner {
    height: 100%;
}

/* ============================================================
 * MASTER HEADER – STICKY SYSTEM
 * ============================================================ */

#master-header.mh-sticky {
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    background: var(--mh-header-bg, rgba(255,255,255,0.95));
    box-shadow: 0 1px 6px rgba(0,0,0,0.08);
}

/* Fallback für alte Browser */
@supports not (position: sticky) {
    #master-header.mh-sticky {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
    }
}

/* ============================================================
 * PREVENT CONTENT JUMP (Frontend)
 * ============================================================ */

body.has-mh-sticky {
    padding-top: var(--mh-header-height, 0px);
}

/* Kein Offset im Preview */
body.mh-preview-mode.has-mh-sticky {
    padding-top: 0;
}

/* ============================================================
 * ACCESSIBILITY
 * ============================================================ */

.mh-button:focus,
.mh-menu a:focus {
    outline: 2px solid #2563eb;
    outline-offset: 2px;
}

/* ============================================================
 * AI MODES (OPTIONAL)
 * ============================================================ */

.mh-ai-highlight {
    outline: 2px dashed #22c55e;
}

/* ============================================================
 * MOBILE CHECKOUT CTA (PHASE 2)
 * ============================================================ */

@media (max-width: 768px) {
    .mh-checkout {
        position: fixed;
        bottom: 12px;
        left: 12px;
        right: 12px;
        z-index: 9999;
        box-shadow: 0 8px 30px rgba(0,0,0,.25);
    }
}
/* ============================================================
 * SHRINK HEADER – DEVICE HEIGHTS
 * ============================================================ */

/* Desktop */
#master-header.mh-shrink {
    --mh-header-height: 64px;
}

/* Tablet */
.mh-device-tablet #master-header.mh-shrink {
    --mh-header-height: 56px;
}

/* Mobile */
.mh-device-mobile #master-header.mh-shrink {
    --mh-header-height: 48px;
}

/* Inner padding shrink */
#master-header.mh-shrink .mh-inner {
    padding-top: 6px;
    padding-bottom: 6px;
}

/* Logo shrink */
#master-header.mh-shrink .mh-logo img {
    transform: scale(var(--mh-logo-scale, 0.75));
    transform-origin: left center;
    transition: transform 0.25s ease;
}

/* Safety: if shrink is disabled, never scale the logo (even if a class slips in) */
#master-header.mh-shrink-disabled.mh-shrink .mh-logo img {
    transform: none !important;
    max-height: var(--mh-logo-max-height, 48px) !important;
}


/* Buttons kompakter */
#master-header.mh-shrink .mh-button {
    font-size: 13px;
    padding-top: 6px;
    padding-bottom: 6px;
}
/* ============================================================
 * SHRINK HEADER – DEVICE SPECIFIC
 * ============================================================ */

.mh-device-desktop.mh-shrink {
    --mh-header-height: var(--mh-shrink-height, 64px);
}

.mh-device-tablet.mh-shrink {
    --mh-header-height: var(--mh-shrink-height, 56px);
}

.mh-device-mobile.mh-shrink {
    --mh-header-height: var(--mh-shrink-height, 48px);
}


/* Inner spacing */
.mh-shrink .mh-inner {
    padding-top: 6px;
    padding-bottom: 6px;
}

/* Logo scaling */
.mh-device-desktop.mh-shrink .mh-logo img {
    max-height: 40px;
}

.mh-device-tablet.mh-shrink .mh-logo img {
    max-height: 34px;
}

.mh-device-mobile.mh-shrink .mh-logo img {
    max-height: 28px;
}
/* ============================================================
 * LOGO SWITCH (NORMAL ↔ SHRINK)
 * ============================================================ */

/* Standard: nur Hauptlogo sichtbar */
.mh-logo-main {
    display: block;
}

.mh-logo-shrink {
    display: none;
}

/* Shrink aktiv → Logos tauschen */
#master-header.mh-shrink .mh-logo-main {
    display: none;
}

#master-header.mh-shrink .mh-logo-shrink {
    display: block;
}
/* ============================================================
 * LOGO CROSSFADE (NORMAL <-> SHRINK)
 * ============================================================ */

.mh-logo {
    position: relative;
    display: inline-flex;
    align-items: center;
}

/* Beide Logos übereinander */
.mh-logo img {
    transition:
        opacity 0.25s ease,
        transform 0.25s ease;
}

/* Hauptlogo sichtbar */
.mh-logo-main {
    opacity: 1;
}

/* Shrink-Logo standardmäßig unsichtbar */
.mh-logo-shrink {
    opacity: 0;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

/* Im Shrink-Zustand wechseln */
#master-header.mh-shrink .mh-logo-main {
    opacity: 0;
}

#master-header.mh-shrink .mh-logo-shrink {
    opacity: 1;
}
/* ============================================================
 * SHRINK LOGO – DESKTOP ONLY
 * ============================================================ */

.mh-device-tablet #master-header.mh-shrink .mh-logo-shrink,
.mh-device-mobile #master-header.mh-shrink .mh-logo-shrink {
    display: none;
}

/* Fallback: auf Tablet/Mobile immer Hauptlogo */
.mh-device-tablet #master-header.mh-shrink .mh-logo-main,
.mh-device-mobile #master-header.mh-shrink .mh-logo-main {
    opacity: 1;
}
/* ============================================================
 * PREVIEW MODE – SHRINK SAFETY
 * ============================================================ */

.mh-preview-mode #master-header {
    transition:
        height 0.25s ease,
        box-shadow 0.25s ease;
}

/* Shrink darf im Preview aktiv sein */
.mh-preview-mode #master-header.mh-shrink {
    position: sticky;
}
/* ============================================================
 * LOGO CROSSFADE (NORMAL <-> SHRINK)
 * ============================================================ */

.mh-logo {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.mh-logo img {
    transition: opacity 0.25s ease, transform 0.25s ease;
}

/* Hauptlogo */
.mh-logo-main {
    opacity: 1;
}

/* Shrink-Logo */
.mh-logo-shrink {
    opacity: 0;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

/* Wechsel im Shrink */
#master-header.mh-shrink .mh-logo-main {
    opacity: 0;
}

#master-header.mh-shrink .mh-logo-shrink {
    opacity: 1;
}

/* ============================================================
 * SHRINK LOGO – DESKTOP ONLY
 * ============================================================ */

.mh-device-tablet #master-header.mh-shrink .mh-logo-shrink,
.mh-device-mobile #master-header.mh-shrink .mh-logo-shrink {
    display: none;
}

.mh-device-tablet #master-header.mh-shrink .mh-logo-main,
.mh-device-mobile #master-header.mh-shrink .mh-logo-main {
    opacity: 1;
}

/* ============================================================
 * FALLBACK – KEIN SHRINK LOGO
 * ============================================================ */

.mh-logo-shrink:not([src]),
.mh-logo-shrink[src=""] {
    display: none !important;
}

/* ============================================================
 * PREVIEW MODE – SHRINK SAFE
 * ============================================================ */

.mh-preview-mode #master-header {
    transition: height 0.25s ease, box-shadow 0.25s ease;
}

.mh-preview-mode #master-header.mh-shrink {
    position: sticky;
}
.mh-logo-shrink {
    display: none;
}

#master-header.mh-shrink .mh-logo-main {
    display: none;
}

#master-header.mh-shrink .mh-logo-shrink {
    display: inline-block;
}


/* ============================================================
 * LOGO SIZE (ENTERPRISE)
 * ============================================================ */
#master-header.mh-shrink .mh-logo img {
    max-height: var(--mh-logo-max-height-shrink, 36px);
    transform: scale(var(--mh-logo-scale, .75));
    transform-origin: left center;
}


/* ============================================================
 * BUTTON VARIABLES (ENTERPRISE)
 * ============================================================ */
.mh-button {
    background: var(--mh-btn-bg, var(--mh-primary-bg, #2563eb));
    color: var(--mh-btn-color, var(--mh-primary-color, #ffffff));
}
.mh-button:hover {
    background: var(--mh-btn-bg-hover, var(--mh-primary-bg-hover, var(--mh-btn-bg, #2563eb)));
    color: var(--mh-btn-color-hover, var(--mh-primary-color-hover, var(--mh-btn-color, #ffffff)));
}


/* ============================================================
 * MENU DROPDOWN (ENTERPRISE)
 * ============================================================ */
.mh-menu .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: var(--mh-header-bg, #ffffff);
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 10px;
    padding: 8px;
    min-width: 220px;
    box-shadow: 0 20px 40px rgba(0,0,0,.12);
    z-index: 9999;
    flex-direction: column;
    gap: 8px;
}

.mh-menu li:hover > .sub-menu {
    display: flex;
}

.mh-menu .sub-menu a {
    padding: 8px 10px;
    border-radius: 8px;
}

.mh-menu .sub-menu a:hover {
    background: rgba(0,0,0,.05);
}

/* ============================================================
 * MEGA MENU (Lightweight)
 * Usage: add CSS class "mh-mega" or "mh-mega-full" to a top-level WP menu item
 * (Appearance → Menus → Screen Options → CSS Classes)
 * ============================================================ */
#master-header .mh-menu li.mh-mega > .sub-menu,
#master-header .mh-menu li.mega-menu > .sub-menu {
    min-width: 0;
    width: min(1100px, 92vw);
    left: 50%;
    transform: translateX(-50%);
    padding: 16px;
    display: none;
    flex-wrap: wrap;
    gap: 10px;
}

/* Advanced mega: generated panel replaces default submenu items */
#master-header .mh-menu li.mh-has-mega > .sub-menu > li:not(.mh-mega-generated) {
    display: none;
}

/* Mega panel layout (Elementor-like) */
.mh-mega-panel {
    width: 100%;
    display: grid;
    gap: 14px;
}

.mh-mega-row {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.mh-mega-col {
    display: grid;
    align-content: start;
    gap: 10px;
    min-width: 200px;
}

.mh-mega-h {
    margin: 0;
    font-size: 14px;
    letter-spacing: .02em;
}

.mh-mega-text {
    font-size: 13px;
    line-height: 1.45;
    opacity: .92;
}

.mh-mega-links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 6px;
}

.mh-mega-links a {
    display: block;
    padding: 8px 10px;
    border-radius: 10px;
    text-decoration: none;
    color: var(--mh-social-color, inherit);
}

.mh-mega-links a:hover {
    background: rgba(0,0,0,.05);
}

.mh-mega-img {
    width: 100%;
    height: auto;
    border-radius: 14px;
    display: block;
}

.mh-mega-hr {
    border: none;
    height: 1px;
    background: rgba(0,0,0,.10);
    margin: 6px 0;
}

/* Presets (10) – subtle variations */
.mh-mega-preset-1 { }
.mh-mega-preset-2 { }
.mh-mega-preset-3 { }
.mh-mega-preset-4 { }
.mh-mega-preset-5 { }
.mh-mega-preset-6 { }
.mh-mega-preset-7 { }
.mh-mega-preset-8 { }
.mh-mega-preset-9 { }
.mh-mega-preset-10 { }

#master-header .mh-menu li.mh-mega-full > .sub-menu {
    width: 100vw;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 0;
}

#master-header .mh-menu li.mh-mega > .sub-menu > li,
#master-header .mh-menu li.mega-menu > .sub-menu > li {
    width: 220px;
}

#master-header .mh-menu li:hover.mh-mega > .sub-menu,
#master-header .mh-menu li:hover.mega-menu > .sub-menu,
#master-header .mh-menu li:focus-within.mh-mega > .sub-menu,
#master-header .mh-menu li:focus-within.mega-menu > .sub-menu {
    display: flex;
}

/* ============================================================
 * MEGA MENU ADVANCED (Elementor-like)
 * - injected as <li class="mh-mega-generated"><div class="mh-mega-panel">...
 * ============================================================ */

#master-header .mh-menu li.mh-has-mega > .sub-menu {
    padding: 0;
}

#master-header .mh-menu li.mh-has-mega > .sub-menu > li:not(.mh-mega-generated) {
    display: none;
}

#master-header .mh-menu li.mh-has-mega > .sub-menu > li.mh-mega-generated {
    width: 100%;
    padding: 0;
    margin: 0;
}

.mh-mega-panel {
    width: 100%;
    display: grid;
    gap: 12px;
    padding: 18px;
    border-radius: 14px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 20px 50px rgba(0,0,0,.12);
}

.mh-mega-row {
    display: flex;
    gap: 14px;
    flex-wrap: nowrap;
}

.mh-mega-col {
    min-width: 0;
}

.mh-mega-h {
    font-size: 13px;
    letter-spacing: .03em;
    text-transform: uppercase;
    margin: 0 0 8px 0;
    opacity: .85;
}

.mh-mega-text {
    font-size: 14px;
    line-height: 1.45;
    opacity: .92;
}

.mh-mega-links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 8px;
}

.mh-mega-links a {
    display: block;
    padding: 10px 10px;
    border-radius: 10px;
    text-decoration: none;
    color: inherit;
    background: rgba(0,0,0,.02);
    border: 1px solid rgba(0,0,0,.06);
}

.mh-mega-links a:hover {
    background: rgba(0,0,0,.05);
}

.mh-mega-hr {
    border: none;
    border-top: 1px solid rgba(0,0,0,.08);
    margin: 10px 0;
}

.mh-mega-img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 12px;
}

.mh-mega-btn {
    width: 100%;
    justify-content: center;
}

/* Presets (1-10): subtle gradients/accents, Elementor-ish */
.mh-mega-preset-1 { background: rgba(255,255,255,.96); }
.mh-mega-preset-2 { background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(243,244,246,.96)); }
.mh-mega-preset-3 { background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(239,246,255,.96)); }
.mh-mega-preset-4 { background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(240,253,250,.96)); }
.mh-mega-preset-5 { background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(254,242,242,.96)); }
.mh-mega-preset-6 { background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(250,245,255,.96)); }
.mh-mega-preset-7 { background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,247,237,.96)); }
.mh-mega-preset-8 { background: rgba(17,24,39,.96); color: #f9fafb; }
.mh-mega-preset-8 .mh-mega-links a { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.12); }
.mh-mega-preset-8 .mh-mega-hr { border-top-color: rgba(255,255,255,.12); }
.mh-mega-preset-9 { background: rgba(2,6,23,.96); color: #e5e7eb; }
.mh-mega-preset-9 .mh-mega-links a { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.12); }
.mh-mega-preset-9 .mh-mega-hr { border-top-color: rgba(255,255,255,.12); }
.mh-mega-preset-10 { background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(236,254,255,.96)); }

@media (max-width: 1024px) {
    /* Advanced mega is desktop-first; in mobile use offcanvas menu */
    .mh-mega-panel { padding: 14px; }
    .mh-mega-row { flex-wrap: wrap; }
    .mh-mega-col { flex: 1 1 100% !important; }
}

/* ============================================================
 * LANGUAGE SWITCH (ENTERPRISE)
 * ============================================================ */
.mh-lang ul,
.mh-lang-list {
    list-style:none;
    display:flex;
    gap:10px;
    margin:0;
    padding:0;
}
.mh-lang a {
    text-decoration:none;
    font-weight:600;
    opacity:.9;
}
.mh-lang a:hover { opacity:1; }
.mh-lang-fallback { font-weight:600; opacity:.8; }


/* ============================================================
 * SOCIAL ICONS
 * ============================================================ */
.mh-social {
    display: inline-flex;
    align-items: center;
    gap: var(--mh-social-gap, 10px);
    color: var(--mh-social-color, inherit);
}

.mh-social-link {
    width: var(--mh-social-size, 18px);
    height: var(--mh-social-size, 18px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    text-decoration: none;
    color: inherit;
    transition: background .15s ease, transform .15s ease;
}

.mh-social-link:hover {
    background: rgba(0,0,0,.06);
    transform: translateY(-1px);
    color: var(--mh-social-hover-color, inherit);
}

/* Preview placeholders (empty links) */
.mh-social-empty {
    opacity: .35;
    pointer-events: none;
}

/* Editor-Preview: leere Platzhalter müssen anklickbar bleiben,
   damit das SocialIcons-Element im Live-Editor selektiert werden kann. */
body.mh-preview-mode .mh-social-empty {
    pointer-events: auto;
    cursor: pointer;
}

.mh-social-icon{width:100%;height:100%;display:block;}
.mh-social-icon svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
    display: block;
}

.mh-social-icon img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
}

/* ============================================================
 * LOGIN / ACCOUNT
 * ============================================================ */
.mh-login {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

/* Icon-only (modern account icon) */
.mh-login-icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0 !important;
    border-radius: 999px !important;
    line-height: 1;
}

.mh-login-icon {
    width: 20px;
    height: 20px;
    display: inline-flex;
}

.mh-login-icon svg {
    width: 100%;
    height: 100%;
    display: block;
    fill: none;
    stroke: currentColor;
}

.mh-login-link {
    text-decoration: none;
    font-weight: 600;
    color: inherit;
    padding: 6px 10px;
    border-radius: 10px;
}

.mh-login-link:hover {
    background: rgba(0,0,0,.06);
}

/* Inline Login/Register Panel (v1.07.3) */
.mh-login-button:not(.mh-button) { 
    border: none;
    background: transparent;
    cursor: pointer;
}
.mh-login-panel {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: 320px;
    max-width: 90vw;
    background: rgba(255,255,255,.98);
    border: 1px solid rgba(0,0,0,.10);
    box-shadow: 0 18px 40px rgba(0,0,0,.18);
    border-radius: 16px;
    padding: 12px;
    z-index: 10000;
    backdrop-filter: blur(10px);
}
.mh-login { position: relative; }

/* Make sure the native [hidden] attribute always wins, even when modal styles set display:grid !important */
.mh-login-panel[hidden],
.mh-login-panel.mh-login-modal[hidden] { display: none !important; }

/* Contact panels can also use [hidden] */
.mh-contact-panel[hidden] { display: none !important; }

/* Login Modal (Desktop) (v1.07.7) */
.mh-login-panel.mh-login-modal {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100dvh;
    min-height: 100vh;
    max-width: none;
    top: 0;
    right: auto;
    padding: clamp(12px, 3vh, 24px);
    display: grid !important;
    place-items: center !important;
    background: transparent;
    border: none;
    box-shadow: none;
    border-radius: 0;
    z-index: 100000;
}
.mh-login-modal .mh-login-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.45);
}
.mh-login-modal .mh-login-dialog {
    position: relative;
    width: 360px;
    max-width: 92vw;
    box-sizing: border-box;
    background: rgba(255,255,255,.98);
    border: 1px solid rgba(0,0,0,.10);
    box-shadow: 0 18px 40px rgba(0,0,0,.22);
    border-radius: 18px;
    padding: 14px;
    backdrop-filter: blur(10px);
}

/* Ensure form controls never overflow the dialog (theme styles sometimes use content-box sizing) */
.mh-login-modal .mh-login-dialog * {
    box-sizing: border-box;
}
html.mh-dark .mh-login-modal .mh-login-dialog {
    background: rgba(17,24,39,.98);
    border-color: rgba(255,255,255,.14);
    color: #e5e7eb;
}
body.mh-modal-open-body { overflow: hidden; }

.mh-login-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-bottom: 10px;
}
.mh-login-tabs .mh-tab {
    border: 1px solid rgba(0,0,0,.10);
    background: rgba(0,0,0,.02);
    border-radius: 12px;
    padding: 8px 10px;
    cursor: pointer;
    font-weight: 600;
}
.mh-login-tabs .mh-tab.is-active {
    background: rgba(37,99,235,.10);
    border-color: rgba(37,99,235,.22);
}
.mh-auth-form {
    display: grid;
    gap: 8px;
    width: 100%;
    box-sizing: border-box;
}

/* Two-column row inside auth forms (e.g. first/last name) */
.mh-auth-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    width: 100%;
}
.mh-auth-col { min-width: 0; }
@media (max-width: 420px) {
    .mh-auth-row { grid-template-columns: 1fr; }
}
.mh-auth-title {
    font-size: 16px;
    font-weight: 700;
    margin: 2px 0 8px;
}
.mh-auth-switch-row {
    margin-top: 10px;
    display: flex;
    justify-content: center;
}
.mh-auth-switch {
    border: none;
    background: transparent;
    cursor: pointer;
    font-weight: 600;
    padding: 6px 8px;
    color: rgba(37,99,235,1);
}
.mh-auth-switch:hover { text-decoration: underline; }
.mh-auth-label { font-size: 12px; opacity: .75; }
.mh-auth-help { font-size: 11px; opacity: .65; margin-top: 2px; }
.mh-auth-input {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    display: block;
    border: 1px solid rgba(0,0,0,.12);
    border-radius: 12px;
    padding: 8px 11px;
    outline: none;
}
.mh-auth-textarea { resize: vertical; }
.mh-auth-input:focus { border-color: rgba(37,99,235,.55); box-shadow: 0 0 0 3px rgba(37,99,235,.14); }
.mh-auth-remember { font-size: 12px; opacity: .85; display: inline-flex; align-items: center; gap: 8px; }
.mh-auth-submit {
    border: none;
    background: #111827;
    color: #ffffff;
    border-radius: 12px;
    padding: 8px 11px;
    cursor: pointer;
    font-weight: 700;
    width: 100%;
    box-sizing: border-box;
}
.mh-auth-submit:hover { opacity: .92; }

.mh-account-hover-desktop {
    width: 300px;
    max-width: min(300px, 90vw);
}
.mh-account-dialog {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
.mh-account-head {
    display: grid;
    gap: 4px;
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(0,0,0,.08);
}
.mh-account-kicker {
    font-size: 11px;
    letter-spacing: .08em;
    text-transform: uppercase;
    opacity: .65;
}
.mh-account-name {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
}
.mh-account-links {
    display: grid;
    gap: 8px;
}
.mh-account-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    text-decoration: none;
    color: inherit;
    padding: 11px 12px;
    border-radius: 12px;
    border: 1px solid rgba(0,0,0,.08);
    background: rgba(0,0,0,.02);
    transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
.mh-account-link:hover {
    background: rgba(0,0,0,.05);
    border-color: rgba(0,0,0,.12);
    transform: translateY(-1px);
}
.mh-account-link-logout {
    color: #b42318;
}

html.mh-dark .mh-account-head {
    border-bottom-color: rgba(255,255,255,.10);
}
html.mh-dark .mh-account-link {
    background: rgba(255,255,255,.05);
    border-color: rgba(255,255,255,.10);
    color: #e5e7eb;
}
html.mh-dark .mh-account-link:hover {
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.16);
}

html.mh-dark .mh-login-panel {
    background: rgba(17,24,39,.98);
    border-color: rgba(255,255,255,.14);
    color: #e5e7eb;
}
html.mh-dark .mh-auth-input {
    background: rgba(255,255,255,.06);
    border-color: rgba(255,255,255,.14);
    color: #e5e7eb;
}
html.mh-dark .mh-login-tabs .mh-tab { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.14); color: #e5e7eb; }

/* ============================================================
 * CONTACT
 * ============================================================ */
.mh-contact {
    display: inline-flex;
    align-items: center;
    gap: var(--mh-contact-gap, 10px);
    font-weight: 500;
}

.mh-contact-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    color: var(--mh-social-color, inherit);
}

.mh-contact-link:hover {
    text-decoration: underline;
}

.mh-contact-sep {
    opacity: .55;
}



/* Contact Dropdown Panel (v1.07.7) */
.mh-contact { position: relative; }
.mh-contact-button { display: inline-flex; align-items: center; gap: 8px; }
.mh-contact-panel {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    min-width: 240px;
    max-width: 92vw;
    background: rgba(255,255,255,.98);
    border: 1px solid rgba(0,0,0,.10);
    box-shadow: 0 18px 40px rgba(0,0,0,.18);
    border-radius: 16px;
    padding: 10px;
    z-index: 10000;
    backdrop-filter: blur(10px);
    display: grid;
    gap: 6px;
}
.mh-contact-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 11px;
    border-radius: 12px;
    text-decoration: none;
    color: var(--mh-social-color, inherit);
}
.mh-contact-row:hover { background: rgba(0,0,0,.06); }
.mh-contact-ico svg { width: 16px; height: 16px; display: block; }
html.mh-dark .mh-contact-panel {
    background: rgba(17,24,39,.98);
    border-color: rgba(255,255,255,.14);
    color: #e5e7eb;
}
html.mh-dark .mh-contact-row:hover { background: rgba(255,255,255,.06); }
/* ============================================================
 * DIVIDER / SPACER
 * ============================================================ */
.mh-divider {
    display: inline-block;
    width: var(--mh-divider-thickness, 1px);
    height: var(--mh-divider-height, 28px);
    background: var(--mh-divider-color, rgba(0,0,0,.22));
    border-radius: 999px;
    opacity: .85;
}

.mh-spacer {
    display: inline-block;
    width: var(--mh-spacer-width, 14px);
    height: 1px;
}



/* ============================================================
 * MENU PRESETS + HOVER/ACTIVE/GRADIENT (v1.07.0)
 * ============================================================ */

.mh-menu {
    --mh-menu-gap: 14px;
    --mh-menu-item-pad-y: 8px;
    --mh-menu-item-pad-x: 12px;
    --mh-menu-radius: 10px;

    --mh-menu-color: inherit;
    --mh-menu-hover-color: inherit;
    --mh-menu-active-color: inherit;

    --mh-menu-hover-grad1: rgba(37,99,235,.10);
    --mh-menu-hover-grad2: rgba(37,99,235,.18);

    --mh-menu-active-grad1: rgba(37,99,235,.16);
    --mh-menu-active-grad2: rgba(37,99,235,.26);
}

.mh-menu .mh-menu-list {
    gap: var(--mh-menu-gap);
}

.mh-menu .mh-menu-item > a {
    padding: var(--mh-menu-item-pad-y) var(--mh-menu-item-pad-x);
    border-radius: var(--mh-menu-radius);
    color: var(--mh-menu-color);
    transition: background .15s ease, color .15s ease, transform .15s ease;
}

.mh-menu .mh-menu-item > a:hover {
    color: var(--mh-menu-hover-color);
    background: linear-gradient(90deg, var(--mh-menu-hover-grad1), var(--mh-menu-hover-grad2));
}

.mh-menu .current-menu-item > a,
.mh-menu .current_page_item > a,
.mh-menu .current-menu-ancestor > a {
    color: var(--mh-menu-active-color);
    background: linear-gradient(90deg, var(--mh-menu-active-grad1), var(--mh-menu-active-grad2));
}

/* 10 Presets (minimal variations, can be overridden via inline CSS vars) */
.mh-menu-preset-1 { --mh-menu-hover-grad1: rgba(37,99,235,.10); --mh-menu-hover-grad2: rgba(37,99,235,.22); --mh-menu-active-grad1: rgba(37,99,235,.18); --mh-menu-active-grad2: rgba(37,99,235,.34); }
.mh-menu-preset-2 { --mh-menu-hover-grad1: rgba(16,185,129,.10); --mh-menu-hover-grad2: rgba(16,185,129,.22); --mh-menu-active-grad1: rgba(16,185,129,.18); --mh-menu-active-grad2: rgba(16,185,129,.34); }
.mh-menu-preset-3 { --mh-menu-hover-grad1: rgba(245,158,11,.12); --mh-menu-hover-grad2: rgba(245,158,11,.26); --mh-menu-active-grad1: rgba(245,158,11,.18); --mh-menu-active-grad2: rgba(245,158,11,.38); }
.mh-menu-preset-4 { --mh-menu-hover-grad1: rgba(168,85,247,.10); --mh-menu-hover-grad2: rgba(168,85,247,.22); --mh-menu-active-grad1: rgba(168,85,247,.18); --mh-menu-active-grad2: rgba(168,85,247,.34); }
.mh-menu-preset-5 { --mh-menu-hover-grad1: rgba(236,72,153,.10); --mh-menu-hover-grad2: rgba(236,72,153,.22); --mh-menu-active-grad1: rgba(236,72,153,.18); --mh-menu-active-grad2: rgba(236,72,153,.34); }
.mh-menu-preset-6 { --mh-menu-hover-grad1: rgba(15,23,42,.08); --mh-menu-hover-grad2: rgba(15,23,42,.14); --mh-menu-active-grad1: rgba(15,23,42,.12); --mh-menu-active-grad2: rgba(15,23,42,.18); }
.mh-menu-preset-7 { --mh-menu-hover-grad1: rgba(2,132,199,.10); --mh-menu-hover-grad2: rgba(2,132,199,.22); --mh-menu-active-grad1: rgba(2,132,199,.18); --mh-menu-active-grad2: rgba(2,132,199,.34); }
.mh-menu-preset-8 { --mh-menu-hover-grad1: rgba(244,63,94,.10); --mh-menu-hover-grad2: rgba(244,63,94,.22); --mh-menu-active-grad1: rgba(244,63,94,.18); --mh-menu-active-grad2: rgba(244,63,94,.34); }
.mh-menu-preset-9 { --mh-menu-hover-grad1: rgba(99,102,241,.10); --mh-menu-hover-grad2: rgba(99,102,241,.22); --mh-menu-active-grad1: rgba(99,102,241,.18); --mh-menu-active-grad2: rgba(99,102,241,.34); }
.mh-menu-preset-10{ --mh-menu-hover-grad1: rgba(20,184,166,.10); --mh-menu-hover-grad2: rgba(20,184,166,.22); --mh-menu-active-grad1: rgba(20,184,166,.18); --mh-menu-active-grad2: rgba(20,184,166,.34); }

/* ============================================================
 * SEARCH (modern, width per device via --mh-search-width) (v1.07.0)
 * ============================================================ */

.mh-search {
    --mh-search-width: auto;
    --mh-search-radius: 12px;
    --mh-search-bg: #ffffff;
    --mh-search-border: rgba(17,24,39,.14);
    --mh-search-text: #111827;
    --mh-search-placeholder: rgba(17,24,39,.55);

    --mh-search-btn-bg: #111827;
    --mh-search-btn-color: #ffffff;

    width: var(--mh-search-width);
    max-width: 100%;
    min-width: 0;
    position: relative;
}

.mh-search .mh-search-form {
    display: flex;
    align-items: center;
    width: 100%;
    border-radius: var(--mh-search-radius);
    border: 1px solid var(--mh-search-border);
    background: var(--mh-search-bg);
    overflow: hidden;
}

.mh-search .mh-search-input {
    flex: 1 1 auto;
    border: none !important;
    outline: none !important;
    background: transparent;
    color: var(--mh-search-text);
    padding: 8px 11px;
    min-width: 140px;
}

.mh-search .mh-search-input::placeholder {
    color: var(--mh-search-placeholder);
}

.mh-search .mh-search-button {
    border: none;
    cursor: pointer;
    background: var(--mh-search-btn-bg);
    color: var(--mh-search-btn-color);
    padding: 8px 11px;
    margin: 2px;
    border-radius: calc(var(--mh-search-radius) - 2px);
    transition: transform .15s ease, opacity .15s ease;
}

.mh-search .mh-search-button:hover {
    transform: translateY(-1px);
    opacity: .95;
}

/* Live search dropdown (Woo products) */
.mh-search-results {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 10px);
    background: rgba(255,255,255,.98);
    border: 1px solid rgba(0,0,0,.10);
    box-shadow: 0 18px 40px rgba(0,0,0,.18);
    border-radius: 16px;
    overflow: hidden;
    z-index: 10000;
    display: none;
}
.mh-search-results.is-open { display: block; }
.mh-search-loading,
.mh-search-empty {
    padding: 12px;
    font-size: 13px;
    opacity: .75;
}
.mh-search-item {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 10px;
    align-items: flex-start;
    padding: 8px 11px;
    text-decoration: none;
    color: var(--mh-social-color, inherit);
}
.mh-search-item:hover { background: rgba(0,0,0,.04); }
.mh-search-img img {
    width: 44px;
    height: 44px;
    object-fit: cover;
    border-radius: 12px;
}
.mh-search-ph {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(0,0,0,.04);
}
.mh-search-title { font-weight: 650; line-height: 1.2; }
.mh-search-price { font-size: 12px; opacity: .8; }
.mh-search-txt {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
.mh-search-row1 {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
}
.mh-search-price {
    white-space: nowrap;
    text-align: right;
}
.mh-search-desc {
    font-size: 12px;
    opacity: .75;
    line-height: 1.25;
}
@media (min-width: 1024px) {
    .mh-search-item {
        grid-template-columns: 88px 1fr;
        gap: 14px;
        padding: 14px 16px;
    }
    .mh-search-img img,
    .mh-search-ph {
        width: 88px;
        height: 88px;
        border-radius: 16px;
    }
    .mh-search-title {
        font-size: 18px;
        font-weight: 700;
    }
    .mh-search-price {
        font-size: 14px;
    }
    .mh-search-desc {
        font-size: 13px;
    }
}

.mh-search-all {
    display: block;
    padding: 8px 11px;
    text-decoration: none;
    font-weight: 650;
    border-top: 1px solid rgba(0,0,0,.08);
}

html.mh-dark .mh-search-results {
    background: rgba(17,24,39,.98);
    border-color: rgba(255,255,255,.14);
    color: #e5e7eb;
}
html.mh-dark .mh-search-item:hover { background: rgba(255,255,255,.06); }
html.mh-dark .mh-search-ph { background: rgba(255,255,255,.06); }
.mh-search-all:hover { background: rgba(0,0,0,.04); }

html.mh-dark .mh-search-results {
    background: rgba(17,24,39,.98);
    border-color: rgba(255,255,255,.14);
    color: #e5e7eb;
}
html.mh-dark .mh-search-item:hover { background: rgba(255,255,255,.06); }
html.mh-dark .mh-search-all:hover { background: rgba(255,255,255,.06); }

/* 10 Search Presets (variable defaults) */
.mh-search-preset-1 { --mh-search-btn-bg:#111827; --mh-search-border: rgba(17,24,39,.14); }
.mh-search-preset-2 { --mh-search-btn-bg:#2563eb; --mh-search-border: rgba(37,99,235,.22); }
.mh-search-preset-3 { --mh-search-btn-bg:#16a34a; --mh-search-border: rgba(22,163,74,.22); }
.mh-search-preset-4 { --mh-search-btn-bg:#f59e0b; --mh-search-border: rgba(245,158,11,.26); }
.mh-search-preset-5 { --mh-search-btn-bg:#a855f7; --mh-search-border: rgba(168,85,247,.26); }
.mh-search-preset-6 { --mh-search-btn-bg:#0ea5e9; --mh-search-border: rgba(14,165,233,.24); }
.mh-search-preset-7 { --mh-search-btn-bg:#ec4899; --mh-search-border: rgba(236,72,153,.24); }
.mh-search-preset-8 { --mh-search-btn-bg:#ef4444; --mh-search-border: rgba(239,68,68,.24); }
.mh-search-preset-9 { --mh-search-btn-bg:#14b8a6; --mh-search-border: rgba(20,184,166,.24); }
.mh-search-preset-10{ --mh-search-btn-bg:#334155; --mh-search-border: rgba(51,65,85,.24); }

/* (Search modal styles are defined further below.) */

.mh-search.mh-search-icononly {
    width: auto;
}

.mh-search-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    min-width: 40px;
    padding: 0;
    border: none;
    background: transparent;
    color: inherit;
    cursor: pointer;
    border-radius: 999px;
    line-height: 1;
}

.mh-search-trigger svg {
    width: 22px;
    height: 22px;
    display: block;
}

.mh-search-trigger:hover {
    background: rgba(0,0,0,.06);
}
html.mh-dark .mh-search-trigger:hover {
    background: rgba(255,255,255,.08);
}

/* Modal wrapper */
.mh-search-modal {
    position: fixed;
    inset: 0;
    z-index: 10050;
    display: none;
    align-items: flex-start;
    justify-content: center;
    padding: 64px 18px 18px;
}

/* Respect the HTML `hidden` attribute even if other rules match */
.mh-search-modal[hidden] { display: none !important; }

.mh-search-modal.is-open { display: flex; }

.mh-search-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.45);
}

.mh-search-dialog {
    position: relative;
    width: min(720px, 100%);
    max-height: calc(100vh - 92px);
    max-height: calc(100dvh - 92px);
    display: flex;
    flex-direction: column;
    background: rgba(255,255,255,.98);
    color: #111827;
    border: 1px solid rgba(0,0,0,.10);
    border-radius: 22px;
    box-shadow: 0 30px 90px rgba(0,0,0,.38);
    overflow: hidden;
}

html.mh-dark .mh-search-dialog {
    background: rgba(17,24,39,.98);
    color: #e5e7eb;
    border-color: rgba(255,255,255,.14);
}

/* Fullscreen on tablet/mobile */
@media (max-width: 1024px) {
    .mh-search-modal { padding: 0; }
    .mh-search-dialog {
        width: 100%;
        height: 100%;
        max-height: 100vh;
        max-height: 100dvh;
        border-radius: 0;
    }
}

.mh-search-top {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 14px 10px;
    border-bottom: 1px solid rgba(0,0,0,.06);
}
html.mh-dark .mh-search-top { border-bottom-color: rgba(255,255,255,.10); }

.mh-search-modal .mh-search-form { width: 100%; }

.mh-search-field {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    border-radius: 16px;
    border: 1px solid rgba(0,0,0,.10);
    background: rgba(0,0,0,.04);
    padding: 0 10px;
}
html.mh-dark .mh-search-field {
    border-color: rgba(255,255,255,.14);
    background: rgba(255,255,255,.06);
}

.mh-search-field-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    opacity: .75;
}
.mh-search-field-icon svg { width: 18px; height: 18px; display: block; }

.mh-search-modal .mh-search-input {
    flex: 1 1 auto;
    border: none !important;
    outline: none !important;
    background: transparent;
    color: inherit;
    padding: 12px 8px;
    font-size: 16px;
    min-width: 0;
}

.mh-search-submit {
    border: none;
    cursor: pointer;
    background: var(--mh-search-btn-bg, #111827);
    color: var(--mh-search-btn-color, #ffffff);
    padding: 8px 11px;
    border-radius: 14px;
}

.mh-search-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    min-width: 40px;
    padding: 0;
    border: none;
    background: transparent;
    color: inherit;
    cursor: pointer;
    border-radius: 999px;
    line-height: 1;
}
.mh-search-close:hover { background: rgba(0,0,0,.06); }
html.mh-dark .mh-search-close:hover { background: rgba(255,255,255,.08); }

/* Live results inside modal – subtle list */
.mh-search-modal .mh-search-results {
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    margin: 12px;
    border-radius: 16px;
    border: 1px solid rgba(0,0,0,.08);
    background: rgba(255,255,255,.85);
    box-shadow: none;
    overflow: auto;
    max-height: calc(100vh - 190px);
    max-height: calc(100dvh - 190px);
}
html.mh-dark .mh-search-modal .mh-search-results {
    border-color: rgba(255,255,255,.12);
    background: rgba(17,24,39,.55);
}

.mh-search-modal .mh-search-item {
    grid-template-columns: 32px 1fr;
    gap: 12px;
    padding: 8px 11px;
    border-bottom: 1px solid rgba(0,0,0,.06);
}
html.mh-dark .mh-search-modal .mh-search-item { border-bottom-color: rgba(255,255,255,.08); }
.mh-search-modal .mh-search-item:last-child { border-bottom: none; }

.mh-search-modal .mh-search-img img {
    width: 32px;
    height: 32px;
    border-radius: 10px;
}
.mh-search-modal .mh-search-ph {
    width: 32px;
    height: 32px;
    border-radius: 10px;
}

.mh-search-modal .mh-search-title {
    font-weight: 600;
    font-size: 14px;
}
.mh-search-modal .mh-search-price {
    font-size: 12px;
    opacity: .75;
}

/* ============================================================
 * ICON ALIGNMENT (vertical centering)
 * ============================================================ */

.mh-woo-cart .mh-cart-link,
.mh-woo-cart .mh-cart-button,
.mh-woo-wishlist .mh-wishlist-button,
.mh-woo-wishlist .mh-wishlist-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 10px;
    border-radius: 999px;
    line-height: 1;
}

.mh-woo-cart .mh-cart-link:hover,
.mh-woo-cart .mh-cart-button:hover,
.mh-woo-wishlist .mh-wishlist-button:hover,
.mh-woo-wishlist .mh-wishlist-link:hover {
    background: rgba(0,0,0,.06);
}
html.mh-dark .mh-woo-cart .mh-cart-link:hover,
html.mh-dark .mh-woo-cart .mh-cart-button:hover,
html.mh-dark .mh-woo-wishlist .mh-wishlist-button:hover,
html.mh-dark .mh-woo-wishlist .mh-wishlist-link:hover {
    background: rgba(255,255,255,.08);
}

.mh-cart-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}
html.mh-dark .wp-site-blocks a { color: inherit; }


html.mh-dark .mh-header {
    background: #0b1220 !important;
    color: #e5e7eb !important;
}

html.mh-dark .mh-menu {
    --mh-menu-hover-grad1: rgba(59,130,246,.18);
    --mh-menu-hover-grad2: rgba(59,130,246,.30);
    --mh-menu-active-grad1: rgba(59,130,246,.26);
    --mh-menu-active-grad2: rgba(59,130,246,.40);
}

html.mh-dark .mh-search {
    --mh-search-bg: rgba(255,255,255,.06);
    --mh-search-border: rgba(255,255,255,.16);
    --mh-search-text: #e5e7eb;
    --mh-search-placeholder: rgba(229,231,235,.55);
}

/* Dark mode toggle button */
.mh-dark-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(17,24,39,.14);
    background: rgba(255,255,255,.7);
    color: inherit;
    border-radius: 999px;
    padding: 8px 10px;
    cursor: pointer;
    transition: transform .15s ease, background .15s ease, border-color .15s ease;
}
.mh-dark-toggle:hover { transform: translateY(-1px); }
html.mh-dark .mh-dark-toggle {
    background: rgba(255,255,255,.06);
    border-color: rgba(255,255,255,.16);
}
.mh-dark-toggle .mh-dark-ico { font-size: 16px; line-height: 1; }



/* Toggle icon switching */
.mh-dark-toggle .mh-ico-on { display: none; }
html.mh-dark .mh-dark-toggle .mh-ico-on { display: inline; }
html.mh-dark .mh-dark-toggle .mh-ico-off { display: none; }

@media (max-width: 767px) {
    .mh-drawer.mh-drawer-menu {
        width: min(92vw, 360px);
        border-radius: 22px 0 0 22px;
    }
}


/* === v3 hotfix: drawer fully above all fixed elements and clickable === */
html.mh-drawer-open-html body.mh-drawer-open-body #master-header,
html.mh-drawer-open-html body.mh-drawer-open-body .mh-header,
body.mh-drawer-open-body #master-header,
body.mh-drawer-open-body .mh-header {
    z-index: 1 !important;
}

.mh-drawer-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483645 !important;
}

.mh-drawer,
.mh-drawer.mh-drawer-menu {
    position: fixed !important;
    inset: 0 0 0 auto !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: 100vh !important;
    max-height: 100dvh !important;
    border-radius: 0 !important;
    border: 0 !important;
    z-index: 2147483646 !important;
    pointer-events: auto !important;
    isolation: isolate;
}

.mh-drawer * {
    pointer-events: auto;
}

.mh-drawer.mh-drawer-menu .mh-drawer-content {
    position: relative;
    z-index: 2;
}

.mh-offcanvas-list > li.mh-menu-item > a {
    min-height: 32px;
    padding: 6px 12px;
}

.mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle {
    width: 34px;
    min-width: 34px;
    min-height: 34px;
}


/* ============================================================
 * HERO OVERLAY HEADER + UNDERLINE NAV (Gremers Fix)
 * ============================================================ */
body.mh-has-master-header #master-header.mh-over-hero,
body.mh-has-master-header .mh-header.mh-over-hero {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 10020;
    background: transparent !important;
    border-bottom: 0 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: none !important;
}

#master-header.mh-over-hero .mh-inner {
    max-width: 1440px;
    padding-top: 18px;
    padding-right: 28px;
    padding-left: 28px;
    padding-bottom: var(--mh-overlay-inner-padding-bottom, 18px);
}
#master-header.mh-over-hero.mh-fullwidth .mh-inner,
body.mh-has-master-header #master-header.mh-over-hero.mh-fullwidth .mh-inner {
    max-width: none;
    width: 100%;
}

#master-header.mh-over-hero.is-scrolled {
    position: fixed;
    background: rgba(10, 21, 48, 0.72) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    box-shadow: 0 12px 30px rgba(0,0,0,0.18);
}

#master-header.mh-over-hero,
#master-header.mh-over-hero a,
#master-header.mh-over-hero .mh-element,
#master-header.mh-over-hero .mh-logo-text,
#master-header.mh-over-hero .mh-menu .mh-menu-item > a {
    color: var(--mh-overlay-text, #ffffff);
}

#master-header.mh-over-hero .mh-menu .sub-menu,
#master-header.mh-over-hero .mh-menu .sub-menu a,
#master-header.mh-over-hero .mh-menu .sub-menu .mh-sub-toggle {
    color: #122033;
}

.mh-menu .mh-menu-item > a {
    position: relative;
    display: inline-flex;
    align-items: center;
    padding: 10px 14px;
    border-radius: 0;
    color: var(--mh-menu-color, inherit);
    background: transparent !important;
    transition: color .18s ease, opacity .18s ease;
}

.mh-menu .mh-menu-item > a::after {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 4px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .26s ease;
    opacity: 0.95;
}

.mh-menu .mh-menu-item > a:hover::after,
.mh-menu .mh-menu-item > a:focus-visible::after {
    transform: scaleX(1);
}

.mh-menu .current-menu-item > a::after,
.mh-menu .current_page_item > a::after,
.mh-menu .current-menu-ancestor > a::after,
.mh-menu .current_page_ancestor > a::after {
    transform: scaleX(1);
}

.mh-menu .current-menu-item > a,
.mh-menu .current_page_item > a,
.mh-menu .current-menu-ancestor > a,
.mh-menu .current_page_ancestor > a {
    font-weight: 600;
    color: var(--mh-menu-active-color, currentColor);
}

.mh-menu .mh-menu-item > a:hover,
.mh-menu .current-menu-item > a,
.mh-menu .current_page_item > a,
.mh-menu .current-menu-ancestor > a,
.mh-menu .current_page_ancestor > a {
    background: transparent !important;
}

.mh-menu li:hover > .sub-menu,
.mh-menu li:focus-within > .sub-menu {
    display: flex;
}

.mh-menu .sub-menu {
    min-width: 240px;
}

.mh-menu .sub-menu li {
    width: 100%;
}

.mh-menu .sub-menu a {
    display: block;
    width: 100%;
    color: #122033;
}


/* ============================================================
 * SUBMENU GLASS + BACKGROUND FADE (Overlay Header)
 * ============================================================ */
#master-header.mh-over-hero {
    isolation: isolate;
}

#master-header.mh-over-hero::before {
    content: "";
    position: fixed;
    inset: 0;
    background: rgba(6, 12, 24, 0.22);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    opacity: 0;
    pointer-events: none;
    transition: opacity .22s ease;
    z-index: 0;
}

#master-header.mh-over-hero::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 10px;
    right: 10px;
    height: var(--mh-overlay-panel-height, 70%);
    transform: translateY(-50%);
    background: var(--mh-overlay-panel-bg, rgba(8,16,30,0.18));
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 16px;
    pointer-events: none;
    z-index: 0;
}

#master-header.mh-over-hero .mh-inner,
#master-header.mh-over-hero .mh-menu,
#master-header.mh-over-hero .mh-menu > li,
#master-header.mh-over-hero .mh-menu > li > .sub-menu {
    position: relative;
    z-index: 1;
}

@supports selector(#master-header:has(.mh-menu > li:hover > .sub-menu)) {
    #master-header.mh-over-hero:has(.mh-menu > li:hover > .sub-menu),
    #master-header.mh-over-hero:has(.mh-menu > li:focus-within > .sub-menu) {
        z-index: 10030;
    }

    #master-header.mh-over-hero:has(.mh-menu > li:hover > .sub-menu)::before,
    #master-header.mh-over-hero:has(.mh-menu > li:focus-within > .sub-menu)::before {
        opacity: 1;
    }
}

#master-header.mh-over-hero .mh-menu .sub-menu {
    background: rgba(8, 16, 30, 0.42) !important;
    border: 1px solid rgba(255,255,255,0.14) !important;
    box-shadow: 0 20px 46px rgba(0,0,0,0.30) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    padding: 12px !important;
    overflow: hidden;
}

#master-header.mh-over-hero .mh-menu .sub-menu li {
    width: 100%;
    margin: 0;
}

#master-header.mh-over-hero .mh-menu .sub-menu a,
#master-header.mh-over-hero .mh-menu .sub-menu .mh-sub-toggle {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0;
    color: #ffffff !important;
    background: transparent !important;
}

#master-header.mh-over-hero .mh-menu .sub-menu a:hover,
#master-header.mh-over-hero .mh-menu .sub-menu a:focus-visible,
#master-header.mh-over-hero .mh-menu .sub-menu .current-menu-item > a,
#master-header.mh-over-hero .mh-menu .sub-menu .current_page_item > a,
#master-header.mh-over-hero .mh-menu .sub-menu .current-menu-ancestor > a,
#master-header.mh-over-hero .mh-menu .sub-menu .current_page_ancestor > a {
    background: rgba(255,255,255,0.10) !important;
}

#master-header.mh-over-hero .mh-menu .sub-menu a::after {
    display: none;
}


/* =========================================
   PAGE SOLID / TEXT ELEMENT
   ========================================= */
#master-header.mh-page-solid,
#master-header.mh-page-solid.is-scrolled {
    background: var(--mh-page-solid-bg, var(--mh-header-bg, #101828)) !important;
    color: var(--mh-page-solid-text, var(--mh-header-text, #ffffff));
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
#master-header.mh-page-solid a,
#master-header.mh-page-solid .mh-element,
#master-header.mh-page-solid .mh-logo-text,
#master-header.mh-page-solid .mh-menu .mh-menu-item > a {
    color: var(--mh-page-solid-text, var(--mh-header-text, #ffffff));
}
.mh-text-element {
    display: inline-flex;
    align-items: center;
    min-width: 0;
}
.mh-text-element-link {
    color: inherit;
    text-decoration: none;
}
.mh-text-element-content {
    display: inline-block;
    line-height: 1.2;
    white-space: nowrap;
}


/* =========================================
   V8.3 SUBMENU UNDERLINE HOVER
   ========================================= */
#master-header.mh-over-hero .mh-menu .sub-menu a,
#master-header.mh-over-hero .mh-menu .sub-menu .mh-sub-toggle {
    position: relative;
    padding: 12px 14px !important;
    border-radius: 0 !important;
    background: transparent !important;
    transition: color .18s ease, opacity .18s ease !important;
}

#master-header.mh-over-hero .mh-menu .sub-menu a::after,
#master-header.mh-over-hero .mh-menu .sub-menu .mh-sub-toggle::after {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 7px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .24s ease;
    opacity: .95;
    display: block;
}

#master-header.mh-over-hero .mh-menu .sub-menu a:hover,
#master-header.mh-over-hero .mh-menu .sub-menu a:focus-visible,
#master-header.mh-over-hero .mh-menu .sub-menu .mh-sub-toggle:hover,
#master-header.mh-over-hero .mh-menu .sub-menu .mh-sub-toggle:focus-visible,
#master-header.mh-over-hero .mh-menu .sub-menu .current-menu-item > a,
#master-header.mh-over-hero .mh-menu .sub-menu .current_page_item > a,
#master-header.mh-over-hero .mh-menu .sub-menu .current-menu-ancestor > a,
#master-header.mh-over-hero .mh-menu .sub-menu .current_page_ancestor > a {
    background: transparent !important;
}

#master-header.mh-over-hero .mh-menu .sub-menu a:hover::after,
#master-header.mh-over-hero .mh-menu .sub-menu a:focus-visible::after,
#master-header.mh-over-hero .mh-menu .sub-menu .mh-sub-toggle:hover::after,
#master-header.mh-over-hero .mh-menu .sub-menu .mh-sub-toggle:focus-visible::after,
#master-header.mh-over-hero .mh-menu .sub-menu .current-menu-item > a::after,
#master-header.mh-over-hero .mh-menu .sub-menu .current_page_item > a::after,
#master-header.mh-over-hero .mh-menu .sub-menu .current-menu-ancestor > a::after,
#master-header.mh-over-hero .mh-menu .sub-menu .current_page_ancestor > a::after {
    transform: scaleX(1);
}

/* =========================================
   V8.4 SUBMENU UNDERLINE FIX FOR NON-OVERLAY PAGES
   ========================================= */
#master-header:not(.mh-over-hero) .mh-menu .sub-menu {
    overflow: hidden;
}

#master-header:not(.mh-over-hero) .mh-menu .sub-menu a,
#master-header:not(.mh-over-hero) .mh-menu .sub-menu .mh-sub-toggle {
    position: relative;
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 12px 14px !important;
    border-radius: 0 !important;
    background: transparent !important;
    transition: color .18s ease, opacity .18s ease !important;
}

#master-header:not(.mh-over-hero) .mh-menu .sub-menu a::after,
#master-header:not(.mh-over-hero) .mh-menu .sub-menu .mh-sub-toggle::after {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 7px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .24s ease;
    opacity: .95;
    display: block;
}

#master-header:not(.mh-over-hero) .mh-menu .sub-menu a:hover,
#master-header:not(.mh-over-hero) .mh-menu .sub-menu a:focus-visible,
#master-header:not(.mh-over-hero) .mh-menu .sub-menu .mh-sub-toggle:hover,
#master-header:not(.mh-over-hero) .mh-menu .sub-menu .mh-sub-toggle:focus-visible,
#master-header:not(.mh-over-hero) .mh-menu .sub-menu .current-menu-item > a,
#master-header:not(.mh-over-hero) .mh-menu .sub-menu .current_page_item > a,
#master-header:not(.mh-over-hero) .mh-menu .sub-menu .current-menu-ancestor > a,
#master-header:not(.mh-over-hero) .mh-menu .sub-menu .current_page_ancestor > a {
    background: transparent !important;
}

#master-header:not(.mh-over-hero) .mh-menu .sub-menu a:hover::after,
#master-header:not(.mh-over-hero) .mh-menu .sub-menu a:focus-visible::after,
#master-header:not(.mh-over-hero) .mh-menu .sub-menu .mh-sub-toggle:hover::after,
#master-header:not(.mh-over-hero) .mh-menu .sub-menu .mh-sub-toggle:focus-visible::after,
#master-header:not(.mh-over-hero) .mh-menu .sub-menu .current-menu-item > a::after,
#master-header:not(.mh-over-hero) .mh-menu .sub-menu .current_page_item > a::after,
#master-header:not(.mh-over-hero) .mh-menu .sub-menu .current-menu-ancestor > a::after,
#master-header:not(.mh-over-hero) .mh-menu .sub-menu .current_page_ancestor > a::after {
    transform: scaleX(1);
}


/* ============================================================
   V8.5 – OVERLAY STICKY + AUTO HEIGHT REDUCTION (NO CONTENT SCALE)
   ============================================================ */
#master-header {
    transition: height .28s ease, min-height .28s ease, background-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

#master-header .mh-inner {
    transition: padding-top .28s ease, padding-bottom .28s ease, min-height .28s ease;
    align-items: center;
}

body.mh-has-master-header #master-header.mh-over-hero {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
}

#master-header.mh-over-hero.is-scrolled {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
}

#master-header.mh-shrink {
    height: var(--mh-auto-shrink-height, var(--mh-shrink-height, 64px)) !important;
}

#master-header.mh-shrink .mh-inner {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
}

#master-header.mh-shrink .mh-logo img,
#master-header.mh-shrink .mh-button,
#master-header.mh-shrink .mh-menu .mh-menu-item > a,
#master-header.mh-shrink .mh-text-element,
#master-header.mh-shrink .mh-element {
    transform: none !important;
    font-size: inherit !important;
    max-height: inherit !important;
}

#master-header.mh-shrink .mh-logo-main,
#master-header.mh-shrink .mh-logo-shrink {
    opacity: 1 !important;
    display: block;
}

#master-header.mh-shrink .mh-logo-shrink {
    display: none !important;
}


/* ============================================================
   V8.6 – OVERLAY COMPACT AT CONFIGURABLE SCROLL POINT
   ============================================================ */
#master-header.mh-over-hero {
    --mh-overlay-compact-inset: 4px;
}

#master-header.mh-over-hero.mh-overlay-compact::after {
    top: var(--mh-overlay-compact-inset, 4px);
    bottom: var(--mh-overlay-compact-inset, 4px);
    height: auto;
    transform: none;
}

#master-header.mh-over-hero.mh-overlay-compact .mh-inner {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
}

/* ============================================================
 * LOGO OVERFLOW / VISUAL OVERSIZE (PATCH)
 * Allows the logo to visually exceed the header height without
 * affecting the actual header layout height.
 * ============================================================ */
.mh-logo,
.mh-logo-link {
    overflow: visible;
}

.mh-logo-link {
    position: relative;
    justify-content: center;
}

/*
 * Main logo stays centered by flex alignment. The visual oversize is applied
 * via transform only, so the header height is not stretched.
 */
.mh-logo-main {
    transform: translateY(var(--mh-logo-offset-y, 0px)) scale(var(--mh-logo-visual-scale, 1));
    transform-origin: center center;
    will-change: transform;
}

/*
 * Shrink logo is absolutely positioned. We must preserve the base -50%/-50%
 * centering, otherwise the visual overflow would push it out of the true
 * header middle.
 */
.mh-logo-shrink {
    left: 50%;
    top: 50%;
    transform: translate(-50%, calc(-50% + var(--mh-logo-offset-y, 0px))) scale(var(--mh-logo-visual-scale, 1));
    transform-origin: center center;
    will-change: transform;
}

#master-header.mh-shrink .mh-logo-main {
    transform: translateY(var(--mh-logo-offset-y, 0px)) scale(calc(var(--mh-logo-visual-scale, 1) * var(--mh-logo-scale, .75)));
    transform-origin: center center;
}

#master-header.mh-shrink .mh-logo-shrink {
    transform: translate(-50%, calc(-50% + var(--mh-logo-offset-y, 0px))) scale(calc(var(--mh-logo-visual-scale, 1) * var(--mh-logo-scale, .75)));
    transform-origin: center center;
}

#master-header.mh-shrink-disabled.mh-shrink .mh-logo-main {
    transform: translateY(var(--mh-logo-offset-y, 0px)) scale(var(--mh-logo-visual-scale, 1)) !important;
}

#master-header.mh-shrink-disabled.mh-shrink .mh-logo-shrink {
    transform: translate(-50%, calc(-50% + var(--mh-logo-offset-y, 0px))) scale(var(--mh-logo-visual-scale, 1)) !important;
}


/* === v1.07.8 patch: reduced desktop/tablet drawer width + hover login panel === */
@media (min-width: 768px) and (max-width: 1024px) {
    .mh-drawer,
    .mh-drawer.mh-drawer-menu {
        left: auto !important;
        width: 40vw !important;
        max-width: 40vw !important;
        min-width: 340px !important;
        border-radius: 24px 0 0 24px !important;
    }
}

@media (min-width: 1025px) {
    .mh-drawer,
    .mh-drawer.mh-drawer-menu {
        left: auto !important;
        width: 40vw !important;
        max-width: 40vw !important;
        min-width: 380px !important;
        border-radius: 24px 0 0 24px !important;
    }
}

.mh-login-panel.mh-login-hover-desktop {
    width: 340px;
    max-width: min(340px, calc(100vw - 24px));
    padding: 0;
}
.mh-login-panel.mh-login-hover-desktop .mh-login-dialog {
    width: 100%;
    max-width: 100%;
    background: transparent;
    border: 0;
    box-shadow: none;
    border-radius: 0;
    padding: 14px;
    backdrop-filter: none;
}
.mh-login-panel.mh-login-hover-desktop .mh-auth-title {
    font-size: 15px;
    margin: 0 0 8px;
}
.mh-login-panel.mh-login-hover-desktop .mh-auth-input {
    min-height: 42px;
}
.mh-login-panel.mh-login-hover-desktop .mh-auth-submit {
    min-height: 42px;
}
.mh-login-panel.mh-login-hover-desktop::before {
    content: '';
    position: absolute;
    top: -8px;
    right: 18px;
    width: 14px;
    height: 14px;
    background: rgba(255,255,255,.98);
    border-top: 1px solid rgba(0,0,0,.10);
    border-left: 1px solid rgba(0,0,0,.10);
    transform: rotate(45deg);
}
html.mh-dark .mh-login-panel.mh-login-hover-desktop::before {
    background: rgba(17,24,39,.98);
    border-color: rgba(255,255,255,.14);
}
@media (max-width: 1024px) {
    .mh-login-panel.mh-login-hover-desktop {
        display: none !important;
    }
}


/* === v1.07.9 patch: premium Sternbild 03 hover login + visible text fix === */
.mh-login-panel.mh-login-hover-desktop {
    width: 380px;
    max-width: min(380px, calc(100vw - 24px));
    background: linear-gradient(180deg, rgba(255,255,255,.99), rgba(248,248,248,.98));
    color: #111111;
    border: 1px solid rgba(0,0,0,.08);
    box-shadow: 0 24px 60px rgba(0,0,0,.16);
    border-radius: 22px;
    overflow: visible;
}
.mh-login-panel.mh-login-hover-desktop,
.mh-login-panel.mh-login-hover-desktop *,
.mh-login-panel.mh-login-hover-desktop .mh-auth-label,
.mh-login-panel.mh-login-hover-desktop .mh-auth-help,
.mh-login-panel.mh-login-hover-desktop .mh-auth-title,
.mh-login-panel.mh-login-hover-desktop .mh-auth-link,
.mh-login-panel.mh-login-hover-desktop .mh-auth-switch {
    color: #111111;
}
.mh-login-panel.mh-login-hover-desktop .mh-login-dialog {
    padding: 18px;
    border-radius: 22px;
}
.mh-login-panel.mh-login-hover-desktop::before {
    top: -7px;
    right: 22px;
    width: 16px;
    height: 16px;
    background: #ffffff;
    border-top: 1px solid rgba(0,0,0,.08);
    border-left: 1px solid rgba(0,0,0,.08);
}
.mh-login-brand {
    margin: -2px -2px 14px;
    padding: 16px 16px 14px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(255,255,255,1), rgba(249,249,249,.96));
    border: 1px solid rgba(227,6,19,.10);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
}
.mh-login-brand-mark {
    display: flex;
    align-items: center;
    gap: 12px;
    line-height: 1;
}
.mh-login-brand-word {
    font-size: 26px;
    font-weight: 300;
    letter-spacing: .08em;
    color: #050505;
}
.mh-login-brand-badge {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    color: #c8141d;
    font-size: 24px;
    font-weight: 300;
    border-radius: 999px;
    border: 3px solid #c8141d;
}
.mh-login-brand-sub {
    margin-top: 10px;
    font-size: 12px;
    line-height: 1.45;
    color: rgba(17,17,17,.72);
}
.mh-login-panel.mh-login-hover-desktop .mh-auth-title {
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 10px;
}
.mh-login-panel.mh-login-hover-desktop .mh-auth-label {
    opacity: 1;
    color: rgba(17,17,17,.74);
    font-weight: 600;
}
.mh-login-panel.mh-login-hover-desktop .mh-auth-help {
    color: rgba(17,17,17,.58);
}
.mh-login-panel.mh-login-hover-desktop .mh-auth-input {
    min-height: 46px;
    background: #ffffff;
    color: #111111;
    border: 1px solid rgba(0,0,0,.10);
    border-radius: 14px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.95);
}
.mh-login-panel.mh-login-hover-desktop .mh-auth-input::placeholder {
    color: rgba(17,17,17,.42);
}
.mh-login-panel.mh-login-hover-desktop .mh-auth-input:focus {
    border-color: rgba(200,20,29,.35);
    box-shadow: 0 0 0 3px rgba(200,20,29,.10);
}
.mh-login-panel.mh-login-hover-desktop .mh-auth-remember {
    color: rgba(17,17,17,.78);
}
.mh-login-panel.mh-login-hover-desktop .mh-auth-submit {
    min-height: 46px;
    background: linear-gradient(135deg, #111111, #2a2a2a);
    color: #ffffff !important;
    border-radius: 14px;
    box-shadow: 0 12px 24px rgba(0,0,0,.14);
}
.mh-login-panel.mh-login-hover-desktop .mh-auth-submit:hover {
    opacity: 1;
    transform: translateY(-1px);
}
.mh-auth-meta-row {
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}
.mh-auth-link {
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    color: #c8141d;
}
.mh-auth-link:hover,
.mh-login-panel.mh-login-hover-desktop .mh-auth-switch:hover {
    text-decoration: underline;
}
.mh-login-panel.mh-login-hover-desktop .mh-auth-switch {
    padding: 0;
    font-size: 12px;
    font-weight: 700;
    color: #111111;
}
.mh-login-panel.mh-login-hover-desktop .mh-auth-msg {
    margin-top: 12px;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(0,0,0,.035);
    color: #111111;
}

/* Premium drawer polish for menu/cart/wishlist */
.mh-drawer.mh-drawer-menu .mh-drawer-header,
.mh-drawer.mh-drawer-cart .mh-drawer-header,
.mh-drawer.mh-drawer-wishlist .mh-drawer-header {
    background: var(--mh-offcanvas-header-bg, #cf8a3a);
    color: var(--mh-offcanvas-header-text, #ffffff);
    border-radius: 22px 0 0 0;
}
.mh-drawer.mh-drawer-menu .mh-drawer-title,
.mh-drawer.mh-drawer-cart .mh-drawer-title,
.mh-drawer.mh-drawer-wishlist .mh-drawer-title,
.mh-drawer.mh-drawer-menu .mh-drawer-close,
.mh-drawer.mh-drawer-cart .mh-drawer-close,
.mh-drawer.mh-drawer-wishlist .mh-drawer-close {
    color: var(--mh-offcanvas-header-text, #ffffff);
}
.mh-drawer.mh-drawer-menu .mh-drawer-close,
.mh-drawer.mh-drawer-cart .mh-drawer-close,
.mh-drawer.mh-drawer-wishlist .mh-drawer-close {
    background: color-mix(in srgb, var(--mh-offcanvas-header-text, #ffffff) 18%, transparent 82%);
    border: 1px solid color-mix(in srgb, var(--mh-offcanvas-header-text, #ffffff) 14%, transparent 86%);
}
.mh-mini-cart-actions .mh-button,
.mh-mini-wishlist-item-actions .mh-button {
    border-radius: 12px;
    background: linear-gradient(135deg, #3253df, #4461e8);
    color: #ffffff;
    box-shadow: 0 10px 22px rgba(50,83,223,.18);
}
html.mh-dark .mh-login-panel.mh-login-hover-desktop {
    background: linear-gradient(180deg, rgba(17,24,39,.99), rgba(12,17,28,.98));
    color: #f3f4f6;
    border-color: rgba(255,255,255,.12);
}
html.mh-dark .mh-login-panel.mh-login-hover-desktop,
html.mh-dark .mh-login-panel.mh-login-hover-desktop *,
html.mh-dark .mh-login-panel.mh-login-hover-desktop .mh-auth-label,
html.mh-dark .mh-login-panel.mh-login-hover-desktop .mh-auth-help,
html.mh-dark .mh-login-panel.mh-login-hover-desktop .mh-auth-title,
html.mh-dark .mh-login-panel.mh-login-hover-desktop .mh-auth-link,
html.mh-dark .mh-login-panel.mh-login-hover-desktop .mh-auth-switch {
    color: #f3f4f6;
}
html.mh-dark .mh-login-brand {
    background: linear-gradient(135deg, rgba(22,30,48,.95), rgba(17,24,39,.96));
    border-color: rgba(200,20,29,.22);
}
html.mh-dark .mh-login-brand-word { color: #ffffff; }
html.mh-dark .mh-login-brand-sub { color: rgba(243,244,246,.72); }
html.mh-dark .mh-login-panel.mh-login-hover-desktop .mh-auth-label { color: rgba(243,244,246,.76); }
html.mh-dark .mh-login-panel.mh-login-hover-desktop .mh-auth-help { color: rgba(243,244,246,.58); }
html.mh-dark .mh-login-panel.mh-login-hover-desktop .mh-auth-input {
    background: rgba(255,255,255,.06);
    color: #f3f4f6;
    border-color: rgba(255,255,255,.14);
}
html.mh-dark .mh-login-panel.mh-login-hover-desktop::before {
    background: rgba(17,24,39,.98);
    border-color: rgba(255,255,255,.14);
}


/* === v1.08.0 patch: compact hover auth sizing + no brand block === */
.mh-login-panel.mh-login-hover-desktop {
    width: 360px;
    max-width: min(360px, calc(100vw - 24px));
}
.mh-login-panel.mh-login-hover-desktop .mh-login-dialog,
.mh-login-panel.mh-login-hover-desktop .mh-auth-view,
.mh-login-panel.mh-login-hover-desktop .mh-auth-form,
.mh-login-panel.mh-login-hover-desktop .mh-auth-row,
.mh-login-panel.mh-login-hover-desktop .mh-auth-col {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}
.mh-login-panel.mh-login-hover-desktop .mh-auth-form {
    gap: 10px;
    overflow: hidden;
}
.mh-login-panel.mh-login-hover-desktop .mh-auth-row {
    gap: 10px;
}
.mh-login-panel.mh-login-hover-desktop .mh-auth-input,
.mh-login-panel.mh-login-hover-desktop input[type="text"],
.mh-login-panel.mh-login-hover-desktop input[type="email"],
.mh-login-panel.mh-login-hover-desktop input[type="password"] {
    display: block;
    inline-size: 100%;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}
.mh-login-panel.mh-login-hover-desktop .mh-login-brand {
    display: none !important;
}
.mh-login-panel.mh-login-hover-desktop .mh-auth-title {
    margin: 0 0 6px;
}
.mh-login-panel.mh-login-hover-desktop .mh-auth-submit {
    margin-top: 2px;
}
.mh-login-panel.mh-login-hover-desktop .mh-auth-meta-row {
    justify-content: space-between;
    align-items: center;
}
.mh-login-panel.mh-login-hover-desktop .mh-auth-meta-row-register {
    justify-content: flex-end;
    margin-top: 8px;
}
.mh-login-panel.mh-login-hover-desktop .mh-auth-form-register-compact .mh-auth-input {
    min-height: 42px;
}
@media (max-width: 420px) {
    .mh-login-panel.mh-login-hover-desktop {
        width: min(360px, calc(100vw - 18px));
        max-width: calc(100vw - 18px);
    }
}

/* === v1.08.2 patch: elevated premium drawer + account hover redesign === */

/* Shared premium surfaces */
.mh-drawer.mh-drawer-cart,
.mh-drawer.mh-drawer-wishlist,
.mh-account-hover-desktop {
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

/* Premium cart + wishlist drawer */
.mh-drawer.mh-drawer-cart,
.mh-drawer.mh-drawer-wishlist {
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--mh-offcanvas-panel-bg, #f7f4ef) 96%, #ffffff 4%) 0%, var(--mh-offcanvas-panel-bg, #f7f4ef) 100%);
    color: var(--mh-offcanvas-panel-text, #1f2937);
    border-left: 1px solid color-mix(in srgb, var(--mh-offcanvas-item-border, rgba(0,0,0,.08)) 78%, #ffffff 22%);
    box-shadow: -24px 0 60px rgba(15, 23, 42, .14);
    border-radius: 26px 0 0 26px;
}
.mh-drawer.mh-drawer-cart .mh-drawer-header,
.mh-drawer.mh-drawer-wishlist .mh-drawer-header {
    background: transparent;
    color: var(--mh-offcanvas-panel-text, #1f2937);
    border-bottom: 1px solid color-mix(in srgb, var(--mh-offcanvas-item-border, rgba(0,0,0,.10)) 70%, transparent 30%);
    padding: 24px 24px 18px;
    border-radius: 0;
}
.mh-drawer.mh-drawer-cart .mh-drawer-title,
.mh-drawer.mh-drawer-wishlist .mh-drawer-title {
    font-size: clamp(24px, 2vw, 30px);
    font-weight: 700;
    letter-spacing: -.02em;
    color: var(--mh-offcanvas-panel-text, #111827);
}
.mh-drawer.mh-drawer-cart .mh-drawer-close,
.mh-drawer.mh-drawer-wishlist .mh-drawer-close {
    width: 52px;
    height: 52px;
    border-radius: 18px;
    background: color-mix(in srgb, var(--mh-offcanvas-item-bg, #ffffff) 80%, transparent 20%);
    color: var(--mh-offcanvas-panel-text, #111827);
    border: 1px solid color-mix(in srgb, var(--mh-offcanvas-item-border, rgba(0,0,0,.10)) 78%, #ffffff 22%);
    box-shadow: 0 10px 22px rgba(15,23,42,.08);
}
.mh-drawer.mh-drawer-cart .mh-drawer-close:hover,
.mh-drawer.mh-drawer-wishlist .mh-drawer-close:hover {
    transform: translateY(-1px);
    background: color-mix(in srgb, var(--mh-offcanvas-item-hover-bg, #f3f4f6) 90%, #ffffff 10%);
}
.mh-drawer.mh-drawer-cart .mh-drawer-content,
.mh-drawer.mh-drawer-wishlist .mh-drawer-content {
    padding: 18px 24px 24px;
}
.mh-drawer.mh-drawer-cart .mh-drawer-footer,
.mh-drawer.mh-drawer-wishlist .mh-drawer-footer {
    background: transparent;
    border-top: 1px solid color-mix(in srgb, var(--mh-offcanvas-item-border, rgba(0,0,0,.10)) 70%, transparent 30%);
    padding: 18px 24px 24px;
}

.mh-drawer.mh-drawer-cart .mh-mini-cart-item,
.mh-drawer.mh-drawer-wishlist .mh-mini-cart-item {
    grid-template-columns: 84px 1fr;
    gap: 16px;
    padding: 18px;
    border-radius: 22px;
    background: color-mix(in srgb, var(--mh-offcanvas-item-bg, #ffffff) 96%, transparent 4%);
    border: 1px solid color-mix(in srgb, var(--mh-offcanvas-item-border, rgba(0,0,0,.08)) 72%, #ffffff 28%);
    box-shadow: 0 10px 28px rgba(15,23,42,.05);
}
.mh-drawer.mh-drawer-cart .mh-mini-cart-thumb img,
.mh-drawer.mh-drawer-wishlist .mh-mini-cart-thumb img {
    width: 84px;
    height: 84px;
    border-radius: 18px;
}
.mh-drawer.mh-drawer-cart .mh-mini-cart-name,
.mh-drawer.mh-drawer-wishlist .mh-mini-cart-name {
    font-size: 18px;
    line-height: 1.32;
    font-weight: 600;
    color: var(--mh-offcanvas-panel-text, #111827);
}
.mh-drawer.mh-drawer-cart .mh-mini-cart-price,
.mh-drawer.mh-drawer-wishlist .mh-mini-cart-price {
    font-size: 16px;
    font-weight: 500;
    color: color-mix(in srgb, var(--mh-offcanvas-panel-text, #111827) 78%, transparent 22%);
}
.mh-drawer.mh-drawer-cart .mh-mini-cart-remove,
.mh-drawer.mh-drawer-wishlist .mh-mini-cart-remove {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-radius: 12px;
    border: 1px solid color-mix(in srgb, var(--mh-offcanvas-item-border, rgba(0,0,0,.08)) 78%, #ffffff 22%);
    background: color-mix(in srgb, var(--mh-offcanvas-item-bg, #ffffff) 92%, transparent 8%);
}
.mh-drawer.mh-drawer-cart .mh-mini-cart-qty,
.mh-drawer.mh-drawer-wishlist .mh-mini-cart-qty {
    border-radius: 16px;
    padding: 6px;
    border-color: color-mix(in srgb, var(--mh-offcanvas-item-border, rgba(0,0,0,.10)) 78%, #ffffff 22%);
    background: color-mix(in srgb, var(--mh-offcanvas-item-bg, #ffffff) 92%, transparent 8%);
}
.mh-drawer.mh-drawer-cart .mh-qty-btn,
.mh-drawer.mh-drawer-wishlist .mh-qty-btn {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    color: var(--mh-offcanvas-panel-text, #111827);
}
.mh-drawer.mh-drawer-cart .mh-qty-btn:hover,
.mh-drawer.mh-drawer-wishlist .mh-qty-btn:hover {
    background: color-mix(in srgb, var(--mh-offcanvas-item-hover-bg, #f3f4f6) 84%, transparent 16%);
}
.mh-drawer.mh-drawer-cart .mh-qty-input,
.mh-drawer.mh-drawer-wishlist .mh-qty-input {
    font-size: 16px;
    font-weight: 600;
}
.mh-drawer.mh-drawer-cart .mh-mini-cart-totals,
.mh-drawer.mh-drawer-wishlist .mh-mini-cart-totals {
    margin-top: 20px;
    padding: 18px 0 0;
    border-top-style: solid;
    border-top-width: 1px;
    font-size: 15px;
    gap: 12px;
}
.mh-drawer.mh-drawer-cart .mh-mini-nettotal,
.mh-drawer.mh-drawer-wishlist .mh-mini-nettotal {
    font-weight: 500;
}
.mh-drawer.mh-drawer-cart .mh-mini-gross,
.mh-drawer.mh-drawer-wishlist .mh-mini-gross {
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -.02em;
}
.mh-mini-cart-actions {
    gap: 12px;
    margin-top: 18px;
}
.mh-mini-cart-actions .mh-button,
.mh-mini-wishlist-item-actions .mh-button {
    min-height: 52px;
    border-radius: 16px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: -.01em;
    box-shadow: none;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}
.mh-mini-cart-actions .mh-button:hover,
.mh-mini-wishlist-item-actions .mh-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(15,23,42,.10);
}
.mh-drawer.mh-drawer-cart .mh-button.mh-secondary,
.mh-drawer.mh-drawer-wishlist .mh-button.mh-secondary {
    background: color-mix(in srgb, var(--mh-offcanvas-item-bg, #ffffff) 96%, transparent 4%);
    color: var(--mh-offcanvas-panel-text, #111827);
    border: 1px solid color-mix(in srgb, var(--mh-offcanvas-item-border, rgba(0,0,0,.10)) 78%, #ffffff 22%);
}
.mh-drawer.mh-drawer-cart .mh-button.mh-primary,
.mh-drawer.mh-drawer-wishlist .mh-button.mh-primary,
.mh-mini-cart-actions .mh-button:not(.mh-secondary),
.mh-mini-wishlist-item-actions .mh-button:not(.mh-secondary) {
    background: var(--mh-offcanvas-header-bg, #111827);
    color: var(--mh-offcanvas-header-text, #ffffff);
    border: 1px solid color-mix(in srgb, var(--mh-offcanvas-header-bg, #111827) 70%, #000000 30%);
}
.mh-drawer.mh-drawer-wishlist .mh-mini-wishlist-empty,
.mh-drawer.mh-drawer-cart .woocommerce-mini-cart__empty-message {
    padding: 18px 20px;
    border-radius: 18px;
    background: color-mix(in srgb, var(--mh-offcanvas-item-bg, #ffffff) 94%, transparent 6%);
    border: 1px dashed color-mix(in srgb, var(--mh-offcanvas-item-border, rgba(0,0,0,.12)) 78%, transparent 22%);
    font-size: 15px;
    color: color-mix(in srgb, var(--mh-offcanvas-panel-text, #111827) 70%, transparent 30%);
}

/* Premium account hover */
.mh-account-hover-desktop {
    width: 340px;
    max-width: min(340px, calc(100vw - 24px));
    padding: 0;
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,247,248,.97));
    border: 1px solid rgba(15,23,42,.08);
    box-shadow: 0 24px 60px rgba(15,23,42,.16);
    border-radius: 24px;
    overflow: visible;
}
.mh-account-hover-desktop::before {
    content: '';
    position: absolute;
    top: -8px;
    right: 26px;
    width: 16px;
    height: 16px;
    transform: rotate(45deg);
    background: rgba(255,255,255,.98);
    border-top: 1px solid rgba(15,23,42,.08);
    border-left: 1px solid rgba(15,23,42,.08);
}
.mh-account-hover-desktop .mh-account-dialog {
    padding: 18px;
}
.mh-account-hover-desktop .mh-account-head {
    gap: 6px;
    margin-bottom: 14px;
    padding: 0 0 16px;
    border-bottom: 1px solid rgba(15,23,42,.08);
}
.mh-account-hover-desktop .mh-account-kicker {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .16em;
    color: rgba(15,23,42,.42);
}
.mh-account-hover-desktop .mh-account-name {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -.03em;
    color: #0f172a;
}
.mh-account-hover-desktop .mh-account-links {
    gap: 10px;
}
.mh-account-hover-desktop .mh-account-link {
    position: relative;
    padding: 16px 18px;
    border-radius: 18px;
    background: rgba(255,255,255,.78);
    border: 1px solid rgba(15,23,42,.08);
    color: #0f172a;
    font-size: 17px;
    font-weight: 600;
    box-shadow: 0 6px 18px rgba(15,23,42,.04);
}
.mh-account-hover-desktop .mh-account-link::after {
    content: '→';
    font-size: 16px;
    color: rgba(15,23,42,.42);
    transition: transform .18s ease, color .18s ease;
}
.mh-account-hover-desktop .mh-account-link:hover {
    background: #ffffff;
    border-color: rgba(15,23,42,.12);
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(15,23,42,.08);
}
.mh-account-hover-desktop .mh-account-link:hover::after {
    transform: translateX(2px);
    color: rgba(15,23,42,.75);
}
.mh-account-hover-desktop .mh-account-link-logout {
    color: #9f2d22;
}
.mh-account-hover-desktop .mh-account-link-logout::after {
    color: rgba(159,45,34,.58);
}

html.mh-dark .mh-drawer.mh-drawer-cart,
html.mh-dark .mh-drawer.mh-drawer-wishlist {
    box-shadow: -24px 0 60px rgba(0,0,0,.28);
}
html.mh-dark .mh-drawer.mh-drawer-cart .mh-drawer-header,
html.mh-dark .mh-drawer.mh-drawer-wishlist .mh-drawer-header {
    border-bottom-color: rgba(255,255,255,.12);
}
html.mh-dark .mh-drawer.mh-drawer-cart .mh-drawer-close,
html.mh-dark .mh-drawer.mh-drawer-wishlist .mh-drawer-close {
    background: rgba(255,255,255,.06);
    border-color: rgba(255,255,255,.12);
    color: #f8fafc;
}
html.mh-dark .mh-account-hover-desktop {
    background: linear-gradient(180deg, rgba(15,23,42,.98), rgba(11,18,32,.98));
    border-color: rgba(255,255,255,.10);
    box-shadow: 0 24px 60px rgba(0,0,0,.34);
}
html.mh-dark .mh-account-hover-desktop::before {
    background: rgba(15,23,42,.98);
    border-color: rgba(255,255,255,.10);
}
html.mh-dark .mh-account-hover-desktop .mh-account-head {
    border-bottom-color: rgba(255,255,255,.10);
}
html.mh-dark .mh-account-hover-desktop .mh-account-kicker {
    color: rgba(248,250,252,.46);
}
html.mh-dark .mh-account-hover-desktop .mh-account-name,
html.mh-dark .mh-account-hover-desktop .mh-account-link {
    color: #f8fafc;
}
html.mh-dark .mh-account-hover-desktop .mh-account-link {
    background: rgba(255,255,255,.04);
    border-color: rgba(255,255,255,.10);
    box-shadow: none;
}
html.mh-dark .mh-account-hover-desktop .mh-account-link::after {
    color: rgba(248,250,252,.42);
}
html.mh-dark .mh-account-hover-desktop .mh-account-link:hover {
    background: rgba(255,255,255,.07);
    border-color: rgba(255,255,255,.16);
    box-shadow: 0 12px 24px rgba(0,0,0,.16);
}
html.mh-dark .mh-account-hover-desktop .mh-account-link:hover::after {
    color: rgba(248,250,252,.78);
}
html.mh-dark .mh-account-hover-desktop .mh-account-link-logout {
    color: #fca5a5;
}

@media (max-width: 1024px) {
    .mh-drawer.mh-drawer-cart .mh-drawer-header,
    .mh-drawer.mh-drawer-wishlist .mh-drawer-header,
    .mh-drawer.mh-drawer-cart .mh-drawer-content,
    .mh-drawer.mh-drawer-wishlist .mh-drawer-content,
    .mh-drawer.mh-drawer-cart .mh-drawer-footer,
    .mh-drawer.mh-drawer-wishlist .mh-drawer-footer {
        padding-left: 18px;
        padding-right: 18px;
    }
    .mh-drawer.mh-drawer-cart .mh-drawer-title,
    .mh-drawer.mh-drawer-wishlist .mh-drawer-title {
        font-size: 20px;
    }
    .mh-drawer.mh-drawer-cart .mh-mini-cart-item,
    .mh-drawer.mh-drawer-wishlist .mh-mini-cart-item {
        grid-template-columns: 72px 1fr;
        padding: 14px;
        gap: 14px;
    }
    .mh-drawer.mh-drawer-cart .mh-mini-cart-thumb img,
    .mh-drawer.mh-drawer-wishlist .mh-mini-cart-thumb img {
        width: 72px;
        height: 72px;
    }
    .mh-account-hover-desktop {
        width: 320px;
        max-width: min(320px, calc(100vw - 18px));
    }
    .mh-account-hover-desktop .mh-account-name {
        font-size: 24px;
    }
    .mh-account-hover-desktop .mh-account-link {
        font-size: 16px;
        padding: 14px 16px;
    }
}


/* ============================================================
 * PREMIUM WOO LIVE SEARCH UI
 * ============================================================ */
.mh-search-modal {
    padding: 52px 18px 18px;
}

.mh-search-dialog {
    width: min(920px, 100%);
    background: linear-gradient(180deg, rgba(255,255,255,.985) 0%, rgba(250,250,251,.97) 100%);
    border: 1px solid rgba(24,24,27,.08);
    border-radius: 28px;
    box-shadow: 0 40px 120px rgba(0,0,0,.22);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}
html.mh-dark .mh-search-dialog {
    background: linear-gradient(180deg, rgba(17,24,39,.98) 0%, rgba(10,14,25,.96) 100%);
    border-color: rgba(255,255,255,.10);
    box-shadow: 0 40px 120px rgba(0,0,0,.42);
}

.mh-search-top {
    padding: 18px 18px 14px;
    border-bottom: 1px solid rgba(24,24,27,.06);
}

.mh-search-field {
    min-height: 62px;
    border-radius: 20px;
    border: 1px solid rgba(24,24,27,.08);
    background: rgba(255,255,255,.84);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.65), 0 8px 24px rgba(24,24,27,.04);
    padding: 0 14px;
}
.mh-search-field:focus-within {
    border-color: rgba(0,0,0,.18);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.75), 0 0 0 4px rgba(0,0,0,.04), 0 16px 40px rgba(24,24,27,.08);
}
html.mh-dark .mh-search-field {
    background: rgba(255,255,255,.055);
    border-color: rgba(255,255,255,.12);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.03), 0 8px 24px rgba(0,0,0,.18);
}
html.mh-dark .mh-search-field:focus-within {
    border-color: rgba(255,255,255,.22);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 0 0 4px rgba(255,255,255,.04), 0 16px 40px rgba(0,0,0,.22);
}

.mh-search-field-icon {
    opacity: .6;
}
.mh-search-field-icon svg {
    width: 20px;
    height: 20px;
}

.mh-search-modal .mh-search-input {
    padding: 16px 10px;
    font-size: 17px;
    font-weight: 500;
}
.mh-search-modal .mh-search-input::placeholder {
    color: rgba(17,24,39,.48);
}
html.mh-dark .mh-search-modal .mh-search-input::placeholder {
    color: rgba(229,231,235,.46);
}

.mh-search-submit {
    min-width: 130px;
    min-height: 46px;
    padding: 10px 16px;
    border-radius: 15px;
    font-weight: 700;
    letter-spacing: .01em;
    box-shadow: 0 10px 26px rgba(17,24,39,.14);
    transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}
.mh-search-submit:hover {
    transform: translateY(-1px);
    box-shadow: 0 16px 32px rgba(17,24,39,.18);
}

.mh-search-close {
    height: 46px;
    min-width: 46px;
    border: 1px solid rgba(24,24,27,.08);
    background: rgba(255,255,255,.72);
    box-shadow: 0 8px 22px rgba(24,24,27,.06);
}
.mh-search-close:hover {
    background: rgba(255,255,255,.92);
}
html.mh-dark .mh-search-close {
    border-color: rgba(255,255,255,.12);
    background: rgba(255,255,255,.06);
}

.mh-search-modal .mh-search-results {
    margin: 0 18px 18px;
    border-radius: 22px;
    border: 1px solid rgba(24,24,27,.06);
    background: linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(248,248,249,.88) 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 18px 50px rgba(24,24,27,.08);
    max-height: calc(100vh - 208px);
    max-height: calc(100dvh - 208px);
    padding: 10px;
}
html.mh-dark .mh-search-modal .mh-search-results {
    border-color: rgba(255,255,255,.10);
    background: linear-gradient(180deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.03) 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.03), 0 18px 50px rgba(0,0,0,.24);
}

.mh-search-loading,
.mh-search-empty {
    padding: 18px 16px;
    font-size: 14px;
    border-radius: 16px;
}

.mh-search-modal .mh-search-item,
.mh-search-results .mh-search-item {
    grid-template-columns: 72px 1fr;
    gap: 14px;
    padding: 14px;
    border: 1px solid transparent;
    border-bottom: none;
    border-radius: 18px;
    background: transparent;
    transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.mh-search-modal .mh-search-item + .mh-search-item,
.mh-search-results .mh-search-item + .mh-search-item {
    margin-top: 8px;
}
.mh-search-modal .mh-search-item:hover,
.mh-search-results .mh-search-item:hover {
    transform: translateY(-1px);
    background: rgba(255,255,255,.9);
    border-color: rgba(24,24,27,.07);
    box-shadow: 0 14px 28px rgba(24,24,27,.08);
}
html.mh-dark .mh-search-modal .mh-search-item:hover,
html.mh-dark .mh-search-results .mh-search-item:hover {
    background: rgba(255,255,255,.05);
    border-color: rgba(255,255,255,.10);
    box-shadow: 0 14px 28px rgba(0,0,0,.22);
}

.mh-search-modal .mh-search-img img,
.mh-search-results .mh-search-img img,
.mh-search-modal .mh-search-ph,
.mh-search-results .mh-search-ph {
    width: 72px;
    height: 72px;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(0,0,0,.03), rgba(0,0,0,.06));
}

.mh-search-title {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.28;
    color: #111827;
}
html.mh-dark .mh-search-title { color: #f3f4f6; }

.mh-search-txt {
    gap: 6px;
}

.mh-search-row1 {
    align-items: flex-start;
    gap: 16px;
}

.mh-search-price {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(17,24,39,.05);
    font-size: 13px;
    font-weight: 700;
    color: #111827;
}
html.mh-dark .mh-search-price {
    background: rgba(255,255,255,.08);
    color: #f3f4f6;
}

.mh-search-desc {
    font-size: 13px;
    line-height: 1.45;
    opacity: .72;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.mh-search-all {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 10px;
    padding: 14px 16px;
    border: 1px solid rgba(24,24,27,.08);
    border-radius: 18px;
    background: rgba(255,255,255,.8);
    color: #111827;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: transform .18s ease, background .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.mh-search-all:hover {
    transform: translateY(-1px);
    background: rgba(255,255,255,.96);
    box-shadow: 0 14px 30px rgba(24,24,27,.08);
    border-color: rgba(24,24,27,.12);
}
html.mh-dark .mh-search-all {
    background: rgba(255,255,255,.05);
    color: #f3f4f6;
    border-color: rgba(255,255,255,.10);
}
html.mh-dark .mh-search-all:hover {
    background: rgba(255,255,255,.08);
}

@media (min-width: 1024px) {
    .mh-search-results .mh-search-item {
        grid-template-columns: 96px 1fr;
        gap: 16px;
        padding: 16px;
    }
    .mh-search-results .mh-search-img img,
    .mh-search-results .mh-search-ph {
        width: 96px;
        height: 96px;
        border-radius: 20px;
    }
    .mh-search-results .mh-search-title {
        font-size: 17px;
    }
}

@media (max-width: 1024px) {
    .mh-search-modal {
        padding: 0;
    }
    .mh-search-dialog {
        width: 100%;
        height: 100%;
        max-height: 100vh;
        max-height: 100dvh;
        border-radius: 0;
    }
    .mh-search-top {
        padding: 14px;
    }
    .mh-search-modal .mh-search-results {
        margin: 0 14px 14px;
        border-radius: 18px;
        padding: 8px;
        max-height: calc(100vh - 170px);
        max-height: calc(100dvh - 170px);
    }
}

@media (max-width: 640px) {
    .mh-search-field {
        min-height: 56px;
        border-radius: 18px;
    }
    .mh-search-submit {
        min-width: 0;
        padding: 10px 12px;
    }
    .mh-search-modal .mh-search-item,
    .mh-search-results .mh-search-item {
        grid-template-columns: 56px 1fr;
        gap: 12px;
        padding: 12px;
        border-radius: 16px;
    }
    .mh-search-modal .mh-search-img img,
    .mh-search-results .mh-search-img img,
    .mh-search-modal .mh-search-ph,
    .mh-search-results .mh-search-ph {
        width: 56px;
        height: 56px;
        border-radius: 14px;
    }
    .mh-search-title {
        font-size: 15px;
    }
    .mh-search-price {
        padding: 6px 10px;
        font-size: 12px;
    }
    .mh-search-row1 {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
}


/* ============================================================
 * AMAZON-LIKE WOO LIVE SEARCH ENHANCEMENTS
 * ============================================================ */
.mh-search-top {
    position: relative;
    padding-right: 84px;
}
.mh-search-top .mh-search-form {
    margin-right: 10px;
}
.mh-search-close {
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
}
.mh-search-section {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.mh-search-section + .mh-search-section {
    margin-top: 12px;
}
.mh-search-section-compact {
    padding-top: 8px;
    border-top: 1px solid rgba(24,24,27,.07);
}
.mh-search-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 6px 8px 4px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: rgba(17,24,39,.48);
}
.mh-search-section-head strong {
    text-transform: none;
    letter-spacing: 0;
    font-size: 13px;
    color: #111827;
}
.mh-search-suggestions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 0 4px 6px;
}
.mh-search-suggestion {
    appearance: none;
    border: 1px solid rgba(24,24,27,.08);
    background: rgba(255,255,255,.92);
    color: #111827;
    border-radius: 999px;
    padding: 10px 14px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}
.mh-search-suggestion:hover,
.mh-search-suggestion.is-active,
.mh-search-item.is-active,
.mh-search-all.is-active {
    transform: translateY(-1px);
    border-color: rgba(17,24,39,.16);
    box-shadow: 0 14px 26px rgba(15,23,42,.08);
    background: #fff;
}
.mh-search-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.mh-search-meta-pill {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(17,24,39,.05);
    color: rgba(17,24,39,.76);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .02em;
}
html.mh-dark .mh-search-section-compact {
    border-top-color: rgba(255,255,255,.08);
}
html.mh-dark .mh-search-section-head {
    color: rgba(229,231,235,.48);
}
html.mh-dark .mh-search-section-head strong,
html.mh-dark .mh-search-suggestion {
    color: #f3f4f6;
}
html.mh-dark .mh-search-suggestion {
    background: rgba(255,255,255,.05);
    border-color: rgba(255,255,255,.10);
}
html.mh-dark .mh-search-suggestion:hover,
html.mh-dark .mh-search-suggestion.is-active,
html.mh-dark .mh-search-item.is-active,
html.mh-dark .mh-search-all.is-active {
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.16);
    box-shadow: 0 14px 26px rgba(0,0,0,.22);
}
html.mh-dark .mh-search-meta-pill {
    background: rgba(255,255,255,.08);
    color: rgba(243,244,246,.82);
}
@media (max-width: 640px) {
    .mh-search-top {
        padding-right: 72px;
    }
    .mh-search-close {
        right: 14px;
    }
    .mh-search-suggestions {
        gap: 8px;
    }
    .mh-search-suggestion {
        padding: 9px 12px;
        font-size: 12px;
    }
}

/* ============================================================
 * Master Header 1.08 – Enterprise Motion & Right Drawer Upgrade
 * - rechter Premium-Offcanvas
 * - animiertes Hamburger-X
 * - gestaffelte Menüanimationen
 * - hochwertigere Hover-/Focus-Zustände
 * ============================================================ */
#master-header {
    isolation: isolate;
    --mh-enterprise-ease: cubic-bezier(.22, 1, .36, 1);
    --mh-enterprise-shadow: 0 22px 70px rgba(15, 23, 42, .14);
}

body.mh-has-master-header #master-header .mh-inner {
    padding-left: clamp(16px, 3vw, 42px);
    padding-right: clamp(16px, 3vw, 42px);
}

#master-header .mh-column > * {
    animation: mhHeaderElementIn .48s var(--mh-enterprise-ease) both;
}
#master-header .mh-column:nth-child(2) > * { animation-delay: .04s; }
#master-header .mh-column:nth-child(3) > * { animation-delay: .08s; }

@keyframes mhHeaderElementIn {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
}

#master-header.is-scrolled,
#master-header.mh-shrink {
    box-shadow: 0 18px 55px rgba(15, 23, 42, .10);
}

/* Desktop-Menü: hochwertiger Hover-Strich + aktive Seite */
#master-header .mh-menu-inline .mh-menu-list > li > a {
    position: relative;
    overflow: hidden;
    transition: color .22s ease, background .22s ease, transform .22s ease, box-shadow .22s ease;
}
#master-header .mh-menu-inline .mh-menu-list > li > a:hover {
    transform: translateY(-1px);
}
#master-header .mh-menu-inline .mh-menu-list > li > a::after {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 6px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    opacity: .92;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .28s var(--mh-enterprise-ease), opacity .22s ease;
}
#master-header .mh-menu-inline .mh-menu-list > li > a:hover::after,
#master-header .mh-menu-inline .current-menu-item > a::after,
#master-header .mh-menu-inline .current_page_item > a::after,
#master-header .mh-menu-inline .current-menu-ancestor > a::after {
    transform: scaleX(1);
}

/* Hamburger Trigger: Premium-Kachel mit Morphing in X */
.mh-hamburger {
    position: relative;
    overflow: hidden;
    border-radius: 18px;
    background: linear-gradient(135deg, var(--mh-offcanvas-trigger-bg, #ffffff), color-mix(in srgb, var(--mh-offcanvas-trigger-bg, #ffffff) 78%, #eef4ff 22%));
    box-shadow: 0 14px 34px rgba(15, 23, 42, .12), inset 0 1px 0 rgba(255,255,255,.70);
    transition: transform .22s var(--mh-enterprise-ease), box-shadow .22s ease, border-color .22s ease, background .22s ease;
}
.mh-hamburger::before {
    content: "";
    position: absolute;
    inset: -45% auto -45% -80%;
    width: 72%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.58), transparent);
    transform: rotate(18deg) translateX(0);
    transition: transform .55s var(--mh-enterprise-ease);
    pointer-events: none;
}
.mh-hamburger:hover::before,
.mh-hamburger.is-active::before {
    transform: rotate(18deg) translateX(270%);
}
.mh-hamburger:hover {
    transform: translateY(-2px) scale(1.02);
    box-shadow: 0 20px 45px rgba(15, 23, 42, .18), inset 0 1px 0 rgba(255,255,255,.76);
}
.mh-hamburger:active {
    transform: translateY(0) scale(.98);
}
.mh-hamburger-box span {
    transform-origin: center;
    transition: transform .28s var(--mh-enterprise-ease), opacity .18s ease, width .22s ease;
}
.mh-hamburger:hover .mh-hamburger-box span:nth-child(2) {
    width: 72%;
    margin-left: auto;
}
.mh-hamburger.is-active .mh-hamburger-box span:nth-child(1) {
    transform: translateY(calc(var(--mh-hamburger-icon-size-desktop, 20px) * .32)) rotate(45deg);
}
.mh-hamburger.is-active .mh-hamburger-box span:nth-child(2) {
    opacity: 0;
    transform: scaleX(0);
}
.mh-hamburger.is-active .mh-hamburger-box span:nth-child(3) {
    transform: translateY(calc(var(--mh-hamburger-icon-size-desktop, 20px) * -.32)) rotate(-45deg);
}

/* Overlay: dezentes Blur statt flachem Schwarz */
.mh-drawer-overlay {
    background:
        radial-gradient(circle at 80% 20%, rgba(255,255,255,.18), transparent 26%),
        rgba(15, 23, 42, .50);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: opacity .28s var(--mh-enterprise-ease), backdrop-filter .28s ease;
}

/* Body-Portal kompatibel: Drawer bleibt garantiert rechts und fährt von rechts ein */
body .mh-drawer.mh-drawer-right {
    left: auto !important;
    right: 0 !important;
    transform: translate3d(110%, 0, 0) scale(.985) !important;
    opacity: 0;
    will-change: transform, opacity;
    transition: transform .44s var(--mh-enterprise-ease), opacity .30s ease, box-shadow .30s ease;
}
body .mh-drawer.mh-drawer-right.is-open {
    transform: translate3d(0, 0, 0) scale(1) !important;
    opacity: 1;
}
body .mh-drawer.mh-drawer-enterprise,
body .mh-drawer.mh-drawer-menu {
    width: min(500px, 92vw);
    border-radius: 30px 0 0 30px;
    border-left: 1px solid rgba(255,255,255,.30);
    background:
        linear-gradient(145deg, color-mix(in srgb, var(--mh-offcanvas-panel-bg, #f6f7fb) 92%, #ffffff 8%), var(--mh-offcanvas-panel-bg, #f6f7fb));
    box-shadow: -28px 0 90px rgba(15, 23, 42, .30);
}
body .mh-drawer.mh-drawer-menu .mh-drawer-header {
    position: sticky;
    top: 0;
    z-index: 2;
    min-height: 72px;
    background:
        linear-gradient(135deg, var(--mh-offcanvas-header-bg, #111827), color-mix(in srgb, var(--mh-offcanvas-header-bg, #111827) 72%, #2563eb 28%));
    box-shadow: 0 16px 34px rgba(15, 23, 42, .16);
}
body .mh-drawer.mh-drawer-menu .mh-drawer-title {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    letter-spacing: -.02em;
}
body .mh-drawer.mh-drawer-menu .mh-drawer-title::before {
    content: "";
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: currentColor;
    box-shadow: 0 0 0 7px rgba(255,255,255,.16);
}
body .mh-drawer .mh-drawer-close {
    transition: transform .20s var(--mh-enterprise-ease), background .20s ease, box-shadow .20s ease;
}
body .mh-drawer .mh-drawer-close:hover {
    transform: rotate(90deg) scale(1.04);
    box-shadow: 0 12px 28px rgba(15, 23, 42, .14);
}

/* Offcanvas Menü: Cards, Stagger, bessere Submenus */
body .mh-drawer-menu .mh-drawer-content {
    padding: 16px;
}
body .mh-offcanvas-list {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}
body .mh-offcanvas-list > li {
    opacity: 0;
    transform: translateX(28px);
    transition: opacity .34s ease, transform .42s var(--mh-enterprise-ease);
    transition-delay: calc((var(--mh-stagger, 0) * 34ms) + 70ms);
}
body .mh-drawer-menu.is-open .mh-offcanvas-list > li {
    opacity: 1;
    transform: translateX(0);
}
body .mh-offcanvas-list a {
    position: relative;
    min-height: 48px;
    display: flex;
    align-items: center;
    padding: 13px 44px 13px 16px;
    border: 1px solid var(--mh-offcanvas-item-border, rgba(15, 23, 42, .08));
    border-radius: 18px;
    background: color-mix(in srgb, var(--mh-offcanvas-item-bg, #ffffff) 92%, transparent 8%);
    color: var(--mh-offcanvas-item-text, #111827);
    box-shadow: 0 12px 30px rgba(15, 23, 42, .055);
    text-decoration: none;
    overflow: hidden;
    transition: transform .24s var(--mh-enterprise-ease), background .22s ease, box-shadow .22s ease, border-color .22s ease;
}
body .mh-offcanvas-list a::before {
    content: "";
    position: absolute;
    inset: 10px auto 10px 0;
    width: 3px;
    border-radius: 999px;
    background: currentColor;
    opacity: 0;
    transform: scaleY(.35);
    transition: opacity .22s ease, transform .24s var(--mh-enterprise-ease);
}
body .mh-offcanvas-list a::after {
    content: "›";
    position: absolute;
    right: 17px;
    top: 50%;
    transform: translateY(-50%) translateX(-5px);
    opacity: 0;
    font-size: 22px;
    line-height: 1;
    transition: opacity .22s ease, transform .24s var(--mh-enterprise-ease);
}
body .mh-offcanvas-list a:hover,
body .mh-offcanvas-list .current-menu-item > a,
body .mh-offcanvas-list .current_page_item > a,
body .mh-offcanvas-list .current-menu-ancestor > a {
    transform: translateX(-4px);
    background: var(--mh-offcanvas-item-hover-bg, #ffffff);
    border-color: color-mix(in srgb, var(--mh-offcanvas-item-border, rgba(15,23,42,.10)) 52%, currentColor 48%);
    box-shadow: 0 18px 42px rgba(15, 23, 42, .10);
}
body .mh-offcanvas-list a:hover::before,
body .mh-offcanvas-list .current-menu-item > a::before,
body .mh-offcanvas-list .current_page_item > a::before,
body .mh-offcanvas-list .current-menu-ancestor > a::before {
    opacity: .9;
    transform: scaleY(1);
}
body .mh-offcanvas-list a:hover::after {
    opacity: .65;
    transform: translateY(-50%) translateX(0);
}
body .mh-offcanvas-list .sub-menu {
    margin: 8px 0 2px 14px;
    padding: 8px;
    border-radius: 18px;
    background: color-mix(in srgb, var(--mh-offcanvas-submenu-bg, #eef2f7) 88%, transparent 12%);
    border: 1px solid rgba(15,23,42,.06);
}
body .mh-sub-toggle,
body .mh-offcanvas-sub-toggle {
    border-radius: 14px !important;
    transition: transform .22s var(--mh-enterprise-ease), background .22s ease;
}
body li.mh-sub-open > .mh-sub-toggle,
body li.mh-sub-open > .mh-offcanvas-sub-toggle {
    transform: rotate(180deg);
}

/* Mini-Cart/Wishlist erhalten dieselbe hochwertige Bewegung */
body .mh-drawer-cart,
body .mh-drawer-wishlist {
    box-shadow: -28px 0 90px rgba(15, 23, 42, .26);
}
body .mh-drawer-cart.is-open .mh-mini-cart-item,
body .mh-drawer-wishlist.is-open .mh-mini-cart-item {
    animation: mhDrawerItemIn .36s var(--mh-enterprise-ease) both;
}
@keyframes mhDrawerItemIn {
    from { opacity: 0; transform: translateX(18px); }
    to { opacity: 1; transform: translateX(0); }
}

@media (max-width: 767px) {
    body .mh-drawer.mh-drawer-enterprise,
    body .mh-drawer.mh-drawer-menu {
        width: 100vw !important;
        max-width: 100vw !important;
        border-radius: 0 !important;
    }
    body .mh-drawer-menu .mh-drawer-header {
        min-height: 68px;
    }
    body .mh-offcanvas-list a {
        min-height: 52px;
        border-radius: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #master-header .mh-column > *,
    body .mh-offcanvas-list > li,
    body .mh-drawer-cart.is-open .mh-mini-cart-item,
    body .mh-drawer-wishlist.is-open .mh-mini-cart-item {
        animation: none !important;
        transition: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
    body .mh-drawer.mh-drawer-right,
    body .mh-drawer.mh-drawer-right.is-open {
        transition: none !important;
    }
}

/* ============================================================
 * Master Header 1.08.01 – Logo Scroll Stability Fix
 * Fix: Logo wurde beim Scroll/Shrink durch ältere Regeln auf natürliche
 * Bildgröße gesetzt und wirkte dadurch plötzlich fett/groß.
 * ============================================================ */
#master-header .mh-logo,
#master-header .mh-logo-link {
    min-width: 0;
    flex: 0 0 auto;
}

#master-header .mh-logo img,
body.mh-has-master-header #master-header .mh-logo img {
    width: auto !important;
    height: auto !important;
    max-width: min(var(--mh-logo-max-width, 260px), 100vw) !important;
    max-height: var(--mh-logo-max-height, 48px) !important;
    object-fit: contain !important;
    image-rendering: auto;
    backface-visibility: hidden;
}

#master-header.mh-shrink .mh-logo img,
body.mh-has-master-header #master-header.mh-shrink .mh-logo img {
    max-height: var(--mh-logo-max-height-shrink, var(--mh-logo-max-height, 48px)) !important;
}

/* Kein Shrink-Logo gesetzt: Hauptlogo bleibt sichtbar, keine Doppelung. */
#master-header.mh-shrink .mh-logo.mh-no-shrink-logo .mh-logo-main {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}
#master-header.mh-shrink .mh-logo.mh-no-shrink-logo .mh-logo-shrink {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Shrink-Logo gesetzt: exakt ein Logo anzeigen, damit es nicht fett/doppelt wirkt. */
#master-header.mh-shrink .mh-logo:not(.mh-no-shrink-logo) .mh-logo-main {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}
#master-header.mh-shrink .mh-logo:not(.mh-no-shrink-logo) .mh-logo-shrink {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Die Header-Einfluganimation darf die Logo-Transform/Skalierung nicht überschreiben. */
#master-header .mh-logo {
    animation-name: mhHeaderElementInLogo;
}
@keyframes mhHeaderElementInLogo {
    from { opacity: 0; }
    to { opacity: 1; }
}


/* ============================================================
 * BUSINESS UX LAYER v1.09.00 / erweitert v1.10.00
 * Premium motion, active menu line, scroll progress, CTA layer
 * ============================================================ */
body.mh-business-polish #master-header,
body.mh-business-polish .mh-header {
    transition:
        background .24s ease,
        border-color .24s ease,
        box-shadow .24s ease,
        transform .24s ease,
        backdrop-filter .24s ease;
}

body.mh-business-polish #master-header.mh-is-scrolled,
body.mh-business-polish #master-header.mh-sticky.mh-is-scrolled {
    box-shadow: 0 18px 46px rgba(15, 23, 42, .12);
    border-bottom-color: rgba(15, 23, 42, .08);
    backdrop-filter: blur(18px) saturate(1.15);
}

body.mh-business-polish #master-header.mh-is-scrolled .mh-inner {
    transition: padding .22s ease, min-height .22s ease;
}

/* Premium inline navigation underline + active state */
body.mh-business-polish #master-header .mh-menu-inline .mh-menu-list > li > a,
body.mh-business-polish #master-header .mh-menu-inline ul > li > a {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: .35em;
    transition: color .2s ease, transform .2s ease, opacity .2s ease;
}

body.mh-business-polish #master-header .mh-menu-inline .mh-menu-list > li > a::after,
body.mh-business-polish #master-header .mh-menu-inline ul > li > a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -7px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: left center;
    opacity: .86;
    transition: transform .24s cubic-bezier(.2,.8,.2,1), opacity .2s ease;
}

body.mh-business-polish #master-header .mh-menu-inline li:hover > a::after,
body.mh-business-polish #master-header .mh-menu-inline li.current-menu-item > a::after,
body.mh-business-polish #master-header .mh-menu-inline li.current_page_item > a::after,
body.mh-business-polish #master-header .mh-menu-inline li.current-menu-ancestor > a::after,
body.mh-business-polish #master-header .mh-menu-inline li.current_page_ancestor > a::after {
    transform: scaleX(1);
}

body.mh-business-polish #master-header .mh-menu-inline li:hover > a {
    transform: translateY(-1px);
}

/* Premium dropdown motion */
body.mh-business-polish #master-header .mh-menu .sub-menu {
    display: flex;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(10px) scale(.985);
    transform-origin: top center;
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    backdrop-filter: blur(16px);
}

body.mh-business-polish #master-header .mh-menu li:hover > .sub-menu,
body.mh-business-polish #master-header .mh-menu li:focus-within > .sub-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1);
}

/* Hamburger active X animation */
body.mh-business-polish .mh-hamburger-box span {
    transition: transform .24s cubic-bezier(.2,.8,.2,1), opacity .18s ease, width .18s ease;
    transform-origin: center;
}
body.mh-business-polish .mh-hamburger.is-active .mh-hamburger-box span:nth-child(1) {
    transform: translateY(calc(var(--mh-hamburger-icon-size-desktop, 20px) * .32)) rotate(45deg);
}
body.mh-business-polish .mh-hamburger.is-active .mh-hamburger-box span:nth-child(2) {
    opacity: 0;
    transform: scaleX(.2);
}
body.mh-business-polish .mh-hamburger.is-active .mh-hamburger-box span:nth-child(3) {
    transform: translateY(calc(var(--mh-hamburger-icon-size-desktop, 20px) * -.32)) rotate(-45deg);
}

/* Premium right drawer */
body.mh-business-polish .mh-drawer-overlay {
    background:
        radial-gradient(circle at 85% 16%, rgba(255,255,255,.18), transparent 28%),
        rgba(2, 6, 23, .54);
    backdrop-filter: blur(8px);
    transition: opacity .24s ease, backdrop-filter .24s ease;
}

body.mh-business-polish .mh-drawer {
    transition: transform .34s cubic-bezier(.2,.85,.2,1), visibility .34s ease, box-shadow .34s ease !important;
    box-shadow: -28px 0 80px rgba(2, 6, 23, .24);
}

body.mh-business-polish .mh-drawer.mh-drawer-enterprise .mh-drawer-header,
body.mh-business-polish .mh-drawer.mh-drawer-cart .mh-drawer-header,
body.mh-business-polish .mh-drawer.mh-drawer-wishlist .mh-drawer-header {
    position: relative;
    overflow: hidden;
}
body.mh-business-polish .mh-drawer.mh-drawer-enterprise .mh-drawer-header::before,
body.mh-business-polish .mh-drawer.mh-drawer-cart .mh-drawer-header::before,
body.mh-business-polish .mh-drawer.mh-drawer-wishlist .mh-drawer-header::before {
    content: "";
    position: absolute;
    inset: -40% -20%;
    background: radial-gradient(circle at 15% 20%, rgba(255,255,255,.28), transparent 24%);
    pointer-events: none;
}
body.mh-business-polish .mh-drawer-title,
body.mh-business-polish .mh-drawer-close {
    position: relative;
    z-index: 1;
}

body.mh-business-polish .mh-drawer.is-open .mh-offcanvas-list > li {
    animation: mhDrawerItemIn .36s cubic-bezier(.2,.85,.2,1) both;
    animation-delay: calc(var(--mh-stagger, 0) * 34ms + 70ms);
}

@keyframes mhDrawerItemIn {
    from { opacity: 0; transform: translateX(22px); }
    to { opacity: 1; transform: translateX(0); }
}

/* Ripple feedback on premium buttons */
body.mh-business-polish .mh-button,
body.mh-business-polish .mh-hamburger,
body.mh-business-polish .mh-cart-button,
body.mh-business-polish .mh-wishlist-button,
body.mh-business-polish .mh-drawer-close {
    position: relative;
    overflow: hidden;
}
body.mh-business-polish .mh-button::before,
body.mh-business-polish .mh-hamburger::before,
body.mh-business-polish .mh-cart-button::before,
body.mh-business-polish .mh-wishlist-button::before,
body.mh-business-polish .mh-drawer-close::before {
    content: "";
    position: absolute;
    width: 12px;
    height: 12px;
    left: var(--mh-ripple-x, 50%);
    top: var(--mh-ripple-y, 50%);
    border-radius: 999px;
    background: currentColor;
    opacity: 0;
    transform: translate(-50%, -50%) scale(1);
    pointer-events: none;
}
body.mh-business-polish .mh-ripple-run::before {
    animation: mhRipple .52s ease-out both;
}
@keyframes mhRipple {
    0% { opacity: .20; transform: translate(-50%, -50%) scale(1); }
    100% { opacity: 0; transform: translate(-50%, -50%) scale(32); }
}

/* Scroll progress */
.mh-scroll-progress {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    z-index: 2147483637;
    pointer-events: none;
    background: transparent;
}
.mh-scroll-progress span {
    display: block;
    width: 100%;
    height: 100%;
    transform: scaleX(0);
    transform-origin: left center;
    background: linear-gradient(90deg, var(--mh-primary-bg, #2563eb), currentColor);
    color: var(--mh-header-text, #111827);
    box-shadow: 0 0 18px color-mix(in srgb, var(--mh-primary-bg, #2563eb) 52%, transparent);
}

/* Back to top */
.mh-back-to-top {
    position: fixed;
    right: max(18px, env(safe-area-inset-right));
    bottom: calc(18px + var(--mh-mobile-cta-offset, 0px) + env(safe-area-inset-bottom));
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(15, 23, 42, .12);
    border-radius: 16px;
    background: rgba(255,255,255,.86);
    color: #0f172a;
    box-shadow: 0 16px 42px rgba(15, 23, 42, .16);
    backdrop-filter: blur(14px);
    cursor: pointer;
    z-index: 2147483645;
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px) scale(.94);
    transition: opacity .22s ease, transform .22s ease, visibility .22s ease, background .22s ease;
}
.mh-back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}
html.mh-backtop-visible .mh-back-to-top {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1);
}
body.mh-has-quick-actions .mh-back-to-top {
    z-index: 2147483645;
}
.mh-back-to-top:hover {
    transform: translateY(-2px) scale(1.02);
    background: #fff;
}
.mh-back-to-top span {
    font-size: 20px;
    line-height: 1;
}

/* Mobile CTA */
.mh-mobile-cta-bar {
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: 12px;
    z-index: 2147483635;
    display: none;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    padding: 8px;
    border-radius: 20px;
    background: rgba(15, 23, 42, .86);
    box-shadow: 0 18px 50px rgba(2, 6, 23, .32);
    backdrop-filter: blur(18px);
}
.mh-mobile-cta-bar a {
    min-height: 44px;
    border-radius: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-weight: 750;
    letter-spacing: .01em;
    padding: 0 16px;
}
.mh-mobile-cta-primary {
    background: #fff;
    color: #0f172a;
}
.mh-mobile-cta-secondary {
    background: rgba(255,255,255,.12);
    color: #fff;
    border: 1px solid rgba(255,255,255,.16);
}
@media (max-width: 768px) {
    .mh-mobile-cta-bar { display: grid; }
    body.mh-has-mobile-cta { padding-bottom: calc(var(--mh-mobile-cta-offset, 76px) + 8px); }
}
@media (max-width: 420px) {
    .mh-mobile-cta-bar { grid-template-columns: 1fr; }
}

/* Search box polish */
body.mh-business-polish .mh-search input[type="search"],
body.mh-business-polish .mh-search .mh-search-input {
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
body.mh-business-polish .mh-search input[type="search"]:focus,
body.mh-business-polish .mh-search .mh-search-input:focus {
    outline: none;
    border-color: color-mix(in srgb, var(--mh-primary-bg, #2563eb) 55%, #fff);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--mh-primary-bg, #2563eb) 14%, transparent);
}

@media (prefers-reduced-motion: reduce) {
    body.mh-business-polish #master-header *,
    body.mh-business-polish .mh-drawer,
    body.mh-business-polish .mh-drawer-overlay,
    .mh-back-to-top,
    .mh-scroll-progress span {
        animation: none !important;
        transition-duration: .01ms !important;
    }
}

/* ============================================================
 * BUSINESS ANIMATION SUITE v1.10.00
 * Header reveal, magnetic hover, glow pointer, 3D drawers
 * ============================================================ */
body.mh-business-polish {
    --mh-motion-soft: cubic-bezier(.2,.85,.2,1);
    --mh-motion-spring: cubic-bezier(.16,1,.3,1);
    --mh-motion-duration: .34s;
}
body.mh-business-polish.mh-animations-standard { --mh-motion-duration: .24s; }
body.mh-business-polish.mh-animations-premium { --mh-motion-duration: .36s; }
body.mh-business-polish.mh-animations-wow { --mh-motion-duration: .52s; }

/* Header enter/reveal only after JS arms it, so content never stays hidden without JS. */
html.mh-reveal-armed:not(.mh-reveal-ready) body.mh-header-reveal-enabled #master-header .mh-logo,
html.mh-reveal-armed:not(.mh-reveal-ready) body.mh-header-reveal-enabled #master-header .mh-menu-inline > .mh-menu-list > li,
html.mh-reveal-armed:not(.mh-reveal-ready) body.mh-header-reveal-enabled #master-header .mh-menu-inline ul > li,
html.mh-reveal-armed:not(.mh-reveal-ready) body.mh-header-reveal-enabled #master-header .mh-button,
html.mh-reveal-armed:not(.mh-reveal-ready) body.mh-header-reveal-enabled #master-header .mh-hamburger,
html.mh-reveal-armed:not(.mh-reveal-ready) body.mh-header-reveal-enabled #master-header .mh-search,
html.mh-reveal-armed:not(.mh-reveal-ready) body.mh-header-reveal-enabled #master-header .mh-cart-button,
html.mh-reveal-armed:not(.mh-reveal-ready) body.mh-header-reveal-enabled #master-header .mh-wishlist-button,
html.mh-reveal-armed:not(.mh-reveal-ready) body.mh-header-reveal-enabled #master-header .mh-social-icons,
html.mh-reveal-armed:not(.mh-reveal-ready) body.mh-header-reveal-enabled #master-header .mh-account,
html.mh-reveal-armed:not(.mh-reveal-ready) body.mh-header-reveal-enabled #master-header .mh-lang {
    opacity: 0;
    transform: translateY(-12px) scale(.985);
}
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-logo,
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-menu-inline > .mh-menu-list > li,
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-menu-inline ul > li,
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-button,
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-hamburger,
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-search,
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-cart-button,
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-wishlist-button,
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-social-icons,
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-account,
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-lang {
    animation: mhBusinessReveal var(--mh-motion-duration) var(--mh-motion-spring) both;
    animation-delay: calc(var(--mh-reveal-i, 0) * 42ms + 40ms);
}
body.mh-header-reveal-enabled.mh-animations-wow #master-header .mh-logo,
body.mh-header-reveal-enabled.mh-animations-wow #master-header .mh-menu-inline > .mh-menu-list > li,
body.mh-header-reveal-enabled.mh-animations-wow #master-header .mh-menu-inline ul > li,
body.mh-header-reveal-enabled.mh-animations-wow #master-header .mh-button,
body.mh-header-reveal-enabled.mh-animations-wow #master-header .mh-hamburger,
body.mh-header-reveal-enabled.mh-animations-wow #master-header .mh-search,
body.mh-header-reveal-enabled.mh-animations-wow #master-header .mh-cart-button,
body.mh-header-reveal-enabled.mh-animations-wow #master-header .mh-wishlist-button,
body.mh-header-reveal-enabled.mh-animations-wow #master-header .mh-social-icons,
body.mh-header-reveal-enabled.mh-animations-wow #master-header .mh-account,
body.mh-header-reveal-enabled.mh-animations-wow #master-header .mh-lang {
    animation-delay: calc(var(--mh-reveal-i, 0) * 58ms + 50ms);
}
@keyframes mhBusinessReveal {
    0% { opacity: 0; transform: translateY(-14px) scale(.975); filter: blur(5px); }
    68% { opacity: 1; transform: translateY(2px) scale(1.004); filter: blur(0); }
    100% { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}

/* Follow-light effect in the header. */
body.mh-pointer-glow-enabled #master-header {
    isolation: isolate;
}
body.mh-pointer-glow-enabled #master-header .mh-inner {
    position: relative;
    z-index: 2;
}
body.mh-pointer-glow-enabled #master-header::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    opacity: 0;
    background:
        radial-gradient(circle 180px at var(--mh-pointer-x, 50%) var(--mh-pointer-y, 50%), color-mix(in srgb, var(--mh-primary-bg, #2563eb) 18%, transparent), transparent 68%),
        linear-gradient(90deg, transparent, rgba(255,255,255,.06), transparent);
    transition: opacity .24s ease;
}
body.mh-pointer-glow-enabled #master-header.mh-pointer-active::after {
    opacity: .95;
}
body.mh-pointer-glow-enabled.mh-animations-standard #master-header::after { opacity: 0; }
body.mh-pointer-glow-enabled.mh-animations-standard #master-header.mh-pointer-active::after { opacity: .32; }
body.mh-pointer-glow-enabled.mh-animations-wow #master-header.mh-pointer-active::after { opacity: 1; }

/* Auto-hide for sticky headers, optional via admin. */
body.mh-auto-hide-enabled #master-header.mh-sticky {
    transition: transform .34s var(--mh-motion-soft), box-shadow .24s ease, background .24s ease, border-color .24s ease !important;
    will-change: transform;
}
body.mh-auto-hide-enabled #master-header.mh-sticky.mh-auto-hidden {
    transform: translateY(calc(-100% - 8px));
}
body.mh-auto-hide-enabled #master-header.mh-sticky:hover,
body.mh-auto-hide-enabled #master-header.mh-sticky:focus-within,
body.mh-auto-hide-enabled #master-header.mh-sticky.mh-scroll-up {
    transform: translateY(0);
}

/* Magnetic hover layer. */
body.mh-magnetic-hover-enabled #master-header .mh-menu-inline .mh-menu-list > li > a,
body.mh-magnetic-hover-enabled #master-header .mh-menu-inline ul > li > a,
body.mh-magnetic-hover-enabled #master-header .mh-button,
body.mh-magnetic-hover-enabled #master-header .mh-hamburger,
body.mh-magnetic-hover-enabled #master-header .mh-cart-button,
body.mh-magnetic-hover-enabled #master-header .mh-wishlist-button,
body.mh-magnetic-hover-enabled .mh-mobile-cta-bar a,
body.mh-magnetic-hover-enabled .mh-drawer-close {
    transform: perspective(700px)
        translate3d(var(--mh-magnet-x, 0), var(--mh-magnet-y, 0), 0)
        translateY(var(--mh-hover-y, 0))
        rotateX(var(--mh-magnet-rx, 0deg))
        rotateY(var(--mh-magnet-ry, 0deg));
    transition: transform .22s var(--mh-motion-soft), box-shadow .22s ease, background .22s ease, color .2s ease, border-color .2s ease;
    will-change: transform;
}
body.mh-magnetic-hover-enabled #master-header .mh-menu-inline li:hover > a,
body.mh-magnetic-hover-enabled #master-header .mh-hamburger:hover,
body.mh-magnetic-hover-enabled #master-header .mh-button:hover,
body.mh-magnetic-hover-enabled #master-header .mh-cart-button:hover,
body.mh-magnetic-hover-enabled #master-header .mh-wishlist-button:hover,
body.mh-magnetic-hover-enabled .mh-mobile-cta-bar a:hover,
body.mh-magnetic-hover-enabled .mh-drawer-close:hover {
    --mh-hover-y: -2px;
}
body.mh-magnetic-hover-enabled .mh-magnet-active {
    transition-duration: .08s !important;
}

/* Inline nav: premium active marker with soft glow. */
body.mh-business-polish #master-header .mh-menu-inline .mh-menu-list > li > a::before,
body.mh-business-polish #master-header .mh-menu-inline ul > li > a::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -11px;
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: currentColor;
    opacity: 0;
    transform: translateX(-50%) translateY(5px) scale(.55);
    box-shadow: 0 0 0 8px color-mix(in srgb, currentColor 12%, transparent);
    transition: opacity .22s ease, transform .26s var(--mh-motion-spring);
}
body.mh-business-polish #master-header .mh-menu-inline li:hover > a::before,
body.mh-business-polish #master-header .mh-menu-inline li.current-menu-item > a::before,
body.mh-business-polish #master-header .mh-menu-inline li.current_page_item > a::before,
body.mh-business-polish #master-header .mh-menu-inline li.current-menu-ancestor > a::before,
body.mh-business-polish #master-header .mh-menu-inline li.current_page_ancestor > a::before {
    opacity: .95;
    transform: translateX(-50%) translateY(0) scale(1);
}
body.mh-animations-wow #master-header .mh-menu-inline li:hover > a::after,
body.mh-animations-wow #master-header .mh-menu-inline li.current-menu-item > a::after,
body.mh-animations-wow #master-header .mh-menu-inline li.current_page_item > a::after {
    box-shadow: 0 0 18px color-mix(in srgb, currentColor 38%, transparent);
}

/* 3D drawer motion and mobile drag feedback. */
body.mh-drawer-depth-enabled #master-header .mh-drawer,
body.mh-drawer-depth-enabled .mh-drawer {
    transform: translateX(105%) rotateY(-7deg) scale(.985) !important;
    transform-origin: right center;
    transition: transform .42s var(--mh-motion-spring), visibility .42s ease, box-shadow .34s ease !important;
    will-change: transform;
}
body.mh-drawer-depth-enabled #master-header .mh-drawer.is-open,
body.mh-drawer-depth-enabled .mh-drawer.is-open {
    transform: translateX(var(--mh-drawer-drag-x, 0px)) rotateY(0) scale(1) !important;
}
body.mh-drawer-depth-enabled .mh-drawer.mh-touch-tracking {
    transition-duration: .04s !important;
}
body.mh-drawer-depth-enabled .mh-drawer-overlay.is-open {
    animation: mhOverlayBreathe .46s ease both;
}
@keyframes mhOverlayBreathe {
    0% { backdrop-filter: blur(0); opacity: 0; }
    100% { backdrop-filter: blur(10px); opacity: 1; }
}

body.mh-drawer-depth-enabled .mh-drawer.is-open .mh-drawer-header {
    animation: mhDrawerHeaderIn .44s var(--mh-motion-spring) both;
}
@keyframes mhDrawerHeaderIn {
    0% { opacity: 0; transform: translateX(22px); }
    100% { opacity: 1; transform: translateX(0); }
}
body.mh-drawer-depth-enabled .mh-drawer.is-open .mh-drawer-content {
    animation: mhDrawerContentFade .42s ease both;
    animation-delay: .05s;
}
@keyframes mhDrawerContentFade {
    0% { opacity: .35; transform: translateX(10px); }
    100% { opacity: 1; transform: translateX(0); }
}

/* Offcanvas item shine on hover. */
body.mh-business-polish .mh-offcanvas-list a {
    isolation: isolate;
}
body.mh-business-polish .mh-offcanvas-list a::selection { background: transparent; }
body.mh-business-polish .mh-offcanvas-list a .mh-label,
body.mh-business-polish .mh-offcanvas-list a span {
    position: relative;
    z-index: 2;
}
body.mh-business-polish .mh-offcanvas-list a:hover {
    transform: translateX(-6px) translateY(-1px);
}
body.mh-animations-wow .mh-offcanvas-list a:hover {
    transform: translateX(-8px) translateY(-2px) scale(1.01);
}

/* Search line/dropdown: more premium motion. */
body.mh-business-polish .mh-search .mh-search-form {
    transition: box-shadow .22s ease, transform .22s var(--mh-motion-soft), border-color .22s ease, background .22s ease;
}
body.mh-business-polish .mh-search .mh-search-form:focus-within {
    transform: translateY(-1px);
    box-shadow: 0 16px 36px rgba(15,23,42,.12), 0 0 0 4px color-mix(in srgb, var(--mh-search-btn-bg, #2563eb) 12%, transparent);
}
body.mh-business-polish .mh-search-results.is-open,
body.mh-business-polish .mh-search-modal.is-open .mh-search-dialog {
    animation: mhSearchIn .24s var(--mh-motion-spring) both;
}
@keyframes mhSearchIn {
    0% { opacity: 0; transform: translateY(8px) scale(.985); filter: blur(4px); }
    100% { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}
body.mh-business-polish .mh-search-item {
    transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}
body.mh-business-polish .mh-search-item:hover {
    transform: translateX(4px);
    box-shadow: inset 3px 0 0 color-mix(in srgb, var(--mh-search-btn-bg, #2563eb) 64%, transparent);
}

/* Mobile CTA entrance */
body.mh-has-mobile-cta .mh-mobile-cta-bar {
    animation: mhMobileCtaIn .36s var(--mh-motion-spring) both;
}
@keyframes mhMobileCtaIn {
    0% { opacity: 0; transform: translateY(18px) scale(.975); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
}

/* Back to top pulse only in WOW mode. */
body.mh-animations-wow .mh-back-to-top.is-visible span {
    animation: mhBackArrowPulse 1.5s ease-in-out infinite;
}
@keyframes mhBackArrowPulse {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-3px); }
}

/* Better reduced motion compliance for the new suite. */
@media (prefers-reduced-motion: reduce) {
    html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-logo,
    html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-menu-inline > .mh-menu-list > li,
    html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-menu-inline ul > li,
    html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-button,
    html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-hamburger,
    html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-search,
    html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-cart-button,
    html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-wishlist-button,
    html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-social-icons,
    html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-account,
    html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-lang,
    body.mh-has-mobile-cta .mh-mobile-cta-bar,
    body.mh-drawer-depth-enabled .mh-drawer.is-open .mh-drawer-header,
    body.mh-drawer-depth-enabled .mh-drawer.is-open .mh-drawer-content {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
    }
    body.mh-auto-hide-enabled #master-header.mh-sticky.mh-auto-hidden {
        transform: none !important;
    }
}


/* ============================================================
 * Master Header 1.10.01 – Vertical Alignment Stabilizer
 * Fix: advanced animation suite must never pull the header content
 * to the top. Header, logo, menu, buttons and overlay glass panel
 * stay optically centered in normal, overlay, sticky and shrink states.
 * ============================================================ */
#master-header,
.mh-header {
    display: flex;
    align-items: center;
}

#master-header > .mh-inner,
.mh-header > .mh-inner,
body.mh-has-master-header #master-header .mh-inner {
    flex: 1 1 auto;
    min-height: 100%;
    display: flex;
    align-items: center !important;
    align-content: center !important;
}

#master-header:not(.mh-multirow) .mh-column {
    min-height: 100%;
    align-self: stretch;
    align-items: center !important;
}

#master-header:not(.mh-multirow) .mh-column > *,
#master-header .mh-element,
#master-header .mh-button,
#master-header .mh-search,
#master-header .mh-login,
#master-header .mh-social,
#master-header .mh-lang,
#master-header .mh-cart-button,
#master-header .mh-wishlist-button,
#master-header .mh-hamburger {
    align-self: center;
}

#master-header .mh-logo,
#master-header .mh-logo-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
}

#master-header .mh-logo img {
    vertical-align: middle;
}

#master-header .mh-menu,
#master-header .mh-menu ul,
#master-header .mh-menu .mh-menu-list {
    align-items: center !important;
}

#master-header .mh-menu li,
#master-header .mh-menu .mh-menu-item {
    display: flex;
    align-items: center;
}

#master-header .mh-menu a,
#master-header .mh-menu .mh-menu-item > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1.15;
}

/* Overlay header: keep the translucent bar centered behind the elements. */
#master-header.mh-over-hero {
    align-items: center;
}

#master-header.mh-over-hero .mh-inner {
    min-height: var(--mh-header-height, 72px);
    align-items: center !important;
}

#master-header.mh-over-hero::after {
    top: calc(50% + var(--mh-overlay-panel-offset-y, 0px));
    transform: translateY(-50%);
}

/* Sticky/shrink states must only reduce height/padding, not shift content upward. */
#master-header.mh-sticky .mh-inner,
#master-header.mh-shrink .mh-inner,
#master-header.mh-over-hero.is-scrolled .mh-inner,
#master-header.mh-over-hero.mh-overlay-compact .mh-inner {
    align-items: center !important;
    align-content: center !important;
}

/* The reveal animation is allowed to fade in, but final placement remains neutral. */
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-logo,
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-menu-inline > .mh-menu-list > li,
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-button,
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-hamburger,
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-search,
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-cart-button,
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-wishlist-button,
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-account,
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-lang {
    transform-origin: center center;
}

/* ============================================================
 * Master Header 1.10.02 – Overlay Bar Real Alignment Fix
 * The translucent header bar is now drawn inside .mh-inner instead
 * of the outer header. This keeps the bar optically centered behind
 * logo/menu/buttons even when logo height, padding, shrink or reveal
 * animations are active.
 * ============================================================ */
#master-header.mh-over-hero,
body.mh-has-master-header #master-header.mh-over-hero {
    min-height: var(--mh-header-height, 72px) !important;
}

/* Disable the old outer overlay panel. It was centered on the header box,
   not the real element row, which could make the bar appear too high. */
#master-header.mh-over-hero::after {
    display: none !important;
    content: none !important;
}

#master-header.mh-over-hero > .mh-inner,
body.mh-has-master-header #master-header.mh-over-hero > .mh-inner {
    position: relative !important;
    isolation: isolate;
    min-height: var(--mh-header-height, 72px) !important;
    height: var(--mh-header-height, auto) !important;
    display: flex !important;
    align-items: center !important;
    align-content: center !important;
}

/* New real overlay panel, bound to the same box as the elements. */
#master-header.mh-over-hero > .mh-inner::before {
    content: "";
    position: absolute;
    top: calc(50% + var(--mh-overlay-panel-offset-y, 0px));
    left: 10px;
    right: 10px;
    height: var(--mh-overlay-panel-height, 70%);
    transform: translateY(-50%);
    background: var(--mh-overlay-panel-bg, rgba(8,16,30,0.18));
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border-radius: 16px;
    pointer-events: none;
    z-index: 0;
}

/* Keep all content above the aligned panel. */
#master-header.mh-over-hero > .mh-inner > .mh-column,
#master-header.mh-over-hero > .mh-inner > .mh-column > * {
    position: relative;
    z-index: 2;
}

/* Compact/scrolled overlay panel follows the inner row as well. */
#master-header.mh-over-hero.mh-overlay-compact > .mh-inner::before,
#master-header.mh-over-hero.is-scrolled > .mh-inner::before {
    top: var(--mh-overlay-compact-inset, 4px);
    bottom: var(--mh-overlay-compact-inset, 4px);
    height: auto;
    transform: none;
}

/* The element row itself must not stretch elements to the top edge. */
#master-header:not(.mh-multirow) > .mh-inner > .mh-column {
    align-self: center !important;
    min-height: auto !important;
    height: auto !important;
    display: flex !important;
    align-items: center !important;
    align-content: center !important;
}

#master-header:not(.mh-multirow) > .mh-inner > .mh-column > * {
    align-self: center !important;
    margin-top: 0;
    margin-bottom: 0;
}

#master-header .mh-logo,
#master-header .mh-logo-link,
#master-header .mh-menu-inline,
#master-header .mh-menu-inline > ul,
#master-header .mh-menu-inline > .mh-menu-list,
#master-header .mh-button,
#master-header .mh-hamburger,
#master-header .mh-search,
#master-header .mh-cart-button,
#master-header .mh-wishlist-button,
#master-header .mh-account,
#master-header .mh-lang,
#master-header .mh-social,
#master-header .mh-social-icons {
    display: inline-flex;
    align-items: center !important;
}

#master-header .mh-menu-inline > ul,
#master-header .mh-menu-inline > .mh-menu-list {
    min-height: 0 !important;
}

/* Reveal/magnetic animation can move the item visually, but its base line
   remains centered inside the header row. */
body.mh-header-reveal-enabled #master-header .mh-logo,
body.mh-header-reveal-enabled #master-header .mh-menu-inline > .mh-menu-list > li,
body.mh-header-reveal-enabled #master-header .mh-button,
body.mh-header-reveal-enabled #master-header .mh-hamburger,
body.mh-header-reveal-enabled #master-header .mh-search,
body.mh-header-reveal-enabled #master-header .mh-cart-button,
body.mh-header-reveal-enabled #master-header .mh-wishlist-button,
body.mh-header-reveal-enabled #master-header .mh-account,
body.mh-header-reveal-enabled #master-header .mh-lang {
    transform-origin: center center !important;
}

@media (max-width: 768px) {
    #master-header.mh-over-hero > .mh-inner::before {
        left: 8px;
        right: 8px;
        border-radius: 14px;
    }
}

/* ============================================================
 * Master Header 1.10.03 – Active Page Underline + Load-In Motion
 * - Robust active underline for WP classes, builder links and JS fallback
 * - Header drops down on load while the glass bar expands from the center
 * ============================================================ */
#master-header .mh-menu-inline .mh-menu-list > li > a,
#master-header .mh-menu-inline ul > li > a {
    position: relative !important;
    overflow: visible !important;
    padding-bottom: max(10px, var(--mh-menu-active-underline-gap, 10px)) !important;
}

#master-header .mh-menu-inline .mh-menu-list > li > a::after,
#master-header .mh-menu-inline ul > li > a::after {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    bottom: 1px !important;
    width: min(46px, calc(100% - 18px)) !important;
    height: var(--mh-menu-active-underline-height, 2.5px) !important;
    border-radius: 999px !important;
    background: var(--mh-menu-active-underline, currentColor) !important;
    box-shadow: 0 0 14px color-mix(in srgb, currentColor 32%, transparent) !important;
    opacity: 0 !important;
    transform: translateX(-50%) scaleX(0) !important;
    transform-origin: center center !important;
    transition: transform .32s cubic-bezier(.16,1,.3,1), opacity .22s ease, width .22s ease !important;
    pointer-events: none !important;
}

#master-header .mh-menu-inline .mh-menu-list > li > a:hover::after,
#master-header .mh-menu-inline .mh-menu-list > li > a:focus-visible::after,
#master-header .mh-menu-inline ul > li > a:hover::after,
#master-header .mh-menu-inline ul > li > a:focus-visible::after {
    opacity: .85 !important;
    transform: translateX(-50%) scaleX(.72) !important;
}

#master-header .mh-menu-inline .mh-menu-list > li.current-menu-item > a::after,
#master-header .mh-menu-inline .mh-menu-list > li.current_page_item > a::after,
#master-header .mh-menu-inline .mh-menu-list > li.current-menu-ancestor > a::after,
#master-header .mh-menu-inline .mh-menu-list > li.current_page_ancestor > a::after,
#master-header .mh-menu-inline .mh-menu-list > li.mh-current-page > a::after,
#master-header .mh-menu-inline .mh-menu-list > li.is-current > a::after,
#master-header .mh-menu-inline .mh-menu-list > li > a[aria-current="page"]::after,
#master-header .mh-menu-inline ul > li.current-menu-item > a::after,
#master-header .mh-menu-inline ul > li.current_page_item > a::after,
#master-header .mh-menu-inline ul > li.current-menu-ancestor > a::after,
#master-header .mh-menu-inline ul > li.current_page_ancestor > a::after,
#master-header .mh-menu-inline ul > li.mh-current-page > a::after,
#master-header .mh-menu-inline ul > li.is-current > a::after,
#master-header .mh-menu-inline ul > li > a[aria-current="page"]::after {
    opacity: 1 !important;
    width: min(54px, calc(100% - 14px)) !important;
    transform: translateX(-50%) scaleX(1) !important;
}

#master-header .mh-menu-inline .mh-menu-list > li.current-menu-item > a,
#master-header .mh-menu-inline .mh-menu-list > li.current_page_item > a,
#master-header .mh-menu-inline .mh-menu-list > li.current-menu-ancestor > a,
#master-header .mh-menu-inline .mh-menu-list > li.current_page_ancestor > a,
#master-header .mh-menu-inline .mh-menu-list > li.mh-current-page > a,
#master-header .mh-menu-inline .mh-menu-list > li.is-current > a,
#master-header .mh-menu-inline .mh-menu-list > li > a[aria-current="page"],
#master-header .mh-menu-inline ul > li.current-menu-item > a,
#master-header .mh-menu-inline ul > li.current_page_item > a,
#master-header .mh-menu-inline ul > li.current-menu-ancestor > a,
#master-header .mh-menu-inline ul > li.current_page_ancestor > a,
#master-header .mh-menu-inline ul > li.mh-current-page > a,
#master-header .mh-menu-inline ul > li.is-current > a,
#master-header .mh-menu-inline ul > li > a[aria-current="page"] {
    font-weight: 650 !important;
    text-decoration: none !important;
}

/* Drawer active state gets a clean left accent as well. */
.mh-offcanvas-list > li.current-menu-item > a,
.mh-offcanvas-list > li.current_page_item > a,
.mh-offcanvas-list > li.current-menu-ancestor > a,
.mh-offcanvas-list > li.current_page_ancestor > a,
.mh-offcanvas-list > li.mh-current-page > a,
.mh-offcanvas-list > li.is-current > a,
.mh-offcanvas-list > li > a[aria-current="page"] {
    position: relative !important;
    font-weight: 700 !important;
}
.mh-offcanvas-list > li.current-menu-item > a::before,
.mh-offcanvas-list > li.current_page_item > a::before,
.mh-offcanvas-list > li.current-menu-ancestor > a::before,
.mh-offcanvas-list > li.current_page_ancestor > a::before,
.mh-offcanvas-list > li.mh-current-page > a::before,
.mh-offcanvas-list > li.is-current > a::before,
.mh-offcanvas-list > li > a[aria-current="page"]::before {
    content: "";
    position: absolute;
    left: 10px;
    top: 50%;
    width: 3px;
    height: 44%;
    border-radius: 99px;
    background: currentColor;
    transform: translateY(-50%);
    opacity: .9;
}

/* Full header load-in: first the bar drops down, then the contents settle. */
html.mh-reveal-armed:not(.mh-reveal-ready) body.mh-header-reveal-enabled #master-header {
    opacity: 0;
    transform: translateY(-24px);
}
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header {
    animation: mhHeaderDropIn 720ms cubic-bezier(.16,1,.3,1) both;
    will-change: transform, opacity;
}

@keyframes mhHeaderDropIn {
    0% { opacity: 0; transform: translateY(-26px); filter: blur(4px); }
    58% { opacity: 1; transform: translateY(3px); filter: blur(0); }
    100% { opacity: 1; transform: translateY(0); filter: blur(0); }
}

/* Center-out glass/panel expansion. Works with the aligned .mh-inner panel from 1.10.02. */
#master-header.mh-over-hero > .mh-inner::before {
    transform-origin: center center !important;
}
html.mh-reveal-armed:not(.mh-reveal-ready) body.mh-header-reveal-enabled #master-header.mh-over-hero > .mh-inner::before {
    opacity: 0;
    transform: translateY(-50%) scaleX(.08) !important;
}
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header.mh-over-hero > .mh-inner::before {
    animation: mhHeaderPanelCenterExpand 820ms cubic-bezier(.16,1,.3,1) 70ms both;
}
@keyframes mhHeaderPanelCenterExpand {
    0% { opacity: 0; transform: translateY(-50%) scaleX(.08); }
    46% { opacity: .92; transform: translateY(-50%) scaleX(1.035); }
    100% { opacity: 1; transform: translateY(-50%) scaleX(1); }
}

/* If the overlay is already compact/scrolled on page load, avoid fighting its inset transform. */
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header.mh-over-hero.is-scrolled > .mh-inner::before,
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header.mh-over-hero.mh-overlay-compact > .mh-inner::before {
    animation: mhHeaderPanelCenterExpandCompact 720ms cubic-bezier(.16,1,.3,1) 70ms both;
}
@keyframes mhHeaderPanelCenterExpandCompact {
    0% { opacity: 0; transform: scaleX(.08); }
    46% { opacity: .92; transform: scaleX(1.035); }
    100% { opacity: 1; transform: scaleX(1); }
}

@media (prefers-reduced-motion: reduce) {
    html.mh-reveal-ready body.mh-header-reveal-enabled #master-header,
    html.mh-reveal-ready body.mh-header-reveal-enabled #master-header.mh-over-hero > .mh-inner::before {
        animation: none !important;
        opacity: 1 !important;
        filter: none !important;
    }
}


/* ============================================================
 * Master Header 1.10.04 – Active marker cleanup & slower load-in
 * - removes the small desktop dot under active/hover links
 * - keeps only the clean underline marker
 * - makes the page-load header/drop and center-out panel animation longer
 * ============================================================ */

/* Entfernt den zusätzlichen Punkt unter dem aktiven Menüpunkt. */
body.mh-business-polish #master-header .mh-menu-inline .mh-menu-list > li > a::before,
body.mh-business-polish #master-header .mh-menu-inline ul > li > a::before,
body.mh-business-polish #master-header .mh-menu-inline li:hover > a::before,
body.mh-business-polish #master-header .mh-menu-inline li.current-menu-item > a::before,
body.mh-business-polish #master-header .mh-menu-inline li.current_page_item > a::before,
body.mh-business-polish #master-header .mh-menu-inline li.current-menu-ancestor > a::before,
body.mh-business-polish #master-header .mh-menu-inline li.current_page_ancestor > a::before,
body.mh-business-polish #master-header .mh-menu-inline li.mh-current-page > a::before,
body.mh-business-polish #master-header .mh-menu-inline li.is-current > a::before {
    content: none !important;
    display: none !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    box-shadow: none !important;
    transform: none !important;
}

/* Aktiver Unterstrich bleibt als einziges Desktop-Marker-Element sichtbar. */
#master-header .mh-menu-inline .mh-menu-list > li > a::after,
#master-header .mh-menu-inline ul > li > a::after {
    bottom: 4px !important;
    height: 2px !important;
    border-radius: 999px !important;
}

/* Load-in länger und hochwertiger: Header fährt ruhiger von oben ein. */
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header {
    animation: mhHeaderDropInLong 1380ms cubic-bezier(.16, 1, .3, 1) both !important;
    will-change: transform, opacity, filter;
}

@keyframes mhHeaderDropInLong {
    0% { opacity: 0; transform: translateY(-42px); filter: blur(7px); }
    38% { opacity: .82; transform: translateY(-8px); filter: blur(2px); }
    68% { opacity: 1; transform: translateY(4px); filter: blur(0); }
    100% { opacity: 1; transform: translateY(0); filter: blur(0); }
}

/* Glass-/Overlay-Leiste fährt langsamer mittig von innen nach außen. */
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header.mh-over-hero > .mh-inner::before {
    animation: mhHeaderPanelCenterExpandLong 1580ms cubic-bezier(.16, 1, .3, 1) 160ms both !important;
}

@keyframes mhHeaderPanelCenterExpandLong {
    0% { opacity: 0; transform: translateY(-50%) scaleX(.02); filter: blur(8px); }
    42% { opacity: .78; transform: translateY(-50%) scaleX(.72); filter: blur(2px); }
    72% { opacity: .96; transform: translateY(-50%) scaleX(1.025); filter: blur(0); }
    100% { opacity: 1; transform: translateY(-50%) scaleX(1); filter: blur(0); }
}

html.mh-reveal-ready body.mh-header-reveal-enabled #master-header.mh-over-hero.is-scrolled > .mh-inner::before,
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header.mh-over-hero.mh-overlay-compact > .mh-inner::before {
    animation: mhHeaderPanelCenterExpandCompactLong 1440ms cubic-bezier(.16, 1, .3, 1) 140ms both !important;
}

@keyframes mhHeaderPanelCenterExpandCompactLong {
    0% { opacity: 0; transform: scaleX(.02); filter: blur(8px); }
    42% { opacity: .78; transform: scaleX(.72); filter: blur(2px); }
    72% { opacity: .96; transform: scaleX(1.025); filter: blur(0); }
    100% { opacity: 1; transform: scaleX(1); filter: blur(0); }
}

/* Gestaffeltes Einblenden der Inhalte minimal verlängern, aber Endposition neutral halten. */
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-logo,
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-menu-inline > .mh-menu-list > li,
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-menu-inline ul > li,
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-button,
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-hamburger,
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-search,
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-cart-button,
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-wishlist-button,
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-social-icons,
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-account,
html.mh-reveal-ready body.mh-header-reveal-enabled #master-header .mh-lang {
    animation-duration: 920ms !important;
    animation-delay: calc(var(--mh-reveal-i, 0) * 72ms + 180ms) !important;
}

@media (prefers-reduced-motion: reduce) {
    html.mh-reveal-ready body.mh-header-reveal-enabled #master-header,
    html.mh-reveal-ready body.mh-header-reveal-enabled #master-header.mh-over-hero > .mh-inner::before,
    html.mh-reveal-ready body.mh-header-reveal-enabled #master-header.mh-over-hero.is-scrolled > .mh-inner::before,
    html.mh-reveal-ready body.mh-header-reveal-enabled #master-header.mh-over-hero.mh-overlay-compact > .mh-inner::before {
        animation: none !important;
        opacity: 1 !important;
        filter: none !important;
    }
}

/* ============================================================
 * Master Header 1.10.05 – Clean Mobile Top-Down Drilldown Menu
 * - Hamburger drawer opens from top to bottom on mobile/tablet
 * - no tile/card look in the mobile menu
 * - root pages shown first; arrow opens only selected parent children
 * - back button top-left, close button top-right, no title badge
 * ============================================================ */

/* Back button exists for menu drawers only and stays hidden on the main level. */
.mh-drawer.mh-drawer-menu .mh-drawer-back {
    appearance: none;
    border: 0;
    background: transparent;
    color: currentColor;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font: inherit;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    padding: 10px 0;
    margin: 0;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(-8px);
    transition: opacity .24s ease, transform .24s ease, visibility .24s ease;
}
.mh-drawer.mh-drawer-menu .mh-drawer-back::first-letter {
    font-size: 26px;
    line-height: 0;
}
.mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-back {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(0);
}

/* Menu drawer header: clean control bar, no orange badge/title on mobile/tablet. */
@media (max-width: 1024px) {
    body .mh-drawer.mh-drawer-menu,
    #master-header .mh-drawer.mh-drawer-menu {
        inset: 0 !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
        height: 100vh !important;
        height: 100dvh !important;
        max-height: 100vh !important;
        max-height: 100dvh !important;
        border-radius: 0 !important;
        border: 0 !important;
        background: color-mix(in srgb, var(--mh-offcanvas-panel-bg, #f7f5f1) 96%, #ffffff 4%) !important;
        color: var(--mh-offcanvas-panel-text, #18222c) !important;
        box-shadow: 0 28px 80px rgba(15, 23, 42, .18) !important;
        transform: translateY(-105%) !important;
        opacity: 0 !important;
        transition: transform .58s cubic-bezier(.16, 1, .3, 1), opacity .36s ease, visibility .36s ease !important;
        overflow: hidden !important;
    }

    body .mh-drawer.mh-drawer-menu.is-open,
    #master-header .mh-drawer.mh-drawer-menu.is-open {
        transform: translateY(0) !important;
        opacity: 1 !important;
    }

    body .mh-drawer.mh-drawer-menu .mh-drawer-header,
    #master-header .mh-drawer.mh-drawer-menu .mh-drawer-header,
    body.mh-business-polish .mh-drawer.mh-drawer-enterprise .mh-drawer-header {
        position: sticky !important;
        top: 0 !important;
        display: grid !important;
        grid-template-columns: 1fr auto 1fr !important;
        align-items: center !important;
        min-height: 70px !important;
        padding: max(14px, env(safe-area-inset-top)) 22px 12px !important;
        background: color-mix(in srgb, var(--mh-offcanvas-panel-bg, #f7f5f1) 92%, #ffffff 8%) !important;
        color: var(--mh-offcanvas-panel-text, #18222c) !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(15, 23, 42, .08) !important;
        border-radius: 0 !important;
        box-shadow: 0 10px 28px rgba(15, 23, 42, .05) !important;
        overflow: visible !important;
    }

    body.mh-business-polish .mh-drawer.mh-drawer-enterprise .mh-drawer-header::before,
    body .mh-drawer.mh-drawer-menu .mh-drawer-header::before {
        content: none !important;
        display: none !important;
    }

    body .mh-drawer.mh-drawer-menu .mh-drawer-title,
    body .mh-drawer.mh-drawer-menu .mh-drawer-title::before,
    #master-header .mh-drawer.mh-drawer-menu .mh-drawer-title,
    #master-header .mh-drawer.mh-drawer-menu .mh-drawer-title::before {
        content: none !important;
        display: none !important;
        opacity: 0 !important;
        width: 0 !important;
        height: 0 !important;
        box-shadow: none !important;
    }

    body .mh-drawer.mh-drawer-menu .mh-drawer-close,
    #master-header .mh-drawer.mh-drawer-menu .mh-drawer-close {
        grid-column: 3 !important;
        justify-self: end !important;
        width: 42px !important;
        height: 42px !important;
        border-radius: 999px !important;
        border: 0 !important;
        background: transparent !important;
        color: var(--mh-offcanvas-panel-text, #18222c) !important;
        box-shadow: none !important;
        font-size: 23px !important;
        font-weight: 400 !important;
        line-height: 1 !important;
    }

    body .mh-drawer.mh-drawer-menu .mh-drawer-close:hover,
    #master-header .mh-drawer.mh-drawer-menu .mh-drawer-close:hover {
        background: rgba(15, 23, 42, .06) !important;
        transform: none !important;
        box-shadow: none !important;
    }

    body .mh-drawer.mh-drawer-menu .mh-drawer-back,
    #master-header .mh-drawer.mh-drawer-menu .mh-drawer-back {
        grid-column: 1 !important;
        justify-self: start !important;
        color: var(--mh-offcanvas-panel-text, #18222c) !important;
    }

    body .mh-drawer.mh-drawer-menu .mh-drawer-content,
    #master-header .mh-drawer.mh-drawer-menu .mh-drawer-content {
        padding: 20px 26px calc(34px + env(safe-area-inset-bottom)) !important;
        overflow: auto !important;
        background: transparent !important;
    }

    body .mh-drawer-menu .mh-offcanvas-list,
    #master-header .mh-drawer-menu .mh-offcanvas-list {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item,
    #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
        min-height: 62px !important;
        border-bottom: 1px solid rgba(15, 23, 42, .09) !important;
        animation: mhMobileTopMenuItemIn .46s cubic-bezier(.16, 1, .3, 1) both !important;
        animation-delay: calc(var(--mh-stagger, 0) * 42ms + 110ms) !important;
    }

    body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a,
    #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        min-height: 62px !important;
        display: flex !important;
        align-items: center !important;
        padding: 16px 0 !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: var(--mh-offcanvas-panel-text, #18222c) !important;
        font-size: clamp(21px, 5.4vw, 30px) !important;
        font-weight: 650 !important;
        letter-spacing: -.035em !important;
        line-height: 1.08 !important;
        text-decoration: none !important;
        transform: none !important;
    }

    body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a:hover,
    #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a:hover {
        background: transparent !important;
        box-shadow: none !important;
        transform: none !important;
        color: color-mix(in srgb, var(--mh-offcanvas-panel-text, #18222c) 76%, var(--mh-accent, #2563eb) 24%) !important;
    }

    body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle,
    #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle {
        flex: 0 0 44px !important;
        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: var(--mh-offcanvas-panel-text, #18222c) !important;
        box-shadow: none !important;
        cursor: pointer !important;
        transform: none !important;
    }

    body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle:hover,
    #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle:hover {
        background: transparent !important;
        color: var(--mh-accent, #2563eb) !important;
        transform: translateX(2px) !important;
        box-shadow: none !important;
    }

    body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle .mh-sub-icon,
    #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle .mh-sub-icon {
        width: 23px !important;
        height: 23px !important;
        transform: rotate(-90deg) !important;
        transition: transform .24s ease !important;
    }

    body .mh-drawer-menu .mh-offcanvas-list .sub-menu,
    #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu {
        display: none !important;
        flex-basis: 100% !important;
        max-height: none !important;
        overflow: visible !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        list-style: none !important;
    }

    body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li,
    #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li {
        min-height: 58px !important;
        border-bottom: 1px solid rgba(15, 23, 42, .08) !important;
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
    }

    body .mh-drawer-menu .mh-offcanvas-list .sub-menu a,
    #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu a {
        flex: 1 1 auto !important;
        display: flex !important;
        align-items: center !important;
        min-height: 58px !important;
        padding: 14px 0 !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: var(--mh-offcanvas-panel-text, #18222c) !important;
        font-size: clamp(19px, 4.9vw, 26px) !important;
        font-weight: 600 !important;
        letter-spacing: -.03em !important;
        line-height: 1.12 !important;
        text-decoration: none !important;
    }

    /* Drilldown: hide the root menu and show only the selected parent's children. */
    body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-menu-item:not(.mh-sub-active),
    #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-menu-item:not(.mh-sub-active),
    body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list.mh-extra-links,
    #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list.mh-extra-links {
        display: none !important;
    }

    body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active,
    #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active {
        display: block !important;
        min-height: 0 !important;
        border-bottom: 0 !important;
        animation: mhMobileSubMenuIn .36s cubic-bezier(.16, 1, .3, 1) both !important;
    }

    body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > a,
    body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .mh-sub-toggle,
    #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > a,
    #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .mh-sub-toggle {
        display: none !important;
    }

    body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu,
    #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        width: 100% !important;
    }

    body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu > li,
    #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu > li {
        animation: mhMobileSubItemIn .42s cubic-bezier(.16, 1, .3, 1) both !important;
    }
    body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu > li:nth-child(1) { animation-delay: 40ms !important; }
    body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu > li:nth-child(2) { animation-delay: 82ms !important; }
    body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu > li:nth-child(3) { animation-delay: 124ms !important; }
    body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu > li:nth-child(4) { animation-delay: 166ms !important; }
    body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu > li:nth-child(n+5) { animation-delay: 208ms !important; }

    html.mh-dark body .mh-drawer.mh-drawer-menu,
    html.mh-dark #master-header .mh-drawer.mh-drawer-menu {
        background: #111827 !important;
        color: #f8fafc !important;
    }
    html.mh-dark body .mh-drawer.mh-drawer-menu .mh-drawer-header,
    html.mh-dark #master-header .mh-drawer.mh-drawer-menu .mh-drawer-header {
        background: rgba(17, 24, 39, .96) !important;
        color: #f8fafc !important;
        border-bottom-color: rgba(255, 255, 255, .10) !important;
    }
    html.mh-dark body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item,
    html.mh-dark #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item,
    html.mh-dark body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li,
    html.mh-dark #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li {
        border-bottom-color: rgba(255, 255, 255, .10) !important;
    }
    html.mh-dark body .mh-drawer-menu .mh-offcanvas-list a,
    html.mh-dark #master-header .mh-drawer-menu .mh-offcanvas-list a,
    html.mh-dark body .mh-drawer-menu .mh-sub-toggle,
    html.mh-dark #master-header .mh-drawer-menu .mh-sub-toggle,
    html.mh-dark body .mh-drawer.mh-drawer-menu .mh-drawer-close,
    html.mh-dark #master-header .mh-drawer.mh-drawer-menu .mh-drawer-close,
    html.mh-dark body .mh-drawer.mh-drawer-menu .mh-drawer-back,
    html.mh-dark #master-header .mh-drawer.mh-drawer-menu .mh-drawer-back {
        color: #f8fafc !important;
    }
}

@keyframes mhMobileTopMenuItemIn {
    from { opacity: 0; transform: translateY(-18px); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes mhMobileSubMenuIn {
    from { opacity: 0; transform: translateX(16px); }
    to { opacity: 1; transform: translateX(0); }
}
@keyframes mhMobileSubItemIn {
    from { opacity: 0; transform: translateY(14px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1024px) and (prefers-reduced-motion: reduce) {
    body .mh-drawer.mh-drawer-menu,
    #master-header .mh-drawer.mh-drawer-menu,
    body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item,
    #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item,
    body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active,
    #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active,
    body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu > li,
    #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu > li {
        animation: none !important;
        transition: none !important;
    }
}

/* ============================================================
 * Master Header 1.10.06 – Mobile Menu Clean Active Bar Fix
 * - active mobile menu marker sits flush at the far left edge
 * - removes mobile drawer separator lines completely
 * ============================================================ */
@media (max-width: 1024px) {
    body .mh-drawer.mh-drawer-menu .mh-drawer-content,
    #master-header .mh-drawer.mh-drawer-menu .mh-drawer-content {
        --mh-mobile-menu-x-pad: 26px;
    }

    body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item,
    #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item,
    body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li,
    #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li,
    html.mh-dark body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item,
    html.mh-dark #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item,
    html.mh-dark body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li,
    html.mh-dark #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li {
        border: 0 !important;
        border-bottom: 0 !important;
        box-shadow: none !important;
    }

    body .mh-drawer.mh-drawer-menu .mh-drawer-header,
    #master-header .mh-drawer.mh-drawer-menu .mh-drawer-header,
    body.mh-business-polish .mh-drawer.mh-drawer-enterprise .mh-drawer-header,
    html.mh-dark body .mh-drawer.mh-drawer-menu .mh-drawer-header,
    html.mh-dark #master-header .mh-drawer.mh-drawer-menu .mh-drawer-header {
        border: 0 !important;
        border-bottom: 0 !important;
        box-shadow: none !important;
    }

    body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a,
    #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a,
    body .mh-drawer-menu .mh-offcanvas-list .sub-menu a,
    #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu a {
        position: relative !important;
        overflow: visible !important;
    }

    body .mh-drawer-menu .mh-offcanvas-list > li.current-menu-item > a::before,
    body .mh-drawer-menu .mh-offcanvas-list > li.current_page_item > a::before,
    body .mh-drawer-menu .mh-offcanvas-list > li.current-menu-ancestor > a::before,
    body .mh-drawer-menu .mh-offcanvas-list > li.current_page_ancestor > a::before,
    body .mh-drawer-menu .mh-offcanvas-list > li.mh-current-page > a::before,
    body .mh-drawer-menu .mh-offcanvas-list > li.is-current > a::before,
    body .mh-drawer-menu .mh-offcanvas-list > li > a[aria-current="page"]::before,
    #master-header .mh-drawer-menu .mh-offcanvas-list > li.current-menu-item > a::before,
    #master-header .mh-drawer-menu .mh-offcanvas-list > li.current_page_item > a::before,
    #master-header .mh-drawer-menu .mh-offcanvas-list > li.current-menu-ancestor > a::before,
    #master-header .mh-drawer-menu .mh-offcanvas-list > li.current_page_ancestor > a::before,
    #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-current-page > a::before,
    #master-header .mh-drawer-menu .mh-offcanvas-list > li.is-current > a::before,
    #master-header .mh-drawer-menu .mh-offcanvas-list > li > a[aria-current="page"]::before {
        left: calc(-1 * var(--mh-mobile-menu-x-pad, 26px)) !important;
        width: 4px !important;
        height: 34px !important;
        top: 50% !important;
        border-radius: 0 999px 999px 0 !important;
        background: currentColor !important;
        opacity: .95 !important;
        transform: translateY(-50%) !important;
    }

    body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li.current-menu-item > a::before,
    body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li.current_page_item > a::before,
    body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li.mh-current-page > a::before,
    body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li.is-current > a::before,
    body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a[aria-current="page"]::before,
    #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li.current-menu-item > a::before,
    #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li.current_page_item > a::before,
    #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li.mh-current-page > a::before,
    #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li.is-current > a::before,
    #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a[aria-current="page"]::before {
        left: calc(-1 * var(--mh-mobile-menu-x-pad, 26px)) !important;
    }
}


/* ============================================================
 * Master Header 1.10.07 – Mobile Hover Bar Alignment Fix
 * - mobile hover marker now uses the exact same far-left position as the active page marker
 * - removes older offcanvas hover marker positioning near the text
 * ============================================================ */
@media (max-width: 1024px) {
    body .mh-drawer.mh-drawer-menu .mh-drawer-content,
    #master-header .mh-drawer.mh-drawer-menu .mh-drawer-content {
        --mh-mobile-menu-x-pad: 26px;
    }

    body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a::before,
    #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a::before,
    body .mh-drawer-menu .mh-offcanvas-list .sub-menu a::before,
    #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu a::before {
        content: "" !important;
        position: absolute !important;
        inset: auto !important;
        left: calc(-1 * var(--mh-mobile-menu-x-pad, 26px)) !important;
        top: 50% !important;
        width: 4px !important;
        height: 34px !important;
        border-radius: 0 999px 999px 0 !important;
        background: currentColor !important;
        box-shadow: none !important;
        opacity: 0 !important;
        transform: translateY(-50%) scaleY(.72) !important;
        transform-origin: center center !important;
        transition: opacity .2s ease, transform .24s cubic-bezier(.16, 1, .3, 1), background .2s ease !important;
        pointer-events: none !important;
    }

    body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item:hover > a::before,
    body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a:hover::before,
    body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a:focus-visible::before,
    body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item:active > a::before,
    #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item:hover > a::before,
    #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a:hover::before,
    #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a:focus-visible::before,
    #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item:active > a::before,
    body .mh-drawer-menu .mh-offcanvas-list > li.current-menu-item > a::before,
    body .mh-drawer-menu .mh-offcanvas-list > li.current_page_item > a::before,
    body .mh-drawer-menu .mh-offcanvas-list > li.current-menu-ancestor > a::before,
    body .mh-drawer-menu .mh-offcanvas-list > li.current_page_ancestor > a::before,
    body .mh-drawer-menu .mh-offcanvas-list > li.mh-current-page > a::before,
    body .mh-drawer-menu .mh-offcanvas-list > li.is-current > a::before,
    body .mh-drawer-menu .mh-offcanvas-list > li > a[aria-current="page"]::before,
    #master-header .mh-drawer-menu .mh-offcanvas-list > li.current-menu-item > a::before,
    #master-header .mh-drawer-menu .mh-offcanvas-list > li.current_page_item > a::before,
    #master-header .mh-drawer-menu .mh-offcanvas-list > li.current-menu-ancestor > a::before,
    #master-header .mh-drawer-menu .mh-offcanvas-list > li.current_page_ancestor > a::before,
    #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-current-page > a::before,
    #master-header .mh-drawer-menu .mh-offcanvas-list > li.is-current > a::before,
    #master-header .mh-drawer-menu .mh-offcanvas-list > li > a[aria-current="page"]::before {
        inset: auto !important;
        left: calc(-1 * var(--mh-mobile-menu-x-pad, 26px)) !important;
        top: 50% !important;
        width: 4px !important;
        height: 34px !important;
        border-radius: 0 999px 999px 0 !important;
        background: currentColor !important;
        opacity: .95 !important;
        transform: translateY(-50%) scaleY(1) !important;
    }

    body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li:hover > a::before,
    body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a:hover::before,
    body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a:focus-visible::before,
    #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li:hover > a::before,
    #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a:hover::before,
    #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a:focus-visible::before,
    body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li.current-menu-item > a::before,
    body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li.current_page_item > a::before,
    body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li.mh-current-page > a::before,
    body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li.is-current > a::before,
    body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a[aria-current="page"]::before,
    #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li.current-menu-item > a::before,
    #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li.current_page_item > a::before,
    #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li.mh-current-page > a::before,
    #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li.is-current > a::before,
    #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a[aria-current="page"]::before {
        inset: auto !important;
        left: calc(-1 * var(--mh-mobile-menu-x-pad, 26px)) !important;
        top: 50% !important;
        width: 4px !important;
        height: 34px !important;
        border-radius: 0 999px 999px 0 !important;
        opacity: .95 !important;
        transform: translateY(-50%) scaleY(1) !important;
    }
}


/* ============================================================
 * Master Header 1.10.08 – Mobile White Menu + Submenu Style Match
 * - Hamburger-Menü bleibt rein weiß
 * - Unterseitenmenü nutzt exakt dieselbe cleane Listenoptik wie Hauptmenü
 * - Hauptmenü zeigt oben links „Guten Tag“ in Schreibschrift
 * ============================================================ */
@media (max-width: 1024px) {
    body .mh-drawer.mh-drawer-menu,
    #master-header .mh-drawer.mh-drawer-menu,
    html.mh-dark body .mh-drawer.mh-drawer-menu,
    html.mh-dark #master-header .mh-drawer.mh-drawer-menu {
        background: #ffffff !important;
        color: #18222c !important;
    }

    body .mh-drawer.mh-drawer-menu .mh-drawer-header,
    #master-header .mh-drawer.mh-drawer-menu .mh-drawer-header,
    body.mh-business-polish .mh-drawer.mh-drawer-enterprise .mh-drawer-header,
    html.mh-dark body .mh-drawer.mh-drawer-menu .mh-drawer-header,
    html.mh-dark #master-header .mh-drawer.mh-drawer-menu .mh-drawer-header {
        background: #ffffff !important;
        color: #18222c !important;
        min-height: 76px !important;
        padding: max(15px, env(safe-area-inset-top)) 26px 12px !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    body .mh-drawer.mh-drawer-menu .mh-drawer-content,
    #master-header .mh-drawer.mh-drawer-menu .mh-drawer-content,
    html.mh-dark body .mh-drawer.mh-drawer-menu .mh-drawer-content,
    html.mh-dark #master-header .mh-drawer.mh-drawer-menu .mh-drawer-content {
        --mh-mobile-menu-x-pad: 26px;
        background: #ffffff !important;
        color: #18222c !important;
        padding: 22px 26px calc(34px + env(safe-area-inset-bottom)) !important;
    }

    body .mh-drawer.mh-drawer-menu .mh-drawer-greeting,
    #master-header .mh-drawer.mh-drawer-menu .mh-drawer-greeting {
        grid-column: 1 / 3 !important;
        justify-self: start !important;
        align-self: center !important;
        display: inline-flex !important;
        align-items: center !important;
        color: #18222c !important;
        font-family: "Segoe Script", "Brush Script MT", "Apple Chancery", "Snell Roundhand", cursive !important;
        font-size: clamp(25px, 7vw, 34px) !important;
        font-weight: 600 !important;
        letter-spacing: -.035em !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        opacity: .96 !important;
        transform: translateY(2px) !important;
        pointer-events: none !important;
    }

    body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-greeting,
    #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-greeting {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }

    body .mh-drawer.mh-drawer-menu .mh-drawer-back,
    #master-header .mh-drawer.mh-drawer-menu .mh-drawer-back {
        font-size: 15px !important;
        font-weight: 700 !important;
        color: #18222c !important;
        background: transparent !important;
        box-shadow: none !important;
        border: 0 !important;
    }

    body .mh-drawer.mh-drawer-menu .mh-drawer-close,
    #master-header .mh-drawer.mh-drawer-menu .mh-drawer-close,
    html.mh-dark body .mh-drawer.mh-drawer-menu .mh-drawer-close,
    html.mh-dark #master-header .mh-drawer.mh-drawer-menu .mh-drawer-close {
        color: #18222c !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    /* Keine Card-/Kacheloptik und keine automatischen Pfeile auf Links. */
    body .mh-drawer-menu .mh-offcanvas-list a,
    #master-header .mh-drawer-menu .mh-offcanvas-list a,
    html.mh-dark body .mh-drawer-menu .mh-offcanvas-list a,
    html.mh-dark #master-header .mh-drawer-menu .mh-offcanvas-list a {
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        color: #18222c !important;
        outline-offset: 5px !important;
        transform: none !important;
    }

    body .mh-drawer-menu .mh-offcanvas-list a::after,
    #master-header .mh-drawer-menu .mh-offcanvas-list a::after {
        content: none !important;
        display: none !important;
        opacity: 0 !important;
    }

    body .mh-drawer-menu .mh-offcanvas-list a:hover,
    body .mh-drawer-menu .mh-offcanvas-list a:focus-visible,
    body .mh-drawer-menu .mh-offcanvas-list .current-menu-item > a,
    body .mh-drawer-menu .mh-offcanvas-list .current_page_item > a,
    body .mh-drawer-menu .mh-offcanvas-list .current-menu-ancestor > a,
    #master-header .mh-drawer-menu .mh-offcanvas-list a:hover,
    #master-header .mh-drawer-menu .mh-offcanvas-list a:focus-visible,
    #master-header .mh-drawer-menu .mh-offcanvas-list .current-menu-item > a,
    #master-header .mh-drawer-menu .mh-offcanvas-list .current_page_item > a,
    #master-header .mh-drawer-menu .mh-offcanvas-list .current-menu-ancestor > a {
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        transform: none !important;
        color: #18222c !important;
    }

    /* Hauptseiten und Unterseiten bekommen denselben Listenstil. */
    body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item,
    #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item,
    body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li,
    #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li,
    body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active,
    #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active {
        min-height: 64px !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a,
    #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a,
    body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a,
    #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a {
        min-height: 64px !important;
        padding: 16px 0 !important;
        margin: 0 !important;
        display: flex !important;
        align-items: center !important;
        font-size: clamp(21px, 5.4vw, 30px) !important;
        font-weight: 650 !important;
        letter-spacing: -.035em !important;
        line-height: 1.08 !important;
        text-decoration: none !important;
    }

    body .mh-drawer-menu .mh-offcanvas-list .sub-menu,
    #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu,
    body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu,
    #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        gap: 0 !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active,
    #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active {
        display: block !important;
        min-height: 0 !important;
    }

    body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle,
    #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle {
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        color: #18222c !important;
    }
}

/* ============================================================
 * Master Header 1.10.09 – Mobile Menu Logo + Drawer CTA
 * - Logo im Hamburger-Menü
 * - Kontakt-/CTA-Zeile unten im Hamburger-Menü
 * - weichere Premium-Übergänge für Haupt- und Unterseiten
 * ============================================================ */
@media (max-width: 1024px) {
    body .mh-drawer.mh-drawer-menu,
    #master-header .mh-drawer.mh-drawer-menu {
        background: #ffffff !important;
    }

    body .mh-drawer.mh-drawer-menu .mh-drawer-content,
    #master-header .mh-drawer.mh-drawer-menu .mh-drawer-content {
        padding: 18px 26px 28px !important;
        background: #ffffff !important;
    }

    body .mh-drawer-mobile-logo,
    #master-header .mh-drawer-mobile-logo {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: fit-content !important;
        max-width: min(170px, 48vw) !important;
        height: auto !important;
        margin: 2px 0 28px !important;
        padding: 0 !important;
        text-decoration: none !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        opacity: 0;
        transform: translateY(-10px) scale(.985);
    }

    body .mh-drawer-mobile-logo img,
    #master-header .mh-drawer-mobile-logo img {
        display: block !important;
        width: auto !important;
        max-width: min(170px, 48vw) !important;
        max-height: 54px !important;
        object-fit: contain !important;
        object-position: left center !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    body .mh-drawer.mh-drawer-menu.is-open .mh-drawer-mobile-logo,
    #master-header .mh-drawer.mh-drawer-menu.is-open .mh-drawer-mobile-logo {
        animation: mhMobileDrawerLogoIn .68s cubic-bezier(.16, 1, .3, 1) 120ms both !important;
    }

    body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-mobile-logo,
    #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-mobile-logo {
        display: none !important;
    }

    body .mh-drawer-mobile-logo + .mh-offcanvas-list,
    #master-header .mh-drawer-mobile-logo + .mh-offcanvas-list {
        margin-top: 0 !important;
    }

    body .mh-drawer-menu-footer,
    #master-header .mh-drawer-menu-footer {
        flex: 0 0 auto !important;
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        padding: 14px 20px calc(14px + env(safe-area-inset-bottom)) !important;
        background: #ffffff !important;
        border: 0 !important;
        box-shadow: 0 -16px 42px rgba(15, 23, 42, .06) !important;
        z-index: 2 !important;
        opacity: 0;
        transform: translateY(18px);
    }

    body .mh-drawer.mh-drawer-menu.is-open .mh-drawer-menu-footer,
    #master-header .mh-drawer.mh-drawer-menu.is-open .mh-drawer-menu-footer {
        animation: mhMobileDrawerFooterIn .64s cubic-bezier(.16, 1, .3, 1) 260ms both !important;
    }

    body .mh-drawer-menu-cta,
    #master-header .mh-drawer-menu-cta {
        min-height: 48px !important;
        border-radius: 999px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 18px !important;
        text-decoration: none !important;
        font-size: 15px !important;
        font-weight: 750 !important;
        letter-spacing: -.015em !important;
        line-height: 1 !important;
        transition: transform .22s cubic-bezier(.16, 1, .3, 1), background .22s ease, box-shadow .22s ease, opacity .22s ease !important;
        -webkit-tap-highlight-color: transparent !important;
    }

    body .mh-drawer-menu-cta-primary,
    #master-header .mh-drawer-menu-cta-primary {
        flex: 1 1 auto !important;
        color: #ffffff !important;
        background: #18222c !important;
        box-shadow: 0 14px 34px rgba(24, 34, 44, .18) !important;
    }

    body .mh-drawer-menu-cta-secondary,
    #master-header .mh-drawer-menu-cta-secondary {
        flex: 0 0 auto !important;
        color: #18222c !important;
        background: rgba(24, 34, 44, .07) !important;
        box-shadow: none !important;
    }

    body .mh-drawer-menu-cta:hover,
    body .mh-drawer-menu-cta:focus-visible,
    #master-header .mh-drawer-menu-cta:hover,
    #master-header .mh-drawer-menu-cta:focus-visible {
        transform: translateY(-1px) !important;
    }

    body .mh-drawer-menu-cta:active,
    #master-header .mh-drawer-menu-cta:active {
        transform: translateY(0) scale(.985) !important;
    }

    body.mh-drawer-open-body .mh-mobile-cta-bar {
        opacity: 0 !important;
        pointer-events: none !important;
        transform: translateY(20px) !important;
    }

    body .mh-drawer.mh-drawer-menu.is-open .mh-offcanvas-list > li.mh-menu-item,
    #master-header .mh-drawer.mh-drawer-menu.is-open .mh-offcanvas-list > li.mh-menu-item {
        animation-duration: .56s !important;
        animation-delay: calc(var(--mh-stagger, 0) * 48ms + 170ms) !important;
    }

    body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active,
    #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active {
        animation-duration: .48s !important;
    }

    body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu > li,
    #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu > li {
        animation-name: mhMobileSubItemPremiumIn !important;
        animation-duration: .54s !important;
    }
}

@keyframes mhMobileDrawerLogoIn {
    0% { opacity: 0; transform: translateY(-14px) scale(.965); filter: blur(5px); }
    62% { opacity: 1; transform: translateY(2px) scale(1.006); filter: blur(0); }
    100% { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}

@keyframes mhMobileDrawerFooterIn {
    0% { opacity: 0; transform: translateY(22px); filter: blur(6px); }
    100% { opacity: 1; transform: translateY(0); filter: blur(0); }
}

@keyframes mhMobileSubItemPremiumIn {
    0% { opacity: 0; transform: translateX(12px) translateY(8px); filter: blur(4px); }
    100% { opacity: 1; transform: translateX(0) translateY(0); filter: blur(0); }
}

@media (max-width: 1024px) and (prefers-reduced-motion: reduce) {
    body .mh-drawer-mobile-logo,
    #master-header .mh-drawer-mobile-logo,
    body .mh-drawer-menu-footer,
    #master-header .mh-drawer-menu-footer,
    body .mh-drawer.mh-drawer-menu.is-open .mh-drawer-mobile-logo,
    #master-header .mh-drawer.mh-drawer-menu.is-open .mh-drawer-mobile-logo,
    body .mh-drawer.mh-drawer-menu.is-open .mh-drawer-menu-footer,
    #master-header .mh-drawer.mh-drawer-menu.is-open .mh-drawer-menu-footer {
        animation: none !important;
        transition: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
    }
}


/* ============================================================
 * Master Header 1.10.10 – Mobile Logo/Greeting Swap + Writing Animation
 * - Logo sitzt im mobilen Hauptmenü oben links in der Kopfzeile
 * - „Guten Tag“ sitzt an der vorherigen Logo-Position im Inhalt
 * - „Guten Tag“ wird beim Öffnen weich geschrieben/eingeblendet
 * ============================================================ */
@media (max-width: 1024px) {
    body .mh-drawer.mh-drawer-menu .mh-drawer-header .mh-drawer-mobile-logo,
    #master-header .mh-drawer.mh-drawer-menu .mh-drawer-header .mh-drawer-mobile-logo {
        grid-column: 1 !important;
        justify-self: start !important;
        align-self: center !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: auto !important;
        max-width: min(156px, 44vw) !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        text-decoration: none !important;
        opacity: 0;
        transform: translateY(-6px) scale(.985);
        filter: blur(3px);
        pointer-events: auto !important;
    }

    body .mh-drawer.mh-drawer-menu .mh-drawer-header .mh-drawer-mobile-logo img,
    #master-header .mh-drawer.mh-drawer-menu .mh-drawer-header .mh-drawer-mobile-logo img {
        display: block !important;
        width: auto !important;
        max-width: min(156px, 44vw) !important;
        max-height: 46px !important;
        object-fit: contain !important;
        object-position: left center !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    body .mh-drawer.mh-drawer-menu.is-open:not(.mh-drilldown-open) .mh-drawer-header .mh-drawer-mobile-logo,
    #master-header .mh-drawer.mh-drawer-menu.is-open:not(.mh-drilldown-open) .mh-drawer-header .mh-drawer-mobile-logo {
        animation: mhMobileHeaderLogoIn .58s cubic-bezier(.16, 1, .3, 1) 80ms both !important;
    }

    body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-header .mh-drawer-mobile-logo,
    #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-header .mh-drawer-mobile-logo {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    body .mh-drawer.mh-drawer-menu .mh-drawer-content > .mh-drawer-greeting-content,
    #master-header .mh-drawer.mh-drawer-menu .mh-drawer-content > .mh-drawer-greeting-content {
        grid-column: auto !important;
        justify-self: start !important;
        align-self: auto !important;
        display: inline-block !important;
        width: fit-content !important;
        max-width: 100% !important;
        margin: 0 0 32px !important;
        padding: 0 !important;
        color: #18222c !important;
        font-family: "Segoe Script", "Brush Script MT", "Apple Chancery", "Snell Roundhand", cursive !important;
        font-size: clamp(29px, 8vw, 40px) !important;
        font-weight: 600 !important;
        letter-spacing: -.04em !important;
        line-height: 1.06 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        opacity: 0 !important;
        transform: none !important;
        pointer-events: none !important;
        clip-path: inset(0 100% 0 0);
        -webkit-clip-path: inset(0 100% 0 0);
    }

    body .mh-drawer.mh-drawer-menu.is-open:not(.mh-drilldown-open) .mh-drawer-content > .mh-drawer-greeting-content,
    #master-header .mh-drawer.mh-drawer-menu.is-open:not(.mh-drilldown-open) .mh-drawer-content > .mh-drawer-greeting-content {
        animation: mhMobileGreetingWrite 1.18s steps(9, end) 180ms both !important;
    }

    body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-drawer-greeting-content,
    #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-drawer-greeting-content {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }

    body .mh-drawer.mh-drawer-menu .mh-drawer-content > .mh-drawer-greeting-content + .mh-offcanvas-list,
    #master-header .mh-drawer.mh-drawer-menu .mh-drawer-content > .mh-drawer-greeting-content + .mh-offcanvas-list {
        margin-top: 0 !important;
    }
}

@keyframes mhMobileHeaderLogoIn {
    0% { opacity: 0; transform: translateY(-10px) scale(.965); filter: blur(5px); }
    100% { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}

@keyframes mhMobileGreetingWrite {
    0% { opacity: 1; clip-path: inset(0 100% 0 0); -webkit-clip-path: inset(0 100% 0 0); filter: blur(1px); }
    72% { opacity: 1; clip-path: inset(0 0 0 0); -webkit-clip-path: inset(0 0 0 0); filter: blur(0); }
    100% { opacity: 1; clip-path: inset(0 0 0 0); -webkit-clip-path: inset(0 0 0 0); filter: blur(0); }
}

@media (max-width: 1024px) and (prefers-reduced-motion: reduce) {
    body .mh-drawer.mh-drawer-menu .mh-drawer-header .mh-drawer-mobile-logo,
    #master-header .mh-drawer.mh-drawer-menu .mh-drawer-header .mh-drawer-mobile-logo,
    body .mh-drawer.mh-drawer-menu .mh-drawer-content > .mh-drawer-greeting-content,
    #master-header .mh-drawer.mh-drawer-menu .mh-drawer-content > .mh-drawer-greeting-content {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
        clip-path: inset(0 0 0 0) !important;
        -webkit-clip-path: inset(0 0 0 0) !important;
    }
}

/* ============================================================
 * Master Header 1.10.11 – Mobile Greeting Typewriter Fix
 * - verhindert leeres „Guten Tag“ durch ältere opacity/clip-path Regeln
 * - JS schreibt den Text Zeichen für Zeichen, Fallback bleibt sichtbar
 * ============================================================ */
@media (max-width: 1024px) {
    body .mh-drawer.mh-drawer-menu .mh-drawer-content > .mh-drawer-greeting-content,
    #master-header .mh-drawer.mh-drawer-menu .mh-drawer-content > .mh-drawer-greeting-content {
        display: inline-flex !important;
        align-items: center !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 44px !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        filter: none !important;
        clip-path: none !important;
        -webkit-clip-path: none !important;
        animation: none !important;
        will-change: contents !important;
    }

    body .mh-drawer.mh-drawer-menu.is-open:not(.mh-drilldown-open) .mh-drawer-content > .mh-drawer-greeting-content,
    #master-header .mh-drawer.mh-drawer-menu.is-open:not(.mh-drilldown-open) .mh-drawer-content > .mh-drawer-greeting-content {
        opacity: 1 !important;
        visibility: visible !important;
        clip-path: none !important;
        -webkit-clip-path: none !important;
        animation: none !important;
    }

    body .mh-drawer-greeting-content.mh-is-typing::after,
    #master-header .mh-drawer-greeting-content.mh-is-typing::after {
        content: "";
        display: inline-block;
        width: 2px;
        height: .92em;
        margin-left: 4px;
        border-radius: 999px;
        background: currentColor;
        transform: translateY(.08em);
        animation: mhMobileGreetingCaret .72s steps(1, end) infinite;
    }

    body .mh-drawer-greeting-content.mh-is-typed::after,
    #master-header .mh-drawer-greeting-content.mh-is-typed::after {
        content: none !important;
        display: none !important;
    }

    body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-drawer-greeting-content,
    #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-drawer-greeting-content {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }
}

@keyframes mhMobileGreetingCaret {
    0%, 52% { opacity: 1; }
    53%, 100% { opacity: 0; }
}

@media (max-width: 1024px) and (prefers-reduced-motion: reduce) {
    body .mh-drawer-greeting-content.mh-is-typing::after,
    #master-header .mh-drawer-greeting-content.mh-is-typing::after {
        content: none !important;
        display: none !important;
    }
}

/* ============================================================
 * Master Header 1.10.12 – Mobile Icon + centered greeting
 * - Nur Icon oben links, im Backend per Mediathek hinterlegbar
 * - „Guten Tag“ mittig in derselben Kopfzeile mit Typewriter
 * - Menüabstände um ca. 25% kompakter
 * ============================================================ */
@media (max-width: 1024px) {
    body .mh-drawer.mh-drawer-menu,
    #master-header .mh-drawer.mh-drawer-menu,
    body .mh-drawer.mh-drawer-menu .mh-drawer-header,
    #master-header .mh-drawer.mh-drawer-menu .mh-drawer-header,
    body .mh-drawer.mh-drawer-menu .mh-drawer-content,
    #master-header .mh-drawer.mh-drawer-menu .mh-drawer-content {
        background: #ffffff !important;
    }

    body .mh-drawer.mh-drawer-menu .mh-mobile-menu-header,
    #master-header .mh-drawer.mh-drawer-menu .mh-mobile-menu-header,
    body.mh-business-polish .mh-drawer.mh-drawer-enterprise .mh-mobile-menu-header {
        display: grid !important;
        grid-template-columns: 56px minmax(0, 1fr) 56px !important;
        align-items: center !important;
        column-gap: 0 !important;
        min-height: 78px !important;
        padding: max(14px, env(safe-area-inset-top)) 20px 10px !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    body .mh-drawer.mh-drawer-menu:not(.mh-drilldown-open) .mh-drawer-back,
    #master-header .mh-drawer.mh-drawer-menu:not(.mh-drilldown-open) .mh-drawer-back {
        display: none !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-back,
    #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-back {
        grid-column: 1 !important;
        display: inline-flex !important;
        justify-self: start !important;
        align-self: center !important;
        width: auto !important;
        min-width: 0 !important;
    }

    body .mh-drawer.mh-drawer-menu .mh-drawer-header .mh-drawer-mobile-icon,
    #master-header .mh-drawer.mh-drawer-menu .mh-drawer-header .mh-drawer-mobile-icon,
    body .mh-drawer.mh-drawer-menu .mh-drawer-header .mh-drawer-mobile-logo,
    #master-header .mh-drawer.mh-drawer-menu .mh-drawer-header .mh-drawer-mobile-logo {
        grid-column: 1 !important;
        justify-self: start !important;
        align-self: center !important;
        width: 48px !important;
        height: 48px !important;
        max-width: 48px !important;
        max-height: 48px !important;
        padding: 0 !important;
        margin: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        overflow: visible !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        transform-origin: left center !important;
    }

    body .mh-drawer.mh-drawer-menu .mh-drawer-header .mh-drawer-mobile-icon img,
    #master-header .mh-drawer.mh-drawer-menu .mh-drawer-header .mh-drawer-mobile-icon img,
    body .mh-drawer.mh-drawer-menu .mh-drawer-header .mh-drawer-mobile-logo img,
    #master-header .mh-drawer.mh-drawer-menu .mh-drawer-header .mh-drawer-mobile-logo img {
        width: 44px !important;
        height: 44px !important;
        max-width: 44px !important;
        max-height: 44px !important;
        object-fit: contain !important;
        object-position: left center !important;
        display: block !important;
    }

    body .mh-drawer.mh-drawer-menu .mh-drawer-header .mh-drawer-greeting-header,
    #master-header .mh-drawer.mh-drawer-menu .mh-drawer-header .mh-drawer-greeting-header {
        grid-column: 2 !important;
        justify-self: center !important;
        align-self: center !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 38px !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #18222c !important;
        font-family: "Segoe Script", "Brush Script MT", "Apple Chancery", "Snell Roundhand", cursive !important;
        font-size: clamp(27px, 7.3vw, 38px) !important;
        font-weight: 600 !important;
        letter-spacing: -.04em !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        overflow: visible !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        filter: none !important;
        clip-path: none !important;
        -webkit-clip-path: none !important;
        animation: none !important;
        pointer-events: none !important;
    }

    body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-header .mh-drawer-mobile-icon,
    #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-header .mh-drawer-mobile-icon,
    body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-header .mh-drawer-mobile-logo,
    #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-header .mh-drawer-mobile-logo,
    body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-header .mh-drawer-greeting-header,
    #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-header .mh-drawer-greeting-header {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    body .mh-drawer.mh-drawer-menu .mh-drawer-close,
    #master-header .mh-drawer.mh-drawer-menu .mh-drawer-close {
        grid-column: 3 !important;
        justify-self: end !important;
        align-self: center !important;
    }

    body .mh-drawer.mh-drawer-menu .mh-drawer-content,
    #master-header .mh-drawer.mh-drawer-menu .mh-drawer-content {
        padding-top: 10px !important;
    }

    body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item,
    #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item,
    body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li,
    #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li {
        min-height: 48px !important;
    }

    body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a,
    #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a,
    body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a,
    #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a {
        min-height: 48px !important;
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle,
    #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle {
        min-height: 48px !important;
    }
}


/* ============================================================
 * Master Header 1.10.13 – Desktop submenu arrow + premium dropdown polish
 * - replaces the white dot next to desktop parent items with a clean down arrow
 * - submenu hover underlines the text itself, not a centered row marker
 * - dropdown panel is slimmer, cleaner and more business-like
 * ============================================================ */
@media (min-width: 1025px) {
    /* Top-level parent items: link + small chevron, no dot/pill. */
    #master-header .mh-menu-inline > .mh-menu-list > li.has-children,
    #master-header .mh-menu-inline > .mh-menu-list > li.menu-item-has-children,
    #master-header .mh-menu-inline > ul > li.has-children,
    #master-header .mh-menu-inline > ul > li.menu-item-has-children {
        position: relative !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 3px !important;
    }

    #master-header .mh-menu-inline > .mh-menu-list > li.has-children > .mh-sub-toggle,
    #master-header .mh-menu-inline > .mh-menu-list > li.menu-item-has-children > .mh-sub-toggle,
    #master-header .mh-menu-inline > ul > li.has-children > .mh-sub-toggle,
    #master-header .mh-menu-inline > ul > li.menu-item-has-children > .mh-sub-toggle {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 18px !important;
        min-width: 18px !important;
        height: 18px !important;
        min-height: 18px !important;
        padding: 0 !important;
        margin: 0 0 0 -5px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: currentColor !important;
        cursor: pointer !important;
        opacity: .82 !important;
        line-height: 1 !important;
        transform: translateY(1px) !important;
        transition: opacity .2s ease, transform .25s cubic-bezier(.16, 1, .3, 1) !important;
    }

    #master-header .mh-menu-inline > .mh-menu-list > li.has-children > .mh-sub-toggle .mh-sub-icon,
    #master-header .mh-menu-inline > .mh-menu-list > li.menu-item-has-children > .mh-sub-toggle .mh-sub-icon,
    #master-header .mh-menu-inline > ul > li.has-children > .mh-sub-toggle .mh-sub-icon,
    #master-header .mh-menu-inline > ul > li.menu-item-has-children > .mh-sub-toggle .mh-sub-icon {
        display: block !important;
        width: 15px !important;
        height: 15px !important;
        opacity: 1 !important;
        stroke-width: 2.35px !important;
        transition: transform .25s cubic-bezier(.16, 1, .3, 1) !important;
    }

    #master-header .mh-menu-inline > .mh-menu-list > li.has-children:hover > .mh-sub-toggle,
    #master-header .mh-menu-inline > .mh-menu-list > li.menu-item-has-children:hover > .mh-sub-toggle,
    #master-header .mh-menu-inline > ul > li.has-children:hover > .mh-sub-toggle,
    #master-header .mh-menu-inline > ul > li.menu-item-has-children:hover > .mh-sub-toggle,
    #master-header .mh-menu-inline > .mh-menu-list > li.has-children:focus-within > .mh-sub-toggle,
    #master-header .mh-menu-inline > .mh-menu-list > li.menu-item-has-children:focus-within > .mh-sub-toggle,
    #master-header .mh-menu-inline > ul > li.has-children:focus-within > .mh-sub-toggle,
    #master-header .mh-menu-inline > ul > li.menu-item-has-children:focus-within > .mh-sub-toggle {
        opacity: 1 !important;
        transform: translateY(1px) rotate(180deg) !important;
    }

    /* Dropdown panel: slimmer, glassy, not oversized. */
    #master-header .mh-menu .sub-menu,
    body.mh-business-polish #master-header .mh-menu .sub-menu,
    #master-header.mh-over-hero .mh-menu .sub-menu,
    #master-header:not(.mh-over-hero) .mh-menu .sub-menu {
        width: max-content !important;
        min-width: 170px !important;
        max-width: min(260px, calc(100vw - 32px)) !important;
        padding: 10px 0 !important;
        gap: 0 !important;
        border-radius: 16px !important;
        overflow: hidden !important;
        border: 1px solid rgba(255,255,255,.16) !important;
        box-shadow: 0 22px 58px rgba(15,23,42,.22), inset 0 1px 0 rgba(255,255,255,.12) !important;
        -webkit-backdrop-filter: blur(18px) saturate(1.12) !important;
        backdrop-filter: blur(18px) saturate(1.12) !important;
    }

    #master-header.mh-over-hero .mh-menu .sub-menu {
        background: rgba(15, 29, 39, .88) !important;
        color: #ffffff !important;
    }

    #master-header:not(.mh-over-hero) .mh-menu .sub-menu {
        background: rgba(255,255,255,.96) !important;
        color: #172333 !important;
        border-color: rgba(15,23,42,.10) !important;
    }

    #master-header .mh-menu .sub-menu li,
    #master-header.mh-over-hero .mh-menu .sub-menu li,
    #master-header:not(.mh-over-hero) .mh-menu .sub-menu li {
        width: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        margin: 0 !important;
    }

    /* Submenu text rows: clean and compact. */
    #master-header .mh-menu .sub-menu a,
    #master-header.mh-over-hero .mh-menu .sub-menu a,
    #master-header:not(.mh-over-hero) .mh-menu .sub-menu a {
        position: relative !important;
        display: block !important;
        width: 100% !important;
        padding: 11px 18px !important;
        margin: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: inherit !important;
        line-height: 1.18 !important;
        font-weight: 560 !important;
        text-decoration: none !important;
        text-underline-offset: 6px !important;
        text-decoration-thickness: 2px !important;
        transition: color .18s ease, background .18s ease, transform .18s ease, text-decoration-color .18s ease !important;
    }

    /* Disable the old centered pseudo underline inside dropdowns. */
    #master-header .mh-menu .sub-menu a::after,
    #master-header .mh-menu .sub-menu .mh-sub-toggle::after,
    #master-header.mh-over-hero .mh-menu .sub-menu a::after,
    #master-header.mh-over-hero .mh-menu .sub-menu .mh-sub-toggle::after,
    #master-header:not(.mh-over-hero) .mh-menu .sub-menu a::after,
    #master-header:not(.mh-over-hero) .mh-menu .sub-menu .mh-sub-toggle::after {
        content: none !important;
        display: none !important;
        opacity: 0 !important;
        transform: none !important;
        width: 0 !important;
        height: 0 !important;
        box-shadow: none !important;
    }

    #master-header .mh-menu .sub-menu a:hover,
    #master-header .mh-menu .sub-menu a:focus-visible,
    #master-header .mh-menu .sub-menu .current-menu-item > a,
    #master-header .mh-menu .sub-menu .current_page_item > a,
    #master-header .mh-menu .sub-menu .current-menu-ancestor > a,
    #master-header .mh-menu .sub-menu .current_page_ancestor > a {
        background: rgba(255,255,255,.08) !important;
        text-decoration-line: underline !important;
        text-decoration-color: currentColor !important;
        transform: translateX(2px) !important;
    }

    #master-header:not(.mh-over-hero) .mh-menu .sub-menu a:hover,
    #master-header:not(.mh-over-hero) .mh-menu .sub-menu a:focus-visible,
    #master-header:not(.mh-over-hero) .mh-menu .sub-menu .current-menu-item > a,
    #master-header:not(.mh-over-hero) .mh-menu .sub-menu .current_page_item > a,
    #master-header:not(.mh-over-hero) .mh-menu .sub-menu .current-menu-ancestor > a,
    #master-header:not(.mh-over-hero) .mh-menu .sub-menu .current_page_ancestor > a {
        background: rgba(15,23,42,.055) !important;
    }

    /* Nested desktop submenu toggles remain arrows, never white dots. */
    #master-header .mh-menu .sub-menu .mh-sub-toggle {
        width: 30px !important;
        min-width: 30px !important;
        height: 30px !important;
        min-height: 30px !important;
        margin: 0 10px 0 -8px !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: inherit !important;
        border-radius: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        opacity: .75 !important;
    }

    #master-header .mh-menu .sub-menu .mh-sub-toggle .mh-sub-icon {
        width: 14px !important;
        height: 14px !important;
        transform: rotate(-90deg) !important;
    }
}


/* ============================================================
 * Master Header 1.10.14 – Detached premium desktop submenu
 * - moves desktop dropdowns below the header glass/background
 * - gives submenu a clean floating business-card look
 * - keeps parent chevron as down arrow without the old dot look
 * ============================================================ */
@media (min-width: 1025px) {
    #master-header {
        overflow: visible !important;
    }

    #master-header .mh-inner,
    #master-header .mh-row,
    #master-header .mh-cell,
    #master-header .mh-element,
    #master-header .mh-menu,
    #master-header .mh-menu-inline,
    #master-header .mh-menu-inline > .mh-menu-list,
    #master-header .mh-menu-inline > ul {
        overflow: visible !important;
    }

    /* Keep the desktop parent indicator a real down-chevron. No white dot and no flip to an up icon. */
    #master-header .mh-menu-inline > .mh-menu-list > li.has-children > .mh-sub-toggle,
    #master-header .mh-menu-inline > .mh-menu-list > li.menu-item-has-children > .mh-sub-toggle,
    #master-header .mh-menu-inline > ul > li.has-children > .mh-sub-toggle,
    #master-header .mh-menu-inline > ul > li.menu-item-has-children > .mh-sub-toggle,
    #master-header .mh-menu-inline > .mh-menu-list > li.has-children:hover > .mh-sub-toggle,
    #master-header .mh-menu-inline > .mh-menu-list > li.menu-item-has-children:hover > .mh-sub-toggle,
    #master-header .mh-menu-inline > ul > li.has-children:hover > .mh-sub-toggle,
    #master-header .mh-menu-inline > ul > li.menu-item-has-children:hover > .mh-sub-toggle,
    #master-header .mh-menu-inline > .mh-menu-list > li.has-children:focus-within > .mh-sub-toggle,
    #master-header .mh-menu-inline > .mh-menu-list > li.menu-item-has-children:focus-within > .mh-sub-toggle,
    #master-header .mh-menu-inline > ul > li.has-children:focus-within > .mh-sub-toggle,
    #master-header .mh-menu-inline > ul > li.menu-item-has-children:focus-within > .mh-sub-toggle {
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        transform: translateY(1px) !important;
    }

    #master-header .mh-menu-inline > .mh-menu-list > li.has-children > .mh-sub-toggle .mh-sub-icon,
    #master-header .mh-menu-inline > .mh-menu-list > li.menu-item-has-children > .mh-sub-toggle .mh-sub-icon,
    #master-header .mh-menu-inline > ul > li.has-children > .mh-sub-toggle .mh-sub-icon,
    #master-header .mh-menu-inline > ul > li.menu-item-has-children > .mh-sub-toggle .mh-sub-icon,
    #master-header .mh-menu-inline > .mh-menu-list > li.has-children:hover > .mh-sub-toggle .mh-sub-icon,
    #master-header .mh-menu-inline > .mh-menu-list > li.menu-item-has-children:hover > .mh-sub-toggle .mh-sub-icon,
    #master-header .mh-menu-inline > ul > li.has-children:hover > .mh-sub-toggle .mh-sub-icon,
    #master-header .mh-menu-inline > ul > li.menu-item-has-children:hover > .mh-sub-toggle .mh-sub-icon,
    #master-header .mh-menu-inline > .mh-menu-list > li.has-children:focus-within > .mh-sub-toggle .mh-sub-icon,
    #master-header .mh-menu-inline > .mh-menu-list > li.menu-item-has-children:focus-within > .mh-sub-toggle .mh-sub-icon,
    #master-header .mh-menu-inline > ul > li.has-children:focus-within > .mh-sub-toggle .mh-sub-icon,
    #master-header .mh-menu-inline > ul > li.menu-item-has-children:focus-within > .mh-sub-toggle .mh-sub-icon {
        transform: none !important;
    }

    /* Hover bridge so the separated dropdown does not close while moving the mouse down. */
    #master-header .mh-menu-inline > .mh-menu-list > li.has-children::before,
    #master-header .mh-menu-inline > .mh-menu-list > li.menu-item-has-children::before,
    #master-header .mh-menu-inline > ul > li.has-children::before,
    #master-header .mh-menu-inline > ul > li.menu-item-has-children::before {
        content: "" !important;
        position: absolute !important;
        left: -12px !important;
        right: -12px !important;
        top: 100% !important;
        height: 34px !important;
        background: transparent !important;
        pointer-events: auto !important;
        z-index: 10048 !important;
    }

    /* Top-level desktop dropdown: detached from the header bar. */
    #master-header .mh-menu-inline > .mh-menu-list > li > .sub-menu,
    #master-header .mh-menu-inline > ul > li > .sub-menu,
    body.mh-business-polish #master-header .mh-menu-inline > .mh-menu-list > li > .sub-menu,
    body.mh-business-polish #master-header .mh-menu-inline > ul > li > .sub-menu,
    #master-header.mh-over-hero .mh-menu-inline > .mh-menu-list > li > .sub-menu,
    #master-header.mh-over-hero .mh-menu-inline > ul > li > .sub-menu,
    #master-header:not(.mh-over-hero) .mh-menu-inline > .mh-menu-list > li > .sub-menu,
    #master-header:not(.mh-over-hero) .mh-menu-inline > ul > li > .sub-menu {
        display: flex !important;
        flex-direction: column !important;
        top: calc(100% + 22px) !important;
        left: 50% !important;
        width: max-content !important;
        min-width: 158px !important;
        max-width: min(236px, calc(100vw - 32px)) !important;
        padding: 10px 0 !important;
        border-radius: 18px !important;
        overflow: visible !important;
        isolation: isolate !important;
        background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,248,251,.94)) !important;
        color: #172333 !important;
        border: 1px solid rgba(15,23,42,.10) !important;
        box-shadow: 0 26px 70px rgba(15,23,42,.22), 0 6px 18px rgba(15,23,42,.10), inset 0 1px 0 rgba(255,255,255,.85) !important;
        -webkit-backdrop-filter: blur(22px) saturate(1.18) !important;
        backdrop-filter: blur(22px) saturate(1.18) !important;
        z-index: 10050 !important;
        transform: translateX(-50%) translateY(12px) scale(.965) !important;
        transform-origin: top center !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transition: opacity .24s ease, visibility .24s ease, transform .30s cubic-bezier(.16, 1, .3, 1) !important;
    }

    #master-header .mh-menu-inline > .mh-menu-list > li:hover > .sub-menu,
    #master-header .mh-menu-inline > .mh-menu-list > li:focus-within > .sub-menu,
    #master-header .mh-menu-inline > ul > li:hover > .sub-menu,
    #master-header .mh-menu-inline > ul > li:focus-within > .sub-menu,
    body.mh-business-polish #master-header .mh-menu-inline > .mh-menu-list > li:hover > .sub-menu,
    body.mh-business-polish #master-header .mh-menu-inline > .mh-menu-list > li:focus-within > .sub-menu,
    body.mh-business-polish #master-header .mh-menu-inline > ul > li:hover > .sub-menu,
    body.mh-business-polish #master-header .mh-menu-inline > ul > li:focus-within > .sub-menu {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateX(-50%) translateY(0) scale(1) !important;
    }

    /* Small floating notch reinforces that the dropdown is a separate layer. */
    #master-header .mh-menu-inline > .mh-menu-list > li > .sub-menu::before,
    #master-header .mh-menu-inline > ul > li > .sub-menu::before {
        content: "" !important;
        position: absolute !important;
        top: -6px !important;
        left: 50% !important;
        width: 12px !important;
        height: 12px !important;
        transform: translateX(-50%) rotate(45deg) !important;
        background: rgba(255,255,255,.98) !important;
        border-left: 1px solid rgba(15,23,42,.08) !important;
        border-top: 1px solid rgba(15,23,42,.08) !important;
        border-radius: 2px 0 0 0 !important;
        z-index: -1 !important;
    }

    #master-header .mh-menu-inline > .mh-menu-list > li > .sub-menu > li,
    #master-header .mh-menu-inline > ul > li > .sub-menu > li {
        position: relative !important;
        display: block !important;
        width: 100% !important;
    }

    #master-header .mh-menu-inline > .mh-menu-list > li > .sub-menu > li > a,
    #master-header .mh-menu-inline > ul > li > .sub-menu > li > a,
    #master-header.mh-over-hero .mh-menu-inline > .mh-menu-list > li > .sub-menu > li > a,
    #master-header.mh-over-hero .mh-menu-inline > ul > li > .sub-menu > li > a,
    #master-header:not(.mh-over-hero) .mh-menu-inline > .mh-menu-list > li > .sub-menu > li > a,
    #master-header:not(.mh-over-hero) .mh-menu-inline > ul > li > .sub-menu > li > a {
        display: inline-block !important;
        width: auto !important;
        min-width: 0 !important;
        margin: 0 12px !important;
        padding: 10px 8px 11px !important;
        color: #172333 !important;
        background: transparent !important;
        border-radius: 0 !important;
        font-weight: 620 !important;
        line-height: 1.2 !important;
        text-decoration: none !important;
        text-underline-offset: 6px !important;
        text-decoration-thickness: 2px !important;
        transition: color .2s ease, transform .22s cubic-bezier(.16, 1, .3, 1), text-decoration-color .2s ease !important;
    }

    #master-header .mh-menu-inline > .mh-menu-list > li > .sub-menu > li > a:hover,
    #master-header .mh-menu-inline > .mh-menu-list > li > .sub-menu > li > a:focus-visible,
    #master-header .mh-menu-inline > .mh-menu-list > li > .sub-menu > li.current-menu-item > a,
    #master-header .mh-menu-inline > .mh-menu-list > li > .sub-menu > li.current_page_item > a,
    #master-header .mh-menu-inline > ul > li > .sub-menu > li > a:hover,
    #master-header .mh-menu-inline > ul > li > .sub-menu > li > a:focus-visible,
    #master-header .mh-menu-inline > ul > li > .sub-menu > li.current-menu-item > a,
    #master-header .mh-menu-inline > ul > li > .sub-menu > li.current_page_item > a {
        color: #0f5f7c !important;
        background: transparent !important;
        text-decoration-line: underline !important;
        text-decoration-color: currentColor !important;
        transform: translateX(2px) !important;
    }

    /* Remove older full-row/center underline from desktop dropdowns once and for all. */
    #master-header .mh-menu-inline > .mh-menu-list > li > .sub-menu a::after,
    #master-header .mh-menu-inline > .mh-menu-list > li > .sub-menu .mh-sub-toggle::after,
    #master-header .mh-menu-inline > ul > li > .sub-menu a::after,
    #master-header .mh-menu-inline > ul > li > .sub-menu .mh-sub-toggle::after {
        content: none !important;
        display: none !important;
        opacity: 0 !important;
        transform: none !important;
    }

    /* Nested desktop dropdowns stay side-attached; they should not receive the top-level gap. */
    #master-header .mh-menu .sub-menu .sub-menu {
        top: 0 !important;
        left: calc(100% + 10px) !important;
        transform: translateY(6px) scale(.98) !important;
    }

    #master-header .mh-menu .sub-menu li:hover > .sub-menu,
    #master-header .mh-menu .sub-menu li:focus-within > .sub-menu {
        transform: translateY(0) scale(1) !important;
    }
}

/* ============================================================
 * 1.10.15 – Floating Quick Action Buttons
 * Zwei einklappbare Icon-Buttons rechts unten. Fahren automatisch
 * nach oben, sobald der Nach-oben-Button sichtbar wird.
 * ============================================================ */
.mh-quick-actions {
    position: fixed;
    right: max(18px, env(safe-area-inset-right));
    bottom: calc(18px + var(--mh-mobile-cta-offset, 0px) + env(safe-area-inset-bottom));
    z-index: 2147483635;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    pointer-events: auto;
    transition: bottom .34s cubic-bezier(.22,1,.36,1), transform .28s ease, opacity .24s ease;
}
html.mh-backtop-visible .mh-quick-actions {
    bottom: calc(78px + var(--mh-mobile-cta-offset, 0px) + env(safe-area-inset-bottom));
}
.mh-quick-action-btn,
.mh-quick-actions-toggle {
    position: relative;
    width: 46px;
    height: 46px;
    border: 1px solid rgba(15,23,42,.12);
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #0f172a;
    background: rgba(255,255,255,.90);
    box-shadow: 0 16px 42px rgba(15,23,42,.14);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    overflow: hidden;
    cursor: pointer;
    transition: transform .24s cubic-bezier(.22,1,.36,1), opacity .22s ease, visibility .22s ease, background .22s ease, border-color .22s ease, box-shadow .22s ease, height .24s ease, margin .24s ease;
}
.mh-quick-action-btn svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
    display: block;
    transition: transform .24s ease;
}
.mh-quick-action-btn:hover,
.mh-quick-action-btn:focus-visible,
.mh-quick-actions-toggle:hover,
.mh-quick-actions-toggle:focus-visible {
    transform: translateY(-2px) scale(1.03);
    background: #fff;
    border-color: rgba(15,23,42,.18);
    box-shadow: 0 20px 52px rgba(15,23,42,.18);
    outline: none;
}
.mh-quick-action-btn:hover svg,
.mh-quick-action-btn:focus-visible svg {
    transform: scale(1.08);
}
.mh-quick-action-label {
    position: absolute;
    right: calc(100% + 10px);
    top: 50%;
    transform: translate(8px, -50%);
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(15,23,42,.88);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    box-shadow: 0 12px 34px rgba(15,23,42,.22);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.mh-quick-action-btn:hover .mh-quick-action-label,
.mh-quick-action-btn:focus-visible .mh-quick-action-label {
    opacity: 1;
    visibility: visible;
    transform: translate(0, -50%);
}
.mh-quick-actions-toggle {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: rgba(15,23,42,.90);
    color: #fff;
    box-shadow: 0 12px 30px rgba(15,23,42,.20);
}
.mh-quick-actions-toggle span {
    width: 9px;
    height: 9px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translate(-1px, -1px);
    transition: transform .24s ease;
}
.mh-quick-actions.is-collapsed .mh-quick-actions-toggle span {
    transform: rotate(225deg) translate(-1px, -1px);
}
.mh-quick-actions.is-collapsed .mh-quick-action-btn {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    height: 0;
    margin: -5px 0;
    transform: translateY(12px) scale(.86);
    box-shadow: none;
}
.mh-quick-actions.is-ready .mh-quick-action-one {
    animation: mhQuickActionIn .42s cubic-bezier(.22,1,.36,1) both;
}
.mh-quick-actions.is-ready .mh-quick-action-two {
    animation: mhQuickActionIn .42s cubic-bezier(.22,1,.36,1) .06s both;
}
@keyframes mhQuickActionIn {
    from { opacity: 0; transform: translateY(12px) scale(.92); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
@media (max-width: 700px) {
    .mh-quick-actions {
        right: max(14px, env(safe-area-inset-right));
        bottom: calc(14px + var(--mh-mobile-cta-offset, 0px) + env(safe-area-inset-bottom));
        gap: 9px;
    }
    html.mh-backtop-visible .mh-quick-actions {
        bottom: calc(72px + var(--mh-mobile-cta-offset, 0px) + env(safe-area-inset-bottom));
    }
    .mh-quick-action-btn {
        width: 44px;
        height: 44px;
        border-radius: 15px;
    }
    .mh-quick-action-label {
        display: none;
    }
}
@media (prefers-reduced-motion: reduce) {
    .mh-quick-actions,
    .mh-quick-action-btn,
    .mh-quick-actions-toggle,
    .mh-quick-action-btn svg,
    .mh-quick-action-label {
        transition: none !important;
        animation: none !important;
    }
}


/* ============================================================
 * 1.10.16 – Premium Hover Animation für Floating Quick Actions
 * ============================================================ */
.mh-quick-action-btn,
.mh-quick-actions-toggle {
    isolation: isolate;
    transform-style: preserve-3d;
    will-change: transform, box-shadow;
}
.mh-quick-action-btn {
    overflow: visible;
    background-image:
        radial-gradient(circle at 30% 18%, rgba(255,255,255,.95), rgba(255,255,255,0) 38%),
        linear-gradient(135deg, rgba(255,255,255,.96), rgba(248,250,252,.92));
}
.mh-quick-action-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,.85) 43%, transparent 70%);
    transform: translateX(-135%) skewX(-16deg);
    opacity: 0;
    pointer-events: none;
}
.mh-quick-action-btn::after {
    content: '';
    position: absolute;
    inset: -5px;
    z-index: -2;
    border-radius: 20px;
    background: radial-gradient(circle at 50% 50%, rgba(37,99,235,.22), rgba(37,99,235,0) 66%);
    opacity: 0;
    transform: scale(.82);
    pointer-events: none;
    transition: opacity .28s ease, transform .34s cubic-bezier(.22,1,.36,1);
}
.mh-quick-action-btn:hover,
.mh-quick-action-btn:focus-visible {
    transform: translateY(-5px) scale(1.075) rotate(-1.2deg);
    border-color: rgba(37,99,235,.30);
    box-shadow: 0 24px 58px rgba(15,23,42,.20), 0 0 0 6px rgba(37,99,235,.06);
}
.mh-quick-action-two:hover,
.mh-quick-action-two:focus-visible {
    transform: translateY(-5px) scale(1.075) rotate(1.2deg);
}
.mh-quick-action-btn:hover::before,
.mh-quick-action-btn:focus-visible::before {
    opacity: 1;
    animation: mhQuickShine .74s cubic-bezier(.22,1,.36,1) both;
}
.mh-quick-action-btn:hover::after,
.mh-quick-action-btn:focus-visible::after {
    opacity: 1;
    transform: scale(1);
}
.mh-quick-action-btn:hover svg,
.mh-quick-action-btn:focus-visible svg {
    animation: mhQuickIconPop .52s cubic-bezier(.22,1,.36,1) both;
}
.mh-quick-action-btn:hover .mh-quick-action-label,
.mh-quick-action-btn:focus-visible .mh-quick-action-label {
    transform: translate(-2px, -50%) scale(1.02);
    box-shadow: 0 16px 38px rgba(15,23,42,.24);
}
.mh-quick-actions-toggle:hover,
.mh-quick-actions-toggle:focus-visible {
    transform: translateY(-3px) scale(1.07);
    box-shadow: 0 18px 42px rgba(15,23,42,.24);
}
.mh-quick-actions:not(.is-collapsed) .mh-quick-action-btn:hover + .mh-quick-action-btn {
    transform: translateY(2px) scale(.97);
}
@keyframes mhQuickShine {
    from { transform: translateX(-135%) skewX(-16deg); }
    to { transform: translateX(135%) skewX(-16deg); }
}
@keyframes mhQuickIconPop {
    0% { transform: scale(1) rotate(0deg); }
    38% { transform: scale(1.20) rotate(-7deg); }
    70% { transform: scale(1.05) rotate(3deg); }
    100% { transform: scale(1.12) rotate(0deg); }
}
.mh-quick-actions.is-collapsed .mh-quick-action-btn::before,
.mh-quick-actions.is-collapsed .mh-quick-action-btn::after {
    display: none;
}
@media (hover: none), (pointer: coarse) {
    .mh-quick-action-btn:hover,
    .mh-quick-action-btn:focus-visible,
    .mh-quick-action-two:hover,
    .mh-quick-action-two:focus-visible {
        transform: translateY(-2px) scale(1.025);
    }
    .mh-quick-action-btn:hover svg,
    .mh-quick-action-btn:focus-visible svg {
        animation: none;
        transform: scale(1.08);
    }
}
@media (prefers-reduced-motion: reduce) {
    .mh-quick-action-btn::before,
    .mh-quick-action-btn::after,
    .mh-quick-action-btn:hover svg,
    .mh-quick-action-btn:focus-visible svg {
        animation: none !important;
        transition: none !important;
    }
}


/* ============================================================
 * 1.10.17 – Nach-oben-Button Sichtbarkeit + Quick-Action Abstand
 * Fix: Der Scroll-Button bleibt sichtbar und liegt immer über den Floating Buttons.
 * ============================================================ */
.mh-back-to-top[data-mh-back-top] {
    right: max(18px, env(safe-area-inset-right)) !important;
    bottom: calc(18px + var(--mh-mobile-cta-offset, 0px) + env(safe-area-inset-bottom)) !important;
    z-index: 2147483645 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: none;
}
.mh-back-to-top[data-mh-back-top].is-visible,
html.mh-backtop-visible .mh-back-to-top[data-mh-back-top] {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) scale(1) !important;
}
html.mh-backtop-visible .mh-quick-actions {
    bottom: calc(78px + var(--mh-mobile-cta-offset, 0px) + env(safe-area-inset-bottom)) !important;
}
@media (max-width: 700px) {
    .mh-back-to-top[data-mh-back-top] {
        right: max(14px, env(safe-area-inset-right)) !important;
        bottom: calc(14px + var(--mh-mobile-cta-offset, 0px) + env(safe-area-inset-bottom)) !important;
        width: 44px;
        height: 44px;
        border-radius: 15px;
    }
    html.mh-backtop-visible .mh-quick-actions {
        bottom: calc(72px + var(--mh-mobile-cta-offset, 0px) + env(safe-area-inset-bottom)) !important;
    }
}


/* ============================================================
 * Master Header 1.10.18 – Overlay Device Fix + Desktop Hamburger Clean Menu
 * - Overlay-Hintergrund wird sauber pro Gerät übernommen
 * - Desktop-Hamburger nutzt dieselbe weiße Top-Down-/Drilldown-Optik wie Mobile/Tablet
 * ============================================================ */

/* Overlay: mehr Robustheit auf Desktop/Tablet, damit der hinterlegte Hintergrund wirklich sichtbar ist. */
#master-header.mh-over-hero > .mh-inner::before,
body.mh-has-master-header #master-header.mh-over-hero > .mh-inner::before {
    background: var(--mh-overlay-panel-bg, rgba(8,16,30,.18)) !important;
    -webkit-backdrop-filter: blur(10px) saturate(1.12) !important;
    backdrop-filter: blur(10px) saturate(1.12) !important;
    opacity: 1 !important;
}

#master-header.mh-device-desktop.mh-over-hero > .mh-inner::before,
#master-header.mh-device-tablet.mh-over-hero > .mh-inner::before {
    display: block !important;
    content: "" !important;
}

/* Drawer-Menü auf allen Geräten gleich: von oben nach unten, weiß, clean, ohne Kartenlook. */
body #master-header .mh-drawer.mh-drawer-menu,
body .mh-drawer.mh-drawer-menu {
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: 100vh !important;
    max-height: 100dvh !important;
    border-radius: 0 !important;
    border: 0 !important;
    border-left: 0 !important;
    background: #ffffff !important;
    color: #18222c !important;
    box-shadow: 0 26px 90px rgba(15,23,42,.18) !important;
    overflow: hidden !important;
    transform: translateY(-104%) !important;
    transition: transform .58s cubic-bezier(.16,1,.3,1), visibility .58s ease !important;
    z-index: 2147483646 !important;
}

body #master-header .mh-drawer.mh-drawer-menu.is-open,
body .mh-drawer.mh-drawer-menu.is-open {
    transform: translateY(0) !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-header,
body .mh-drawer.mh-drawer-menu .mh-drawer-header,
body.mh-business-polish .mh-drawer.mh-drawer-enterprise.mh-drawer-menu .mh-drawer-header {
    display: grid !important;
    grid-template-columns: 64px minmax(0, 1fr) 64px !important;
    align-items: center !important;
    min-height: 82px !important;
    padding: max(18px, env(safe-area-inset-top)) clamp(22px, 4vw, 48px) 12px !important;
    background: #ffffff !important;
    color: #18222c !important;
    border: 0 !important;
    box-shadow: none !important;
}

body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-content,
body .mh-drawer.mh-drawer-menu .mh-drawer-content {
    --mh-mobile-menu-x-pad: clamp(24px, 5vw, 68px);
    background: #ffffff !important;
    color: #18222c !important;
    padding: clamp(12px, 2vw, 24px) var(--mh-mobile-menu-x-pad) calc(32px + env(safe-area-inset-bottom)) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
}

/* Desktop: Menübreite begrenzen, damit es nicht verloren wirkt. Mobile bleibt automatisch voll. */
@media (min-width: 1025px) {
    body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-content,
    body .mh-drawer.mh-drawer-menu .mh-drawer-content {
        width: min(620px, calc(100vw - 96px)) !important;
        margin: 0 auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        --mh-mobile-menu-x-pad: 0px;
    }

    body #master-header .mh-drawer.mh-drawer-menu .mh-mobile-menu-header,
    body .mh-drawer.mh-drawer-menu .mh-mobile-menu-header {
        max-width: min(720px, calc(100vw - 96px)) !important;
        margin: 0 auto !important;
    }
}

body #master-header .mh-drawer.mh-drawer-menu:not(.mh-drilldown-open) .mh-drawer-back,
body .mh-drawer.mh-drawer-menu:not(.mh-drilldown-open) .mh-drawer-back {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-back,
body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-back {
    grid-column: 1 !important;
    display: inline-flex !important;
    justify-self: start !important;
    align-self: center !important;
    width: auto !important;
    min-width: 0 !important;
    background: transparent !important;
    color: #18222c !important;
    border: 0 !important;
    box-shadow: none !important;
    font-weight: 700 !important;
}

body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-header .mh-drawer-mobile-icon,
body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-header .mh-drawer-mobile-logo,
body .mh-drawer.mh-drawer-menu .mh-drawer-header .mh-drawer-mobile-icon,
body .mh-drawer.mh-drawer-menu .mh-drawer-header .mh-drawer-mobile-logo {
    grid-column: 1 !important;
    justify-self: start !important;
    align-self: center !important;
    width: 50px !important;
    height: 50px !important;
    max-width: 50px !important;
    max-height: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-header .mh-drawer-mobile-icon img,
body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-header .mh-drawer-mobile-logo img,
body .mh-drawer.mh-drawer-menu .mh-drawer-header .mh-drawer-mobile-icon img,
body .mh-drawer.mh-drawer-menu .mh-drawer-header .mh-drawer-mobile-logo img {
    width: 46px !important;
    height: 46px !important;
    max-width: 46px !important;
    max-height: 46px !important;
    object-fit: contain !important;
    object-position: left center !important;
}

body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-header .mh-drawer-greeting-header,
body .mh-drawer.mh-drawer-menu .mh-drawer-header .mh-drawer-greeting-header {
    grid-column: 2 !important;
    justify-self: center !important;
    align-self: center !important;
    display: inline-flex !important;
    color: #18222c !important;
    font-family: "Segoe Script", "Brush Script MT", "Apple Chancery", "Snell Roundhand", cursive !important;
    font-size: clamp(28px, 4.2vw, 42px) !important;
    font-weight: 600 !important;
    letter-spacing: -.04em !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    clip-path: none !important;
    -webkit-clip-path: none !important;
    pointer-events: none !important;
}

body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-header .mh-drawer-mobile-icon,
body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-header .mh-drawer-mobile-logo,
body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-header .mh-drawer-greeting-header,
body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-header .mh-drawer-mobile-icon,
body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-header .mh-drawer-mobile-logo,
body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-header .mh-drawer-greeting-header {
    display: none !important;
}

body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-close,
body .mh-drawer.mh-drawer-menu .mh-drawer-close {
    grid-column: 3 !important;
    justify-self: end !important;
    align-self: center !important;
    color: #18222c !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    font-size: 26px !important;
    line-height: 1 !important;
}

body #master-header .mh-drawer-menu .mh-offcanvas-list,
body .mh-drawer-menu .mh-offcanvas-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item,
body #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li,
body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item,
body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li {
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    position: relative !important;
}

body #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a,
body #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a,
body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a,
body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a {
    min-height: 48px !important;
    padding: 12px 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    color: #18222c !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: clamp(21px, 2.2vw, 30px) !important;
    font-weight: 650 !important;
    letter-spacing: -.035em !important;
    line-height: 1.08 !important;
    text-decoration: none !important;
    transform: none !important;
    position: relative !important;
    overflow: visible !important;
}

body #master-header .mh-drawer-menu .mh-offcanvas-list a::after,
body .mh-drawer-menu .mh-offcanvas-list a::after {
    content: none !important;
    display: none !important;
}

body #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a::before,
body #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a::before,
body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a::before,
body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a::before {
    content: "" !important;
    position: absolute !important;
    inset: auto !important;
    left: calc(-1 * var(--mh-mobile-menu-x-pad, 26px)) !important;
    top: 50% !important;
    width: 4px !important;
    height: 34px !important;
    border-radius: 0 999px 999px 0 !important;
    background: currentColor !important;
    opacity: 0 !important;
    transform: translateY(-50%) scaleY(.72) !important;
    transform-origin: center center !important;
    transition: opacity .2s ease, transform .24s cubic-bezier(.16,1,.3,1) !important;
    pointer-events: none !important;
}

body #master-header .mh-drawer-menu .mh-offcanvas-list > li:hover > a::before,
body #master-header .mh-drawer-menu .mh-offcanvas-list > li > a:hover::before,
body #master-header .mh-drawer-menu .mh-offcanvas-list > li > a:focus-visible::before,
body #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li:hover > a::before,
body #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a:hover::before,
body #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a:focus-visible::before,
body #master-header .mh-drawer-menu .mh-offcanvas-list > li.current-menu-item > a::before,
body #master-header .mh-drawer-menu .mh-offcanvas-list > li.current_page_item > a::before,
body #master-header .mh-drawer-menu .mh-offcanvas-list > li.current-menu-ancestor > a::before,
body #master-header .mh-drawer-menu .mh-offcanvas-list > li.current_page_ancestor > a::before,
body #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-current-page > a::before,
body #master-header .mh-drawer-menu .mh-offcanvas-list > li.is-current > a::before,
body #master-header .mh-drawer-menu .mh-offcanvas-list > li > a[aria-current="page"]::before,
body .mh-drawer-menu .mh-offcanvas-list > li:hover > a::before,
body .mh-drawer-menu .mh-offcanvas-list > li > a:hover::before,
body .mh-drawer-menu .mh-offcanvas-list > li > a:focus-visible::before,
body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li:hover > a::before,
body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a:hover::before,
body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a:focus-visible::before,
body .mh-drawer-menu .mh-offcanvas-list > li.current-menu-item > a::before,
body .mh-drawer-menu .mh-offcanvas-list > li.current_page_item > a::before,
body .mh-drawer-menu .mh-offcanvas-list > li.current-menu-ancestor > a::before,
body .mh-drawer-menu .mh-offcanvas-list > li.current_page_ancestor > a::before,
body .mh-drawer-menu .mh-offcanvas-list > li.mh-current-page > a::before,
body .mh-drawer-menu .mh-offcanvas-list > li.is-current > a::before,
body .mh-drawer-menu .mh-offcanvas-list > li > a[aria-current="page"]::before {
    opacity: .95 !important;
    transform: translateY(-50%) scaleY(1) !important;
}

body #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle,
body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle {
    width: 42px !important;
    min-width: 42px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    color: #18222c !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle .mh-sub-icon,
body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle .mh-sub-icon {
    width: 22px !important;
    height: 22px !important;
    transform: rotate(-90deg) !important;
}

/* Drilldown: auf Desktop genauso wie Mobile/Tablet nur Unterseiten der gewählten Oberseite zeigen. */
body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-menu-item:not(.mh-sub-active),
body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-menu-item:not(.mh-sub-active),
body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list.mh-extra-links,
body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list.mh-extra-links {
    display: none !important;
}

body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active,
body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active {
    display: block !important;
    min-height: 0 !important;
    border: 0 !important;
    animation: mhMobileSubMenuIn .36s cubic-bezier(.16,1,.3,1) both !important;
}

body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > a,
body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .mh-sub-toggle,
body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > a,
body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .mh-sub-toggle {
    display: none !important;
}

body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu,
body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body #master-header .mh-drawer-menu .mh-drawer-menu-footer,
body .mh-drawer-menu .mh-drawer-menu-footer {
    background: #ffffff !important;
    border-top: 0 !important;
    box-shadow: none !important;
}

@media (max-width: 700px) {
    body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-header,
    body .mh-drawer.mh-drawer-menu .mh-drawer-header {
        grid-template-columns: 56px minmax(0,1fr) 56px !important;
        min-height: 78px !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-content,
    body .mh-drawer.mh-drawer-menu .mh-drawer-content {
        --mh-mobile-menu-x-pad: 26px;
        padding-left: 26px !important;
        padding-right: 26px !important;
    }
    body #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a,
    body #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a,
    body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a,
    body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a {
        font-size: clamp(21px, 5.4vw, 30px) !important;
    }
}


/* ============================================================
 * Master Header 1.10.19 – Overlay-Seiten Hintergrund Runtime Fix
 * - nutzt echte responsive Variablen statt nur serverseitigem Gerät
 * - Desktop/Tablet/Mobile Overlay-Hintergründe greifen zuverlässig
 * - überschreibt ältere transparente/inline-fallback Regeln sauber
 * ============================================================ */
#master-header.mh-over-hero,
body.mh-has-master-header #master-header.mh-over-hero {
    --mh-overlay-panel-bg-current: var(--mh-overlay-panel-bg-desktop, var(--mh-overlay-panel-bg, rgba(8,16,30,.18)));
    --mh-overlay-panel-height-current: var(--mh-overlay-panel-height-desktop, var(--mh-overlay-panel-height, 70%));
    --mh-overlay-text-current: var(--mh-overlay-text-desktop, var(--mh-overlay-text, #ffffff));
}

@media (min-width: 769px) and (max-width: 1180px) {
    #master-header.mh-over-hero,
    body.mh-has-master-header #master-header.mh-over-hero {
        --mh-overlay-panel-bg-current: var(--mh-overlay-panel-bg-tablet, var(--mh-overlay-panel-bg-desktop, var(--mh-overlay-panel-bg, rgba(8,16,30,.18))));
        --mh-overlay-panel-height-current: var(--mh-overlay-panel-height-tablet, var(--mh-overlay-panel-height-desktop, var(--mh-overlay-panel-height, 70%)));
        --mh-overlay-text-current: var(--mh-overlay-text-tablet, var(--mh-overlay-text-desktop, var(--mh-overlay-text, #ffffff)));
    }
}

@media (max-width: 768px) {
    #master-header.mh-over-hero,
    body.mh-has-master-header #master-header.mh-over-hero {
        --mh-overlay-panel-bg-current: var(--mh-overlay-panel-bg-mobile, var(--mh-overlay-panel-bg-tablet, var(--mh-overlay-panel-bg-desktop, var(--mh-overlay-panel-bg, rgba(8,16,30,.18)))));
        --mh-overlay-panel-height-current: var(--mh-overlay-panel-height-mobile, var(--mh-overlay-panel-height-tablet, var(--mh-overlay-panel-height-desktop, var(--mh-overlay-panel-height, 70%))));
        --mh-overlay-text-current: var(--mh-overlay-text-mobile, var(--mh-overlay-text-tablet, var(--mh-overlay-text-desktop, var(--mh-overlay-text, #ffffff))));
    }
}

/* Der eigentliche Overlay-Balken. Wichtig: current-Variable kommt nach allen alten Regeln. */
#master-header.mh-over-hero > .mh-inner::before,
body.mh-has-master-header #master-header.mh-over-hero > .mh-inner::before,
body.mh-has-master-header #master-header.mh-over-hero.mh-device-desktop > .mh-inner::before,
body.mh-has-master-header #master-header.mh-over-hero.mh-device-tablet > .mh-inner::before,
body.mh-has-master-header #master-header.mh-over-hero.mh-device-mobile > .mh-inner::before {
    content: "" !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: var(--mh-overlay-panel-bg-current, var(--mh-overlay-panel-bg, rgba(8,16,30,.18))) !important;
    height: var(--mh-overlay-panel-height-current, var(--mh-overlay-panel-height, 70%)) !important;
    -webkit-backdrop-filter: blur(10px) saturate(1.12) !important;
    backdrop-filter: blur(10px) saturate(1.12) !important;
}

#master-header.mh-over-hero,
#master-header.mh-over-hero a,
#master-header.mh-over-hero .mh-element,
#master-header.mh-over-hero .mh-logo-text,
#master-header.mh-over-hero .mh-menu .mh-menu-item > a {
    color: var(--mh-overlay-text-current, var(--mh-overlay-text, #ffffff)) !important;
}

/* Beim Scrollen/Compact darf die Höhe weiterhin automatisch über top/bottom laufen. */
#master-header.mh-over-hero.mh-overlay-compact > .mh-inner::before,
#master-header.mh-over-hero.is-scrolled > .mh-inner::before {
    height: auto !important;
}


/* ============================================================
 * Master Header 1.10.20 – Social Icons Tablet Color Fix
 * - Tablet now takes the selected Social Media icon color reliably
 * - Built-in SVGs and uploaded custom icons are colored with currentColor
 * ============================================================ */
#master-header .mh-social {
    --mh-social-effective-color: var(--mh-social-color, currentColor);
    color: var(--mh-social-effective-color) !important;
}

#master-header.mh-device-tablet .mh-social,
body .mh-device-tablet #master-header .mh-social,
body.mh-device-tablet #master-header .mh-social {
    --mh-social-effective-color: var(--mh-social-color-tablet, var(--mh-social-color, currentColor));
    color: var(--mh-social-effective-color) !important;
}

#master-header.mh-device-mobile .mh-social,
body .mh-device-mobile #master-header .mh-social,
body.mh-device-mobile #master-header .mh-social {
    --mh-social-effective-color: var(--mh-social-color-mobile, var(--mh-social-color-tablet, var(--mh-social-color, currentColor)));
    color: var(--mh-social-effective-color) !important;
}

#master-header .mh-social .mh-social-link {
    color: inherit !important;
}

#master-header .mh-social .mh-social-link:hover,
#master-header .mh-social .mh-social-link:focus-visible {
    color: var(--mh-social-hover-color, var(--mh-social-effective-color, currentColor)) !important;
}

#master-header .mh-social .mh-social-icon,
#master-header .mh-social .mh-social-icon svg {
    color: inherit !important;
}

#master-header .mh-social .mh-social-icon svg,
#master-header .mh-social .mh-social-icon svg path,
#master-header .mh-social .mh-social-icon svg circle,
#master-header .mh-social .mh-social-icon svg rect,
#master-header .mh-social .mh-social-icon svg polygon,
#master-header .mh-social .mh-social-icon svg line,
#master-header .mh-social .mh-social-icon svg polyline {
    fill: currentColor !important;
}

#master-header .mh-social .mh-social-custom-icon-mask {
    display: block;
    width: 100%;
    height: 100%;
    background: currentColor;
    -webkit-mask: var(--mh-social-custom-icon) center / contain no-repeat;
    mask: var(--mh-social-custom-icon) center / contain no-repeat;
}

#master-header .mh-social .mh-social-custom-icon {
    filter: none !important;
}


/* ============================================================
 * Master Header 1.10.21 – Social Icons Tablet Size Fix
 * - Farbe und Größe greifen jetzt gleichzeitig auf Tablet
 * - schützt SVGs, Masken-Icons und Upload-Icons vor Fremdgrößen
 * ============================================================ */
#master-header .mh-social {
    --mh-social-effective-size: var(--mh-social-size, 18px);
    --mh-social-effective-gap: var(--mh-social-gap, 10px);
    gap: var(--mh-social-effective-gap) !important;
}

#master-header.mh-device-tablet .mh-social,
body .mh-device-tablet #master-header .mh-social,
body.mh-device-tablet #master-header .mh-social {
    --mh-social-effective-size: var(--mh-social-size-tablet, var(--mh-social-tablet-size, var(--mh-social-size, 18px)));
    --mh-social-effective-gap: var(--mh-social-gap-tablet, var(--mh-social-tablet-gap, var(--mh-social-gap, 10px)));
    gap: var(--mh-social-effective-gap) !important;
}

#master-header.mh-device-mobile .mh-social,
body .mh-device-mobile #master-header .mh-social,
body.mh-device-mobile #master-header .mh-social {
    --mh-social-effective-size: var(--mh-social-size-mobile, var(--mh-social-mobile-size, var(--mh-social-size-tablet, var(--mh-social-tablet-size, var(--mh-social-size, 18px)))));
    --mh-social-effective-gap: var(--mh-social-gap-mobile, var(--mh-social-mobile-gap, var(--mh-social-gap-tablet, var(--mh-social-tablet-gap, var(--mh-social-gap, 10px)))));
    gap: var(--mh-social-effective-gap) !important;
}

#master-header .mh-social .mh-social-link {
    width: var(--mh-social-effective-size, var(--mh-social-size, 18px)) !important;
    height: var(--mh-social-effective-size, var(--mh-social-size, 18px)) !important;
    min-width: var(--mh-social-effective-size, var(--mh-social-size, 18px)) !important;
    min-height: var(--mh-social-effective-size, var(--mh-social-size, 18px)) !important;
    max-width: var(--mh-social-effective-size, var(--mh-social-size, 18px)) !important;
    max-height: var(--mh-social-effective-size, var(--mh-social-size, 18px)) !important;
    flex: 0 0 var(--mh-social-effective-size, var(--mh-social-size, 18px)) !important;
    line-height: 1 !important;
}

#master-header .mh-social .mh-social-icon,
#master-header .mh-social .mh-social-icon svg,
#master-header .mh-social .mh-social-icon img,
#master-header .mh-social .mh-social-custom-icon,
#master-header .mh-social .mh-social-custom-icon-mask {
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    display: block !important;
    flex: 0 0 100% !important;
}

#master-header .mh-social .mh-social-icon svg {
    overflow: visible;
}


/* ============================================================
 * Master Header 1.10.22 – Social Icons Size Final Fix
 * - Größe greift jetzt auf Desktop, Tablet und Mobil stabil.
 * - Verhindert, dass Farb-, Theme- oder Button-Regeln die Icon-Größe überschreiben.
 * ============================================================ */
html body #master-header .mh-social {
    --mh-social-effective-size: var(--mh-social-size, 18px) !important;
    --mh-social-effective-gap: var(--mh-social-gap, 10px) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center;
    gap: var(--mh-social-effective-gap) !important;
    line-height: 1 !important;
    font-size: var(--mh-social-effective-size) !important;
}

html body #master-header.mh-device-tablet .mh-social,
html body .mh-device-tablet #master-header .mh-social,
html body.mh-device-tablet #master-header .mh-social {
    --mh-social-effective-size: var(--mh-social-size-tablet, var(--mh-social-tablet-size, var(--mh-social-size, 18px))) !important;
    --mh-social-effective-gap: var(--mh-social-gap-tablet, var(--mh-social-tablet-gap, var(--mh-social-gap, 10px))) !important;
}

html body #master-header.mh-device-mobile .mh-social,
html body .mh-device-mobile #master-header .mh-social,
html body.mh-device-mobile #master-header .mh-social {
    --mh-social-effective-size: var(--mh-social-size-mobile, var(--mh-social-mobile-size, var(--mh-social-size-tablet, var(--mh-social-tablet-size, var(--mh-social-size, 18px))))) !important;
    --mh-social-effective-gap: var(--mh-social-gap-mobile, var(--mh-social-mobile-gap, var(--mh-social-gap-tablet, var(--mh-social-tablet-gap, var(--mh-social-gap, 10px))))) !important;
}

html body #master-header .mh-social > a.mh-social-link,
html body #master-header a.mh-social-link {
    width: var(--mh-social-effective-size, var(--mh-social-size, 18px)) !important;
    height: var(--mh-social-effective-size, var(--mh-social-size, 18px)) !important;
    min-width: var(--mh-social-effective-size, var(--mh-social-size, 18px)) !important;
    min-height: var(--mh-social-effective-size, var(--mh-social-size, 18px)) !important;
    max-width: var(--mh-social-effective-size, var(--mh-social-size, 18px)) !important;
    max-height: var(--mh-social-effective-size, var(--mh-social-size, 18px)) !important;
    flex: 0 0 var(--mh-social-effective-size, var(--mh-social-size, 18px)) !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    line-height: 1 !important;
    aspect-ratio: 1 / 1;
}

html body #master-header .mh-social .mh-social-icon {
    width: var(--mh-social-effective-size, var(--mh-social-size, 18px)) !important;
    height: var(--mh-social-effective-size, var(--mh-social-size, 18px)) !important;
    min-width: var(--mh-social-effective-size, var(--mh-social-size, 18px)) !important;
    min-height: var(--mh-social-effective-size, var(--mh-social-size, 18px)) !important;
    max-width: var(--mh-social-effective-size, var(--mh-social-size, 18px)) !important;
    max-height: var(--mh-social-effective-size, var(--mh-social-size, 18px)) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 var(--mh-social-effective-size, var(--mh-social-size, 18px)) !important;
    line-height: 1 !important;
}

html body #master-header .mh-social .mh-social-icon > svg,
html body #master-header .mh-social .mh-social-icon > img,
html body #master-header .mh-social .mh-social-custom-icon,
html body #master-header .mh-social .mh-social-custom-icon-mask {
    width: var(--mh-social-effective-size, var(--mh-social-size, 18px)) !important;
    height: var(--mh-social-effective-size, var(--mh-social-size, 18px)) !important;
    min-width: var(--mh-social-effective-size, var(--mh-social-size, 18px)) !important;
    min-height: var(--mh-social-effective-size, var(--mh-social-size, 18px)) !important;
    max-width: var(--mh-social-effective-size, var(--mh-social-size, 18px)) !important;
    max-height: var(--mh-social-effective-size, var(--mh-social-size, 18px)) !important;
    display: block !important;
    flex: 0 0 var(--mh-social-effective-size, var(--mh-social-size, 18px)) !important;
    object-fit: contain !important;
    box-sizing: border-box !important;
}

html body #master-header .mh-social .mh-social-icon > svg * {
    vector-effect: non-scaling-stroke;
}

/* ============================================================
 * Master Header 1.10.23 – Desktop Hamburger Left Drawer Fix
 * - Desktop drawer now slides in from the left
 * - Width is approx. one quarter of the viewport
 * - Clean mobile/tablet visual language without center separators
 * ============================================================ */
@media (min-width: 1025px) {
    html body .mh-drawer.mh-drawer-menu,
    html body #master-header .mh-drawer.mh-drawer-menu {
        top: 0 !important;
        left: 0 !important;
        right: auto !important;
        bottom: 0 !important;
        width: clamp(340px, 25vw, 520px) !important;
        max-width: clamp(340px, 25vw, 520px) !important;
        min-width: clamp(340px, 25vw, 520px) !important;
        height: 100vh !important;
        height: 100dvh !important;
        max-height: 100vh !important;
        max-height: 100dvh !important;
        border-radius: 0 !important;
        border: 0 !important;
        background: #ffffff !important;
        color: #18222c !important;
        box-shadow: 24px 0 70px rgba(15, 23, 42, .14) !important;
        overflow: hidden !important;
        transform: translateX(-104%) !important;
        transition: transform .62s cubic-bezier(.16, 1, .3, 1), visibility .62s ease, opacity .42s ease !important;
        opacity: 1 !important;
    }

    html body .mh-drawer.mh-drawer-menu.is-open,
    html body #master-header .mh-drawer.mh-drawer-menu.is-open {
        transform: translateX(0) !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    html body .mh-drawer-overlay.is-open,
    html body #master-header .mh-drawer-overlay.is-open {
        background: rgba(15, 23, 42, .16) !important;
        backdrop-filter: blur(2px) !important;
        -webkit-backdrop-filter: blur(2px) !important;
    }

    html body .mh-drawer.mh-drawer-menu .mh-drawer-header,
    html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-header,
    html body.mh-business-polish .mh-drawer.mh-drawer-enterprise.mh-drawer-menu .mh-drawer-header {
        display: grid !important;
        grid-template-columns: 58px minmax(0, 1fr) 54px !important;
        align-items: center !important;
        min-height: 86px !important;
        padding: max(24px, env(safe-area-inset-top)) 28px 16px !important;
        background: #ffffff !important;
        color: #18222c !important;
        border: 0 !important;
        box-shadow: none !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }

    html body .mh-drawer.mh-drawer-menu .mh-drawer-header::before,
    html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-header::before,
    html body.mh-business-polish .mh-drawer.mh-drawer-enterprise.mh-drawer-menu .mh-drawer-header::before {
        content: none !important;
        display: none !important;
    }

    html body .mh-drawer.mh-drawer-menu .mh-drawer-header .mh-drawer-mobile-icon,
    html body .mh-drawer.mh-drawer-menu .mh-drawer-header .mh-drawer-mobile-logo,
    html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-header .mh-drawer-mobile-icon,
    html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-header .mh-drawer-mobile-logo {
        grid-column: 1 !important;
        justify-self: start !important;
        align-self: center !important;
        display: inline-flex !important;
        width: 44px !important;
        height: 44px !important;
        max-width: 44px !important;
        max-height: 44px !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        opacity: 1 !important;
        transform: none !important;
    }

    html body .mh-drawer.mh-drawer-menu .mh-drawer-header .mh-drawer-mobile-icon img,
    html body .mh-drawer.mh-drawer-menu .mh-drawer-header .mh-drawer-mobile-logo img,
    html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-header .mh-drawer-mobile-icon img,
    html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-header .mh-drawer-mobile-logo img {
        width: 40px !important;
        height: 40px !important;
        max-width: 40px !important;
        max-height: 40px !important;
        object-fit: contain !important;
        object-position: left center !important;
        display: block !important;
    }

    html body .mh-drawer.mh-drawer-menu .mh-drawer-header .mh-drawer-greeting-header,
    html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-header .mh-drawer-greeting-header {
        grid-column: 2 !important;
        justify-self: center !important;
        align-self: center !important;
        display: inline-flex !important;
        max-width: 100% !important;
        color: #18222c !important;
        font-family: "Segoe Script", "Brush Script MT", "Apple Chancery", "Snell Roundhand", cursive !important;
        font-size: clamp(27px, 2.2vw, 36px) !important;
        font-weight: 600 !important;
        letter-spacing: -.04em !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        clip-path: none !important;
        -webkit-clip-path: none !important;
        overflow: hidden !important;
    }

    html body .mh-drawer.mh-drawer-menu .mh-drawer-close,
    html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-close {
        grid-column: 3 !important;
        justify-self: end !important;
        align-self: center !important;
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: #18222c !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 999px !important;
        box-shadow: none !important;
        font-size: 28px !important;
        line-height: 1 !important;
        transition: transform .24s cubic-bezier(.16,1,.3,1), background .2s ease !important;
    }

    html body .mh-drawer.mh-drawer-menu .mh-drawer-close:hover,
    html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-close:hover {
        background: rgba(24,34,44,.06) !important;
        transform: rotate(90deg) !important;
    }

    html body .mh-drawer.mh-drawer-menu .mh-drawer-content,
    html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-content {
        --mh-mobile-menu-x-pad: 42px;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 34px var(--mh-mobile-menu-x-pad) 112px !important;
        background: #ffffff !important;
        color: #18222c !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    html body .mh-drawer-menu .mh-offcanvas-list,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 18px !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        list-style: none !important;
    }

    html body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item,
    html body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li {
        min-height: 44px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        background: transparent !important;
        border: 0 !important;
        border-bottom: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        position: relative !important;
    }

    html body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item::before,
    html body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item::after,
    html body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li::before,
    html body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li::after,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item::before,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item::after,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li::before,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li::after {
        content: none !important;
        display: none !important;
    }

    html body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a,
    html body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a {
        min-height: 44px !important;
        padding: 8px 0 !important;
        margin: 0 !important;
        flex: 1 1 auto !important;
        display: inline-flex !important;
        align-items: center !important;
        color: #18222c !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        font-size: clamp(20px, 1.35vw, 27px) !important;
        font-weight: 650 !important;
        letter-spacing: -.035em !important;
        line-height: 1.1 !important;
        text-decoration: none !important;
        position: relative !important;
        transform: none !important;
    }

    html body .mh-drawer-menu .mh-offcanvas-list a::after,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list a::after {
        content: none !important;
        display: none !important;
    }

    html body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a::before,
    html body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a::before,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a::before,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a::before {
        content: "" !important;
        position: absolute !important;
        inset: auto !important;
        left: calc(-1 * var(--mh-mobile-menu-x-pad, 42px)) !important;
        top: 50% !important;
        width: 4px !important;
        height: 28px !important;
        border-radius: 0 999px 999px 0 !important;
        background: currentColor !important;
        opacity: 0 !important;
        transform: translateY(-50%) scaleY(.72) !important;
        transform-origin: center center !important;
        transition: opacity .2s ease, transform .24s cubic-bezier(.16,1,.3,1) !important;
        pointer-events: none !important;
    }

    html body .mh-drawer-menu .mh-offcanvas-list > li:hover > a::before,
    html body .mh-drawer-menu .mh-offcanvas-list > li > a:hover::before,
    html body .mh-drawer-menu .mh-offcanvas-list > li > a:focus-visible::before,
    html body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li:hover > a::before,
    html body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a:hover::before,
    html body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a:focus-visible::before,
    html body .mh-drawer-menu .mh-offcanvas-list > li.current-menu-item > a::before,
    html body .mh-drawer-menu .mh-offcanvas-list > li.current_page_item > a::before,
    html body .mh-drawer-menu .mh-offcanvas-list > li.current-menu-ancestor > a::before,
    html body .mh-drawer-menu .mh-offcanvas-list > li.current_page_ancestor > a::before,
    html body .mh-drawer-menu .mh-offcanvas-list > li.mh-current-page > a::before,
    html body .mh-drawer-menu .mh-offcanvas-list > li.is-current > a::before,
    html body .mh-drawer-menu .mh-offcanvas-list > li > a[aria-current="page"]::before,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li:hover > a::before,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li > a:hover::before,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li > a:focus-visible::before,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li:hover > a::before,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a:hover::before,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a:focus-visible::before,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li.current-menu-item > a::before,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li.current_page_item > a::before,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li.current-menu-ancestor > a::before,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li.current_page_ancestor > a::before,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-current-page > a::before,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li.is-current > a::before,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li > a[aria-current="page"]::before {
        opacity: .95 !important;
        transform: translateY(-50%) scaleY(1) !important;
    }

    html body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle {
        width: 34px !important;
        min-width: 34px !important;
        min-height: 44px !important;
        padding: 0 !important;
        margin: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        color: #18222c !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        opacity: .88 !important;
    }

    html body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle:hover,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle:hover {
        opacity: 1 !important;
        transform: translateX(3px) !important;
    }

    html body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle .mh-sub-icon,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle .mh-sub-icon {
        width: 20px !important;
        height: 20px !important;
        transform: rotate(-90deg) !important;
    }

    html body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-header,
    html body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-header {
        grid-template-columns: minmax(0, 1fr) 54px !important;
    }

    html body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-back,
    html body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-back {
        grid-column: 1 !important;
        justify-self: start !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        color: #18222c !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        font-size: 14px !important;
        font-weight: 750 !important;
        padding: 0 !important;
        margin: 0 !important;
        opacity: 1 !important;
    }

    html body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-close,
    html body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-close {
        grid-column: 2 !important;
    }

    html body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-header .mh-drawer-mobile-icon,
    html body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-header .mh-drawer-mobile-logo,
    html body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-header .mh-drawer-greeting-header,
    html body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-header .mh-drawer-mobile-icon,
    html body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-header .mh-drawer-mobile-logo,
    html body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-header .mh-drawer-greeting-header {
        display: none !important;
    }

    html body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content,
    html body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content {
        padding-top: 24px !important;
    }

    html body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu,
    html body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu {
        gap: 18px !important;
    }

    html body .mh-drawer-menu .mh-drawer-menu-footer,
    html body #master-header .mh-drawer-menu .mh-drawer-menu-footer {
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        padding: 14px 22px calc(14px + env(safe-area-inset-bottom)) !important;
        background: linear-gradient(180deg, rgba(255,255,255,0), #ffffff 26%) !important;
        border: 0 !important;
        box-shadow: 0 -18px 44px rgba(15,23,42,.06) !important;
        z-index: 4 !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    html body .mh-drawer-menu .mh-drawer-menu-cta,
    html body #master-header .mh-drawer-menu .mh-drawer-menu-cta {
        min-width: 0 !important;
        white-space: nowrap !important;
        font-size: 13px !important;
    }

    html body .mh-drawer-menu .mh-drawer-menu-cta-primary,
    html body #master-header .mh-drawer-menu .mh-drawer-menu-cta-primary {
        flex: 1 1 auto !important;
    }

    html body .mh-drawer-menu .mh-drawer-menu-cta-secondary,
    html body #master-header .mh-drawer-menu .mh-drawer-menu-cta-secondary {
        flex: 0 0 auto !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

@media (min-width: 1025px) and (max-width: 1360px) {
    html body .mh-drawer.mh-drawer-menu,
    html body #master-header .mh-drawer.mh-drawer-menu {
        width: clamp(330px, 28vw, 430px) !important;
        max-width: clamp(330px, 28vw, 430px) !important;
        min-width: clamp(330px, 28vw, 430px) !important;
    }
}


/* ============================================================
 * Master Header 1.10.24 – Social Icon Größe Force-Fix
 * - Größe greift für einzelne SocialIcon-Elemente und SocialIcons-Gruppen
 * - Desktop, Tablet und Mobil nutzen dieselbe harte Größenvariable
 * - verhindert Theme-/Button-/SVG-Regeln, die Icons wieder klein rechnen
 * ============================================================ */
html body #master-header .mh-social {
    --mh-social-hard-size: var(--mh-social-force-size, var(--mh-social-effective-size, var(--mh-social-size, var(--mh-social-global-size, 18px)))) !important;
    --mh-social-effective-size: var(--mh-social-hard-size) !important;
    font-size: var(--mh-social-hard-size) !important;
    line-height: 1 !important;
}


html body #master-header .mh-social > a.mh-social-link,
html body #master-header a.mh-social-link,
html body #master-header .mh-social .mh-social-icon,
html body #master-header .mh-social .mh-social-icon > svg,
html body #master-header .mh-social .mh-social-icon > img,
html body #master-header .mh-social .mh-social-icon svg,
html body #master-header .mh-social .mh-social-custom-icon,
html body #master-header .mh-social .mh-social-custom-icon-mask {
    width: var(--mh-social-hard-size) !important;
    height: var(--mh-social-hard-size) !important;
    min-width: var(--mh-social-hard-size) !important;
    min-height: var(--mh-social-hard-size) !important;
    max-width: var(--mh-social-hard-size) !important;
    max-height: var(--mh-social-hard-size) !important;
    flex: 0 0 var(--mh-social-hard-size) !important;
    font-size: var(--mh-social-hard-size) !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
}

html body #master-header .mh-social > a.mh-social-link,
html body #master-header a.mh-social-link,
html body #master-header .mh-social .mh-social-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    aspect-ratio: 1 / 1 !important;
}

html body #master-header .mh-social .mh-social-icon svg,
html body #master-header .mh-social .mh-social-icon svg * {
    transform-box: fill-box;
    transform-origin: center;
}

html body #master-header .mh-social .mh-social-icon svg path,
html body #master-header .mh-social .mh-social-icon svg circle,
html body #master-header .mh-social .mh-social-icon svg rect,
html body #master-header .mh-social .mh-social-icon svg polygon,
html body #master-header .mh-social .mh-social-icon svg line,
html body #master-header .mh-social .mh-social-icon svg polyline {
    fill: currentColor !important;
}


/* ============================================================
 * Master Header 1.10.25 – Desktop Hamburger Cleanup
 * - Desktop drawer bleibt links mit ca. 1/4 Bildschirmbreite
 * - Menüabstände kompakter, keine alten Untermenü-Balken mehr
 * - Unterseiten-Drilldown sauber wie Mobile/Tablet
 * - Footer-Links als echte Buttons
 * - Close-X sitzt vollständig sichtbar im Drawer
 * ============================================================ */
@media (min-width: 1025px) {
    html body .mh-drawer.mh-drawer-menu,
    html body #master-header .mh-drawer.mh-drawer-menu,
    html body.mh-business-polish .mh-drawer.mh-drawer-enterprise.mh-drawer-menu {
        top: 0 !important;
        left: 0 !important;
        right: auto !important;
        bottom: 0 !important;
        width: clamp(320px, 25vw, 460px) !important;
        min-width: clamp(320px, 25vw, 460px) !important;
        max-width: clamp(320px, 25vw, 460px) !important;
        height: 100vh !important;
        height: 100dvh !important;
        max-height: 100vh !important;
        max-height: 100dvh !important;
        display: grid !important;
        grid-template-rows: auto minmax(0, 1fr) auto !important;
        background: #ffffff !important;
        color: #18222c !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: 26px 0 78px rgba(15, 23, 42, .16) !important;
        overflow: hidden !important;
        transform: translateX(-104%) !important;
        transition: transform .58s cubic-bezier(.16, 1, .3, 1), visibility .58s ease, opacity .32s ease !important;
    }

    html body .mh-drawer.mh-drawer-menu.is-open,
    html body #master-header .mh-drawer.mh-drawer-menu.is-open,
    html body.mh-business-polish .mh-drawer.mh-drawer-enterprise.mh-drawer-menu.is-open {
        transform: translateX(0) !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    html body .mh-drawer-overlay.is-open,
    html body #master-header .mh-drawer-overlay.is-open {
        background: rgba(15, 23, 42, .18) !important;
        -webkit-backdrop-filter: blur(2px) !important;
        backdrop-filter: blur(2px) !important;
    }

    html body .mh-drawer.mh-drawer-menu .mh-drawer-header,
    html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-header,
    html body.mh-business-polish .mh-drawer.mh-drawer-enterprise.mh-drawer-menu .mh-drawer-header {
        position: relative !important;
        display: grid !important;
        grid-template-columns: 48px minmax(0, 1fr) 48px !important;
        align-items: center !important;
        min-height: 82px !important;
        height: 82px !important;
        padding: 22px 24px 10px 32px !important;
        background: #ffffff !important;
        color: #18222c !important;
        border: 0 !important;
        box-shadow: none !important;
        overflow: visible !important;
        box-sizing: border-box !important;
        z-index: 7 !important;
    }

    html body .mh-drawer.mh-drawer-menu .mh-drawer-header::before,
    html body .mh-drawer.mh-drawer-menu .mh-drawer-header::after,
    html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-header::before,
    html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-header::after,
    html body.mh-business-polish .mh-drawer.mh-drawer-enterprise.mh-drawer-menu .mh-drawer-header::before,
    html body.mh-business-polish .mh-drawer.mh-drawer-enterprise.mh-drawer-menu .mh-drawer-header::after {
        content: none !important;
        display: none !important;
    }

    html body .mh-drawer.mh-drawer-menu .mh-drawer-mobile-icon,
    html body .mh-drawer.mh-drawer-menu .mh-drawer-mobile-logo,
    html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-mobile-icon,
    html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-mobile-logo {
        grid-column: 1 !important;
        justify-self: start !important;
        align-self: center !important;
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        min-height: 38px !important;
        max-width: 38px !important;
        max-height: 38px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        padding: 0 !important;
        margin: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        transform: none !important;
        opacity: 1 !important;
    }

    html body .mh-drawer.mh-drawer-menu .mh-drawer-mobile-icon img,
    html body .mh-drawer.mh-drawer-menu .mh-drawer-mobile-logo img,
    html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-mobile-icon img,
    html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-mobile-logo img {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
        min-height: 34px !important;
        max-width: 34px !important;
        max-height: 34px !important;
        object-fit: contain !important;
        object-position: left center !important;
        display: block !important;
    }

    html body .mh-drawer.mh-drawer-menu .mh-drawer-greeting-header,
    html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-greeting-header {
        grid-column: 2 !important;
        justify-self: center !important;
        align-self: center !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        max-width: 100% !important;
        color: #18222c !important;
        font-family: "Segoe Script", "Brush Script MT", "Apple Chancery", "Snell Roundhand", cursive !important;
        font-size: clamp(25px, 1.75vw, 32px) !important;
        font-weight: 600 !important;
        letter-spacing: -.045em !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        visibility: visible !important;
        opacity: 1 !important;
        transform: none !important;
        clip-path: none !important;
        -webkit-clip-path: none !important;
        overflow: hidden !important;
    }

    html body .mh-drawer.mh-drawer-menu .mh-drawer-close,
    html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-close {
        grid-column: 3 !important;
        justify-self: end !important;
        align-self: center !important;
        position: relative !important;
        right: auto !important;
        top: auto !important;
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
        max-width: 42px !important;
        max-height: 42px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        margin: 0 !important;
        color: #18222c !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 999px !important;
        box-shadow: none !important;
        font-size: 26px !important;
        font-weight: 300 !important;
        line-height: 1 !important;
        text-indent: 0 !important;
        overflow: visible !important;
        transform: none !important;
        opacity: .82 !important;
        z-index: 8 !important;
        transition: opacity .18s ease, background .2s ease, transform .22s cubic-bezier(.16,1,.3,1) !important;
    }

    html body .mh-drawer.mh-drawer-menu .mh-drawer-close:hover,
    html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-close:hover,
    html body .mh-drawer.mh-drawer-menu .mh-drawer-close:focus-visible,
    html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-close:focus-visible {
        opacity: 1 !important;
        background: rgba(24, 34, 44, .06) !important;
        transform: rotate(90deg) !important;
        outline: none !important;
    }

    html body .mh-drawer.mh-drawer-menu .mh-drawer-content,
    html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-content {
        --mh-mobile-menu-x-pad: 36px;
        min-height: 0 !important;
        height: auto !important;
        max-height: none !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 18px var(--mh-mobile-menu-x-pad) 18px !important;
        background: #ffffff !important;
        color: #18222c !important;
        border: 0 !important;
        box-shadow: none !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        box-sizing: border-box !important;
    }

    html body .mh-drawer-menu .mh-offcanvas-list,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 6px !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        list-style: none !important;
    }

    html body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item,
    html body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li {
        min-height: 40px !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        position: relative !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        list-style: none !important;
    }

    html body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item::before,
    html body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item::after,
    html body .mh-drawer-menu .mh-offcanvas-list .sub-menu,
    html body .mh-drawer-menu .mh-offcanvas-list .sub-menu::before,
    html body .mh-drawer-menu .mh-offcanvas-list .sub-menu::after,
    html body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li::before,
    html body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li::after,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item::before,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item::after,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu::before,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu::after,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li::before,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li::after {
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    html body .mh-drawer-menu:not(.mh-drilldown-open) .mh-offcanvas-list > li.mh-menu-item > .sub-menu,
    html body #master-header .mh-drawer-menu:not(.mh-drilldown-open) .mh-offcanvas-list > li.mh-menu-item > .sub-menu {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        width: 0 !important;
        max-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        pointer-events: none !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    html body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a,
    html body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a {
        min-height: 40px !important;
        height: auto !important;
        padding: 6px 0 !important;
        margin: 0 !important;
        flex: 1 1 auto !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        color: #18222c !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        font-size: clamp(18px, 1.12vw, 23px) !important;
        font-weight: 650 !important;
        letter-spacing: -.035em !important;
        line-height: 1.12 !important;
        text-decoration: none !important;
        position: relative !important;
        transform: none !important;
    }

    html body .mh-drawer-menu .mh-offcanvas-list a::after,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list a::after {
        content: none !important;
        display: none !important;
    }

    html body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a::before,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a::before,
    html body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a::before,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a::before {
        content: "" !important;
        position: absolute !important;
        left: calc(-1 * var(--mh-mobile-menu-x-pad, 36px)) !important;
        top: 50% !important;
        width: 4px !important;
        height: 24px !important;
        border-radius: 0 999px 999px 0 !important;
        background: currentColor !important;
        opacity: 0 !important;
        transform: translateY(-50%) scaleY(.68) !important;
        transform-origin: center center !important;
        transition: opacity .2s ease, transform .24s cubic-bezier(.16,1,.3,1) !important;
        pointer-events: none !important;
    }

    html body .mh-drawer-menu .mh-offcanvas-list > li:hover > a::before,
    html body .mh-drawer-menu .mh-offcanvas-list > li > a:hover::before,
    html body .mh-drawer-menu .mh-offcanvas-list > li > a:focus-visible::before,
    html body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li:hover > a::before,
    html body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a:hover::before,
    html body .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a:focus-visible::before,
    html body .mh-drawer-menu .mh-offcanvas-list > li.current-menu-item > a::before,
    html body .mh-drawer-menu .mh-offcanvas-list > li.current_page_item > a::before,
    html body .mh-drawer-menu .mh-offcanvas-list > li.current-menu-ancestor > a::before,
    html body .mh-drawer-menu .mh-offcanvas-list > li.current_page_ancestor > a::before,
    html body .mh-drawer-menu .mh-offcanvas-list > li.mh-current-page > a::before,
    html body .mh-drawer-menu .mh-offcanvas-list > li.is-current > a::before,
    html body .mh-drawer-menu .mh-offcanvas-list > li > a[aria-current="page"]::before,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li:hover > a::before,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li > a:hover::before,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li > a:focus-visible::before,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li:hover > a::before,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a:hover::before,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a:focus-visible::before,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li.current-menu-item > a::before,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li.current_page_item > a::before,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li.current-menu-ancestor > a::before,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li.current_page_ancestor > a::before,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-current-page > a::before,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li.is-current > a::before,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li > a[aria-current="page"]::before {
        opacity: .96 !important;
        transform: translateY(-50%) scaleY(1) !important;
    }

    html body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle {
        width: 36px !important;
        min-width: 36px !important;
        height: 40px !important;
        min-height: 40px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        color: #18222c !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        opacity: .86 !important;
        transform: none !important;
        transition: opacity .18s ease, transform .22s cubic-bezier(.16,1,.3,1) !important;
    }

    html body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle:hover,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle:hover,
    html body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle:focus-visible,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle:focus-visible {
        opacity: 1 !important;
        transform: translateX(3px) !important;
        outline: none !important;
    }

    html body .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle .mh-sub-icon,
    html body #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle .mh-sub-icon {
        width: 20px !important;
        height: 20px !important;
        transform: rotate(-90deg) !important;
    }

    html body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-header,
    html body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-header {
        grid-template-columns: minmax(0, 1fr) 48px !important;
        padding: 22px 24px 10px 32px !important;
    }

    html body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-back,
    html body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-back {
        grid-column: 1 !important;
        justify-self: start !important;
        align-self: center !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 7px !important;
        color: #18222c !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        font-size: 14px !important;
        font-weight: 750 !important;
        line-height: 1 !important;
        padding: 0 !important;
        margin: 0 !important;
        opacity: 1 !important;
        transform: none !important;
    }

    html body .mh-drawer.mh-drawer-menu:not(.mh-drilldown-open) .mh-drawer-back,
    html body #master-header .mh-drawer.mh-drawer-menu:not(.mh-drilldown-open) .mh-drawer-back {
        display: none !important;
    }

    html body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-close,
    html body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-close {
        grid-column: 2 !important;
    }

    html body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-mobile-icon,
    html body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-mobile-logo,
    html body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-greeting-header,
    html body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-mobile-icon,
    html body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-mobile-logo,
    html body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-greeting-header {
        display: none !important;
    }

    html body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content,
    html body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content {
        padding-top: 18px !important;
    }

    html body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-menu-item:not(.mh-sub-active),
    html body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list.mh-extra-links,
    html body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-menu-item:not(.mh-sub-active),
    html body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list.mh-extra-links {
        display: none !important;
    }

    html body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active,
    html body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active {
        display: block !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        animation: mhMobileSubMenuIn .32s cubic-bezier(.16,1,.3,1) both !important;
    }

    html body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > a,
    html body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .mh-sub-toggle,
    html body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > a,
    html body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .mh-sub-toggle {
        display: none !important;
    }

    html body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu,
    html body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        max-height: none !important;
        visibility: visible !important;
        opacity: 1 !important;
        margin: 0 !important;
        padding: 0 !important;
        gap: 6px !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        overflow: visible !important;
        pointer-events: auto !important;
        list-style: none !important;
    }

    html body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu > li,
    html body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu > li {
        display: flex !important;
        opacity: 0;
        animation: mhOffcanvasItemIn .34s cubic-bezier(.16,1,.3,1) both !important;
    }

    html body .mh-drawer-menu .mh-drawer-menu-footer,
    html body #master-header .mh-drawer-menu .mh-drawer-menu-footer {
        grid-row: 3 !important;
        position: relative !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        width: 100% !important;
        padding: 16px 22px 18px !important;
        margin: 0 !important;
        background: linear-gradient(180deg, rgba(255,255,255,0), #ffffff 30%) !important;
        border: 0 !important;
        box-shadow: 0 -22px 52px rgba(15, 23, 42, .06) !important;
        box-sizing: border-box !important;
        z-index: 9 !important;
    }

    html body .mh-drawer-menu .mh-drawer-menu-cta,
    html body #master-header .mh-drawer-menu .mh-drawer-menu-cta,
    html body .mh-drawer-menu .mh-drawer-menu-cta:visited,
    html body #master-header .mh-drawer-menu .mh-drawer-menu-cta:visited {
        min-width: 0 !important;
        min-height: 46px !important;
        height: 46px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        padding: 0 20px !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 999px !important;
        box-shadow: none !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        letter-spacing: -.02em !important;
        text-decoration: none !important;
        white-space: nowrap !important;
        transform: none !important;
        transition: transform .22s cubic-bezier(.16,1,.3,1), box-shadow .22s ease, background .22s ease !important;
    }

    html body .mh-drawer-menu .mh-drawer-menu-cta-primary,
    html body #master-header .mh-drawer-menu .mh-drawer-menu-cta-primary {
        flex: 1 1 auto !important;
        background: #142230 !important;
        color: #ffffff !important;
        box-shadow: 0 14px 32px rgba(20, 34, 48, .14) !important;
    }

    html body .mh-drawer-menu .mh-drawer-menu-cta-secondary,
    html body #master-header .mh-drawer-menu .mh-drawer-menu-cta-secondary {
        flex: 0 0 auto !important;
        background: #f1f2f3 !important;
        color: #18222c !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    html body .mh-drawer-menu .mh-drawer-menu-cta:hover,
    html body #master-header .mh-drawer-menu .mh-drawer-menu-cta:hover,
    html body .mh-drawer-menu .mh-drawer-menu-cta:focus-visible,
    html body #master-header .mh-drawer-menu .mh-drawer-menu-cta:focus-visible {
        transform: translateY(-2px) !important;
        text-decoration: none !important;
        outline: none !important;
    }

    html body .mh-drawer-menu .mh-drawer-menu-cta-primary:hover,
    html body #master-header .mh-drawer-menu .mh-drawer-menu-cta-primary:hover {
        background: #0f1b27 !important;
        box-shadow: 0 18px 38px rgba(20, 34, 48, .22) !important;
    }

    html body .mh-drawer-menu .mh-drawer-menu-cta-secondary:hover,
    html body #master-header .mh-drawer-menu .mh-drawer-menu-cta-secondary:hover {
        background: #e9ebee !important;
    }
}

@media (min-width: 1025px) and (max-width: 1360px) {
    html body .mh-drawer.mh-drawer-menu,
    html body #master-header .mh-drawer.mh-drawer-menu,
    html body.mh-business-polish .mh-drawer.mh-drawer-enterprise.mh-drawer-menu {
        width: clamp(320px, 29vw, 420px) !important;
        min-width: clamp(320px, 29vw, 420px) !important;
        max-width: clamp(320px, 29vw, 420px) !important;
    }

    html body .mh-drawer-menu .mh-drawer-menu-cta,
    html body #master-header .mh-drawer-menu .mh-drawer-menu-cta {
        font-size: 12px !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
}


/* ============================================================
 * Master Header 1.10.26 – Drawer Submenu Color + Back Artefact Fix
 * - submenu/drilldown links inherit the configured drawer/menu font color
 * - removes the stray glyph/pseudo point above the back button
 * - uses an SVG back chevron instead of a font-dependent character
 * ============================================================ */
.mh-drawer.mh-drawer-menu,
#master-header .mh-drawer.mh-drawer-menu,
body .mh-drawer.mh-drawer-menu {
    --mh-drawer-menu-text-color: var(--mh-offcanvas-item-text, var(--mh-offcanvas-panel-text, var(--mh-drawer-text, #18222c)));
    color: var(--mh-drawer-menu-text-color) !important;
}

.mh-drawer.mh-drawer-menu .mh-drawer-content,
#master-header .mh-drawer.mh-drawer-menu .mh-drawer-content,
.mh-drawer.mh-drawer-menu .mh-offcanvas-list,
#master-header .mh-drawer.mh-drawer-menu .mh-offcanvas-list,
.mh-drawer.mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a,
#master-header .mh-drawer.mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a,
.mh-drawer.mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a,
#master-header .mh-drawer.mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a,
.mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu > li > a,
#master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu > li > a,
.mh-drawer.mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle,
#master-header .mh-drawer.mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle,
.mh-drawer.mh-drawer-menu .mh-drawer-back,
#master-header .mh-drawer.mh-drawer-menu .mh-drawer-back,
.mh-drawer.mh-drawer-menu .mh-drawer-close,
#master-header .mh-drawer.mh-drawer-menu .mh-drawer-close {
    color: var(--mh-drawer-menu-text-color) !important;
}

/* Keep the CTA buttons intentionally styled as buttons, not as drawer text links. */
.mh-drawer.mh-drawer-menu .mh-drawer-menu-cta-primary,
#master-header .mh-drawer.mh-drawer-menu .mh-drawer-menu-cta-primary {
    color: #ffffff !important;
}
.mh-drawer.mh-drawer-menu .mh-drawer-menu-cta-secondary,
#master-header .mh-drawer.mh-drawer-menu .mh-drawer-menu-cta-secondary {
    color: var(--mh-drawer-menu-text-color) !important;
}

/* Remove old font first-letter / pseudo artefacts around "Zurück". */
.mh-drawer.mh-drawer-menu .mh-drawer-back::before,
.mh-drawer.mh-drawer-menu .mh-drawer-back::after,
#master-header .mh-drawer.mh-drawer-menu .mh-drawer-back::before,
#master-header .mh-drawer.mh-drawer-menu .mh-drawer-back::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
.mh-drawer.mh-drawer-menu .mh-drawer-back::first-letter,
#master-header .mh-drawer.mh-drawer-menu .mh-drawer-back::first-letter {
    font-size: inherit !important;
    line-height: inherit !important;
}
.mh-drawer.mh-drawer-menu .mh-drawer-back,
#master-header .mh-drawer.mh-drawer-menu .mh-drawer-back {
    gap: 5px !important;
    text-decoration: none !important;
    overflow: visible !important;
}
.mh-drawer.mh-drawer-menu .mh-drawer-back .mh-drawer-back-icon,
#master-header .mh-drawer.mh-drawer-menu .mh-drawer-back .mh-drawer-back-icon {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: currentColor !important;
    line-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
.mh-drawer.mh-drawer-menu .mh-drawer-back .mh-drawer-back-icon svg,
#master-header .mh-drawer.mh-drawer-menu .mh-drawer-back .mh-drawer-back-icon svg {
    width: 16px !important;
    height: 16px !important;
    display: block !important;
    overflow: visible !important;
}

/* Submenu drilldown: keep same clean spacing and force visible text color. */
.mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu,
#master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu {
    color: var(--mh-drawer-menu-text-color) !important;
}
.mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu > li,
#master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu > li {
    color: var(--mh-drawer-menu-text-color) !important;
}
.mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu > li > a,
#master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu > li > a {
    color: var(--mh-drawer-menu-text-color) !important;
    background: transparent !important;
    -webkit-text-fill-color: var(--mh-drawer-menu-text-color) !important;
}

@media (min-width: 1025px) {
    html body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-back,
    html body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-back {
        color: var(--mh-drawer-menu-text-color) !important;
    }
}


/* ============================================================
 * Master Header 1.10.27 – Desktop Drilldown Dot + Color Final Fix
 * - removes the old drawer-title dot in desktop hamburger drilldown
 * - submenu/back/close text now always uses the configured hamburger text color
 * - prevents hidden focus/ripple markers from showing above the back button
 * ============================================================ */
html body .mh-drawer.mh-drawer-menu,
html body #master-header .mh-drawer.mh-drawer-menu,
html body.mh-business-polish .mh-drawer.mh-drawer-enterprise.mh-drawer-menu {
    --mh-clean-drawer-text: var(--mh-offcanvas-item-text, var(--mh-offcanvas-panel-text, var(--mh-drawer-menu-text-color, var(--mh-drawer-text, #18222c)))) !important;
    color: var(--mh-clean-drawer-text) !important;
}

/* The empty title element created the remaining blue/white point in desktop drilldown. */
html body .mh-drawer.mh-drawer-menu .mh-drawer-title,
html body .mh-drawer.mh-drawer-menu .mh-drawer-title::before,
html body .mh-drawer.mh-drawer-menu .mh-drawer-title::after,
html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-title,
html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-title::before,
html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-title::after,
html body.mh-business-polish .mh-drawer.mh-drawer-menu .mh-drawer-title,
html body.mh-business-polish .mh-drawer.mh-drawer-menu .mh-drawer-title::before,
html body.mh-business-polish .mh-drawer.mh-drawer-menu .mh-drawer-title::after {
    content: none !important;
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
    pointer-events: none !important;
    overflow: hidden !important;
}

/* Drawer header controls: no pseudo dots/ripples in the menu drawer header. */
html body .mh-drawer.mh-drawer-menu .mh-drawer-header::before,
html body .mh-drawer.mh-drawer-menu .mh-drawer-header::after,
html body .mh-drawer.mh-drawer-menu .mh-drawer-back::before,
html body .mh-drawer.mh-drawer-menu .mh-drawer-back::after,
html body .mh-drawer.mh-drawer-menu .mh-drawer-back *::before,
html body .mh-drawer.mh-drawer-menu .mh-drawer-back *::after,
html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-header::before,
html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-header::after,
html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-back::before,
html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-back::after,
html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-back *::before,
html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-back *::after {
    content: none !important;
    display: none !important;
    opacity: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

html body .mh-drawer.mh-drawer-menu .mh-drawer-back,
html body .mh-drawer.mh-drawer-menu .mh-drawer-close,
html body .mh-drawer.mh-drawer-menu .mh-drawer-back span,
html body .mh-drawer.mh-drawer-menu .mh-drawer-back svg,
html body .mh-drawer.mh-drawer-menu .mh-drawer-back path,
html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-back,
html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-close,
html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-back span,
html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-back svg,
html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-back path {
    color: var(--mh-clean-drawer-text) !important;
    stroke: currentColor !important;
    -webkit-text-fill-color: var(--mh-clean-drawer-text) !important;
}

/* Final high-specificity text color for main entries and drilldown entries on every device. */
html body .mh-drawer.mh-drawer-menu .mh-drawer-content,
html body .mh-drawer.mh-drawer-menu .mh-offcanvas-list,
html body .mh-drawer.mh-drawer-menu .mh-offcanvas-list li,
html body .mh-drawer.mh-drawer-menu .mh-offcanvas-list a,
html body .mh-drawer.mh-drawer-menu .mh-offcanvas-list a:visited,
html body .mh-drawer.mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a,
html body .mh-drawer.mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a,
html body .mh-drawer.mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle,
html body .mh-drawer.mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle .mh-sub-icon,
html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-content,
html body #master-header .mh-drawer.mh-drawer-menu .mh-offcanvas-list,
html body #master-header .mh-drawer.mh-drawer-menu .mh-offcanvas-list li,
html body #master-header .mh-drawer.mh-drawer-menu .mh-offcanvas-list a,
html body #master-header .mh-drawer.mh-drawer-menu .mh-offcanvas-list a:visited,
html body #master-header .mh-drawer.mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a,
html body #master-header .mh-drawer.mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a,
html body #master-header .mh-drawer.mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle,
html body #master-header .mh-drawer.mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle .mh-sub-icon {
    color: var(--mh-clean-drawer-text) !important;
    -webkit-text-fill-color: var(--mh-clean-drawer-text) !important;
}

html body .mh-drawer.mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle svg,
html body .mh-drawer.mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle path,
html body #master-header .mh-drawer.mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle svg,
html body #master-header .mh-drawer.mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle path {
    color: var(--mh-clean-drawer-text) !important;
    stroke: currentColor !important;
    fill: none !important;
}

/* Drilldown submenu must be visible and use exactly the same clean style. */
html body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu,
html body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    color: var(--mh-clean-drawer-text) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}
html body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu > li,
html body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu > li {
    display: flex !important;
    align-items: center !important;
    min-height: 40px !important;
    opacity: 1 !important;
    visibility: visible !important;
    color: var(--mh-clean-drawer-text) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
html body .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu > li > a,
html body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-content > .mh-offcanvas-list > li.mh-sub-active > .sub-menu > li > a {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 40px !important;
    width: 100% !important;
    opacity: 1 !important;
    visibility: visible !important;
    color: var(--mh-clean-drawer-text) !important;
    -webkit-text-fill-color: var(--mh-clean-drawer-text) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

/* Remove the focus halo/blue point that may remain on the previously clicked submenu arrow. */
html body .mh-drawer.mh-drawer-menu.mh-drilldown-open [data-mh-sub-toggle],
html body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open [data-mh-sub-toggle],
html body .mh-drawer.mh-drawer-menu.mh-drilldown-open [data-mh-sub-toggle]:focus,
html body .mh-drawer.mh-drawer-menu.mh-drilldown-open [data-mh-sub-toggle]:focus-visible,
html body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open [data-mh-sub-toggle]:focus,
html body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open [data-mh-sub-toggle]:focus-visible {
    outline: 0 !important;
    box-shadow: none !important;
}
html body .mh-drawer.mh-drawer-menu.mh-drilldown-open [data-mh-sub-toggle]::before,
html body .mh-drawer.mh-drawer-menu.mh-drilldown-open [data-mh-sub-toggle]::after,
html body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open [data-mh-sub-toggle]::before,
html body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open [data-mh-sub-toggle]::after {
    content: none !important;
    display: none !important;
}

/* Do not override the CTA buttons; they must stay real buttons. */
html body .mh-drawer.mh-drawer-menu .mh-drawer-menu-cta-primary,
html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-menu-cta-primary {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}
html body .mh-drawer.mh-drawer-menu .mh-drawer-menu-cta-secondary,
html body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-menu-cta-secondary {
    color: var(--mh-clean-drawer-text) !important;
    -webkit-text-fill-color: var(--mh-clean-drawer-text) !important;
}


/* ============================================================
 * Master Header 1.10.28 – erweiterte Device-Profile
 * ============================================================ */
#master-header.mh-device-tablet_portrait,
#master-header.mh-device-tablet_landscape {
    --mh-device-group: tablet;
}
#master-header.mh-device-mobile_portrait,
#master-header.mh-device-mobile_landscape {
    --mh-device-group: mobile;
}
#master-header.mh-device-tablet_portrait.mh-over-hero > .mh-inner::before,
#master-header.mh-device-tablet_landscape.mh-over-hero > .mh-inner::before,
#master-header.mh-device-mobile_portrait.mh-over-hero > .mh-inner::before,
#master-header.mh-device-mobile_landscape.mh-over-hero > .mh-inner::before {
    background: var(--mh-overlay-panel-bg, rgba(8,16,30,.18));
}
#master-header.mh-device-tablet_portrait { --mh-overlay-panel-bg-current: var(--mh-overlay-panel-bg-tablet_portrait, var(--mh-overlay-panel-bg-tablet, var(--mh-overlay-panel-bg-desktop, var(--mh-overlay-panel-bg, rgba(8,16,30,.18))))); }
#master-header.mh-device-tablet_landscape { --mh-overlay-panel-bg-current: var(--mh-overlay-panel-bg-tablet_landscape, var(--mh-overlay-panel-bg-tablet, var(--mh-overlay-panel-bg-desktop, var(--mh-overlay-panel-bg, rgba(8,16,30,.18))))); }
#master-header.mh-device-mobile_portrait { --mh-overlay-panel-bg-current: var(--mh-overlay-panel-bg-mobile_portrait, var(--mh-overlay-panel-bg-mobile, var(--mh-overlay-panel-bg-tablet_portrait, var(--mh-overlay-panel-bg, rgba(8,16,30,.18))))); }
#master-header.mh-device-mobile_landscape { --mh-overlay-panel-bg-current: var(--mh-overlay-panel-bg-mobile_landscape, var(--mh-overlay-panel-bg-mobile, var(--mh-overlay-panel-bg-tablet_landscape, var(--mh-overlay-panel-bg, rgba(8,16,30,.18))))); }


/* ============================================================
 * Master Header 1.10.30 – iPad Pro 13 / Tablet Querformat Final-Fix
 * - Tablet Querformat nutzt denselben linken 1/4-Drawer wie Desktop
 * - greift ab ca. 981px Landscape bis 1440px, damit iPad Pro 13 mit 1376px sicher erfasst wird
 * - verhindert Fullscreen-Topdown-Hamburger auf iPad Pro 13 Querformat
 * ============================================================ */
@media (min-width: 981px) and (max-width: 1700px) and (orientation: landscape) {
    html body #master-header.mh-device-tablet_landscape .mh-drawer.mh-drawer-menu,
    html body.mh-device-tablet_landscape #master-header .mh-drawer.mh-drawer-menu,
    html[data-mh-device="tablet_landscape"] body #master-header .mh-drawer.mh-drawer-menu,
    html body #master-header.mh-device-tablet_landscape .mh-drawer.mh-drawer-enterprise.mh-drawer-menu {
        top: 0 !important;
        left: 0 !important;
        right: auto !important;
        bottom: 0 !important;
        width: clamp(320px, 28vw, 420px) !important;
        min-width: clamp(320px, 28vw, 420px) !important;
        max-width: clamp(320px, 28vw, 420px) !important;
        height: 100vh !important;
        height: 100dvh !important;
        max-height: 100vh !important;
        max-height: 100dvh !important;
        display: grid !important;
        grid-template-rows: auto minmax(0, 1fr) auto !important;
        background: #ffffff !important;
        color: var(--mh-clean-drawer-text, #18222c) !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: 26px 0 78px rgba(15, 23, 42, .16) !important;
        overflow: hidden !important;
        transform: translateX(-104%) !important;
        transition: transform .58s cubic-bezier(.16, 1, .3, 1), visibility .58s ease, opacity .32s ease !important;
        opacity: 1 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    html body #master-header.mh-device-tablet_landscape .mh-drawer.mh-drawer-menu.is-open,
    html body.mh-device-tablet_landscape #master-header .mh-drawer.mh-drawer-menu.is-open,
    html[data-mh-device="tablet_landscape"] body #master-header .mh-drawer.mh-drawer-menu.is-open,
    html body #master-header.mh-device-tablet_landscape .mh-drawer.mh-drawer-enterprise.mh-drawer-menu.is-open {
        transform: translateX(0) !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    html body #master-header.mh-device-tablet_landscape .mh-drawer-overlay.is-open,
    html body.mh-device-tablet_landscape #master-header .mh-drawer-overlay.is-open,
    html[data-mh-device="tablet_landscape"] body #master-header .mh-drawer-overlay.is-open {
        background: rgba(15, 23, 42, .18) !important;
        -webkit-backdrop-filter: blur(2px) !important;
        backdrop-filter: blur(2px) !important;
    }

    html body #master-header.mh-device-tablet_landscape .mh-drawer.mh-drawer-menu .mh-drawer-header,
    html body.mh-device-tablet_landscape #master-header .mh-drawer.mh-drawer-menu .mh-drawer-header,
    html[data-mh-device="tablet_landscape"] body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-header {
        position: relative !important;
        display: grid !important;
        grid-template-columns: 48px minmax(0, 1fr) 48px !important;
        align-items: center !important;
        min-height: 82px !important;
        height: 82px !important;
        padding: 22px 24px 10px 32px !important;
        background: #ffffff !important;
        color: var(--mh-clean-drawer-text, #18222c) !important;
        border: 0 !important;
        box-shadow: none !important;
        overflow: visible !important;
        box-sizing: border-box !important;
        z-index: 7 !important;
    }

    html body #master-header.mh-device-tablet_landscape .mh-drawer.mh-drawer-menu .mh-drawer-content,
    html body.mh-device-tablet_landscape #master-header .mh-drawer.mh-drawer-menu .mh-drawer-content,
    html[data-mh-device="tablet_landscape"] body #master-header .mh-drawer.mh-drawer-menu .mh-drawer-content {
        --mh-mobile-menu-x-pad: 36px;
        grid-row: 2 !important;
        min-height: 0 !important;
        height: auto !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 18px var(--mh-mobile-menu-x-pad) 18px !important;
        background: #ffffff !important;
        color: var(--mh-clean-drawer-text, #18222c) !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        box-sizing: border-box !important;
    }

    html body #master-header.mh-device-tablet_landscape .mh-drawer-menu .mh-offcanvas-list,
    html body.mh-device-tablet_landscape #master-header .mh-drawer-menu .mh-offcanvas-list,
    html[data-mh-device="tablet_landscape"] body #master-header .mh-drawer-menu .mh-offcanvas-list {
        gap: 6px !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    html body #master-header.mh-device-tablet_landscape .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item,
    html body #master-header.mh-device-tablet_landscape .mh-drawer-menu .mh-offcanvas-list .sub-menu > li,
    html body.mh-device-tablet_landscape #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item,
    html body.mh-device-tablet_landscape #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li,
    html[data-mh-device="tablet_landscape"] body #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item,
    html[data-mh-device="tablet_landscape"] body #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li {
        min-height: 40px !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        list-style: none !important;
    }

    html body #master-header.mh-device-tablet_landscape .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a,
    html body #master-header.mh-device-tablet_landscape .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a,
    html body.mh-device-tablet_landscape #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a,
    html body.mh-device-tablet_landscape #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a,
    html[data-mh-device="tablet_landscape"] body #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > a,
    html[data-mh-device="tablet_landscape"] body #master-header .mh-drawer-menu .mh-offcanvas-list .sub-menu > li > a {
        min-height: 40px !important;
        padding: 6px 0 !important;
        margin: 0 !important;
        color: var(--mh-clean-drawer-text, #18222c) !important;
        -webkit-text-fill-color: var(--mh-clean-drawer-text, #18222c) !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        font-size: clamp(18px, 1.25vw, 23px) !important;
        font-weight: 650 !important;
        letter-spacing: -.035em !important;
        line-height: 1.12 !important;
        text-decoration: none !important;
    }

    html body #master-header.mh-device-tablet_landscape .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle,
    html body.mh-device-tablet_landscape #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle,
    html[data-mh-device="tablet_landscape"] body #master-header .mh-drawer-menu .mh-offcanvas-list > li.mh-menu-item > .mh-sub-toggle {
        width: 36px !important;
        min-width: 36px !important;
        height: 40px !important;
        min-height: 40px !important;
        justify-content: flex-end !important;
        color: var(--mh-clean-drawer-text, #18222c) !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    html body #master-header.mh-device-tablet_landscape .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-header,
    html body.mh-device-tablet_landscape #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-header,
    html[data-mh-device="tablet_landscape"] body #master-header .mh-drawer.mh-drawer-menu.mh-drilldown-open .mh-drawer-header {
        grid-template-columns: minmax(0, 1fr) 48px !important;
        padding: 22px 24px 10px 32px !important;
    }

    html body #master-header.mh-device-tablet_landscape .mh-drawer-menu .mh-drawer-menu-footer,
    html body.mh-device-tablet_landscape #master-header .mh-drawer-menu .mh-drawer-menu-footer,
    html[data-mh-device="tablet_landscape"] body #master-header .mh-drawer-menu .mh-drawer-menu-footer {
        grid-row: 3 !important;
        position: relative !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        width: 100% !important;
        padding: 16px 22px 18px !important;
        margin: 0 !important;
        background: linear-gradient(180deg, rgba(255,255,255,0), #ffffff 30%) !important;
        border: 0 !important;
        box-shadow: 0 -22px 52px rgba(15, 23, 42, .06) !important;
        box-sizing: border-box !important;
        z-index: 9 !important;
    }
}


/* ============================================================
 * Master Header 1.10.30 – iPad Pro 13 Tablet-Landscape Force Layer
 * Greift zusätzlich über html[data-mh-device="tablet_landscape"], auch wenn Safari/iPadOS
 * die Media-Query durch Browserleisten oder Desktop-Webseitenmodus anders auswertet.
 * ============================================================ */
html[data-mh-device="tablet_landscape"] body #master-header .mh-drawer.mh-drawer-menu,
html[data-mh-device="tablet_landscape"] body #master-header .mh-drawer.mh-drawer-enterprise.mh-drawer-menu,
body.mh-device-tablet_landscape #master-header .mh-drawer.mh-drawer-menu,
#master-header.mh-device-tablet_landscape .mh-drawer.mh-drawer-menu {
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    width: clamp(320px, 28vw, 420px) !important;
    min-width: clamp(320px, 28vw, 420px) !important;
    max-width: clamp(320px, 28vw, 420px) !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: 100vh !important;
    max-height: 100dvh !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    background: #ffffff !important;
    color: var(--mh-clean-drawer-text, #18222c) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: 26px 0 78px rgba(15, 23, 42, .16) !important;
    overflow: hidden !important;
    transform: translateX(-104%) !important;
    transition: transform .58s cubic-bezier(.16, 1, .3, 1), visibility .58s ease, opacity .32s ease !important;
    opacity: 1 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}
html[data-mh-device="tablet_landscape"] body #master-header .mh-drawer.mh-drawer-menu.is-open,
html[data-mh-device="tablet_landscape"] body #master-header .mh-drawer.mh-drawer-enterprise.mh-drawer-menu.is-open,
body.mh-device-tablet_landscape #master-header .mh-drawer.mh-drawer-menu.is-open,
#master-header.mh-device-tablet_landscape .mh-drawer.mh-drawer-menu.is-open {
    transform: translateX(0) !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}
html[data-mh-device="tablet_landscape"] body #master-header .mh-drawer-overlay.is-open,
body.mh-device-tablet_landscape #master-header .mh-drawer-overlay.is-open,
#master-header.mh-device-tablet_landscape .mh-drawer-overlay.is-open {
    background: rgba(15, 23, 42, .18) !important;
    -webkit-backdrop-filter: blur(2px) !important;
    backdrop-filter: blur(2px) !important;
}


/* ============================================================
 * Master Header 1.10.34 – Tablet Querformat Persistenz Safe Layer
 * Erzwingt für erkannte Tablet-Landscape-Geräte den linken Desktop-Drawer,
 * unabhängig davon, ob Safari/iPadOS Media Queries durch Browserleisten anders bewertet.
 * ============================================================ */
html[data-mh-device="tablet_landscape"] body #master-header,
html.mh-device-tablet_landscape body #master-header,
body.mh-device-tablet_landscape #master-header,
#master-header.mh-device-tablet_landscape {
    --mh-device-active: tablet_landscape;
}

html[data-mh-device="tablet_landscape"] body #master-header .mh-drawer.mh-drawer-menu,
html[data-mh-device="tablet_landscape"] body #master-header .mh-drawer.mh-drawer-enterprise.mh-drawer-menu,
html.mh-device-tablet_landscape body #master-header .mh-drawer.mh-drawer-menu,
body.mh-device-tablet_landscape #master-header .mh-drawer.mh-drawer-menu,
#master-header.mh-device-tablet_landscape .mh-drawer.mh-drawer-menu {
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    width: clamp(320px, 28vw, 440px) !important;
    min-width: clamp(320px, 28vw, 440px) !important;
    max-width: clamp(320px, 28vw, 440px) !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: 100vh !important;
    max-height: 100dvh !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    background: #ffffff !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: 26px 0 78px rgba(15, 23, 42, .16) !important;
    overflow: hidden !important;
    transform: translateX(-104%) !important;
    transition: transform .58s cubic-bezier(.16, 1, .3, 1), visibility .58s ease, opacity .32s ease !important;
    opacity: 1 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}
html[data-mh-device="tablet_landscape"] body #master-header .mh-drawer.mh-drawer-menu.is-open,
html[data-mh-device="tablet_landscape"] body #master-header .mh-drawer.mh-drawer-enterprise.mh-drawer-menu.is-open,
html.mh-device-tablet_landscape body #master-header .mh-drawer.mh-drawer-menu.is-open,
body.mh-device-tablet_landscape #master-header .mh-drawer.mh-drawer-menu.is-open,
#master-header.mh-device-tablet_landscape .mh-drawer.mh-drawer-menu.is-open {
    transform: translateX(0) !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}
html[data-mh-device="tablet_landscape"] body #master-header .mh-drawer-overlay.is-open,
html.mh-device-tablet_landscape body #master-header .mh-drawer-overlay.is-open,
body.mh-device-tablet_landscape #master-header .mh-drawer-overlay.is-open,
#master-header.mh-device-tablet_landscape .mh-drawer-overlay.is-open {
    background: rgba(15, 23, 42, .18) !important;
    -webkit-backdrop-filter: blur(2px) !important;
    backdrop-filter: blur(2px) !important;
}


/* ============================================================
 * 1.10.38 – Quick Action Integration: Barrierefreiheit & Cookies
 * ============================================================ */
.mh-quick-action-integration {
    border-style: solid;
}
.mh-quick-action-accessibility {
    color: #0f172a;
}
.mh-quick-action-cookies {
    color: #0f172a;
}
.mh-quick-actions.is-ready .mh-quick-action-accessibility {
    animation: mhQuickActionIn .42s cubic-bezier(.22,1,.36,1) .12s both;
}
.mh-quick-actions.is-ready .mh-quick-action-cookies {
    animation: mhQuickActionIn .42s cubic-bezier(.22,1,.36,1) .18s both;
}
.mh-quick-action-btn[type="button"] {
    appearance: none;
    -webkit-appearance: none;
    padding: 0;
    font: inherit;
}
.mh-hide-integrated-plugin-launchers .master-accessibility-floating,
.mh-hide-integrated-plugin-launchers .master-accessibility-toggle:not(.mh-quick-action-btn),
.mh-hide-integrated-plugin-launchers .mh-accessibility-floating,
.mh-hide-integrated-plugin-launchers .mh-accessibility-toggle:not(.mh-quick-action-btn),
.mh-hide-integrated-plugin-launchers .master-barrierefreiheit-floating,
.mh-hide-integrated-plugin-launchers .barrierefreiheit-floating,
.mh-hide-integrated-plugin-launchers #master-accessibility-toggle,
.mh-hide-integrated-plugin-launchers #master-barrierefreiheit-toggle,
.mh-hide-integrated-plugin-launchers .master-cookie-floating,
.mh-hide-integrated-plugin-launchers .master-cookie-toggle:not(.mh-quick-action-btn),
.mh-hide-integrated-plugin-launchers .mh-cookie-floating,
.mh-hide-integrated-plugin-launchers .mh-cookie-toggle:not(.mh-quick-action-btn),
.mh-hide-integrated-plugin-launchers .cookie-settings-floating,
.mh-hide-integrated-plugin-launchers .cookie-consent-floating,
.mh-hide-integrated-plugin-launchers #master-cookie-open,
.mh-hide-integrated-plugin-launchers #master-cookie-settings {
    display: none !important;
}
@media (max-width: 700px) {
    .mh-quick-action-integration svg {
        width: 19px;
        height: 19px;
    }
}


/* ============================================================
 * 1.10.40 – Reale Plugin-Brücke für Master Barrierefreiheit & Master Cookie
 * ============================================================ */
.mh-plugin-bridge {
    position: fixed !important;
    width: 1px !important;
    height: 1px !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 2147483640 !important;
    pointer-events: none !important;
}
.mh-plugin-bridge [data-mbf-widget] {
    pointer-events: none !important;
}
.mh-plugin-bridge .mbf-trigger {
    position: fixed !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
    clip-path: inset(50%) !important;
    overflow: hidden !important;
}
.mh-plugin-bridge .mbf-panel:not([hidden]) {
    pointer-events: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 2147483647 !important;
}
.mh-plugin-bridge .mbf-panel[hidden] {
    display: none !important;
}
body.mh-hide-integrated-plugin-launchers .mbf-auto-widget,
body.mh-hide-integrated-plugin-launchers .mc-settings-icon:not(.mh-quick-action-btn),
body.mh-hide-integrated-plugin-launchers .mc-settings-link:not(.mh-quick-action-btn) {
    display: none !important;
}
body.mh-hide-integrated-plugin-launchers .mh-plugin-bridge {
    display: block !important;
}


/* ============================================================
 * 1.10.41 – Master Cookie Modal weiter links neben Quick-Actions
 * ============================================================ */
html.mh-master-cookie-open #mc-root.mh-opened-from-master-header,
body.mh-master-cookie-open #mc-root.mh-opened-from-master-header {
    z-index: 2147483625 !important;
}

body.mh-master-cookie-open #mc-root.mh-opened-from-master-header .mc-modal {
    right: calc(112px + env(safe-area-inset-right, 0px)) !important;
    bottom: calc(24px + env(safe-area-inset-bottom, 0px)) !important;
    max-width: calc(100vw - 140px) !important;
}

body.mh-master-cookie-open #mc-root.mh-opened-from-master-header .mc-card {
    max-width: min(430px, calc(100vw - 140px)) !important;
}

body.mh-master-cookie-open .mh-quick-actions.mh-cookie-panel-open {
    z-index: 2147483605 !important;
}

body.mh-master-cookie-open .mh-quick-actions.mh-cookie-panel-open .mh-quick-action-btn,
body.mh-master-cookie-open .mh-quick-actions.mh-cookie-panel-open .mh-quick-actions-toggle {
    box-shadow: 0 14px 34px rgba(15, 23, 42, .20) !important;
}

@media (min-width: 641px) and (max-width: 900px) {
    body.mh-master-cookie-open #mc-root.mh-opened-from-master-header .mc-modal {
        right: calc(92px + env(safe-area-inset-right, 0px)) !important;
        max-width: calc(100vw - 120px) !important;
    }
    body.mh-master-cookie-open #mc-root.mh-opened-from-master-header .mc-card {
        max-width: min(430px, calc(100vw - 120px)) !important;
    }
}

@media (max-width: 640px), (pointer: coarse) and (max-width: 980px) and (max-height: 520px) {
    body.mh-master-cookie-open #mc-root.mh-opened-from-master-header .mc-modal {
        inset: 0 !important;
        right: auto !important;
        bottom: auto !important;
        justify-content: center !important;
        padding-left: 16px !important;
        padding-right: calc(84px + env(safe-area-inset-right, 0px)) !important;
        max-width: none !important;
    }
    body.mh-master-cookie-open #mc-root.mh-opened-from-master-header .mc-card {
        width: min(430px, calc(100vw - 112px)) !important;
        max-width: calc(100vw - 112px) !important;
    }
}

@media (max-width: 440px) {
    body.mh-master-cookie-open #mc-root.mh-opened-from-master-header .mc-modal {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
    body.mh-master-cookie-open #mc-root.mh-opened-from-master-header .mc-card {
        width: calc(100vw - 28px) !important;
        max-width: calc(100vw - 28px) !important;
    }
    body.mh-master-cookie-open .mh-quick-actions.mh-cookie-panel-open {
        opacity: .18 !important;
        pointer-events: none !important;
    }
}


/* ============================================================
 * 1.10.42 – Master Barrierefreiheit Panel neben Quick-Actions wie Cookie-Panel
 * ============================================================ */
html.mh-master-a11y-open .mh-plugin-bridge,
body.mh-master-a11y-open .mh-plugin-bridge {
    z-index: 2147483626 !important;
}

.mh-plugin-bridge .mbf-widget-inline .mbf-panel.mh-opened-from-master-header,
.mh-plugin-bridge [data-mbf-widget] .mbf-panel.mh-opened-from-master-header {
    position: fixed !important;
    left: var(--mbf-panel-left, auto) !important;
    top: var(--mbf-panel-top, 24px) !important;
    right: auto !important;
    bottom: auto !important;
    width: var(--mh-mbf-panel-width, min(430px, calc(100vw - 140px))) !important;
    max-width: var(--mh-mbf-panel-width, min(430px, calc(100vw - 140px))) !important;
    max-height: var(--mh-mbf-panel-max-height, min(720px, calc(100vh - 48px))) !important;
    transform-origin: right bottom !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 2147483647 !important;
}

body.mh-master-a11y-open .mh-quick-actions.mh-a11y-panel-open {
    z-index: 2147483605 !important;
}

body.mh-master-a11y-open .mh-quick-actions.mh-a11y-panel-open .mh-quick-action-btn,
body.mh-master-a11y-open .mh-quick-actions.mh-a11y-panel-open .mh-quick-actions-toggle {
    box-shadow: 0 14px 34px rgba(15, 23, 42, .20) !important;
}

@media (min-width: 641px) and (max-width: 900px) {
    .mh-plugin-bridge .mbf-widget-inline .mbf-panel.mh-opened-from-master-header,
    .mh-plugin-bridge [data-mbf-widget] .mbf-panel.mh-opened-from-master-header {
        width: var(--mh-mbf-panel-width, min(430px, calc(100vw - 120px))) !important;
        max-width: var(--mh-mbf-panel-width, min(430px, calc(100vw - 120px))) !important;
    }
}

@media (max-width: 640px), (pointer: coarse) and (max-width: 980px) and (max-height: 520px) {
    .mh-plugin-bridge .mbf-widget-inline .mbf-panel.mh-opened-from-master-header,
    .mh-plugin-bridge [data-mbf-widget] .mbf-panel.mh-opened-from-master-header {
        width: var(--mh-mbf-panel-width, min(430px, calc(100vw - 112px))) !important;
        max-width: var(--mh-mbf-panel-width, min(430px, calc(100vw - 112px))) !important;
        max-height: var(--mh-mbf-panel-max-height, calc(100vh - 28px)) !important;
    }
}

@media (max-width: 440px) {
    .mh-plugin-bridge .mbf-widget-inline .mbf-panel.mh-opened-from-master-header,
    .mh-plugin-bridge [data-mbf-widget] .mbf-panel.mh-opened-from-master-header {
        left: 14px !important;
        right: auto !important;
        top: 14px !important;
        width: calc(100vw - 28px) !important;
        max-width: calc(100vw - 28px) !important;
        max-height: calc(100vh - 28px) !important;
    }
    body.mh-master-a11y-open .mh-quick-actions.mh-a11y-panel-open {
        opacity: .18 !important;
        pointer-events: none !important;
    }
}


/* ============================================================
 * 1.10.43 – Timeout-Safe Guard für Master-Barrierefreiheit-Bridge
 * ============================================================ */
.mh-plugin-bridge [data-mbf-panel].mh-opened-from-master-header {
    will-change: auto !important;
    contain: layout style !important;
}
