/* 검수 A1 보정 — 메인(피그마 4107:34600) 섹션별 get_design_context 수치 반영.
   퍼블 fb-main.css 는 그대로 두고 여기서만 덮는다. 수치 출처는 노드 id 주석 참고. */

/* ── 공통 ─────────────────────────────────────────────── */
/* 피그마 텍스트 자간은 전부 -3%(size × -0.03). body 의 -0.03em 이 16px 기준 px 로 상속돼
   다른 크기 글자는 자간이 어긋나므로 요소마다 em 으로 다시 계산되게 한다. (특이도 0 → 명시 규칙이 우선) */
:where(.main-body main) * { letter-spacing: -0.03em; }

/* 전체보기(인스턴스 Frame 427320750): Regular 13 / lh normal / py 8 → 높이 32 */
.main-body main .more { line-height: 16px; } /* 텍스트 박스 16 */

/* ── 히어로 4107:34703 ─────────────────────────────────── */
.main-body .hero_stage { border-radius: 15.071px; }
.main-body .hero.is_open .hero_stage { border-radius: 0; }
/* 지금 보기: px13 py7 (테두리 포함) → 92×38 */
.main-body main .hero_cta { padding: 6px 12px; }
.main-body .hero_cta svg { margin-inline: 1px; } /* ▶ 프레임 9×9 */
/* 34710 제목 Bold(700) — 마스크용 <b> 의 UA bolder 가 700 → 900 으로 올리던 것 차단 (검증 V1) */
.main-body .hero_h b { font-weight: inherit; }

/* ── 검색 4107:34716 ──────────────────────────────────── */
.main-body .find { padding: 43.66px 0; }
.main-body .bigsearch {
  width: min(100%, 565.645px);
  border-width: 1.129px;
  /* 피그마 패딩(11.29 / 22.581)은 테두리 안쪽 포함 값 → 67.68 높이 */
  padding: 10.161px 10.161px 10.161px 21.452px;
}
.main-body .bigsearch input { line-height: normal; }
.main-body .bigsearch button { gap: 11.306px; padding: 13.548px 18.065px; }
.main-body .bigsearch button img { width: 13.548px; height: 13.548px; }
.main-body .quick { gap: 14px; }
.main-body .quick a { line-height: normal; }

/* ── 왜 프라이데이투어 4107:34750 ─────────────────────── */
@media (min-width: 1341px) {
  .main-body .why_grid { max-width: 1197px; margin-inline: auto; grid-template-columns: repeat(2, 588px); justify-content: space-between; }
  .main-body .why_card { display: block; padding: 0; }
  .main-body .why_art { position: absolute; }
  .main-body .why_art img { width: 100%; height: 100%; max-height: none; transform: none; }
  .main-body .why_card:nth-child(1) .why_art { left: 58px; top: 12px; width: 150px; height: 140px; }
  .main-body .why_card:nth-child(2) .why_art { left: 49px; top: 18px; width: 153px; height: 132px; }
  .main-body .why_card:nth-child(3) .why_art { left: 49px; top: 17px; width: 154px; height: 130px; }
  .main-body .why_card:nth-child(4) .why_art { left: 44.4px; top: 8.05px; width: 134.694px; height: 144.326px; }
  .main-body .why_txt { position: absolute; left: 237px; top: 30px; width: 300px; max-width: none; }
}

/* ── 상품 카드 공통(특별한 제안 34784 · 5대 투어 34845) ── */
@media (min-width: 577px) {
  .main-body .pcard { gap: 12px; }
}
.main-body .pcard_t { font-size: calc(16px * var(--fs)); font-weight: 400; }

/* ── 특별한 제안 4107:34784 ─────────────────────────────── */
.main-body .offer .sec_head,
.main-body .offer .pcards { max-width: 1192px; margin-inline: auto; }
/* 전체보기: 섹션 기준 top 137 = 헤드 top(100) + 37 */
.main-body .offer .sec_head_c ~ .more { top: 37px; bottom: auto; }

/* ── 허니문 4107:34795 ─────────────────────────────────── */
@media (min-width: 1341px) {
  .main-body .honey_left { min-height: 579px; justify-content: space-between; }
  .main-body .honey_left > .more,
  .main-body .honey .feat { margin-top: 0; }
}
.main-body .feat_b { flex: 1; }
.main-body .feat_b strong { line-height: normal; }
/* 34807 / 34814 / 34823 아이콘: 18 / 22(inset 8.33% → 18.333) / 22(inset → 17.875×19.406).
   퍼블 19×19 일괄은 크기·비율(방패 찌그러짐) 불일치 (검증 V1) */
@media (min-width: 577px) {
  .main-body .feat_i:nth-child(1) .feat_ico img { width: 18px; height: 18px; }
  .main-body .feat_i:nth-child(2) .feat_ico img { width: 18.333px; height: 18.333px; }
  .main-body .feat_i:nth-child(3) .feat_ico img { width: 17.875px; height: 19.406px; }
}

/* ── 5대 투어 4107:34845 ───────────────────────────────── */
.main-body .tours .t28 img { width: 33px; height: 32px; }
@media (min-width: 577px) {
  .main-body .tours_btns .obtn { width: 160px; padding: 13px 0; gap: 10px; justify-content: center; white-space: nowrap; } /* 피그마 내용폭 122.7 > 120 → 가운데 정렬 */
}

/* ── 지도 4107:34873 (핀·라벨·버튼만 맞춤) ── */
.main-body .map .t28 img { width: 26px; height: 26px; }
.main-body .map_box { border-radius: 20px; }
.main-body .map .pin button { gap: 0; }
.main-body .map .pin span {
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 4px;
  padding: 5px; /* p6 은 테두리 포함 */
  font-weight: 500;
  box-shadow: none;
}
.main-body .map .map_btn .obtn { background: transparent; padding: 13px 19px; gap: 10px; }

/* ── 머무를 곳 4107:35002 ──────────────────────────────── */
.main-body .stay .sec_head_center { margin-bottom: 42px; }
.main-body .stay .t28 img { width: 32px; height: 30px; }
.main-body .brands { margin-bottom: 70px; }
.main-body .brand_ttl i,
.main-body .brand_ttl b { line-height: normal; }
.main-body .brand_stats > span { gap: 0; padding: 14px 12px; } /* px13 py15 테두리 포함 → 75 */
.main-body .brand_stats b { line-height: normal; }
.main-body .stay .sec_head_row { margin-bottom: 28px; }
/* 제목 앞 세로선: Line 20 (16 × 3px), 글자까지 12 */
.main-body .stay .bar { padding-left: 12px; }
.main-body .stay .bar::before { width: 3px; top: 50%; bottom: auto; height: 16px; margin-top: -8px; border-radius: 0; }
.main-body .scard_chips b { gap: 0; padding: 4px 7px; font-size: 11px; } /* px8 py5 테두리 포함 → 24 */
.main-body .scard_chips b:has(img) { padding: 4px 5px; }
.main-body .scard_d { margin-top: -4px; } /* 제목-설명 gap 6 (카드 gap 10) */
.main-body .scard_chips b img { width: 12px; height: 12px; object-fit: scale-down; }

/* ── 플래너 4107:35145 ─────────────────────────────────── */
.main-body .planner_band { padding: 46px 24px 120px; border-radius: 8px; }
.main-body .planner_band p { margin-top: 12px; line-height: 1.3; color: #fff; }
.main-body .planner .t28 img { width: 31.245px; height: 30px; }
.main-body .panel_col:not(.panel_col_tl) .t20 { min-height: 34px; }
@media (min-width: 1441px) {
  /* 피그마 패널 left 305(밴드 240 기준 +65) — 좌우 대칭이 아니라 7.5px 오른쪽 */
  .main-body .panel { left: 7.5px; justify-content: center; }
  .main-body .panel_col { flex: none; width: 444px; }
  .main-body .panel_col_tl { width: 689px; }
  .main-body .panel_head { width: 683px; }
}
.main-body .pitem { padding: 15px; } /* p16 테두리 포함 → 112 */
.main-body .pitem_txt { gap: 0; line-height: normal; }
.main-body .pitem_t { margin: 3px 0 auto; line-height: normal; }
.main-body .days button { padding: 7px 11px; } /* px12 py8 테두리 포함 → 32 */
.main-body .stepper { min-width: 90px; padding: 0 12px; justify-content: center; gap: 10px; }
.main-body .stepper button { width: auto; min-width: 10.4px; font-size: 15px; line-height: 15px; }
.main-body .stepper b { min-width: 0; font-weight: 500; line-height: 19.2px; }
.main-body .stepper > span[aria-hidden] { margin-left: -10px; line-height: 19.2px; font-weight: 500; } /* 35179 "3일" 한 덩어리 Medium (검증 V1) */
.main-body #planner .days { margin-block: -2px; } /* fix-e 의 hover 여유 padding 2px 상쇄 → 헤더 32 */
.main-body .tl_item { padding: 15px; }
.main-body .tl_meta,
.main-body .tl_t { line-height: normal; }
/* 레일: 피그마 Group 427320721 (7 × 279, 선은 가운데) → 본문 x = 7 + 26 = 33 */
.main-body .tl_rail { width: 7px; background-size: 1px 100%; background-position: center; background-repeat: no-repeat; }
.main-body #planner .tl_item::before { left: -33px; }
.main-body .planner .obtn_sq { padding: 12px 15px; gap: 10px; } /* px16 py14 테두리 포함 → 44 */
.main-body .steps { margin-top: 33px; }
.main-body #planner .step { padding: 19px; border-radius: 8px; }
.main-body #planner .step b { background: rgba(0, 0, 0, 0.04); color: rgba(0, 0, 0, 0.5); line-height: normal; }
.main-body #planner .step strong { font-weight: 500; line-height: normal; }
.main-body #planner .step > span { line-height: 1.4; }

/* ── 매거진 4107:35230 ─────────────────────────────────── */
.main-body .mag_bg::after { background: rgba(0, 0, 0, 0.15); }
.main-body .mag .sec_head_sub { color: #fff; }
.main-body .mag .t28 img { width: 29px; height: 34px; }
@media (min-width: 1181px) {
  .main-body .mcards { max-width: 1196px; margin-inline: auto; height: 451px; }
  .main-body .mcard { max-height: none; }
  .main-body .mcard_b { height: 141px; }
  .main-body .mcard_full { padding: 0 19.33px 0 23.33px; }
  .main-body .mcard_full .mcard_b { height: auto; }
}
@media (max-width: 1180px) {
  .main-body .mcard_date { padding-top: 14px; }
}
.main-body .mcard_b { gap: 0; }
.main-body .mcard_cat { line-height: 1.3; }
.main-body .mcard_t { margin-top: 5px; font-weight: 500; line-height: 1.3; }
.main-body .mcard_d { margin-top: 10px; font-size: calc(13px * var(--fs)); color: rgba(0, 0, 0, 0.7); }
.main-body .mcard_date { margin-top: auto; padding-top: 0; font-size: 11px; line-height: 1.3; color: rgba(0, 0, 0, 0.5); }
/* 가운데 전면 이미지 카드: 흰 박스 left 23.33 / w356 / p20 / gap17, 이미지 하단 그라데이션 */
.main-body .mcard_full .mcard_date { margin-top: 17px; }
.main-body .mcard_full .mcard_fig::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 45.565%, rgba(0, 0, 0, 0.6) 67.627%);
  pointer-events: none;
}

/* ── 가이드 · 커뮤니티 4107:35267 ──────────────────────── */
.main-body .board_grid { max-width: 1196px; margin-inline: auto; align-items: center; }
.main-body .board .sec_head_row { margin-bottom: 28px; padding: 3px 0; }
.main-body .board .t20 { font-size: calc(22px * var(--fs)); line-height: normal; }
.main-body .board .more { padding: 4px 0; }
@media (min-width: 1181px) {
  .main-body .board_col:first-child { display: flex; flex-direction: column; height: 467px; }
  .main-body .glist { flex: 1; justify-content: space-between; gap: 0; }
  .main-body .clist { height: 413px; justify-content: space-between; gap: 0; }
}
.main-body .glist a { gap: 12px; padding: 19px; } /* p20 테두리 포함 */
.main-body .glist .chip_g { padding: 4px 6px; background: #e5f4ef; font-size: 12px; }
.main-body .glist strong { font-weight: 500; line-height: 1.3; }
.main-body .glist span { margin-top: -6px; color: rgba(0, 0, 0, 0.7); }
.main-body .clist a { gap: 7px 20px; padding: 19px; }
.main-body .clist_meta { gap: 7px; }
.main-body .clist .chip { padding: 4px 6px; background: #f5f5f5; color: #444; }
.main-body .clist_meta i { font-size: 14px; line-height: 1.5; }
.main-body .clist strong { line-height: 1.5; }
.main-body .clist time { line-height: 1.5; color: rgba(0, 0, 0, 0.3); }
