/* ============================================================
   legacy-fix.css · v1 (2026-04-18)
   /web/* 페이지 skin-v2 — 레거시 #doc / .div-cont 반응형 보정
   목적: iPad(1024) 1158px 강제폭 / 모바일 고정폭 컨테이너 잘림 제거
   범위: body.skin-v2 #doc 전체 (홈 body.renewal에는 영향 없음)
   ============================================================ */

/* 0. 루트 — 가로스크롤 발생 지점 차단 */
body.skin-v2 { overflow-x: hidden; min-width: 0; }

/* 0b. 레거시 헤더/사이드네비 숨김 — 상단에 주입된 hero-nav로 통일 */
body.skin-v2 #header-wrap { display: none !important; }
body.skin-v2 #subNavi { display: none !important; }
body.skin-v2 #subNavi-wrap { display: none !important; }
/* 레거시 헤더가 margin-top:130px push하던 mcontainer 보정 */
body.skin-v2 #container-wrap.mcontainer { margin-top: 0 !important; }
@media (max-width:768px) {
  body.skin-v2 #container-wrap.mcontainer { margin-top: 0 !important; }
}

/* 0c. 주입된 hero-nav 상세페이지 공통 스타일 (다크 bg) */
body > .goldapple-topnav {
  position: sticky; top: 0; z-index: 1000;
  background: #1a1208;
  padding: 14px clamp(16px, 4vw, 48px);
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  border-bottom: 1px solid rgba(201,162,68,0.25);
  box-shadow: 0 4px 20px rgba(0,0,0,0.25);
}
body > .goldapple-topnav .hero-nav__brand { color: #f3efdf; }
body > .goldapple-topnav .hero-nav__brand img {
  height: 38px;
  width: auto;
  max-width: 200px;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,0.35));
}
/* PNG 로고에 'Gold Apple Project' 문구가 이미 포함돼 있어 텍스트 브랜드는 상세페이지에서 숨김 */
body > .goldapple-topnav .hero-nav__brand-text { display: none !important; }
body > .goldapple-topnav .hero-nav__menu {
  display: flex; gap: 22px; list-style: none; padding: 0; margin: 0;
}
body > .goldapple-topnav .hero-nav__menu a {
  color: rgba(243,239,223,0.85); text-decoration: none;
  font-family: 'JetBrains Mono',monospace;
  font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
  font-weight: 500; white-space: nowrap;
  transition: color 180ms ease;
  padding: 8px 0;
}
body > .goldapple-topnav .hero-nav__menu a:hover,
body > .goldapple-topnav .hero-nav__menu a[aria-current="page"] {
  color: #e6c06a;
}
body > .goldapple-topnav .hero-cta {
  background: #e6c06a; color: #1a1208;
  padding: 10px 18px; border-radius: 999px;
  font-family: 'JetBrains Mono',monospace;
  font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
  font-weight: 600; text-decoration: none; white-space: nowrap;
  transition: background 200ms ease, transform 200ms ease;
  min-height: 44px; display: inline-flex; align-items: center;
}
body > .goldapple-topnav .hero-cta:hover {
  background: #d8b55b; transform: translateY(-1px);
}

/* 모바일 햄버거 토글 */
body > .goldapple-topnav .nav-burger {
  display: none;
  background: transparent; border: 1px solid rgba(243,239,223,0.25);
  color: #f3efdf; padding: 8px 12px; border-radius: 6px;
  font-family: 'JetBrains Mono',monospace; font-size: 11px; letter-spacing: 0.14em;
  cursor: pointer; min-height: 44px; min-width: 44px;
}
body > .goldapple-topnav .nav-burger:focus { outline: 1px solid #e6c06a; outline-offset: 2px; }

@media (max-width: 900px) {
  body > .goldapple-topnav .hero-nav__menu { display: none; }
  body > .goldapple-topnav .nav-burger { display: inline-flex; align-items: center; justify-content: center; }
  body > .goldapple-topnav.nav-open {
    flex-wrap: wrap;
  }
  body > .goldapple-topnav.nav-open .hero-nav__menu {
    display: flex; flex-direction: column; gap: 0;
    width: 100%; order: 10;
    border-top: 1px solid rgba(243,239,223,0.15);
    margin-top: 12px; padding-top: 12px;
  }
  body > .goldapple-topnav.nav-open .hero-nav__menu li {
    border-bottom: 1px solid rgba(243,239,223,0.08);
  }
  body > .goldapple-topnav.nav-open .hero-nav__menu a {
    display: block; padding: 14px 0; font-size: 12px;
  }
}
/* 모바일/좁은 태블릿: 로고 PNG를 사과 아이콘만 크롭 (넓은 Gold Apple Project 텍스트 숨김) */
@media (max-width: 640px) {
  body > .goldapple-topnav { padding: 10px 14px; gap: 10px; }
  body > .goldapple-topnav .hero-nav__brand img {
    height: 36px;
    width: 36px;
    max-width: 36px;
    object-fit: cover;
    object-position: left center;
    flex-shrink: 0;
  }
  body > .goldapple-topnav .hero-cta {
    padding: 8px 14px; font-size: 10px; letter-spacing: 0.08em;
    flex-shrink: 0;
  }
  body > .goldapple-topnav .nav-burger {
    padding: 6px 10px; font-size: 10px;
    flex-shrink: 0;
  }
}
@media (max-width: 380px) {
  body > .goldapple-topnav { padding: 8px 10px; gap: 6px; }
  body > .goldapple-topnav .hero-cta { padding: 7px 10px; font-size: 9px; letter-spacing: 0.05em; }
  body > .goldapple-topnav .nav-burger { padding: 6px 8px; font-size: 9px; min-width: 40px; }
}
body.skin-v2 #doc {
  min-width: 0 !important;
  width: 100%;
  max-width: 100vw;
  overflow-x: hidden;
}
@media (max-width: 1280px) {
  body.skin-v2 #doc { min-width: 0 !important; }
}

/* 1. .div-cont 고정폭 1158px 해제 — 뷰포트 기준 */
body.skin-v2 #doc .div-cont {
  max-width: min(1158px, 100%) !important;
  width: 100%;
  padding-left: clamp(16px, 4vw, 40px);
  padding-right: clamp(16px, 4vw, 40px);
  box-sizing: border-box;
}

/* 2. .assets04 / .assets05 등 desktop position 오버플로우 해제 (범용) */
body.skin-v2 #doc .assets01,
body.skin-v2 #doc .assets02,
body.skin-v2 #doc .assets03,
body.skin-v2 #doc .assets04,
body.skin-v2 #doc .assets05,
body.skin-v2 #doc .mcont01 .assets04,
body.skin-v2 #doc .mcont01 .assets05 {
  position: relative !important;
  right: auto !important;
  left: auto !important;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 8px !important;
  box-sizing: border-box;
}

/* 2b. #header #logo (skin-v2에서 텍스트만 ::after로 그리는 로고) max-width 제한 */
body.skin-v2 #header #logo {
  max-width: 220px !important;
  overflow: hidden !important;
}

/* 2c. .mcont01 > .div-cont grid columns — nowrap 숫자로 터지는 현상 차단 */
body.skin-v2 #doc .mcont01 .div-cont {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}
body.skin-v2 #doc .mcont01 .div-cont > * {
  min-width: 0 !important;
  max-width: 100% !important;
}
body.skin-v2 #doc .mcont01 p {
  min-width: 0 !important;
  max-width: 100% !important;
}
body.skin-v2 #doc .mcont01 .assetcont {
  min-width: 0 !important;
  max-width: 100% !important;
}
body.skin-v2 #doc .mcont01 .assetcont p {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* ≤480 1열 그리드 유지 (theme-ga-v2에 이미 있는 규칙 보강) */
@media (max-width:480px) {
  body.skin-v2 #doc .mcont01 .div-cont {
    grid-template-columns: 1fr !important;
  }
}
/* 641~900 중간 뷰포트 — 3열로 완화 */
@media (min-width:481px) and (max-width:900px) {
  body.skin-v2 #doc .mcont01 .div-cont {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* 3. .sub-title-02 margin-left 리스크 제거 */
body.skin-v2 #doc .sub-title-02 {
  max-width: 100%;
  box-sizing: border-box;
  margin-left: 0 !important;
}

/* 4. .transfer-bottom min-width 해제 (갤럭시 360에서 400 초과) */
body.skin-v2 #doc .transfer-bottom {
  min-width: 0 !important;
  max-width: 100%;
  width: 100%;
  left: auto !important;
  transform: none !important;
  flex-wrap: wrap;
  gap: 8px;
  box-sizing: border-box;
}

/* 5. 모든 테이블 — 모바일/태블릿 가로 스크롤 허용 (withdrawal_list 등) */
body.skin-v2 #doc table {
  max-width: 100%;
  box-sizing: border-box;
  width: 100% !important;
}
body.skin-v2 #doc .table-wrap,
body.skin-v2 #doc .tableWrap,
body.skin-v2 #doc .scroll-x {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
@media (max-width: 768px) {
  /* TABLE 자체가 stage-content width를 넘는 경우 — 래퍼 없이도 스크롤 가능하도록 */
  body.skin-v2 #doc {
    overflow-x: hidden;
  }
  body.skin-v2 #doc table {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  body.skin-v2 #doc table tbody,
  body.skin-v2 #doc table thead,
  body.skin-v2 #doc table tr {
    display: table;
    width: max-content;
    min-width: 100%;
  }
}

/* 6. iOS 자동줌 방지 — input/textarea/select 16px 이상 */
@media (max-width: 768px) {
  body.skin-v2 #doc input,
  body.skin-v2 #doc textarea,
  body.skin-v2 #doc select { font-size: 16px !important; }
}

/* 7. 터치영역 44×44 — 모바일 앵커/버튼 */
@media (max-width: 768px) {
  body.skin-v2 #doc a,
  body.skin-v2 #doc button,
  body.skin-v2 #doc .btn,
  body.skin-v2 #doc input[type="button"],
  body.skin-v2 #doc input[type="submit"] {
    min-height: 44px;
  }
}

/* 8. body.skin-v2 전역 한글 break (공백 없는 긴 문자열) */
body.skin-v2 #doc,
body.skin-v2 #doc * {
  word-break: keep-all;
  overflow-wrap: break-word;
}

/* 9. 하네스 스캐너가 잡는 .bg-mark (홈 데코 워터마크) — 홈 전용이나 의도된 pointer-events:none
   스캐너 오탐 차단용 max-width 제한 */
.ga-v2 .s-assets .bg-mark,
.ga-v2 .s-activity .bg-mark {
  max-width: calc(100vw - 2px);
  overflow: hidden;
}

/* 10. 헤더/푸터 fixed 요소 모바일 적합화 */
@media (max-width: 768px) {
  body.skin-v2 #header-wrap { min-width: 0 !important; width: 100% !important; box-sizing: border-box; }
  body.skin-v2 #footer-wrap,
  body.skin-v2 #footer-wrap2 { min-width: 0 !important; width: 100% !important; box-sizing: border-box; }
}
