 /* 전체 너비 레이아웃 (좌측 LNB 제거 대응) */
 .layout.full-width {display: block !important; width: 100% !important; max-width: none !important;  padding: 0 !important; }
 .layout.full-width #container_wrap {width: 100% !important; padding: 0 !important; margin: 0 !important; float: none !important; }
 .login-container {
     display: flex; justify-content: center; align-items: center; 
     min-height: calc(100vh - 250px); /* 헤더/푸터 제외 영역 */
     padding: 100px 0; /* 상하 여백 확대 */
     background-color: #ffffff; /* 배경색 흰색으로 변경 */
     width: 100%;
 }

.login-type { display:flex; align-items:center; justify-content:center; width:100%; height:45px; margin-bottom:20px; }
.login-type button { width:100%; height:100%; border:solid 1px #777; margin:0; border-right:0;  box-shadow:0 2px 3px rgba(0,0,0,0.1);}
.login-type button:hover { color:var(--color-primary); background:#e0ecff; }
.login-type button:first-child { border-radius:8px 0  0 8px;  }
.login-type button:last-child { border-radius:0 8px 8px 0; border-right:solid 1px #777;  }
.login-type .active,
.login-type:hover .active { background:#545454; border-color:#545454; color:#fff; }

 .login-box {
     width: 100%; max-width: 450px; background: #fff; padding: 50px 40px; border: 1px solid #e1e1e1;
     border-radius: 12px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); text-align: center;
 }

 .login-header h1 { font-size: 32px;font-weight: 700; color: #1E5EFF; margin-bottom: 10px; letter-spacing: 1px; }
 .login-header p {font-size: 16px; color: #666; margin-bottom: 30px; text-align: center;}

 .login-form { display: flex; flex-direction: column; gap: 15px; }
 .input-group input { width: 100%; height: 52px;  padding: 0 20px; border: 1px solid #ddd; border-radius: 8px;  font-size: 15px; transition: border-color 0.2s; }
 .input-group input:focus { border-color: #1E5EFF; outline: none; }
 
 .login-options { text-align: left;  margin: 5px 0;  }
 .checkbox-container {display: flex; align-items: center; gap:5px;  font-size: 14px;  color: #555; cursor: pointer;}
 .login-msg { width:100%; }
 .login-msg p { font-size:14px; line-height:1.3; }

 .btn-login {
     width: 100%;height: 56px; background-color: #1E5EFF;color: #fff;
     border: none; border-radius: 8px; font-size: 18px; font-weight: 600; margin-top: 10px; cursor: pointer;
     transition: background-color 0.2s;
 }
 .btn-login:hover {background-color: #1649cc;}
 
 .login-error { margin-top: 20px; padding: 10px; background-color: #fff1f0;  border: 1px solid #ffa39e;  border-radius: 4px; color: #cf1322; font-size: 14px; }

 /* 반응형 대응 */
 @media (max-width: 480px) {
     .login-box { padding: 30px 20px; margin: 0 20px;}
     .login-header h1 { font-size:20px; }
     .login-header p { font-size:12px; }
 }
 
 .page-blur {
    filter: blur(5px);
    -webkit-filter: blur(5px);
    transition: filter 0.2s ease-in-out;
    pointer-events: none; /* 블러 상태에서 배경 클릭 막기 */
    user-select: none;
}
 
 
 