body,
html {
    font-family: 'Noto Serif KR', serif;
    background-color: #eef1f5;
    color: #313030;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}


/* 헤더 */
   .header {
       position: fixed;
       top: 0;
       left: 0;
       right: 0;
       height: 50px;
       background: linear-gradient(to right, #e0e0e0, #b0b0b0);
       display: flex;
       align-items: center;
       justify-content: center;
       padding: 0 15px;
       z-index: 1000;
   }

   .back-button {
       position: absolute;
       left: 15px;
       color: #3b3b3b;
       font-size: 28px;
       text-decoration: none;
       cursor: pointer;
   }

   .header h1 {
       font-family: 'Noto Serif KR', serif;
       color: #000000;
       font-size: 23px;
       font-weight: bold;
       margin: 0;
   }

   .content {
       padding-top: 70px;
       padding-bottom: 80px;
   }

   .header.transparent {
       background: transparent;
       color: transparent;
   }

   .header.transparent .back-button,
   .header.transparent h1 {
       opacity: 0;
   }

   

/* 푸터 */

.footer {
    background: linear-gradient(90deg, #c4c3c3, #f1f0ef);
    color: #000;
    text-align: center;
    padding: 10px 0;
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 10;
}

.nav-menu {
    background: linear-gradient(90deg, #91918f,#e4e3e2, #b8b8b7);
    position: fixed;
    bottom: 0;
    width: 100%;
    display: flex;
    justify-content: space-around;
    padding: 13px 0 8px 0;
    border: 0;
    z-index: 11;
}

.nav-menu a {
    color: #000;
    text-decoration: none;
    text-align: center;
    flex: 1;
    transition: color 0.3s;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.nav-menu a:hover {
    color: #ffffff;
}

.nav-menu a.active {
    color: #000;
}

.nav-menu i {
    font-size: 24px;
    margin-bottom: 2px;
}

.nav-menu span {
    display: block;
    font-size: 10px;
}


/* 로그인 */

   .form-group {
       margin-bottom: 15px;
       text-align: left;
   }

   .form-label {
       display: block;
       color: #333230;
       margin-bottom: 5px;
       font-family: 'Noto serif KR', serif;
       font-size:0.85rem;
   }

   .form-control {
       width: 100%;
       padding: 8px;
       border: 1px solid #b4b4b4;
       background-color: #e7e7e7;
       color: #000;
       border-radius: 4px;
   }

   .btn-gold {
       background: linear-gradient(to right, #d4af37, #f2d06b);
       border: none;
       color: #000;
       padding: 10px 20px;
       border-radius: 4px;
       cursor: pointer;
       width: 100%;
       font-weight: bold;
       font-family: 'Noto Sans KR', sans-serif;
   }

.btn-silver {
    background: linear-gradient(to right,#838383, #8f8e8e);
    border: #616060;
    color: #faf8f8;
    padding: 10px 20px;
    border-radius: 4px;
    cursor: pointer;
    width: 100%;
    font-weight: semi-bold;
    font-family: 'Noto Sans KR', sans-serif;
}


   .error {
       color: #ff6b6b;
       margin-bottom: 10px;
   }

   .links {
       margin-top: 20px;
       text-align: center;
       font-size: 0.85rem;
   }

   .links a {
       color: #4e4e4e;
       text-decoration: none;
       margin: 10px;
   }

.links a:hover{
    color: #1f0d0d;
    font-weight:bold;
}



/* 회원신청 */

 .error {
     color: #ff6b6b;
     margin-bottom: 10px;
 }

 .success {
     color: #4CAF50;
     margin-bottom: 20px;
     text-align: center;
     font-size: 1.1rem;
 }



 #email, #phone {
     width: 75%;
 }
/* 중복체크 */
 .check-button {
     background-color: gray;
     color: white;
     padding: 5px 10px;
     border: none;
     border-radius: 4px;
     cursor: pointer;
     margin-left: 10px;
     font-size: 0.7rem;
     width: 25%;
 }


.password-group {
    display: flex;
    justify-content: space-between;
}

.password-group .form-group {
    width: 48%;
}


.validation-message {
    color: #4CAF50;
    margin-top: 5px;
    font-size: 0.8rem;
}

.referral-group {
    margin-bottom: 20px;
}

.referral-input {
    margin-bottom: 10px;
}

.referral-search {
    display: flex;
    margin-bottom: 10px; 
}

.referral-search input {
    flex-grow: 1;
    font-size: 0.8rem;
}

.referral-search button {
    width: auto;
    margin: 0;
}

.referral-results {
    background-color: transparent;
    border: 0px solid #555;
    text-align: right;
    border-radius: 4px;
    max-height: 150px;
    overflow-y: auto;
    font-size: 0.9rem;
    color: gray;
}

.referral-result-item {
    padding: 8px;
    cursor: pointer;
    transition: background-color 0.2s;
}

.referral-result-item:hover {
    background-color: #444;
}


.privacy-agreement {
    background-color: #ccc9c9;
    padding: 10px;
    margin-bottom: 20px;
    border-radius: 4px;
    height: 100px;
    overflow-y: scroll;
}

.privacy-agreement p {
    color: #050101;
    font-size: 0.7rem;
    font-weight: 200;
    margin-bottom: 10px;
    line-height: 1.3;
    padding: 0;
    margin: 10 0;
}


.agree-checkbox {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

.agree-checkbox input {
    margin-right: 10px;
    font-weight:bold;
}

.agree-checkbox label {
    color: #0e0d0d;
    font-size: 0.95rem;
}





/* 특정 페이지에서 사용할 수 있는 배경색 클래스 */
.bg-dark-gray {
    background-color: #1a1a1a;
}

.bg-darker-gray {
    background-color: #0a0a0a;
}

.bg-gold {
    background-color: #b6b6b5;
}
