/* ===================================================================
   노원 JUMP — 시설 안내 페이지 전용 (1안 Wide 위에 추가)
   group.css 뒤에 로드. .fc-* 컴포넌트.
   =================================================================== */

/* 섹션 뱃지 바 앵커 이동 시 헤더+고정 바에 가리지 않도록 여백 보정 */
#floorplan, #party, #amenities, #food{ scroll-margin-top:180px; }
@media (max-width:900px){ #floorplan, #party, #amenities, #food{ scroll-margin-top:50px; } }  /* 모바일 네비 보정 — 액티비티 기준 통일 */

/* 전경도 / 층별 안내도 — 인터랙티브 (층 클릭 → 우측 미리보기 전환) */
.fc-plan{ display:grid; grid-template-columns:1.55fr 1fr; gap:40px; align-items:start; }
.fc-plan__view{ position:relative; }
.fc-plan__view .slot{ height:500px; border-radius:22px; transition:background .25s; }
.fc-plan__img{ display:block; width:100%; height:auto; border-radius:22px; border:1px solid var(--line); background:#fff; }
.fc-plan__view .badge{ position:absolute; top:20px; left:20px; z-index:2;
  font-family:var(--mono); font-size:12px; letter-spacing:.14em; padding:8px 14px;
  border-radius:999px; background:#fff; box-shadow:0 6px 16px rgba(20,20,30,.1); }
.fc-floors{ display:flex; flex-direction:column; gap:10px; }
.fc-floor{ display:flex; align-items:center; gap:16px; padding:18px 20px; cursor:pointer;
  border:1px solid var(--line); border-radius:14px; background:#fff; transition:.15s; text-align:left; width:100%; font:inherit; }
.fc-floor:hover{ border-color:var(--line-2); background:var(--bg-soft); }
.fc-floor.is-active{ border-color:var(--ink); background:var(--ink); color:#fff; }
.fc-floor .lvl{ font-family:var(--disp); font-size:24px; letter-spacing:-.02em; min-width:42px; }
.fc-floor .meta{ flex:1; }
.fc-floor .meta b{ display:block; font-size:16px; font-weight:800; letter-spacing:-.02em; }
.fc-floor .meta small{ font-size:13px; color:var(--mute); }
.fc-floor.is-active .meta small{ color:rgba(255,255,255,.7); }
.fc-floor .z{ width:12px; height:12px; border-radius:50%; flex-shrink:0; }

/* 좌우 분할 (파티존·푸드 인트로 등) */
.fc-split{ display:grid; grid-template-columns:1fr 1fr; gap:54px; align-items:center; }
.fc-split.rev .fc-split__media{ order:2; }
.fc-split__media .slot{ height:440px; border-radius:22px; }
.fc-split__img{ display:block; width:100%; height:440px; object-fit:cover; border-radius:22px; }
.fc-split__body h3{ font-size:34px; font-weight:800; letter-spacing:-.03em; line-height:1.15; }
.fc-split__body .desc{ margin-top:18px; color:#3a3a40; font-size:16px; line-height:1.78; }
.fc-rooms{ display:flex; gap:10px; margin-top:24px; flex-wrap:wrap; }
.fc-rooms span{ padding:8px 15px; border-radius:999px; background:var(--bg-soft);
  border:1px solid var(--line); font-size:13px; font-weight:600; }
.fc-rooms span b{ color:var(--pink); }
.fc-cta{ display:inline-flex; align-items:center; gap:10px; margin-top:28px;
  padding:15px 26px; border-radius:12px; background:var(--ink); color:#fff; font-weight:700; font-size:15px; transition:.15s; }
.fc-cta:hover{ opacity:.9; transform:translateY(-1px); }
.fc-cta svg{ width:18px; height:18px; }

/* 부대 및 편의시설 — 카드 그리드 */
.fc-amenities{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.fc-amenity{ border:1px solid var(--line); border-radius:18px; padding:20px; background:#fff; transition:.2s; }
.fc-amenity:hover{ transform:translateY(-3px); box-shadow:0 18px 40px rgba(20,20,30,.07); }
.fc-amenity .ic{ width:50px; height:50px; border-radius:13px; display:inline-flex; align-items:center; justify-content:center;
  background:rgba(3,122,184,.1); color:var(--blue); margin-bottom:18px; }
.fc-amenity .ic svg{ width:25px; height:25px; }
.fc-amenity:nth-child(4n+2) .ic{ background:rgba(233,34,133,.1); color:var(--pink); }
.fc-amenity:nth-child(4n+3) .ic{ background:rgba(247,185,36,.16); color:#b07d00; }
.fc-amenity:nth-child(4n) .ic{ background:rgba(42,168,106,.12); color:#2aa86a; }
.fc-amenity h4{ font-size:17px; font-weight:800; letter-spacing:-.02em; }
.fc-amenity h4 small{ font-weight:600; font-size:11px; color:var(--mute); letter-spacing:.02em; }
.fc-amenity p{ margin-top:8px; font-size:14px; line-height:1.65; color:var(--mute); }

/* 푸드존 — 매장 카드 */
.fc-food{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.fc-fcard{ border:1px solid var(--line); border-radius:20px; overflow:hidden; background:#fff; transition:.2s; }
.fc-fcard:hover{ transform:translateY(-3px); box-shadow:0 20px 44px rgba(20,20,30,.08); }
.fc-fcard .slot{ height:200px; border-radius:0; }
.fc-fcard__img{ display:block; width:100%; height:200px; object-fit:cover; }
.fc-fcard__body{ padding:26px 28px; }
.fc-fcard__body .tag{ font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--mute); }
.fc-fcard__body h4{ margin-top:8px; font-size:21px; font-weight:800; letter-spacing:-.02em; }
.fc-fcard__body p{ margin-top:10px; font-size:14.5px; line-height:1.7; color:var(--mute); }
.fc-fcard__body .where{ margin-top:14px; display:inline-flex; align-items:center; gap:7px; font-size:13px; font-weight:600; color:var(--pink); }

@media (max-width:900px){
  .fc-plan,.fc-split{ grid-template-columns:1fr; gap:28px; }
  .fc-split.rev .fc-split__media{ order:0; }
  .fc-amenities{ grid-template-columns:1fr 1fr; }
  .fc-food{ grid-template-columns:1fr; }
  /* 층 버튼: 1F·동그라미를 왼쪽으로 당겨 텍스트 공간 넓힘 */
  .fc-floor{ gap:10px; padding:16px 14px; }
  .fc-floor .lvl{ font-size:20px; min-width:28px; }
  /* 부대시설 카드: 영어를 아랫줄로, 구분점(·) 숨김 */
  .fc-amenity h4 small{ display:block; margin-top:3px; }
  .fc-amenity h4 small .sep{ display:none; }
  /* 파티존 "모두의 순간을 위한…" 제목 모바일 축소 */
  .fc-split__body h3{ font-size:26px; }
}
