.club-menu-toggle { display: none; }
.club-mobile-menu {
    position: fixed; inset: 0 0 0 auto; margin: 0; padding: 0;
    width: min(100%, 480px); max-width: 100%; height: 100dvh; max-height: 100dvh;
    border: 0; background: #fff; color: #4d4d4d;
}
.club-mobile-menu[open] { display: flex; flex-direction: column; animation: club-menu-in .28s ease-out; }
.club-mobile-menu::backdrop { background: #332a2440; }
@keyframes club-menu-in { from { transform: translateX(100%); } to { transform: translateX(0); } }
.club-menu-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 20px; border-bottom: 1px solid #e6ddd2; flex-shrink: 0; }
.club-menu-head > a { max-width: 260px; }
.club-menu-head img { width: 100%; height: auto; }
.club-menu-close { position: relative; width: 44px; height: 44px; flex-shrink: 0; border: 0; background: transparent; }
.club-menu-close span { position: absolute; top: 21px; left: 5px; width: 34px; height: 2px; background: #635445; transform: rotate(32deg); }
.club-menu-close span:last-child { transform: rotate(-32deg); }
.club-menu-content { padding: 28px 20px; overflow-y: auto; overscroll-behavior: contain; }
.club-menu-cta, .club-menu-phone { display: flex; gap: 10px; align-items: center; padding: 14px 18px; border-radius: 40px; font-size: 15px; font-weight: 700; line-height: 1.6; }
.club-menu-cta { background: #0098dc url("../images/bg-noise.png?v=2") 0 0 / 160px 160px repeat; color: #fff; border: 1px solid #0098dc; } /* same grain as the page buttons */
.club-menu-cta:hover { background-color: #0083bf; border-color: #0083bf; color: #fff; }
.club-menu-phone { margin-top: 12px; border: 1px solid #237da3; color: #237da3; }
.club-menu-cta > span, .club-menu-phone > span { margin-left: auto; }
.club-menu-links { list-style: none; padding: 0; margin: 0 0 30px; }
.club-menu-links li { border-bottom: 1px dotted #d9cfcc; }
.club-menu-links a { display: flex; align-items: center; gap: 12px; min-height: 68px; padding: 16px 0; color: #4d4d4d; font-size: 16px; font-weight: 700; }
.club-menu-links a:hover { color: #237da3; }
.club-menu-links i { color: #237da3; }
.club-menu-arrow { margin-left: auto; color: #237da3; }
.club-menu-note { margin-top: 30px; font-size: 15px; font-weight: 600; line-height: 1.9; }
.club-menu-note > span { display: block; margin-top: 4px; font-size: 12px; font-weight: 400; line-height: 1.7; }
.club-menu-note { margin-bottom: 0; }
.club-menu-address { margin: 12px 0 0; padding-top: 12px; border-top: 1px dotted #d9cfcc; font-size: 13px; font-style: normal; line-height: 1.8; color: #66615c; }
.club-mobile-menu :focus-visible, .club-menu-toggle:focus-visible { outline: 2px solid #237da3; outline-offset: 3px; }
@media (max-width: 991px) {
    header.club-header .club-navbar > .container-fluid {
        display: flex;
        align-items: center;
        flex-wrap: nowrap;
    }
    header.club-header .menu-order {
        display: flex;
        align-items: center;
        margin-left: auto;
        order: initial;
    }
    header.club-header .club-header-phone { display: none !important; }
    .club-menu-toggle {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 6px;
        width: 44px;
        height: 44px;
        margin: 0;
        padding: 8px;
        border: 0;
        background: transparent;
        flex: 0 0 44px;
    }
    .club-menu-toggle span { position: static; display: block; width: 28px; height: 2px; margin: 0; background: #e8498c; }
    .club-menu-toggle span:last-child { display: none; }
    header.club-header .club-menu-toggle { gap: 5px; padding: 0; border-radius: 50%; background: #0098dc url("../images/bg-noise.png?v=2") 0 0 / 160px 160px repeat; } /* site blue + grain, same as the buttons */
    header.club-header .club-menu-toggle .navbar-toggler-line { width: 20px !important; height: 2px; border-radius: 1px; background-color: #fff !important; }
}
@media (max-width: 575px) {
    header.club-header .container-fluid { padding-inline: 16px; }
    header.club-header .navbar-brand img.club-logo { width: min(64vw, 220px); }
}
@media (prefers-reduced-motion: reduce) { .club-mobile-menu[open] { animation: none; } }
.club-menu-note .club-menu-note-name { display: inline-flex; align-items: center; gap: 6px; margin: 0; font-size: 15px; font-weight: 600; line-height: 1.9; }
.club-menu-note-name img { width: 22px; height: auto; transform: rotate(-8deg); }
/* "go" marks: nav rows get a chevron in a blue circle; the two buttons keep a plain chevron */
.club-menu-chev { display: inline-block; color: #237da3; font-size: 14px; line-height: 1; }
.club-menu-chev::before { -webkit-text-stroke: .5px currentColor; } /* slightly bolder chevron */
.club-menu-links .club-menu-chev {
    display: inline-grid; place-items: center;
    width: 24px; height: 24px; border-radius: 50%;
    background: #0098dc url("../images/bg-noise.png?v=2") 0 0 / 160px 160px repeat; color: #fff; /* white beats ".club-menu-links i" (blue); same grain as the buttons */
    font-size: 11px;
}
.club-menu-cta .club-menu-chev { color: #fff; }
.club-menu-cta > span, .club-menu-phone > span, .club-menu-arrow { display: inline-flex; }
