/*
Theme Name: 맵콕
Description: 장소 데이터베이스형 미디어 맵콕 — coastal-mint(라이트) / ink-and-stone(다크) 2-테마. 피그마 시안 확정본 (2026-08-24).
Version: 0.10.6
Author: 맵콕
Text Domain: mapkok
*/

:root {
  /* coastal-mint — 라이트 (기본) */
  --bg:          #F4FBF9;
  --hero-bg:     #D3EDE6;
  --hero-ink:    #1D2D26;
  --text:        #3B4F45;
  --heading:     #2A3D36;
  --label:       #44615A;   /* 대비 강화 (시인성 — 구 #507268은 소형 텍스트에서 4:1 미달) */
  --muted:       #4C6A61;
  --line:        #D3EDE6;
  --accent:      #FF6B6B;   /* 코랄 — 링크·태그·보조 버튼 */
  --btn-bg:      #2A3D36;
  --btn-fg:      #FFFFFF;
  --chip-bg:     #F4FBF9;
  --chip-fg:     #2A3D36;
  --card-bg:     #FFFFFF;
  --card-border: #D3EDE6;
  --card-bw:     1.5px;
  --info-border: 0 solid transparent;
  --info-pad:    0 2px;
  --hero-border: 0 solid transparent;
  --r-btn:       999px;
  --r-chip:      999px;
  --r-card:      20px;
  --r-thumb:     16px;
  --font-body:    "Sora", "Pretendard Variable", Pretendard, -apple-system, "Malgun Gothic", sans-serif;
  --font-heading: "Sora", "Pretendard Variable", Pretendard, -apple-system, "Malgun Gothic", sans-serif;
  --font-hero:    "Sora", "Pretendard Variable", Pretendard, -apple-system, "Malgun Gothic", sans-serif;
  --hero-weight:  600;
}

@media (prefers-color-scheme: dark) {
  :root {
    /* ink-and-stone — 다크 (야간) */
    --bg:          #111111;
    --hero-bg:     #1A1919;
    --hero-ink:    #F0F5F9;
    --text:        #CCCCCC;
    --heading:     #DCEEFF;
    --label:       #8A9BA8;
    --muted:       #888888;
    --line:        rgba(255, 255, 255, 0.18);
    --accent:      #DCEEFF;
    --btn-bg:      #DCEEFF;
    --btn-fg:      #111111;
    --chip-bg:     #2C3E50;
    --chip-fg:     #DCEEFF;
    --card-bg:     #1A1919;
    --card-border: rgba(255, 255, 255, 0.25);
    --card-bw:     1px;
    --info-border: 1px solid rgba(255, 255, 255, 0.25);
    --info-pad:    4px 16px;
    --hero-border: 1px solid rgba(255, 255, 255, 0.25);
    --r-btn:       4px;
    --r-chip:      4px;
    --r-card:      8px;
    --r-thumb:     8px;
    --font-heading: "Crimson Pro", "Noto Serif KR", serif;
    --font-hero:    "Crimson Pro", "Noto Serif KR", serif;
    --hero-weight:  600;
  }
}

* { margin: 0; padding: 0; box-sizing: border-box; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body {
  background: var(--bg); color: var(--text);
  font-family: var(--font-body); font-size: 16px; line-height: 1.75;
  word-break: keep-all;
}
a { color: var(--accent); }
img { max-width: 100%; height: auto; display: block; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

.mk-wrap { max-width: 720px; margin: 0 auto; padding: 0 20px; }      /* 읽기 폭 — 한글 30~40자 */
.mk-wrap-wide { max-width: 1200px; margin: 0 auto; padding: 0 20px; } /* 훑는 화면(그리드)·헤더·푸터 */

/* ── 헤더 ─────────────────────────── */
.site-header { border-bottom: 1px solid var(--line); background: var(--bg); }
.site-header .mk-wrap-wide { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 16px; padding-top: 14px; padding-bottom: 12px; }
.site-logo { font-family: var(--font-heading); font-weight: 800; font-size: 22px; text-decoration: none; color: var(--heading); }
.site-logo .kok { color: var(--accent); } /* 콕은 코랄 — 로고 시그니처 (2026-08-28 확정) */
.site-tagline { font-size: 13.5px; color: var(--muted); }
.site-nav { margin-left: auto; display: flex; gap: 6px; order: 2; }
/* 헤더 검색 (2026-09-04 홈 히어로에서 이동): 데스크톱은 메뉴 앞 한 줄, 모바일은 두 번째 줄 전체 폭 */
.site-header .mk-search-head { margin: 0; order: 3; flex: 1 1 100%; padding: 8px 14px; }   /* .mk-search 의 margin-top:20px 를 이겨야 한다 (특이도) */
@media (min-width: 640px) { .site-header .mk-search-head { order: 4; flex: 0 1 300px; margin: 0 0 0 8px; } .site-nav { order: 3; } }   /* 로고 · (여백) · 메뉴 · 검색 */
.site-nav a { color: var(--heading); text-decoration: none; font-weight: 700; font-size: 14.5px; padding: 8px 10px; }
.site-nav a:hover { color: var(--accent); }

/* ── 인용 히어로 (민트 밴드) ─────────── */
.mk-hero {
  background: var(--hero-bg); border-bottom: var(--hero-border);
  padding: 44px 0 26px; animation: mk-fade .4s ease-out;
}
@keyframes mk-fade { from { opacity: 0 } to { opacity: 1 } }
@media (prefers-reduced-motion: reduce) { .mk-hero { animation: none } }
.mk-breadcrumb { display: flex; flex-wrap: wrap; gap: 6px; font-size: 12.5px; color: var(--label); margin-bottom: 10px; align-items: center; }
.mk-breadcrumb a { color: var(--label); text-decoration: none; padding: 8px 2px; display: inline-block; }
.mk-breadcrumb a:hover { text-decoration: underline; }
.mk-hero h1 {
  font-family: var(--font-hero); font-weight: var(--hero-weight);
  color: var(--hero-ink); font-size: 22px; line-height: 1.65; max-width: 34ch;
}
@media (min-width: 640px) { .mk-hero h1 { font-size: 26px; } }
/* 장소 상세: H1 = 상호, 그 아래 낫표 정의문장 (2026-08-28) */
.mk-hero .mk-place-title { font-weight: 800; color: var(--heading); font-size: 24px; letter-spacing: -0.01em; line-height: 1.4; }
@media (min-width: 640px) { .mk-hero .mk-place-title { font-size: 28px; } }
.mk-place-def-quote {
  margin-top: 8px; font-family: var(--font-hero); font-weight: 600;
  color: var(--hero-ink); font-size: 16.5px; line-height: 1.7; max-width: 40ch;
}
.mk-hero-meta { margin-top: 16px; font-size: 13px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.chip {
  display: inline-block; background: var(--chip-bg); color: var(--chip-fg);
  border-radius: var(--r-chip); padding: 7px 14px; font-size: 12.5px; font-weight: 700; text-decoration: none;
}
a.chip:hover { background: var(--btn-bg); color: var(--btn-fg); }
.mk-verified { margin-left: auto; color: var(--label); font-size: 12.5px; }
/* 기록(record) 장소 배지 — 회색 외곽선. 확인·협력매장 배지는 2026-09-03 사용자 결정으로 화면에서 제거 */
.mk-source {
  display: inline-block; border-radius: var(--r-chip); padding: 2px 10px; font-size: 12px; font-weight: 600;
  border: 1px solid var(--label); background: transparent; color: var(--label); white-space: nowrap;
}
.mk-hero .mk-source { margin-left: auto; }
.mk-source-note { margin: 0 0 10px; font-size: 13px; color: var(--label); }
.mk-info .mk-info-note dd { font-size: 12.5px; color: var(--label); }

/* ── 사진 스와이프 ─────────────────── */
.mk-photos { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; margin: 20px 0; -webkit-overflow-scrolling: touch; }
.mk-photos figure { flex: 0 0 86%; scroll-snap-align: start; }
.mk-photos img { aspect-ratio: 3/2; object-fit: cover; border-radius: var(--r-thumb); width: 100%; }

/* ── 정보 블록 ─────────────────────── */
.mk-info { border: var(--info-border); border-radius: 8px; padding: var(--info-pad); margin: 20px 0; }
.mk-info .row { display: grid; grid-template-columns: 84px 1fr; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.mk-info .row:last-child { border-bottom: none; }
.mk-info dt { font-weight: 800; font-size: 14px; color: var(--label); }
.mk-info dd { font-size: 15px; color: var(--text); font-variant-numeric: tabular-nums; }

/* ── 지도 임베드 ───────────────────── */
.mk-map { margin: 16px 0 0; }
.mk-map iframe { width: 100%; aspect-ratio: 16 / 10; border: 0; border-radius: var(--r-thumb); display: block; }
@media (prefers-color-scheme: dark) { .mk-map iframe { filter: brightness(.85) contrast(1.05); } }

/* ── 이 장소가 실린 글 ─────────────── */
.mk-linked-posts { list-style: none; display: grid; gap: 8px; }
.mk-linked-posts a { font-weight: 700; }

/* ── 버튼 ──────────────────────────── */
.mk-actions { display: flex; gap: 10px; margin: 24px 0 36px; }
.mk-btn { flex: 1; text-align: center; padding: 14px 0; border-radius: var(--r-btn); font-weight: 800; text-decoration: none; font-size: 14.5px; }
.mk-btn-primary, button.mk-btn-primary { background: var(--btn-bg); color: var(--btn-fg); border: none; cursor: pointer; font-size: 14.5px; font-weight: 800; padding: 14px 24px; border-radius: var(--r-btn); }
a.mk-btn-primary { color: var(--btn-fg); }
.mk-btn-secondary { border: 2px solid var(--accent); color: var(--accent); }
/* 장소 상세 연락 버튼 (피그마 place-v2): 길찾기 = 코랄 칠, 전화 걸기 = 코랄 아웃라인 */
a.mk-btn-coral { background: var(--accent); border: 1.5px solid var(--accent); color: #fff; }
a.mk-btn-coral-line { border: 1.5px solid var(--accent); color: var(--accent); }
@media (prefers-color-scheme: dark) { a.mk-btn-coral { color: #111111; } }

/* ── 본문·FAQ ──────────────────────── */
.mk-body h2, .mk-section-title { font-family: var(--font-heading); font-size: 17px; margin: 36px 0 12px; font-weight: 800; color: var(--heading); }
.mk-body p { margin-bottom: 1em; }

/* ── 글 섹션 문법 (docs/contentpipe-rest.md §2 슬롯) ── */
.mk-lead { font-size: 17px; line-height: 1.8; font-weight: 500; color: var(--heading); margin: 26px 0 12px; }
.mk-body > h2 { margin-top: 44px; padding-top: 22px; border-top: 1px solid var(--line); }
.mk-body > h2:first-child { margin-top: 20px; padding-top: 0; border-top: none; }
.mk-body h3 { font-family: var(--font-heading); font-size: 15.5px; font-weight: 800; color: var(--heading); margin: 22px 0 8px; }
.mk-body ul, .mk-body ol { padding-left: 22px; margin-bottom: 1em; }
.mk-body li { margin-bottom: 6px; }
.mk-body figure { margin: 20px 0; }
.mk-body figure img { border-radius: var(--r-thumb); width: 100%; }
.mk-body figcaption { font-size: 12px; color: var(--muted); margin-top: 6px; text-align: center; }
.mk-body blockquote { border-left: 3px solid var(--accent); padding: 4px 0 4px 16px; color: var(--muted); margin: 20px 0; }
.mk-tips { background: var(--card-bg); border: var(--card-bw) solid var(--card-border); border-radius: var(--r-card); padding: 18px 20px; margin: 26px 0; }
.mk-tips h2, .mk-tips h3 { margin: 0 0 10px; padding: 0; border: none; font-size: 15px; }
.mk-tips ul { margin: 0; padding-left: 20px; }
.mk-tips li:last-child { margin-bottom: 0; }
.mk-table-wrap { overflow-x: auto; margin: 20px 0; }
.mk-table-wrap table { margin: 0; }
.mk-body table { border-collapse: collapse; width: 100%; font-size: 14px; }
.mk-body th, .mk-body td { border: 1px solid var(--line); padding: 8px 12px; text-align: left; }
.mk-body th { background: var(--hero-bg); color: var(--hero-ink); font-weight: 700; }
.mk-course-step h3 { margin: 2px 0 6px; }
.mk-course-step p { margin-bottom: 0; }
.mk-faq details { border-bottom: 1px solid var(--line); padding: 12px 0; }
.mk-faq summary { font-weight: 700; font-size: 15.5px; color: var(--heading); cursor: pointer; padding: 4px 28px 4px 0; position: relative; list-style: none; }
.mk-faq summary::-webkit-details-marker { display: none; }
.mk-faq summary::after { content: "+"; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); color: var(--accent); font-size: 20px; font-weight: 400; } /* 피그마 place-v2 코랄 + */
.mk-faq details[open] summary::after { content: "–"; }
.mk-faq details p { margin-top: 8px; font-size: 15px; }

/* ── 홈 (피그마 home-v2 병합, 2026-08-28 확정) ──
   인용 타이틀(코랄 낫표) + 검색 필 + 코스 히어로 카드 + 지역/테마 칩 + 최근 리스트 */
/* 홈 히어로 — 민트 밴드(.mk-hero) 위 낫표 인용문. 검색창은 헤더로 이동 (2026-09-04) */
.mk-hero-home { padding: 44px 0 40px; }
@media (min-width: 640px) { .mk-hero-home { padding: 60px 0 56px; } }
.mk-hero.mk-hero-home h1.mk-home-quote {
  font-family: var(--font-hero); font-weight: var(--hero-weight); color: var(--hero-ink);
  font-size: clamp(24px, 3.8vw, 38px); letter-spacing: -0.02em; line-height: 1.35; max-width: none;
}
.q-open, .q-close { color: var(--accent); font-weight: 300; font-size: 1.3em; line-height: 0; vertical-align: -0.07em; }
.q-open { margin-right: .06em; }
.q-close { margin-left: .06em; }
.mk-home-tagline { margin-top: 12px; font-size: 15px; color: var(--hero-ink); opacity: .78; }
.mk-search {
  margin-top: 20px; display: flex; align-items: center; gap: 10px;
  background: var(--card-bg); border: 1.5px solid var(--card-border); border-radius: var(--r-btn);
  padding: 12px 20px; color: var(--label);
}
.mk-search:focus-within { border-color: var(--heading); }
.mk-search svg { flex: none; }
.mk-search input { flex: 1; border: 0; background: none; font: inherit; font-size: 14px; color: var(--text); outline: none; }

/* 홈·결과 섹션 (2026-08-28) — 장소는 세로 사진 카드 그리드, 글은 가로 행. 형태로 종류를 구분한다 */
.mk-home-section { margin-top: 34px; }
.mk-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.mk-section-head .mk-browse-title { margin-bottom: 0; }
.mk-browse-title b { font-weight: 400; color: var(--label); font-size: 13px; margin-left: 6px; }
.mk-section-more { font-size: 12.5px; color: var(--accent); text-decoration: none; white-space: nowrap; }
.mk-section-more:hover { text-decoration: underline; }
.mk-results-head { font-family: var(--font-heading); font-size: 15px; font-weight: 800; color: var(--heading); margin: 30px 0 12px; }
.mk-results-head:first-child { margin-top: 8px; }
.mk-results-head b { font-weight: 400; color: var(--label); font-size: 13px; margin-left: 6px; }
/* 글 행: 장소 행과 달리 제목·리드를 2줄까지 편다 (제목이 길다) */
.mk-row-card.is-article { align-items: start; }
.mk-row-card.is-article .mk-row-head { display: block; }
.mk-row-card.is-article .mk-row-name { display: block; line-height: 1.45; }
.mk-row-card.is-article .mk-row-tag { display: inline-block; margin-top: 4px; }
.mk-row-card.is-article .mk-row-def {
  white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; line-height: 1.55;
}

.mk-browse-group { margin-top: 34px; }
.mk-browse-title { font-family: var(--font-heading); font-size: 15px; font-weight: 800; color: var(--heading); margin-bottom: 12px; }
.mk-browse-group .mk-chip-row { margin: 0; }
/* .mk-chip-row .chip(후순위 선언)보다 이겨야 하므로 동일 계층 접두 필수 */
.mk-chip-row .chip.is-active { background: var(--btn-bg); border-color: var(--btn-bg); color: var(--btn-fg); }
.mk-chip-row .chip.is-empty { color: var(--label); font-weight: 400; }
a.chip.is-theme:hover { background: var(--card-bg); border-color: var(--accent); color: var(--accent); }

/* 최근 콕 찍은 곳 — 리스트형 (썸네일 + 코랄 해시태그) */
.mk-row-grid { display: grid; gap: 12px; }
@media (min-width: 800px) { .mk-row-grid { grid-template-columns: 1fr 1fr; } }
.mk-row-card {
  display: grid; grid-template-columns: 76px 1fr; gap: 14px; align-items: center;
  background: var(--card-bg); border: var(--card-bw) solid var(--card-border); border-radius: 16px;
  padding: 12px; text-decoration: none; transition: border-color .15s;
}
.mk-row-card:hover { border-color: var(--accent); }
.mk-row-thumb { width: 76px; height: 76px; border-radius: 12px; overflow: hidden; background: var(--hero-bg); }
.mk-row-thumb img { width: 100%; height: 100%; object-fit: cover; }
.mk-row-body { min-width: 0; }
.mk-row-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.mk-row-name { font-weight: 700; font-size: 15.5px; color: var(--heading); }
.mk-row-tag { font-size: 11.5px; color: var(--accent); white-space: nowrap; }
.mk-row-def { display: block; margin-top: 3px; font-size: 13px; color: var(--label); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mk-row-list { display: grid; gap: 12px; } /* 근처 가볼 곳 — 단일 열 리스트 */

/* ── 실린 글 카드 (place 역참조) ────── */
.mk-linked-cards { display: grid; gap: 12px; }
.mk-linked-card {
  display: grid; grid-template-columns: 132px 1fr; gap: 14px; align-items: center;
  border: var(--card-bw) solid var(--card-border); border-radius: 14px; overflow: hidden;
  background: var(--card-bg); text-decoration: none; color: var(--heading);
}
.mk-linked-card img { width: 132px; height: 100%; min-height: 76px; object-fit: cover; display: block; }
.mk-linked-card .t { font-weight: 700; font-size: 15px; padding: 12px 14px 12px 0; line-height: 1.55; }

/* ── 장소 카드 ─────────────────────── */
.mk-card { border: var(--card-bw) solid var(--card-border); border-radius: var(--r-card); overflow: hidden; background: var(--card-bg); margin: 20px 0; }
.mk-card > a { text-decoration: none; color: var(--text); display: block; }
.mk-card-photo img { aspect-ratio: 3/2; object-fit: cover; width: 100%; }
.mk-card-photo.is-og img { aspect-ratio: 1200 / 630; object-fit: contain; background: var(--hero-bg); }
.mk-card-body { padding: 16px 18px; display: grid; gap: 4px; }
.mk-card-path { font-size: 12px; color: var(--label); letter-spacing: .02em; margin-bottom: 2px; }
.mk-card-path .sep { margin: 0 4px; color: var(--accent); }
.mk-card-name { font-family: var(--font-heading); font-weight: 800; font-size: 16px; color: var(--heading); }
.mk-card-def {
  font-size: 14px; color: var(--muted);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; /* 정의문장 2줄 — 기록 카드의 본문 */
}
.mk-card-foot {
  margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line);
  display: flex; justify-content: space-between; align-items: center; gap: 8px;
  font-size: 12px; color: var(--label); font-variant-numeric: tabular-nums;
}
.mk-card-comment { font-size: 13.5px; padding: 0 16px 14px; color: var(--muted); }
/* 홈 슬라이더 (2026-09-04) — scroll-snap 가로 트랙, 카드 3장 폭(데스크톱)·1.1장(모바일). 화살표는 640px 이상에서만 */
.mk-slider { position: relative; }
.mk-slider-track {
  display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x proximity; scroll-padding: 0 4px;
  padding: 2px 4px 8px; margin: 0 -4px; -webkit-overflow-scrolling: touch; scrollbar-width: none;
}
.mk-slider-track::-webkit-scrollbar { display: none; }
.mk-slider-track .mk-card { flex: 0 0 min(86%, 340px); scroll-snap-align: start; margin: 0; }
@media (min-width: 640px) { .mk-slider-track .mk-card { flex-basis: calc((100% - 32px) / 2); } }
@media (min-width: 960px) { .mk-slider-track .mk-card { flex-basis: calc((100% - 32px) / 3); } }
.mk-slider-btn {
  display: none; position: absolute; top: 40%; width: 36px; height: 36px; border-radius: 999px;
  border: 1px solid var(--line); background: var(--card-bg); color: var(--heading); font-size: 22px; line-height: 1; cursor: pointer;
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
}
.mk-slider-btn.is-prev { left: -14px; } .mk-slider-btn.is-next { right: -14px; }
@media (min-width: 640px) { .mk-slider-btn { display: block; } }
.mk-slider-btn:hover { border-color: var(--heading); }
.mk-grid-cards { display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 640px) { .mk-grid-cards { grid-template-columns: 1fr 1fr; } }
.mk-grid-cards .mk-card { margin: 0; }

/* ── 코스 글 타임라인 (피그마 course-v2) — 진한 시간 칩 + 세로선, 주인공 스텝은 코랄 ── */
.mk-course-step { border-left: 2px solid var(--line); padding: 4px 0 4px 18px; margin: 32px 0 12px; }
.mk-course-time {
  display: inline-block; background: var(--btn-bg); color: var(--btn-fg);
  border-radius: var(--r-chip); padding: 3px 12px; font-size: 12.5px; font-weight: 700; margin-bottom: 6px;
}
.mk-course-step.is-main { border-left-color: var(--accent); }
.mk-course-step.is-main .mk-course-time { background: var(--accent); color: #fff; }
.mk-course-step + .mk-card { margin-top: 8px; }
.mk-course-step.is-main + .mk-card { border-color: var(--accent); }
.mk-course-intro { margin-top: 10px; font-size: 14.5px; color: var(--label); }

/* ── 문의 폼 ───────────────────────── */
.mk-form { display: grid; gap: 14px; max-width: 480px; }
.mk-form label { display: grid; gap: 6px; font-weight: 700; font-size: 13px; color: var(--label); }
.mk-form input, .mk-form select, .mk-form textarea {
  font: inherit; font-weight: 400; padding: 10px 14px; color: var(--text);
  border: 1.5px solid var(--line); border-radius: 10px; background: var(--card-bg);
}
.mk-hp { position: absolute; left: -9999px; }
.mk-form-done { border: 1.5px solid var(--accent); color: var(--accent); border-radius: 10px; padding: 16px; font-weight: 700; }

/* ── 아카이브·홈 ───────────────────── */
.mk-archive-head { padding: 40px 0 8px; }
.mk-archive-head h1 { font-family: var(--font-hero); font-weight: var(--hero-weight); color: var(--heading); font-size: 24px; }
.mk-archive-desc { margin-top: 8px; color: var(--muted); }
.mk-archive-nav-label { margin-top: 18px; font-size: 12.5px; font-weight: 700; color: var(--label); }
.mk-archive-nav-label + .mk-chip-row { margin-top: 8px; }
.mk-chip-row { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 24px; }
.mk-chip-row .chip { background: var(--card-bg); border: 1px solid var(--line); }
.chip b { font-weight: 400; color: var(--label); margin-left: 6px; font-size: 12px; } /* 둘러보기 개수 병기 */

/* ── 푸터 ─────────────────────────── */
.site-footer { margin-top: 64px; border-top: 1px solid var(--line); padding: 24px 0 48px; font-size: 14px; color: var(--muted); line-height: 2; }
.mk-biz { margin: 12px 0 0; padding-top: 12px; border-top: 1px solid var(--line); font-size: 12px; line-height: 1.9; }
.mk-correct-link { margin-top: 40px; padding-top: 16px; border-top: 1px solid var(--line); font-size: 14px; color: var(--muted); }
.mk-attribution { margin-top: 8px; font-size: 12.5px; color: var(--label); }

/* ── place 레이아웃 — 모바일 단일 흐름이 전 해상도의 기본 (한 HTML, 같은 순서) ── */
.mk-place-layout { display: flex; flex-direction: column; }
.mk-place-side { order: -1; }   /* 정보·지도·버튼이 본문보다 먼저 */
.mk-place-main > .mk-section-title:first-child { margin-top: 8px; }

/* 데스크톱: 글줄은 읽기 폭 유지, 사진만 900px 브레이크아웃, 그리드만 넓게 */
@media (min-width: 1000px) {
  .mk-hero { padding: 56px 0 32px; }
  .mk-hero h1 { font-size: 28px; }
  .mk-archive-head { padding: 48px 0 12px; }
  .mk-archive-head h1 { font-size: 28px; }
  main.mk-wrap .mk-photos { width: 900px; margin-left: -110px; margin-right: -110px; }
  .mk-photos figure { flex: 0 0 32.5%; }
  .mk-wrap-wide .mk-grid-cards { grid-template-columns: repeat(3, 1fr); gap: 20px; }
}

.mk-empty { margin-top: 32px; color: var(--label); }
