/*
Theme Name: Cedar Hollow Health (demo)
Template: twentytwentyfive
Description: Demo child theme for a fictional hospital, used to showcase the Health Library plugin. Cedar Hollow Regional Medical Center is not a real organization.
Version: 1.0.1
License: GPL-3.0-or-later
Text Domain: cedar-hollow
*/

:root { --ch-navy:#0b3a5b; --ch-teal:#11807a; --ch-teal-dark:#0c5f5a; --ch-sky:#e8f3f6; --ch-sand:#f6f3ec; --ch-red:#b3261e; --ch-ink:#1b2733; }

/* Utility bar */
.ch-utility { background: var(--ch-navy); color: #dfe9f1; font-size: .82rem; }
.ch-utility .ch-wrap { display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; align-items:center; justify-content:space-between; padding:.45rem 0; }
.ch-utility a { color:#fff; text-decoration:none; font-weight:600; }
.ch-utility a:hover { text-decoration:underline; }
.ch-utility .ch-demo-flag { background:#f2c94c; color:#3b2f00; padding:.1rem .5rem; border-radius:3px; font-weight:700; letter-spacing:.02em; }
.ch-utility nav { display:flex; gap:1.25rem; flex-wrap:wrap; }
.ch-wrap { width:min(1240px, calc(100% - 2rem)); margin:0 auto; }

/* Header */
.ch-header { border-bottom:1px solid #dde4ea; background:#fff; }
.ch-header .ch-wrap { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:1rem 0; flex-wrap:wrap; }
.ch-brand { display:flex; align-items:center; gap:.75rem; text-decoration:none; color:var(--ch-navy); }
.ch-brand svg { width:46px; height:46px; flex:none; }
.ch-brand strong { display:block; font-size:1.25rem; line-height:1.1; letter-spacing:-.01em; }
.ch-brand > span { display:block; }
.ch-brand span span { display:block; font-size:.78rem; color:#55697a; letter-spacing:.06em; text-transform:uppercase; }
.ch-footer .ch-brand strong { color:#fff; }
.ch-nav { display:flex; gap:1.6rem; flex-wrap:wrap; align-items:center; }
.ch-nav a { color:var(--ch-ink); text-decoration:none; font-weight:600; font-size:.98rem; }
.ch-nav a:hover { color:var(--ch-teal); }
.ch-btn { display:inline-block; background:var(--ch-teal); color:#fff !important; text-decoration:none; padding:.65rem 1.15rem; border-radius:6px; font-weight:700; }
.ch-btn:hover { background:var(--ch-teal-dark); }
.ch-btn.ch-outline { background:transparent; color:var(--ch-navy) !important; border:2px solid var(--ch-navy); }

/* Emergency strip */
.ch-er { background:#fbeceb; color:#5d1410; font-size:.9rem; border-bottom:1px solid #f1cfcc; }
.ch-er .ch-wrap { padding:.5rem 0; }
.ch-er strong { color:var(--ch-red); }

/* Hero */
.ch-hero { background: linear-gradient(120deg, var(--ch-navy) 0%, #12507a 55%, var(--ch-teal) 100%); color:#fff; }
.ch-hero .ch-wrap { display:grid; grid-template-columns: 1.2fr 1fr; gap:2rem; align-items:center; padding:3.5rem 0; }
.ch-hero h1 { color:#fff; font-size:clamp(2rem,4vw,3rem); line-height:1.1; margin:0 0 1rem; }
.ch-hero p { font-size:1.15rem; color:#d9e8f2; margin:0 0 1.5rem; max-width:34rem; }
.ch-hero .ch-actions { display:flex; gap:.75rem; flex-wrap:wrap; }
.ch-hero .ch-btn.ch-outline { color:#fff !important; border-color:#fff; }
.ch-hero svg { width:100%; height:auto; }
@media (max-width: 800px) { .ch-hero .ch-wrap { grid-template-columns:1fr; } .ch-hero svg { display:none; } }

/* Quick links */
.ch-quick { margin-top:-1.75rem; position:relative; }
.ch-quick .ch-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.ch-quick a { display:block; background:#fff; border-radius:10px; padding:1.1rem 1.2rem; text-decoration:none; color:var(--ch-ink); box-shadow:0 6px 24px rgba(11,58,91,.12); border-top:4px solid var(--ch-teal); }
.ch-quick a strong { display:block; color:var(--ch-navy); font-size:1.05rem; margin-bottom:.2rem; }
.ch-quick a span { font-size:.88rem; color:#55697a; }
@media (max-width: 800px) { .ch-quick .ch-grid { grid-template-columns:1fr 1fr; } }

/* Sections */
.ch-section { padding:3rem 0; }
.ch-section h2 { color:var(--ch-navy); font-size:1.9rem; margin:0 0 .5rem; }
.ch-section .ch-lede { color:#4a5d6c; margin:0 0 1.75rem; max-width:44rem; }
.ch-alt { background:var(--ch-sand); }
.ch-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:1rem; }
.ch-card { display:block; background:#fff; border:1px solid #e0e6ec; border-radius:10px; padding:1.2rem; text-decoration:none; color:var(--ch-ink); transition:box-shadow .15s, transform .15s; }
.ch-card:hover { box-shadow:0 8px 24px rgba(11,58,91,.12); transform:translateY(-2px); }
.ch-card .ch-ico { width:44px; height:44px; border-radius:10px; background:var(--ch-sky); color:var(--ch-teal); display:flex; align-items:center; justify-content:center; font-size:1.4rem; margin-bottom:.75rem; }
.ch-card strong { display:block; color:var(--ch-navy); font-size:1.08rem; margin-bottom:.25rem; }
.ch-card span { font-size:.92rem; color:#55697a; }
.ch-library { background:var(--ch-sky); }
.ch-library .ch-wrap { display:grid; grid-template-columns:1fr 1fr; gap:2rem; align-items:center; }
.ch-library .hlmc { margin:0; }
.ch-topics { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1rem; }
.ch-topics a { background:#fff; border:1px solid #c9dde4; border-radius:999px; padding:.35rem .85rem; font-size:.9rem; text-decoration:none; color:var(--ch-navy); }
.ch-topics a:hover { border-color:var(--ch-teal); color:var(--ch-teal); }
@media (max-width: 800px) { .ch-library .ch-wrap { grid-template-columns:1fr; } }
.ch-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; text-align:center; }
.ch-stats b { display:block; font-size:2rem; color:var(--ch-teal); }
.ch-stats span { color:#4a5d6c; font-size:.92rem; }
@media (max-width: 800px) { .ch-stats { grid-template-columns:1fr 1fr; } }

/* Doctors */
.ch-docs { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:1rem; margin-bottom:2rem; }
.ch-doc { display:flex; gap:.9rem; align-items:flex-start; background:#fff; border:1px solid #e0e6ec; border-radius:10px; padding:1rem; }
.ch-doc .ch-avatar { width:54px; height:54px; border-radius:50%; background:var(--ch-sky); color:var(--ch-teal-dark); display:flex; align-items:center; justify-content:center; font-weight:800; flex:none; }
.ch-doc strong { display:block; color:var(--ch-navy); }
.ch-doc span { display:block; font-size:.88rem; color:#55697a; }
.ch-doc a { font-size:.88rem; font-weight:600; }
.ch-specialty { scroll-margin-top:1rem; border-bottom:2px solid var(--ch-sky); padding-bottom:.25rem; color:var(--ch-navy); }
.ch-jump { display:flex; flex-wrap:wrap; gap:.4rem; margin:0 0 2rem; }
.ch-jump a { background:var(--ch-sky); border-radius:999px; padding:.3rem .8rem; font-size:.88rem; text-decoration:none; color:var(--ch-navy); font-weight:600; }

/* Info boxes */
.ch-box { background:var(--ch-sky); border-left:4px solid var(--ch-teal); padding:1rem 1.2rem; border-radius:6px; margin:1.5rem 0; }
.ch-box.ch-warn { background:#fbeceb; border-color:var(--ch-red); }

/* Footer */
.ch-footer { background:var(--ch-navy); color:#c9d7e3; font-size:.92rem; }
.ch-footer .ch-wrap { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:2rem; padding:3rem 0 2rem; }
.ch-footer h4 { color:#fff; margin:0 0 .75rem; font-size:1rem; }
.ch-footer ul { list-style:none; margin:0; padding:0; }
.ch-footer li { margin-bottom:.4rem; }
.ch-footer a { color:#e6eef5; text-decoration:none; }
.ch-footer a:hover { text-decoration:underline; }
.ch-footer .ch-bottom { border-top:1px solid rgba(255,255,255,.15); }
.ch-footer .ch-bottom .ch-wrap { display:block; padding:1rem 0; font-size:.8rem; color:#9fb4c6; }
@media (max-width: 800px) { .ch-footer .ch-wrap { grid-template-columns:1fr 1fr; } .ch-header .ch-wrap { justify-content:center; } }

/* Health Library plugin: match the brand */
.hlmc { --hlmc-accent: var(--ch-navy); }
