/* Mobile navigation. The desktop menu keeps its existing layout. */
.mobile-navigation,
.mobile-status-tint {
    display: none;
}

@media (max-width: 749px), (max-width: 1000px) and (max-height: 500px) and (pointer: coarse) {
    html {
        --mobile-bar-height: 74px;
        scroll-padding-bottom: calc(var(--mobile-bar-height) + 16px);
    }

    body {
        padding-top: 12px;
        padding-bottom: var(--mobile-bar-height);
    }

    /* A small brand edge gives Safari a solid color to sample at the top. */
    .mobile-status-tint {
        display: block;
        position: fixed;
        z-index: 101;
        top: 0;
        right: 0;
        left: 0;
        height: 12px;
        background-color: #830e04;
        pointer-events: none;
    }

    body > header {
        border-bottom: 3px solid #830e04;
    }

    /* Site-level CSS also applies to CookieYes Free and late-loaded widgets. */
    html body .cky-btn-revisit-wrapper.cky-revisit-bottom-left,
    html body .cky-btn-revisit-wrapper.cky-revisit-bottom-right {
        bottom: calc(var(--mobile-bar-height) + 12px) !important;
    }

    html.mobile-navigation-open .cky-btn-revisit-wrapper {
        visibility: hidden !important;
        pointer-events: none !important;
    }

    /* Remove both the former top menu and the space reserved for it. */
    #js-menu {
        display: none;
    }

    body > nav {
        border: 0;
        background: none;
    }

    .mobile-partners {
        margin-top: 0;
    }

    .mobile-navigation {
        display: block;
        position: fixed;
        z-index: 100;
        right: 0;
        bottom: 0;
        left: 0;
        color: #fff;
        font-family: Arial, Helvetica, sans-serif;
        font-size: 16px;
        line-height: 1.4;
        text-align: left;
    }

    .mobile-navigation [hidden] {
        display: none !important;
    }

    .mobile-navigation__bar {
        position: relative;
        z-index: 2;
        display: flex;
        align-items: stretch;
        padding: 7px 6px 9px;
        padding-right: calc(6px + env(safe-area-inset-right, 0px));
        padding-bottom: calc(9px + env(safe-area-inset-bottom, 0px));
        padding-left: calc(6px + env(safe-area-inset-left, 0px));
        border-top: 1px solid #e5d8ce;
        background: #fffdf9;
        box-shadow: 0 -3px 16px rgba(54, 35, 30, .1);
    }

    .mobile-navigation .mobile-navigation__shortcut {
        display: flex;
        flex: 1 1 0;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 5px;
        min-width: 0;
        min-height: 57px;
        margin: 0;
        padding: 6px 2px;
        border: 0;
        border-radius: 10px;
        background: transparent;
        color: #50342d;
        font: inherit;
        font-size: 12px;
        line-height: 1.2;
        text-align: center;
        text-decoration: none;
        text-shadow: none;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        touch-action: manipulation;
    }

    .mobile-navigation__shortcut span {
        max-width: 100%;
        overflow-wrap: break-word;
        overflow-wrap: anywhere;
    }

    .mobile-navigation__shortcut svg {
        display: block;
        flex-shrink: 0;
        width: 22px;
        height: 22px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .mobile-navigation .mobile-navigation__shortcut[aria-current="page"] {
        background: #f4e7e1;
        color: #830e04;
    }

    .mobile-navigation .mobile-navigation__toggle {
        margin-left: 3px;
        background: #830e04;
        color: #fff;
    }

    .mobile-navigation__icon-close {
        display: none !important;
    }

    .mobile-navigation__toggle[aria-expanded="true"] .mobile-navigation__icon-menu {
        display: none;
    }

    .mobile-navigation__toggle[aria-expanded="true"] .mobile-navigation__icon-close {
        display: block !important;
    }

    .mobile-navigation__backdrop {
        position: fixed;
        top: 0;
        right: 0;
        bottom: var(--mobile-bar-height);
        left: 0;
        background: rgba(0, 0, 0, .4);
    }

    .mobile-navigation__panel {
        position: absolute;
        right: 0;
        bottom: 100%;
        left: 0;
        max-height: calc(100vh - var(--mobile-bar-height) - 12px);
        max-height: calc(100dvh - var(--mobile-bar-height) - env(safe-area-inset-top, 0px) - 12px);
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        padding: 16px 20px 12px;
        padding-right: calc(20px + env(safe-area-inset-right, 0px));
        padding-left: calc(20px + env(safe-area-inset-left, 0px));
        border-radius: 18px 18px 0 0;
        background: #830e04;
        box-shadow: 0 -6px 24px rgba(0, 0, 0, .15);
    }

    .mobile-navigation__title {
        margin: 0 8px 8px;
        color: #fff;
        font: 25px/1.3 Georgia, serif;
    }

    .mobile-navigation .mobile-navigation__links {
        display: block;
        margin: 0;
        padding: 0;
        list-style: none;
        text-align: left;
    }

    .mobile-navigation .mobile-navigation__links li {
        display: block;
        margin: 0;
        padding: 0;
    }

    .mobile-navigation .mobile-navigation__links a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        min-height: 52px;
        margin: 0;
        padding: 10px 8px;
        border-bottom: 1px solid rgba(255, 255, 255, .2);
        color: #fff;
        font: 20px/1.4 Arial, Helvetica, sans-serif;
        text-decoration: none;
        text-shadow: none;
        touch-action: manipulation;
    }

    .mobile-navigation__links a::after {
        content: '›';
        flex-shrink: 0;
        opacity: .7;
    }

    .mobile-navigation .mobile-navigation__links a[aria-current="page"] {
        background: rgba(255, 255, 255, .13);
        font-weight: bold;
    }

    .mobile-navigation a:focus-visible,
    .mobile-navigation button:focus-visible {
        outline: 3px solid #dfad59;
        outline-offset: -3px;
    }

    .mobile-navigation--editing {
        visibility: hidden;
        pointer-events: none;
    }
}
