/* park.ayo.pe.kr — 공원·캠핑장·도서관 독자 스킨 (2026-09-27, 사이트 고유 디자인 규칙).
 *
 * 콘셉트: **국립공원 탐방로 안내도**. 공원·캠핑장·도서관은 "어디로 걸어가면 되나" 를 묻는 곳이라
 * 등산로 입구의 안내판·등고선 지도·나무 이정표·리본 표식 말투로 화면을 짠다.
 * site.css(디자인 A) 위에 덮어쓰고 전부 body.site-park 아래로 가둔다 — 다른 사이트에 새지 않는다.
 *
 *   헤더   : 짙은 숲색 안내판 + 등고선 무늬 + 산 봉우리 표식 · 제목 Sunflower
 *   탭     : 나무 이정표(화살표 판) — 선택된 탭은 노란 탐방로 표식
 *   요약표 : 나무 테를 두른 안내판
 *   질답   : 탐방 지점 — 점선 탐방로 위에 번호 원(1·2·3…)이 찍힌다
 *   목록   : 탐방로 리본 표식 카드(리본 색이 돌아가며 바뀐다)
 *   지역   : 갈림길 이정표(오른쪽이 뾰족한 화살 판)
 *   글꼴   : 제목 Sunflower · 본문 Nanum Gothic
 *
 * ⚠️ 광고 유닛(<ins>·.ad-top·.ad-row 안쪽)에는 배경·테두리·라벨을 씌우지 않는다(site.css 애드센스 절).
 * ⚠️ 질문(h2)과 답(p) 사이에 요소를 끼우지 않는다 — 장식은 ::before/::after 로만.
 */

body.site-park {
  --fg: #1d2a1f;
  --fg-soft: #445244;
  --muted: #6f7b6c;
  --line: #d3d8c4;
  --line-soft: #e5e8d9;
  --bg: #fbfaf3;
  --bg-soft: #eef0e2;
  --accent: #2f6b35;          /* 숲 */
  --accent-strong: #1f4d26;
  --accent-soft: #e2ecd6;
  --accent-wash: #f1f5e9;
  --accent-line: #b9cda6;
  --forest: #1f3d27;
  --bark: #7a5230;            /* 나무 이정표 */
  --blaze: #f0b429;           /* 탐방로 노란 표식 */
  --ribbon-r: #d9482b;
  --ribbon-b: #2f6fb0;
  --paper: #f5f2e4;           /* 지도 종이 */
  --title: "Sunflower", "Apple SD Gothic Neo", sans-serif;
  --radius: 8px;
  --wrap: 880px;
  background-color: var(--paper);
  /* 등고선 — 두 봉우리를 중심으로 번지는 원 */
  background-image:
    repeating-radial-gradient(circle at 12% 18%, transparent 0 22px, rgba(122, 82, 48, .07) 22px 23px),
    repeating-radial-gradient(circle at 88% 62%, transparent 0 26px, rgba(47, 107, 53, .06) 26px 27px);
  background-attachment: fixed;
  font-family: "Nanum Gothic", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
}

body.site-park main,
body.site-park .site-foot,
body.site-park .ad-top,
body.site-park .top-search { max-width: var(--wrap); }

body.site-park h1,
body.site-park .brand,
body.site-park .qa-head,
body.site-park section.list > h2,
body.site-park section.children > h2,
body.site-park section.other-sites > h2,
body.site-park .near h2,
body.site-park .mapsec-head,
body.site-park .menu-cards li > a {
  font-family: var(--title);
  font-weight: 700;
  letter-spacing: 0;
}

/* ── 헤더: 숲 안내판 ─────────────────────────────────────────────────── */
body.site-park .site-head {
  max-width: none;
  margin: 0 0 8px;
  padding: 22px max(20px, calc((100% - var(--wrap)) / 2 + 20px)) 18px;
  border-bottom: 0;
  background-color: var(--forest);
  background-image:
    repeating-radial-gradient(ellipse at 78% 120%, transparent 0 16px, rgba(255, 255, 255, .07) 16px 17px),
    repeating-radial-gradient(ellipse at 8% -30%, transparent 0 20px, rgba(240, 180, 41, .08) 20px 21px);
  box-shadow: inset 0 -6px 0 var(--bark);
  gap: 12px 22px;
}
body.site-park .brand {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 27px;
  line-height: 1.15;
}
/* 산 봉우리 표식 — 삼각형 두 개(큰 봉우리 + 작은 봉우리) */
body.site-park .brand::before {
  content: "";
  flex: none;
  width: 38px; height: 26px;
  clip-path: polygon(0 100%, 42% 0, 62% 45%, 74% 22%, 100% 100%);
  background: var(--blaze);
}
body.site-park .brand a { color: #f7f3dc; }
body.site-park .brand a:hover { color: #fff; text-decoration: none; }

/* 탭: 나무 이정표 */
body.site-park .site-head nav { gap: 8px; }
body.site-park .site-head nav a {
  position: relative;
  padding: 6px 22px 6px 13px;
  border-radius: 3px 0 0 3px;
  background: linear-gradient(180deg, #8b6039, var(--bark));
  color: #fdf5e2;
  font-size: 14.5px;
  font-weight: 700;
  clip-path: polygon(0 0, calc(100% - 11px) 0, 100% 50%, calc(100% - 11px) 100%, 0 100%);
}
body.site-park .site-head nav a:hover { background: #9a6c42; color: #fff; text-decoration: none; }
body.site-park .site-head nav a.on { background: var(--blaze); color: #2b2008; }

/* 검색창 */
body.site-park .site-search input[type="search"] {
  border: 2px solid var(--forest);
  border-radius: 999px;
  padding-left: 18px;
  background: #fff;
}
body.site-park .site-search button {
  border-radius: 999px;
  background: var(--forest);
  font-family: var(--title);
  font-size: 16px;
  padding: 0 22px;
}
body.site-park .site-search button:hover { background: var(--accent); }

/* ── 제목·경로 ───────────────────────────────────────────────────────── */
body.site-park .crumb { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; font-size: 13px; }
body.site-park .crumb a,
body.site-park .crumb span { display: inline-flex; align-items: center; color: var(--fg-soft); }
body.site-park .crumb a::before,
body.site-park .crumb span::before {
  content: "";
  width: 8px; height: 8px;
  margin-right: 6px;
  border-radius: 50%;
  border: 2px solid var(--accent);
  background: var(--paper);
}
body.site-park .crumb span::before { background: var(--blaze); border-color: var(--bark); }
body.site-park .crumb a::after {
  content: "";
  width: 20px;
  margin: 0 6px;
  border-top: 2px dotted var(--accent-line);
}
body.site-park .crumb span { color: var(--forest); font-weight: 700; }

body.site-park h1 {
  position: relative;
  font-size: 32px;
  line-height: 1.3;
  color: var(--forest);
  margin: 16px 0 24px;
  padding-bottom: 14px;
}
/* 제목 아래 탐방로 — 출발점 원 + 점선 */
body.site-park h1::after {
  content: "";
  position: absolute;
  left: 0; bottom: 0;
  width: min(360px, 80%);
  height: 10px;
  background:
    radial-gradient(circle, var(--ribbon-r) 4px, transparent 5px) 0 50% / 10px 10px no-repeat,
    repeating-linear-gradient(90deg, var(--bark) 0 8px, transparent 8px 14px) 16px 50% / 100% 3px no-repeat;
}
body.site-park .lead { margin: 0 0 22px; color: var(--fg-soft); font-size: 16px; }
body.site-park .data-date {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px 8px;
  margin: 0 0 18px;
  padding: 4px 12px;
  border-radius: 4px;
  background: var(--accent-soft);
  color: var(--accent-strong);
  font-size: 12.5px;
  font-weight: 700;
}

/* ── 요약표: 나무 테 안내판 ──────────────────────────────────────────── */
body.site-park .summary {
  border: 0;
  border-radius: 10px;
  background: #fffdf5;
  box-shadow: 0 0 0 5px var(--bark), 0 0 0 7px #5e3d20, 0 8px 18px rgba(31, 61, 39, .18);
  margin: 6px 0 26px;
}
body.site-park .summary th {
  background: var(--forest);
  color: #eef3dd;
  font-weight: 700;
  font-size: 13.5px;
}
body.site-park .summary tr + tr th { border-top-color: rgba(255, 255, 255, .12); }
body.site-park .summary tr + tr td { border-top: 1px dashed var(--line); }
body.site-park .summary td a:not(.btn) { color: var(--accent-strong); font-weight: 700; }

body.site-park .btn { border-radius: 999px; }
body.site-park .btn-phone { border: 2px solid var(--accent); color: var(--accent-strong); background: #fff; }
body.site-park .btn-phone:hover { background: var(--accent-soft); }
body.site-park .phone-note { color: var(--muted); }

/* ── 질답: 탐방 지점 ─────────────────────────────────────────────────── */
body.site-park .qa-head { font-size: 22px; color: var(--forest); margin-bottom: 12px; }
body.site-park .qa-head::before {
  content: "";
  width: 26px; height: 18px;
  border-radius: 0;
  background: var(--accent);
  clip-path: polygon(0 100%, 45% 0, 62% 42%, 75% 20%, 100% 100%);
}
body.site-park .qa-list {
  counter-reset: pk;
  padding: 6px 4px 6px 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background:
    repeating-linear-gradient(180deg, var(--bark) 0 7px, transparent 7px 13px) 16px 0 / 3px 100% no-repeat;
}
body.site-park .qa-item {
  counter-increment: pk;
  position: relative;
  padding: 14px 0 18px 50px;
  border-bottom: 0;
}
body.site-park .qa-item h2 { font-size: 17.5px; color: var(--forest); }
body.site-park .qa-item h2::before {
  content: counter(pk);
  position: absolute;
  left: 3px; top: 12px;
  width: 30px; height: 30px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fffdf5;
  border: 3px solid var(--accent);
  color: var(--accent-strong);
  font-family: var(--title);
  font-size: 15px;
  font-weight: 700;
}
body.site-park .qa-item:nth-child(3n+2) h2::before { border-color: var(--ribbon-r); color: #a3321b; }
body.site-park .qa-item:nth-child(3n) h2::before { border-color: var(--ribbon-b); color: #214f80; }
body.site-park .qa-item p {
  padding: 10px 14px;
  border-radius: 6px;
  background: rgba(255, 253, 245, .85);
  border: 1px solid var(--line-soft);
  color: var(--fg-soft);
  line-height: 1.8;
}
body.site-park .qa-list > ins.adsbygoogle { margin-left: 50px; }

/* ── 지도·주변 ───────────────────────────────────────────────────────── */
body.site-park .mapsec-head { color: var(--forest); font-size: 19px; }
body.site-park .map-box { border-radius: 10px; }
body.site-park .map-label { color: var(--bark); font-weight: 700; }
body.site-park .near { border-top: 0; margin-top: 44px; }
body.site-park .near h2 {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-left: 0;
  border-left: 0;
  font-size: 19px;
  color: var(--forest);
}
body.site-park .near h2::before {
  content: "";
  flex: none;
  width: 14px; height: 22px;
  background: linear-gradient(var(--blaze) 0 50%, #fff 50%);
  border: 2px solid var(--bark);
  border-radius: 2px;
}
body.site-park .near-block {
  padding: 2px 18px 16px;
  border-radius: 10px;
  background: #fffdf5;
  border: 1px solid var(--line);
}
body.site-park .near > .near-block > p,
body.site-park .near ul,
body.site-park .near .more { padding-left: 0; }
body.site-park .near ul li { padding: 6px 0; border-bottom: 1px dashed var(--line-soft); }
body.site-park .dist { background: var(--forest); color: #f7f3dc; border-radius: 3px; }

/* ── 목록: 리본 표식 카드 ────────────────────────────────────────────── */
body.site-park section.list > h2,
body.site-park section.children > h2,
body.site-park section.other-sites > h2 {
  font-size: 20px;
  color: var(--forest);
  border-bottom: 3px solid var(--forest);
}
body.site-park .place-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
body.site-park .place-list li {
  --rib: var(--ribbon-r);
  position: relative;
  padding: 14px 14px 14px 40px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fffdf5;
  align-content: start;
}
/* 나뭇가지에 묶은 산악회 리본 */
body.site-park .place-list li::before {
  content: "";
  position: absolute;
  left: 13px; top: 12px;
  width: 12px; height: 30px;
  background: var(--rib);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 78%, 0 100%);
}
body.site-park .place-list li:nth-child(3n+2) { --rib: var(--blaze); }
body.site-park .place-list li:nth-child(3n) { --rib: var(--ribbon-b); }
body.site-park .place-list li:hover { border-color: var(--accent); box-shadow: 0 3px 0 var(--accent-line); }
body.site-park .place-list li > a { color: var(--forest); font-size: 16px; }
body.site-park .place-list li.ad-row {
  grid-column: 1 / -1;
  padding: 0; border: 0; background: none; box-shadow: none;
}
body.site-park .place-list li.ad-row::before { content: none; }
body.site-park .cat { background: var(--accent-soft); color: var(--accent-strong); border-radius: 3px; font-weight: 700; }

/* ── 지역: 갈림길 이정표 ─────────────────────────────────────────────── */
body.site-park .region-links {
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  gap: 10px 12px;
}
body.site-park .region-links li {
  padding: 9px 26px 9px 14px;
  border-bottom: 0;
  background: linear-gradient(180deg, #8b6039, var(--bark));
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 0 100%);
  border-radius: 3px 0 0 3px;
}
body.site-park .region-links li:nth-child(even) { background: linear-gradient(180deg, #3b6f43, var(--accent-strong)); }
body.site-park .region-links li:hover { background: var(--blaze); }
body.site-park .region-links li > a { color: #fdf5e2; }
body.site-park .region-links li:hover > a { color: #2b2008; }
body.site-park .region-links .count { color: rgba(253, 245, 226, .78); }
body.site-park .region-links li:hover .count { color: #4a3a10; }

/* 첫 화면 메뉴: 지도 범례 카드 */
body.site-park .menu-cards { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
body.site-park .menu-cards li {
  position: relative;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  min-height: 120px;
  padding: 22px 20px 18px;
  border: 2px solid var(--forest);
  border-radius: 12px;
  background-color: #fffdf5;
  background-image: repeating-radial-gradient(circle at 100% 100%, transparent 0 12px, rgba(47, 107, 53, .12) 12px 13px);
  overflow: hidden;
}
body.site-park .menu-cards li::before {
  content: "";
  position: absolute;
  right: 16px; top: 16px;
  width: 30px; height: 30px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: inset 0 0 0 4px #fffdf5, 0 0 0 2px var(--accent);
}
body.site-park .menu-cards li:nth-child(2)::before { background: var(--ribbon-r); box-shadow: inset 0 0 0 4px #fffdf5, 0 0 0 2px var(--ribbon-r); border-radius: 4px; transform: rotate(45deg); }
body.site-park .menu-cards li:nth-child(3)::before { background: var(--ribbon-b); box-shadow: inset 0 0 0 4px #fffdf5, 0 0 0 2px var(--ribbon-b); border-radius: 4px; }
body.site-park .menu-cards li:hover { background-color: var(--accent-wash); border-color: var(--bark); }
body.site-park .menu-cards li > a { font-size: 24px; color: var(--forest); }
body.site-park .count { font-weight: 700; color: var(--bark); }

/* ── 출처·삭제요청·바닥 ───────────────────────────────────────────────── */
body.site-park .source h2 { font-family: var(--title); color: var(--forest); }
body.site-park .removal {
  border: 2px solid var(--accent-line);
  border-left: 8px solid var(--bark);
  border-radius: 6px;
  background: #fbf8ea;
  box-shadow: none;
}
body.site-park .removal::before { content: none; }
body.site-park .removal-icon { border-radius: 50%; background: var(--blaze); color: #2b2008; }
body.site-park .btn-removal { background: var(--forest); box-shadow: 0 4px 0 #0f2415; }
body.site-park .btn-removal:hover { background: var(--accent); }

body.site-park .site-foot {
  max-width: none;
  margin-top: 56px;
  padding: 24px max(20px, calc((100% - var(--wrap)) / 2 + 20px)) 44px;
  border-top: 6px solid var(--bark);
  background-color: var(--forest);
  background-image: repeating-radial-gradient(ellipse at 50% 160%, transparent 0 18px, rgba(255, 255, 255, .06) 18px 19px);
  color: #cfd8c2;
}
body.site-park .site-foot a { color: var(--blaze); }

/* 안내형 404 — 길을 잃은 자리 */
body.site-park main.not-found h1::after { width: 120px; }
body.site-park main.not-found .lead {
  padding: 14px 16px;
  border-radius: 8px;
  border: 2px dashed var(--bark);
  background: #fffdf5;
}

@media (max-width: 600px) {
  body.site-park .site-head { padding: 16px 16px 16px; }
  body.site-park .brand { font-size: 22px; }
  body.site-park .brand::before { width: 30px; height: 20px; }
  body.site-park .site-head nav a { font-size: 13.5px; padding: 5px 20px 5px 11px; }
  body.site-park h1 { font-size: 25px; }
  body.site-park .place-list { grid-template-columns: 1fr; }
  body.site-park .region-links { grid-template-columns: 1fr 1fr; gap: 8px; }
  body.site-park .region-links li { padding: 8px 22px 8px 11px; }
  body.site-park .qa-item { padding-left: 44px; }
  body.site-park .qa-list { background-position: 14px 0; }
  body.site-park .qa-item h2::before { left: 1px; }
  body.site-park .qa-list > ins.adsbygoogle { margin-left: 0; }
  body.site-park .summary { box-shadow: 0 0 0 4px var(--bark), 0 6px 14px rgba(31, 61, 39, .15); }
}

/* ── 다크 모드: 밤의 숲 ─────────────────────────────────────────────── */
@media (prefers-color-scheme: dark) {
  body.site-park {
    --fg: #e6ecdc;
    --fg-soft: #bdc8b2;
    --muted: #8f9b86;
    --line: #34402f;
    --line-soft: #2a3427;
    --bg: #151c15;
    --bg-soft: #1d261c;
    --accent: #8cc57b;
    --accent-strong: #a9d99a;
    --accent-soft: #24331f;
    --accent-wash: #1b2519;
    --accent-line: #3f5a38;
    --forest: #0f1d12;
    --paper: #121912;
  }
  body.site-park h1,
  body.site-park .qa-head,
  body.site-park .qa-item h2,
  body.site-park section.list > h2,
  body.site-park section.children > h2,
  body.site-park section.other-sites > h2,
  body.site-park .near h2,
  body.site-park .mapsec-head,
  body.site-park .source h2,
  body.site-park .place-list li > a,
  body.site-park .menu-cards li > a,
  body.site-park .crumb span { color: #e9f1d8; }
  body.site-park section.list > h2,
  body.site-park section.children > h2,
  body.site-park section.other-sites > h2 { border-bottom-color: var(--accent-line); }
  body.site-park .summary,
  body.site-park .qa-item p,
  body.site-park .near-block,
  body.site-park .place-list li,
  body.site-park .menu-cards li,
  body.site-park .removal,
  body.site-park main.not-found .lead,
  body.site-park .site-search input[type="search"],
  body.site-park .btn-phone { background-color: #1a2419; }
  body.site-park .qa-item h2::before { background: #1a2419; }
  body.site-park .crumb a::before { background: var(--paper); }
  body.site-park .menu-cards li { border-color: var(--accent-line); }
  body.site-park .menu-cards li::before { box-shadow: inset 0 0 0 4px #1a2419, 0 0 0 2px var(--accent); }
  body.site-park .site-search input[type="search"] { border-color: var(--accent-line); color: var(--fg); }
  body.site-park .site-search button { background: #2f5a33; }
  body.site-park .dist { background: #2f5a33; }
  body.site-park .summary td a:not(.btn) { color: var(--accent-strong); }
}
