/**
 * mobile-nav.css — 국내 모바일 하단 고정바(새 디자인) 2026-08-06
 *
 * 원본: Elementor 테스트 푸터 36042 / HTML 위젯 54cd4d74 의 인라인 <style> 을 이식.
 * 이식하며 바꾼 것은 아래 4개뿐이며, 각각 실측 근거가 있다(그 외 선언은 원본 그대로).
 *
 *   ① breakpoint 767px → 1024px
 *      구형 바(.mw-safe.mobile-widget)가 `@media (max-width:1024px)` 로 노출된다.
 *      767 로 두면 768~1024px(태블릿)에서 하단바가 통째로 사라지는 회귀가 난다.
 *   ② z-index 2147483000 → 999
 *      같은 페이지의 공지 팝업 .evers-popup-overlay=99999, 검색 오버레이 #mob-search-overlay=999999.
 *      2147483000 이면 팝업 **위로** 올라와 오버레이를 가린다. 999 = 구형 바의 검증된 층위.
 *   ③ 이벤트 orb 이미지 경로 (마크업의 <img src> — evt-mobile-nav.php 가 출력)
 *      원본은 `https://incheon.drevers.com/test/mo_nav/3d_btn.webp` 절대 URL 이었다.
 *      37개 지점이 인천 호스트를 핫링크하고, /test/ 는 임시 경로다.
 *      → assets/img/mo-nav-event-orb.webp 로 이관 + **호스트 상대 경로**로 참조한다.
 *   ④ 구형 바 숨김 + 위로가기 버튼 좌표 보정(파일 하단)
 *
 * ★ safe-area 주의: 테마 viewport 메타에 `viewport-fit=cover` 가 없다(실측).
 *   따라서 env(safe-area-inset-bottom)=0 이고, iOS 는 홈 인디케이터 위쪽까지만 뷰포트를 잡는다
 *   → bottom:0 고정바가 인디케이터와 겹치지 않는다. cover 를 켜면 오히려 직접 인셋을 처리해야 한다.
 *   env() 선언은 장래 cover 도입 대비로 남겨둔다(현재 값 0, 무해).
 *
 * ★ 이 파일은 evt-mobile-nav.php 가 **국내에서만** enqueue 한다.
 *   해외(언어 호스트)는 별도 푸터 35522 의 복제 .mobile-widget 마크업을
 *   overseas-widget-inject.js 가 쓰므로, 아래 구형 바 숨김 규칙이 해외에 새면 안 된다.
 *   → 테마 style.css 등 전역 파일에 절대 옮기지 말 것.
 */

.evt-monav {
    --sywp-point: #009191;
    --sywp-point-dark: #006f70;
    --sywp-icon: #424242;
    --sywp-line: rgba(24, 31, 40, 0.08);
    --sywp-white: #ffffff;
    --sywp-glass: rgba(255, 255, 255, 0.68);
    --sywp-glass-strong: rgba(255, 255, 255, 0.82);
    --sywp-glass-border: rgba(255, 255, 255, 0.62);
    --sywp-safe-bottom: env(safe-area-inset-bottom, 0px);
    --sywp-disabled: #b3b8bd;
    display: none;
}

@media screen and (max-width: 1024px) {
    .evt-monav,
    .evt-monav *,
    .evt-monav *::before,
    .evt-monav *::after {
        box-sizing: border-box;
    }

    .evt-monav {
        display: block;
        margin: 0 !important;
        padding: 0 !important;
        font-family: Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", sans-serif;
        font-size: 16px;
        line-height: 1;
    }

    .sywp-mobile-nav-spacer {
        display: block;
        width: 100%;
        height: calc(74px + var(--sywp-safe-bottom));
        margin: 0;
        padding: 0;
        pointer-events: none;
    }

    .sywp-mobile-nav {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 999; /* ② 구형 바와 동일 층위 */
        display: block;
        width: 100%;
        margin: 0 !important;
        padding: 0 !important;
        color: var(--sywp-icon);
        font: inherit;
        line-height: 1;
        overflow: visible;
    }

    .sywp-nav-list {
        position: relative;
        isolation: isolate;
        overflow: visible !important;
        display: grid !important;
        /* ★가변 칸수 — PHP 가 --evt-monav-n(칸 수)을 인라인으로 넘긴다.
           고정 5칸이면 항목 삭제/추가가 관리화면에서 반영되지 않는다. */
        grid-template-columns: repeat(var(--evt-monav-n, 5), 1fr);
        align-items: end;
        width: 100%;
        min-height: calc(70px + var(--sywp-safe-bottom));
        margin: 0 !important;
        padding: 11px 8px calc(18px + var(--sywp-safe-bottom)) !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0;
        box-shadow: none !important;
        list-style: none;
    }

    .sywp-nav-surface {
        position: absolute;
        inset: 0;
        z-index: -1;
        display: block;
        width: 100%;
        height: 100%;
        pointer-events: none;
        background:
            linear-gradient(
                180deg,
                rgb(238 247 247 / 80%) 0%,
                rgba(255, 255, 255, 0.62) 30%,
                rgba(255, 255, 255, 0.72) 100%
            );
        backdrop-filter: blur(20px) saturate(180%);
        -webkit-backdrop-filter: blur(20px) saturate(180%);
        -webkit-mask:
            url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='148' height='78'%3E%3Cpath d='M0,0 H20.934 A10,10 0 0,1 30.761,8.148 A44,44 0 0,0 117.239,8.148 A10,10 0 0,1 127.066,0 H148 V78 H0 Z' fill='%23000'/%3E%3C/svg%3E") var(--evt-monav-notch-x) 0 / 148px 78px no-repeat,
            linear-gradient(#000, #000) top left / calc(var(--evt-monav-notch-x) - 60px) 100% no-repeat,
            linear-gradient(#000, #000) top right / calc(100% - var(--evt-monav-notch-x) - 60px) 100% no-repeat;
        mask:
            url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='148' height='78'%3E%3Cpath d='M0,0 H20.934 A10,10 0 0,1 30.761,8.148 A44,44 0 0,0 117.239,8.148 A10,10 0 0,1 127.066,0 H148 V78 H0 Z' fill='%23000'/%3E%3C/svg%3E") var(--evt-monav-notch-x) 0 / 148px 78px no-repeat,
            linear-gradient(#000, #000) top left / calc(var(--evt-monav-notch-x) - 60px) 100% no-repeat,
            linear-gradient(#000, #000) top right / calc(100% - var(--evt-monav-notch-x) - 60px) 100% no-repeat;
        filter: none;
        transform: translateZ(0);
    }

    .sywp-nav-surface-side {
        display: none !important;
    }

    .sywp-nav-notch-wrap {
        position: absolute;
        top: 0;
        left: var(--evt-monav-notch-x);
        z-index: 0;
        display: block;
        width: 148px;
        height: 78px;
        overflow: visible;
        pointer-events: none;
        transform: translateX(-50%);
    }

    .sywp-nav-notch-glass,
    .sywp-nav-notch-fill {
        display: none;
    }

    .sywp-nav-notch {
        display: block;
        width: 148px;
        height: 78px;
        overflow: visible;
    }

    .sywp-nav-notch-outer-shadow {
        fill: none;
        stroke: rgba(18, 28, 38, 0.012);
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round;
        vector-effect: non-scaling-stroke;
        filter:
            drop-shadow(0 -3px 4px rgba(18, 28, 38, 0.13))
            drop-shadow(0 -7px 10px rgba(18, 28, 38, 0.07));
    }

    @supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
        .sywp-nav-surface {
            background: rgba(255, 255, 255, 0.92);
        }
    }

    .sywp-nav-item,
    .sywp-event-item {
        position: relative;
        z-index: 1;
        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: flex-end;
        gap: 4px;
        min-width: 0;
        width: auto !important;
        height: 50px;
        margin: 0 !important;
        padding: 0 6px 7px !important;
        color: var(--sywp-icon) !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        font: inherit !important;
        line-height: 1 !important;
        text-align: center;
        text-decoration: none !important;
        text-transform: none !important;
        cursor: pointer;
        appearance: none;
        -webkit-appearance: none;
        -webkit-tap-highlight-color: transparent;
        touch-action: manipulation;
    }

    .sywp-nav-item:hover,
    .sywp-nav-item:focus,
    .sywp-event-item:hover,
    .sywp-event-item:focus {
        color: var(--sywp-icon) !important;
        background: transparent !important;
        text-decoration: none !important;
    }

    .sywp-nav-item:active {
        color: var(--sywp-point) !important;
        transform: scale(0.95);
    }

    .sywp-nav-icon,
    .sywp-consult-option-icon {
        display: flex;
        flex: 0 0 auto;
        align-items: center;
        justify-content: center;
        width: 23px;
        height: 23px;
        margin: 0;
        padding: 0;
        color: currentColor;
    }

    .sywp-nav-icon svg,
    .sywp-consult-option-icon svg {
        display: block;
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
        overflow: visible;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.7;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .sywp-icon-fill svg {
        fill: currentColor;
        stroke: none;
    }

    .sywp-faq-icon svg {
        fill: currentColor !important;
        stroke: none !important;
        transform: translateY(1px) scale(1.08, 1.02);
    }

    .sywp-nav-label {
        display: block;
        max-width: 100%;
        margin: 0;
        padding: 0;
        overflow: hidden;
        color: currentColor;
        font-size: 12px !important;
        font-weight: 500 !important;
        line-height: 1.1 !important;
        letter-spacing: -0.02em !important;
        text-align: center;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .sywp-event-item {
        color: var(--sywp-point) !important;
        overflow: visible;
    }

    .sywp-event-orb {
        position: absolute;
        top: -52px;
        left: 50%;
        display: block;
        width: 80px;
        height: 80px;
        margin: 0;
        padding: 0;
        color: var(--sywp-white);
        background: transparent;
        border: 0;
        border-radius: 50%;
        box-shadow: none;
        transform: translateX(-50%);
        transition: transform 0.2s ease;
    }

    /* ③ src 는 마크업(evt-mobile-nav.php)이 호스트 상대 경로로 넣는다. 여기선 배치만. */
    .sywp-event-bg {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1;
        display: block;
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
        object-fit: contain;
        border: 0;
        border-radius: 50%;
        pointer-events: none;
        user-select: none;
        -webkit-user-drag: none;
        filter: drop-shadow(0 8px 12px rgba(0, 145, 145, 0.22));
    }

    .sywp-event-content {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 2;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2px;
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 3px 0 0;
        color: var(--sywp-white);
        pointer-events: none;
    }

    .sywp-event-content svg {
        display: block;
        flex: 0 0 auto;
        width: 30px;
        height: 30px;
        margin: 0;
        padding: 0;
        overflow: visible;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.6;
        stroke-linecap: round;
        stroke-linejoin: round;
        filter: drop-shadow(0 1px 2px rgba(0, 74, 78, 0.34));
    }

    .sywp-event-label {
        position: relative;
        z-index: 2;
        display: block;
        margin: 0;
        padding: 0;
        color: var(--sywp-white) !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
        letter-spacing: 0 !important;
        text-align: center;
        white-space: nowrap;
        text-shadow:
            0 1px 2px rgba(0, 55, 58, 0.6),
            0 0 4px rgba(0, 55, 58, 0.3);
    }

    .sywp-event-item:active .sywp-event-orb {
        transform: translateX(-50%) scale(0.92);
    }

    .sywp-consult-popup {
        --glass-bg: rgba(255, 255, 255, .78);
        --glass-border: rgba(255, 255, 255, .68);

        position: absolute;
        bottom: calc(92px + var(--sywp-safe-bottom));
        /* 부모 칸 중앙에서 화살표(왼쪽 32px)만큼 되돌린 위치. --evt-monav-i = 부모 칸 인덱스 */
        left: calc((var(--evt-monav-i, 0) + 0.5) / var(--evt-monav-n, 5) * 100% - 37px);
        z-index: 20;

        display: flex;
        flex-direction: column;
        align-items: center;
        width: auto;
        min-width: 50px;
        margin: 0;
        padding: 7px;

        background: var(--glass-bg);
        border: none;
        border-radius: 18px;

        box-shadow:
            0 12px 30px rgba(18, 28, 38, .14),
            inset 0 1px 0 rgba(255, 255, 255, .64);

        backdrop-filter: blur(18px) saturate(170%);
        -webkit-backdrop-filter: blur(18px) saturate(170%);

        overflow: visible;

        opacity: 0;
        visibility: hidden;
        transform: translateY(12px) scale(.96);
        transform-origin: bottom left;
        transition:
            opacity .18s ease,
            visibility .18s ease,
            transform .18s ease;
    }

    /* 박스 테두리 */
    .sywp-consult-popup::before {
        content: "";
        position: absolute;
        inset: 0;
        border-radius: 18px;
        border: 1px solid var(--glass-border);
        pointer-events: none;

        clip-path: polygon(
            0 0,
            100% 0,
            100% 100%,
            48px 100%,
            48px 42%,
            22px 42%,
            22px 100%,
            0 100%
        );
    }

    /* 화살표 */
    .sywp-consult-popup::after {
        content: "";
        position: absolute;

        left: 32px;
        bottom: -5px;

        width: 10px;
        height: 10px;

        background: var(--glass-bg);

        border-right: 1px solid var(--glass-border);
        border-bottom: 1px solid var(--glass-border);

        transform: rotate(45deg);

        clip-path: polygon(
            100% 0,
            0 100%,
            100% 100%
        );

        backdrop-filter: none;
        -webkit-backdrop-filter: none;

        z-index: -1;
    }

    .sywp-consult-popup.is-open {
        opacity: 1;
        visibility: visible;
        transform: translateY(0) scale(1);
    }

    .sywp-consult-option {
        position: relative;
        z-index: 2;
        display: flex !important;
        align-items: center;
        gap: 4px;
        min-height: 40px;
        margin: 0 !important;
        padding: 6px 8px !important;
        color: #353a40 !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 12px !important;
        box-shadow: none !important;
        font: inherit !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        line-height: 1 !important;
        letter-spacing: -0.03em !important;
        text-decoration: none !important;
        text-transform: none !important;
        white-space: nowrap;
        -webkit-tap-highlight-color: transparent;
    }

    .sywp-consult-option:hover,
    .sywp-consult-option:focus {
        color: #353a40 !important;
        background: transparent !important;
        text-decoration: none !important;
    }

    .sywp-consult-option:active {
        color: var(--sywp-point) !important;
        background: rgba(0, 145, 145, 0.08) !important;
    }

    .sywp-consult-option-icon {
        width: 21px;
        height: 21px;
        color: var(--sywp-point);
    }

    .evt-monav a:focus-visible,
    .evt-monav button:focus-visible {
        outline: 2px solid var(--sywp-point) !important;
        outline-offset: 2px;
    }

    /* ─────────────────────────────────────────────────────────────
       비활성(미등록) 슬롯 — 카톡/네이버 URL 이 DB 에 없는 지점.
       PHP 가 서버에서 판정해 .is-disabled 로 구워 보낸다(클라 판정 아님 → 깜빡임 없음).
       href 자체를 제거하므로 클릭·포커스가 원천 차단되고, 아래는 시각 표현만 담당.
       ───────────────────────────────────────────────────────────── */
    .evt-monav .is-disabled,
    .evt-monav .is-disabled:hover,
    .evt-monav .is-disabled:focus,
    .evt-monav .is-disabled:active {
        color: var(--sywp-disabled) !important;
        pointer-events: none;
        cursor: default;
        transform: none !important;
    }

    .evt-monav .sywp-consult-option.is-disabled .sywp-consult-option-icon {
        color: var(--sywp-disabled) !important;
    }

    .evt-monav .is-disabled .sywp-nav-label,
    .evt-monav .is-disabled span {
        color: var(--sywp-disabled) !important;
    }
}

/* ─────────────────────────────────────────────────────────────────────
   가변 칸수 지원 — 관리화면(/widget-menus)에서 항목을 추가·삭제·정렬하면 그대로 반영된다.
   PHP(evt-mobile-nav.php)가 루트에 인라인으로 넘기는 값:
       --evt-monav-n  : 최상위 칸 수
       --evt-monav-fi : 중앙 강조 칸의 0-based 인덱스 (강조 지정이 있을 때만)
       --evt-monav-i  : (각 팝업에) 그 팝업을 여는 부모 칸의 인덱스
   ───────────────────────────────────────────────────────────────────── */
.evt-monav {
    /* 강조 미지정이면 노치를 쓰지 않는다(아래에서 mask 자체를 해제) */
    --evt-monav-notch-x: 50%;
}
.evt-monav.has-featured {
    --evt-monav-notch-x: calc((var(--evt-monav-fi, 0) + 0.5) / var(--evt-monav-n, 5) * 100%);
}

@media screen and (max-width: 1024px) {
    /* 중앙 강조가 없으면 평평한 글래스 바 — 노치 mask 를 걷어낸다.
       (칸이 짝수일 때 굳이 강조를 두지 않아도 디자인이 성립하게 하는 장치) */
    .evt-monav:not(.has-featured) .sywp-nav-surface {
        -webkit-mask: none;
        mask: none;
    }

    /* ── 아이콘: DB 의 순백 실루엣 PNG 를 CSS filter 로 착색 ──
       새 디자인 배경이 반투명 흰 글래스라 흰 아이콘을 그대로 얹으면 안 보인다.
       DB 의 icon_url 을 하나도 바꾸지 않고 기존 이미지를 그대로 재사용한다.

       ★★ mask 가 아니라 filter 인 이유(2026-08-06 실측):
          mask-image 는 **cross-origin 이미지를 렌더하지 않는다**(픽셀 유출 방지).
          관리화면(event.drevers.com)에서 아이콘(drevers.com)이 전부 빈칸이 됐고,
          아이콘을 다른 호스트에 올리면 홈에서도 같은 식으로 조용히 사라진다.
          filter 는 오리진 제약이 없고 알파도 보존된다.
          brightness(0) = 실루엣을 검게, invert(N) = 밝기 지정. 0.26*255 ≈ 66 = #424242. */
    .evt-monav .evt-monav-icon {
        display: block;
        flex: 0 0 auto;
        width: 23px;
        height: 23px;
        object-fit: contain;
        filter: brightness(0) invert(0.26); /* = --sywp-icon #424242 */
    }

    /* 중앙 돌출 버튼 안의 아이콘 — 흰색, 조금 크게 */
    .evt-monav .sywp-event-icon {
        width: 30px;
        height: 30px;
        filter: brightness(0) invert(1) drop-shadow(0 1px 2px rgba(0, 74, 78, 0.34));
    }

    /* 팝업 옵션 아이콘 — 포인트 컬러(#009191)에 가까운 톤 */
    .evt-monav .sywp-consult-option-icon.evt-monav-icon {
        width: 21px;
        height: 21px;
        filter: brightness(0) invert(48%) sepia(83%) saturate(1200%) hue-rotate(146deg) brightness(92%) contrast(92%);
    }

    /* 비활성 슬롯은 아이콘도 함께 회색 (#b3b8bd 근사) */
    .evt-monav .is-disabled .evt-monav-icon {
        filter: brightness(0) invert(0.73);
    }

    /* 칸이 많아지면 라벨이 좁아진다 — 6칸 이상에서 한 단계 줄여 넘침을 막는다.
       (320px 기준 5칸=칸당 약 64px 가 한계선. overseas-widget-label-length 교훈) */
    .evt-monav .sywp-nav-label {
        font-size: clamp(10px, 3.1vw, 12px) !important;
    }
}

@media screen and (min-width: 1025px) {
    .evt-monav {
        display: none !important;
    }
}

/* ─────────────────────────────────────────────────────────────────────
   구형 바 숨김 + 위로가기 버튼 좌표 보정
   (Elementor 푸터 18459 / HTML 위젯 8f0d93d 는 **무수정**. CSS 로만 덮는다.)

   ★ 위젯 8f0d93d 안에는 세 가지가 함께 들어있다:
       .mobile-widget            ← 구형 하단바   (숨김 대상)
       .mobile-top-btn-wrapper   ← "↑ 위로가기"  (유지 — 좌표만 보정)
       .main-home-top-btn        ← TOP 원형 버튼 (유지 — 좌표만 보정)
     위젯을 통째로 교체했다면 뒤 2개가 같이 사라졌을 것이다. 그래서 숨김만 한다.

   원본 좌표(위젯 인라인 CSS, @media max-width:1024px):
       .mw-safe.mobile-top-btn-wrapper { bottom: 67px }   ← 구형 바 68px 바로 위
       .mw-safe.main-home-top-btn      { bottom: 90px }   ← 그보다 23px 위
   새 바는 79px 이므로 각각 +15px 밀어 간격(23px)을 그대로 보존한다.

   ★★ 셀렉터에 `body` 를 붙인 이유 — 빼면 동작하지 않는다(2026-08-06 실측으로 확인).
      원본 위젯 CSS(old-bar-widget.txt:78)가 이미 이렇게 선언한다:
          @media (max-width:1024px){ .mw-safe.mobile-widget,… { display:flex !important } }
      특이도가 (0,2,0) 로 **동일**하고 양쪽 다 `!important` 다. 그러면 문서 순서가 승부를
      가르는데, 원본은 Elementor HTML 위젯 안의 `<style>` = **<body> 안**이라
      <head> 의 이 파일보다 **뒤**에 온다 → 원본이 이겨서 구형 바가 계속 보였다.
      `body` 하나를 붙여 (0,2,1) 로 특이도를 초과시켜야 순서와 무관하게 이긴다.
      (같은 함정 전례: 메모리 overseas-widget-label-length)
   ───────────────────────────────────────────────────────────────────── */
@media screen and (max-width: 1024px) {
    body .mw-safe.mobile-widget {
        display: none !important;
    }

    body .mw-safe.mobile-top-btn-wrapper {
        bottom: calc(82px + env(safe-area-inset-bottom, 0px)) !important;
    }

    body .mw-safe.main-home-top-btn {
        bottom: calc(105px + env(safe-area-inset-bottom, 0px)) !important;
    }
}

/* ─────────────────────────────────────────────────────────────────────
   이벤트 상세: 하단 고정 예약 바(.floating-total-bar)가 떠 있는 동안 하단바 숨김
   (2026-08-10)

   문제 — 시술을 담으면 예약 바가 하단바 **위에** 겹쳐 뜨는데, 중앙 돌출 오브
   (.sywp-event-orb)의 꼭대기가 바닥에서 약 120px + safe-area 라 예약 바(약 125px)
   보다 위로 튀어나와 **바 뒤로 원이 비쳤다**.
   바를 키우는 것만으로는 못 막는다 — 오브 좌표에는 safe-area-inset 이 더해지고
   예약 바에는 없어서 노치 아이폰에서 다시 삐져나온다. 겹치는 동안 아예 숨긴다.

   ★ 판정을 `[style*="display: none"]` 로 하는 이유 —
     예약 바는 Alpine `x-show` 라 **DOM 에는 항상 있고** 담긴 게 0건이면 인라인
     `display: none` 이 붙는다. 존재만 보면 이벤트 페이지에서 하단바가 영영 사라진다.
   ★ 해외 무영향 — 이 파일은 언어 호스트에서 enqueue 되지 않는다(evt_monav_active 게이트).
   ───────────────────────────────────────────────────────────────────── */
@media screen and (max-width: 1024px) {
    body:has(.floating-total-bar:not([style*="display: none"])) .evt-monav .sywp-mobile-nav {
        display: none !important;
    }

    /* 위로가기 2종도 예약 바(약 125px) 위로 올린다 — 안 올리면 바 뒤에 깔려 못 누른다.
       기존 간격(23px)은 그대로 보존. */
    body:has(.floating-total-bar:not([style*="display: none"])) .mw-safe.mobile-top-btn-wrapper {
        bottom: calc(133px + env(safe-area-inset-bottom, 0px)) !important;
    }

    body:has(.floating-total-bar:not([style*="display: none"])) .mw-safe.main-home-top-btn {
        bottom: calc(156px + env(safe-area-inset-bottom, 0px)) !important;
    }
}
