/* ==========================================================================
   Header: utility bar, partner ribbon, masthead, sticky navbar, mega menu,
   mobile drawer and integrated search. Mobile first; the inline mega menu
   starts at 80em (1280px), below that the menu is a drawer.
   ========================================================================== */

/* ---------- Utility bar ---------- */

.wm-topbar {
    position: relative;
    z-index: 3;
    font-size: var(--wm-step--1);
    color: rgb(255 255 255 / 78%);
    background: var(--wm-night);
}
.wm-topbar__inner {
    display: flex;
    align-items: center;
    gap: .75rem 1.25rem;
    min-height: 40px;
}
.wm-topbar__claim {
    display: none;
    margin: 0 auto 0 0;
    letter-spacing: .02em;
}
.wm-topbar__links { margin-right: auto; }
.wm-topbar__links ul,
.wm-social ul { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem; margin: 0; padding: 0; list-style: none; }
.wm-topbar__links a {
    display: inline-flex;
    align-items: center;
    gap: .4em;
    padding: .2rem .7rem;
    font-family: var(--wm-font-display);
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #fff;
    border: 1px solid rgb(255 255 255 / 22%);
    border-radius: 99px;
}
.wm-topbar__links a:hover { color: #fff; background: var(--wm-red); border-color: var(--wm-red); }
.wm-topbar__links a[href*="liveticker"]::before {
    content: "";
    width: .5em; height: .5em;
    border-radius: 50%;
    background: var(--wm-red);
    box-shadow: 0 0 0 0 rgb(226 0 26 / 60%);
    animation: wm-live 2s infinite;
}
@keyframes wm-live { 70% { box-shadow: 0 0 0 .5em rgb(226 0 26 / 0%); } 100% { box-shadow: 0 0 0 0 rgb(226 0 26 / 0%); } }

/* Social icons (parent's Font Awesome mapping via .mh-social-icons) */
.wm-social a {
    display: grid;
    place-items: center;
    width: 36px; height: 36px;
    border-radius: 50%;
    color: inherit;
    transition: color .2s, background-color .2s, transform .2s var(--wm-ease);
}
.wm-social a:hover { color: #fff; background: var(--wm-red); transform: translateY(-2px); }
.wm-social .fa-mh-social { font-size: 16px; line-height: 1; }
.wm-social a[href*="www.wormatia-shop.de"] .fa-mh-social::before { content: "\f07a"; font-family: FontAwesome; }
.wm-social a[href*="bsky.app"] .fa-mh-social::before {
    content: "";
    display: block;
    width: 1em; height: 1em;
    background: currentColor;
    -webkit-mask: url("../images/bluesky.svg") center / contain no-repeat;
    mask: url("../images/bluesky.svg") center / contain no-repeat;
}
.wm-topbar .wm-social { display: none; }

/* Scheme toggle: system → light → dark */
.wm-scheme-toggle {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin: 0;
    padding: .3rem .7rem .3rem .45rem;
    font: inherit;
    font-size: var(--wm-step--1);
    color: #fff;
    cursor: pointer;
    background: rgb(255 255 255 / 8%);
    border: 1px solid rgb(255 255 255 / 18%);
    border-radius: 99px;
}
.wm-scheme-toggle:hover { background: rgb(255 255 255 / 16%); }
.wm-scheme-toggle__icon {
    width: 1.15rem; height: 1.15rem;
    background: currentColor;
    -webkit-mask: var(--wm-scheme-icon) center / contain no-repeat;
    mask: var(--wm-scheme-icon) center / contain no-repeat;
    --wm-scheme-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 3a9 9 0 0 0 0 18z' fill='%23000'/%3E%3C/svg%3E");
}
.wm-scheme-toggle[data-scheme="light"] .wm-scheme-toggle__icon { --wm-scheme-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='4.5'/%3E%3Cpath d='M12 2v2.5M12 19.5V22M4.2 4.2l1.8 1.8M18 18l1.8 1.8M2 12h2.5M19.5 12H22M4.2 19.8 6 18M18 6l1.8-1.8'/%3E%3C/svg%3E"); }
.wm-scheme-toggle[data-scheme="dark"] .wm-scheme-toggle__icon { --wm-scheme-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.5 14.5A8.5 8.5 0 0 1 9.5 3.5a8.5 8.5 0 1 0 11 11z'/%3E%3C/svg%3E"); }
.wm-scheme-toggle__label { display: none; }

@media (min-width: 64em) {
    .wm-topbar .wm-social { display: block; }
}
@media (min-width: 80em) {
    .wm-topbar__claim { display: block; }
    .wm-topbar__links { margin-right: 0; }
    .wm-scheme-toggle__label { display: inline; }
}

/* ---------- Partner ribbon (sponsor logos from widget area "Header 1") ---------- */

.wm-partners {
    position: relative;
    z-index: 2;
    background: var(--wm-surface);
    border-bottom: 1px solid var(--wm-line);
}
.wm-partners__inner {
    display: flex;
    align-items: center;
    gap: clamp(.75rem, 2vw, 2rem);
    min-height: 56px;
    padding-block: .35rem;
}
.wm-partners__track {
    position: relative;
    flex: 1;
    min-width: 0;
    overflow: hidden;
    -webkit-mask: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
    mask: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
}
/* Widget wrappers from the Custom HTML widget are flattened. */
.wm-partners .mh-widget,
.wm-partners .textwidget,
.wm-partners #sponsor-header-box { display: contents; }
.wm-partners .main-sponsors,
.wm-partners .co-sponsors {
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: clamp(1rem, 3vw, 3rem);
    width: max-content;
    min-width: 100%;
}
.wm-partners a {
    display: grid;
    place-items: center;
    flex: none;
    height: 44px;
    padding: 4px 10px;
    border-radius: var(--wm-radius-sm);
    transition: transform .25s var(--wm-ease), box-shadow .25s var(--wm-ease), background-color .25s;
}
.wm-partners img {
    display: block;
    width: auto;
    max-width: 150px;
    max-height: 36px;
    object-fit: contain;
}
.wm-partners a:hover { transform: translateY(-2px); box-shadow: var(--wm-shadow-lg); }

/* Phones: logos glide by in an endless loop (js/theme.js clones the set). */
.wm-partners__track[data-marquee] .main-sponsors {
    justify-content: flex-start;
    min-width: 0;
    animation: wm-marquee var(--wm-marquee-duration, 30s) linear infinite;
}
.wm-partners__track[data-marquee]:hover .main-sponsors,
.wm-partners__track[data-marquee]:focus-within .main-sponsors { animation-play-state: paused; }
@keyframes wm-marquee { to { transform: translateX(calc(-50% - var(--wm-marquee-gap, 0px) / 2)); } }
@media (prefers-reduced-motion: reduce) {
    .wm-partners__track { overflow-x: auto; scroll-snap-type: x mandatory; }
    .wm-partners a { scroll-snap-align: start; }
}
@media (max-width: 47.99em) {
    .wm-partners__inner { min-height: 54px; }
    .wm-partners a { height: 40px; padding-inline: 6px; }
    .wm-partners img { max-height: 32px; max-width: 112px; }
}

/* Dark: logos keep their brand colors on light tiles */
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) .wm-partners a { background: #f6f3f1; }
}
:root[data-theme="dark"] .wm-partners a { background: #f6f3f1; }

/* ---------- Masthead: the section's header photo, full bleed ---------- */

.wm-masthead {
    position: relative;
    z-index: 1;
    isolation: isolate;
    display: flex;
    align-items: flex-end;
    min-height: clamp(120px, 10vw, 170px);
    overflow: hidden;
    color: #fff;
    background: var(--wm-night);
}
.wm-masthead--home { min-height: clamp(150px, 12vw, 210px); }

/* Ambient: a blurred copy of the photo fills ultra-wide screens beside the sharp image. */
.wm-masthead::before {
    content: "";
    position: absolute;
    inset: -48px;
    z-index: -3;
    background: var(--wm-hero) center / cover no-repeat;
    filter: blur(32px) saturate(1.25) brightness(.55);
}
.wm-masthead__photo {
    position: absolute;
    inset: 0;
    z-index: -2;
    max-width: 1920px;
    margin-inline: auto;
    background: var(--wm-hero) center 40% / cover no-repeat;
    animation: wm-hero-in 1.4s var(--wm-ease) both;
}
@media (min-width: 1920px) {
    .wm-masthead__photo {
        -webkit-mask: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent);
        mask: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent);
    }
}
@keyframes wm-hero-in { from { transform: scale(1.06); opacity: .4; } }

/* Floodlight scrim for legible type + red/white sash cut into the bottom edge */
.wm-masthead::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(to top left, var(--wm-red) calc(50% - 0.5px), #fff 50%, #fff calc(50% + 3px), transparent calc(50% + 3.5px)) bottom / 100% var(--wm-cut) no-repeat,
        linear-gradient(90deg, rgb(18 16 20 / 78%) 0%, rgb(18 16 20 / 30%) 45%, rgb(18 16 20 / 0%) 70%),
        linear-gradient(0deg, rgb(18 16 20 / 70%) 0%, rgb(18 16 20 / 0%) 60%);
}

.wm-masthead__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: .5rem 2rem;
    padding-block: 1rem calc(var(--wm-cut) + .5rem);
}

.wm-brand {
    display: flex;
    align-items: center;
    gap: clamp(.65rem, 1.6vw, 1.5rem);
    color: #fff;
    animation: wm-rise .9s var(--wm-ease) .1s both;
}
.wm-theme .wm-brand:hover { color: #fff; }
.wm-brand__crest {
    width: clamp(42px, 3.8vw, 64px);
    height: auto;
    filter: drop-shadow(0 10px 18px rgb(0 0 0 / 45%));
    transition: transform .5s var(--wm-ease);
}
.wm-masthead--home .wm-brand__crest { width: clamp(52px, 4.6vw, 80px); }
.wm-brand:hover .wm-brand__crest { transform: rotate(-4deg) scale(1.04); }
.wm-brand__text { display: grid; line-height: .86; }
.wm-brand__club {
    font-family: var(--wm-font-display);
    font-size: clamp(2rem, 1.2rem + 2vw, 2.9rem);
    font-weight: 900;
    letter-spacing: .01em;
    text-transform: uppercase;
    text-shadow: 0 4px 24px rgb(0 0 0 / 45%);
}
.wm-masthead--home .wm-brand__club { font-size: clamp(2.4rem, 1.4rem + 2.4vw, 3.4rem); }

.wm-masthead__section {
    margin: 0;
    animation: wm-rise .9s var(--wm-ease) .25s both;
}
.wm-masthead__section span {
    display: inline-block;
    padding: .15em .7em .1em .5em;
    font-family: var(--wm-font-display);
    font-size: clamp(1.1rem, .8rem + 1.1vw, 1.8rem);
    font-weight: 900;
    letter-spacing: .06em;
    line-height: 1;
    text-transform: uppercase;
    color: #fff;
    background: var(--wm-red);
    clip-path: polygon(0 0, 100% 0, calc(100% - .35em) 100%, 0 100%);
    box-shadow: var(--wm-shadow-lg);
}
@keyframes wm-rise { from { opacity: 0; transform: translateY(14px); } }

/* ---------- Sticky navbar ---------- */

.wm-navbar {
    position: sticky;
    top: var(--wp-admin--admin-bar--height, 0px);
    z-index: 900;
    color: #fff;
    background: var(--wm-red);
    box-shadow: 0 1px 0 rgb(0 0 0 / 12%);
    transition: box-shadow .3s, background-color .3s;
}
@media (max-width: 600px) {
    .admin-bar .wm-navbar { top: 0; }
}
.wm-navbar[data-stuck] { box-shadow: 0 10px 30px -12px rgb(60 0 8 / 55%); }
/* Frosted bar only with the inline menu: backdrop-filter would make the bar the containing block of the fixed drawer. */
@media (min-width: 80em) {
    .wm-navbar[data-stuck] {
        background: color-mix(in srgb, var(--wm-red) 92%, transparent);
        -webkit-backdrop-filter: saturate(1.4) blur(10px);
        backdrop-filter: saturate(1.4) blur(10px);
    }
}
.wm-navbar__inner {
    display: flex;
    align-items: center;
    gap: .5rem;
    min-height: var(--wm-navbar-h);
}

.wm-navbar__crest {
    display: grid;
    place-items: center;
    flex: none;
    width: 0;
    opacity: 0;
    overflow: hidden;
    transition: width .35s var(--wm-ease), opacity .35s var(--wm-ease), margin .35s var(--wm-ease);
}
.wm-navbar__crest img { width: 27px; height: auto; max-width: none; filter: drop-shadow(0 2px 4px rgb(0 0 0 / 30%)); }
/* Reveal the compact crest only once the masthead has scrolled out of view. */
.wm-navbar[data-stuck] .wm-navbar__crest { width: 31px; opacity: 1; margin-right: .25rem; }

.wm-navbar__actions { display: flex; align-items: center; gap: .25rem; margin-left: auto; }

.wm-icon-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-width: 44px;
    height: 44px;
    margin: 0;
    padding: 0 .6rem;
    font: inherit;
    font-family: var(--wm-font-display);
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: inherit;
    cursor: pointer;
    background: transparent;
    border: 0;
    border-radius: 99px;
    transition: background-color .2s;
}
.wm-icon-button:hover { background: rgb(0 0 0 / 14%); }
.wm-icon-button[aria-expanded="true"] { background: rgb(0 0 0 / 22%); }

/* Burger morphs into a cross */
.wm-burger { position: relative; display: block; width: 22px; height: 16px; }
.wm-burger::before, .wm-burger::after, .wm-burger span {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 2.5px;
    border-radius: 2px;
    background: currentColor;
    transition: transform .3s var(--wm-ease), opacity .2s, top .3s var(--wm-ease);
}
.wm-burger::before { top: 0; }
.wm-burger span { top: 6.75px; }
.wm-burger::after { top: 13.5px; }
[aria-expanded="true"] > .wm-burger::before { top: 6.75px; transform: rotate(45deg); }
[aria-expanded="true"] > .wm-burger span { opacity: 0; }
[aria-expanded="true"] > .wm-burger::after { top: 6.75px; transform: rotate(-45deg); }
.wm-navbar__menu-label { display: none; }
@media (min-width: 30em) { .wm-navbar__menu-label { display: inline; } }

/* ---------- Integrated search ---------- */

.wm-search {
    position: absolute;
    inset: 100% 0 auto;
    z-index: 2;
    padding: .75rem var(--wm-gutter) 1rem;
    background: var(--wm-red-deep);
    box-shadow: 0 18px 30px -18px rgb(0 0 0 / 60%);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity .25s var(--wm-ease), transform .25s var(--wm-ease), visibility 0s .25s;
}
.wm-search[data-open] {
    opacity: 1;
    visibility: visible;
    transform: none;
    transition: opacity .25s var(--wm-ease), transform .25s var(--wm-ease);
}
.wm-search .search-form { max-width: 760px; margin-inline: auto; }
.wm-search .search-submit { display: none; }

/* ---------- Main menu: drawer (mobile, tablet) ---------- */

.wm-theme .wm-menu,
.wm-theme .wm-menu ul { margin: 0; padding: 0; list-style: none; }
.wm-nav__social { display: none; }

@media (max-width: 79.99em) {
    .wm-nav {
        position: fixed;
        inset: 0 0 0 auto;
        z-index: 1000;
        display: flex;
        flex-direction: column;
        width: min(440px, 100%);
        height: 100dvh;
        overflow-y: auto;
        overscroll-behavior: contain;
        color: var(--wm-text);
        background: var(--wm-surface);
        box-shadow: var(--wm-shadow-lg);
        transform: translateX(104%);
        visibility: hidden;
        transition: transform .4s var(--wm-ease), visibility 0s .4s;
    }
    .wm-nav[data-open] {
        transform: none;
        visibility: visible;
        transition: transform .4s var(--wm-ease);
    }
    .admin-bar .wm-nav { top: var(--wp-admin--admin-bar--height, 0px); height: calc(100dvh - var(--wp-admin--admin-bar--height, 0px)); }

    .wm-nav__head {
        position: sticky;
        top: 0;
        z-index: 1;
        display: flex;
        align-items: center;
        gap: .75rem;
        padding: .6rem .75rem .6rem 1.25rem;
        color: #fff;
        background: var(--wm-red);
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 8px));
        padding-bottom: calc(.6rem + 8px);
    }
    .wm-nav__crest { width: 24px; height: auto; }
    .wm-nav__title {
        margin: 0 auto 0 0;
        font-family: var(--wm-font-display);
        font-size: 1.5rem;
        font-weight: 900;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .wm-menu { padding: .5rem 0 1rem; }
    .wm-menu > li {
        display: grid;
        grid-template-columns: 1fr auto;
        align-items: center;
        border-bottom: 1px solid var(--wm-line);
    }
    .wm-menu > li > a {
        padding: .8rem 1.25rem;
        font-family: var(--wm-font-display);
        font-size: 1.45rem;
        font-weight: 800;
        letter-spacing: .03em;
        text-transform: uppercase;
    }
    .wm-menu > li:is(.current-menu-item, .current-menu-ancestor, .current-page-ancestor) > a { color: var(--wm-red-ink); box-shadow: inset 4px 0 0 var(--wm-red); }

    .wm-menu__toggle {
        width: 52px;
        height: 52px;
        margin-right: .5rem;
        padding: 0;
        color: var(--wm-text-muted);
        cursor: pointer;
        background: var(--wm-surface-2);
        border: 0;
        border-radius: 50%;
    }
    .wm-menu__toggle::before {
        content: "";
        display: block;
        width: 12px; height: 12px;
        margin: 0 auto;
        border-right: 2.5px solid currentColor;
        border-bottom: 2.5px solid currentColor;
        transform: translateY(-3px) rotate(45deg);
        transition: transform .3s var(--wm-ease);
    }
    .wm-menu__toggle[aria-expanded="true"] { color: #fff; background: var(--wm-red); }
    .wm-menu__toggle[aria-expanded="true"]::before { transform: translateY(3px) rotate(225deg); }

    /* Accordion: animates its height with the 0fr → 1fr grid trick */
    .wm-mega {
        grid-column: 1 / -1;
        display: grid;
        grid-template-rows: 0fr;
        visibility: hidden;
        transition: grid-template-rows .35s var(--wm-ease), visibility 0s .35s;
    }
    .wm-menu__toggle[aria-expanded="true"] + .wm-mega {
        grid-template-rows: 1fr;
        visibility: visible;
        transition: grid-template-rows .35s var(--wm-ease);
    }
    .wm-mega__inner { min-height: 0; overflow: hidden; }
    .wm-mega__intro { display: none; }
    .wm-mega__list { padding: 0 1.25rem 1rem !important; }
    .wm-mega__list > li > a {
        display: block;
        padding: .55rem .75rem;
        font-weight: 600;
        border-radius: var(--wm-radius-sm);
    }
    .wm-mega__list > li > a:hover { background: var(--wm-surface-2); }
    .wm-mega__sublist { margin: 0 0 .4rem .75rem !important; padding-left: .75rem !important; border-left: 2px solid var(--wm-line); }
    .wm-mega__sublist a { display: block; padding: .35rem .75rem; font-size: .95em; color: var(--wm-text-muted); }
    .wm-mega__list .current-menu-item > a { color: var(--wm-red-ink); }

    /* Leaf items at the end (Tickets, Shop) as calls to action */
    .wm-menu > li:not(.menu-item-has-children) { border: 0; }
    .wm-menu > li:not(.menu-item-has-children) > a {
        margin: .75rem 1.25rem 0;
        text-align: center;
        color: #fff;
        background: var(--wm-red);
        border-radius: 99px;
    }
    .wm-menu > li:not(.menu-item-has-children) > a:hover { color: #fff; background: var(--wm-red-deep); }
    .wm-menu > li:not(.menu-item-has-children) + li:not(.menu-item-has-children) > a { color: var(--wm-red-ink); background: transparent; box-shadow: inset 0 0 0 2px var(--wm-red); }

    .wm-nav__social { display: block; margin-top: auto; padding: 1rem 1.25rem 1.5rem; color: var(--wm-text-muted); border-top: 1px solid var(--wm-line); }
    .wm-nav__social ul { justify-content: center; }

    .wm-nav-backdrop {
        position: fixed;
        inset: 0;
        z-index: 950;
        background: rgb(10 6 8 / 55%);
        -webkit-backdrop-filter: blur(3px);
        backdrop-filter: blur(3px);
        animation: wm-fade .3s var(--wm-ease);
    }
    .wm-nav-backdrop[hidden] { display: none; }
    html.wm-nav-open { overflow: hidden; }
}
@keyframes wm-fade { from { opacity: 0; } }

/* ---------- Main menu: inline mega menu (desktop) ---------- */

@media (min-width: 80em) {
    .wm-nav__head, .wm-navbar__menu-toggle, .wm-nav-backdrop { display: none !important; }
    .wm-nav { flex: 1; min-width: 0; }
    .wm-menu { display: flex; align-items: stretch; flex-wrap: nowrap; gap: .1rem; }
    .wm-menu > li { position: static; display: flex; align-items: center; }
    .wm-menu > li > a {
        position: relative;
        display: flex;
        align-items: center;
        height: var(--wm-navbar-h);
        padding: 0 .55rem;
        font-family: var(--wm-font-display);
        font-size: 1.04rem;
        font-weight: 800;
        letter-spacing: .05em;
        text-transform: uppercase;
        white-space: nowrap;
        color: #fff;
    }
    .wm-theme .wm-menu > li > a:hover { color: #fff; }
    .wm-menu > li > a::after {
        content: "";
        position: absolute;
        right: .55rem; bottom: 10px; left: .55rem;
        height: 3px;
        background: #fff;
        transform: scaleX(0);
        transform-origin: left;
        transition: transform .3s var(--wm-ease);
    }
    .wm-menu > li:hover > a::after,
    .wm-menu > li:has(> [aria-expanded="true"]) > a::after,
    .wm-menu > li:is(.current-menu-item, .current-menu-ancestor, .current-page-ancestor) > a::after { transform: scaleX(1); }

    .wm-menu__toggle {
        width: 22px;
        height: 32px;
        margin-left: -.35rem;
        padding: 0;
        color: rgb(255 255 255 / 85%);
        cursor: pointer;
        background: none;
        border: 0;
        border-radius: 6px;
    }
    .wm-menu__toggle::before {
        content: "";
        display: block;
        width: 7px; height: 7px;
        margin: 0 auto;
        border-right: 2px solid currentColor;
        border-bottom: 2px solid currentColor;
        transform: translateY(-2px) rotate(45deg);
        transition: transform .3s var(--wm-ease);
    }
    .wm-menu__toggle[aria-expanded="true"]::before { transform: translateY(2px) rotate(225deg); }
    .wm-menu__toggle:hover { color: #fff; background: rgb(0 0 0 / 15%); }

    /* Leaf items (Tickets, Shop): pill buttons */
    .wm-menu > li:not(.menu-item-has-children) { margin-left: .35rem; }
    .wm-menu > li:not(.menu-item-has-children) > a {
        height: 38px;
        padding: 0 1rem;
        color: var(--wm-red);
        background: #fff;
        border-radius: 99px;
        transition: transform .2s var(--wm-ease), box-shadow .2s;
    }
    .wm-theme .wm-menu > li:not(.menu-item-has-children) > a:hover { color: var(--wm-red-deep); transform: translateY(-1px); box-shadow: 0 6px 16px -6px rgb(0 0 0 / 45%); }
    .wm-menu > li:not(.menu-item-has-children) > a::after { display: none; }
    .wm-menu > li:not(.menu-item-has-children) + li:not(.menu-item-has-children) > a { color: #fff; background: transparent; box-shadow: inset 0 0 0 2px rgb(255 255 255 / 75%); }
    .wm-theme .wm-menu > li:not(.menu-item-has-children) + li:not(.menu-item-has-children) > a:hover { color: var(--wm-red); background: #fff; }

    /* The panel spans the whole navbar width */
    .wm-mega {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        color: var(--wm-text);
        background: var(--wm-surface);
        border-top: 3px solid var(--wm-red-deep);
        box-shadow: 0 30px 60px -20px rgb(20 0 6 / 45%);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-6px);
        transition: opacity .22s var(--wm-ease), transform .22s var(--wm-ease), visibility 0s .22s;
    }
    .wm-menu__toggle[aria-expanded="true"] + .wm-mega,
    .no-js .wm-menu > li:hover > .wm-mega,
    .no-js .wm-menu > li:focus-within > .wm-mega {
        opacity: 1;
        visibility: visible;
        transform: none;
        transition: opacity .22s var(--wm-ease), transform .22s var(--wm-ease);
    }
    .wm-mega__inner {
        box-sizing: border-box;
        display: grid;
        grid-template-columns: clamp(240px, 20vw, 340px) minmax(0, 1fr);
        gap: clamp(1.5rem, 3vw, 3.5rem);
        max-width: var(--wm-max);
        max-height: calc(100dvh - var(--wm-navbar-h) - var(--wp-admin--admin-bar--height, 0px) - 2rem);
        margin-inline: auto;
        padding: 1.75rem var(--wm-gutter) 2rem;
        overflow-y: auto;
    }

    .wm-mega__intro {
        position: relative;
        isolation: isolate;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        min-height: 220px;
        padding: 1.25rem;
        overflow: hidden;
        color: #fff;
        border-radius: var(--wm-radius);
        background: var(--wm-night) var(--wm-mega-image, none) center / cover no-repeat;
    }
    .wm-mega__intro::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: -1;
        background: linear-gradient(200deg, rgb(226 0 26 / 25%), rgb(18 16 20 / 88%) 75%);
    }
    .wm-mega__kicker {
        margin: 0;
        font-family: var(--wm-font-display);
        font-size: .8rem;
        font-weight: 800;
        letter-spacing: .2em;
        text-transform: uppercase;
        color: rgb(255 255 255 / 75%);
    }
    .wm-mega__title {
        margin: .1rem 0 .9rem;
        font-family: var(--wm-font-display);
        font-size: clamp(2rem, 1.2rem + 1.6vw, 3.2rem);
        font-weight: 900;
        line-height: .95;
        text-transform: uppercase;
    }
    .wm-theme .wm-mega__overview {
        align-self: flex-start;
        padding: .45rem 1rem;
        font-weight: 700;
        color: var(--wm-night);
        background: #fff;
        border-radius: 99px;
        transition: transform .2s var(--wm-ease);
    }
    .wm-theme .wm-mega__overview:hover { color: var(--wm-red); transform: translateX(3px); }

    .wm-mega__list {
        columns: 14rem auto;
        column-gap: 2.5rem;
        column-rule: 1px solid var(--wm-line);
        align-self: start;
    }
    .wm-mega__list > li { break-inside: avoid; }
    .wm-mega__list > li > a {
        position: relative;
        display: block;
        padding: .42rem .5rem .42rem 1.1rem;
        font-weight: 600;
        line-height: 1.3;
        border-radius: var(--wm-radius-sm);
        transition: background-color .2s, color .2s, padding .25s var(--wm-ease);
    }
    .wm-mega__list > li > a::before {
        content: "";
        position: absolute;
        top: 50%;
        left: .35rem;
        width: 6px; height: 6px;
        border-top: 2px solid var(--wm-red);
        border-right: 2px solid var(--wm-red);
        transform: translateY(-50%) rotate(45deg);
        opacity: .5;
        transition: opacity .2s, left .25s var(--wm-ease);
    }
    .wm-theme .wm-mega__list > li > a:hover { color: var(--wm-red-ink); background: var(--wm-surface-2); padding-left: 1.35rem; }
    .wm-mega__list > li > a:hover::before { opacity: 1; left: .55rem; }
    .wm-mega__list .current-menu-item > a { color: var(--wm-red-ink); }

    /* Second level with children: a group heading with its list */
    .wm-mega__list > li.menu-item-has-children { margin: .35rem 0 .9rem; }
    .wm-mega__list > li.menu-item-has-children > a {
        padding-left: .5rem;
        font-family: var(--wm-font-display);
        font-size: 1.15rem;
        font-weight: 800;
        letter-spacing: .05em;
        text-transform: uppercase;
        color: var(--wm-red-ink);
    }
    .wm-mega__list > li.menu-item-has-children > a::before { display: none; }
    .wm-mega__sublist { margin: .1rem 0 0 .5rem !important; padding-left: .75rem !important; border-left: 2px solid var(--wm-line); }
    .wm-mega__sublist a { display: block; padding: .25rem .5rem; font-size: .95em; color: var(--wm-text-muted); border-radius: 6px; }
    .wm-theme .wm-mega__sublist a:hover { color: var(--wm-red-ink); background: var(--wm-surface-2); }

    /* Search: an icon toggle up to 1439px, a pill in the bar above */
    .wm-navbar__search-toggle { display: inline-flex; }
}

@media (min-width: 90em) {
    .wm-navbar__search-toggle { display: none !important; }
    .wm-search,
    .wm-search[data-open] {
        position: relative;
        inset: auto;
        flex: none;
        order: 3;
        padding: 0;
        background: none;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        transform: none;
    }
    .wm-navbar__actions { display: none; }
}
