/* 복지누리 — 따뜻한 신뢰형(테라코타). Phase 1: 전역 룩(색·타이포·본문 가독성).
   비주얼 정본=design/mockup-*.html. 색은 여기(CSS)서 통제(인라인 금지 원칙). */

:root{
  --nuri-bg:#FBF9F6; --nuri-surface:#FFFFFF; --nuri-text:#1F2933; --nuri-muted:#5B6673;
  --nuri-accent:#B15C38; --nuri-accent-soft:#F6E7DE; --nuri-accent-ink:#8E4526;
  --nuri-trust:#276B4D; --nuri-trust-soft:#E7F3EC; --nuri-border:#ECE7E0; --nuri-radius:16px;
}

/* ── 전역 기반(어르신 가독성) ── */
body{
  background:var(--nuri-bg); color:var(--nuri-text);
  font-family:"Pretendard","Noto Sans KR",-apple-system,system-ui,sans-serif;
  font-size:18px; line-height:1.75; -webkit-font-smoothing:antialiased;
}
a{ color:var(--nuri-accent); }
a:hover{ color:var(--nuri-accent-ink); }

/* ── 글 제목 ── */
.wp-block-post-title{ font-size:34px; font-weight:800; line-height:1.35; letter-spacing:-.5px; }

/* ── 본문(읽기 화면) ── */
.wp-block-post-content, .entry-content{ font-size:18px; line-height:1.85; }
.wp-block-post-content p, .entry-content p{ margin:.85em 0; }
.wp-block-post-content h2, .entry-content h2{
  font-size:25px; font-weight:800; letter-spacing:-.3px; margin:1.9em 0 .55em;
}
.wp-block-post-content h3, .entry-content h3{
  font-size:21px; font-weight:700; color:#33414d; margin:1.5em 0 .45em;
}
.wp-block-post-content ul, .wp-block-post-content ol,
.entry-content ul, .entry-content ol{ margin:.85em 0 .85em .5em; padding-left:1.4em; }
.wp-block-post-content li, .entry-content li{ margin:.4em 0; }
.wp-block-post-content strong, .entry-content strong{ color:#141a1f; font-weight:700; }
/* 본문 링크는 크림 배경 위 → 명암비 확보 위해 진한 잉크톤(#8E4526, 6.6:1). 밑줄 유지(색 단독 아님) */
.wp-block-post-content a, .entry-content a{ color:var(--nuri-accent-ink); text-decoration:underline; text-underline-offset:2px; }

/* ── 약속 마크업(Phase 3 이후 생성글: 인라인 없는 시맨틱) ── */
.nuri-summary{
  background:var(--nuri-accent-soft); border:1px solid #E9C9B5; border-radius:var(--nuri-radius);
  padding:22px 24px; margin:1.7em 0;
}
.nuri-summary :is(h2,h3){ color:var(--nuri-accent); margin-top:0; }
.nuri-summary p{ margin:.4em 0; }

.wp-block-post-content blockquote, .entry-content blockquote{
  background:#FFF8E6; border:1px solid #F3E2AE; border-left:4px solid #E0A93A;
  border-radius:12px; padding:14px 18px; margin:1.3em 0; font-style:normal;
}

/* 순수 table(인라인 style 없는 것)만 테라코타 톤으로 — 기존 인라인 표는 Phase 3서 정리 */
.wp-block-post-content table:not([style]){ width:100%; border-collapse:collapse; margin:1.3em 0; font-size:17px; }
.wp-block-post-content table:not([style]) :is(th,td){ border:1px solid var(--nuri-border); padding:12px 14px; text-align:center; }
.wp-block-post-content table:not([style]) th{ background:#F7EDE7; }
.wp-block-post-content table:not([style]) caption{ font-weight:700; color:var(--nuri-accent); text-align:left; margin-bottom:8px; }

/* ── 출처·면책 푸터(publish.build_disclaimer_footer가 hr+p로 출력) ── */
.wp-block-post-content hr, .entry-content hr{ border:0; border-top:2px solid var(--nuri-border); margin:2.2em 0 1.2em; }

/* ── 카드/버튼 공통(홈=Phase2에서 활용) ── */
.wp-element-button, .wp-block-button__link{ background:var(--nuri-accent); color:#fff; border-radius:999px; font-weight:700; }
.wp-element-button:hover, .wp-block-button__link:hover{ background:var(--nuri-accent-ink); }

/* ══════════ 헤더(parts/header.html) ══════════ */
.nuri-header{ background:var(--nuri-surface); border-bottom:1px solid var(--nuri-border);
  position:sticky; top:0; z-index:100; }
.nuri-hdr-inner{ display:flex; align-items:center; justify-content:space-between;
  min-height:72px; gap:16px 24px; flex-wrap:wrap; }
.nuri-logo{ font-size:26px; font-weight:800; letter-spacing:-.5px; color:var(--nuri-text); text-decoration:none; }
.nuri-logo b{ color:var(--nuri-accent); }
.nuri-nav{ display:flex; gap:22px; flex-wrap:wrap; }
.nuri-nav a{ font-size:18px; font-weight:600; color:var(--nuri-text); text-decoration:none;
  padding:6px 2px; border-bottom:3px solid transparent; }
.nuri-nav a:hover{ color:var(--nuri-accent); border-bottom-color:var(--nuri-accent); }

/* ══════════ 홈페이지(front-page.html) ══════════ */
.nuri-container{ max-width:1080px; margin:0 auto; padding:0 20px; }
.nuri-section{ padding:44px 0; }
.nuri-h2{ font-size:26px; font-weight:800; margin:0 0 6px; }
.nuri-lead{ color:var(--nuri-muted); margin:0 0 24px; }

/* 히어로 */
.nuri-hero{ background:linear-gradient(180deg,#FFFFFF 0%,var(--nuri-bg) 100%); padding:56px 0 44px; text-align:center; }
.nuri-badge{ display:inline-flex; align-items:center; gap:7px; background:var(--nuri-trust-soft); color:var(--nuri-trust);
  font-weight:700; font-size:16px; padding:7px 16px; border-radius:999px; margin-bottom:20px; }
.nuri-hero-h1{ font-size:42px; font-weight:800; letter-spacing:-1px; line-height:1.3; margin:0 0 16px; }
.nuri-hero-h1 .hl{ color:var(--nuri-accent); }
.nuri-hero-p{ font-size:20px; color:var(--nuri-muted); margin:0 0 28px; }
.nuri-search{ display:flex; max-width:560px; margin:0 auto; background:#fff; border:2px solid var(--nuri-border);
  border-radius:999px; padding:6px 6px 6px 22px; box-shadow:0 2px 8px rgba(31,41,51,.06); }
.nuri-search input{ flex:1; border:0; outline:0; font-size:18px; font-family:inherit; background:transparent; color:var(--nuri-text); }
.nuri-search:focus-within{ outline:3px solid var(--nuri-accent); outline-offset:2px; }   /* 검색창 키보드 포커스 표시(WCAG 2.4.7) */
.nuri-search button{ background:var(--nuri-accent); color:#fff; border:0; font-size:18px; font-weight:700;
  padding:12px 26px; border-radius:999px; cursor:pointer; }
.nuri-search button:hover{ background:var(--nuri-accent-ink); }

/* 주제 카드 */
.nuri-cats{ display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
.nuri-cat{ background:var(--nuri-surface); border:1px solid var(--nuri-border); border-radius:var(--nuri-radius);
  padding:22px 12px; text-align:center; text-decoration:none; color:var(--nuri-text);
  box-shadow:0 2px 8px rgba(31,41,51,.05); transition:.15s; }
.nuri-cat:hover{ transform:translateY(-3px); border-color:var(--nuri-accent); }
.nuri-cat .ico{ font-size:34px; display:block; margin-bottom:10px; }
.nuri-cat .nm{ font-weight:700; font-size:18px; }

/* 최신 글 카드(query 루프) */
.nuri-cards ul.wp-block-post-template{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px;
  margin:0; padding:0; list-style:none; }
.nuri-cards li.wp-block-post{ background:var(--nuri-surface); border:1px solid var(--nuri-border);
  border-radius:var(--nuri-radius); overflow:hidden; box-shadow:0 2px 8px rgba(31,41,51,.05);
  transition:.15s; display:flex; flex-direction:column; }
.nuri-cards li.wp-block-post:hover{ transform:translateY(-4px); box-shadow:0 8px 24px rgba(31,41,51,.1); }
.nuri-cards .wp-block-post-featured-image{ margin:0; aspect-ratio:16/9; overflow:hidden; background:var(--nuri-accent-soft); }
.nuri-cards .wp-block-post-featured-image img{ width:100%; height:100%; object-fit:cover; }
.nuri-card-body{ padding:20px; }
.nuri-cards .wp-block-post-title{ font-size:20px; font-weight:700; line-height:1.4; margin:0 0 10px; }
.nuri-cards .wp-block-post-title a{ color:var(--nuri-text); text-decoration:none; }
.nuri-cards .wp-block-post-title a:hover{ color:var(--nuri-accent); }
.nuri-cards .wp-block-post-excerpt{ color:var(--nuri-muted); font-size:16px; margin:0; }
.nuri-cards .wp-block-post-excerpt__more-text a,
.nuri-cards .wp-block-post-excerpt a{ color:var(--nuri-accent); font-weight:700; }

/* 신뢰 배너 */
.nuri-trustbar{ background:var(--nuri-trust-soft); border-radius:var(--nuri-radius); padding:26px 28px;
  display:flex; align-items:center; gap:18px; margin:8px 0 8px; }
.nuri-trustbar .ico{ font-size:38px; }
.nuri-trustbar b{ color:var(--nuri-trust); }

@media(max-width:820px){
  .nuri-cats{ grid-template-columns:repeat(2,1fr); }
  .nuri-cards ul.wp-block-post-template{ grid-template-columns:1fr; }
  .nuri-hero-h1{ font-size:32px; }
  .nuri-hdr-inner{ min-height:0; padding:12px 20px; }
  .nuri-nav{ gap:12px 16px; width:100%; }
  .nuri-nav a{ font-size:16px; padding:10px 6px; }   /* 모바일 터치 타깃 확대 */
}

/* ── 접근성: 포커스 링 또렷하게 ── */
a:focus-visible, button:focus-visible, .wp-block-button__link:focus-visible{
  outline:3px solid var(--nuri-accent); outline-offset:2px;
}
