/**
 * 모바일 앱 틀 홈 탭 두 번째 판(2026-10-01 운영자 「네이버 스타일로」) — inc/main-home-mobile2.php 의 마크업
 * 기록 docs/mobile-app/15-home-naver.md · 레퍼런스 Mobbin NAVER iOS(라이트) — 홈·바로가기·전체서비스
 * 첫 판 부품(참여 중 챌린지·출석·라이브·멤버십)은 css/page-main-v3-mobile.css 를 같이 싣고 여기서 흰 구획으로 감싼다.
 *
 *   회색 바탕(--gray-100) 위에 흰 구획을 8px 틈으로 쌓는다(네이버 홈 피드의 8px 띠) — 구획은 화면 끝까지라 모서리·테두리·그림자가 없다.
 *   상단 바도 홈에서만 같은 회색(☰ · 로고 · 🔔), 검색칸 하나 = 초록 테두리 알약(운영자 9/30 「검색란은 알약 써도 됩니다」).
 *   바로가기 = 초록 선 아이콘 + 이름(네이버 검색칸 밑 아이콘 줄 — 그라디언트 선은 한 색으로). 전체 메뉴 = 왼쪽에서 밀려 들어오는 전체 화면, 묶음별 2열 목록.
 *
 * ⛔ 화면 규칙은 (max-width:1024px) 안, body.omc-on.omc-home2 아래에만(공개 문 안의 홈에만 이 파일이 실린다). PC 홈·다른 화면은 그대로.
 * ⛔ display 를 주는 규칙은 [hidden] 을 이긴다 — 전체 메뉴는 :not([hidden]) 에만 display 를 준다.
 * ⛔ 카드 radius 8px 리터럴 · 버튼 var(--radius-md) · 채움 --brand-action · 아이콘 강조 --brand-accent · 완전 원형은 아바타만(검색칸 알약은 운영자 허락)
 *    그라디언트·blur·!important 없음 · 테두리와 그림자를 겹치지 않는다 · 12px 미만 글자 없음 · 터치 44px.
 */

@media screen and (max-width: 1024px) {
    /* ── 바탕 · 상단 바 ── */
    body.omc-on.omc-home2 .omc-home {
        gap: 8px;
        padding: 0 0 8px;   /* 아래 8px = 뒤따르는 PC 구획과의 띠 */
        background: var(--gray-100);
    }

    body.omc-on.omc-home2 .oppadu-nav {
        background: var(--gray-100);
        border-bottom-color: transparent;
    }

    /* ☰ — 아이콘 선을 글자선에 맞춘다(상세형 ← 와 같은 당김, mobile-chrome.css .omc-back) */
    body.omc-on.omc-home2 .omc-menu-btn {
        flex: 0 0 auto;
        margin-left: calc(-1 * min(10px, var(--nav-px)));
    }

    /* 화면 안 검색칸이 보이는 동안 상단 검색 아이콘을 숨긴다 — 자리는 남겨 벨이 움직이지 않는다. 지나가면(JS omc-pill-out) 보인다 */
    body.omc-on.omc-home2 .oppadu-nav .omc-search-btn {
        visibility: hidden;
        opacity: 0;
    }

    body.omc-on.omc-home2.omc-pill-out .oppadu-nav .omc-search-btn {
        visibility: visible;
        opacity: 1;
    }

    /* 첫 판에서 PC 구획을 모바일로 바꿔 쓰던 무료 강의·쇼츠 줄과 「지금 오빠두에서」 티커는 이 판이 대신한다.
       무료 강의 묶음(이름 없는 div)만 집는다 — 추천 챌린지가 없는 달엔 정규 클래스가 같은 구획 안에 있다(클래스 div 는 mv3-sec-gap) */
    body.omc-on.omc-home2 .mv3 > .mv3-body--challenge-before,
    body.omc-on.omc-home2 .mv3 > .mv3-body:not(.mv3-body--challenge-after) > div:not([class]),
    body.omc-on.omc-home2 .mv3 > .mv3-body .mv3-carousel,
    body.omc-on.omc-home2 .mv3 > .mv3-ticker {
        display: none;
    }

    /* 눌렀을 때 사진이 어두워지는 사이트 공통 효과(style.css .site-content img:hover)를 끈다 — .mv3 밖이라 PC 홈 예외가 안 닿는다 */
    body.omc-on.omc-home2 .omc-home img:hover {
        filter: none;
    }

    /* ── 흰 구획 ── */
    body.omc-on.omc-home2 .omc-home > .omc-home-sec,
    body.omc-on.omc-home2 .omc-home > .omc-home-promo {
        margin: 0;
        padding: 20px 16px;
        border: 0;
        border-radius: 0;
        background: var(--surface-white);
    }

    body.omc-on.omc-home2 .omc-home-h {
        letter-spacing: -0.02em;
    }

    body.omc-on.omc-home2 .omc-h2-more {
        gap: 0;
        margin-right: -6px;
    }

    /* ── ① 검색칸 ── */
    body.omc-on.omc-home2 .omc-h2-search {
        padding: 4px 16px 12px;
    }

    body.omc-on.omc-home2 .omc-h2-search__pill {
        box-sizing: border-box;
        display: flex;
        align-items: center;
        gap: 8px;
        width: 100%;
        height: 52px;
        margin: 0;
        padding: 0 6px 0 20px;
        border: 2px solid var(--brand-action);
        border-radius: 9999px;   /* 운영자 허락(9/30) — 검색칸 알약 */
        background: var(--surface-white);
        color: var(--gray-500);
        font: inherit;
        text-align: left;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }

    body.omc-on.omc-home2 .omc-h2-search__ph {
        flex: 1 1 auto;
        min-width: 0;
        overflow: hidden;
        font-size: 16px;
        line-height: 1.3;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    body.omc-on.omc-home2 .omc-h2-search__ic {
        display: flex;
        flex: 0 0 auto;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        color: var(--brand-accent);
    }

    body.omc-on.omc-home2 .omc-h2-search__ic svg {
        stroke-width: 2.25;
    }

    body.omc-on.omc-home2 .omc-h2-search__pill:focus-visible {
        outline: 2px solid var(--primary);
        outline-offset: 2px;
    }

    /* ── ② ④ 가로 줄(강의·쇼츠) — 화면 끝까지 넘긴다 ── */
    body.omc-on.omc-home2 .omc-h2-row {
        display: flex;
        gap: 10px;
        margin: 0 -16px;
        padding: 0 16px 2px;
        list-style: none;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: 16px;
        scrollbar-width: none;
    }

    body.omc-on.omc-home2 .omc-h2-row::-webkit-scrollbar {
        display: none;
    }

    body.omc-on.omc-home2 .omc-h2-row > li {
        flex: 0 0 min(64%, 300px);
        min-width: 0;
        margin: 0;
        scroll-snap-align: start;
    }

    body.omc-on.omc-home2 .omc-h2-row--shorts > li {
        flex-basis: min(40%, 180px);
    }

    body.omc-on.omc-home2 .omc-h2-lcard,
    body.omc-on.omc-home2 .omc-h2-scard {
        display: flex;
        flex-direction: column;
        color: inherit;
        text-decoration: none;
    }

    body.omc-on.omc-home2 .omc-h2-thumb,
    body.omc-on.omc-home2 .omc-h2-sthumb {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: hidden;
        aspect-ratio: 16 / 9;
        border-radius: 8px;
        background: var(--gray-100);
        color: var(--gray-300);
    }

    body.omc-on.omc-home2 .omc-h2-sthumb {
        aspect-ratio: 9 / 16;
    }

    body.omc-on.omc-home2 .omc-h2-thumb img,
    body.omc-on.omc-home2 .omc-h2-sthumb img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    body.omc-on.omc-home2 .omc-h2-dur,
    body.omc-on.omc-home2 .omc-h2-seen {
        position: absolute;
        bottom: 7px;
        z-index: 2;
        padding: 2px 6px;
        border-radius: 4px;
        background: rgb(24 24 24 / 0.82);
        color: var(--text-white);
        font-size: 12px;
        font-weight: 600;
        line-height: 1.3;
        font-variant-numeric: tabular-nums;
    }

    body.omc-on.omc-home2 .omc-h2-dur {
        right: 7px;
    }

    body.omc-on.omc-home2 .omc-h2-seen {
        left: 7px;
    }

    body.omc-on.omc-home2 .omc-h2-dur--top {
        top: 7px;
        bottom: auto;
    }

    body.omc-on.omc-home2 .omc-h2-lcard__t {
        display: -webkit-box;
        margin-top: 9px;
        overflow: hidden;
        font-size: 15px;
        font-weight: 500;
        line-height: 1.45;
        letter-spacing: -0.02em;
        color: var(--gray-900);
        word-break: keep-all;
        overflow-wrap: anywhere;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
    }

    body.omc-on.omc-home2 .omc-h2-lcard__m {
        margin-top: 4px;
        font-size: 13px;
        color: var(--text-muted);
    }

    /* 쇼츠 — 아래 42% 평평한 어둠 위에 흰 제목·조회수(9/30 R3 과 같은 값 — 흰 바탕 썸네일에서도 흰 글자 5.7:1) */
    body.omc-on.omc-home2 .omc-h2-sthumb::after {
        content: "";
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1;
        height: 42%;
        background: rgb(0 0 0 / 0.62);
    }

    body.omc-on.omc-home2 .omc-h2-scard__tx {
        position: absolute;
        right: 10px;
        bottom: 10px;
        left: 10px;
        z-index: 2;
        display: flex;
        flex-direction: column;
        gap: 4px;
        color: var(--text-white);
    }

    body.omc-on.omc-home2 .omc-h2-scard__t {
        display: -webkit-box;
        overflow: hidden;
        font-size: 13px;
        font-weight: 700;
        line-height: 1.35;
        letter-spacing: -0.02em;
        word-break: keep-all;
        overflow-wrap: anywhere;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
    }

    body.omc-on.omc-home2 .omc-h2-scard__v {
        overflow: hidden;
        font-size: 12px;
        font-weight: 600;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    /* ── ③ 바로가기 — 초록 선 아이콘 + 이름(회색 네모 칸 없음) ── */
    body.omc-on.omc-home2 .omc-home > .omc-h2-short {
        padding-top: 14px;
        padding-bottom: 12px;
    }

    body.omc-on.omc-home2 .omc-home > .omc-h2-short.has-tip {
        padding-top: 40px;   /* 말풍선 자리 */
    }

    body.omc-on.omc-home2 .omc-h2-short__list {
        display: grid;
        grid-template-columns: repeat(var(--omc-short-cols, 4), minmax(0, 1fr));
        gap: 4px 0;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    body.omc-on.omc-home2 .omc-h2-short__list > li {
        min-width: 0;
        margin: 0;
    }

    body.omc-on.omc-home2 .omc-h2-short__item {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 6px;
        min-height: 68px;
        padding: 4px 2px 2px;
        border-radius: var(--radius-md);
        color: var(--text-primary);
        text-decoration: none;
        -webkit-tap-highlight-color: transparent;
    }

    body.omc-on.omc-home2 .omc-h2-short__item:active {
        background: var(--gray-50);
    }

    body.omc-on.omc-home2 .omc-h2-short__ic {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        color: var(--brand-accent);
    }

    body.omc-on.omc-home2 .omc-h2-short__ic svg {
        stroke-width: 2;
    }

    body.omc-on.omc-home2 .omc-h2-short__label {
        max-width: 100%;
        overflow: hidden;
        font-size: 13px;
        font-weight: 500;
        line-height: 1.3;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    /* ── ⑥ 커뮤니티 새 글 — 2열 카드(네이버 홈 피드) ── */
    body.omc-on.omc-home2 .omc-h2-feed {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px 10px;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    body.omc-on.omc-home2 .omc-h2-feed > li {
        min-width: 0;
        margin: 0;
    }

    body.omc-on.omc-home2 .omc-h2-post {
        display: flex;
        flex-direction: column;
        color: inherit;
        text-decoration: none;
    }

    body.omc-on.omc-home2 .omc-h2-post__media {
        position: relative;
        display: flex;
        flex-direction: column;
        gap: 6px;
        overflow: hidden;
        box-sizing: border-box;
        aspect-ratio: 1 / 1;
        padding: 12px;
        border-radius: 8px;
        background: var(--gray-100);
    }

    body.omc-on.omc-home2 .omc-h2-post__img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    /* 사진 없는 글 — 판 위에 게시판·말머리 + 본문 몇 줄(네이버 홈의 글 카드) */
    body.omc-on.omc-home2 .omc-h2-post__chip {
        overflow: hidden;
        font-size: 12px;
        font-weight: 700;
        line-height: 1.3;
        color: var(--primary-700);
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    body.omc-on.omc-home2 .omc-h2-post__ex {
        display: -webkit-box;
        overflow: hidden;
        font-size: 14px;
        line-height: 1.5;
        color: var(--gray-700);
        word-break: keep-all;
        overflow-wrap: anywhere;
        -webkit-line-clamp: 5;
        -webkit-box-orient: vertical;
    }

    /* 정사각 판 안에서 줄 중간이 잘리지 않게 — 머리·본문은 줄어들지 않고, 줄 수를 판 크기에 맞춘다(10/1 검토: 320~375 에서 마지막 줄이 반쯤 잘렸다).
       설문(아래 「N명 참여」 줄) 3줄 = 15.6 + 6 + 63 + 6 + 22 ≈ 113px · 글 4줄(343 이하) ≈ 106px — 320 폭 판 안쪽 115px 에 들어간다 */
    body.omc-on.omc-home2 .omc-h2-post__chip,
    body.omc-on.omc-home2 .omc-h2-post__ex {
        flex-shrink: 0;
    }

    body.omc-on.omc-home2 .omc-h2-post__ex--poll {
        -webkit-line-clamp: 3;
    }

    body.omc-on.omc-home2 .omc-h2-post__poll {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        margin-top: auto;
        font-size: 12px;
        font-weight: 600;
        color: var(--gray-600);
    }

    body.omc-on.omc-home2 .omc-h2-post__t {
        display: -webkit-box;
        margin-top: 8px;
        overflow: hidden;
        font-size: 15px;
        font-weight: 500;
        line-height: 1.45;
        letter-spacing: -0.02em;
        color: var(--gray-900);
        word-break: keep-all;
        overflow-wrap: anywhere;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
    }

    body.omc-on.omc-home2 .omc-h2-post__m {
        display: flex;
        align-items: center;
        gap: 4px;
        min-width: 0;
        margin-top: 6px;
        font-size: 12px;
        line-height: 1.3;
        color: var(--text-muted);
        white-space: nowrap;
    }

    /* 글쓴이 — 이니셜 판 위에 사진(사진이 깨지면 onerror 로 지워져 이니셜이 보인다). 아바타라 원형 */
    body.omc-on.omc-home2 .omc-h2-post__av {
        position: relative;
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        justify-content: center;
        width: 20px;
        height: 20px;
        overflow: hidden;
        border-radius: 9999px;
        font-size: 12px;
        font-weight: 700;
        line-height: 1;
    }

    body.omc-on.omc-home2 .omc-h2-post__av img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    body.omc-on.omc-home2 .omc-h2-post__by {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    body.omc-on.omc-home2 .omc-h2-post__dot,
    body.omc-on.omc-home2 .omc-h2-post__m time {
        flex: 0 0 auto;
    }

    body.omc-on.omc-home2 .omc-h2-post__c {
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        gap: 2px;
        margin-left: 2px;
    }

    body.omc-on.omc-home2 .omc-h2-feed-more {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 2px;
        min-height: 48px;
        margin-top: 20px;
        border: 1px solid var(--gray-200);
        border-radius: var(--radius-md);
        color: var(--gray-800);
        font-size: 14px;
        font-weight: 600;
        text-decoration: none;
    }

    /* ── 첫 판 부품을 흰 구획 안에서 — 카드 테두리는 구획이 대신한다 ── */
    body.omc-on.omc-home2 .omc-home .omc-chal__row {
        padding: 0;
        border: 0;
        border-radius: 0;
    }

    body.omc-on.omc-home2 .omc-home .omc-chal .omc-me__strip {
        margin-bottom: 14px;
    }

    body.omc-on.omc-home2 .omc-h2-ms .omc-home-ms {
        margin: 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
    }

    @media (max-width: 343px) {
        body.omc-on.omc-home2 .omc-h2-post__ex {
            -webkit-line-clamp: 4;
        }

        body.omc-on.omc-home2 .omc-h2-post__ex--poll {
            -webkit-line-clamp: 3;
        }
    }

    /* 태블릿(600~1024) — 줄 카드를 더 보이게, 커뮤니티 3열 */
    @media (min-width: 600px) {
        body.omc-on.omc-home2 .omc-h2-row > li {
            flex-basis: min(40%, 320px);
        }

        body.omc-on.omc-home2 .omc-h2-row--shorts > li {
            flex-basis: min(24%, 200px);
        }

        body.omc-on.omc-home2 .omc-h2-feed {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }
    }

    @media (min-width: 768px) {
        body.omc-on.omc-home2 .omc-home > .omc-home-sec,
        body.omc-on.omc-home2 .omc-home > .omc-home-promo,
        body.omc-on.omc-home2 .omc-h2-search {
            padding-left: 24px;
            padding-right: 24px;
        }

        body.omc-on.omc-home2 .omc-h2-row {
            margin: 0 -24px;
            padding: 0 24px 2px;
            scroll-padding-inline: 24px;
        }
    }

    /* ── ⑧ 전체 메뉴(☰) — 왼쪽에서 밀려 들어오는 전체 화면(z 400 = 검색·시트와 같은 층). JS 가 body 직계로 옮겨 연다 ── */
    html.omc-menu-open body.omc-on {
        overflow: hidden;   /* body 만 잠근다(html 까지 잠그면 sticky 상단 바가 사라진다 — mobile-chrome.css §8) */
    }

    body.omc-on .omc-menu {
        --nav-accent: var(--chrome-control);   /* body 직계라 상단 바 스코프 토큰을 못 받는다(검색·시트와 같이 다시 잇는다) */
    }

    body.omc-on .omc-menu:not([hidden]) {
        position: fixed;
        inset: 0;
        z-index: var(--z-modal);
        display: flex;
        flex-direction: column;
        box-sizing: border-box;
        padding: env(safe-area-inset-top, 0px) var(--omc-safe-r) 0 var(--omc-safe-l);
        background: var(--gray-100);
        color: var(--text-primary);
        transform: translateX(-100%);
    }

    body.omc-on .omc-menu.is-open {
        transform: none;
    }

    body.omc-on .omc-menu__bar {
        display: flex;
        flex: 0 0 auto;
        align-items: center;
        gap: 2px;
        height: var(--omc-appbar-h);
        margin: 0 calc(-1 * var(--omc-safe-r)) 0 calc(-1 * var(--omc-safe-l));
        padding: 0 calc(6px + var(--omc-safe-r)) 0 calc(16px + var(--omc-safe-l));
        box-sizing: border-box;
        background: var(--surface-white);
    }

    body.omc-on .omc-menu__title {
        flex: 1 1 auto;
        min-width: 0;
        margin: 0;
        font-size: 19px;
        font-weight: 700;
        line-height: 1.3;
        letter-spacing: -0.02em;
        color: var(--gray-900);
    }

    /* 부모 테마의 전역 button 모양(base.css 회색 채움)을 지운다 — .omc-nav-btn 기본값은 1024 이하 공통 틀이 준다 */
    body.omc-on .omc-menu__bar .omc-nav-btn {
        border: 0;
        background: transparent;
        padding: 0;
        color: var(--chrome-control);
    }

    body.omc-on .omc-menu__body {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        padding: 10px 10px calc(28px + var(--omc-safe-b));
    }

    body.omc-on .omc-menu__me,
    body.omc-on .omc-menu__guest,
    body.omc-on .omc-menu__sec {
        margin: 0 0 10px;
        border-radius: 8px;
        background: var(--surface-white);
    }

    /* 내 정보(회원) — 네이버 「○○님 ›」 줄 + 첫 판 「내 숫자」 카드의 세 숫자 */
    body.omc-on .omc-menu__me {
        padding: 4px 16px 12px;
    }

    body.omc-on .omc-menu__who {
        display: flex;
        align-items: center;
        gap: 12px;
        min-height: 64px;
        color: inherit;
        text-decoration: none;
    }

    body.omc-on .omc-menu__who img {
        flex: 0 0 auto;
        width: 44px;
        height: 44px;
        border-radius: 9999px;   /* 아바타 */
        object-fit: cover;
        background: var(--gray-100);
    }

    body.omc-on .omc-menu__name {
        flex: 1 1 auto;
        min-width: 0;
        overflow: hidden;
        font-size: 18px;
        font-weight: 700;
        letter-spacing: -0.02em;
        color: var(--gray-900);
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    body.omc-on .omc-menu__who svg {
        flex: 0 0 auto;
        color: var(--gray-400);
    }

    body.omc-on .omc-menu__stats {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        margin: 2px 0 0;
        padding: 0;
        list-style: none;
    }

    body.omc-on .omc-menu__stats li {
        min-width: 0;
        margin: 0;
    }

    body.omc-on .omc-menu__stats li + li {
        border-left: 1px solid var(--gray-200);
    }

    body.omc-on .omc-menu__stats a {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2px;
        min-height: 52px;
        color: inherit;
        text-decoration: none;
    }

    body.omc-on .omc-menu__stats b {
        font-size: 16px;
        font-weight: 700;
        color: var(--gray-900);
        font-variant-numeric: tabular-nums;
    }

    body.omc-on .omc-menu__stats span {
        font-size: 12px;
        color: var(--text-muted);
    }

    /* 로그인(비회원) — 공용 크롬의 브랜드 채움은 로그인 버튼 하나(디자인 규칙) */
    body.omc-on .omc-menu__guest {
        padding: 18px 16px 16px;
    }

    body.omc-on .omc-menu__guest p {
        margin: 0 0 12px;
        font-size: 16px;
        font-weight: 700;
        line-height: 1.45;
        letter-spacing: -0.02em;
        color: var(--gray-900);
        word-break: keep-all;
    }

    body.omc-on .omc-menu__login {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 48px;
        border-radius: var(--radius-md);
        background: var(--brand-action);
        color: var(--text-white);
        font-size: 15px;
        font-weight: 700;
        text-decoration: none;
    }

    body.omc-on .omc-menu__login:hover,
    body.omc-on .omc-menu__login:active {
        background: var(--brand-hover);
        color: var(--text-white);
    }

    /* 묶음 — 네이버 「전체서비스」처럼 제목 줄 + 2열 목록 */
    body.omc-on .omc-menu__h {
        margin: 0;
        padding: 14px 16px 2px;
        font-size: 14px;
        font-weight: 700;
        color: var(--gray-600);
    }

    body.omc-on .omc-menu__list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin: 0;
        padding: 2px 0 8px;
        list-style: none;
    }

    body.omc-on .omc-menu__list li {
        min-width: 0;
        margin: 0;
    }

    body.omc-on .omc-menu__item {
        display: flex;
        align-items: center;
        gap: 10px;
        min-height: 48px;
        padding: 0 16px;
        color: var(--gray-900);
        font-size: 15px;
        text-decoration: none;
        -webkit-tap-highlight-color: transparent;
    }

    body.omc-on .omc-menu__item:hover,
    body.omc-on .omc-menu__item:active {
        background: var(--gray-50);
        color: var(--gray-900);
    }

    body.omc-on .omc-menu__ic {
        display: flex;
        flex: 0 0 auto;
        color: var(--brand-accent);   /* 초록 선 아이콘(운영자 「초록색을 넣어 색감을」) */
    }

    body.omc-on .omc-menu__ic svg {
        stroke-width: 2;
    }

    body.omc-on .omc-menu__label {
        min-width: 0;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    body.omc-on .omc-menu__legal {
        display: flex;
        flex-wrap: wrap;
        gap: 0 16px;
        padding: 6px 6px 0;
    }

    body.omc-on .omc-menu__legal a {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
        font-size: 13px;
        color: var(--text-muted);
        text-decoration: none;
    }

    body.omc-on .omc-menu__logout {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
        margin: 0 6px;
        font-size: 13px;
        color: var(--gray-600);
        text-decoration: underline;
        text-underline-offset: 3px;
    }

    body.omc-on .omc-menu a:focus-visible,
    body.omc-on.omc-home2 .omc-home a:focus-visible {
        outline: 2px solid var(--primary);
        outline-offset: 2px;
    }
}

@media screen and (max-width: 1024px) and (prefers-reduced-motion: no-preference) {
    body.omc-on .omc-menu:not([hidden]) {
        transition: transform 0.24s cubic-bezier(0.2, 0, 0, 1);
    }

    body.omc-on.omc-home2 .oppadu-nav .omc-search-btn {
        transition: opacity var(--transition-fast), visibility var(--transition-fast);
    }
}

/* PC 폭에서는 전체 메뉴를 그리지 않는다(열린 채로 넓어져도 — JS 가 닫는다) */
@media screen and (min-width: 1025px) {
    body.omc-on .omc-menu {
        display: none;
    }
}
