/*
 * articles.css — Articles Listing + Single Post + Search
 * Scoped under .hpfy-wrap — zero theme conflicts.
 */

/* ── Tokens ──────────────────────────────────────────────────────────────── */
:root {
  --hpfy-red:      #D0021B;
  --hpfy-red-dk:   #a80116;
  --hpfy-blue:     #4A7FC1;
  --hpfy-blue-lt:  #F0F5FB;
  --hpfy-blue-dk:  #2E5F9E;
  --hpfy-orange:   #E07B2A;
  --hpfy-green:    #2E8B57;
  --hpfy-navy:     #1a3a5c;
  --hpfy-neutral:  #F5F7FA;
  --hpfy-border:   #D8DCE6;
  --hpfy-text:     #1a1a1a;
  --hpfy-muted:    #6B7280;
  --hpfy-white:    #ffffff;
  --hpfy-r:        8px;
  --hpfy-gutter:   clamp(16px,4vw,48px);
}
.hpfy-wrap { box-sizing:border-box; color:var(--hpfy-text); font-family:inherit; }
.hpfy-wrap *,.hpfy-wrap *::before,.hpfy-wrap *::after { box-sizing:inherit; }
.hpfy-wrap a { color:inherit; text-decoration:none; }
.hpfy-wrap img { display:block; max-width:100%; height:auto; }
.hpfy-wrap ul,.hpfy-wrap ol { list-style:none; margin:0; padding:0; }
.hpfy-wrap p,.hpfy-wrap h1,.hpfy-wrap h2,.hpfy-wrap h3 { margin:0; padding:10px 0px; }

/* ── Banner ──────────────────────────────────────────────────────────────── */
.hpfy-banner {
  background: linear-gradient(135deg,#0d1b2e 0%,#0A0A0A 60%,#1a2a4a 100%);
  padding: 52px var(--hpfy-gutter) 0;
  position: relative;
  overflow: hidden;
}
.hpfy-banner::before {
  content:'';
  position:absolute;
  inset:0;
  background: radial-gradient(ellipse 80% 60% at 60% 40%, rgba(74,127,193,.18) 0%, transparent 70%);
  pointer-events:none;
}
.hpfy-banner__inner { max-width:860px; margin:0 auto; text-align:center; position:relative; z-index:1; }
.hpfy-banner__eyebrow {
  display:inline-block;
  font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase;
  color:var(--hpfy-blue); background:rgba(74,127,193,.15);
  border:1px solid rgba(74,127,193,.3);
  padding:4px 14px; border-radius:20px; margin-bottom:16px;
}
.hpfy-banner__title {
  color:#fff; font-size:clamp(28px,5vw,52px); font-weight:800;
  letter-spacing:-.5px; margin-bottom:10px; line-height:1.15;
}
.hpfy-banner__sub { color:rgba(255,255,255,.55); font-size:15px; margin-bottom:32px; }

/* ── Search (hero) ───────────────────────────────────────────────────────── */
.hpfy-search { margin-bottom:32px; }
.hpfy-search__box {
  display:flex; align-items:center;
  background:#fff; border-radius:50px;
  box-shadow:0 8px 32px rgba(0,0,0,.25);
  overflow:hidden; max-width:620px; margin:0 auto;
}
.hpfy-search__icon { flex-shrink:0; margin:0 0 0 18px; color:var(--hpfy-muted); width:18px; height:18px; }
.hpfy-search__input {
  flex:1; border:none; outline:none; padding:15px 14px;
  font-size:15px; color:var(--hpfy-text); background:transparent;
  min-width:0;
}
.hpfy-search__input::placeholder { color:#9CA3AF; }
.hpfy-search__btn {
  flex-shrink:0; background:var(--hpfy-red); color:#fff; border:none;
  padding:0 28px; height:52px; font-size:14px; font-weight:700;
  cursor:pointer; letter-spacing:.3px; transition:background .15s;
  border-radius:0 50px 50px 0;
}
.hpfy-search__btn:hover { background:var(--hpfy-red-dk); }
.hpfy-search__popular {
  display:flex; align-items:center; flex-wrap:wrap; justify-content:center;
  gap:6px; margin-top:14px;
}
.hpfy-search__popular span { font-size:12px; color:rgba(255,255,255,.5); }
.hpfy-search__tag {
  font-size:11px; font-weight:600; padding:3px 10px;
  background:rgba(255,255,255,.1); color:rgba(255,255,255,.8);
  border:1px solid rgba(255,255,255,.18); border-radius:20px;
  transition:background .15s, color .15s;
}
.hpfy-search__tag:hover { background:var(--hpfy-blue); color:#fff; border-color:var(--hpfy-blue); }

/* Wave divider */
.hpfy-banner__wave { max-width:1440px; margin:auto; display:block; line-height:0; }
.hpfy-banner__wave svg { width:100%; height:60px; display:block; }

/* ── Category nav — LIGHT BLUE background ────────────────────────────────── */
.hpfy-nav {
max-width:1440px;
margin:auto;
  background: var(--hpfy-blue-lt);
  border-bottom: 1px solid rgba(74,127,193,.2);
  position: sticky; top:0; z-index:200;
  box-shadow: 0 2px 12px rgba(74,127,193,.12);
}
.hpfy-nav__inner { margin:0 auto; padding:0 var(--hpfy-gutter); }
.hpfy-nav__toggle {
  display:none; padding:12px 0; background:none; border:none;
  font-size:14px; font-weight:600; color:var(--hpfy-blue-dk);
  cursor:pointer; align-items:center; gap:8px; width:100%;
}
.hpfy-nav__list { display:flex; flex-wrap:wrap; }
.hpfy-nav__item { position:relative; }
.hpfy-nav__link {
  display:flex; align-items:center; gap:4px;
  padding:13px 16px; font-size:13px; font-weight:600;
  color:var(--hpfy-blue-dk); white-space:nowrap;
  border-bottom:3px solid transparent;
  transition:color .15s, border-color .15s, background .15s;
}
.hpfy-nav__item:hover > .hpfy-nav__link,
.hpfy-nav__link.hpfy-scroll:hover {
  color:var(--hpfy-red); border-bottom-color:var(--hpfy-red);
  background:rgba(208,2,27,.04);
}
/* Scroll-target links get a subtle indicator */
.hpfy-nav__link.hpfy-scroll { color:var(--hpfy-red); }
.hpfy-nav__link.hpfy-scroll::after {
  content:'↓'; font-size:10px; margin-left:3px; opacity:.6;
}

/* Dropdowns */
.hpfy-nav__item .hpfy-nav__sub {
  display:none; position:absolute; top:100%; left:0; min-width:210px;
  background:#fff; border:1px solid var(--hpfy-border);
  border-top:2px solid var(--hpfy-red);
  border-radius:0 0 var(--hpfy-r) var(--hpfy-r);
  box-shadow:0 8px 28px rgba(0,0,0,.1); z-index:300; padding:6px 0;
}
.hpfy-nav__item:hover > .hpfy-nav__sub { display:block; }
.hpfy-nav__sub .hpfy-nav__link { padding:9px 16px; font-weight:400; border-bottom:none; color:var(--hpfy-text); }
.hpfy-nav__sub .hpfy-nav__item:hover > .hpfy-nav__link { background:var(--hpfy-blue-lt); color:var(--hpfy-red); }
.hpfy-nav__sub .hpfy-nav__item { position:relative; }
.hpfy-nav__sub .hpfy-nav__deep {
  display:none; position:absolute; top:0; left:100%; min-width:200px;
  background:#fff; border:1px solid var(--hpfy-border);
  border-top:2px solid var(--hpfy-red);
  border-radius:0 var(--hpfy-r) var(--hpfy-r) 0;
  box-shadow:4px 8px 24px rgba(0,0,0,.1); z-index:400; padding:6px 0;
}
.hpfy-nav__sub .hpfy-nav__item:hover > .hpfy-nav__deep { display:block; }
.hpfy-nav__deep .hpfy-nav__link { padding:8px 16px; font-size:12px; font-weight:400; border-bottom:none; color:var(--hpfy-text); }
.hpfy-nav__deep .hpfy-nav__item:hover > .hpfy-nav__link { background:var(--hpfy-blue-lt); color:var(--hpfy-red); }

/* ── Breadcrumb ──────────────────────────────────────────────────────────── */
.hpfy-breadcrumb-wrap {max-width:1440px;margin:auto; background:var(--hpfy-blue-lt); border-bottom:1px solid rgba(74,127,193,.15); }
.hpfy-breadcrumb {  margin:0 auto; var(--hpfy-gutter); }
.hpfy-breadcrumb__list { display:flex; flex-wrap:wrap; align-items:center; gap:6px; font-size:12px; color:var(--hpfy-muted); }
.hpfy-breadcrumb__list a { color:var(--hpfy-blue); transition:color .15s; }
.hpfy-breadcrumb__list a:hover { color:var(--hpfy-blue-dk); }
.hpfy-breadcrumb__sep { color:var(--hpfy-border); }
.hpfy-breadcrumb--light .hpfy-breadcrumb__list { color:rgba(255,255,255,.6); }
.hpfy-breadcrumb--light a { color:rgba(255,255,255,.8); }
.hpfy-breadcrumb--light .hpfy-breadcrumb__sep { color:rgba(255,255,255,.3); }

/* ── Content wrapper ─────────────────────────────────────────────────────── */
.hpfy-content {max-width:1440px; margin:0 auto; padding:0 var(--hpfy-gutter) 56px; }

/* ── Section common ──────────────────────────────────────────────────────── */
.hpfy-section { margin-bottom:52px; scroll-margin-top:70px; }
.hpfy-section__head { margin-bottom:24px; }
.hpfy-section__title {
  font-size:22px; font-weight:800; color:var(--hpfy-text);
  padding-bottom:10px;
  border-bottom:3px solid var(--hpfy-red);
  display:inline-block;
  gap:8px;
}
.hpfy-section__icon { margin-right:6px; }

/* ── Cat pills ───────────────────────────────────────────────────────────── */
.hpfy-cat-btn {
  display:inline-block; font-size:11px; font-weight:700; padding:4px 12px;
  border-radius:4px; letter-spacing:.3px; margin-bottom:8px; transition:opacity .15s;
}
.hpfy-cat-btn:hover { opacity:.85; }
.hpfy-btn-red   { background:var(--hpfy-red);    color:#fff !important; }
.hpfy-btn-orange{ background:var(--hpfy-orange); color:#fff !important; }
.hpfy-btn-blue  { background:var(--hpfy-blue);   color:#fff !important; }
.hpfy-btn-green { background:var(--hpfy-green);  color:#fff !important; }
.hpfy-btn-navy  { background:var(--hpfy-navy);   color:#fff !important; }

/* ── Article meta ────────────────────────────────────────────────────────── */
.hpfy-article-meta {
  display:flex; align-items:center; flex-wrap:wrap; gap:6px;
  font-size:12px; color:var(--hpfy-muted); margin-bottom:10px;
}
.hpfy-article-meta a { display:flex; align-items:center; gap:4px; color:var(--hpfy-blue); transition:color .15s; }
.hpfy-article-meta a:hover { color:var(--hpfy-blue-dk); }
.hpfy-article-meta time { display:flex; align-items:center; gap:4px; }

/* ── Read button ─────────────────────────────────────────────────────────── */
.hpfy-read-btn {
  display:inline-flex; align-items:center; gap:6px;
  padding:9px 20px; border-radius:50px;
  background:var(--hpfy-red); color:#fff !important;
  font-size:13px; font-weight:700; letter-spacing:.2px;
  transition:background .15s, transform .15s;
  margin-top:10px;
}
.hpfy-read-btn:hover { background:var(--hpfy-red-dk); transform:translateY(-1px); }

/* ── Trending ────────────────────────────────────────────────────────────── */
.hpfy-trending__grid { display:grid; grid-template-columns:1fr 340px; gap:28px; align-items:start; }
.hpfy-trending__img-link { display:block; border-radius:var(--hpfy-r); overflow:hidden; }
.hpfy-trending__img { width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:var(--hpfy-r); margin-bottom:16px; transition:transform .35s; }
.hpfy-trending__img-link:hover .hpfy-trending__img { transform:scale(1.03); }
.hpfy-trending__headline { font-size:20px; font-weight:700; line-height:1.35; margin-bottom:10px; }
.hpfy-trending__headline a:hover { color:var(--hpfy-red); }
.hpfy-trending__headline--sm { font-size:15px; }
.hpfy-trending__excerpt { font-size:13px; color:var(--hpfy-muted); line-height:1.65; margin-bottom:4px; }
.hpfy-trending__side { display:flex; flex-direction:column; gap:0; }
.hpfy-trending__side-item { display:flex; gap:12px; padding:16px 0; border-bottom:1px solid var(--hpfy-border); align-items:flex-start; }
.hpfy-trending__side-item:last-child { border-bottom:none; }
.hpfy-trending__side-img-link { flex-shrink:0; border-radius:var(--hpfy-r); overflow:hidden; width:90px; height:70px; }
.hpfy-trending__side-img-link img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.hpfy-trending__side-img-link:hover img { transform:scale(1.05); }
.hpfy-trending__side-body { flex:1; min-width:0; }

/* ── Popular ─────────────────────────────────────────────────────────────── */
.hpfy-popular__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.hpfy-popular__card { text-align:center; }
.hpfy-popular__img-wrap { position:relative; border-radius:var(--hpfy-r); overflow:hidden; aspect-ratio:1/1; background:var(--hpfy-border); }
.hpfy-popular__img { width:100%; height:100%; object-fit:cover; transition:transform .35s; }
.hpfy-popular__placeholder { width:100%; height:100%; background:var(--hpfy-neutral); }
.hpfy-popular__overlay { position:absolute; inset:0; background:rgba(10,10,10,.45); display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity .22s; }
.hpfy-popular__card:hover .hpfy-popular__overlay { opacity:1; }
.hpfy-popular__card:hover .hpfy-popular__img { transform:scale(1.05); }
.hpfy-popular__read-btn { border:2px solid #fff; color:#fff !important; font-size:12px; font-weight:700; padding:8px 18px; border-radius:4px; transition:background .15s; }
.hpfy-popular__read-btn:hover { background:rgba(255,255,255,.15); }
.hpfy-popular__label { font-size:13px; font-weight:600; color:var(--hpfy-text); margin-top:10px; line-height:1.4; }

/* ── Editor's Pick ───────────────────────────────────────────────────────── */
.hpfy-editors { background:var(--hpfy-blue-lt); border-radius:12px; padding:28px; }
.hpfy-editors .hpfy-section__head { margin-bottom:20px; }
.hpfy-editors__grid { display:grid; grid-template-columns:1fr 380px; gap:28px; align-items:start; }
.hpfy-editors__img-col a { display:block; border-radius:var(--hpfy-r); overflow:hidden; }
.hpfy-editors__img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--hpfy-r); transition:transform .35s; }
.hpfy-editors__img-col a:hover .hpfy-editors__img { transform:scale(1.03); }
.hpfy-editors__headline { font-size:20px; font-weight:700; line-height:1.4; margin-bottom:12px; }
.hpfy-editors__headline a:hover { color:var(--hpfy-red); }
.hpfy-editors__excerpt { font-size:13px; color:var(--hpfy-muted); line-height:1.7; }

/* ── Article cards ───────────────────────────────────────────────────────── */
.hpfy-recent__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-bottom:36px; }
.hpfy-article-card { border-radius:10px; overflow:hidden; border:1px solid var(--hpfy-border); background:#fff; display:flex; flex-direction:column; transition:box-shadow .2s, transform .2s; }
.hpfy-article-card:hover { box-shadow:0 8px 28px rgba(0,0,0,.1); transform:translateY(-3px); }
.hpfy-article-card__img-link { display:block; overflow:hidden; aspect-ratio:16/9; }
.hpfy-article-card__img { width:100%; height:100%; object-fit:cover; transition:transform .35s; }
.hpfy-article-card:hover .hpfy-article-card__img { transform:scale(1.05); }
.hpfy-article-card__body { padding:16px; flex:1; display:flex; flex-direction:column; gap:6px; }
.hpfy-article-card__cats { display:flex; flex-wrap:wrap; gap:4px; }
.hpfy-article-card__title { font-size:14px; font-weight:700; line-height:1.4; color:var(--hpfy-text); }
.hpfy-article-card__title a:hover { color:var(--hpfy-red); }
.hpfy-article-card__excerpt { font-size:12px; color:var(--hpfy-muted); line-height:1.6; flex:1; }
.hpfy-article-card__more { font-size:12px; font-weight:700; color:var(--hpfy-blue); transition:color .15s; margin-top:4px; display:inline-block; }
.hpfy-article-card__more:hover { color:var(--hpfy-blue-dk); }

/* ── Pagination ──────────────────────────────────────────────────────────── */
.hpfy-pagination { display:flex; justify-content:center; margin-top:8px; }
.hpfy-pagination__list { display:flex; align-items:center; gap:4px; flex-wrap:wrap; }
.hpfy-pagination__item .page-numbers {
  display:flex; align-items:center; justify-content:center;
  min-width:38px; height:38px; padding:0 8px;
  border:1px solid var(--hpfy-border); border-radius:var(--hpfy-r);
  font-size:13px; color:var(--hpfy-text);
  transition:background .15s, border-color .15s, color .15s;
}
.hpfy-pagination__item .page-numbers:hover { background:var(--hpfy-blue); border-color:var(--hpfy-blue); color:#fff; }
.hpfy-pagination__item .page-numbers.current { background:var(--hpfy-red); border-color:var(--hpfy-red); color:#fff; font-weight:700; }
.hpfy-no-posts { text-align:center; color:var(--hpfy-muted); padding:48px 0; font-size:15px; }

/* ── Authors slider ──────────────────────────────────────────────────────── */
.hpfy-authors { background:var(--hpfy-blue-lt); border-radius:12px; padding:24px; }
.hpfy-authors__slider-wrap { display:flex; align-items:center; gap:10px; }
.hpfy-slider-btn { flex-shrink:0; width:36px; height:36px; border:1px solid rgba(74,127,193,.3); border-radius:50%; background:#fff; font-size:22px; cursor:pointer; color:var(--hpfy-blue-dk); display:flex; align-items:center; justify-content:center; transition:background .15s,border-color .15s,color .15s; line-height:1; }
.hpfy-slider-btn:hover { background:var(--hpfy-red); border-color:var(--hpfy-red); color:#fff; }
.hpfy-slider-btn:disabled { opacity:.3; cursor:default; pointer-events:none; }
.hpfy-authors__viewport { overflow:hidden; flex:1; }
.hpfy-authors__track { display:flex; gap:16px; transition:transform .35s ease; }
.hpfy-author-card { flex-shrink:0; width:140px; text-align:center; }
.hpfy-author-card__img-wrap { position:relative; border-radius:50%; overflow:hidden; width:110px; height:110px; margin:0 auto 8px; background:var(--hpfy-border); border:3px solid rgba(74,127,193,.2); transition:border-color .2s; }
.hpfy-author-card:hover .hpfy-author-card__img-wrap { border-color:var(--hpfy-red); }
.hpfy-author-card__img-wrap img { width:100%; height:100%; object-fit:cover; border-radius:50%; transition:transform .3s; }
.hpfy-author-card:hover .hpfy-author-card__img-wrap img { transform:scale(1.06); }
.hpfy-author-card__overlay { position:absolute; inset:0; border-radius:50%; background:rgba(208,2,27,.82); color:#fff; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; text-align:center; padding:8px; opacity:0; transition:opacity .22s; line-height:1.3; }
.hpfy-author-card:hover .hpfy-author-card__overlay { opacity:1; }
.hpfy-author-card__name { font-size:12px; font-weight:600; color:var(--hpfy-text); line-height:1.3; }

/* ════════════════════════════════════════════════════════════════════════════
   SINGLE POST PAGE
══════════════════════════════════════════════════════════════════════════════ */
.hpfy-single__hero {
  background:#0A0A0A;
  padding:60px var(--hpfy-gutter) 52px;
  position:relative; overflow:hidden;
}
.hpfy-single__hero--img {
  background-image: var(--hero-img);
  background-size:cover; background-position:center;
}
.hpfy-single__hero-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to bottom, rgba(10,10,10,.75) 0%, rgba(10,10,10,.9) 100%);
}
.hpfy-single__hero-inner { max-width:1440px; margin:0 auto; position:relative; z-index:1; }
.hpfy-single__cats { margin-bottom:14px; }
.hpfy-single__title {
  color:#fff; font-size:clamp(24px,4vw,42px); font-weight:800;
  line-height:1.2; margin-bottom:18px; letter-spacing:-.3px;
}
.hpfy-single__meta {
  display:flex; align-items:center; flex-wrap:wrap; gap:10px;
  font-size:13px; color:rgba(255,255,255,.7);
}
.hpfy-single__author-chip {
  display:flex; align-items:center; gap:8px;
  color:rgba(255,255,255,.9) !important; transition:opacity .15s;
}
.hpfy-single__author-chip:hover { opacity:.85; }
.hpfy-single__author-chip img { border-radius:50%; border:2px solid rgba(255,255,255,.3); }
.hpfy-single__meta-dot { color:rgba(255,255,255,.3); }
input[type=date], input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=url], select, textarea {border: 0px !important;}

/* Layout: main + sidebar */
.hpfy-single__layout {
max-width:1440px;
  margin:0 auto; padding:36px var(--hpfy-gutter) 0;
  display:grid; grid-template-columns:1fr 310px; gap:40px; align-items:start;
}
.hpfy-search__input{
border: none !important;}
.hpfy-single__main { min-width:0; }
.hpfy-single__sidebar { position:sticky; top:80px; }

/* Share bar */
.hpfy-share { display:flex; align-items:center; gap:8px; margin-bottom:28px; padding-bottom:20px; border-bottom:1px solid var(--hpfy-border); }
.hpfy-share__label { font-size:12px; font-weight:700; color:var(--hpfy-muted); text-transform:uppercase; letter-spacing:.6px; }
.hpfy-share__btn {
  width:34px; height:34px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  border:1px solid var(--hpfy-border); background:#fff;
  color:var(--hpfy-muted); cursor:pointer; transition:all .15s;
}
.hpfy-share__btn--tw:hover { background:#000; border-color:#000; color:#fff; }
.hpfy-share__btn--fb:hover { background:#1877F2; border-color:#1877F2; color:#fff; }
.hpfy-share__btn--li:hover { background:#0A66C2; border-color:#0A66C2; color:#fff; }
.hpfy-share__btn--copy:hover { background:var(--hpfy-green); border-color:var(--hpfy-green); color:#fff; }

/* Article content typography */
.hpfy-single__content {
  font-size:16px; line-height:1.8; color:var(--hpfy-text);
  margin-bottom:32px;
}
.hpfy-single__content h2 { font-size:24px; font-weight:700; margin:32px 0 14px; color:var(--hpfy-text); padding-bottom:8px; border-bottom:2px solid var(--hpfy-blue-lt); }
.hpfy-single__content h3 { font-size:20px; font-weight:700; margin:28px 0 12px; color:var(--hpfy-text); }
.hpfy-single__content h4 { font-size:17px; font-weight:600; margin:22px 0 10px; }
.hpfy-single__content p { margin-bottom:18px; }
.hpfy-single__content a { color:var(--hpfy-blue); text-decoration:underline; text-underline-offset:3px; }
.hpfy-single__content a:hover { color:var(--hpfy-blue-dk); }
.hpfy-single__content ul,.hpfy-single__content ol { margin:0 0 18px 24px; }
.hpfy-single__content li { margin-bottom:8px; }
.hpfy-single__content ul li { list-style:disc; }
.hpfy-single__content ol li { list-style:decimal; }
.hpfy-single__content blockquote {
  border-left:4px solid var(--hpfy-red); background:var(--hpfy-blue-lt);
  padding:16px 20px; margin:24px 0; border-radius:0 var(--hpfy-r) var(--hpfy-r) 0;
  font-style:italic; color:var(--hpfy-blue-dk);
}
.hpfy-single__content img { border-radius:var(--hpfy-r); margin:24px 0; width:100%; height:auto; }
.hpfy-single__content table { width:100%; border-collapse:collapse; margin:20px 0; }
.hpfy-single__content th { background:var(--hpfy-blue-lt); padding:10px 14px; font-weight:700; border:1px solid var(--hpfy-border); text-align:left; }
.hpfy-single__content td { padding:9px 14px; border:1px solid var(--hpfy-border); }
.hpfy-single__content tr:nth-child(even) td { background:var(--hpfy-neutral); }

/* Tags */
.hpfy-single__tags { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:28px; padding-top:20px; border-top:1px solid var(--hpfy-border); }
.hpfy-single__tags span { font-size:12px; font-weight:700; color:var(--hpfy-muted); text-transform:uppercase; letter-spacing:.5px; }
.hpfy-tag-pill { font-size:11px; padding:4px 11px; background:var(--hpfy-blue-lt); color:var(--hpfy-blue-dk); border:1px solid rgba(74,127,193,.25); border-radius:20px; font-weight:600; transition:background .15s,color .15s; }
.hpfy-tag-pill:hover { background:var(--hpfy-blue); color:#fff; border-color:var(--hpfy-blue); }

/* Post nav */
.hpfy-post-nav { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:32px; }
.hpfy-post-nav__item { background:var(--hpfy-blue-lt); border:1px solid rgba(74,127,193,.2); border-radius:var(--hpfy-r); padding:14px 16px; display:flex; flex-direction:column; gap:4px; transition:border-color .15s, background .15s; }
.hpfy-post-nav__item:hover { border-color:var(--hpfy-blue); background:rgba(74,127,193,.08); }
.hpfy-post-nav__item--next { text-align:right; }
.hpfy-post-nav__dir { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; color:var(--hpfy-blue); }
.hpfy-post-nav__title { font-size:13px; font-weight:600; color:var(--hpfy-text); line-height:1.4; }

/* Author bio */
.hpfy-author-bio {
  display:flex; gap:18px; align-items:flex-start;
  background:var(--hpfy-blue-lt); border:1px solid rgba(74,127,193,.2);
  border-radius:12px; padding:22px; margin-bottom:36px;
  border-left:4px solid var(--hpfy-red);
}
.hpfy-author-bio__img { width:72px; height:72px; border-radius:50%; flex-shrink:0; border:3px solid rgba(74,127,193,.25); }
.hpfy-author-bio__label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; color:var(--hpfy-muted); margin-bottom:3px; }
.hpfy-author-bio__name { font-size:16px; font-weight:700; color:var(--hpfy-text); display:block; margin-bottom:8px; }
.hpfy-author-bio__name:hover { color:var(--hpfy-red); }
.hpfy-author-bio__desc { font-size:13px; color:var(--hpfy-muted); line-height:1.6; margin-bottom:10px; }
.hpfy-author-bio__link { font-size:13px; font-weight:700; color:var(--hpfy-blue); transition:color .15s; }
.hpfy-author-bio__link:hover { color:var(--hpfy-blue-dk); }

/* Sidebar widgets */
.hpfy-sidebar-widget { background:#fff; border:1px solid var(--hpfy-border); border-radius:10px; padding:18px; margin-bottom:20px; }
.hpfy-sidebar-widget__title { font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.6px; color:var(--hpfy-text); padding-bottom:12px; border-bottom:2px solid var(--hpfy-red); margin-bottom:14px; }
.hpfy-sidebar-search__wrap { display:flex; align-items:center; background:var(--hpfy-neutral); border:1px solid var(--hpfy-border); border-radius:var(--hpfy-r); overflow:hidden; }
.hpfy-sidebar-search__input { flex:1; border:none; background:transparent; padding:9px 12px; font-size:13px; outline:none; color:var(--hpfy-text); min-width:0; }
.hpfy-sidebar-search__btn { background:var(--hpfy-red); border:none; padding:9px 12px; cursor:pointer; color:#fff; display:flex; transition:background .15s; }
.hpfy-sidebar-search__btn:hover { background:var(--hpfy-red-dk); }
.hpfy-sidebar-cats li { border-bottom:1px solid var(--hpfy-border); }
.hpfy-sidebar-cats li:last-child { border-bottom:none; }
.hpfy-sidebar-cats__link { display:flex; align-items:center; gap:8px; padding:9px 0; font-size:13px; color:var(--hpfy-text); transition:color .15s; }
.hpfy-sidebar-cats__link:hover { color:var(--hpfy-red); }
.hpfy-sidebar-cats__dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.hpfy-sidebar-cats__count { margin-left:auto; font-size:11px; color:var(--hpfy-muted); background:var(--hpfy-neutral); padding:2px 7px; border-radius:10px; }
.hpfy-sidebar-related { display:flex; flex-direction:column; gap:12px; }
.hpfy-sidebar-related__item { display:flex; gap:10px; align-items:flex-start; transition:opacity .15s; }
.hpfy-sidebar-related__item:hover { opacity:.8; }
.hpfy-sidebar-related__item img { width:64px; height:52px; object-fit:cover; border-radius:6px; flex-shrink:0; }
.hpfy-sidebar-related__title { font-size:12px; font-weight:600; color:var(--hpfy-text); line-height:1.4; margin-bottom:3px; }
.hpfy-sidebar-related__date { font-size:11px; color:var(--hpfy-muted); }
.hpfy-sidebar-tags { display:flex; flex-wrap:wrap; gap:6px; }

/* Comments scoped */
.hpfy-single__comments { margin-top:8px; }
.hpfy-single__comments .comment-form input,
.hpfy-single__comments .comment-form textarea {
  border:1px solid var(--hpfy-border) !important; border-radius:var(--hpfy-r) !important;
  padding:9px 12px !important; font-size:13px !important; background:var(--hpfy-neutral) !important;
  outline:none !important; transition:border-color .15s !important; width:100% !important;
}
.hpfy-single__comments .comment-form input:focus,
.hpfy-single__comments .comment-form textarea:focus { border-color:var(--hpfy-blue) !important; }
.hpfy-single__comments .comment-form .submit {
  background:var(--hpfy-red) !important; color:#fff !important; border:none !important;
  padding:10px 24px !important; border-radius:50px !important; font-weight:700 !important;
  cursor:pointer !important; transition:background .15s !important;
}
.hpfy-single__comments .comment-form .submit:hover { background:var(--hpfy-red-dk) !important; }

/* ════════════════════════════════════════════════════════════════════════════
   WORDPRESS DEFAULT SEARCH (sitewide via searchform.php)
══════════════════════════════════════════════════════════════════════════════ */
.hpfy-wp-search { width:100%; }
.hpfy-wp-search__inner {
  display:flex; align-items:center;
  background:#fff; border:1.5px solid var(--hpfy-border);
  border-radius:50px; overflow:hidden;
  transition:border-color .15s, box-shadow .15s;
}
.hpfy-wp-search__inner:focus-within {
  border-color:var(--hpfy-blue);
  box-shadow:0 0 0 3px rgba(74,127,193,.12);
}
.hpfy-wp-search__icon { flex-shrink:0; margin:0 0 0 14px; color:var(--hpfy-muted); width:16px; height:16px; }
.hpfy-wp-search__input {
  flex:1; border:none; outline:none; padding:10px 12px;
  font-size:14px; background:transparent; color:var(--hpfy-text); min-width:0;
}
.hpfy-wp-search__input::placeholder { color:#9CA3AF; }
.hpfy-wp-search__btn {
  flex-shrink:0; background:var(--hpfy-red); border:none;
  width:40px; height:40px; display:flex; align-items:center; justify-content:center;
  color:#fff; cursor:pointer; border-radius:0 50px 50px 0;
  transition:background .15s; margin:3px 3px 3px 0; border-radius:50%;
}
.hpfy-wp-search__btn:hover { background:var(--hpfy-red-dk); }

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width:1024px) {
  .hpfy-trending__grid,.hpfy-editors__grid { grid-template-columns:1fr 280px; }
  .hpfy-popular__grid { grid-template-columns:repeat(2,1fr); }
  .hpfy-recent__grid { grid-template-columns:repeat(2,1fr); }
  .hpfy-single__layout { grid-template-columns:1fr 270px; gap:28px; }
}
@media (max-width:768px) {
  .hpfy-nav__toggle { display:flex; }
  .hpfy-nav__menu { display:none; }
  .hpfy-nav__menu.is-open { display:block; padding:0 0 8px; }
  .hpfy-nav__list { flex-direction:column; }
  .hpfy-nav__link { padding:11px var(--hpfy-gutter); border-bottom:none; }
  .hpfy-nav__item .hpfy-nav__sub { position:static; border:none; box-shadow:none; padding-left:16px; border-top:none; display:none; }
  .hpfy-nav__item.is-open > .hpfy-nav__sub { display:block; }
  .hpfy-nav__sub .hpfy-nav__deep { position:static; border:none; box-shadow:none; padding-left:16px; display:none; }
  .hpfy-nav__sub .hpfy-nav__item.is-open > .hpfy-nav__deep { display:block; }
  .hpfy-trending__grid,.hpfy-editors__grid { grid-template-columns:1fr; }
  .hpfy-single__layout { grid-template-columns:1fr; }
  .hpfy-single__sidebar { position:static; }
  .hpfy-post-nav { grid-template-columns:1fr; }
}
@media (max-width:520px) {
  .hpfy-popular__grid { grid-template-columns:repeat(2,1fr); }
  .hpfy-recent__grid { grid-template-columns:1fr; }
  .hpfy-author-card { width:110px; }
  .hpfy-author-card__img-wrap { width:90px; height:90px; }
  .hpfy-trending__headline { font-size:17px; }
  .hpfy-author-bio { flex-direction:column; }
}