/*
Theme Name: Bangongi Renewal
Theme URI: https://bangongi.com/
Template: bangongi
Author: bangongi
Description: 반공기 정보 구조와 접근성을 보강하는 자식 테마.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.1
License: GPL-2.0-or-later
Text Domain: bangongi-renewal
*/

:root { --bgr-wide: 72rem; }

.breadcrumb {
  display: flex; gap: .42rem; align-items: center; min-width: 0;
  margin: 0 0 1rem; color: var(--ink-faint); font-size: .78rem;
  white-space: nowrap; overflow: hidden;
}
.breadcrumb a { display: inline-flex; align-items: center; min-height: 44px; flex: none; }
.breadcrumb [aria-current="page"] { overflow: hidden; text-overflow: ellipsis; }

.answer-label {
  display: inline-block; margin: .1rem 0 0; padding: .22rem .55rem;
  border-radius: 3px 3px 0 0; background: var(--c1); color: white;
  font-size: .73rem; font-weight: 700; letter-spacing: .04em;
}
.entry--answer > .answer-label + p {
  margin-top: 0; padding: 1rem 1.05rem; background: var(--c1-tint);
  border: 1px solid var(--c1-edge); border-left: 4px solid var(--c1);
}

.home-standards, .home-process { padding-block: clamp(3rem, 7vw, 5.5rem); }
.home-standards { border-bottom: 1px solid var(--rule); }
.standard-grid { display: grid; grid-template-columns: 1fr; border-top: 1px solid var(--rule); }
.standard-card {
  position: relative; display: grid; grid-template-columns: 2.2rem minmax(0, 1fr) auto;
  gap: .15rem .8rem; min-height: 8.5rem; padding: 1.25rem .2rem;
  border-bottom: 1px solid var(--rule); color: var(--ink); text-decoration: none;
}
.standard-no { grid-row: 1 / span 2; color: var(--c1); font-weight: 800; font-size: .8rem; }
.standard-card strong { font-size: 1.1rem; }
.standard-card small { color: var(--ink-soft); line-height: 1.55; }
.standard-arrow { grid-row: 1 / span 2; color: var(--ink-faint); transition: transform .15s ease; }
.standard-card:hover .standard-arrow { color: var(--c1); transform: translate(.15rem, -.15rem); }

.home-process { border-top: 1px solid var(--rule); }
.process-grid { display: grid; grid-template-columns: 1fr; gap: 0; list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--rule); }
.process-grid li { display: grid; grid-template-columns: 2.2rem 1fr; gap: .2rem .75rem; padding: 1rem .2rem; margin: 0; border-bottom: 1px solid var(--rule); }
.process-grid span { grid-row: 1 / span 2; color: var(--c2-deep); font-size: .78rem; font-weight: 800; }
.process-grid strong { font-size: 1rem; }
.process-grid small { color: var(--ink-soft); line-height: 1.55; }

.hub-index { margin-top: 2.5rem; }
.hub-index-kicker { margin: 0 0 .35rem; color: var(--c1-deep); font-size: .72rem; font-weight: 800; letter-spacing: .12em; }
.hub-index > h2 { margin-top: 0; }
.hub-lead-image .bg-fig { margin: 1rem 0 2rem; }
.hub-card-grid { display: grid; grid-template-columns: 1fr; gap: 1rem; }
.hub-card { overflow: hidden; margin: 0; border: 1px solid var(--rule); border-radius: 6px; background: var(--bg); }
.hub-card-media { display: block; min-height: 44px; aspect-ratio: 16 / 9; overflow: hidden; background: var(--bg-soft); }
.hub-card-media picture { display: block; width: 100%; height: 100%; }
.hub-card-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .2s ease; }
.hub-card:hover .hub-card-media img { transform: scale(1.018); }
.hub-card-copy { padding: .9rem 1rem 1rem; }
.hub-card-copy h3 { margin: 0 0 .45rem; font-size: 1rem; line-height: 1.45; }
.hub-card-copy h3 a { display: inline-flex; align-items: center; min-height: 44px; color: var(--ink); text-decoration: none; }
.hub-card-copy h3 a:hover { color: var(--c1-deep); text-decoration: underline; }
.hub-card-copy p { margin: 0; color: var(--ink-soft); font-size: .84rem; line-height: 1.62; }
.hub-brand { margin-top: 2rem; }
.hub-brand > h3 { margin: 0 0 .8rem; padding-bottom: .45rem; border-bottom: 2px solid var(--c1-edge); }
.hub-brand > h3 small { color: var(--ink-faint); font-size: .76rem; font-weight: 500; }

.next-steps a, .toc a, .site-foot a { display: inline-flex; align-items: center; min-height: 44px; }
.site-nav a { padding-inline: .12rem; }

@media (min-width: 38rem) {
  .standard-grid { grid-template-columns: 1fr 1fr; }
  .standard-card:nth-child(odd) { padding-right: 1rem; }
  .standard-card:nth-child(even) { padding-left: 1rem; border-left: 1px solid var(--rule); }
  .process-grid { grid-template-columns: repeat(3, 1fr); }
  .process-grid li { padding-inline: 1rem; border-left: 1px solid var(--rule); }
  .process-grid li:first-child { padding-left: .2rem; border-left: 0; }
  .hub-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 62rem) {
  .standard-grid { grid-template-columns: repeat(4, 1fr); }
  .standard-card:nth-child(n) { padding-inline: 1rem; border-left: 1px solid var(--rule); }
  .standard-card:first-child { padding-left: .2rem; border-left: 0; }
}

@media (max-width: 30rem) {
  .site-head .wrap { align-items: center; }
  .site-nav { width: 100%; margin-left: 0; overflow-x: auto; }
  .site-nav ul { flex-wrap: nowrap; gap: .55rem; }
  .site-nav a { padding-inline: .35rem; white-space: nowrap; }
}

@media (prefers-reduced-motion: reduce) {
  .standard-arrow, .hub-card-media img { transition: none; }
}
