body .site-header,
        body .site-header-wrap,
        body .site-main-header-wrap,
        body .site-mobile-header-wrap,
        body .mobile-header,
        body #masthead {
            display: none !important;
        }

        html,
        body,
        body * {
            -webkit-tap-highlight-color: transparent !important;
        }

        .geom-global-header,
        .geom-global-header * {
            box-sizing: border-box;
        }

        /* 메인 페이지/Kadence가 만드는 상단 빈 여백 제거 */
        body.home,
        body.home .site,
        body.home .site-main,
        body.home .site-content,
        body.home .content-area,
        body.home .content-container,
        body.home .site-container,
        body.home .content-wrap,
        body.home .entry-content,
        body.home .entry-content-wrap {
            margin-top: 0 !important;
            padding-top: 0 !important;
        }

        body.home .site-main,
        body.home .content-area,
        body.home .entry-content,
        body.home .entry-content-wrap {
            margin-bottom: 0 !important;
        }

        .geom-global-header {
            position: sticky;
            top: 0;
            z-index: 99999;
            width: 100%;
            background: rgba(255, 253, 248, .96);
            border-bottom: 1px solid rgba(74, 87, 66, .12);
            box-shadow: 0 8px 28px rgba(59, 67, 52, .06);
            backdrop-filter: blur(14px);
            -webkit-backdrop-filter: blur(14px);
        }

        body.admin-bar .geom-global-header {
            top: 32px;
        }

        .geom-global-header-inner {
            width: min(1240px, calc(100% - 40px));
            min-height: 76px;
            margin: 0 auto;
            display: flex;
            align-items: center;
            gap: 26px;
        }

        .geom-global-brand {
            display: inline-flex;
            align-items: center;
            gap: 12px;
            flex: 0 0 auto;
            color: #34402f !important;
            text-decoration: none !important;
        }

        .geom-global-brand-name strong {
            display: block;
            color: #34402f;
            font-size: 20px;
            line-height: 1.1;
            letter-spacing: -.03em;
        }

        .geom-global-brand-name small {
            display: block;
            margin-top: 5px;
            color: #88917f;
            font-size: 10px;
            letter-spacing: .12em;
        }

        .geom-global-business {
            opacity: 1;
            transition: background .2s ease, color .2s ease, border-color .2s ease;
            width: 124px;
            min-width: 124px;
            height: 36px;
            padding: 0 12px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 7px;
            border: 1px solid rgba(75, 91, 67, .18);
            border-radius: 999px;
            background: #f4f1e9;
            color: #596154;
            font-size: 12px;
            font-weight: 800;
            line-height: 1;
            white-space: nowrap;
        }

        .geom-global-business.is-ready { opacity: 1; }

        .geom-global-business-dot {
            width: 8px;
            height: 8px;
            flex: 0 0 8px;
            border-radius: 50%;
            background: #9aa095;
            box-shadow: 0 0 0 4px rgba(154, 160, 149, .12);
        }

        .geom-global-business.is-open {
            background: #f8e8e8;
            color: #8f252d;
            border-color: rgba(143, 37, 45, .28);
        }

        .geom-global-business.is-open .geom-global-business-dot {
            background: #b83a43;
            box-shadow:
                0 0 0 4px rgba(184, 58, 67, .17),
                0 0 14px rgba(184, 58, 67, .62);
            animation: geomGlobalPulse 1.55s ease-in-out infinite;
        }

        .geom-global-business.is-closed {
            background: #eeeeec;
            color: #777a76;
            border-color: rgba(100, 104, 98, .18);
        }

        .geom-global-business.is-closed .geom-global-business-dot {
            background: #9a9d98;
            box-shadow: none;
            animation: none;
        }

        .geom-global-business.is-holiday {
            background: #eaf2e6;
            color: #4f6746;
            border-color: rgba(79, 103, 70, .22);
        }

        .geom-global-business.is-holiday .geom-global-business-dot {
            background: #6f925f;
            box-shadow: none;
            animation: none;
        }

        .geom-global-business.is-preparing {
            background: #eaf1f7;
            color: #54718a;
            border-color: rgba(84, 113, 138, .20);
        }

        .geom-global-business.is-preparing .geom-global-business-dot {
            background: #7898b3;
            box-shadow: 0 0 0 4px rgba(120, 152, 179, .10);
            animation: none;
        }

        .geom-global-business.is-meal {
            background: #fff1dc;
            color: #9a642d;
            border-color: rgba(154, 100, 45, .22);
        }

        .geom-global-business.is-meal .geom-global-business-dot {
            background: #d5964f;
            box-shadow: 0 0 0 4px rgba(213, 150, 79, .12);
            animation: none;
        }

        .geom-global-business.is-away {
            background: #eeeaf6;
            color: #695b83;
            border-color: rgba(105, 91, 131, .22);
        }

        .geom-global-business.is-away .geom-global-business-dot {
            background: #8a79a8;
            box-shadow: 0 0 0 4px rgba(138, 121, 168, .11);
            animation: none;
        }

        @keyframes geomGlobalPulse {
            0%, 100% {
                opacity: .72;
                transform: scale(.92);
            }
            50% {
                opacity: 1;
                transform: scale(1.08);
            }
        }

        /* -------------------------
           메인 메뉴
        ------------------------- */

        .geom-global-nav {
            margin-left: auto;
            display: flex;
            align-items: center;
            justify-content: flex-end;
            gap: 4px;
            flex-wrap: nowrap;
        }

        .geom-global-nav > a,
        .geom-menu-parent {
            min-height: 38px;
            padding: 9px 11px;
            border: 0;
            border-radius: 999px;
            background: transparent;
            color: #4e5748 !important;
            font-family: inherit;
            font-size: 14px;
            font-weight: 700;
            line-height: 1;
            text-decoration: none !important;
            white-space: nowrap;
            cursor: pointer;
            transition: .2s ease;
        }

        .geom-global-nav > a {
            display: inline-flex;
            align-items: center;
        }

        .geom-menu-parent {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 4px;
        }

        .geom-global-nav > a:hover,
        .geom-menu-parent:hover,
        .geom-menu-parent:focus,
        .geom-menu-parent:active,
        .geom-menu-group.is-open > .geom-menu-parent {
            background: #f5ddcf !important;
            color: #59463d !important;
            border-color: transparent !important;
            box-shadow: none !important;
        }

        /* 테마 기본 버튼의 파란 focus/active 색상 차단 */
        .geom-menu-parent,
        .geom-menu-parent:visited {
            background-color: transparent;
            color: #4e5748 !important;
        }

        .geom-menu-group.is-current-group > .geom-menu-parent,
        .geom-menu-group.is-current-group > .geom-menu-parent:hover,
        .geom-menu-group.is-current-group > .geom-menu-parent:focus,
        .geom-menu-group.is-current-group > .geom-menu-parent:active {
            background: #59654e !important;
            color: #fff !important;
        }

        .geom-global-nav > a.is-current,
        .geom-menu-group.is-current-group > .geom-menu-parent {
            background: #59654e !important;
            color: #fff !important;
            box-shadow: 0 7px 18px rgba(64, 76, 56, .16);
        }

        .geom-menu-arrow {
            font-size: 12.5px;
            line-height: 1;
            transition: transform .2s ease;
        }

        .geom-menu-group.is-open .geom-menu-arrow {
            transform: rotate(180deg);
        }

        /* -------------------------
           드롭다운
        ------------------------- */

        .geom-menu-group {
            position: relative;
            display: inline-flex;
            align-items: center;
        }

        /* 버튼과 하위메뉴 사이에서 마우스가 끊기지 않도록 투명 연결영역 */
        .geom-menu-group::after {
            content: "";
            position: absolute;
            left: -6px;
            right: -6px;
            top: 100%;
            height: 14px;
            pointer-events: auto;
        }

        .geom-submenu {
            position: absolute;
            top: calc(100% + 4px);
            left: 50%;
            z-index: 100002;
            min-width: 180px;
            padding: 8px;
            border: 1px solid rgba(74, 87, 66, .12);
            border-radius: 18px;
            background: rgba(255, 253, 248, .99);
            box-shadow: 0 16px 34px rgba(52, 60, 47, .13);
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transform: translate(-50%, 0);
            transition: opacity .12s ease;
        }

        .geom-menu-group:hover > .geom-submenu,
        .geom-menu-group:focus-within > .geom-submenu,
        .geom-menu-group.is-open > .geom-submenu {
            opacity: 1;
            visibility: visible;
            pointer-events: auto;
            transform: translate(-50%, 0);
        }

        .geom-submenu a {
            display: flex;
            align-items: center;
            min-height: 40px;
            padding: 10px 13px;
            border-radius: 12px;
            color: #4e5748 !important;
            font-size: 13px;
            font-weight: 700;
            line-height: 1.35;
            text-decoration: none !important;
            white-space: nowrap;
            transition: .18s ease;
        }

        .geom-submenu a:hover,
        .geom-submenu a:focus,
        .geom-submenu a.is-current {
            background: #f3e5e3;
            color: #6f1820 !important;
        }


        /* =====================================================
           데스크톱 드롭다운은 CSS hover만 사용
           JS와 hover가 서로 싸우지 않도록 분리
        ===================================================== */
        @media (min-width: 821px) and (hover: hover) and (pointer: fine) {
            .geom-menu-group:hover > .geom-submenu,
            .geom-menu-group:focus-within > .geom-submenu {
                opacity: 1;
                visibility: visible;
                pointer-events: auto;
                transform: translate(-50%, 0);
            }

            .geom-menu-group:hover > .geom-menu-parent,
            .geom-menu-group:focus-within > .geom-menu-parent {
                background: #f5ddcf !important;
                color: #59463d !important;
                box-shadow: none !important;
            }

            .geom-menu-group.is-current-group:hover > .geom-menu-parent,
            .geom-menu-group.is-current-group:focus-within > .geom-menu-parent {
                background: #59654e !important;
                color: #fff !important;
            }
        }

        /* -------------------------
           모바일 메뉴 버튼
        ------------------------- */

        .geom-global-menu-toggle {
            display: none;
            position: relative;
            isolation: isolate;
            margin-left: auto;
            width: 40px;
            height: 40px;
            padding: 0;
            border: 1px solid rgba(255, 255, 255, .46);
            border-radius: 50%;
            background: linear-gradient(180deg, #9f2f35 0%, #7f1f27 100%);
            color: #fff;
            cursor: pointer;
            align-items: center;
            justify-content: center;
            flex-direction: column;
            gap: 4px;
            line-height: 1;
            box-shadow:
                0 7px 18px rgba(91, 25, 31, .24),
                inset 0 1px 0 rgba(255, 255, 255, .22);
            appearance: none;
            -webkit-appearance: none;
            overflow: hidden;
        }

        .geom-global-menu-toggle span {
            display: block;
            width: 17px;
            height: 2px;
            margin: 0;
            border-radius: 999px;
            background: #ffffff;
            pointer-events: none;
        }

        .geom-global-header a:focus,
        .geom-global-header button:focus {
            outline: none !important;
        }

        .geom-global-header a:focus-visible,
        .geom-global-header button:focus-visible {
            outline: 2px solid rgba(232, 145, 116, .72) !important;
            outline-offset: 3px;
        }

        @media (max-width: 1050px) {
            .geom-global-header-inner {
                gap: 14px;
            }

            .geom-global-nav > a,
            .geom-menu-parent {
                padding: 9px 8px;
                font-size: 12px;
            }
        }

        @media (max-width: 820px) {
            body.admin-bar .geom-global-header {
                top: 46px;
            }

            .geom-global-header-inner {
                width: min(100%, calc(100% - 22px));
                min-height: 64px;
                gap: 9px;
            }

            .geom-global-business {
                width: auto;
                min-width: 0;
                height: 32px;
                padding: 0 9px;
                font-size: 10.5px;
            }

            .geom-global-brand {
                gap: 9px;
            }

            .geom-global-brand-name strong {
                font-size: 18px;
            }

            .geom-global-brand-name small {
                display: none;
            }

            .geom-global-menu-toggle {
                display: inline-flex;
                width: 42px;
                height: 42px;
                flex: 0 0 42px;
            }

            /*
             * 모바일: 화면 전체 폭이 아니라
             * 우측 상단에 뜨는 컴팩트 메뉴 패널
             */
            .geom-global-nav {
                position: absolute;
                top: 58px;
                right: 10px;
                left: auto;
                width: min(285px, calc(100vw - 78px));
                display: none;
                margin: 0;
                padding: 8px;
                grid-template-columns: 1fr;
                gap: 5px;
                max-height: calc(100vh - 86px);
                overflow-y: auto;
                -webkit-overflow-scrolling: touch;
                background: rgba(255,253,248,.995);
                border: 1px solid rgba(74,87,66,.12);
                border-radius: 18px;
                box-shadow: 0 18px 48px rgba(52,60,47,.16);
            }

            .geom-global-nav.is-open {
                display: grid;
            }

            .geom-global-nav > a,
            .geom-menu-group {
                width: 100%;
            }

            .geom-global-nav > a,
            .geom-menu-parent {
                width: 100%;
                min-height: 42px;
                padding: 10px 12px;
                border: 0;
                border-radius: 11px;
                background: #f6f2e9;
                color: #4e5748 !important;
                text-align: left;
                font-size: 13px;
                font-weight: 700;
                justify-content: space-between;
                box-shadow: none !important;
                transform: none !important;
            }

            .geom-global-nav > a {
                display: flex;
                align-items: center;
            }

            .geom-global-nav > a:hover,
            .geom-global-nav > a:focus,
            .geom-menu-parent:hover,
            .geom-menu-parent:focus,
            .geom-menu-parent:active,
            .geom-menu-group.is-open > .geom-menu-parent {
                background: #efe9df !important;
                color: #4e5748 !important;
                box-shadow: none !important;
            }

            /* 모바일에서는 현재 선택 메뉴를 별도 색상으로 남기지 않음 */
            .geom-global-nav > a.is-current,
            .geom-menu-group.is-current-group > .geom-menu-parent {
                background: #f6f2e9 !important;
                color: #4e5748 !important;
            }

            .geom-menu-group {
                position: relative;
                display: block;
            }

            .geom-menu-group::after {
                display: none;
            }

            .geom-menu-arrow {
                margin-left: auto;
                font-size: 13px;
            }

            /*
             * 모바일 하위 메뉴:
             * 떠 있는 박스 금지, 부모 바로 아래의 작은 리스트
             */
            .geom-submenu {
                position: static !important;
                top: auto !important;
                left: auto !important;
                right: auto !important;
                width: 100% !important;
                min-width: 0 !important;
                margin: 4px 0 2px !important;
                padding: 4px !important;
                border: 0 !important;
                border-radius: 10px !important;
                background: #fffaf4 !important;
                box-shadow: none !important;

                display: none !important;
                opacity: 1 !important;
                visibility: visible !important;
                pointer-events: auto !important;
                transform: none !important;
                transition: none !important;
            }

            .geom-menu-group:hover > .geom-submenu,
            .geom-menu-group:focus-within > .geom-submenu {
                display: none !important;
            }

            .geom-menu-group.is-open > .geom-submenu {
                display: block !important;
            }

            .geom-submenu a {
                display: flex;
                align-items: center;
                min-height: 36px;
                padding: 8px 10px 8px 18px;
                border-radius: 8px;
                background: transparent;
                color: #5d6558 !important;
                font-size: 12.5px;
                font-weight: 700;
                text-align: left;
                white-space: normal;
            }

            .geom-submenu a::before {
                content: "·";
                margin-right: 8px;
                color: #b39e8f;
                font-size: 16px;
                line-height: 1;
            }

            .geom-submenu a:hover,
            .geom-submenu a:focus,
            .geom-submenu a.is-current {
                background: #f6ece4 !important;
                color: #6f1820 !important;
            }
        }

