/*
Theme Name: Health Meridian
Theme URI: https://healthmeridian.co.uk
Author: Health Meridian
Author URI: https://healthmeridian.co.uk
Description: A premium, editable WordPress theme for health and wellness publications. Built for the WordPress Customizer, Gutenberg and Elementor Free, with dynamic category cards, a magazine-style blog, and a medical-review layout. Fully translatable and accessible.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: health-meridian
Tags: blog, health, one-column, two-columns, right-sidebar, custom-colors, custom-menu, custom-logo, featured-images, threaded-comments, translation-ready, block-styles, wide-blocks, editor-style

Health Meridian is a WordPress theme. It is distributed under the terms of the GNU GPL.
*/

/* =========================================================
   1. DESIGN TOKENS
   ---------------------------------------------------------
   Palette: deep clinical teal (trust) + sage green (wellness)
   + warm gold accent (warmth/energy, deliberately NOT the
   common AI-default terracotta) on an off-white, faintly
   mint-tinted background.
   Type: Fraunces (serif, characterful, used for display only)
   paired with Inter (body/UI) and a small caps utility style
   for eyebrows/labels.
   Signature element: the "pulse line" — a heartbeat-style
   SVG line used as a section divider and hero accent.
   ========================================================= */
:root{
  --hm-primary: #0A5C78;        /* vivid ocean teal - headings, header bg */
  --hm-primary-dark:#073E50;
  --hm-secondary:#2FAE63;       /* vivid emerald - wellness accent */
  --hm-secondary-dark:#1F8A4C;
  --hm-accent:#FFB238;          /* vivid golden amber - CTAs, highlights */
  --hm-accent-dark:#E8961A;
  --hm-text:#17262C;
  --hm-text-muted:#5B6F74;
  --hm-bg:#FAFBF8;
  --hm-bg-mint:#E9F7EF;
  --hm-bg-card:#FFFFFF;
  --hm-border:#E2E9E4;
  --hm-white:#FFFFFF;

  --hm-font-display:'Fraunces', Georgia, 'Times New Roman', serif;
  --hm-font-body:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  --hm-radius-sm: 10px;
  --hm-radius-md: 16px;
  --hm-radius-lg: 24px;
  --hm-shadow-sm: 0 2px 10px rgba(18,59,79,0.06);
  --hm-shadow-md: 0 10px 30px rgba(18,59,79,0.10);
  --hm-shadow-lg: 0 20px 50px rgba(18,59,79,0.14);
  --hm-container: 1200px;
}

/* =========================================================
   2. RESET & BASE
   ========================================================= */
*, *::before, *::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--hm-font-body);
  color:var(--hm-text);
  background:var(--hm-bg);
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--hm-primary); text-decoration:none; transition:color .2s ease; }
a:hover{ color:var(--hm-secondary); }
ul{ list-style:none; margin:0; padding:0; }
button{ font-family:inherit; cursor:pointer; }
h1,h2,h3,h4,h5,h6{
  font-family:var(--hm-font-display);
  color:var(--hm-primary);
  line-height:1.2;
  margin:0 0 .5em;
  font-weight:600;
}
h1{ font-size:clamp(2.1rem, 4vw, 3.4rem); }
h2{ font-size:clamp(1.7rem, 3vw, 2.5rem); }
h3{ font-size:1.35rem; }
p{ margin:0 0 1.2em; }
.hm-container{ max-width:var(--hm-container); margin:0 auto; padding:0 24px; }
.hm-eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--hm-font-body); font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; font-size:.72rem; color:var(--hm-secondary-dark);
  background:var(--hm-bg-mint); padding:6px 14px; border-radius:999px;
  margin-bottom:16px;
}
.hm-eyebrow::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--hm-secondary); }
.hm-eyebrow svg{ width:14px; height:14px; flex-shrink:0; }
.hm-section{ padding:88px 0; }
.hm-section--tight{ padding:56px 0; }
.hm-section--mint{ background:var(--hm-bg-mint); }
.hm-section-head{ max-width:680px; margin:0 auto 48px; text-align:center; }
.hm-section-head p{ color:var(--hm-text-muted); font-size:1.08rem; }
.screen-reader-text{
  border:0; clip:rect(1px,1px,1px,1px); clip-path:inset(50%);
  height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute;
  width:1px; word-wrap:normal !important;
}
.skip-link{ position:absolute; left:-9999px; top:0; background:var(--hm-primary); color:#fff; padding:12px 20px; z-index:9999; border-radius:0 0 8px 0; }
.skip-link:focus{ left:0; color:#fff; }
:focus-visible{ outline:3px solid var(--hm-accent); outline-offset:2px; }

/* Buttons */
.hm-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:14px 28px; border-radius:999px; font-weight:600; font-size:.98rem;
  border:2px solid transparent; transition:all .25s ease; white-space:nowrap;
}
.hm-btn--primary{ background:var(--hm-accent); color:var(--hm-primary-dark); }
.hm-btn--primary:hover{ background:var(--hm-accent-dark); color:var(--hm-primary-dark); transform:translateY(-2px); }
.hm-btn--outline{ background:transparent; border-color:rgba(255,255,255,.5); color:#fff; }
.hm-btn--outline:hover{ background:rgba(255,255,255,.12); color:#fff; border-color:#fff; }
.hm-btn--dark-outline{ background:transparent; border-color:var(--hm-primary); color:var(--hm-primary); }
.hm-btn--dark-outline:hover{ background:var(--hm-primary); color:#fff; }
.hm-btn--sm{ padding:10px 20px; font-size:.88rem; }

/* Pulse line signature element */
.hm-pulse{ width:100%; height:40px; overflow:hidden; opacity:.9; }
.hm-pulse svg{ width:100%; height:100%; }
.hm-pulse path{ stroke:var(--hm-secondary); stroke-width:2.5; fill:none; stroke-linecap:round; stroke-linejoin:round; }
.hm-divider{ margin:0; }
.hm-divider path{ stroke:var(--hm-accent); }

/* =========================================================
   3. HEADER
   ========================================================= */
.hm-topbar{ background:var(--hm-bg-mint); color:var(--hm-primary); font-size:.8rem; border-bottom:1px solid var(--hm-border); }
.hm-topbar .hm-container{ display:flex; justify-content:center; align-items:center; padding-top:8px; padding-bottom:8px; flex-wrap:wrap; gap:8px; }
.hm-topbar a{ color:var(--hm-primary); }
.hm-topbar a:hover{ color:var(--hm-secondary-dark); }
.hm-topbar-trust{ display:flex; gap:26px; flex-wrap:wrap; }
.hm-topbar-trust span{ display:inline-flex; align-items:center; gap:6px; font-weight:600; }
.hm-topbar-trust svg{ width:15px; height:15px; color:var(--hm-secondary-dark); }

.hm-header{ background:linear-gradient(120deg, var(--hm-primary), var(--hm-primary-dark)); position:relative; z-index:100; box-shadow:0 2px 14px rgba(7,62,80,.18); }
.hm-header-inner{ display:flex; align-items:center; justify-content:space-between; padding:18px 0; gap:24px; }
.hm-brand{ display:flex; align-items:center; gap:12px; color:#fff; }
.hm-brand img{ max-height:48px; width:auto; }
.hm-brand-text{ display:flex; flex-direction:column; line-height:1.1; }
.hm-brand-name{ font-family:var(--hm-font-display); font-weight:700; font-size:1.4rem; color:#fff; }
.hm-brand-tagline{ font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color:var(--hm-accent); }

.hm-nav{ display:flex; align-items:center; gap:8px; }
.hm-nav ul{ display:flex; align-items:center; gap:2px; flex-wrap:wrap; }
.hm-nav a{
  color:rgba(255,255,255,.92); font-weight:600; font-size:.95rem;
  padding:10px 14px; border-radius:8px; display:inline-block; position:relative; transition:.2s;
}
.hm-nav a::after{
  content:""; position:absolute; left:14px; right:14px; bottom:4px; height:2px;
  background:var(--hm-accent); transform:scaleX(0); transition:transform .2s ease; transform-origin:left;
}
.hm-nav a:hover{ color:#fff; background:rgba(255,255,255,.12); }
.hm-nav a:hover::after,
.hm-nav .current-menu-item > a::after,
.hm-nav .current_page_item > a::after{ transform:scaleX(1); }
.hm-nav .current-menu-item > a, .hm-nav .current_page_item > a{ color:#fff; }
.hm-nav .menu-item-has-children{ position:relative; }
.hm-nav .menu-item-has-children > a::before{
  content:"▾"; display:inline-block; margin-left:6px; font-size:.7em; vertical-align:middle;
}
.hm-nav .sub-menu{
  display:none; position:absolute; top:100%; left:0; background:#fff; min-width:220px;
  border-radius:12px; box-shadow:var(--hm-shadow-lg); padding:10px; margin-top:6px; z-index:200;
}
.hm-nav .menu-item-has-children:hover > .sub-menu,
.hm-nav .menu-item-has-children:focus-within > .sub-menu,
.hm-nav .menu-item-has-children.submenu-open > .sub-menu{ display:block; }
.hm-nav .sub-menu a{ color:var(--hm-text); padding:10px 12px; border-radius:8px; }
.hm-nav .sub-menu a:hover{ background:var(--hm-bg-mint); color:var(--hm-primary); }

.hm-header-actions{ display:flex; align-items:center; gap:14px; }
.hm-header-cta{ display:inline-flex; }
.hm-menu-toggle{
  display:none; background:transparent; border:0; width:44px; height:44px;
  border-radius:10px; align-items:center; justify-content:center;
}
.hm-menu-toggle span, .hm-menu-toggle::before, .hm-menu-toggle::after{
  content:""; display:block; width:22px; height:2px; background:#fff; position:relative; transition:.25s;
}
.hm-menu-toggle::before{ position:absolute; transform:translateY(-7px); }
.hm-menu-toggle::after{ position:absolute; transform:translateY(7px); }
.hm-menu-toggle.is-active span{ background:transparent; }
.hm-menu-toggle.is-active::before{ transform:rotate(45deg); }
.hm-menu-toggle.is-active::after{ transform:rotate(-45deg); }

/* =========================================================
   4. HERO
   ========================================================= */
.hm-hero{
  background:linear-gradient(180deg, #FFFFFF 0%, var(--hm-bg-mint) 100%);
  color:var(--hm-text); position:relative; overflow:hidden; padding:70px 0 0;
}
.hm-hero::after{
  content:""; position:absolute; right:-140px; top:-140px; width:460px; height:460px;
  background:radial-gradient(circle, rgba(47,174,99,.18), transparent 70%); border-radius:50%;
}
.hm-hero::before{
  content:""; position:absolute; left:-100px; bottom:40px; width:280px; height:280px;
  background:radial-gradient(circle, rgba(10,92,120,.08), transparent 70%); border-radius:50%;
}
.hm-hero-leaf{ position:absolute; color:var(--hm-secondary); opacity:.35; z-index:1; }
.hm-hero-leaf svg{ width:100%; height:100%; }
.hm-hero-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; position:relative; z-index:2; }
.hm-hero-copy p.hm-hero-desc{ color:var(--hm-text-muted); font-size:1.12rem; max-width:540px; }
.hm-hero h1{ color:var(--hm-text); }
.hm-hero h1 .hm-heading-accent{ color:var(--hm-secondary-dark); }
.hm-hero .hm-eyebrow{ background:var(--hm-bg-mint); border:1px solid rgba(47,174,99,.25); }
.hm-hero-actions{ display:flex; gap:14px; flex-wrap:wrap; margin:28px 0 36px; }
.hm-hero .hm-btn--outline{ border-color:var(--hm-secondary); color:var(--hm-secondary-dark); background:#fff; }
.hm-hero .hm-btn--outline:hover{ background:var(--hm-secondary); color:#fff; }
.hm-trust-row{ display:flex; gap:26px; flex-wrap:wrap; }
.hm-trust-row .hm-trust-item{ display:flex; align-items:center; gap:8px; font-size:.88rem; color:var(--hm-text-muted); font-weight:600; }
.hm-trust-item svg{ width:18px; height:18px; flex-shrink:0; color:var(--hm-secondary-dark); }
.hm-hero-media{ position:relative; }
.hm-hero-media::before{
  content:""; position:absolute; top:-30px; right:-30px; width:88%; height:92%;
  background:linear-gradient(135deg, var(--hm-bg-mint), #fff); border-radius:50%; z-index:0;
}
.hm-hero-media img{ border-radius:var(--hm-radius-lg); box-shadow:var(--hm-shadow-lg); position:relative; z-index:2; }
.hm-hero-media-card{
  position:absolute; bottom:-24px; left:-24px; background:#fff; color:var(--hm-text);
  border-radius:var(--hm-radius-md); padding:16px 20px; box-shadow:var(--hm-shadow-md);
  display:flex; align-items:center; gap:12px; z-index:3; max-width:240px;
}
.hm-hero-media-card svg{ width:32px; height:32px; color:var(--hm-secondary); flex-shrink:0; }
.hm-hero-media-card strong{ display:block; font-size:.95rem; color:var(--hm-primary); }
.hm-hero-media-card span{ font-size:.78rem; color:var(--hm-text-muted); }
.hm-hero-pulse{ margin-top:60px; opacity:.5; }
.hm-hero-pulse path{ stroke:var(--hm-secondary); }

/* =========================================================
   5. CATEGORY CARDS
   ========================================================= */
.hm-grid{ display:grid; gap:26px; }
.hm-grid--3{ grid-template-columns:repeat(3, 1fr); }
.hm-grid--4{ grid-template-columns:repeat(4, 1fr); }
.hm-cat-card{
  background:var(--hm-bg-card); border-radius:var(--hm-radius-md); padding:28px 24px;
  box-shadow:var(--hm-shadow-sm); border:1px solid var(--hm-border); transition:.25s ease;
  display:flex; flex-direction:column; height:100%;
}
.hm-cat-card:hover{ box-shadow:var(--hm-shadow-md); transform:translateY(-4px); border-color:transparent; }
.hm-cat-icon{
  width:56px; height:56px; border-radius:14px; background:var(--hm-bg-mint); color:var(--hm-secondary-dark);
  display:flex; align-items:center; justify-content:center; margin-bottom:18px;
}
.hm-cat-icon img{ width:100%; height:100%; object-fit:cover; border-radius:14px; }
.hm-cat-card h3{ margin-bottom:8px; font-size:1.15rem; }
.hm-cat-card p{ color:var(--hm-text-muted); font-size:.92rem; margin-bottom:16px; flex-grow:1; }
.hm-cat-card a.hm-cat-link{ font-weight:700; font-size:.88rem; color:var(--hm-secondary-dark); }
.hm-cat-card a.hm-cat-link:hover{ color:var(--hm-primary); }

/* =========================================================
   6. ABOUT SECTION
   ========================================================= */
.hm-about{ display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; align-items:center; }
.hm-about-media{ position:relative; }
.hm-about-media img{ border-radius:var(--hm-radius-lg); box-shadow:var(--hm-shadow-md); }
.hm-about-body p{ color:var(--hm-text-muted); }

/* =========================================================
   7. FEATURED ARTICLES / BLOG CARDS
   ========================================================= */
.hm-article-card{
  background:var(--hm-bg-card); border-radius:var(--hm-radius-md); overflow:hidden;
  box-shadow:var(--hm-shadow-sm); border:1px solid var(--hm-border); transition:.25s ease; height:100%;
  display:flex; flex-direction:column;
}
.hm-article-card:hover{ box-shadow:var(--hm-shadow-md); transform:translateY(-4px); }
.hm-article-thumb{ aspect-ratio:16/10; overflow:hidden; background:var(--hm-bg-mint); position:relative; }
.hm-article-thumb img{ width:100%; height:100%; object-fit:cover; transition:.4s ease; }
.hm-article-card:hover .hm-article-thumb img{ transform:scale(1.06); }
.hm-article-cat{
  position:absolute; top:14px; left:14px; background:var(--hm-accent); color:var(--hm-primary-dark);
  font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em;
  padding:5px 12px; border-radius:999px;
}
.hm-article-body{ padding:22px 22px 24px; display:flex; flex-direction:column; flex-grow:1; }
.hm-article-meta{ font-size:.8rem; color:var(--hm-text-muted); margin-bottom:8px; display:flex; gap:10px; flex-wrap:wrap; }
.hm-article-body h3{ font-size:1.15rem; margin-bottom:10px; }
.hm-article-body h3 a{ color:var(--hm-primary); }
.hm-article-body h3 a:hover{ color:var(--hm-secondary-dark); }
.hm-article-excerpt{ color:var(--hm-text-muted); font-size:.92rem; flex-grow:1; }
.hm-article-readmore{ font-weight:700; font-size:.86rem; margin-top:14px; color:var(--hm-secondary-dark); display:inline-flex; align-items:center; gap:6px; }
.hm-article-readmore:hover{ color:var(--hm-primary); }

/* =========================================================
   8. MEDICAL EXPERT SECTION
   ========================================================= */
.hm-expert{
  background:var(--hm-primary); border-radius:var(--hm-radius-lg); padding:56px; color:#fff;
  display:grid; grid-template-columns:.7fr 1.3fr; gap:48px; align-items:center; position:relative; overflow:hidden;
}
.hm-expert::before{ content:""; position:absolute; left:-100px; bottom:-100px; width:320px; height:320px; background:radial-gradient(circle, rgba(232,162,61,.25), transparent 70%); border-radius:50%; }
.hm-expert-photo{ position:relative; z-index:2; }
.hm-expert-photo img{ border-radius:var(--hm-radius-md); box-shadow:var(--hm-shadow-lg); }
.hm-expert-body{ position:relative; z-index:2; }
.hm-expert-name{ color:#fff; margin-bottom:2px; }
.hm-expert-role{ color:var(--hm-accent); font-weight:700; font-size:.92rem; margin-bottom:18px; display:block; }
.hm-expert-bio{ color:rgba(255,255,255,.85); }

/* =========================================================
   9. WHY / FEATURES
   ========================================================= */
.hm-feature-card{ text-align:center; padding:30px 20px; }
.hm-feature-icon{
  width:64px; height:64px; margin:0 auto 18px; border-radius:50%; background:var(--hm-bg-mint);
  color:var(--hm-secondary-dark); display:flex; align-items:center; justify-content:center;
}
.hm-feature-card p{ color:var(--hm-text-muted); font-size:.92rem; }

/* =========================================================
   10. NEWSLETTER
   ========================================================= */
.hm-newsletter{
  background:linear-gradient(120deg, var(--hm-secondary-dark), var(--hm-primary));
  border-radius:var(--hm-radius-lg); padding:56px; color:#fff; text-align:center;
}
.hm-newsletter h2{ color:#fff; }
.hm-newsletter p{ color:rgba(255,255,255,.85); max-width:560px; margin:0 auto 28px; }
.hm-newsletter-form{ display:flex; gap:12px; max-width:480px; margin:0 auto; flex-wrap:wrap; justify-content:center; }
.hm-newsletter-form input[type=email]{
  flex:1; min-width:220px; padding:14px 20px; border-radius:999px; border:0; font-size:.95rem; font-family:inherit;
}
.hm-newsletter-note{ font-size:.78rem; color:rgba(255,255,255,.7); margin-top:14px; }

/* =========================================================
   11. FOOTER
   ========================================================= */
.hm-footer{
  background:linear-gradient(160deg, var(--hm-primary-dark) 0%, #052733 100%);
  color:rgba(255,255,255,.78); padding-top:76px; position:relative;
  border-top:3px solid var(--hm-accent);
}
.hm-footer-grid{ display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:48px; padding-bottom:52px; }
.hm-footer-brand .hm-brand-name{ color:#fff; }
.hm-footer-desc{ font-size:.92rem; margin:16px 0 20px; color:rgba(255,255,255,.7); }
.hm-footer-social{ display:flex; gap:10px; }
.hm-footer-social a{
  width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.08); color:#fff;
  display:flex; align-items:center; justify-content:center; transition:.2s;
}
.hm-footer-social a:hover{ background:var(--hm-accent); color:var(--hm-primary-dark); }
.hm-footer-col h4{
  color:#fff; font-size:.95rem; margin-bottom:20px; font-family:var(--hm-font-body); font-weight:700;
  text-transform:uppercase; letter-spacing:.05em; position:relative; padding-bottom:12px;
}
.hm-footer-col h4::after{ content:""; position:absolute; left:0; bottom:0; width:32px; height:2px; background:var(--hm-secondary); }
.hm-footer-col ul li{ margin-bottom:12px; }
.hm-footer-col a{ color:rgba(255,255,255,.72); font-size:.92rem; transition:.2s; }
.hm-footer-col a:hover{ color:var(--hm-accent); padding-left:3px; }
.hm-footer-bottom{
  border-top:1px solid rgba(255,255,255,.1); padding:26px 0; display:flex; justify-content:space-between;
  align-items:center; gap:16px; flex-wrap:wrap; font-size:.82rem; color:rgba(255,255,255,.6);
}
.hm-disclaimer{
  background:rgba(255,255,255,.05); padding:18px 24px; border-radius:var(--hm-radius-sm);
  font-size:.8rem; color:rgba(255,255,255,.6); margin-top:24px; line-height:1.6;
}

/* =========================================================
   12. BLOG / ARCHIVE / SINGLE
   ========================================================= */
.hm-page-header{ background:var(--hm-bg-mint); padding:56px 0; text-align:center; }
.hm-page-header h1{ margin-bottom:8px; }
.hm-breadcrumbs{ font-size:.85rem; color:var(--hm-text-muted); margin-bottom:14px; }
.hm-breadcrumbs a{ color:var(--hm-text-muted); }
.hm-breadcrumbs a:hover{ color:var(--hm-secondary-dark); }
.hm-content-layout{ display:grid; grid-template-columns:1fr 320px; gap:48px; align-items:start; }
.hm-content-layout.hm-no-sidebar{ grid-template-columns:1fr; max-width:820px; margin:0 auto; }

.hm-single-meta{ display:flex; gap:16px; flex-wrap:wrap; align-items:center; color:var(--hm-text-muted); font-size:.88rem; margin-bottom:20px; }
.hm-single-thumb{ border-radius:var(--hm-radius-md); overflow:hidden; margin-bottom:32px; box-shadow:var(--hm-shadow-sm); }
.hm-review-box, .hm-toc, .hm-author-box{
  background:var(--hm-bg-card); border:1px solid var(--hm-border); border-radius:var(--hm-radius-md);
  padding:24px 26px; margin:32px 0;
}
.hm-review-box{ border-left:4px solid var(--hm-secondary); }
.hm-review-box h4, .hm-toc h4, .hm-author-box h4{ margin-bottom:10px; font-size:1rem; color:var(--hm-primary); }
.hm-toc ol{ padding-left:20px; list-style:decimal; }
.hm-toc li{ margin-bottom:6px; }
.hm-author-box{ display:flex; gap:18px; align-items:flex-start; }
.hm-author-box img{ border-radius:50%; width:64px; height:64px; object-fit:cover; }
.entry-content{ font-size:1.05rem; }
.entry-content h2{ margin-top:1.6em; }
.entry-content h3{ margin-top:1.3em; }
.entry-content img{ border-radius:var(--hm-radius-md); }
.entry-content blockquote{
  border-left:4px solid var(--hm-secondary); background:var(--hm-bg-mint); padding:18px 22px;
  border-radius:0 var(--hm-radius-sm) var(--hm-radius-sm) 0; font-style:italic; margin:1.6em 0;
}
.hm-share-links{ display:flex; gap:10px; margin:28px 0; }
.hm-share-links a{
  width:40px; height:40px; border-radius:50%; background:var(--hm-bg-mint); color:var(--hm-primary);
  display:flex; align-items:center; justify-content:center;
}
.hm-share-links a:hover{ background:var(--hm-secondary); color:#fff; }
.hm-post-nav{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:40px 0; }
.hm-post-nav a{ display:block; background:var(--hm-bg-card); border:1px solid var(--hm-border); border-radius:var(--hm-radius-sm); padding:18px; }
.hm-post-nav .nav-next{ text-align:right; }
.hm-post-nav span{ display:block; font-size:.76rem; text-transform:uppercase; color:var(--hm-text-muted); margin-bottom:6px; }
.hm-related{ margin-top:56px; }

.hm-sidebar-widget{ background:var(--hm-bg-card); border:1px solid var(--hm-border); border-radius:var(--hm-radius-md); padding:24px; margin-bottom:24px; }
.hm-sidebar-widget h3, .widget-title{ font-size:1.05rem; margin-bottom:16px; color:var(--hm-primary); }
.widget ul li{ padding:8px 0; border-bottom:1px solid var(--hm-border); font-size:.92rem; }
.widget ul li:last-child{ border-bottom:0; }

.pagination, .hm-pagination{ display:flex; gap:8px; justify-content:center; margin-top:40px; flex-wrap:wrap; }
.pagination a, .pagination span, .hm-pagination a, .hm-pagination span{
  min-width:40px; height:40px; padding:0 12px; border-radius:8px; display:inline-flex; align-items:center;
  justify-content:center; background:var(--hm-bg-card); border:1px solid var(--hm-border); font-weight:600; font-size:.9rem;
}
.pagination .current, .hm-pagination .current{ background:var(--hm-primary); color:#fff; border-color:var(--hm-primary); }

/* comments */
.comment-list{ margin:0 0 32px; }
.comment-body{ background:var(--hm-bg-card); border:1px solid var(--hm-border); border-radius:var(--hm-radius-sm); padding:20px; margin-bottom:16px; }
.comment-meta{ font-size:.85rem; color:var(--hm-text-muted); margin-bottom:8px; }
.comment-respond input, .comment-respond textarea{
  width:100%; padding:12px 16px; border-radius:10px; border:1px solid var(--hm-border); font-family:inherit; margin-bottom:14px;
}
.comment-respond .form-submit input{ width:auto; background:var(--hm-primary); color:#fff; border:0; padding:12px 26px; border-radius:999px; font-weight:600; }

/* 404 */
.hm-404{ text-align:center; padding:100px 0; }
.hm-404 h1{ font-size:5rem; }

/* =========================================================
   13. RESPONSIVE
   ========================================================= */
@media (max-width: 960px){
  .hm-nav{ display:none; }
  .hm-menu-toggle{ display:flex; }
  .hm-header-cta{ display:none; }
  .hm-hero-grid, .hm-about, .hm-expert{ grid-template-columns:1fr; }
  .hm-expert{ padding:36px; text-align:center; }
  .hm-expert-body{ text-align:left; }
  .hm-grid--3, .hm-grid--4{ grid-template-columns:repeat(2, 1fr); }
  .hm-content-layout{ grid-template-columns:1fr; }
  .hm-footer-grid{ grid-template-columns:1fr 1fr; }
  .hm-nav.is-open{
    display:block; position:absolute; top:100%; left:0; right:0; background:var(--hm-primary);
    padding:12px 24px 24px; box-shadow:var(--hm-shadow-lg);
  }
  .hm-nav.is-open ul{ flex-direction:column; align-items:stretch; }
  .hm-nav.is-open .sub-menu{ position:static; display:block; box-shadow:none; background:rgba(255,255,255,.05); margin-top:4px; }
}
@media (max-width: 640px){
  .hm-grid--3, .hm-grid--4{ grid-template-columns:1fr; }
  .hm-footer-grid{ grid-template-columns:1fr; }
  .hm-post-nav{ grid-template-columns:1fr; }
  .hm-expert{ padding:26px; }
  .hm-newsletter{ padding:36px 22px; }
  .hm-section{ padding:56px 0; }
}
