/* 서포트 페이지 전용 CSS */

/* 배경 이미지 설정 */
.bg-conference {
    background-image: url('../images/bg_main_2025.jpg');
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100%;
}

/* 로그인 관련 스타일 */
.login-mem {
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.login-title {
    font-size: 18px;
    font-weight: 600;
    color: #333;
}

.login-comm {
    color: #666;
    line-height: 1.6;
    margin-bottom: 20px;
    text-align: center;
}

.btn-login {
    background: linear-gradient(135deg, #162d6d 0%, #010f37 100%);
    color: white;
    border: none;
    padding: 12px 30px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.3s ease;
    width: 100%;
    margin-top: 10px;
}

.btn-login:hover {
    background: linear-gradient(135deg, #0056b3 0%, #004085 100%);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3);
}

.btn-login:active {
    transform: translateY(0);
}

/* 데스크톱용 스타일 (769px 이상) */
@media (min-width: 769px) {
    .bg-conference.m-support {
        position: relative;
        height: 100vh;
        background-size: cover;
        background-position: 90% top;
    }
    
    .bg-conference.m-support .gradation {
        position: absolute;
        width: 100%;
        background: linear-gradient(to bottom, rgba(0,0,0,0.3) 100%, rgba(255,255,255,0) 0);
        height: 100vh;
    }

    .m-support-button {
        position: absolute;
        width: 100%;
        z-index: 1000;
        text-align: center;
    }
    
    .m-support-button h1 {
        padding-top: 2rem;
        padding-bottom: 4.5rem;
    }
    
    .m-support-button h1 img {
        width: 10%;
    }
    
    .m-support-button h2 {
        font-weight: 700;
        color: #fff;
        font-size: 2.9rem;
        letter-spacing: -0.03rem;
    }
    
    .m-support-button h3 {
        padding-top: 1rem;
        font-weight: 700;
        color: #fff;
        font-size: 2.55rem !important;
        line-height: 1.4;
        letter-spacing: -0.03rem;
        word-break: keep-all;
    }

    .pres-data a {
        width: 28%;
        margin: 0 0 1rem 0;
        padding: 1.2rem 0;
        border-radius: 10px;
        border: none;
        background-color: #ffffff;
        color: #2546c1;
        font-size: 1.3rem;
        font-weight: 600;
        text-decoration: none;
        transition: all 0.3s ease;
    }
    
    .pres-data a:hover {
        background-color: #f8f9fa;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(37, 70, 193, 0.2);
        color: #2546c1;
        text-decoration: none;
    }
    
    .attend-certi button {
        width: 28%;
        margin: 0 0 0 0;
        padding: 1.2rem 0;
        border-radius: 10px;
        border: none;
        background-color: #2546c1;
        color: #ffffff;
        font-size: 1.3rem;
        font-weight: 600;
        transition: all 0.3s ease;
    }
    
    .attend-certi button:hover {
        background-color: #1e3a9f;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(37, 70, 193, 0.3);
    }
}

/* 중간 사이즈 데스크톱 (769px ~ 1300px) */
@media (min-width: 769px) and (max-width: 1300px) {
    .m-support-button h1 img {
        width: 15%;
    }
}

/* 모바일용 스타일 (767.98px 이하) */
@media (max-width: 767.98px) {
    .bg-conference {
        background-size: 350%;
        background-position: 60% top;
    }
    
    .bg-conference.m-support {
        position: relative;
        height: 100vh;
        background-size: cover;
        background-position: 90% top;
    }
    
    .bg-conference.m-support .gradation {
        position: absolute;
        width: 100%;
        background: linear-gradient(to bottom, rgba(0,0,0,0.3) 100%, rgba(255,255,255,0) 0);
        height: 100vh;
    }

    .m-support-button {
        position: absolute;
        width: 100%;
        z-index: 1000;
        text-align: center;
    }
    
    .m-support-button h1 {
        padding-top: 1rem;
        padding-bottom: 2.5rem;
    }
    
    .m-support-button h1 img {
        width: 30%;
    }
    
    .m-support-button h2 {
        font-weight: 700;
        color: #fff;
        font-size: 1.9rem;
        letter-spacing: -0.03rem;
    }
    
    .m-support-button h3 {
        padding-top: 1rem;
        font-weight: 700;
        color: #fff;
        font-size: 1.55rem !important;
        line-height: 1.4;
        letter-spacing: -0.03rem;
        word-break: keep-all;
    }

    .pres-data a {
        width: 70%;
        margin: 3rem 0 1rem 0;
        padding: 1.2rem 0;
        border-radius: 10px;
        border: none;
        background-color: #ffffff;
        color: #2546c1;
        font-size: 1.3rem;
        font-weight: 600;
        text-decoration: none;
        transition: all 0.3s ease;
    }
    
    .pres-data a:hover {
        background-color: #f8f9fa;
        color: #2546c1;
        text-decoration: none;
    }
    
    .attend-certi button {
        width: 70%;
        margin: 3rem 0 0 0;
        padding: 1.2rem 0;
        border-radius: 10px;
        border: none;
        background-color: #2546c1;
        color: #ffffff;
        font-size: 1.3rem;
        font-weight: 600;
        transition: all 0.3s ease;
    }
    
    .attend-certi button:hover {
        background-color: #1e3a9f;
    }
}

/* 텍스트 그림자 효과 */
.m-support-button h1,
.m-support-button h2,
.m-support-button h3 {
    text-shadow: 0 0 30px rgba(3, 31, 91, 0.8);
}

/* 버튼 액티브 상태 */
.pres-data a:active,
.attend-certi button:active {
    transform: translateY(0) !important;
}

/* 모달 개선 */
.login-mem .modal-header {
    border-bottom: 2px solid #007bff;
}


/* 폼 유효성 검사 스타일 */
.was-validated .form-control:valid {
    border-color: #28a745;
}

.was-validated .form-control:invalid {
    border-color: #dc3545;
}

.invalid-feedback {
    color: #dc3545;
    font-size: 14px;
    margin-top: 5px;
}

/* 추가 여백 클래스 */
.ms-2 {
    margin-left: 0.5rem;
}
