/**
 * @파일명 css/_apply.css
 * @제작사 ZZAN Studio
 * @설명 서비스 신청 및 현황 페이지 공통 스타일
 */

/* [1] 서브 페이지 메인 래퍼 */
.apply-page-wrapper { width: 100%; margin: 0; padding: 0; }

/* [2] 히어로(상단 비주얼) 영역 공통 스타일 */
.apply-hero-base {
    padding: 120px 0 !important;
    color: #fff !important;
    text-align: center !important;
    width: 100% !important;
    margin-bottom: 0 !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

/* [2-1] 서비스 신청 페이지 전용 배경 */
.apply-hero {
    background: linear-gradient(rgba(0,0,0,0.7), rgba(0,0,0,0.7)), url('https://images.unsplash.com/photo-1636753260398-c0ce9f1268fa?q=80&w=1169&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D') center/cover no-repeat !important;
}

/* [2-2] 신청 현황 페이지 전용 배경 */
.status-hero {
    background: linear-gradient(rgba(0,0,0,0.7), rgba(0,0,0,0.7)), url('https://images.unsplash.com/photo-1450101499163-c8848c66ca85?q=80&w=1470&auto=format&fit=crop') center/cover no-repeat !important;
}

/* [공통] 컨테이너 및 텍스트 강조 스타일 */
.lv-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.lv-badge {
    display: inline-block;
    background-color: var(--primary-red);
    color: #fff;
    padding: 5px 20px;
    border-radius: 50px;
    font-weight: 600;
    margin-bottom: 20px;
    font-size: 14px;
}
.lv-title {
    font-size: 42px;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 25px;
    letter-spacing: -1px;
}
.lv-title strong { color: var(--primary-red); }
.lv-desc { font-size: 20px; opacity: 0.9; font-weight: 300; }

/* [3] 폼 및 리스트 메인 컨테이너 */
.apply-form-container, .apply-status-container { max-width: 1200px; margin: 80px auto; padding: 0 20px; min-height: 400px; }

.apply-header { text-align: center; margin-bottom: 40px; }
.apply-header .main-title { font-size: 32px; font-weight: 800; margin-bottom: 20px; color: var(--text-black); }
.apply-header .desc { color: #666; font-size: 18px; }
.apply-header .desc strong { color: var(--primary-red); }

.memo-box { border: 1px solid #ddd; padding: 30px; height: 200px; overflow-y: auto; background: #fff; margin-bottom: 20px; line-height: 1.6; color: #cccccc; }
.agree-check { text-align: center; margin-bottom: 40px; }
.required { color: var(--primary-red); margin-left: 3px; }

.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; }
.form-item.full { grid-column: span 2; }
.form-item label { display: block; font-weight: 700; margin-bottom: 10px; font-size: 15px; text-align: left; }
.form-item input { width: 100%; padding: 15px; border: 1px solid #eee; background: #f8f8f8; border-radius: 4px; outline: none; }
.form-item input:focus { border-color: var(--primary-red); background: #fff; }

.form-notice { color: #666; font-size: 13px; margin-bottom: 30px; text-align: left; }
.form-btns { display: flex; gap: 10px; }
.btn-apply-submit { flex: 1; padding: 20px; background: var(--primary-red); color: #fff; border: none; border-radius: 4px; font-size: 18px; font-weight: 700; cursor: pointer; transition: 0.3s; }
.btn-apply-submit:hover { background: #b81b00; }
.btn-apply-cancel { flex: 1; padding: 20px; background: #555; color: #fff; border: none; border-radius: 4px; font-size: 18px; font-weight: 700; cursor: pointer; transition: 0.3s; }
.btn-apply-cancel:hover { background: #333; }

/* [4] 반응형 스타일 조절 */
@media screen and (max-width: 768px) {
    .apply-form-container, .apply-status-container { margin: 50px auto; }
    .lv-title { font-size: 30px; }
    .lv-desc { font-size: 16px; }
    .form-grid { grid-template-columns: 1fr; }
    .form-item.full { grid-column: span 1; }
}
