/**
 * Header & Megamenu – Vorlage: https://test.emilum.com/neu/ (admorris Pro / JTL-Shop)
 * Referenz-CSS (Original):
 *   non-critical: https://test.emilum.com/neu/templates/admorris_pro/styles/admorris/non-critical.css
 *   styles:       https://test.emilum.com/neu/templates/admorris_pro/styles/admorris/styles.css
 * Angepasst: Container 1680px, Text #262626, Hintergrund #fff, 16px Roboto, Sticky, Dropdown wie Live-Seite.
 * Alle Regeln sind auf .admorris-header beschränkt, damit Theme-/WordPress-CSS das Menü nicht überschreibt
 * und unser CSS keine anderen Seitenelemente beeinflusst.
 */

/* ========== Variablen (admorris Pro Desktop – 1:1) ========== */
/* Breakpoints wie styles.css (admorris Pro) für Einheitlichkeit */
:root {
    --breakpoint-xs: 0;
    --breakpoint-sm: 576px;
    --breakpoint-md: 768px;
    --breakpoint-lg: 992px;
    --breakpoint-xl: 1200px;
    --breakpoint-xxl: 1500px;
    --primary: #39aa37;
    --primary-hover: #267024;
    --font-family-sans-serif: Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif;
    --font-sans: Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif;
    --container-padding: 20px;
    --mobile-nav-breakpoint: 992px;
    /* Container Desktop */
    --header-container-width: 1680px;
    /* Row 2 Desktop – admorris Pro */
    --header-row-bg-color: #fff;
    --header-row-text-color: #262626;
    --header-row-font-size: 16px;
    --header-row-text-transform: none;
    --header-row-font-weight: 400;
    --header-row-margin: 0;
    --header-row-padding-top: 15px;
    --header-row-padding-bottom: 15px;
    --header-row-padding-left: 28px;
    --header-row-padding-right: 28px;
    --header-row-border-radius: 0;
    /* Row 2 Mobile */
    --header-row-bg-color-mobile: #fff;
    --header-row-text-color-mobile: #1e1e24;
    --header-row-font-size-mobile: 14px;
    --header-row-padding-mobile: 8px;
    /* Sticky Header */
    --header-row-sticky-bg: #ffffff;
    --header-row-sticky-color: #1e1e24;
    /* Overlay Header (transparenter Header) */
    --header-overlay-text-color: #ffffff;
    --header-overlay-bg-color: rgba(255, 255, 255, 0);
    /* Logo */
    --logo-width: 200px;
    --logo-width-mobile: 83px;
    /* Dropdown */
    --header-dropdown-text-color: #262626;
    --header-dropdown-background-color: #fff;
    --dropdown-border-radius: 0;
    --adm-header-height: 0px;
}

/* ========== Isolation: Nur innerhalb .admorris-header (Shortcode-Wrapper) ========== */
.admorris-header {
    font-family: var(--font-family-sans-serif);
    font-size: 16px;
    line-height: 1.42857;
    color: #262626;
    box-sizing: border-box;
    /* Variablen hier erneut setzen, damit Theme-:root das Menü nicht überschreibt */
    --primary: #39aa37;
    --primary-hover: #267024;
    --font-family-sans-serif: Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif;
    --header-row-bg-color: #fff;
    --header-row-text-color: #262626;
    --header-row-font-size: 16px;
    --header-row-font-weight: 400;
    --header-row-text-transform: none;
    --header-container-width: 1680px;
    --container-padding: 20px;
    --logo-width: 200px;
    --logo-width-mobile: 83px;
    --header-dropdown-text-color: #262626;
    --header-dropdown-background-color: #fff;
    /* Hover-Farbe für Dropdown-Links */
    --admorris-dropdown-link-hover: #1e1e24cc;
}
.admorris-header *,
.admorris-header *::before,
.admorris-header *::after {
    box-sizing: border-box;
}

/* ========== Header Wrapper (admorris header_nav.tpl) ========== */
.admorris-header.header-wrapper {
    position: relative;
}

/* Sticky: Menü bleibt beim Scrollen oben – admorris Pro (Hintergrund #fff, Text #262626) */
.admorris-header .header__nav-wrapper {
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9998;
    background-color: var(--header-row-bg-color);
    color: var(--header-row-text-color);
    box-shadow: 0 0 10px rgba(38, 38, 38, 0.08);
}

.admorris-header .header {
    position: relative;
}

/* ========== Header Rows (JTL admorris _header – exakt) ========== */
.admorris-header .header-row {
    position: relative;
    color: var(--header-row-text-color);
    font-family: var(--font-family-sans-serif) !important;
    font-size: var(--header-row-font-size);
    font-weight: var(--header-row-font-weight);
    text-transform: var(--header-row-text-transform);
}

.admorris-header .header__nav-wrapper:not(.boxed-header) .row-2 {
    background-color: var(--header-row-bg-color);
    margin: var(--header-row-margin);
    border-radius: var(--header-row-border-radius);
}

.admorris-header .header__nav-wrapper:not(.boxed-header) .row-2 .header-row__col {
    padding: var(--header-row-padding-top) var(--header-row-padding-right) var(--header-row-padding-bottom) var(--header-row-padding-left);
}

/* Container-Breite Desktop: 1680px (admorris Pro) */
.admorris-header .header__container {
    max-width: var(--header-container-width, 1680px);
    width: 100%;
    padding-inline: var(--container-padding);
    box-sizing: border-box;
    flex-wrap: nowrap;
    justify-content: space-between;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    transition: box-shadow 0.2s ease-in;
}

.admorris-header .header-row__col {
    flex-wrap: nowrap;
    flex: 1 1 auto;
    align-items: center;
    padding-left: 10px;
    padding-right: 10px;
    display: flex;
}

.admorris-header .header-row__col--first { padding-left: 0; }
.admorris-header .header-row__col--last { padding-right: 0; }

.admorris-header .header-row__col--1 { justify-content: flex-start; align-content: flex-start; }
.admorris-header .header-row__col--2 { justify-content: center; }
.admorris-header .header-row__col--3 { justify-content: flex-end; }

.admorris-header .header-row--center-col .header-row__col--1 { flex: 1 1 0; }
.admorris-header .header-row--center-col .header-row__col--2 { flex: 0 1 auto; }
.admorris-header .header-row--center-col .header-row__col--3 { flex: 1 1 0; }

.admorris-header .header-row__element {
    display: flex;
    align-items: center;
}
.admorris-header .header-row__element + .header-row__element { margin-left: 20px; }
.admorris-header .header-row__element--mobile + .header-row__element--mobile,
.admorris-header .header-row__element--megamenu + .header-row__element--megamenu,
.admorris-header .header-row__element--shopnav + .header-row__element--shopnav { margin-left: 0; }

/* ========== Logo (admorris logo.tpl, _header, _nav-elements) ========== */
.admorris-header .header__logo {
    margin-top: 5px;
    margin-bottom: 5px;
    max-width: var(--logo-width);
    transition: max-width 0.3s ease-out;
    display: flex;
    align-items: center;
}

.admorris-header .header__logo a { display: block; }

.admorris-header .header__logo-img {
    max-width: 100%;
    height: auto;
    display: block;
}

.admorris-header .header__logo.header__logo--invert .header__logo-img { display: block; }
.admorris-header .header__logo.header__logo--invert .header__inverted-logo-img { display: none; }

/* ========== Nav Links / Shopnav (JTL admorris – exakt, keine Unterstreichungen) ========== */
.admorris-header .header__desktop-nav .nav-link,
.admorris-header .header__desktop-nav .shopnav__link,
.admorris-header .header__mobile-nav .nav-link,
.admorris-header .header__mobile-nav .shopnav__link {
    color: var(--header-row-text-color);
    font-family: Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400;
    background-color: transparent;
    align-items: center;
    gap: 0.2em;
    display: flex;
    text-decoration: none !important;
}
.admorris-header .header__desktop-nav .nav-link:hover,
.admorris-header .header__desktop-nav .nav-link:focus,
.admorris-header .header__desktop-nav .shopnav__link:hover,
.admorris-header .header__desktop-nav .shopnav__link:focus,
.admorris-header .header__mobile-nav .nav-link:hover,
.admorris-header .header__mobile-nav .nav-link:focus,
.admorris-header .header__mobile-nav .shopnav__link:hover,
.admorris-header .header__mobile-nav .shopnav__link:focus {
    color: var(--primary);
    background-color: transparent;
    text-decoration: none !important;
}

/* Megamenu – exakt JTL: 16px Roboto, keine Unterstreichungen */
.admorris-header .megamenu .nav-link,
.admorris-header .megamenu .shopnav__link,
.admorris-header .header__desktop-nav .megamenu .nav-link,
.admorris-header .header__desktop-nav .megamenu .shopnav__link {
    font-family: Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    font-size: 16px !important;
    text-decoration: none !important;
}
.admorris-header .megamenu .nav-link:hover,
.admorris-header .megamenu .nav-link:focus,
.admorris-header .megamenu .nav-link:active,
.admorris-header .megamenu .shopnav__link:hover,
.admorris-header .megamenu .shopnav__link:focus,
.admorris-header .megamenu .shopnav__link:active {
    text-decoration: none !important;
}

/* Toggle-/Chevron-Icon wie Live-Seite (--icon-centering-offset, vertical-align: middle) */
.admorris-header.header-wrapper .icon-content.icon-content--toggle,
.admorris-header .nav-link.dropdown-toggle .icon-content,
.admorris-header .dropdown-toggle .icon-content--toggle,
.admorris-header .megamenu .icon-content.icon-content--toggle,
.admorris-header .megamenu .icon-content.icon-content--center.icon-content--toggle,
.admorris-header .header__desktop-nav .icon-content.icon-content--toggle {
    --icon-size-multiplier: calc(1 * var(--size, 1));
    --icon-size-multiplier-squared: calc(var(--icon-size-multiplier) * var(--icon-size-multiplier));
    --icon-centering-offset: calc(-.25em + .25em / var(--icon-size-multiplier-squared));
    --base-icon-size: 1em;
    --dimension: calc(var(--base-icon-size) * var(--icon-size-multiplier));
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
    margin-left: 0.25em !important;
    width: 1em !important;
    height: 1em !important;
}
.admorris-header.header-wrapper .icon-content.icon-content--toggle svg,
.admorris-header .nav-link.dropdown-toggle .icon-content svg,
.admorris-header .dropdown-toggle .icon-content--toggle svg,
.admorris-header .dropdown-toggle .icon-chevron-down svg,
.admorris-header .dropdown-toggle .icon-chevron-up svg,
.admorris-header .megamenu .icon-content.icon-content--toggle svg,
.admorris-header .megamenu .icon-content.icon-content--center.icon-content--toggle svg,
.admorris-header .header__desktop-nav .icon-content.icon-content--toggle svg {
    pointer-events: none !important;
    fill: currentColor !important;
    width: 1em !important;
    height: 1em !important;
    display: block !important;
    position: relative !important;
    top: var(--icon-centering-offset) !important;
    flex-shrink: 0 !important;
    overflow: hidden;
    vertical-align: middle;
}
/* Chevron Down/Up: Aufklappen = Up, Zuklappen = Down (wie Original-Menü) */
.admorris-header .dropdown-toggle .icon-chevron-down,
.admorris-header .dropdown-toggle .icon-chevron-up {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 1em !important;
    height: 1em !important;
    vertical-align: middle !important;
}
.admorris-header .dropdown-toggle .icon-chevron-up {
    display: none !important;
}
.admorris-header .dropdown-toggle[aria-expanded="true"] .icon-chevron-down {
    display: none !important;
}
.admorris-header .dropdown-toggle[aria-expanded="true"] .icon-chevron-up {
    display: inline-flex !important;
}

.admorris-header .megamenu .nav-link .icon-text--center,
.admorris-header .header__desktop-nav .nav-link .icon-text--center {
    display: inline;
}

.admorris-header .shopnav__link {
    padding: 1rem;
}

.header__mobile-nav .admorris-header .shopnav__link {
    padding: 0.5rem 0.7rem;
}

/* Shopnav-Icons (Suchen, Anmelden, Warenkorb, Sprache) aus assets/icons.svg */
.admorris-header .shopnav__link .shopnav__icon,
.admorris-header .shopnav__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1em;
    height: 1em;
    margin-right: 0.25em;
    vertical-align: middle;
}
.admorris-header .shopnav__link .shopnav__icon svg,
.admorris-header .shopnav__icon svg {
    width: 1em;
    height: 1em;
    fill: currentColor;
    flex-shrink: 0;
}
.admorris-header .shopnav__link:last-child .shopnav__icon,
.admorris-header .shopnav__link .shopnav__icon:only-child {
    margin-right: 0;
}

.admorris-header .shopnav__badge,
.admorris-header .btn .shopnav__badge {
    color: inherit;
    font-size: 70%;
    background-color: color-mix(in oklab, var(--header-row-bg-color) 70%, var(--header-row-text-color));
    margin-top: -1.5em;
    margin-left: -0.4em;
}

/* ========== Megamenu (admorris _megamenu.scss) ========== */
/* WICHTIG: Menü in einer Linie (horizontal) – ul.nav als Flex-Row */
.admorris-header .megamenu .navbar-nav,
.admorris-header .megamenu .nav,
.admorris-header .megamenu ul.nav,
.admorris-header .category-nav.megamenu .nav,
.admorris-header .category-nav.megamenu ul.nav,
.admorris-header ul.nav.nav-scrollbar-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap;
    align-items: center;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.admorris-header .megamenu .nav > li,
.admorris-header .megamenu ul.nav > li,
.admorris-header .category-nav.megamenu .nav > li,
.admorris-header ul.nav.nav-scrollbar-inner > li {
    display: inline-flex !important;
    flex-shrink: 0;
}

/* Noch höhere Spezifität gegen Theme-Overrides */
.admorris-header #jtl-nav-wrapper .megamenu ul.nav,
.admorris-header #jtl-nav-wrapper .category-nav ul.nav,
.admorris-header #evo-main-nav-wrapper .megamenu ul.nav,
.admorris-header #evo-main-nav-wrapper .category-nav.megamenu ul.nav,
.admorris-header #header-container .megamenu ul.nav,
.admorris-header #header-container .category-nav ul.nav {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.admorris-header #jtl-nav-wrapper .megamenu ul.nav > li,
.admorris-header #evo-main-nav-wrapper .megamenu ul.nav > li,
.admorris-header #header-container .megamenu ul.nav > li {
    display: inline-flex !important;
    flex-shrink: 0 !important;
}

.admorris-header .megamenu .category-wrapper,
.admorris-header .megamenu .category-wrapper:hover,
.admorris-header .megamenu .category-wrapper.active {
    border: none;
    box-shadow: none;
    margin-top: 0;
}

/* Top-Level-Links wie Live-Vorlage (test.emilum.com/neu/): 16px, Abstand wie Menüzeile */
.admorris-header .megamenu > .nav .nav-link,
.admorris-header .megamenu .nav .nav-link,
.admorris-header .nav-scrollbar-inner .nav-link {
    font-family: Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400;
    padding: var(--header-row-padding-top, 15px) 20px var(--header-row-padding-bottom, 15px);
    color: var(--header-row-text-color);
}

.admorris-header .megamenu .dropdown {
    position: unset !important;
}

.admorris-header .megamenu .dropdown-menu {
    max-width: 100vw !important;
    overscroll-behavior: contain !important;
}

.admorris-header .nav-scrollbar-item > .nav-link {
    outline-offset: -2px;
}

/* Scrollbares Megamenu (admorris) */
.header-wrapper .header-row__megamenu {
    min-width: 0;
}
.header-wrapper .header-row__megamenu .megamenu {
    min-width: 0;
    display: grid;
    grid-template-columns: auto 1fr auto;
}
.header-wrapper .header-row__megamenu .nav,
.header-wrapper .header-row__megamenu ul.nav {
    min-width: 0;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto;
    grid-column: 1 / -1;
    grid-row: 1 / 2;
}
.header-wrapper .header-row__megamenu .nav-link {
    white-space: nowrap;
}
.header-wrapper .header-row__col:has(.megamenu) {
    min-width: 0;
}

.admorris-header .nav-scrollbar-arrow {
    min-width: fit-content;
    width: 3.2rem;
    cursor: pointer;
    transition: all 0.2s;
    font-size: 1.25rem;
    z-index: 1;
    display: flex;
    align-items: center;
    grid-row: 1 / 2;
}
.admorris-header .nav-scrollbar-arrow.left {
    grid-column: 1 / 2;
    justify-content: flex-start;
    margin-right: -3rem;
}
.admorris-header .nav-scrollbar-arrow.right {
    grid-column: 3 / 4;
    justify-content: flex-end;
    margin-left: -3rem;
}
.admorris-header .nav-scrollbar-arrow.disabled {
    pointer-events: none;
    opacity: 0;
}

.admorris-header .megamenu__category-title {
    font-weight: 700;
    font-style: italic;
    font-size: 1.0625rem;
    margin-bottom: 0.75rem;
}

.admorris-header .dropdown.megamenu-fw .dropdown-menu {
    border-top: 1px solid rgba(0,0,0,0.1);
}

.admorris-header .keyboard-focus-link {
    position: absolute;
    transform: translateX(-100vw);
}
.admorris-header .keyboard-focus-link:focus {
    position: static;
    transform: translateX(0);
}

/* ========== Dropdown – Sichtbarkeit (JS: .open oder .show) ========== */
.admorris-header .megamenu .has-dropdown,
.admorris-header .nav .has-dropdown {
    position: relative;
}

/* Offenes Dropdown: als Overlay (Position per JS fixed), kein Scroll im Container */
.has-dropdown.open .dropdown-menu,
.has-dropdown.show .dropdown-menu,
.admorris-header .megamenu .has-dropdown.open .dropdown-menu,
.admorris-header .megamenu .has-dropdown.show .dropdown-menu {
    display: block;
    position: fixed;
    z-index: 9999;
}

/* ========== Untermenüs – Vorgaben (Variablen + Styling) ========== */
.admorris-header .megamenu .dropdown-menu,
.has-dropdown .dropdown-menu,
.header-wrapper .dropdown-menu {
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
    /* lt-Farben */
    --lt-color-gray-100: #f8f9fc;
    --lt-color-gray-200: #f1f3f9;
    --lt-color-gray-300: #dee3ed;
    --lt-color-gray-400: #c2c9d6;
    --lt-color-gray-500: #8f96a3;
    --lt-color-gray-600: #5e636e;
    --lt-color-gray-700: #2f3237;
    --lt-color-gray-800: #1d1e20;
    --lt-color-gray-900: #111213;
    --lt-shadowDefault: 0 2px 6px -1px rgba(0, 0, 0, 0.16), 0 1px 4px -1px rgba(0, 0, 0, 0.04);
    --lt-shadowActive: 0 0 8px -2px rgba(0, 0, 0, 0.1), 0 6px 20px -3px rgba(0, 0, 0, 0.2);
    --lt-color-white: #fff;
    --lt-color-black: #111213;
    --lt-color-text-default: var(--lt-color-gray-700);
    --lt-color-text-dark: var(--lt-color-gray-800);
    /* van (Vant) – Abstände & Typo für Submenü */
    --van-padding-base: 4px;
    --van-padding-xs: 8px;
    --van-padding-sm: 12px;
    --van-padding-md: 16px;
    --van-padding-lg: 24px;
    --van-padding-xl: 32px;
    --stack-spacing: 1.5rem;
    --dropdown-submenu-gap: 12px;
    --van-font-size-sm: 12px;
    --van-font-size-md: 14px;
    --van-font-size-lg: 16px;
    --van-gray-8: #323233;
    --van-text-color: var(--van-gray-8);
    --font-family-sans-serif: Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif;
    /* An Menüzeile anpassen */
    --header-row-font-size: 16px;
    --header-row-padding-top: 15px;
    --header-row-padding-bottom: 15px;
    --header-row-padding-left: 28px;
    --header-row-padding-right: 28px;
    --header-row-text-transform: none;
    --header-row-font-weight: 400;
    --header-row-text-color: #1e1e24;
    box-sizing: border-box;
    scroll-margin-top: calc(2rem + var(--adm-header-height, 60px));
    float: left;
    text-align: left;
    background-clip: padding-box;
    min-width: 10rem;
    margin: 0;
    padding: 0;
    font-size: 1rem;
    list-style: none;
    overflow-x: hidden;
    overflow-y: auto;
    max-height: calc(95dvh - var(--adm-header-height, 60px));
    border: 0 solid transparent;
    overscroll-behavior: contain;
    max-width: 100vw;
    color: #262626;
    font-family: var(--font-family-sans-serif) !important;
    font-size: var(--header-row-font-size, 1rem);
    line-height: 1.42857;
    text-align: left;
    text-transform: none;
    font-weight: 400;
    background-color: #fff;
    transform-origin: top left;
    border-radius: 0;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

/* Alle Menü-/Dropdown-Links ohne Unterstreichung */
.admorris-header .megamenu .dropdown-menu a,
.admorris-header .has-dropdown .dropdown-menu a,
.admorris-header .dropdown-menu--megamenu a,
.admorris-header .megamenu-content a {
    text-decoration: none !important;
}
.admorris-header .megamenu .dropdown-menu a:hover,
.admorris-header .has-dropdown .dropdown-menu a:hover,
.admorris-header .dropdown-menu--megamenu a:hover,
.admorris-header .megamenu-content a:hover {
    color: var(--admorris-dropdown-link-hover) !important;
    text-decoration: underline !important;
    text-underline-offset: 0.15em;
    text-decoration-thickness: max(0.08em, 1px);
}

/* ========== Dropdown Menu – Styling (admorris _header-dropdowns, _megamenu-content) ========== */
.admorris-header #header-container .dropdown-menu {
    border-radius: var(--dropdown-border-radius, 0);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    transform-origin: top left;
}

/* Dropdown wie Live-Vorlage: weißer Hintergrund, dezenter Schatten, Trennlinie oben */
.admorris-header .dropdown-menu--megamenu {
    color: var(--header-dropdown-text-color, #262626);
    background-color: var(--header-dropdown-background-color, #fff);
    overflow-y: auto;
    max-height: 80vh;
    border: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

@media (max-height: 800px) {
    .admorris-header .dropdown-menu--megamenu {
        max-height: calc(95dvh - var(--adm-header-height, 60px));
    }
}

/* Submenü: Schrift & Abstände – großer Innenabstand für Dropdown-Hintergrund */
.admorris-header .megamenu-content {
    font-family: var(--font-family-sans-serif) !important;
    font-size: var(--header-row-font-size, 1rem);
    line-height: 1.42857;
    color: var(--header-dropdown-text-color);
    padding: 24px var(--header-row-padding-right, 44px) 24px var(--header-row-padding-left, 44px) !important;
    min-width: 242px;
    min-width: 36ch;
    max-width: 80vw;
}
.admorris-header .megamenu-content.columns-2,
.admorris-header .megamenu-content.info-column {
    min-width: 670px;
    min-width: 88ch;
}


.admorris-header .megamenu-content__category-title,
.admorris-header .megamenu-content__sub-category-title,
.admorris-header .megamenu-content__item {
    font-family: var(--font-family-sans-serif) !important;
    font-size: var(--header-row-font-size, 1rem);
    line-height: 1.42857;
    color: var(--header-dropdown-text-color);
}
/* Wie Live-Vorlage: Kategorietitel fett, Normal-Schreibung (kein Uppercase) */
.megamenu-content__category-title,
.megamenu-content__item {
    font-weight: 700;
    text-transform: none;
}
.megamenu-content__category-title {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
}
.admorris-header .megamenu-content__category-title a {
    text-decoration: none !important;
}
.admorris-header .megamenu-content__category-title a:hover {
    color: var(--admorris-dropdown-link-hover) !important;
    text-decoration: underline !important;
    text-underline-offset: 0.15em;
    text-decoration-thickness: max(0.08em, 1px);
}

/* Untermenü-Inhalt vertikal – Abstand zwischen Submenüs 12px !important */
.admorris-header .megamenu .dropdown-menu .megamenu-content__row,
.admorris-header .has-dropdown .dropdown-menu .megamenu-content__row,
.admorris-header .dropdown-menu--megamenu .megamenu-content__row {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 12px !important;
}

.admorris-header .megamenu-content__row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px !important;
    margin-top: 12px !important;
}
.admorris-header .megamenu-content__row .category-wrapper + .category-wrapper {
    margin-top: 5px !important;
}

/* LED-Streifen etc.: Zwei Spalten nebeneinander, großer Abstand zwischen den Spalten */
.megamenu .dropdown-menu .megamenu-content.columns-2 .megamenu-content__row,
.has-dropdown .dropdown-menu .megamenu-content.columns-2 .megamenu-content__row,
.dropdown-menu--megamenu .megamenu-content.columns-2 .megamenu-content__row,
.admorris-header .megamenu-content.info-column .megamenu-content__row {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    flex-direction: unset;
    gap: 48px !important;
}

.admorris-header .megamenu-content.columns-2 .megamenu-content__row .megamenu-content__col {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.admorris-header .megamenu-content__sub-category-title {
    font-weight: 700;
    text-transform: none;
}
.admorris-header .megamenu-content__sub-category-title a {
    display: block;
    padding: var(--van-padding-xs, 8px) 0;
    color: var(--header-dropdown-text-color);
    text-decoration: none !important;
}
.admorris-header .megamenu-content__sub-category-title a:hover {
    color: var(--primary);
    text-decoration: none !important;
}
.admorris-header .megamenu-content__item + .megamenu-content__item {
    margin-top: 12px !important;
}

/* Listen im Dropdown vertikal (nach unten) */
.admorris-header .megamenu .dropdown-menu ul,
.admorris-header .has-dropdown .dropdown-menu ul,
.admorris-header .dropdown-menu--megamenu ul {
    display: block;
    flex-direction: column;
}
.admorris-header .megamenu .dropdown-menu ul li,
.admorris-header .has-dropdown .dropdown-menu ul li {
    display: block;
}

/* ========== Sub-Sub-Menü (.subsub) – vereinheitlicht ========== */
.admorris-header .megamenu-content__item .subsub a {
    color: rgba(38,38,38,.6)!important;
    text-transform: none!important;
    font-weight: 400!important;
}

.admorris-header .megamenu-content__item .subsub .subsub {
    margin-left: 1em;
}

.admorris-header .megamenu-content__row .subsub * {
    page-break-inside: avoid;
    break-inside: avoid-column;
}

.admorris-header .megamenu-content a {
    display: block;
}

.admorris-header a:not([class]) {
    text-underline-offset: .15em;
    text-decoration-thickness: max(.08em,1px);
}

.admorris-header .header__desktop-nav .megamenu-content {
    color: #262626;
    padding-top: 3rem;
    padding-bottom: 3rem;
    font-size: 1rem;
}

.admorris-header .header__desktop-nav .megamenu-content:where(:not(.megamenu-content--fullwidth)) {
    min-width: 36ch;
    max-width: 80vw;
    padding-left: 3.75rem;
    padding-right: 3.75rem;
}

.admorris-header .dropdown-menu {
    text-align: left;
    list-style: none;
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 9999;
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.176);
}

.admorris-header .header__desktop-nav .row-2 {
    --header-row-bg-color: #fff;
    --header-row-text-color: #1e1e24;
    --header-row-font-size: 16px;
    --header-row-text-transform: none;
    --header-row-font-weight: 400;
    --header-row-padding-top: 15px;
    --header-row-padding-bottom: 15px;
    --header-row-padding-left: 28px;
    --header-row-padding-right: 28px;
    --header-row-margin-top: 0px;
    --header-row-margin-bottom: 0;
    --header-row-border-radius-top-left: 0px;
    --header-row-border-radius-top-right: 0px;
    --header-row-border-radius-bottom-left: 0px;
    --header-row-border-radius-bottom-right: 0px;
    --header-row-border: solid 0 #404040;
}

/* ========== Dropdown Animation (admorris _header-dropdowns) ========== */
@keyframes am-scale-in {
    from { opacity: 0; transform: scale(0.1); }
    to { opacity: 1; transform: scale(1); }
}
@keyframes am-fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

.animation-standard {
    animation: 0.3s cubic-bezier(0.45, 0.47, 0.41, 0.92) am-scale-in;
}
.animation-standard > * {
    animation: 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) am-fade-in;
}

/* ========== Sticky Header (admorris Pro: Text #1e1e24, Hintergrund #ffffff) ========== */
.header__nav-wrapper.sticky {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 9998;
    color: var(--header-row-sticky-color);
    background-color: var(--header-row-sticky-bg);
    animation-name: header-animation;
    animation-duration: 0.3s;
    box-shadow: 0 0 10px rgba(38, 38, 38, 0.1);
}
.header__nav-wrapper.sticky .row-2,
.header__nav-wrapper.sticky .admorris-header .header-row {
    color: var(--header-row-sticky-color);
    background-color: var(--header-row-sticky-bg);
}
.header__nav-wrapper.sticky .nav-link,
.header__nav-wrapper.sticky .admorris-header .shopnav__link {
    color: var(--header-row-sticky-color);
}
.header__nav-wrapper.sticky .nav-link:hover,
.header__nav-wrapper.sticky .shopnav__link:hover {
    color: var(--primary);
}

/* Overlay-Header (admorris Pro: Text #ffffff, Hintergrund transparent) – z. B. .header__nav-wrapper.overlay */
.header__nav-wrapper.overlay {
    background-color: var(--header-overlay-bg-color);
    color: var(--header-overlay-text-color);
}
.header__nav-wrapper.overlay .row-2,
.header__nav-wrapper.overlay .admorris-header .header-row {
    background-color: var(--header-overlay-bg-color);
    color: var(--header-overlay-text-color);
}
.header__nav-wrapper.overlay .nav-link,
.header__nav-wrapper.overlay .admorris-header .shopnav__link {
    color: var(--header-overlay-text-color);
}
.header__nav-wrapper.overlay .nav-link:hover,
.header__nav-wrapper.overlay .shopnav__link:hover {
    color: var(--primary);
}

@keyframes header-animation {
    0% { top: calc(-1 * var(--adm-header-height-fixed, 0)); }
    100% { top: 0; }
}

/* ========== Mobile Nav (admorris _header) ========== */
.header__mobile-nav {
    visibility: hidden;
    height: 0;
}
@media (min-width: 18px) {
    .header__mobile-nav { font-size: 18px; }
}

@media (max-width: 991px) {
    .header__mobile-nav {
        visibility: visible;
        height: auto;
    }
    .header__desktop-nav {
        visibility: hidden;
        height: 0;
        position: absolute;
        overflow: hidden;
    }
    .admorris-header .header__container {
        padding-inline: var(--container-padding, 20px);
        box-sizing: content-box;
        flex-wrap: nowrap;
        justify-content: space-between;
        margin-left: auto;
        margin-right: auto;
        transition: box-shadow 0.2s ease-in;
        display: flex;
    }
    .admorris-header .header__mobile-nav .row-2 {
        --header-row-bg-color: #fff;
        --header-row-text-color: #1e1e24;
        --header-row-font-size: 20px;
        --header-row-text-transform: none;
        --header-row-font-weight: 700;
        --header-row-padding-top: 8px;
        --header-row-padding-bottom: 8px;
        --header-row-padding-left: 20px;
        --header-row-padding-right: 20px;
        --header-row-margin-top: 8px;
        --header-row-margin-bottom: 0;
        --header-row-border-radius-top-left: 16px;
        --header-row-border-radius-top-right: 16px;
        --header-row-border-radius-bottom-left: 16px;
        --header-row-border-radius-bottom-right: 16px;
        --header-row-border: solid 0 #404040;
    }
    .admorris-header .header__mobile-nav .row-2 .header-row__col {
        padding: var(--header-row-padding-top) var(--header-row-padding-right) var(--header-row-padding-bottom) var(--header-row-padding-left);
    }
    .admorris-header .header__nav-wrapper:not(.boxed-header) .header__mobile-nav .row-2 {
        margin-top: var(--header-row-margin-top);
        margin-bottom: var(--header-row-margin-bottom);
        border-radius: var(--header-row-border-radius-top-left) var(--header-row-border-radius-top-right) var(--header-row-border-radius-bottom-left) var(--header-row-border-radius-bottom-right);
        border: var(--header-row-border);
    }
}

/* Offcanvas-Button wie JTL: 22px Icon (font-size am Button, Icon 1em = 23×22px optisch) */
.admorris-header .header__offcanvas-toggle {
    color: var(--header-row-text-color);
    background: transparent;
    border: 0;
    font-size: 22px;
    padding: 0.5rem 0.75rem;
    cursor: pointer;
}
.admorris-header .header__offcanvas-toggle .icon-content {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1em;
    height: 1em;
    flex-shrink: 0;
}
.admorris-header .header__offcanvas-toggle .icon-content svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
    display: block;
}

/* Schließen-Icon (Cross) im Offcanvas: 19.75×18.75px */
.admorris-header button.navbar-toggler:has(use[href="#icon-cross"]) .icon-content {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 19.75px;
    height: 18.75px;
    flex-shrink: 0;
}
.admorris-header button.navbar-toggler:has(use[href="#icon-cross"]) .icon-content svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
    display: block;
}

.header__offcanvas-toggle:hover {
    opacity: 0.7;
}

/* ========== Search (admorris _search) ========== */
.header-search {
    display: flex;
    align-items: center;
    font-size: inherit;
}
.header-search.header-search--dropdown {
    position: relative;
    height: 100%;
}

.search__toggle {
    background: transparent;
    border: 0;
    height: 100%;
    padding: 10px 1rem;
    color: inherit;
    cursor: pointer;
}

.search__form {
    position: relative;
    color: var(--header-row-text-color);
}
.header-search--underline .search__form {
    padding-top: 3px;
    padding-bottom: 3px;
    border-bottom: 1px solid currentColor;
}

.search__wrapper {
    width: 100%;
    display: flex;
}
.search__input {
    width: 100%;
    color: inherit;
    background: transparent;
    border: 0;
}
.search__input:focus {
    outline: none;
}
.search__submit {
    color: inherit;
    background: transparent;
    border: 0;
    cursor: pointer;
}

/* ========== Offcanvas Mobile – Neu (Struktur wie test.emilum.com/neu) ========== */
/* HTML: .offcanvas-nav.offcanvas-nav--menu.modal > .modal-dialog > .modal-content.navbar-offcanvas > .text-right + ul.sidebar-offcanvas */
/* Breakpoints: styles.css (--breakpoint-lg = 992px). Mobile = max-width: 991px. */

/* ---- 1) Listen: ohne Bullets ---- */
.admorris-header .offcanvas-nav--menu ul.nav,
.admorris-header .offcanvas-nav--menu .navbar-categories ul,
.admorris-header .offcanvas-nav--menu .sidebar-offcanvas ul {
    list-style: none;
    padding-left: 0;
    margin: 0;
}
.admorris-header .offcanvas-nav--menu .navbar-categories li,
.admorris-header .offcanvas-nav--menu .sidebar-offcanvas li {
    list-style: none;
}

/* ---- 2) Modal nur auf Mobile (max-width: 991px) sichtbar / nutzbar ---- */
@media (min-width: 992px) {
    .admorris-header .offcanvas-nav.offcanvas-nav--menu.modal {
        display: none !important;
    }
}
@media (max-width: 991px) {
    /* Modal-Container: Fullscreen-Overlay, über Header */
    .admorris-header .offcanvas-nav.offcanvas-nav--menu.modal {
        display: none;
        position: fixed;
        inset: 0;
        z-index: 10000;
        width: 100vw;
        height: 100vh;
        height: 100dvh;
        max-width: 100vw;
        max-height: 100vh;
        max-height: 100dvh;
        margin: 0;
        padding: 0;
        overflow: hidden;
        outline: 0;
        border-radius: 0;
    }
    .admorris-header .offcanvas-nav.offcanvas-nav--menu.modal[aria-hidden="false"],
    .admorris-header .offcanvas-nav.offcanvas-nav--menu.modal.show {
        display: block;
    }
    body.modal-open .admorris-header .offcanvas-nav.offcanvas-nav--menu.modal {
        overflow: hidden;
    }

    /* Dialog: volle Größe, Klicks auf Backdrop durchlassen */
    .admorris-header .offcanvas-nav.offcanvas-nav--menu .modal-dialog {
        margin: 0;
        width: 100%;
        max-width: none;
        height: 100%;
        min-height: 100vh;
        min-height: 100dvh;
        pointer-events: none;
    }
    .admorris-header .offcanvas-nav.offcanvas-nav--menu .modal-content.navbar-offcanvas {
        pointer-events: auto;
    }

    /* Panel: volle Viewport-Fläche, von links einschieben */
    .admorris-header .offcanvas-nav--menu .modal-content.navbar-offcanvas {
        --offcanvas-bg: #fff;
        --offcanvas-text: #394452;
        --offcanvas-separator: rgba(57,68,82,0.12);
        --offcanvas-hover: rgba(57,68,82,0.08);
        --offcanvas-pad: 20px;
        position: fixed;
        inset: 0;
        width: 100vw;
        height: 100vh;
        height: 100dvh;
        max-width: 100vw;
        max-height: 100vh;
        max-height: 100dvh;
        margin: 0;
        padding: var(--offcanvas-pad);
        padding-bottom: 0;
        box-sizing: border-box;
        background: var(--offcanvas-bg);
        color: var(--offcanvas-text);
        border: 0;
        border-radius: 0;
        box-shadow: 0 0 20px rgba(0,0,0,0.3);
        display: flex;
        flex-direction: column;
        overflow: hidden;
        visibility: hidden;
        transform: translateX(-100%);
        transition: transform 0.2s ease-out, visibility 0.2s;
    }
    .admorris-header .offcanvas-nav--menu.modal.show .modal-content.navbar-offcanvas,
    .admorris-header .offcanvas-nav--menu.modal[aria-hidden="false"] .modal-content.navbar-offcanvas {
        visibility: visible;
        transform: translateX(0);
    }

    /* Schließen-Zeile: oben rechts */
    .admorris-header .offcanvas-nav--menu .navbar-offcanvas > .text-right {
        flex-shrink: 0;
        order: -1;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        width: 100%;
        padding: 0;
        margin: 0 0 0.5rem 0;
    }
    .admorris-header .offcanvas-nav--menu .navbar-toggler {
        background: transparent;
        border: 0;
        padding: 0.75rem;
        margin-right: -0.75rem;
        color: inherit;
        cursor: pointer;
    }
    .admorris-header button.navbar-toggler:has(use[href="#icon-cross"]) .icon-content {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 19.75px;
        height: 18.75px;
    }
    .admorris-header button.navbar-toggler:has(use[href="#icon-cross"]) .icon-content svg {
        width: 100%;
        height: 100%;
        fill: currentColor;
    }

    /* Sidebar: flex, scrollbar in der Mitte, Wunschzettel unten */
    .admorris-header .offcanvas-nav--menu .sidebar-offcanvas {
        display: flex;
        flex-direction: column;
        flex: 1;
        min-height: 0;
        overflow-y: auto;
        scrollbar-gutter: stable;
    }
    .admorris-header .offcanvas-nav--menu .sidebar-offcanvas > * + * {
        border-top: 1px solid var(--offcanvas-separator);
    }
    .admorris-header .offcanvas-nav--menu .sidebar-offcanvas > *:last-child {
        margin-top: auto;
        flex-shrink: 0;
        padding-bottom: var(--offcanvas-pad);
    }
    .admorris-header .offcanvas-nav--menu .offcanvas-nav__group--stretch {
        flex-grow: 1;
    }

    /* Nav-Spalte, Dropdowns */
    .admorris-header .offcanvas-nav--menu .navbar-offcanvas .nav {
        flex-direction: column;
        flex-wrap: nowrap;
    }
    .admorris-header .offcanvas-nav--menu .navbar-offcanvas .dropdown-menu {
        display: none;
        float: none;
        position: relative;
        width: 100%;
        background: inherit;
        border: 0;
        box-shadow: none;
        padding: 0;
        color: inherit;
    }
    .admorris-header .offcanvas-nav--menu .navbar-offcanvas .dropdown.show .dropdown-menu,
    .admorris-header .offcanvas-nav--menu .navbar-offcanvas .has-dropdown.show .dropdown-menu {
        display: block;
    }

    /* Links: Uppercase, keine Unterstreichung, Hover-Hintergrund */
    .admorris-header .offcanvas-nav--menu .nav--offcanvas a,
    .admorris-header .offcanvas-nav--menu .sidebar-offcanvas .nav-link,
    .admorris-header .offcanvas-nav--menu .sidebar-offcanvas a {
    text-transform: uppercase;
    text-decoration: none !important;
    color: var(--offcanvas-text);
    }
    .admorris-header .offcanvas-nav--menu .nav--offcanvas .nav-link,
    .admorris-header .offcanvas-nav--menu .offcanvas-nav__element .shopnav__link {
    padding-inline: var(--offcanvas-pad);
    margin-inline: calc(-1 * var(--offcanvas-pad));
    display: flex;
    align-items: center;
    width: 100%;
    box-sizing: content-box;
    color: inherit;
    gap: 0.5em;
    text-transform: uppercase;
    text-decoration: none !important;
    }
    .admorris-header .offcanvas-nav--menu .navbar-offcanvas .nav a:hover,
    .admorris-header .offcanvas-nav--menu .navbar-offcanvas .nav a:focus {
    background-color: var(--offcanvas-hover);
    text-decoration: none !important;
    }
    .admorris-header .offcanvas-nav--menu .navbar-offcanvas .dropdown-menu .nav-link {
    padding: 0.4em var(--offcanvas-pad) 0.4em calc(var(--offcanvas-pad) * 1.5);
    text-decoration: none !important;
    color: var(--offcanvas-text);
    }
    .admorris-header .offcanvas-nav--menu .navbar-offcanvas .dropdown-toggle {
    display: flex;
    flex: 1;
    }
    .admorris-header .offcanvas-nav--menu .navbar-categories a {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    }
    .admorris-header .offcanvas-nav--menu .nav-sub {
    display: flex;
    align-items: center;
    }
    .admorris-header .offcanvas-nav--menu .nav-sub .icon-content:last-child {
    margin-left: auto;
    }

    /* Icons einheitlich */
    .admorris-header .offcanvas-nav--menu .navbar-offcanvas .icon-content {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1em;
    height: 1em;
    flex-shrink: 0;
    font-size: 1rem;
    }
    .admorris-header .offcanvas-nav--menu .navbar-offcanvas .icon-content svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
    display: block;
    }

    /* Kategorien: Unterebenen initial ausgeblendet (per JS/Click einblendbar) */
    .admorris-header .offcanvas-nav--menu .navbar-categories .nav--offcanvas > li > .nav {
        display: none;
    }
    .admorris-header .offcanvas-nav--menu .navbar-categories .nav--offcanvas > li.show > .nav,
    .admorris-header .offcanvas-nav--menu .navbar-categories .nav--offcanvas > li.dropdown.show > .nav {
        display: flex;
        flex-direction: column;
    }

    /* Service-Submenü .submenu */
    .admorris-header .offcanvas-nav--menu .submenu {
        margin-left: 15px;
        list-style: none;
        padding-left: 0;
        text-transform: none;
    }
    .admorris-header .offcanvas-nav--menu .submenu a {
        text-transform: none;
    }
}

/* Body scroll sperren wenn Modal offen (Bootstrap-konform) */
body.modal-open {
    overflow: hidden;
}

/* ========== Utility (nur innerhalb .admorris-header) ========== */
.admorris-header .list-unstyled {
    list-style: none;
    padding-left: 0;
    margin: 0;
}
.admorris-header .img-fluid {
    max-width: 100%;
    height: auto;
}
.admorris-header .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}

.admorris-header a { color: inherit; text-decoration: none; }
.admorris-header a:hover { color: var(--primary); }
