/* PC 메뉴와 본문 너비는 유지하고 모바일 메뉴만 전환합니다. */
.jm-controls, .jm-theme-nav { display:none; }
.jm-drawer:not([open]) { display:none; }
.jm-menu-page { display:none; }
@media (max-width:767px) {
    .jm-ready .jh-header-inner { flex-wrap:nowrap; gap:12px; min-height:64px; }
    .jm-ready .jh-header-inner > :not(.jh-logo):not(.jm-controls) { display:none!important; }
    .jm-ready .jh-logo { flex-shrink:0; }
    .jm-ready .jm-controls { display:flex; align-items:center; gap:8px; flex:1; min-width:0; }
    .jm-current { margin-right:auto; padding:0; min-height:44px; border:0; background:transparent; color:inherit; text-align:left; font-size:19px; font-weight:700; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .jm-current:is(a) { display:flex; align-items:center; text-decoration:none; }
    .jm-current:is(a):hover { color:inherit; }
    .jm-open, .jm-close { border:0; background:transparent; color:inherit; min-width:44px; min-height:44px; font-size:25px; }
    .jm-open { flex-shrink:0; }
    .jm-notification { position:relative; display:flex; align-items:center; justify-content:center; flex-shrink:0; width:44px; height:44px; color:#fff; text-decoration:none; }
    .jm-notification:hover, .jm-notification:focus { color:#fff; }
    .jm-notification-count { position:absolute; top:0; right:-3px; min-width:18px; padding:2px 4px; border-radius:10px; background:#e32c3c; color:#fff; font-size:11px; font-weight:700; line-height:1.2; text-align:center; }
    .jm-drawer { position:fixed; inset:0 0 0 auto; margin:0; width:min(86vw,360px); max-width:100%; height:100%; height:100dvh; max-height:100%; padding:20px; padding-bottom:max(24px,env(safe-area-inset-bottom)); border:0; background:#fff; color:#242424; overflow-y:auto; overscroll-behavior:contain; box-sizing:border-box; }
    .jm-drawer::backdrop { background:#0007; }
    .jm-drawer-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:16px; font-size:22px; }
    .jm-drawer nav > a { display:flex; align-items:center; gap:5px; min-height:48px; padding:10px 12px; color:#242424; font-size:18px; text-decoration:none; overflow-wrap:anywhere; }
    .jm-drawer nav > a[aria-current="page"] { background:#fff0e4; color:#d94f0b; font-weight:700; }
    .jm-section { border-top:1px solid #ddd; margin-top:16px; padding:16px 12px 6px; color:#666; font-size:14px; }
    .jm-search { padding:10px 12px; }
    .jm-search > div { display:flex; gap:6px; }
    .jm-search input { width:100%; min-width:0; min-height:44px; border:1px solid #ccc; border-radius:4px; padding:8px; font-size:16px; }
    .jm-search button { flex-shrink:0; border:0; border-radius:4px; padding:8px 12px; background:#333; color:#fff; }
    .jm-ready.jm-has-themes #home-navigation { display:none; }
    .jm-ready.jm-main-page #home-navigation { display:none; }
    .jh-main > .jh-market-summary { padding:14px; margin-bottom:16px; border:1px solid #e8e8e8; border-radius:8px; background:#f9f9f9; }
    .jh-main > .jh-market-summary h2 { font-size:20px; font-weight:900; line-height:1.5; margin:20px 0 10px; padding-top:20px; border-top:1px solid #e8e8e8; letter-spacing:-1px; }
    .jm-ready .jm-theme-nav { display:block; position:relative; z-index:30; background:#fff; border-bottom:1px solid #ddd; }
    .jm-theme-buttons { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
    .jm-theme-buttons.jm-three-buttons { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .jm-theme-buttons.jm-two-buttons { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .jm-theme-nav > .cafe-top-action { padding:10px 14px; text-align:right; }
    .jm-theme-buttons > :is(button,a) { display:flex; align-items:center; justify-content:center; gap:3px; min-height:48px; min-width:0; padding:8px 2px; border:0; background:#fff; color:#242424; font-size:clamp(14px,3.9vw,16px); font-weight:700; white-space:nowrap; text-decoration:none; }
    .jm-theme-buttons .jm-selected { color:#d94f0b; box-shadow:inset 0 -3px #ed6c24; }
    .jm-ready .jm-menu-page:not([hidden]) { display:block; min-width:0; min-height:55vh; background:#fff; }
    .jm-ready #home-main[hidden], .jm-menu-list[hidden] { display:none!important; }
    .jm-menu-list { list-style:none; margin:0; padding:6px 0; }
    .jm-menu-list a { display:flex; align-items:center; gap:4px; min-height:48px; padding:12px 8px; border-bottom:1px solid #eee; color:#242424; text-decoration:none; font-size:16px; }
    .jm-menu-list a.active { color:#d94f0b; background:#fff0e4; font-weight:700; }
}
