/**
 * 교육 모델/도구 페이지 — 히어로 헤더 모바일 대응 (DCF와 동일 톤)
 * - index 제외: 히어로 다음 형제가 .main-content 인 경우만 (intro-message 등은 제외)
 * - 모의투자 market 제외: #mktMainOuter
 * - 오늘의 뉴스: #news-app-root (히어로 직후 래퍼) — 규칙 전부 제외
 * - 투자증권 목록/대시보드: #firms-app-root — 흰 본문이 히어로와 겹침
 * - 친구 목록: #add-friend-app-root — 동일
 * - :has() 미지원 구형 브라우저에서는 일부 규칙만 적용됨
 */

/* 바깥 .main-content 래퍼에 음수 마진이 걸리지 않도록 */
body > .main-content {
  margin-top: 0 !important;
}

/* 데스크톱: 히어로(헤더) 세로 축소 + 카드 오버랩 -170px (#news-app-root·firms·add-friend 제외) */
@media (min-width: 1200px) {
  html body .main-content > header.hero-section.start:has(+ .main-content:not(#mktMainOuter):not(#firms-app-root):not(#add-friend-app-root):not(#news-app-root)) {
    min-height: 0 !important;
    height: auto !important;
    padding: calc(var(--navbar-height) + 1.25rem) 0 1.25rem 0 !important;
  }

  html body .main-content > header.hero-section.start:has(+ .main-content:not(#mktMainOuter):not(#firms-app-root):not(#add-friend-app-root):not(#news-app-root)) .headline-big {
    font-size: 2.05rem !important;
    line-height: 1.25 !important;
    margin-bottom: 0.6rem !important;
  }

  html body .main-content > header.hero-section.start:has(+ .main-content:not(#mktMainOuter):not(#firms-app-root):not(#add-friend-app-root):not(#news-app-root)) .small_words h4 {
    font-size: 1.02rem !important;
    line-height: 1.45 !important;
    margin-bottom: 0 !important;
  }

  html body .main-content > header.hero-section.start + .main-content:not(#mktMainOuter):not(#firms-app-root):not(#add-friend-app-root):not(#news-app-root) {
    margin-top: -170px !important;
    position: relative;
    z-index: 3;
  }
}

@media (max-width: 1199.98px) {
  /* 교육 도구 레이아웃이 있을 때만 상단 네비 톤 통일 */
  body:has(.main-content > header.hero-section.start + .main-content:not(#mktMainOuter):not(#firms-app-root):not(#add-friend-app-root):not(#news-app-root)) .navbar.fixed-top {
    background-color: #0b2242 !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12) !important;
  }

  /* style.css 히어로 음수 마진 제거 + 컴팩트 히어로 (텍스트 잘림 방지) */
  html body .main-content > header.hero-section.start:has(+ .main-content:not(#mktMainOuter):not(#firms-app-root):not(#add-friend-app-root):not(#news-app-root)) {
    margin-top: 0 !important;
    min-height: auto !important;
    height: auto !important;
    display: block !important;
    overflow: visible !important;
    padding: 1.25rem 1rem 1.5rem 1rem !important;
  }

  html body .main-content > header.hero-section.start:has(+ .main-content:not(#mktMainOuter):not(#firms-app-root):not(#add-friend-app-root):not(#news-app-root)) .cc-svg-overlay {
    top: 0 !important;
    height: 100% !important;
  }

  html body .main-content > header.hero-section.start:has(+ .main-content:not(#mktMainOuter):not(#firms-app-root):not(#add-friend-app-root):not(#news-app-root)) .container {
    margin-left: 0 !important;
    margin-right: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 1rem !important;
  }

  html body .main-content > header.hero-section.start:has(+ .main-content:not(#mktMainOuter):not(#firms-app-root):not(#add-friend-app-root):not(#news-app-root)) .headline-big {
    font-size: 1.8rem !important;
    line-height: 1.3 !important;
    margin-top: 0 !important;
    margin-bottom: 1.5rem !important;
    text-align: left !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }

  html body .main-content > header.hero-section.start:has(+ .main-content:not(#mktMainOuter):not(#firms-app-root):not(#add-friend-app-root):not(#news-app-root)) .small_words h4 {
    font-size: 1rem !important;
    line-height: 1.5 !important;
    margin-bottom: 1rem !important;
    text-align: left !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }

  html body .main-content > header.hero-section.start:has(+ .main-content:not(#mktMainOuter):not(#firms-app-root):not(#add-friend-app-root):not(#news-app-root)) .start_words,
  html body .main-content > header.hero-section.start:has(+ .main-content:not(#mktMainOuter):not(#firms-app-root):not(#add-friend-app-root):not(#news-app-root)) .small_words {
    width: 100% !important;
  }

  /* 안쪽 본문만 살짝 겹침 */
  html body .main-content > header.hero-section.start + .main-content:not(#mktMainOuter):not(#firms-app-root):not(#add-friend-app-root):not(#news-app-root) {
    margin-top: -24px !important;
    padding-top: 1.25rem !important;
  }

  html body .main-content > header.hero-section.start + .main-content:not(#mktMainOuter):not(#firms-app-root):not(#add-friend-app-root):not(#news-app-root) .input-card,
  html body .main-content > header.hero-section.start + .main-content:not(#mktMainOuter):not(#firms-app-root):not(#add-friend-app-root):not(#news-app-root) .hdg-input-card {
    margin-top: 0 !important;
  }
}

@media (max-width: 768px) {
  html body .main-content > header.hero-section.start:has(+ .main-content:not(#mktMainOuter):not(#firms-app-root):not(#add-friend-app-root):not(#news-app-root)) {
    padding: 1.25rem 1rem 1.5rem 1rem !important;
  }

  html body .main-content > header.hero-section.start + .main-content:not(#mktMainOuter):not(#firms-app-root):not(#add-friend-app-root):not(#news-app-root) {
    margin-top: -24px !important;
  }
}

@media (max-width: 576px) {
  html body .main-content > header.hero-section.start:has(+ .main-content:not(#mktMainOuter):not(#firms-app-root):not(#add-friend-app-root):not(#news-app-root)) {
    padding: 1.1rem 1rem 1.25rem 1rem !important;
  }

  html body .main-content > header.hero-section.start:has(+ .main-content:not(#mktMainOuter):not(#firms-app-root):not(#add-friend-app-root):not(#news-app-root)) .headline-big {
    font-size: 1.5rem !important;
    margin-bottom: 1.25rem !important;
  }

  html body .main-content > header.hero-section.start:has(+ .main-content:not(#mktMainOuter):not(#firms-app-root):not(#add-friend-app-root):not(#news-app-root)) .small_words h4 {
    font-size: 0.9rem !important;
    margin-bottom: 0.75rem !important;
  }

  html body .main-content > header.hero-section.start + .main-content:not(#mktMainOuter):not(#firms-app-root):not(#add-friend-app-root):not(#news-app-root) {
    margin-top: -20px !important;
  }
}

@media (max-width: 480px) {
  html body .main-content > header.hero-section.start:has(+ .main-content:not(#mktMainOuter):not(#firms-app-root):not(#add-friend-app-root):not(#news-app-root)) {
    padding: 1rem 0.875rem 1rem 0.875rem !important;
  }

  html body .main-content > header.hero-section.start:has(+ .main-content:not(#mktMainOuter):not(#firms-app-root):not(#add-friend-app-root):not(#news-app-root)) .headline-big {
    font-size: 1.3rem !important;
    margin-bottom: 1rem !important;
  }

  html body .main-content > header.hero-section.start:has(+ .main-content:not(#mktMainOuter):not(#firms-app-root):not(#add-friend-app-root):not(#news-app-root)) .small_words h4 {
    font-size: 0.85rem !important;
    margin-bottom: 0.75rem !important;
  }

  html body .main-content > header.hero-section.start + .main-content:not(#mktMainOuter):not(#firms-app-root):not(#add-friend-app-root):not(#news-app-root) {
    margin-top: -16px !important;
  }

  html body .main-content > header.hero-section.start:has(+ .main-content:not(#mktMainOuter):not(#firms-app-root):not(#add-friend-app-root):not(#news-app-root)) .container {
    padding: 0 0.75rem !important;
  }
}
