/* ==========================================================================
   WordPress 보완 레이어 — v3 디자인 시스템 위에서만 동작한다.
   tokens-v3.css 가 정본이고, 이 파일은 WP 가 만들어내는 마크업
   (본문 콘텐츠, 아카이브, 페이지네이션, 댓글 없는 단일글)만 맞춘다.
   컴포넌트를 새로 정의하지 않는다.
   ========================================================================== */

.skip-link {
  position: fixed; top: 8px; left: 8px; z-index: 10;
  padding: 10px 14px; background: var(--accent); color: var(--on-accent);
  transform: translateY(-150%);
}
.skip-link:focus { transform: translateY(0); }

.head-wrap { position: sticky; top: 0; z-index: 5; }
@container (max-width: 760px) { .head-wrap { position: relative; } }

.legal { max-width: 70ch; color: var(--ink-dim); font-size: 0.75rem; padding: var(--pad); }

/* v3 홈 시안의 인라인 보정을 그대로 옮긴다 */
.guide-status { color: var(--ink-dim); font-size: var(--t-small); }
.guide-preview img { object-position: center 34%; }
.strip__item { transition: background-color var(--dur) var(--ease); }
.strip__item:hover { background: var(--bg-raised); }

/* --------------------------------------------------------------------------
   본문 흐름 — 페이지·단일글의 에디터 콘텐츠
   -------------------------------------------------------------------------- */

.entry {
  padding: clamp(2.5rem, 6cqi, 5rem) var(--pad);
  border-bottom: var(--rule);
}
.entry__head { margin-bottom: clamp(1.5rem, 3cqi, 2.5rem); }
.entry__meta { color: var(--ink-dim); font-size: var(--t-small); margin-top: 0.75rem; }

.prose { max-width: 68ch; display: grid; gap: 1.15rem; }
.prose > * { min-width: 0; }
.prose p, .prose li { line-height: 1.75; }
.prose h2 { font-size: var(--t-h4); font-weight: 800; letter-spacing: -0.02em; margin-top: 1.5rem; }
.prose h3 { font-size: var(--t-h5); font-weight: 800; letter-spacing: -0.02em; margin-top: 1rem; }
.prose a { color: var(--accent); text-decoration: underline; text-underline-offset: 4px; }
.prose ul, .prose ol { display: grid; gap: 0.6rem; padding-left: 1.2rem; }
.prose ul { list-style: disc; }
.prose ol { list-style: decimal; }
.prose li::marker { color: var(--accent); }
.prose img { height: auto; }
.prose blockquote {
  border-left: 2px solid var(--accent);
  padding: 0.6rem 0 0.6rem 1.2rem;
  color: var(--ink-dim);
}
.prose code {
  font-family: var(--font-mono); font-size: var(--t-mono);
  background: var(--bg-raised); padding: 0.15em 0.4em;
}
.prose table { width: 100%; border-collapse: collapse; }
.prose th, .prose td { border: var(--rule); padding: 0.6rem 0.8rem; text-align: left; }
.prose figcaption { color: var(--ink-dim); font-size: var(--t-small); margin-top: 0.5rem; }

/* --------------------------------------------------------------------------
   소식 아카이브
   -------------------------------------------------------------------------- */

.posts { display: grid; grid-template-columns: repeat(3, 1fr); border-top: var(--rule); }
.post-card {
  display: flex; flex-direction: column; gap: 0.75rem;
  padding: clamp(1.25rem, 2.5cqi, 2rem) var(--pad);
  border-right: var(--rule); border-bottom: var(--rule);
  min-height: 220px;
  transition: background-color var(--dur) var(--ease);
}
.post-card:hover { background: var(--bg-raised); }
.post-card__date { color: var(--ink-dim); font-size: var(--t-mono); font-family: var(--font-mono); }
.post-card__title { font-size: var(--t-h5); font-weight: 800; letter-spacing: -0.02em; line-height: 1.25; }
.post-card__excerpt { color: var(--ink-dim); font-size: var(--t-small); line-height: 1.6; }
.post-card__more { margin-top: auto; color: var(--accent); font-family: var(--font-mono); font-size: var(--t-mono); }
.post-card__shot { margin: calc(-1 * clamp(1.25rem, 2.5cqi, 2rem)) calc(-1 * var(--pad)) 0; overflow: hidden; }
.post-card__shot img { width: 100%; height: 180px; object-fit: cover; }

.pagination {
  display: flex; flex-wrap: wrap; gap: 0.5rem;
  padding: clamp(1.5rem, 3cqi, 2.5rem) var(--pad);
  font-family: var(--font-mono); font-size: var(--t-mono);
}
.pagination .page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 44px; min-height: 44px; padding: 0 0.75rem;
  border: var(--rule);
}
.pagination .page-numbers:hover { border-color: var(--accent); color: var(--accent); }
.pagination .current { background: var(--accent); color: var(--on-accent); border-color: var(--accent); }

.empty-note { padding: clamp(2rem, 5cqi, 4rem) var(--pad); color: var(--ink-dim); }

/* --------------------------------------------------------------------------
   센터 둘러보기 갤러리
   -------------------------------------------------------------------------- */

.shots { display: grid; grid-template-columns: repeat(2, 1fr); border-top: var(--rule); }
.shots figure { border-right: var(--rule); border-bottom: var(--rule); background: var(--bg-band); }
.shots img { width: 100%; height: clamp(240px, 30cqi, 420px); object-fit: cover; }
.shots figcaption { padding: 0.9rem var(--pad); color: var(--ink-dim); font-size: var(--t-small); }

.facts { display: grid; grid-template-columns: repeat(3, 1fr); border-top: var(--rule); }
.fact { padding: clamp(1.5rem, 3cqi, 2.25rem) var(--pad); border-right: var(--rule); border-bottom: var(--rule); }
.fact dt { color: var(--ink-dim); font-size: var(--t-mono); font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 0.04em; }
.fact dd { margin-top: 0.5rem; font-size: var(--t-h5); font-weight: 800; letter-spacing: -0.02em; }
.fact dd + dd { margin-top: 0.25rem; font-size: var(--t-body); font-weight: 400; letter-spacing: 0; color: var(--ink-dim); }

/* --------------------------------------------------------------------------
   404
   -------------------------------------------------------------------------- */

.notfound { padding: clamp(3rem, 8cqi, 7rem) var(--pad); display: grid; gap: 1.25rem; justify-items: start; }

/* --------------------------------------------------------------------------
   접힘 — v3 는 뷰포트가 아니라 .mto 컨테이너 폭으로 판단한다
   -------------------------------------------------------------------------- */

@container (max-width: 1000px) {
  .posts { grid-template-columns: repeat(2, 1fr); }
  .facts { grid-template-columns: repeat(2, 1fr); }
}
@container (max-width: 760px) {
  .posts { grid-template-columns: 1fr; }
  .facts { grid-template-columns: 1fr; }
  .shots { grid-template-columns: 1fr; }
}

/* 센터 둘러보기 (2026-10-01) — 사진 카드. 사진은 컬러 그대로(흑백 필터 없음) */
.center-hero { display: grid; border-top: var(--rule); }
.center-hero__img { aspect-ratio: 16 / 9; overflow: hidden; background: var(--bg-band); }
.center-hero__img img { width: 100%; height: 100%; object-fit: cover; }
.center-hero__lead { padding: 1.25rem var(--pad) 1.5rem; font-size: var(--t-h5); font-weight: 700; line-height: 1.45; }
.ccards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--rule-color); border-top: var(--rule); border-bottom: var(--rule); }
.ccards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ccard { margin: 0; background: var(--bg); display: grid; }
.ccard__img { aspect-ratio: 16 / 10; overflow: hidden; background: var(--bg-band); display: grid; place-items: center; }
.ccard__img img { width: 100%; height: 100%; object-fit: cover; }
.ccard__wait { font-family: var(--font-mono); font-size: 0.8rem; color: var(--ink-dim); }
.ccard figcaption { display: grid; gap: 0.2rem; padding: 0.9rem var(--pad) 1.1rem; }
.ccard figcaption strong { font-size: 1.1rem; font-weight: 800; }
.ccard figcaption span { color: var(--ink-dim); font-size: var(--t-small); }
@container (min-width: 1000px) { .ccards { grid-template-columns: repeat(3, minmax(0, 1fr)); } .center-hero { grid-template-columns: 2fr 1fr; align-items: end; } .center-hero__lead { padding-bottom: 2rem; } }
@container (max-width: 560px) { .ccards, .ccards--3 { grid-template-columns: minmax(0, 1fr); } .facts { grid-template-columns: minmax(0, 1fr); } }

.tanning { display: flex; align-items: center; gap: 14px; padding: 1rem var(--pad); border-bottom: var(--rule); color: var(--ink-dim); }
.tanning img { flex: none; width: 96px; height: 72px; border-radius: 6px; object-fit: cover; }
.tanning p { display: grid; gap: 2px; font-size: var(--t-small); }
.tanning strong { color: var(--ink); font-size: 1rem; }

/* 대표 사진 옆 칸 — 위: 주소, 아래: 규모 + 한 줄 (2026-10-01 회의) */
.center-hero__side { display: flex; flex-direction: column; justify-content: space-between; gap: 1.25rem; padding: 1.25rem var(--pad) 1.5rem; }
.center-hero__addr { font-family: var(--font-mono); font-size: 0.85rem; letter-spacing: 0.02em; line-height: 1.5; color: var(--accent); }
.center-hero__big { font-family: var(--font-display); font-weight: 900; font-size: var(--t-h3); line-height: 1.1; letter-spacing: -0.02em; }
.center-hero__side .center-hero__lead { padding: 0.6rem 0 0; font-size: 1.05rem; font-weight: 500; color: var(--ink-dim); }
@container (min-width: 1000px) { .center-hero { align-items: stretch; } .center-hero__side { padding: 1.75rem var(--pad) 2rem; } }
