/* ==============================================
   INTEGRATE HOPE - SINGLE POST
   ============================================== */

#ih-single-post *, #ih-single-post *::before, #ih-single-post *::after { box-sizing: border-box; }
#ih-single-post a:not(.ih-btn) { color: var(--ih-deep); text-decoration: underline; text-underline-offset: 3px; }
#ih-single-post .ih-btn { text-decoration: none; }
#ih-single-post img { max-width: 100%; display: block; }
#ih-single-post .ih-container { max-width: var(--ih-max-w); margin: 0 auto; padding: 0 24px; }
#ih-single-post .ih-btn { display: inline-block; font-family: var(--ih-font-head); font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; border-radius: var(--ih-radius-sm); border: 2px solid transparent; cursor: pointer; transition: opacity 0.15s, background 0.15s; text-align: center; padding: 12px 24px; font-size: 1rem; }
#ih-single-post .ih-btn--primary { background: #005261; color: #FFE65A; border-color: #005261; }
#ih-single-post .ih-btn--primary:hover { background: #003d4a; color: #FFE65A; opacity: 1; }

/* POST HERO */
.ih-post-hero { position: relative; height: 55vh; min-height: 380px; max-height: 560px; overflow: hidden; display: flex; align-items: flex-end; background: var(--ih-deep); }
.ih-post-hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center center; z-index: 0; }
.ih-post-hero__bg--placeholder { position: absolute; inset: 0; background: linear-gradient(135deg, #005261 0%, #003d4a 100%); z-index: 0; }
.ih-post-hero__overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,82,97,0.85) 0%, rgba(0,82,97,0.2) 60%); z-index: 1; }
.ih-post-hero__content { position: relative; z-index: 2; width: 100%; padding-bottom: 48px; }
.ih-post-hero__meta { display: flex; align-items: center; gap: 16px; margin-bottom: 12px; }
.ih-post-hero__cat { font-family: var(--ih-font-head); font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ih-deep); background: var(--ih-accent); padding: 4px 12px; border-radius: 2px; }
.ih-post-hero__date { font-family: var(--ih-font-head); font-size: 0.9rem; font-weight: 600; color: rgba(255,255,255,0.75); text-transform: uppercase; letter-spacing: 0.05em; }
.ih-post-hero__title { font-family: var(--ih-font-head); font-weight: 800; font-size: 3.25rem; color: #ffffff; text-transform: uppercase; letter-spacing: 0.05em; line-height: 1.05; margin: 0; max-width: 800px; }

/* POST CONTENT AREA */
.ih-post-content { background: #ffffff; padding: var(--ih-section-pad) 0; }
.ih-post-content__inner { display: grid; grid-template-columns: 1fr 300px; gap: 64px; align-items: start; }

/* ARTICLE BODY */
.ih-post-body { font-family: var(--ih-font-body); font-size: 1.25rem; line-height: 1.8; color: var(--ih-ink); }
.ih-post-body p { margin: 0 0 24px; }
.ih-post-body h2 { font-family: var(--ih-font-head); font-weight: 800; font-size: 1.8rem; color: var(--ih-deep); text-transform: uppercase; letter-spacing: 0.05em; margin: 40px 0 16px; }
.ih-post-body h3 { font-family: var(--ih-font-head); font-weight: 700; font-size: 1.25rem; color: var(--ih-deep); text-transform: uppercase; letter-spacing: 0.05em; margin: 32px 0 12px; }
.ih-post-body ul, .ih-post-body ol { padding-left: 24px; margin: 0 0 24px; }
.ih-post-body li { margin-bottom: 8px; line-height: 1.7; }
.ih-post-body img { border-radius: var(--ih-radius-md); margin: 32px 0; }
.ih-post-body blockquote { border-left: 4px solid var(--ih-deep); padding: 16px 24px; margin: 32px 0; background: var(--ih-surface); border-radius: 0 var(--ih-radius-sm) var(--ih-radius-sm) 0; font-style: italic; font-size: 1.25rem; }

/* SIDEBAR */
.ih-post-sidebar { position: sticky; top: 24px; }
.ih-post-sidebar__back { margin-bottom: 32px; }
.ih-post-sidebar__heading { font-family: var(--ih-font-head); font-weight: 700; font-size: 1.25rem; color: var(--ih-deep); text-transform: uppercase; letter-spacing: 0.05em; margin: 0 0 20px; border-bottom: 2px solid var(--ih-surface); padding-bottom: 12px; }
.ih-post-sidebar__item { display: flex; gap: 12px; align-items: flex-start; text-decoration: none; color: inherit; padding: 12px 0; border-bottom: 1px solid var(--ih-surface); transition: opacity 0.15s; }
.ih-post-sidebar__item:hover { opacity: 0.75; }
.ih-post-sidebar__thumb { width: 72px; height: 60px; object-fit: cover; border-radius: 4px; flex-shrink: 0; }
.ih-post-sidebar__item-date { font-family: var(--ih-font-head); font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ih-deep); opacity: 0.6; display: block; margin-bottom: 4px; }
.ih-post-sidebar__item-title { font-family: var(--ih-font-head); font-weight: 700; font-size: 0.95rem; color: var(--ih-deep); text-transform: uppercase; letter-spacing: 0.03em; margin: 0; line-height: 1.2; }

/* RESPONSIVE */
@media (max-width: 768px) {
  .ih-post-hero__title { font-size: 2rem; }
  .ih-post-content__inner { grid-template-columns: 1fr; }
  .ih-post-sidebar { position: static; }
}
