/* ==============================================
   responsive.css — Phase 9 모바일/반응형 최적화
   법인설립지원센터 파트너스
   ============================================== */


/* -----------------------------------------------
   ≤1024px — 태블릿
   ----------------------------------------------- */

@media (max-width: 1024px) {

  /* 섹션 타이틀 */
  .section-title {
    font-size: 34px;
  }

  .section-subtitle {
    font-size: 17px;
  }

  .section-header {
    margin-bottom: 48px;
  }

}


/* -----------------------------------------------
   ≤768px — 모바일 공통
   ----------------------------------------------- */

@media (max-width: 768px) {

  /* ------ 전역 타이포그래피 ------ */

  .section-title {
    font-size: 28px;
    letter-spacing: -0.03em;
  }

  .section-subtitle {
    font-size: 15px;
    line-height: 1.7;
  }

  .section-header {
    margin-bottom: 36px;
  }

  /* ------ 전역 섹션 패딩 ------ */

  /* .section 클래스를 사용하는 섹션 일괄 적용 */
  .section {
    padding: var(--section-padding-mobile, 80px 0);
  }


  /* ------ 히어로 배경 비디오 — 모바일 성능 최적화 ------ */

  .hero__video-wrap {
    display: none;
  }


  /* ------ 히어로 모바일: 인물 이미지+목업 전체 숨김 ------ */
  /* fold 아래로 밀려 전환 기여 없음 (리뷰어 피드백) */
  .hero__mockup {
    display: none;
  }

  /* ------ 히어로 Aurora blob 모바일: overflow 방지 ------ */
  /* blob--2가 right:-80px으로 뷰포트 밖으로 나가 horizontal overflow 유발 */
  .hero__blob--2 {
    display: none;
  }


  /* ------ 활동 포토 스트립 — 전체 너비 단일 컬럼 ------ */

  .activity__photo-strip {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 24px;
  }

  .activity__photo-item {
    height: auto;
    aspect-ratio: 16 / 9;
    border-radius: 12px;
    width: 100%;
  }


  /* ------ Section 9: Review (누락 반응형) ------ */

  .review {
    padding: 80px 0;
  }

  .review__card {
    padding: 24px;
  }

  .review__text {
    font-size: 14px;
  }


  /* ------ Dashboard Preview 추가 조정 ------ */

  .dashboard-preview {
    padding: 80px 0;
  }

  .dashboard__title {
    font-size: 26px;
  }

  .dashboard__desc {
    font-size: 15px;
  }


  /* ------ 버튼 탭 영역 최소 확보 ------ */

  .btn {
    min-height: 44px; /* iOS HIG 권장 최소 터치 크기 */
  }


  /* ------ 모바일 하단 바 콘텐츠 가림 방지 ------ */

  /* 푸터 하단에 모바일 바 높이만큼 여백 추가 */
  .footer {
    padding-bottom: calc(32px + 60px + env(safe-area-inset-bottom, 0px));
  }

  /* ------ Sprint 3: 피드백 반영 모바일 개선 ------ */

  /* S03 Growth — 모바일 중앙 정렬 */
  .growth__content {
    text-align: center;
  }
  .growth__stats {
    justify-content: center;
  }
  .growth__title {
    font-size: 26px;
  }

  /* S06 Activity — 모바일 중앙 정렬 */
  .activity__card {
    text-align: center;
  }
  .activity__card-icon {
    margin: 0 auto 16px;
  }

  /* S07 Process — Swiper 페이지네이션 간격 확보 */
  .process__swiper {
    padding-bottom: 44px !important;
  }
  .process__pagination {
    margin-top: 20px;
    position: relative;
    bottom: auto;
  }

  /* S08 Dashboard — 수치 한줄 표시 */
  .dashboard__mockup-stat-val {
    font-size: 13px;
    white-space: nowrap;
  }
  .dashboard__mockup-stat-card {
    padding: 8px 6px;
    min-width: 0;
  }

  /* S10 Trust — 모바일 숨김 (리뷰어 피드백) */
  .trust {
    display: none;
  }

  /* S12 Bottom CTA — 사이드 장식 모바일 숨김 */
  .bottom-cta__circle {
    display: none;
  }
  .bottom-cta__container {
    padding: 40px 20px;
  }

}


/* -----------------------------------------------
   ≤480px — 소형 모바일
   ----------------------------------------------- */

@media (max-width: 480px) {

  /* 컨테이너 패딩 축소 */
  .container {
    padding: 0 16px;
  }

  /* 타이포그래피 추가 축소 */
  .section-title {
    font-size: 24px;
  }

  .section-subtitle {
    font-size: 14px;
  }

  /* 히어로 */
  .hero__badge {
    font-size: 12px;
  }

  .hero__trust {
    font-size: 12px;
    flex-wrap: wrap;
    gap: 4px 8px;
  }

  .hero__trust-divider {
    display: none;
  }

  /* 활동 포토 — 소형 모바일에서 비율 유지 */
  .activity__photo-item {
    aspect-ratio: 3 / 2;
  }


  /* 파트너 신청 폼 */
  .bottom-sheet__body {
    padding: 20px 16px;
  }


  /* Bottom CTA */
  .bottom-cta__title {
    font-size: 24px;
  }

  .bottom-cta__desc {
    font-size: 14px;
  }

}


/* -----------------------------------------------
   iOS Safari 특수 대응
   ----------------------------------------------- */

/* Safe Area 인셋 — 노치/홈인디케이터 */
@supports (padding-bottom: env(safe-area-inset-bottom)) {

  /* 모바일 하단 바: 노치 기기에서 홈 인디케이터 영역 확보 */
  .mobile-bottom-bar {
    padding-bottom: env(safe-area-inset-bottom);
    height: auto;
    min-height: 60px;
  }

  /* 바텀시트: 아이폰 X+ 홈 인디케이터 영역 */
  @media (max-width: 768px) {
    .bottom-sheet {
      padding-bottom: env(safe-area-inset-bottom);
    }
  }

}

/* 100vh iOS 버그 대응 (svh 미지원 구형 iOS용 폴백) */
@supports not (min-height: 100svh) {
  .hero {
    min-height: -webkit-fill-available;
  }
}


/* -----------------------------------------------
   접근성: 애니메이션 감소 선호
   ----------------------------------------------- */

@media (prefers-reduced-motion: reduce) {

  /* 배경 비디오 — 모션 감소 선호 시 숨김 */
  .hero__video-wrap {
    display: none;
  }

  /* 모든 CSS 애니메이션/트랜지션 즉각 완료 */
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  /* AOS 애니메이션 즉시 표시 */
  [data-aos] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  /* 파티클 / 플로팅 아이콘 애니메이션 중지 */
  .hero__particle,
  .njob__icon {
    animation: none !important;
  }

  /* 대시보드 목업 3D 트랜스폼 제거 */
  .dashboard__mockup {
    transform: none !important;
  }

  /* 차트 바 즉시 표시 */
  .growth__bar-fill {
    transition: none !important;
  }

}


/* -----------------------------------------------
   고해상도 디스플레이 (Retina) 보정
   ----------------------------------------------- */

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {

  /* 1px 선 더 명확하게 */
  .header__progress {
    height: 2px;
  }

}


/* -----------------------------------------------
   인쇄 스타일
   ----------------------------------------------- */

@media print {

  /* 불필요 요소 숨기기 */
  .header,
  .floating-cta,
  .mobile-bottom-bar,
  .hero__particles,
  .hero__grid-overlay,
  .njob__icons,
  #sheet-apply,
  .sheet-overlay,
  #modal-exit,
  .modal-overlay {
    display: none !important;
  }

  /* 배경색 강제 제거 (잉크 절약) */
  body {
    background: #fff !important;
    color: #000 !important;
  }

  .hero {
    background: #153B84 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* 페이지 분할 방지 */
  .section,
  .proof__card,
  .value__card,
  .activity__card,
  .process__step,
  .faq__item {
    break-inside: avoid;
  }

}

/* ===== 오늘(03-31) 피드백 반영 ===== */

/* [03] 섹션명-헤드카피 줄 간격 */
.section-header .badge {
  margin-bottom: 16px;
}

/* [12] 모바일 메뉴 z-index 보강 */
@media (max-width: 768px) {
  .header__mobile-menu {
    z-index: 9999 !important;
  }
}

/* [13] 모바일 CTA 잘림 수정 */
@media (max-width: 480px) {
  .bottom-cta__container {
    overflow: visible;
    padding-left: 20px;
    padding-right: 20px;
  }
  .bottom-cta__circle {
    display: none;
  }
}

/* [14][15] 모바일 dashboard/earn-route 중앙정렬 */
@media (max-width: 768px) {
  .earn-route__step {
    text-align: center;
  }
  .earn-route__bonus {
    flex-direction: column;
    text-align: center;
  }
  .dashboard__mockup-stats {
    justify-content: center;
  }
}

/* [16][17] 모바일 activity 버튼 중앙정렬 */
@media (max-width: 768px) {
  .activity__card {
    align-items: center;
    text-align: center;
  }
  .activity__card-badge {
    align-self: center;
  }
}
