/*
Theme Name: Hearth
Theme URI: https://example.com/hearth
Author: Your Name
Author URI: https://example.com
Description: A warm, modern parenting and home theme with a friendly rounded type system (Quicksand), a signature by-age quick-nav, an image-forward featured mosaic and segmented stage-by-stage blocks. Per-category colour accents, light and dark modes, self-hosted fonts and one-click demo content with original artwork.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hearth
Tags: blog, news, magazine, two-columns, right-sidebar, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, full-width-template
*/

:root {
  --bg: #fbf7f2;
  --surface: #ffffff;
  --surface-2: #f1ece4;
  --text: #2a2d2c;
  --text-2: #4f5553;
  --muted: #87908d;
  --line: #e7e0d6;
  --accent: #2e9d8f;
  --accent-ink: #ffffff;
  --accent-hover: #243230;
  --accent-hover-ink: #ffffff;

  --font-display: "Quicksand", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-ui: "Quicksand", system-ui, -apple-system, "Segoe UI", sans-serif;
  --w-display: 700;
  --lh-display: 1.12;
  --track-display: -0.01em;

  --radius: 16px;
  --radius-ui: 12px;
  --footer-bg: #243230;
  --footer-text: #eef2f0;
  --footer-muted: #9aa7a3;
  --footer-line: rgba(255,255,255,.12);
  --overlay: linear-gradient(180deg, rgba(20,28,26,0) 30%, rgba(20,28,26,.9) 100%);
}
:root[data-theme="dark"] {
  --bg: #151817;
  --surface: #1c201f;
  --surface-2: #252a28;
  --text: #eef2f0;
  --text-2: #c4ccc9;
  --muted: #8a938f;
  --line: #2d3331;
  --accent: #43c4b2;
  --accent-ink: #0c1110;
  --accent-hover: #eef2f0;
  --accent-hover-ink: #151817;
  --footer-bg: #0d1211;
}

body { font-size: 17px; }
.meta, .cat, .primary-menu a, .mobile-menu a, .section-link, .widget-title, .btn, .header-cta { font-family: var(--font-ui); }
.brand__name { font-family: var(--font-display); font-weight: 700; font-size: 1.5rem; letter-spacing: -.01em; }
h1, h2, h3, h4, .card__title, .mini__title, .entry-title, .section-title { font-family: var(--font-display); font-weight: 700; letter-spacing: -.01em; }
.entry-content { font-family: var(--font-body); }

.site-header { border-bottom: 1px solid var(--line); }
.primary-menu > li > a { font-weight: 600; font-size: .92rem; }
.header-cta { background: var(--accent); color: #fff; border-radius: 100px; font-weight: 700; }
.cat { color: hsl(var(--cat-hue,172) 48% 40%); font-family: var(--font-ui); font-weight: 700; text-transform: uppercase; letter-spacing: .07em; font-size: .72rem; }
[data-theme="dark"] .cat { color: hsl(var(--cat-hue,172) 55% 68%); }
.card-overlay .cat { color: #fff; }
.section-title { font-size: clamp(1.5rem, 2.6vw, 2rem); }

/* ---------- Stage nav ---------- */
.he-stages { background: var(--surface-2); border-bottom: 1px solid var(--line); }
.he-stages .wrap { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; padding-block: .85rem; }
.he-stages__label { font-family: var(--font-ui); font-weight: 700; font-size: .78rem; text-transform: uppercase; letter-spacing: .09em; color: var(--muted); }
.he-stages__row { display: flex; gap: .55rem; flex-wrap: wrap; }
.he-stage { display: inline-flex; align-items: center; gap: .45rem; padding: .45rem 1.05rem; border-radius: 100px; background: var(--surface); border: 1px solid var(--line); font-family: var(--font-ui); font-weight: 600; font-size: .9rem; color: var(--text); transition: border-color .15s, color .15s; }
.he-stage:hover { border-color: hsl(var(--cat-hue,172) 55% 55%); color: hsl(var(--cat-hue,172) 50% 38%); }
[data-theme="dark"] .he-stage:hover { color: hsl(var(--cat-hue,172) 60% 70%); }
.he-stage__dot { width: .62rem; height: .62rem; border-radius: 50%; background: hsl(var(--cat-hue,172) 55% 55%); }

/* ---------- Mosaic ---------- */
.he-mosaic__grid { display: grid; gap: 16px; }
@media (min-width: 800px) { .he-mosaic__grid { grid-template-columns: 1.6fr 1fr; grid-auto-rows: minmax(210px, 1fr); } .he-mosaic__big { grid-row: span 2; } }
.he-mosaic .card-overlay { height: 100%; min-height: 210px; border-radius: var(--radius); overflow: hidden; }
.he-mosaic__big .card-overlay { min-height: 436px; }
.he-mosaic__big .card__title { font-size: clamp(1.5rem, 2.8vw, 2.3rem); }

/* ---------- Sections ---------- */
.he-section .card .media, .he-latest .card .media { border-radius: var(--radius); }
.he-band { background: var(--surface-2); padding-block: clamp(32px, 4vw, 52px); }

/* ---------- Signup ---------- */
.he-signup .signup--band { background: var(--accent); color: #fff; border-radius: var(--radius); padding: clamp(28px, 4vw, 48px); display: grid; grid-template-columns: 1fr auto; gap: 1.5rem; align-items: center; }
.he-signup .signup--band .signup__title { color: #fff; font-family: var(--font-display); font-weight: 700; font-size: clamp(1.5rem, 2.6vw, 2.1rem); }
.he-signup .signup--band .signup__desc { color: rgba(255,255,255,.92); }
.he-signup .signup--band .signup__form { min-width: 320px; }
.he-signup .signup--band .signup__button { background: #243230; color: #fff; }
.he-signup .signup--band .signup__note { color: rgba(255,255,255,.82); }
@media (max-width: 760px) { .he-signup .signup--band { grid-template-columns: 1fr; } .he-signup .signup--band .signup__form { min-width: 0; } }

.entry-content { font-size: 1.08rem; line-height: 1.72; }
.entry-content blockquote { border-left: 3px solid var(--accent); font-family: var(--font-display); font-weight: 600; font-style: normal; font-size: 1.25rem; }
