/* Shared floating navigation, used by the touch homepage and internal pages. */
body.rdm-mobile-ui {
 --mh-menu-background:linear-gradient(155deg,#2b4a3a,#19392d 75%);
 --mh-menu-border:#c9d7b936; --mh-menu-shadow:0 8px 28px #142c2d30,inset 0 1px #fffef50a;
 --mh-line:#2846382b; --mh-admin:0px; --mh-gutter:clamp(20px,5.4vw,36px);
}
.rdm-mobile-ui :is(.mh-header,.mh-bottom-nav,.mh-dialog),
.rdm-mobile-ui :is(.mh-header,.mh-bottom-nav,.mh-dialog) * { box-sizing:border-box; }
.rdm-mobile-ui :is(.mh-header,.mh-bottom-nav,.mh-dialog) { font-family:var(--rdm-font-family-base,sans-serif); }
.rdm-mobile-ui :is(.mh-header,.mh-bottom-nav,.mh-dialog) a { color:inherit; text-decoration:none; -webkit-tap-highlight-color:transparent; }
.mh-dialog { font-size:16px; line-height:1.6; }
.mh-dialog :is(p,ul) { margin:0; }
.mh-dialog ul { padding:0; list-style:none; }
.mh-dialog :is(button,select) { font:inherit; cursor:pointer; }
.mh-dialog h2 { font:600 30px/1.15 var(--rdm-font-family-base,sans-serif); letter-spacing:-.04em; }
.mh-dialog .mh-eyebrow { display:flex; align-items:center; gap:8px; font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.mh-dialog .mh-desktop-link { display:flex; align-items:center; justify-content:space-between; min-height:48px; font-size:13px; }
.rdm-mobile-ui .mh-dialog :is(a,button,select):focus-visible { outline:3px solid #aa8750; outline-offset:3px; }
.mh-header {
    position: sticky; top: calc(12px + var(--mh-admin) + env(safe-area-inset-top)); z-index: 30;
    width: calc(100% - 24px); max-width: 560px; min-height: 72px; margin: 0 auto; padding: 10px 12px;
    display: flex; align-items: center; justify-content: space-between; gap: 8px;
    border: 1px solid var(--mh-menu-border); border-radius: 28px;
    color: #f6f1dc; background: var(--mh-menu-background); box-shadow: var(--mh-menu-shadow);
}
.mh-brand { display: flex; flex: 1 1 auto; min-width: 0; align-items: center; gap: 9px; min-height: 48px; }
.mh-brand img { flex: 0 0 38px; width: 38px; height: 38px; object-fit: contain; }
.mh-brand > span { min-width: 0; font-size: 14px; letter-spacing: -.025em; line-height: 1.2; }
.mh-brand b { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 500; }
.mh-brand small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-top: 5px; font-size: 8px; letter-spacing: .04em; text-transform: uppercase; color: #c4d0bd; }
.mh-icon-button { display: inline-flex; flex: 0 0 48px; width: 48px; height: 48px; min-width: 48px; min-height: 48px; padding: 0; border: 1px solid var(--mh-line); border-radius: 50%; align-items: center; justify-content: center; background: transparent; color: inherit; }
.rdm-mobile-ui .mh-header > .mh-icon-button {
    flex: 0 0 44px; width: 44px; height: 44px; min-width: 44px; min-height: 44px; border-radius: 16px;
    color: #284638; border-color: #f5ecc8; background: linear-gradient(145deg,#f5edcf,#d9dfb5);
    box-shadow: 0 0 16px #e2d59b24, inset 0 1px #fffef5b3;
}
.mh-header .mh-nav-icon { width: 32px; height: 32px; }
.mh-header .mh-nav-icon svg { width: 22px; height: 22px; }
.rdm-mobile-ui .mh-header .lml-mobile--rdm-header .lml-current {
    width: 44px; height: 44px; min-height: 44px; padding: 5px; gap: 4px;
    color: #e8e6cf; background: #fffef50a; border-color: #d9e2c936; border-radius: 16px;
}
.rdm-mobile-ui .mh-header .lml-current img { width: 20px; }
.rdm-mobile-ui .mh-header .lml-dropdown > .lml-switcher { background: #f9f8f0; color: #284638; border-color: #28463826; box-shadow: 0 10px 28px #142c2d24; }
.rdm-mobile-ui .mh-header .lml-language:is(:hover,[aria-current]) { background: #e6ebda; border-color: #28463826; }
.rdm-mobile-ui .mh-header :is(a,summary):focus-visible { outline: 2px solid #e8d59c; outline-offset: 3px; }

.mh-button { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 15px 20px; min-height: 56px; width: 100%; border: 1px solid transparent; border-radius: 99px; font-weight: 600; font-size: 15px; line-height: 1.4; text-align: center; }
.mh-button > :last-child { margin-left: auto; }
.mh-button--primary { background: var(--rdm-color-primary); color: var(--rdm-color-background) !important; }
.mh-button--light { background: var(--rdm-color-surface); color: var(--rdm-color-primary) !important; }
.mh-button--outline { border-color: var(--mh-line); background: transparent; }

/* Floating dock: solid surfaces and static glows avoid a full-width live blur. */
.mh-bottom-nav {
    position: fixed; z-index: 40; left: 50%; bottom: calc(12px + env(safe-area-inset-bottom));
    transform: translateX(-50%); display: grid; grid-auto-flow: column;
    grid-auto-columns: minmax(0,1fr); align-items: center; gap: 2px;
    width: calc(100% - 24px); max-width: 560px; padding: 7px 8px;
    border: 1px solid var(--mh-menu-border); border-radius: 28px;
    background: var(--mh-menu-background); box-shadow: var(--mh-menu-shadow);
}
.rdm-mobile-ui .mh-bottom-nav a {
    position: relative; min-height: 61px; min-width: 44px; padding: 2px 0;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 3px; border-radius: 19px; color: #bdcbbf; line-height: 1.2;
    transition: color .2s ease, background-color .2s ease;
}
.mh-nav-label { font-size: 10px; font-weight: 500; letter-spacing: .01em; }
.mh-nav-icon { position: relative; display: grid; place-items: center; width: 40px; height: 36px; border-radius: 14px; }
.mh-nav-icon svg { position: relative; width: 24px; height: 24px; }
.mh-nav-icon::before {
    content: ''; position: absolute; inset: 1px; border-radius: inherit; opacity: 0;
    background: radial-gradient(ellipse at center,#e2d59b24,#e2d59b08 65%,transparent 75%);
    box-shadow: 0 0 14px #e2d59b14;
    transition: opacity .2s ease;
}
.rdm-mobile-ui .mh-bottom-nav a:is([aria-current="location"],[aria-expanded="true"]) { color: #f1e0a9; }
.mh-bottom-nav a:is([aria-current="location"],[aria-expanded="true"]) .mh-nav-icon::before { opacity: 1; }
.mh-bottom-nav a:is([aria-current="location"],[aria-expanded="true"]) .mh-nav-icon svg { filter: drop-shadow(0 0 4px #e3d49c80); }
.mh-bottom-nav a[aria-current="location"] .mh-nav-label { font-weight: 600; }
.rdm-mobile-ui .mh-bottom-nav .mh-bottom-book { color: #f2ead3; }
.mh-bottom-book .mh-nav-icon {
    height: 38px; color: #284638; border: 1px solid #f5ecc8;
    background: linear-gradient(145deg,#f5edcf,#d9dfb5);
    box-shadow: 0 0 16px #e2d59b24, inset 0 1px #fffef5b3;
}
.mh-bottom-book .mh-nav-label { font-weight: 600; }
.rdm-mobile-ui .mh-bottom-nav a:focus-visible { outline: 2px solid #e8d59c; outline-offset: 1px; }
@media (hover:hover) {
    .rdm-mobile-ui .mh-bottom-nav a:hover { color: #fff6d7; background: #fffef509; }
}
/* Both menus enter together after the preloader, including reduced-motion mode by design. */
html.rdm-preloader-active :is(.mh-header,.mh-bottom-nav) { visibility: hidden; opacity: 0; pointer-events: none; }
.mh-header.is-ready { animation: mh-header-arrive 1.1s cubic-bezier(.22,.75,.25,1) .22s both; }
.mh-bottom-nav.is-ready { animation: mh-nav-arrive 1.1s cubic-bezier(.22,.75,.25,1) .22s both; }
@keyframes mh-header-arrive {
    from { opacity: 0; transform: translateY(calc(-100% - 24px - var(--mh-admin) - env(safe-area-inset-top))); }
    72% { opacity: 1; transform: translateY(3px); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes mh-nav-arrive {
    from { opacity: 0; transform: translate(-50%,calc(100% + 24px + env(safe-area-inset-bottom))); }
    72% { opacity: 1; transform: translate(-50%,-3px); }
    to { opacity: 1; transform: translate(-50%,0); }
}
.mh-dialog { border: 0; margin: auto auto 0; width: 100%; max-width: 700px; max-height: calc(100dvh - 20px - env(safe-area-inset-top)); padding: 24px var(--mh-gutter) calc(28px + env(safe-area-inset-bottom)); border-radius: 28px 28px 0 0; background: var(--rdm-color-background); color: var(--rdm-color-text); overscroll-behavior: contain; }
.mh-dialog::backdrop { background: #102e2499; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.mh-dialog:not([open]) { display: none; }
.mh-dialog[open] { animation: mh-sheet-in .25s ease-out both; }
.mh-dialog-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.mh-dialog-top > p { font-weight: 600; font-size: 16px; }
.mh-menu-dialog nav a { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--mh-line); }
.mh-menu-dialog .mh-desktop-link { border: 0; margin-top: 16px; }
.rdm-mobile-ui .mh-book-dialog h2 { margin: 12px 0 16px; font-size: 30px; line-height: 1.15; }
.mh-book-dialog > p { color: var(--rdm-color-muted); font-size: 15px; }
.mh-book-dialog label { display: block; margin: 26px 0 10px; font-size: 13px; font-weight: 600; }
.mh-book-dialog select { width: 100%; min-height: 56px; padding: 12px; font-size: 16px; border: 1px solid var(--mh-line); border-radius: 12px; background: var(--rdm-color-surface); }
.mh-book-dialog .mh-sheet-note { font-size: 12px; margin: 16px 0 24px; }

.mh-modal-open { overflow: hidden; }
.rdm-mobile-ui.admin-bar { --mh-admin: 32px; }
@keyframes mh-sheet-in { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width:782px) { .rdm-mobile-ui.admin-bar { --mh-admin: 46px; } .rdm-mobile-ui #wpadminbar { position: fixed; } }

@media (max-width:359px) {
    .mh-header { padding-inline: 10px; }
    .mh-brand { gap: 7px; }
    .mh-brand img { width: 34px; height: 34px; flex-basis: 34px; }
    .mh-brand > span { font-size: 13px; }
    .mh-brand small { font-size: 7px; }
}

@media (prefers-reduced-motion:reduce) {
 .mh-dialog[open] { animation:none; }
 .rdm-mobile-ui .mh-bottom-nav a,.mh-nav-icon::before { transition:none; }
}
@media print { .mh-header,.mh-bottom-nav,.mh-dialog,.mh-inner-header { display:none !important; } }
