/*
Theme Name: CNHC Blog
Theme URI: https://cnhc.in/blog/
Description: Child theme of Medical Hospital Blocks, styled to match cnhc.in (deep teal and champagne cream).
Author: CNHC
Template: medical-hospital-blocks
Version: 1.0.0
License: GNU General Public License v3 or later
Text Domain: cnhc-blog
*/

:root {
  --cnhc-teal-900: #10302d;
  --cnhc-teal-800: #173d3a;
  --cnhc-teal-700: #1f4e4a;
  --cnhc-teal-500: #3f7a72;
  --cnhc-teal-100: #dcebe7;
  --cnhc-cream-300: #ecd3ae;
  --cnhc-cream-100: #f7efe0;
  --cnhc-paper: #fcfaf5;
  --cnhc-gold: #b98a4e;
  --cnhc-gold-dark: #94692f;
  --cnhc-ink: #1a2928;
  --cnhc-ink-soft: #4a5b59;
  --cnhc-line: rgba(23, 61, 58, .18);
  --cnhc-display: 'Cinzel', 'Trajan Pro', Georgia, serif;
}

html { scroll-behavior: smooth; }
body { background: var(--cnhc-paper); }
a:focus-visible, button:focus-visible { outline: 3px solid var(--cnhc-gold); outline-offset: 3px; }
a:focus, button:focus { outline-color: var(--cnhc-gold); }

/* ---------- Header ---------- */
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: 0; z-index: 50; }
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 32px; }
.cnhc-header {
  background: var(--cnhc-teal-800);
  border-bottom: 1px solid rgba(236, 211, 174, .25);
  padding: 0 1.25rem;
}
.cnhc-header-inner { min-height: 72px; gap: 1.5rem; }
.cnhc-brand { display: flex; flex-direction: column; text-decoration: none; line-height: 1; }
.cnhc-brand-name {
  font-family: var(--cnhc-display); font-weight: 700; font-size: 1.9rem;
  letter-spacing: .06em; color: var(--cnhc-cream-300);
}
.cnhc-brand-sub { font-style: italic; font-size: .8rem; color: var(--cnhc-cream-300); opacity: .85; margin-top: 4px; }
.cnhc-header .wp-block-navigation a,
.cnhc-header .wp-block-navigation-item__content {
  color: var(--cnhc-cream-300) !important; text-decoration: none;
  font-weight: 600; font-size: .98rem; letter-spacing: 0; text-transform: none;
  padding: .3rem 0; border-bottom: 2px solid transparent;
}
.cnhc-header .wp-block-navigation a:hover,
.cnhc-header .wp-block-navigation .current-menu-item a { color: #fff !important; border-bottom-color: var(--cnhc-gold); }
.cnhc-header .wp-block-navigation__responsive-container-open { color: var(--cnhc-cream-300); }
.cnhc-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--cnhc-teal-800); }
.cnhc-call {
  background: var(--cnhc-cream-300); color: var(--cnhc-teal-800) !important; font-weight: 700;
  padding: .6rem 1.1rem; border-radius: 6px; text-decoration: none; white-space: nowrap;
}
.cnhc-call:hover { background: #fff; }

/* ---------- Title band (posts, archives, pages) ---------- */
.cnhc-page-band {
  background: var(--cnhc-teal-700); color: var(--cnhc-cream-300);
  padding: clamp(2.2rem, 5vw, 3.6rem) 1.25rem; border-bottom: 4px solid var(--cnhc-gold); text-align: center;
}
.cnhc-page-band h1, .cnhc-band-title { color: var(--cnhc-cream-300) !important; font-size: clamp(1.7rem, 4vw, 2.6rem) !important; margin: .2em auto; max-width: 28ch; }
.cnhc-page-band .wp-block-post-terms, .cnhc-page-band .wp-block-post-terms a,
.cnhc-page-band .wp-block-post-date, .cnhc-page-band .wp-block-post-date a { color: #d9e6e2 !important; font-size: .95rem; text-decoration: none; }
.cnhc-page-band .wp-block-post-terms a { border-bottom: 1px solid var(--cnhc-gold); }

/* parent's image banners -> flat teal; empty banners hidden */
.inner-cover-img, .wp-block-cover:has(img[src*="inner-banner"]) { background: var(--cnhc-teal-700) !important; min-height: 0 !important; padding: 2.6rem 1.25rem !important; border-bottom: 4px solid var(--cnhc-gold); }
img[src*="inner-banner"] { display: none !important; }
.inner-cover-img .wp-block-cover__background, .wp-block-cover:has(img[src*="inner-banner"]) .wp-block-cover__background { background: transparent !important; opacity: 0 !important; }
.inner-cover-img h1, .inner-cover-img h2, .inner-cover-img .wp-block-post-title {
  color: var(--cnhc-cream-300) !important; text-transform: none !important;
  font-size: clamp(1.7rem, 4vw, 2.6rem) !important; letter-spacing: .02em !important;
}
.wp-block-cover:has(.wp-block-cover__inner-container > p:empty:only-child) { display: none; }

/* ---------- Hero (blog home) ---------- */
.cnhc-hero {
  background: radial-gradient(circle at 85% 15%, rgba(236, 211, 174, .10), transparent 45%), var(--cnhc-teal-700);
  color: var(--cnhc-cream-300); padding: clamp(3rem, 8vw, 5.5rem) 1.25rem; border-bottom: 4px solid var(--cnhc-gold);
}
.cnhc-hero h1 { color: var(--cnhc-cream-300) !important; max-width: 20ch; margin-bottom: .4em; }
.cnhc-hero p { color: #e4efeb; font-style: italic; font-size: clamp(1.05rem, 2vw, 1.3rem); max-width: 48ch; }
.cnhc-hero .wp-block-buttons { margin-top: 1.6rem; }
.cnhc-eyebrow { font-weight: 700; font-size: .82rem; letter-spacing: .14em; text-transform: uppercase; color: var(--cnhc-gold-dark); margin: 0 0 .4rem; }

/* ---------- Buttons ---------- */
.wp-block-button__link, .wp-element-button {
  border-radius: 6px; font-weight: 700; padding: .8rem 1.5rem; text-decoration: none;
  background: var(--cnhc-teal-800); color: var(--cnhc-cream-300);
}
.wp-block-button__link:hover, .wp-element-button:hover { background: var(--cnhc-teal-900); color: #fff; }
.cnhc-hero .wp-block-button__link, .cnhc-btn-cream .wp-block-button__link { background: var(--cnhc-cream-300); color: var(--cnhc-teal-800); }
.cnhc-hero .wp-block-button__link:hover, .cnhc-btn-cream .wp-block-button__link:hover { background: #fff; color: var(--cnhc-teal-800); }
.cnhc-btn-wa .wp-block-button__link { background: #1fa855; color: #fff; }
.cnhc-btn-wa .wp-block-button__link:hover { background: #178a45; color: #fff; }

/* ---------- Post cards ---------- */
.inner-post-box, .sidebar-box {
  background: #fff !important; border: 1px solid var(--cnhc-line) !important;
  border-top: 3px solid var(--cnhc-gold) !important; border-bottom: 1px solid var(--cnhc-line) !important;
  border-radius: 10px !important; box-shadow: none !important;
  transition: transform .3s ease, box-shadow .3s ease;
}
.inner-post-box:hover { transform: translateY(-6px); box-shadow: 0 16px 30px rgba(16, 48, 45, .14) !important; }
.inner-post-box .wp-block-post-title, .inner-post-box .wp-block-post-title a { font-size: 1.15rem !important; line-height: 1.35; text-decoration: none; }
.inner-post-box .wp-block-separator { background: var(--cnhc-gold) !important; color: var(--cnhc-gold) !important; }
.inner-post-box .wp-block-read-more { color: var(--cnhc-teal-700) !important; font-weight: 700; }
.wp-block-post-featured-image img { border-radius: 8px; }
.wp-block-query-pagination a, .wp-block-query-pagination-numbers .page-numbers { color: var(--cnhc-teal-700); font-weight: 600; }
.wp-block-query-pagination-numbers .current { color: var(--cnhc-gold-dark); }

/* ---------- Post content ---------- */
.wp-block-post-content { font-size: 1.0625rem; line-height: 1.75; }
.wp-block-post-content p { margin-bottom: 1.1em; }
.wp-block-post-content h2 { font-size: clamp(1.45rem, 3vw, 2rem) !important; margin: 2em 0 .6em; }
.wp-block-post-content h3 { font-size: 1.3rem !important; margin: 1.6em 0 .5em; }
.wp-block-post-content h4 { font-size: 1.1rem !important; }
.wp-block-post-content a { color: var(--cnhc-teal-500); text-underline-offset: 3px; }
.wp-block-post-content a:hover { color: var(--cnhc-teal-700); }
.wp-block-post-content ul li::marker, .wp-block-post-content ol li::marker { color: var(--cnhc-gold); }
.wp-block-post-content blockquote { border-left: 4px solid var(--cnhc-gold); background: var(--cnhc-cream-100); padding: 1rem 1.4rem; margin: 1.6em 0; font-style: italic; }
.wp-block-post-content table { border-collapse: collapse; width: 100%; }
.wp-block-post-content th { background: var(--cnhc-teal-700); color: var(--cnhc-cream-300); text-align: left; }
.wp-block-post-content th, .wp-block-post-content td { border: 1px solid var(--cnhc-line); padding: .6rem .8rem; }
.wp-block-post-content img { border-radius: 8px; height: auto; }
.wp-block-separator { border-color: var(--cnhc-line); }

/* ---------- CTA blocks ---------- */
.cnhc-post-cta {
  background: var(--cnhc-cream-100); border-left: 5px solid var(--cnhc-gold);
  border-radius: 8px; padding: 1.6rem 1.8rem; margin: 2.4rem 0;
}
.cnhc-post-cta h2, .cnhc-post-cta h3 { margin: 0 0 .3em; font-size: 1.4rem !important; }
.cnhc-post-cta p { margin: 0 0 1rem; }
.cnhc-cta-card { background: var(--cnhc-teal-700); color: var(--cnhc-cream-300); border-radius: 10px; border-top: 4px solid var(--cnhc-gold); padding: 1.5rem; }
.cnhc-cta-card h2, .cnhc-cta-card h3 { color: var(--cnhc-cream-300) !important; font-size: 1.25rem !important; margin: 0 0 .4em; }
.cnhc-cta-card p { color: #d9e6e2; }
.cnhc-cta-card .wp-block-button__link { background: var(--cnhc-cream-300); color: var(--cnhc-teal-800); }
.cnhc-cta-card .cnhc-btn-wa .wp-block-button__link { background: #1fa855; color: #fff; }
.cnhc-band { background: var(--cnhc-teal-700); color: var(--cnhc-cream-300); padding: clamp(2.5rem, 6vw, 4rem) 1.25rem; }
.cnhc-band h2 { color: var(--cnhc-cream-300) !important; }
.cnhc-band p { color: #d9e6e2; }

/* ---------- Sidebar ---------- */
.cnhc-sidebar h2, .cnhc-sidebar h3 { font-size: 1.1rem !important; margin: 0 0 .7em; }
.cnhc-sidebar .wp-block-latest-posts, .cnhc-sidebar .wp-block-categories { padding-left: 1.1rem; }
.cnhc-sidebar li { margin-bottom: .5rem; }
.cnhc-sidebar li::marker { color: var(--cnhc-gold); }
.cnhc-sidebar a { text-decoration: none; }
.cnhc-sidebar .wp-block-search__button { background: var(--cnhc-teal-800); color: var(--cnhc-cream-300); }

/* ---------- Footer ---------- */
.custom-footer-class { background: var(--cnhc-teal-900) !important; background-image: none !important; }
.cnhc-footer { background: var(--cnhc-teal-900); color: #bcd0cb; padding: 3.5rem 1.25rem 2rem; font-size: .96rem; line-height: 1.7; }
.cnhc-footer h2, .cnhc-footer h3 { color: var(--cnhc-cream-300) !important; font-size: 1rem !important; margin-bottom: .8em; }
.cnhc-footer a { color: #d9e6e2 !important; text-decoration: none; }
.cnhc-footer a:hover { color: var(--cnhc-cream-300) !important; text-decoration: underline; }
.cnhc-footer ul { list-style: none; padding: 0; margin: 0; }
.cnhc-footer li { margin-bottom: .4rem; }
.cnhc-footer .wp-block-latest-posts__post-date { color: #8fa9a3; font-size: .85rem; display: block; }
.cnhc-footer .wp-block-social-links .wp-social-link { background: transparent; }
.cnhc-footer-bottom { margin-top: 2.5rem; padding-top: 1.2rem; border-top: 1px solid rgba(236, 211, 174, .2); font-size: .85rem; }
.cnhc-footer-bottom p { margin: 0; }

/* ---------- Mobile ---------- */
@media (max-width: 782px) {
  .admin-bar .wp-site-blocks > header.wp-block-template-part { top: 46px; }
  .cnhc-call { padding: .5rem .8rem; font-size: .9rem; }
  .cnhc-brand-name { font-size: 1.6rem; }
  .cnhc-post-cta { padding: 1.2rem; }
}
@media (max-width: 480px) { .cnhc-brand-sub { display: none; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }
