/* ============================================
   LEGATO Common CSS — GNB, Footer, Mobile Menu
   모든 페이지(메인+서브)에서 공통 로드
   ============================================ */

/* ── GNB ── */
.gnb{position:fixed;top:0;left:0;right:0;z-index:100;padding:0 40px;height:72px;display:flex;align-items:center;justify-content:space-between;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid transparent;transition:background 0.5s cubic-bezier(0.25,0.46,0.45,0.94),backdrop-filter 0.5s cubic-bezier(0.25,0.46,0.45,0.94),border-color 0.5s cubic-bezier(0.25,0.46,0.45,0.94)}
.gnb--scrolled{background:rgba(10,10,15,0.88);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,0.06)}
/* 서브페이지: 히어로 비디오 없으므로 처음부터 blur 고정 */
.gnb--sub{background:rgba(10,10,15,0.88);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,0.06)}
.gnb-logo{font-size:20px;font-weight:700;letter-spacing:4px;color:#FFFFFF;font-family:'Montserrat',sans-serif}
.gnb-nav{display:flex;gap:36px;align-items:center}
.gnb-nav a{font-size:13px;font-weight:400;letter-spacing:1px;color:#9999A5;transition:color 0.4s cubic-bezier(0.25,0.46,0.45,0.94)}
.gnb-nav a:hover,.gnb-nav a.active{color:#FFFFFF}
.gnb-right{display:flex;align-items:center;gap:16px}
.gnb-lang{position:relative;cursor:pointer;display:flex;align-items:center}
.gnb-lang .material-symbols-outlined{font-size:20px;color:#9999A5}
.gnb-langbox{display:none;position:absolute;top:100%;right:0;background:#1A1A24;border:1px solid rgba(255,255,255,0.1);border-radius:8px;padding:8px;margin-top:8px}
.gnb-lang:hover .gnb-langbox{display:flex;gap:8px}
.gnb-langbox a{font-size:12px;color:#9999A5;padding:4px 8px;border-radius:4px}
.gnb-langbox a.active{color:#FFBF00}
.gnb-mobile-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px}
.gnb-mobile-toggle span{display:block;width:20px;height:1.5px;background:#FFFFFF;margin:5px 0;transition:0.4s cubic-bezier(0.25,0.46,0.45,0.94)}

/* ── Mobile Menu ── */
.mo-menu-wrap{display:none;position:fixed;top:72px;left:0;right:0;bottom:0;background:#0A0A0F;z-index:99;overflow-y:auto;padding:40px}
.mo-menu-wrap.menu-on{display:block}
.mo-menu{list-style:none;margin:0;padding:0}
.mo-menu>li{border-bottom:1px solid rgba(255,255,255,0.06)}
.mo-menu-title{display:block;padding:16px 0;font-size:16px;font-weight:500;color:#FFFFFF;cursor:pointer}
.mo-menu>li>a:not(.mo-menu-title){display:block;padding:16px 0;font-size:16px;color:#FFFFFF;text-decoration:none}
.mo-menu>li>a:hover{color:#FFBF00}

/* ── Footer ── */
.footer{padding:80px 0 40px;background:#12121A;border-top:1px solid rgba(255,255,255,0.06)}
.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:40px;margin-bottom:60px}
.footer-brand-name{font-size:18px;font-weight:700;letter-spacing:4px;margin-bottom:16px;font-family:'Montserrat',sans-serif}
.footer-brand-tagline{font-size:13px;color:#666674;line-height:1.7;margin-bottom:20px}
.footer-col-title{font-size:12px;font-weight:700;letter-spacing:2px;color:#9999A5;margin-bottom:20px}
.footer-links{list-style:none;margin:0;padding:0}
.footer-links li{margin-bottom:12px}
.footer-links a{font-size:14px;color:#666674;transition:color 0.4s cubic-bezier(0.25,0.46,0.45,0.94);text-decoration:none}
.footer-links a:hover{color:#FFFFFF}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.06);padding-top:24px}
.footer-legal{font-size:12px;color:#666674;line-height:1.8}

/* ── Responsive ── */
@media(max-width:768px){
  .gnb{padding:0 20px;height:60px}
  .gnb-nav{display:none}
  .gnb-mobile-toggle{display:block}
  .gnb-lang{display:none}
  .footer-grid{grid-template-columns:1fr 1fr}
  .mo-menu-wrap{top:60px}
}
@media(max-width:480px){
  .footer-grid{grid-template-columns:1fr}
}

/* ── 관리자 로그인 표시 바 (관리자 계정 로그인 시만 표시) ── */
#hd_login_msg{
  position:fixed;top:0;right:0;
  background:rgba(10,10,15,0.92);
  color:var(--gray-400);font-size:11px;
  padding:4px 14px;z-index:9999;
  border-bottom-left-radius:6px;
  border-left:2px solid rgba(255,191,0,0.35);
  border-bottom:1px solid rgba(255,191,0,0.2);
  letter-spacing:0.3px;line-height:1}
#hd_login_msg a{
  color:var(--amber);margin-left:10px;
  font-size:11px;text-decoration:none;opacity:0.8}
#hd_login_msg a:hover{opacity:1}
@media(max-width:768px){
  #hd_login_msg{font-size:10px;padding:4px 10px}
}
