/* =========================================
   ACSA 메인 리뉴얼용 공통 스타일
   ========================================= */

/* 글로벌 타이포 & 배경 톤 */
html,
body {
    font-family: ng, 'NanumGothic', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 16px;
    line-height: 1.7;
    color: #333;
    background-color: #f5f7fb;
}

/* 상단 고정 메뉴와 슬라이더가 겹치지 않도록 여백 */
#slider-area {
    margin-top: 80px;
}

/* 기본 문단 여백(필요한 영역만) */
#slider-area p,
.home-section p,
#bncl4-ov-n1 p,
#fts-n1 p {
    margin: 0 0 0.9rem;
}

/* =========================================
   1. 메인 히어로(슬라이더) 리뉴얼
   ========================================= */

#slider-area .single-slider {
    width: 100%;
    height: 40vh;               /* 높이 조금 더 줄임 */
    min-height: 300px;
    max-height: 480px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

#slider-area .slider-taxt {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;     /* 왼쪽 정렬 */
    text-align: left;
    height: 100%;
    padding: 0 5%;
}

/* 슬라이더 내부 텍스트 박스 */
#slider-area .slider-text-box {
    max-width: 640px;
    padding: 16px 18px 18px;
    background: rgba(0, 0, 0, 0.35);
    border-radius: 12px;
}

/* 메인 큰 타이틀 - 글씨 줄여서 메뉴와 안 겹치게 */
.slide-caption_h1 {
    margin: 0;
    font-family: ngb, 'NanumGothicBold', sans-serif;
    font-size: 30px;
    color: #ffffff;
    line-height: 1.25;
}

/* 서브텍스트 */
.slide-caption_h2 {
    margin-top: 8px;
    font-family: ng, 'NanumGothic', sans-serif;
    font-size: 15px;
    color: rgba(255,255,255,0.92);
    line-height: 1.6;
}

/* 보조 큰 문구 (슬라이드2,3에서 사용) */
.slide-caption_h3 {
    margin: 0 0 4px;
    font-family: ngb, 'NanumGothicBold', sans-serif;
    font-size: 18px;
    color: #ffe76a;
    line-height: 1.4;
}

/* 버튼 영역 */
.slide-caption_h4 {
    margin-top: 14px;
}

/* 노란 버튼 – 항상 글씨 보이도록 !important */
#slider-area .slide-caption_h4 a {
    display: inline-block;
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    background-color: #ffe76a;
    color: #004aad !important;
    text-shadow: none !important;
    border: none;
}

/* 슬라이더 반응형 */
@media (max-width: 768px) {
    #slider-area {
        margin-top: 70px;
    }

    #slider-area .single-slider {
        height: auto;
        min-height: 260px;
        padding: 36px 0 28px;
    }

    #slider-area .slider-taxt {
        padding: 0 16px;
    }

    #slider-area .slider-text-box {
        padding: 12px 12px 14px;
        max-width: 100%;
        background: rgba(0, 0, 0, 0.45);
    }

    .slide-caption_h1 {
        font-size: 24px;
    }

    .slide-caption_h2 {
        font-size: 13px;
    }

    .slide-caption_h3 {
        font-size: 18px;
    }

    #slider-area .slide-caption_h4 a {
        font-size: 12px;
        padding: 7px 12px;
    }
}

/* =========================================
   2. 홈 공통 섹션 레이아웃
   ========================================= */

.home-section {
    padding: 32px 0 0;
}

.home-section .container {
    max-width: 1120px;
}

.home-section-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 14px;
}

.home-section-header h2 {
    font-size: 20px;
    font-weight: 700;
    color: #222;
}

.home-section-more {
    font-size: 13px;
    color: #0056b3;
    text-decoration: none;
}

/* =========================================
   3. ACSA 4개 원형 카드 섹션 (bncl4)
   ========================================= */

#bncl4-ov-n1.home-section {
    padding-top: 32px;
}

/* 전체를 하나의 카드 박스처럼 */
#bncl4-ov-n1 .bncl4-card {
    background-color: #ffffff;
    border-radius: 14px;
    box-shadow: 0 4px 14px rgba(0,0,0,0.04);
    padding: 22px 20px 26px;
}

/* 타이틀 정리 */
#bncl4-ov-n1 .ttdv-n5-w {
    text-align: center;
    margin-bottom: 10px;
}

#bncl4-ov-n1 .ttdv-n5-1 {
    display: block;
    font-size: 18px;
    font-weight: 700;
    color: #222;
}

#bncl4-ov-n1 .ttdv-n5-2 {
    display: block;
    font-size: 13px;
    color: #666;
    margin-top: 4px;
}

/* 카드 4개 간 간격 조금 조정 */
#bncl4-ov-n1 .bncl4-ov-n1-w {
    background-color: #ffffff;
    border-radius: 12px;
    text-align: center;
    padding-bottom: 12px;
}

/* 하단 '자세히보기' */
#bncl4-ov-n1 .bncl4-ov-n1-5 {
    margin-top: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #0056b3;
}

/* 반응형 – 모바일에서는 위아래로 배치 */
@media (max-width: 768px) {
    #bncl4-ov-n1 .bncl4-card {
        padding: 18px 14px 22px;
    }
}

/* =========================================
   4. 입시 뉴스 리스트
   ========================================= */

.home-news-list {
    list-style: none;
    margin: 0;
    padding: 0;
    border-radius: 12px;
    background-color: #ffffff;
    box-shadow: 0 4px 14px rgba(0,0,0,0.04);
}

.home-news-list li + li {
    border-top: 1px solid #f1f1f1;
}

.home-news-list a {
    display: flex;
    flex-direction: column;
    padding: 12px 16px;
    text-decoration: none;
}

.home-news-date {
    font-size: 12px;
    color: #999;
    margin-bottom: 3px;
}

.home-news-title {
    font-size: 15px;
    font-weight: 600;
    color: #333;
    margin-bottom: 3px;
}

.home-news-meta {
    font-size: 12px;
    color: #666;
}

/* hover 효과 */
.home-news-list a:hover {
    background-color: #f7faff;
}

/* =========================================
   5. 대학별 모집요강 카드 그리드
   ========================================= */

.home-guides {
    padding-top: 24px;
}

.home-guide-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.home-guide-card {
    background-color: #ffffff;
    border-radius: 14px;
    padding: 18px 16px 20px;
    box-shadow: 0 4px 14px rgba(0,0,0,0.04);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 170px;
}

.home-guide-card h3 {
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 8px;
    color: #222;
}

.home-guide-card p {
    font-size: 13px;
    color: #666;
    margin-bottom: 14px;
}

.home-guide-link {
    align-self: flex-start;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    color: #0056b3;
    padding: 6px 12px;
    border-radius: 999px;
    background-color: #eef3ff;
}

/* 모집요강 카드 반응형 */
@media (max-width: 1024px) {
    .home-guide-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .home-guide-grid {
        grid-template-columns: 1fr;
    }
}

/* 메인 메뉴 텍스트 색상 */
#mainNavbar.navbar-default .navbar-nav > li > a {
    color: #ffffff;
}

/* 메인 메뉴 호버/활성 색상 */
#mainNavbar.navbar-default .navbar-nav > li > a:hover,
#mainNavbar.navbar-default .navbar-nav > li > a:focus,
#mainNavbar.navbar-default .navbar-nav > .open > a,
#mainNavbar.navbar-default .navbar-nav > .open > a:hover,
#mainNavbar.navbar-default .navbar-nav > .open > a:focus {
    color: #ffe76a;
    background-color: transparent;
}

/* 우측 작은 메뉴(Home / 커뮤니티 / 오시는길) 글씨 색 */
.tbtn-w .tbtn-1 {
    color: #ffffff;
}

/* 탑바 텍스트(Home / 커뮤니티 / 오시는길) */
.vtbr-w .vtbr-1 {
    color: #ffffff;
}

/* 상담신청서 강조 메뉴는 기존처럼 오렌지색 유지 */
.emphasis_text_red_yellow_menu {
    color: #ff9100 !important;
}

/* =========================================
   서브페이지 상단 비주얼(슬라이더가 아닌 페이지들)
   - 메뉴 아래 검정 띠 제거
   - 타이틀을 아래로 내리기 (데스크탑에서만)
   ========================================= */
@media (min-width: 769px) {
    #header + section:not(#slider-area) {
        background-color: transparent !important;
        box-shadow: none !important;
        border-bottom: none !important;
        padding-top: 120px;   /* 필요에 따라 나중에 숫자만 조정 */
    }
}


/* ============================================
   ACSA 메뉴 시스템 — 메인 페이지/서브 페이지 분리
   ============================================ */

/* ① 기본값: 모든 서브 페이지는 투명 메뉴 */
#header .navbar-fixed-top,
#mainNavbar.navbar-default,
.v-topbar.pbc-1 {
    background-color: transparent !important;
    border-color: transparent !important;
    transition: background-color 0.3s ease;
}

/* ② 메인 페이지 (class="main-page")만 검정 배경 */
.main-page #header .navbar-fixed-top,
.main-page #mainNavbar.navbar-default {
    background-color: rgba(0, 0, 0, 0.8) !important;
}

.main-page .v-topbar.pbc-1 {
    background-color: rgba(0, 0, 0, 0.0) !important;
}

/* =========================================
   메뉴 아래 하얀 선/테두리 완전 제거
   (Bootstrap 기본 border까지 모두 덮어쓰기)
   ========================================= */

#header .navbar-fixed-top,
#header .navbar,
#header .navbar-default,
section.navbar-fixed-top,
.navbar,
.navbar-default,
#mainNavbar,
#mainNavbar.navbar-default {
    border: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}