/* ========================================
   비주얼 영역 (h2 보정)
   ======================================== */
.visual.sub .sub_title h2 {
    font-size: 20px !important;
    font-weight: bold !important;
    color: #777 !important;
    margin: 0;
    padding: 0;
    line-height: 1.4;
}
.swiper-slide h2 {
    font-size: 26px;
    font-weight: bold;
    color: #fff;
    margin: 0 0 20px;
    padding: 0;
    line-height: 1.3;
}
@media all and (max-width: 479px) {
    .swiper-slide h2 {
        font-size: 18px;
    }
    .visual.sub .sub_title h2 {
        font-size: 16px !important;
    }
}

/* ========================================
   PC 헤더 — 사이트명·메뉴·아이콘 한 줄 정렬
   ======================================== */
@media all and (min-width: 480px) {
    .container .header.main,
    .container .header.sub {
        display: flex !important;
        align-items: center !important;
        padding: 10px 25px !important;
        height: auto !important;
        min-height: 50px !important;
        background: #ffffff !important;
        position: relative !important;
        z-index: 10 !important;
    }
    
    .container .header.main .logo-item,
    .container .header.sub .logo-item {
        order: 1 !important;
        float: none !important;
        position: static !important;
        margin: 0 !important;
        padding: 0 !important;
        flex-shrink: 0 !important;
    }
    .container .header.main .logo-item a,
    .container .header.sub .logo-item a {
        text-decoration: none !important;
    }
    .container .header.main .logo-item a span,
    .container .header.sub .logo-item a span {
        font-size: 24px !important;
        font-weight: bold !important;
        color: #333 !important;
        letter-spacing: -0.5px !important;
    }
    
    .container .header.main .gnb,
    .container .header.sub .gnb {
        order: 2 !important;
        float: none !important;
        position: static !important;
        margin: 0 0 0 auto !important;
        display: inline-flex !important;
        align-items: center !important;
    }
    
    .container .header.main .side,
    .container .header.sub .side {
        order: 3 !important;
        float: none !important;
        position: static !important;
        display: inline-flex !important;
        align-items: center !important;
        margin: 0 0 0 20px !important;
    }
}

/* ========================================
   모바일 헤더 — 검색·로그인 숨김 + 사이트명 크게
   ======================================== */
@media all and (max-width: 479px) {
    body,
    html {
        min-width: 0 !important;
        width: 100% !important;
    }
    
    .header .logo-item a span,
    header.header .logo-item a span {
        font-size: 20px !important;
        font-weight: bold !important;
        color: #333 !important;
    }
    
    /* 검색/설정/로그인 숨김 - 자식까지 */
    .side,
    .side *,
    .header .side,
    .header .side * {
        display: none !important;
    }
}

/* ========================================
   모바일 햄버거 버튼 시인성
   ======================================== */
@media all and (max-width: 479px) {
    #mobile_menu_btn .menu_bar .btn1,
    #mobile_menu_btn .menu_bar .btn2,
    #mobile_menu_btn .menu_bar .btn3 {
        background-color: #333 !important;
        border: 1px solid #fff !important;
        height: 4px !important;
        border-radius: 2px;
        box-shadow: 0 0 2px rgba(255,255,255,0.5);
        margin-bottom: 8px !important;
    }
    #mobile_menu_btn .menu_bar .btn3 {
        margin-bottom: 0 !important;
    }
}

/* ========================================
   메인 소셜미디어 섹션 글씨
   ======================================== */
.main_content .main4 ul li h2 {
    font-size: 22px !important;
    font-weight: bold !important;
    margin-bottom: 10px !important;
}
@media all and (max-width: 479px) {
    .main_content .main4 ul li h2 {
        font-size: 18px !important;
    }
}

/* ========================================
   모바일 메뉴 위계 구분
   ======================================== */
@media all and (max-width: 479px) {
    #gnb > ul > li > a {
        font-size: 14px !important;
        font-weight: 500 !important;
        color: #333 !important;
        padding: 14px 16px !important;
    }
    #gnb .depth2 li a {
        font-size: 14px !important;
        padding: 10px 16px 10px 36px !important;
        color: #999 !important;
        font-weight: normal !important;
    }
}

/* === 모바일 슬라이드 (Swiper container 모든 변형 대응) === */
@media screen and (max-width: 1024px) {
  html body [class*="swiper-container"] {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
  }
  html body [class*="swiper-container"] .swiper-wrapper {
    height: auto !important;
  }
  html body [class*="swiper-container"] .swiper-slide {
    background-size: 100% auto !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
  }
}

@media screen and (max-width: 1024px) and (orientation: portrait) {
  html body [class*="swiper-container"] .swiper-slide {
    height: 56vw !important;
    min-height: 180px;
  }
}

@media screen and (max-width: 1024px) and (orientation: landscape) {
  html body [class*="swiper-container"] .swiper-slide {
    background-size: contain !important;
    height: 95vh !important;
  }
}

/* === 세로 모드 === */
@media screen and (max-width: 1024px) and (orientation: portrait) {
  html body [class*="swiper-container"] .swiper-slide {
    height: 50vw !important;
    min-height: 180px;
  }
}

/* === 가로 모드 === */
@media screen and (max-width: 1024px) and (orientation: landscape) {
  html body [class*="swiper-container"] .swiper-slide {
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-color: #000 !important;
    height: 100vh !important;
  }
}