/* 입장 비밀번호 (2026-11-11): the shared top bar stays; the content waits under it until the password is entered. */
body.access-locked main > :not(.site-menu-header):not(.access-gate), body.access-locked .audio-dock { display: none !important; }
.access-gate { display: flex; flex-direction: column; align-items: center; gap: 12px; width: min(100%, 320px); margin: 26vh auto 0; padding: 0 16px; }
.access-gate-label { color: var(--ink, #152b45); font-size: 18px; font-weight: 700; }
.access-gate input { box-sizing: border-box; width: 100%; min-height: 48px; padding: 0 14px; border: 1px solid #d7dde8; border-radius: 10px; background: #fff; color: var(--ink, #152b45); font: inherit; font-size: 18px; text-align: center; }
.access-gate input:focus-visible { outline: none; border-color: var(--red, #ff075f); }
.access-gate-button { min-width: 120px; min-height: 44px; padding: 0 20px; border: 0; border-radius: 99px; background: var(--red, #ff075f); color: #fff; font: inherit; font-size: 16px; font-weight: 700; white-space: nowrap; cursor: pointer; }
.access-gate-status { min-height: 1.4em; margin: 0; color: #d90050; font-size: 14px; }
/* 비밀번호 입장 표시 (2026-11-11). */
.access-opened { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px; margin:24px 16px 0; padding:10px 16px; color:#43506a; font-size:15px; font-weight:600; text-align:center; }
