/* FMSOFT Press Masthead v1.0 */
.fm-topbar{background:var(--fm-ink);color:#fff;font-size:.75rem;padding:6px 0}
.fm-topbar .fm-wrap{display:flex;justify-content:space-between;align-items:center}
.fm-topbar-date{opacity:.85}
.fm-topbar-actions{display:flex;gap:12px;align-items:center}
.fm-topbar-actions a{color:#fff;opacity:.85;font-size:.75rem;transition:opacity var(--fm-transition)}
.fm-topbar-actions a:hover{opacity:1;color:#fff}
.fm-topbar-sns{display:flex;gap:8px;align-items:center}
.fm-topbar-sns a{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.15);font-size:.65rem}
.fm-topbar-sns a:hover{background:rgba(255,255,255,.3)}

.fm-brand-bar{padding:20px 0 16px;border-bottom:1px solid var(--fm-border)}
.fm-brand-bar .fm-wrap{display:flex;align-items:center;justify-content:space-between}
.fm-brand-logo img{max-height:52px;width:auto}
.fm-brand-search{position:relative;width:260px}
.fm-brand-search input{width:100%;height:36px;padding:0 36px 0 14px;border:1px solid var(--fm-border);border-radius:20px;font-size:.85rem;outline:none;transition:border-color var(--fm-transition)}
.fm-brand-search input:focus{border-color:var(--fm-brand)}
.fm-brand-search button{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:var(--fm-brand);color:#fff;border:0;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:.8rem;display:flex;align-items:center;justify-content:center}

.fm-gnb{background:var(--fm-surface);border-bottom:2px solid var(--fm-brand);position:sticky;top:0;z-index:900}
.fm-gnb .fm-wrap{display:flex;align-items:stretch}
.fm-gnb-list{display:flex;align-items:stretch;gap:0;flex:1}
.fm-gnb-item{position:relative}
.fm-gnb-link{display:flex;align-items:center;padding:0 18px;height:46px;font-size:.9rem;font-weight:600;color:var(--fm-ink);white-space:nowrap;transition:color var(--fm-transition),background var(--fm-transition)}
.fm-gnb-link:hover,.fm-gnb-item.is-active .fm-gnb-link{color:var(--fm-brand);background:var(--fm-brand-light)}
.fm-gnb-toggle{display:none;background:none;border:0;font-size:1.3rem;cursor:pointer;padding:10px;color:var(--fm-ink)}

.fm-mobile-drawer{position:fixed;inset:0;z-index:1000;visibility:hidden;pointer-events:none}
.fm-mobile-drawer.is-open{visibility:visible;pointer-events:auto}
.fm-drawer-overlay{position:absolute;inset:0;background:rgba(0,0,0,0);transition:background .3s ease}
.fm-mobile-drawer.is-open .fm-drawer-overlay{background:rgba(0,0,0,.45)}
.fm-drawer-panel{position:absolute;left:0;top:0;width:300px;height:100%;background:var(--fm-surface);overflow-y:auto;box-shadow:var(--fm-shadow-md);transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}
.fm-mobile-drawer.is-open .fm-drawer-panel{transform:translateX(0)}
.fm-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 16px;border-bottom:1px solid var(--fm-border)}
.fm-drawer-title{font-size:1rem;font-weight:700;color:var(--fm-ink)}
.fm-drawer-close{background:none;border:0;cursor:pointer;color:var(--fm-ink-mid);padding:4px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background var(--fm-transition)}
.fm-drawer-close:hover{background:var(--fm-surface-alt)}
.fm-drawer-search{padding:16px 20px;border-bottom:1px solid var(--fm-border)}
.fm-drawer-search form{display:flex;gap:8px}
.fm-drawer-search input{flex:1;height:38px;padding:0 14px;border:1px solid var(--fm-border);border-radius:var(--fm-radius-sm);font-size:.88rem}
.fm-drawer-search button{width:38px;height:38px;border:0;background:var(--fm-brand);color:#fff;border-radius:var(--fm-radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center}
.fm-drawer-list{padding:8px 0}
.fm-drawer-item{border-bottom:1px solid var(--fm-border)}
.fm-drawer-link{display:block;padding:14px 20px;font-size:.95rem;font-weight:500;color:var(--fm-ink);transition:all var(--fm-transition)}
.fm-drawer-link:hover{color:var(--fm-brand);background:var(--fm-brand-light);padding-left:24px}
.fm-drawer-auth{padding:16px 20px;border-top:1px solid var(--fm-border);font-size:.85rem;display:flex;gap:12px}
.fm-drawer-auth a{color:var(--fm-brand);font-weight:600}

.fm-gnb-search-btn{display:none;background:none;border:0;color:var(--fm-ink-mid);cursor:pointer;padding:8px;margin-left:auto}
