/* ============================================================
 * 호미클럽 — 작물 도감 상세
 * 좌측 글로벌 분류 사이드바(crops.css 재사용) + 우측 본문
 * 본문 = 스티키 브레드크럼 + 2단 히어로(이미지·정보 카드 | 정체) + 세부 섹션
 * ============================================================ */

/* 상세는 상단 패딩을 줄여 브레드크럼이 위에 오게 */
.crop-page .crops-layout { padding-top: var(--space-4); }
.crop-main-area { min-width: 0; }

/* ── 브레드크럼 (sticky) ── */
.crop-crumb {
  position: sticky; top: var(--header-h); z-index: 20;
  display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2);
  margin: 0 0 var(--space-6); padding: var(--space-3) 0;
  background: rgba(248, 248, 246, .94); backdrop-filter: saturate(1.1) blur(8px);
  border-bottom: 1px solid var(--hairline);
  font-family: var(--font-heading); font-size: var(--fs-meta);
}
.crop-crumb a { color: var(--ink-500); }
.crop-crumb a:hover { color: var(--ink-900); }
.crop-crumb .sep { color: var(--ink-300); }
.crop-crumb .current { color: var(--ink-900); font-weight: 600; }

/* ── 2단 히어로 ── */
.crop-hero2 {
  display: grid; grid-template-columns: 300px minmax(0, 1fr);
  gap: var(--space-8); align-items: start;
  padding-bottom: var(--space-8); border-bottom: 1px solid var(--hairline);
}

/* 좌: 이미지 + 정보 카드 */
.crop-card { background: var(--surface); border: 1px solid var(--hairline); border-radius: var(--radius-lg); overflow: hidden; }
/* 정사각 썸네일 — 원본이 1024² 정사각이라 cover로도 잘림 없이 다 보임 */
.crop-card .cover {
  display: grid; place-items: center; aspect-ratio: 1 / 1; overflow: hidden;
  background: linear-gradient(135deg, var(--ink-200), var(--ink-100));
  color: var(--ink-500); font-family: var(--font-heading); font-size: var(--fs-caption);
}
.crop-card .cover img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* 우측 정보 (분류/난이도/제철/파종) */
.crop-facts {
  display: grid; grid-template-columns: auto 1fr; gap: var(--space-2) var(--space-5);
  margin: var(--space-6) 0 0; padding: var(--space-5) 0 0;
  border-top: 1px solid var(--hairline);
}
.crop-facts .row { display: contents; }
.crop-facts dt { font-family: var(--font-heading); font-size: var(--fs-meta); color: var(--ink-500); white-space: nowrap; }
.crop-facts dd { font-family: var(--font-heading); font-size: var(--fs-meta); color: var(--ink-900); font-weight: 600; margin: 0; }

/* 한 해 농사 달력 — 1~12월 축에 심는 때(sprout)·거두는 때(diary) 2줄 정렬 */
.crop-cal { margin-top: var(--space-6); }
.crop-cal .cal-title { font-family: var(--font-heading); font-size: var(--fs-meta); font-weight: 700; color: var(--ink-900); margin: 0 0 var(--space-3); }
.cal-row { display: grid; grid-template-columns: 4.5em minmax(0, 1fr); align-items: center; gap: var(--space-3); }
.cal-row + .cal-row { margin-top: var(--space-2); }
.cal-label { display: inline-flex; align-items: center; gap: var(--space-2); font-family: var(--font-heading); font-size: var(--fs-caption); color: var(--ink-700); white-space: nowrap; }
.cal-label .dot { width: 9px; height: 9px; border-radius: 3px; flex: none; }
.cal-sow .cal-label .dot { background: var(--sprout-500); }
.cal-harvest .cal-label .dot { background: var(--diary-500); }
.cal-row ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(12, 1fr); gap: 3px; }
.cal-axis ol li { text-align: center; font-family: var(--font-heading); font-size: 10px; color: var(--ink-500); }
.cal-sow ol li, .cal-harvest ol li { height: 14px; border-radius: 3px; background: var(--ink-100); }
.cal-sow ol li.on { background: var(--sprout-500); }
.cal-harvest ol li.on { background: var(--diary-500); }

/* 우: 작물 정체 */
.crop-id { padding-top: var(--space-2); }
.crop-id .cat-pin { margin-bottom: var(--space-3); }
.crop-name { font-family: var(--font-title); font-size: var(--fs-display); line-height: var(--lh-heading); letter-spacing: var(--tracking-title); font-weight: 700; margin: 0; }
.crop-sci { font-family: var(--font-heading); font-size: var(--fs-meta); color: var(--ink-500); margin: var(--space-3) 0 0; }
.crop-tagline { font-family: var(--font-body); font-size: var(--fs-title); color: var(--ink-700); line-height: var(--lh-body); margin: var(--space-5) 0 0; }

/* ── 세부 섹션 ── */
.crop-sections { padding-top: var(--space-8); }
.crop-section + .crop-section { margin-top: var(--space-10); }
.crop-section h2 {
  font-family: var(--font-heading); font-size: var(--fs-h2); font-weight: 700;
  letter-spacing: var(--tracking-tight); margin: 0 0 var(--space-4);
  padding-bottom: var(--space-2); border-bottom: 1px solid var(--ink-300);
}
.crop-section p { font-family: var(--font-body); font-size: var(--fs-read); line-height: var(--lh-loose); color: var(--ink-900); margin: 0; }
.crop-section p + p { margin-top: var(--space-4); }
.crop-section ul { font-family: var(--font-body); margin: var(--space-3) 0 0; padding-left: var(--space-6); font-size: var(--fs-read); line-height: var(--lh-body); }
.crop-section li + li { margin-top: var(--space-2); }

/* 궁합 칩 */
.companion-list { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-4); }
.companion { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); border: 1px solid var(--hairline); border-radius: var(--radius-pill); font-family: var(--font-heading); font-size: var(--fs-meta); color: var(--ink-900); }
.companion .mark { width: 7px; height: 7px; border-radius: var(--radius-pill); flex: none; }
.companion .mark--good { background: var(--dot-health); }
.companion .mark--bad { background: var(--dot-cook); }
.companion:hover { background: var(--ink-100); }

/* 관련 칼럼 (related-head·related-grid 는 article.css) — 4열 + 더보기 */
.crop-related { margin-top: var(--space-12); }
.crop-related .related-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.more-wrap { text-align: center; margin-top: var(--space-6); }
.btn-more {
  display: inline-block;
  font-family: var(--font-heading); font-size: var(--fs-meta); font-weight: 600;
  color: var(--ink-700); background: var(--surface);
  border: 1px solid var(--ink-300); border-radius: var(--radius-pill);
  padding: 11px 28px;
  transition: background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);
}
.btn-more:hover { background: var(--ink-100); color: var(--ink-900); border-color: var(--ink-700); }

/* ── 반응형 ── */
@media (max-width: 1023px) {
  .crop-crumb { position: static; }   /* 분류 칩바와 둘 다 상단 고정되어 겹치는 것 방지 */
  .crop-related .related-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .crop-hero2 { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .crop-card { max-width: 360px; }
  .crop-name { font-size: var(--fs-hero); }
  .cal-row { grid-template-columns: 4em minmax(0, 1fr); gap: var(--space-2); }
  .crop-related .related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .btn-more { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; }
  .crop-crumb a { display: inline-flex; align-items: center; min-height: 32px; }
}
@media (max-width: 479px) {
  .crop-related .related-grid { grid-template-columns: 1fr; }
}
