/*
Theme Name: Insight Spirit Health
Author: Insight Spirit
Description: Original photo-led editorial design on free Twenty Twenty-Five.
Template: twentytwentyfive
Version: 0.6.2
Requires at least: 7.1
Requires PHP: 8.2
Text Domain: insight-spirit
*/

/* Shared editorial foundations — original code, no premium dependencies. */
:root { --is-ink:#28312a; --is-muted:#657066; --is-ivory:#f8f9f4; --is-paper:#fff; --is-sage:#657c37; --is-sage-dark:#425422; --is-line:#dde3d6; --is-serif:"Noto Serif KR","Batang",Georgia,serif; --is-sans:"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--is-ivory); color:var(--is-ink); font-family:var(--is-sans); font-weight:400; line-height:1.8; -webkit-font-smoothing:antialiased; }
body,.wp-block-column,.wp-block-post-content,.wp-block-post-title { word-break:keep-all; overflow-wrap:break-word; }
a { color:inherit; text-underline-offset:.22em; text-decoration-thickness:1px; }
a:hover { color:var(--is-sage-dark); }
a:focus-visible,button:focus-visible,input:focus-visible { outline:2px solid var(--is-sage); outline-offset:4px; }
button,input { font:inherit; }
img { max-width:100%; height:auto; }
h1,h2,h3,h4 { font-weight:600; line-height:1.55; letter-spacing:-.025em; }
.wp-site-blocks { padding-top:0; }
.wp-site-blocks > * { margin-block-start:0; }
.utility-bar > .wp-block-group,.brand-row,.primary-navigation,.header-ad-wrap,.standard-main,.article-layout,.standard-footer > .alignwide { width:min(calc(100% - 64px),1180px); max-width:1180px !important; margin-inline:auto !important; }
.utility-bar { background:#edf1e6; color:#526147; }
.utility-bar > .wp-block-group { min-height:34px; gap:.3rem 1rem; }
.utility-bar p { margin:0; font-size:11px !important; letter-spacing:.025em; }
.utility-bar a { text-decoration:none; }
.site-header.standard-header { position:relative; background:#fff; margin:0; }
.brand-row { min-height:100px; padding-block:20px; gap:24px; }
.brand-row .wp-block-site-title { margin:0; font-family:var(--is-serif); font-size:27px !important; font-weight:600; line-height:1.5; letter-spacing:-.045em; }
.brand-row .wp-block-site-title a { color:var(--is-ink); text-decoration:none; }
.brand-row .wp-block-site-title a::before { content:""; display:inline-block; width:17px; height:24px; margin-right:13px; border-radius:20px 0 20px 0; background:var(--is-sage); transform:rotate(-15deg); vertical-align:-2px; }
.header-search { width:260px; flex-shrink:0; margin:0; }
.header-search .wp-block-search__inside-wrapper { border:1px solid var(--is-line); padding:3px; border-radius:0; }
.header-search input { min-width:0; border:0; background:transparent; padding:6px 10px; font-size:12px; color:var(--is-ink); }
.header-search .wp-block-search__button { padding:5px 8px; margin-left:0; border:0; border-radius:0; background:transparent; color:var(--is-ink); }
.primary-nav-wrap { border-block:1px solid #edf0e8; margin:0 !important; background:#fff; }
.primary-navigation { min-height:55px; gap:34px; font-family:var(--is-sans); }
.primary-navigation .wp-block-navigation-item__content { display:inline-block; padding-block:14px; font-size:14px; font-weight:500; color:var(--is-ink); text-decoration:none; }
.primary-navigation .wp-block-navigation-item__content:hover { color:var(--is-sage); }
.primary-navigation .current-menu-item > a { color:var(--is-sage-dark); text-decoration:underline; text-underline-offset:8px; }
.header-ad-wrap:empty { display:none; }
.header-ad-wrap { margin-block:0 !important; }
.standard-main,.article-layout { margin-block:44px 0 !important; padding-inline:0 !important; }
.standard-layout { display:grid !important; grid-template-columns:minmax(0,1fr); align-items:start !important; gap:0; }
.article-layout { max-width:880px !important; }
.standard-layout > .wp-block-column { flex-basis:100% !important; }
.content-column,.article-column,.sidebar-column { min-width:0; }
.sidebar-column { margin:0 !important; }
.article-sidebar { position:static; }
.standard-page { background:#fff; padding:40px !important; }
.standard-page-title { margin:0 0 24px; font-family:var(--is-serif); font-size:clamp(26px,3vw,36px); font-weight:600; line-height:1.6; }
.standard-kicker,.section-kicker { color:var(--is-sage-dark); font-size:11px; font-weight:500; letter-spacing:.14em; }

/* Dynamic homepage: real posts, never fabricated headlines. */
.editorial-home { width:100%; max-width:none !important; }
.home-heading { display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin-bottom:30px; }
.home-heading h1 { margin:0; font-family:var(--is-serif); font-size:24px; font-weight:500; }
.home-heading p { margin:0; font-size:12px; color:var(--is-muted); }
.home-heading small { display:block; margin-bottom:6px; color:var(--is-sage); font-size:10px; letter-spacing:.16em; font-family:var(--is-sans); }
.health-feature { display:grid; grid-template-columns:minmax(0,1.9fr) minmax(0,1fr); gap:40px; align-items:start; }
.editorial-card { margin:0; min-width:0; }
.editorial-card a { text-decoration:none; }
.editorial-card__image { display:block; overflow:hidden; background:#e5e9df; }
.editorial-card__image img { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; transition:transform .35s ease; }
.editorial-card__image:hover img { transform:scale(1.025); }
.editorial-card__body { padding-block:22px 0; }
.editorial-card__category { display:inline-block; font-size:11px; color:var(--is-sage-dark); font-weight:500; letter-spacing:.06em; }
.editorial-card h2 { margin:10px 0 12px; font-family:var(--is-serif); font-size:24px; font-weight:600; line-height:1.7; letter-spacing:-.025em; }
.health-feature > .editorial-card h2 { font-size:clamp(25px,2.5vw,32px); }
.editorial-card__excerpt { color:var(--is-muted); font-size:14px; margin:12px 0; line-height:1.95; }
.editorial-card__meta { color:var(--is-muted); font-size:11px; display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:20px; }
.editorial-side { display:grid; gap:24px; }
.guide-panel { background:#eef2e7; border-top:2px solid var(--is-sage); padding:28px; }
.guide-panel .guide-label { margin:0 0 14px; color:var(--is-sage-dark); font-size:10px; letter-spacing:.16em; }
.guide-panel h2 { font-family:var(--is-serif); font-size:24px; line-height:1.7; margin:0 0 14px; font-weight:500; }
.guide-panel p { font-size:13px; color:var(--is-muted); line-height:1.9; }
.guide-panel a { font-size:12px; font-weight:500; }
.guide-panel--plain { background:#fff; border:1px solid var(--is-line); }
.guide-panel--plain h2 { font-size:21px; }
.guide-index { list-style:none; padding:0; margin:25px 0 5px; }
.guide-index li { border-top:1px solid var(--is-line); }
.guide-index a { display:flex; gap:14px; padding:14px 0; text-decoration:none; font-size:13px; }
.guide-index span { color:var(--is-sage); font-size:11px; }
.topic-strip { margin-top:52px; border-top:1px solid var(--is-line); padding-top:26px; }
.section-heading-row { display:flex; align-items:baseline; justify-content:space-between; border-bottom:1px solid var(--is-line); padding-bottom:14px; margin-bottom:24px; gap:16px; }
.section-heading-row h2 { margin:0; font-size:19px !important; font-weight:500; }
.section-heading-row p,.section-heading-row a { margin:0; color:var(--is-muted); font-size:11px; }
.topic-tiles { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; }
.topic-tile { display:block; padding:22px 20px; min-height:128px; border:1px solid var(--is-line); background:#fff; text-decoration:none; }
.topic-tile small { color:var(--is-sage); font-size:10px; letter-spacing:.06em; }
.topic-tile strong { display:block; margin-top:9px; font-weight:500; font-size:16px; }
.topic-tile span { display:block; color:var(--is-muted); margin-top:5px; font-size:11px; line-height:1.8; }
.home-more { margin-top:44px; }
.editorial-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; align-items:start; }
.health-more-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.editorial-empty { margin:0; padding:26px; background:#fff; border:1px solid var(--is-line); font-size:14px; color:var(--is-muted); }
.editorial-pagination { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; padding:32px 0; }
.editorial-pagination a,.editorial-pagination .current { padding:4px 12px; font-size:14px; }
.editorial-pagination .current { background:var(--is-sage); color:#fff; }
.photo-credit { display:block; margin-block:8px 0; color:var(--is-muted); font-size:10px; line-height:1.7; }
.photo-credit a { color:inherit; }

/* Sidebar and standard WordPress archives. */
.sidebar-box { margin:0 0 30px; background:#fff; border:1px solid var(--is-line); padding:24px; }
.sidebar-box h2 { margin:0 0 16px; padding-bottom:13px; font-size:17px; border-bottom:1px solid var(--is-line); font-weight:500; }
.sidebar-intro,.trust-box p { color:var(--is-muted); font-size:12px; line-height:1.95; }
.topic-links,.footer-links { list-style:none; margin:0; padding:0; }
.topic-links li { border-bottom:1px solid var(--is-line); }
.topic-links li:last-child { border:0; }
.topic-links a { display:flex; justify-content:space-between; gap:10px; padding:11px 0; font-size:13px; text-decoration:none; }
.topic-links span { color:var(--is-sage); }
.trust-box { background:#eef2e7; }
.standard-post-query .wp-block-post-template { gap:28px; }
.standard-post-card { background:#fff; padding:24px; }
.standard-post-card .wp-block-post-title,.standard-list-item .wp-block-post-title { font-family:var(--is-serif); font-size:23px; line-height:1.7; font-weight:600; }
.standard-post-card .wp-block-post-title a,.standard-list-item .wp-block-post-title a { text-decoration:none; }
.standard-list-item { padding:28px 0; border-bottom:1px solid var(--is-line); }
.standard-list-item .wp-block-post-date { color:var(--is-muted); font-size:12px; }

/* Article-ready layouts and reserved advertising space. */
.article-column { background:#fff; padding:34px; }
.article-breadcrumb { color:var(--is-muted); font-size:11px; margin-bottom:16px; }
.article-category { font-size:12px !important; color:var(--is-sage-dark); font-weight:500; }
.article-title { margin-block:14px 20px; max-width:none; font-family:var(--is-serif); font-size:clamp(27px,2.9vw,37px); font-weight:600 !important; line-height:1.65; letter-spacing:-.03em; }
.article-deck { font-size:15px !important; color:var(--is-muted); line-height:1.95; }
.article-meta { display:flex; flex-wrap:wrap; gap:5px 15px; margin:22px 0; color:var(--is-muted); font-size:11px; line-height:1.8; }
.article-meta span { min-width:0; }
.article-column .wp-block-separator { border-color:var(--is-line); margin-block:25px; }
.article-column .wp-block-post-featured-image { margin-inline:0; }
.article-column .wp-block-post-featured-image img { width:100%; }
.wp-block-post-content { font-size:17px; font-weight:400; line-height:2; }
.wp-block-post-content > p { margin-block:1.3em; }
.wp-block-post-content h2 { margin-top:2.3em; font-size:23px; font-weight:500; line-height:1.65; }
.wp-block-post-content h3 { font-size:20px; font-weight:500; }
.wp-block-post-content a { overflow-wrap:anywhere; }
.wp-block-post-content blockquote { margin-inline:0; border-left:2px solid var(--is-sage); padding-left:24px; font-family:var(--is-serif); font-size:1.05em; }
.wp-block-table { overflow-x:auto; font-size:14px; }
.wp-block-table td,.wp-block-table th { border-color:var(--is-line); padding:14px; text-align:left; }
.wp-block-table th { background:var(--is-ivory); font-weight:500; }
.demo-notice,.editorial-notice,.market-disclosure { padding:18px 20px; margin-block:26px; border-left:2px solid var(--is-sage); background:var(--is-ivory); font-size:13px; line-height:1.95; }
.demo-notice strong { font-weight:500; }
.demo-notice p { margin:5px 0 0 !important; }
.newsroom-cover { border:1px solid var(--is-line); background:var(--is-ivory); }
.newsroom-cover a { display:flex; flex-direction:column; padding:30px; text-decoration:none; }
.newsroom-cover span,.newsroom-cover small { font-size:11px; color:var(--is-muted); }
.newsroom-cover strong { margin-block:18px; font-family:var(--is-serif); font-size:26px; font-weight:500; }
.related-posts { margin-top:40px; border-top:1px solid var(--is-line); padding-top:22px; }
.related-posts h2 { font-size:20px; }
.related-posts__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.related-card { border:1px solid var(--is-line); padding:20px; font-size:14px; }
.related-card a { text-decoration:none; }
.insight-ad-slot { display:block; width:100%; margin-block:26px; text-align:center; }
.insight-ad-label,.insight-ad-slot--placeholder > span { display:block; color:#647068; font-size:10px; letter-spacing:.08em; margin-bottom:8px; }
.insight-ad-slot .adsbygoogle { min-height:250px; }
.insight-ad-slot--header .adsbygoogle { min-height:90px; }
.insight-ad-slot--demo,.insight-ad-slot--placeholder { min-height:280px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; padding:18px; border:1px dashed #ccd3c9; background:#f7f9f5; color:#647068; }
.insight-ad-slot--demo.insight-ad-slot--header { min-height:110px; }
.insight-ad-slot--demo strong,.insight-ad-slot--placeholder strong { font-weight:400; font-size:13px; }
.insight-ad-slot--demo small,.insight-ad-slot--placeholder small { font-size:10px; }
.insight-direct-ad img { display:block; max-width:100%; height:auto; margin-inline:auto; }
.standard-footer { margin-top:64px; padding:42px 0 22px; border-top:1px solid var(--is-line); background:#eef1e8; }
.standard-footer .wp-block-site-title { font-family:var(--is-serif); font-weight:600; font-size:21px !important; }
.standard-footer .wp-block-site-title a { text-decoration:none; }
.standard-footer p,.standard-footer li { font-size:12px !important; }
.standard-footer h3 { font-size:13px; font-weight:500; }
.standard-footer .wp-block-columns { gap:50px; }
.footer-links li { padding-block:5px; }
.footer-links a { text-decoration:none; }
.footer-bottom { border-top:1px solid var(--is-line); padding-top:18px; margin-top:28px; color:var(--is-muted); }
.footer-bottom p { margin:0; font-size:10px !important; }

@media(max-width:960px) {
  .standard-layout { grid-template-columns:minmax(0,1fr); gap:32px; }
  .standard-layout > .wp-block-column { flex-basis:100% !important; }
  .sidebar-column > .wp-block-template-part { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
  .sidebar-column .insight-ad-slot { grid-column:1/-1; }
  .health-feature { grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:26px; }
  .guide-panel { padding:22px; }
  .guide-panel h2 { font-size:21px; }
  .topic-tiles { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:640px) {
  .utility-bar > .wp-block-group,.brand-row,.primary-navigation,.header-ad-wrap,.standard-main,.article-layout,.standard-footer > .alignwide { width:calc(100% - 36px); }
  .utility-bar .wp-block-site-tagline { display:none; }
  .utility-bar > .wp-block-group { min-height:30px; justify-content:flex-end; }
  .brand-row { min-height:0; padding-block:20px; flex-wrap:wrap !important; gap:16px; }
  .brand-row .wp-block-site-title { font-size:24px !important; }
  .header-search { width:100%; }
  .primary-navigation { min-height:48px; }
  .primary-navigation .wp-block-navigation-item__content { padding-block:8px; font-size:15px; }
  .primary-navigation .wp-block-navigation__responsive-container.is-menu-open { padding:30px; background:#fff; }
  .primary-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items:flex-start; width:100%; gap:12px; }
  .standard-main,.article-layout { margin-top:28px !important; }
  .home-heading { align-items:flex-start; flex-direction:column; gap:5px; margin-bottom:22px; }
  .home-heading h1 { font-size:22px; }
  .home-heading p { font-size:11px; }
  .health-feature,.editorial-grid,.health-more-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
  .health-feature > .editorial-card h2 { font-size:26px; }
  .editorial-card h2 { font-size:24px; }
  .editorial-side { gap:18px; }
  .topic-strip { margin-top:32px; }
  .topic-tiles { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .topic-tile { padding:18px 15px; }
  .topic-tile strong { font-size:15px; }
  .section-heading-row h2 { font-size:18px !important; }
  .sidebar-column > .wp-block-template-part { display:block; }
  .sidebar-box { padding:22px; }
  .article-column { padding:0; background:transparent; }
  .article-title { font-size:28px; line-height:1.65; letter-spacing:-.03em; }
  .article-deck { font-size:14px !important; }
  .article-meta { font-size:10px; gap:4px 12px; }
  .wp-block-post-content { font-size:16px; line-height:2; }
  .wp-block-post-content h2 { font-size:22px; }
  .standard-page { padding:24px 18px !important; }
  .standard-page-title { font-size:27px; }
  .related-posts__grid { grid-template-columns:1fr; }
  .insight-ad-slot--header .adsbygoogle { min-height:100px; }
  .standard-footer { margin-top:42px; padding-top:32px; }
  .standard-footer .wp-block-columns { gap:24px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; } }
