/*
Theme Name: BizPulse
Theme URI: https://businesstomark.com/
Author: BizPulse
Description: A fast, magazine-style business news theme. Bold headline-first homepage (lead story, stacked stories, most-popular list, category sections, latest river), a reading-focused post page with key points box, auto table of contents, reading progress bar, share buttons, inline "Read also" box, author box and related stories. Includes auto dark mode, NewsArticle schema, view-based popular posts and Customizer options.
Version: 1.4.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: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bizpulse
Tags: news, blog, two-columns, right-sidebar, custom-menu, custom-logo, featured-images, sticky-post, threaded-comments, translation-ready, wide-blocks
*/

/* ===== Tokens ===== */
:root{
  --bg:#ffffff; --surface:#f3f5f9; --surface-2:#e9edf4; --ink:#0b1220; --ink-2:#28324a; --muted:#5d6981; --line:#e2e6ee;
  --brand:#111111; --brand-ink:#ffffff; --accent:#1a56f0; --hot:#ff3b30; --ok:#00a37a;
  --head:"Archivo","Arial Narrow",system-ui,-apple-system,"Segoe UI",sans-serif;
  --body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ui:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --wrap:1240px; --r:0px; --shadow:0 1px 2px rgba(11,18,32,.06),0 8px 24px rgba(11,18,32,.06);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0c111c; --surface:#151c2b; --surface-2:#1d2638; --ink:#eef2f9; --ink-2:#c9d2e3; --muted:#93a0b8; --line:#253047;
    --brand:#000000; --accent:#6e95ff; --hot:#ff6159; --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.3); color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0c111c; --surface:#151c2b; --surface-2:#1d2638; --ink:#eef2f9; --ink-2:#c9d2e3; --muted:#93a0b8; --line:#253047;
  --brand:#000000; --accent:#6e95ff; --hot:#ff6159; --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.3); color-scheme:dark;
}

/* ===== Base ===== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 var(--ui);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,video,iframe{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:hover{color:var(--accent)}
button{font:inherit;cursor:pointer}
h1,h2,h3,h4,h5,h6{font-family:var(--head);font-stretch:88%;line-height:1.12;margin:0 0 .5em;color:var(--ink);letter-spacing:-.01em}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 16px}
@media (min-width:768px){.wrap{padding:0 24px}}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;word-wrap:normal!important}
.screen-reader-text:focus,.skip-link:focus{clip:auto!important;clip-path:none;height:auto;width:auto;margin:0;z-index:1000;top:8px;left:8px;background:var(--bg);color:var(--ink);padding:10px 16px;border-radius:var(--r);box-shadow:var(--shadow)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* ===== Buttons / chips ===== */
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#fff;border:0;border-radius:999px;padding:9px 18px;font:700 13px/1 var(--ui);letter-spacing:.02em;white-space:nowrap}
.btn:hover{color:#fff;filter:brightness(1.08)}
.btn--ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}
.btn--ghost:hover{color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent)}
.icon-btn{display:inline-grid;place-items:center;width:40px;height:40px;border:0;background:transparent;color:var(--ink);border-radius:50%}
.icon-btn:hover{background:var(--surface);color:var(--accent)}
.icon-btn svg{width:22px;height:22px}
.chip{display:inline-block;padding:6px 12px;border-radius:999px;background:var(--surface);font:600 13px/1 var(--ui);color:var(--ink-2)}
.chip:hover{background:var(--accent);color:#fff}

/* ===== Kicker (category label) ===== */
.kicker{display:inline-block;font:800 11px/1.2 var(--ui);letter-spacing:.09em;text-transform:uppercase;color:var(--kc,var(--accent));margin-bottom:8px}
.kicker:hover{color:var(--ink)}
.kicker--pill{font-size:12px}
.kicker--pill:hover{color:var(--ink)}

/* ===== Placeholder images ===== */
.ph{position:relative;width:100%;height:100%;display:grid;place-items:center;overflow:hidden;color:rgba(255,255,255,.92);font:900 clamp(28px,6vw,64px)/1 var(--head)}
.ph::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 22%,rgba(255,255,255,.35) 0 14%,transparent 15%),radial-gradient(circle at 85% 80%,rgba(255,255,255,.22) 0 22%,transparent 23%),repeating-linear-gradient(135deg,rgba(255,255,255,.08) 0 2px,transparent 2px 14px)}
.ph span{position:relative}
.ph--0{background:linear-gradient(135deg,#1d5cff,#7c4dff)}
.ph--1{background:linear-gradient(135deg,#ff6b3d,#ffb020)}
.ph--2{background:linear-gradient(135deg,#00b386,#3bd1ff)}
.ph--3{background:linear-gradient(135deg,#ff3e7f,#ff9a5a)}
.ph--4{background:linear-gradient(135deg,#7c3aed,#ec4899)}
.ph--5{background:linear-gradient(135deg,#0ea5e9,#22c55e)}
.ph--6{background:linear-gradient(135deg,#f59e0b,#ef4444)}
.ph--7{background:linear-gradient(135deg,#14b8a6,#6366f1)}

/* ===== Reading progress ===== */
.bp-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:200;background:transparent}
.bp-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--hot))}

/* ===== Topbar ===== */
.bp-topbar{background:var(--brand);color:#cfcfcf;font:500 12px/1 var(--ui)}
.bp-topbar__in{display:flex;align-items:center;justify-content:space-between;gap:16px;height:34px}
.bp-topbar a{color:#e6ecfa}
.bp-topbar a:hover{color:#fff;text-decoration:underline}
.bp-topbar ul{list-style:none;margin:0;padding:0;display:flex;gap:18px}
.bp-topbar__right{display:flex;align-items:center;gap:18px}
.bp-social{display:flex;gap:12px;align-items:center}
.bp-social svg{width:14px;height:14px}
@media (max-width:767px){.bp-topbar .menu,.bp-topbar__links{display:none}}

/* ===== Header (centered wordmark + nav row) ===== */
.bp-header{position:sticky;top:0;z-index:100;background:var(--bg);transition:box-shadow .2s}
.bp-header.is-scrolled{box-shadow:var(--shadow)}
.admin-bar .bp-header{top:32px}
@media (max-width:782px){.admin-bar .bp-header{top:0}}
.bp-header__in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;height:68px}
.bp-header__left{display:flex;align-items:center;gap:2px}
.bp-logo{display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:0}




.bp-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.bp-login{font:600 13px/1 var(--ui);color:var(--ink);padding:0 8px}
.bp-nav{border-top:1px solid var(--line);border-bottom:1px solid var(--ink)}
.bp-nav ul{list-style:none;margin:0 auto;padding:0 16px;display:flex;justify-content:center;gap:2px;white-space:nowrap;overflow-x:auto;scrollbar-width:none;max-width:var(--wrap)}
.bp-nav ul::-webkit-scrollbar{display:none}
.bp-nav a{display:block;padding:12px 12px;font:600 14px/20px var(--ui);color:var(--ink);border-bottom:3px solid transparent;margin-bottom:-1px}
.bp-nav a:hover,.bp-nav .current-menu-item>a,.bp-nav .current-cat>a{color:var(--ink);border-bottom-color:var(--accent)}
.bp-nav .sub-menu{display:none}
@media (max-width:767px){.bp-actions .btn,.bp-login,.js-theme-toggle{display:none}.bp-nav ul{justify-content:flex-start}.bp-nav a{padding:10px 10px;font-size:13px}.bp-header__in{height:56px}}

/* ===== Trending strip ===== */
.bp-trending{border-bottom:1px solid var(--line);background:var(--bg)}
.bp-trending__in{justify-content:center}
.bp-trending__in{display:flex;align-items:center;gap:12px;height:46px;overflow-x:auto;scrollbar-width:none;white-space:nowrap}
.bp-trending__in::-webkit-scrollbar{display:none}
.bp-trending__label{display:inline-flex;align-items:center;gap:6px;font:800 11px/1 var(--ui);letter-spacing:.1em;color:var(--hot);text-transform:uppercase;flex-shrink:0}
.bp-trending__label::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--hot);animation:bp-pulse 1.6s infinite}
@keyframes bp-pulse{0%{box-shadow:0 0 0 0 rgba(255,59,48,.5)}70%{box-shadow:0 0 0 8px rgba(255,59,48,0)}100%{box-shadow:0 0 0 0 rgba(255,59,48,0)}}
.bp-trending a{font:600 13px/1 var(--ui);color:var(--ink-2);padding:6px 0}
.bp-trending a:hover{color:var(--accent)}
.bp-trending a+a::before{content:"·";color:var(--muted);margin-right:12px}

/* ===== Drawer & search overlay ===== */
.bp-drawer{position:fixed;inset:0 auto 0 0;width:min(340px,88vw);background:var(--bg);z-index:300;transform:translateX(-102%);transition:transform .28s ease;overflow-y:auto;padding:16px 20px 32px;box-shadow:var(--shadow)}
.bp-drawer.is-open{transform:none}
.bp-drawer__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.bp-drawer ul{list-style:none;margin:0;padding:0}
.bp-drawer li a{display:block;padding:12px 0;border-bottom:1px solid var(--line);font:700 15px/1.2 var(--ui)}
.bp-drawer .sub-menu a{padding-left:16px;font-weight:500}
.bp-overlay{position:fixed;inset:0;background:rgba(5,10,20,.55);z-index:250;opacity:0;visibility:hidden;transition:.25s}
.bp-overlay.is-open{opacity:1;visibility:visible}
.bp-search{position:fixed;inset:0;z-index:400;background:color-mix(in srgb,var(--bg) 96%,transparent);display:none;padding:12vh 16px 0}
.bp-search.is-open{display:block}
.bp-search__in{max-width:760px;margin:0 auto}
.bp-search__close{position:absolute;top:16px;right:16px}
.search-form{display:flex;gap:8px}
.search-form label{flex:1}
.search-field{width:100%;border:0;border-bottom:3px solid var(--ink);background:transparent;color:var(--ink);font:800 clamp(22px,4vw,40px)/1.2 var(--head);padding:10px 0;outline:none}
.search-field:focus{border-color:var(--accent)}
.search-submit{align-self:flex-end}
.bp-drawer .search-field,.widget .search-field,.bp-404 .search-field,.bp-archive-head .search-field{font:500 15px/1.2 var(--ui);border:1.5px solid var(--line);border-radius:999px;padding:10px 16px}

/* ===== Cards ===== */
.card{position:relative;display:flex;flex-direction:column;gap:12px;min-width:0}
.card__media{display:block;aspect-ratio:16/9;overflow:hidden;border-radius:var(--r);background:var(--surface)}
.card__media img,.card__media .ph{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.card:hover .card__media img,.card:hover .card__media .ph{transform:scale(1.04)}
.card__title{font:800 20px/1.18 var(--head);font-stretch:88%;margin:0}
.card__title a:hover{color:var(--ink);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.card__excerpt{color:var(--ink-2);font:400 15px/1.5 var(--ui);margin:8px 0 0}
.card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;color:var(--muted);font:500 12px/1.3 var(--ui);margin-top:8px}
.card__meta b{color:var(--ink-2);font-weight:700}
.card__meta .sep{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.6}
.card--lead .card__title{font-size:clamp(28px,3.4vw,44px);line-height:1.04;letter-spacing:-.015em;font-stretch:82%}
.card--lead .card__excerpt{font-size:17px}
.card--stack{flex-direction:row;gap:14px;padding:14px 0;border-top:1px solid var(--line)}
.card--stack:first-child{border-top:0;padding-top:0}
.card--stack .card__media{flex:0 0 112px;aspect-ratio:4/3}
.card--stack .card__title{font-size:16px}
.card--text{padding:14px 0;border-top:1px solid var(--line)}
.card--text:first-child{border-top:0;padding-top:0}
.card--text .card__title{font-size:17px}
.card--river{display:grid;grid-template-columns:1fr;gap:14px;padding:24px 0;border-top:1px solid var(--line)}
.card--river:first-child{border-top:0;padding-top:0}
.card--river .card__title{font-size:clamp(19px,2.2vw,24px)}
@media (min-width:640px){.card--river{grid-template-columns:260px 1fr;gap:24px}.card--river .card__media{aspect-ratio:3/2}}
.card--overlay{border-radius:var(--r);overflow:hidden;min-height:360px;justify-content:flex-end}
.card--overlay .card__media{position:absolute;inset:0;aspect-ratio:auto;border-radius:0}
.card--overlay .card__body{position:relative;padding:22px;background:linear-gradient(180deg,transparent,rgba(5,10,20,.88));color:#fff}
.card--overlay .card__title,.card--overlay .card__title a{color:#fff;font-size:clamp(22px,2.6vw,30px)}
.card--overlay .card__meta,.card--overlay .card__meta b{color:#d5dcec}
.card--overlay .kicker{color:#fff}

/* ===== Section heads ===== */
.section{padding:28px 0 36px}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px;border-top:4px solid var(--ink);padding-top:12px}
.section-head h2{display:flex;align-items:center;gap:10px;font:900 26px/1 var(--head);font-stretch:80%;margin:0;text-transform:uppercase;letter-spacing:-.01em}
.section-head h2::before{display:none}
.section-head .more{font:700 13px/1 var(--ui);color:var(--ink);display:inline-flex;gap:6px;align-items:center}
.section-head .more:hover{text-decoration:underline}
.block-title{font:900 14px/1 var(--ui);letter-spacing:.08em;text-transform:uppercase;padding-top:10px;margin:0 0 18px;border-top:4px solid var(--ink)}

/* ===== Home hero ===== */
.bp-hero{display:grid;gap:28px;padding:28px 0 36px}
@media (min-width:768px){.bp-hero{grid-template-columns:1fr 1fr}.bp-hero__lead{grid-column:1/-1}}
@media (min-width:1024px){.bp-hero{grid-template-columns:270px 1fr 290px}.bp-hero__lead{grid-column:2;grid-row:1}.bp-hero__left{grid-column:1;grid-row:1}.bp-hero__right{grid-column:3;grid-row:1}
  .bp-hero__left{border-right:1px solid var(--line);padding-right:28px}.bp-hero__right{border-left:1px solid var(--line);padding-left:28px}}

/* Popular list */
.bp-popular{list-style:none;margin:0;padding:0;counter-reset:pop}
.bp-popular li{counter-increment:pop;display:grid;grid-template-columns:38px 1fr;gap:10px;padding:13px 0;border-top:1px solid var(--line)}
.bp-popular li:first-child{border-top:0;padding-top:0}
.bp-popular li::before{content:counter(pop);font:900 32px/1 var(--head);font-stretch:75%;color:var(--accent)}
.bp-popular a{font:700 15px/1.3 var(--head)}
.bp-popular .card__meta{margin-top:4px}

/* Grids */
.grid-4{display:grid;gap:28px;grid-template-columns:1fr}
@media (min-width:640px){.grid-4{grid-template-columns:1fr 1fr}}
@media (min-width:1024px){.grid-4{grid-template-columns:repeat(4,1fr)}}
.grid-3{display:grid;gap:28px;grid-template-columns:1fr}
@media (min-width:640px){.grid-3{grid-template-columns:1fr 1fr}}
@media (min-width:1024px){.grid-3{grid-template-columns:repeat(3,1fr)}}
.split{display:grid;gap:28px}
@media (min-width:900px){.split{grid-template-columns:1.35fr 1fr}}
.split__list{display:flex;flex-direction:column}
.feature-row{display:grid;gap:20px}
@media (min-width:900px){.feature-row{grid-template-columns:1.4fr 1fr 1fr}}

/* Newsletter band */
.bp-band{background:var(--brand);color:#fff;border-radius:12px;padding:32px;display:grid;gap:20px;align-items:center;margin:12px 0 36px;position:relative;overflow:hidden}
.bp-band::after{display:none;content:"";position:absolute;right:-60px;top:-60px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 70%)}
@media (min-width:900px){.bp-band{grid-template-columns:1.2fr 1fr;padding:40px 48px}}
.bp-band h2{color:#fff;font-size:clamp(24px,3vw,34px);margin:0 0 6px}
.bp-band p{color:#c9c9c9;margin:0}
.nl-form{display:flex;gap:8px;flex-wrap:wrap;position:relative;z-index:1}
.nl-form input[type=email]{flex:1;min-width:200px;border:0;border-radius:999px;padding:13px 18px;font:500 15px/1 var(--ui);background:#fff;color:#0b1220}
.nl-form .btn{background:var(--accent);padding:13px 22px}

/* ===== Layout with sidebar ===== */
.layout{display:grid;gap:40px;padding:32px 0 48px}
@media (min-width:1024px){.layout{grid-template-columns:minmax(0,1fr) 320px;gap:56px}}
.sidebar{display:flex;flex-direction:column;gap:32px}
@media (min-width:1024px){.sidebar__sticky{position:sticky;top:88px;display:flex;flex-direction:column;gap:32px}}
.widget{font-size:15px}
.widget ul{list-style:none;margin:0;padding:0}
.widget li{padding:8px 0;border-top:1px solid var(--line)}
.widget li:first-child{border-top:0}
.widget-title{font:900 14px/1 var(--ui);letter-spacing:.08em;text-transform:uppercase;padding-top:10px;margin:0 0 16px;border-top:4px solid var(--ink)}
.nl-box{background:var(--surface);border-radius:10px;padding:22px;border-top:4px solid var(--accent)}
.nl-box h3{font-size:20px;margin-bottom:6px}
.nl-box p{color:var(--muted);font-size:14px}
.nl-box .nl-form input[type=email]{border:1.5px solid var(--line);width:100%}
.nl-box .nl-form .btn{width:100%;justify-content:center}
.ad-slot{display:grid;place-items:center;min-height:250px;background:repeating-linear-gradient(45deg,var(--surface),var(--surface) 10px,var(--surface-2) 10px,var(--surface-2) 20px);border-radius:var(--r);color:var(--muted);font:600 11px/1 var(--ui);letter-spacing:.1em;text-transform:uppercase}
.tag-cloud{display:flex;flex-wrap:wrap;gap:8px}

/* ===== Archive head ===== */
.bp-archive-head{padding:32px 0 24px;border-bottom:1px solid var(--line)}
.bp-archive-head .kicker{margin-bottom:10px}
.bp-archive-head h1{font:900 clamp(32px,5vw,56px)/1 var(--head);letter-spacing:-.03em;margin:0 0 10px;display:flex;align-items:center;gap:14px}
.bp-archive-head h1::before{display:none}
.bp-archive-head .desc{color:var(--ink-2);max-width:720px;font:400 17px/1.5 var(--ui);margin:0}
.bp-archive-head .count{color:var(--muted);font:600 13px/1 var(--ui);margin-top:12px}
.bp-subcats{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}

/* ===== Breadcrumbs ===== */
.bp-crumbs{font:600 12px/1.4 var(--ui);color:var(--muted);margin:0 0 14px;display:flex;flex-wrap:wrap;gap:6px}
.bp-crumbs a:hover{color:var(--accent)}
.bp-crumbs span[aria-hidden]{opacity:.6}

/* ===== Single article ===== */
.article{padding:8px 0 0}
.article-head{max-width:880px}
.article-title{font:900 clamp(32px,4.8vw,54px)/1.03 var(--head);font-stretch:82%;letter-spacing:-.015em;margin:0 0 16px}
.article-dek{font:400 clamp(17px,1.8vw,20px)/1.5 var(--ui);color:var(--ink-2);margin:0 0 22px}
.byline{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.byline__author{display:flex;align-items:center;gap:12px}
.byline__author img{width:46px;height:46px;border-radius:50%;object-fit:cover}
.byline__name{font:800 15px/1.2 var(--ui)}
.byline__name a:hover{color:var(--accent)}
.byline__meta{color:var(--muted);font:500 13px/1.3 var(--ui);display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:3px}
.share{display:flex;gap:8px;align-items:center}
.share a,.share button{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--surface);color:var(--ink-2);border:0}
.share a:hover,.share button:hover{background:var(--accent);color:#fff}
.share svg{width:17px;height:17px}
.share .is-copied{background:var(--ok);color:#fff}
.featured{margin:24px 0 28px}
.featured__img{aspect-ratio:16/9;overflow:hidden;border-radius:var(--r);background:var(--surface)}
.featured__img img,.featured__img .ph{width:100%;height:100%;object-fit:cover}
.featured figcaption{color:var(--muted);font:500 13px/1.4 var(--ui);margin-top:8px}

.article-layout{display:grid;gap:40px;padding:24px 0 48px}
@media (min-width:1024px){.article-layout{grid-template-columns:minmax(0,720px) 300px;justify-content:space-between;gap:56px}}

.keypoints{border-top:1px solid var(--ink);border-bottom:1px solid var(--line);padding:16px 0 12px;margin:0 0 28px}
.keypoints h2{font:900 13px/1 var(--ui)!important;letter-spacing:.1em;text-transform:uppercase;margin:0 0 12px!important}
.keypoints ul{list-style:none;margin:0;padding:0}
.keypoints li{position:relative;padding:6px 0 6px 28px;font:500 16px/1.45 var(--ui);color:var(--ink-2)}
.keypoints li{font-weight:600;color:var(--ink)}
.keypoints li::before{content:"";position:absolute;left:4px;top:15px;width:7px;height:7px;background:var(--accent)}
.keypoints-old::before{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/10px no-repeat}

.toc{border:1px solid var(--line);border-radius:var(--r);margin:0 0 28px;background:var(--bg)}
.toc summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;padding:14px 18px;font:800 14px/1 var(--ui);text-transform:uppercase;letter-spacing:.06em}
.toc summary::-webkit-details-marker{display:none}
.toc summary::after{content:"+";font-size:20px;color:var(--accent)}
.toc[open] summary::after{content:"−"}
.toc ol{margin:0;padding:0 18px 16px 38px;font:500 15px/1.4 var(--ui)}
.toc li{padding:5px 0}
.toc li.lvl-3{margin-left:16px;list-style:circle;font-size:14px;color:var(--muted)}
.toc a:hover{color:var(--accent);text-decoration:underline}

/* Entry content typography */
.entry-content{font:400 18px/1.7 var(--body);color:var(--ink)}
.entry-content>*{margin-top:0;margin-bottom:1.15em}
.entry-content h2{font:800 clamp(24px,2.6vw,30px)/1.2 var(--head);margin:1.8em 0 .6em;scroll-margin-top:90px}
.entry-content h3{font:800 clamp(20px,2vw,23px)/1.25 var(--head);margin:1.5em 0 .5em;scroll-margin-top:90px}
.entry-content h4{font:800 19px/1.3 var(--head);margin:1.4em 0 .5em}
.entry-content a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.entry-content a:hover{text-decoration-thickness:2px}
.entry-content ul,.entry-content ol{padding-left:1.3em}
.entry-content li{margin:.35em 0}
.entry-content li::marker{color:var(--accent);font-weight:700}
.entry-content strong{font-weight:700;color:var(--ink)}
.entry-content blockquote{margin:1.6em 0;padding:4px 0 4px 24px;border-left:4px solid var(--hot);font:600 clamp(20px,2.3vw,25px)/1.4 var(--head);color:var(--ink)}
.entry-content blockquote p{margin:0 0 .4em}
.entry-content blockquote cite{display:block;font:600 13px/1 var(--ui);color:var(--muted);font-style:normal;margin-top:8px}
.entry-content figure{margin:1.6em 0}
.entry-content img{border-radius:var(--r)}
.entry-content figcaption,.wp-caption-text,.gallery-caption{color:var(--muted);font:500 13px/1.4 var(--ui);margin-top:8px}
.entry-content table{width:100%;border-collapse:collapse;font:400 15px/1.45 var(--ui)}
.entry-content th,.entry-content td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left}
.entry-content th{background:var(--surface);font-weight:800}
.entry-content pre{background:var(--surface);padding:16px;border-radius:var(--r);overflow:auto;font-size:14px}
.entry-content hr{border:0;border-top:1px solid var(--line);margin:2em 0}
.entry-content .alignwide{margin-left:0;margin-right:0}
@media (min-width:1200px){.entry-content .alignwide{margin-left:-60px;margin-right:-60px}}
.alignleft{float:left;margin:.3em 1.5em 1em 0}
.alignright{float:right;margin:.3em 0 1em 1.5em}
.aligncenter{display:block;margin-left:auto;margin-right:auto}
.wp-caption{max-width:100%}
.sticky .card__title::after{content:"Featured";margin-left:8px;font:800 10px/1 var(--ui);vertical-align:middle;padding:3px 6px;border-radius:3px;background:var(--hot);color:#fff;text-transform:uppercase;letter-spacing:.06em}
.bypostauthor>article .fn::after{content:" · Author";color:var(--accent)}

.read-also{display:flex;gap:14px;align-items:center;background:var(--surface);border-radius:var(--r);padding:14px;margin:1.6em 0!important;font-family:var(--ui)}
.read-also__label{font:900 11px/1 var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--hot);display:block;margin-bottom:6px}
.read-also a{color:var(--ink)!important;text-decoration:none!important;font:800 17px/1.3 var(--head)}
.read-also a:hover{color:var(--accent)!important}
.read-also__img{flex:0 0 96px;aspect-ratio:1;border-radius:4px;overflow:hidden}
.read-also__img img,.read-also__img .ph{width:100%;height:100%;object-fit:cover;font-size:28px;margin:0;border-radius:0}

.post-tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:28px 0;font:800 12px/1 var(--ui);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.post-tags a{text-transform:none;letter-spacing:0}
.author-box{display:flex;gap:18px;padding:24px;border:1px solid var(--line);border-radius:10px;margin:28px 0}
.author-box img{width:72px;height:72px;border-radius:50%;flex-shrink:0}
.author-box h3{font-size:19px;margin:0 0 6px}
.author-box p{color:var(--ink-2);font-size:15px;margin:0 0 8px}
.author-box .more{font:700 13px/1 var(--ui);color:var(--accent)}
.post-nav{display:grid;gap:16px;margin:28px 0}
@media (min-width:640px){.post-nav{grid-template-columns:1fr 1fr}}
.post-nav a{display:block;padding:18px;border:1px solid var(--line);border-radius:10px;font:800 16px/1.3 var(--head);height:100%}
.post-nav a:hover{border-color:var(--accent)}
.post-nav small{display:block;font:700 11px/1 var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.post-nav .next{text-align:right}
.related{padding:36px 0 48px;border-top:1px solid var(--line)}

/* ===== Comments ===== */
.comments-area{margin-top:36px;font-size:15px}
.comment-list{list-style:none;padding:0;margin:0 0 24px}
.comment-list .children{list-style:none;padding-left:24px;border-left:2px solid var(--line)}
.comment-body{padding:16px 0;border-top:1px solid var(--line)}
.comment-author{display:flex;align-items:center;gap:10px;font-weight:700}
.comment-author img{border-radius:50%}
.comment-metadata{font-size:12px;color:var(--muted);margin:4px 0 8px}
.reply a{font:700 12px/1 var(--ui);color:var(--accent)}
.comment-form label{display:block;font:700 13px/1 var(--ui);margin-bottom:6px}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{width:100%;border:1.5px solid var(--line);border-radius:var(--r);padding:12px;font:inherit;background:var(--bg);color:var(--ink)}
.comment-form textarea:focus,.comment-form input:focus{border-color:var(--accent);outline:none}
.comment-form .submit{background:var(--accent);color:#fff;border:0;border-radius:999px;padding:12px 24px;font:700 14px/1 var(--ui)}

/* ===== Pagination ===== */
.pagination,.nav-links{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:32px 0 0}
.page-numbers{display:grid;place-items:center;min-width:42px;height:42px;padding:0 12px;border-radius:999px;border:1.5px solid var(--line);font:700 14px/1 var(--ui)}
.page-numbers.current{background:var(--ink);color:var(--bg);border-color:var(--ink)}
a.page-numbers:hover{border-color:var(--accent);color:var(--accent)}
.page-numbers.dots{border:0}

/* ===== Page / 404 ===== */
.page-wrap{max-width:760px;margin:0 auto;padding:40px 0 56px}
.bp-404{text-align:center;padding:64px 0 32px}
.bp-404 .big{font:900 clamp(96px,18vw,180px)/1 var(--head);letter-spacing:-.05em;background:linear-gradient(135deg,var(--accent),var(--hot));-webkit-background-clip:text;background-clip:text;color:transparent}
.bp-404 .search-form{max-width:520px;margin:20px auto 0}
.no-results{padding:24px 0}

/* ===== Footer ===== */
.bp-footer{background:var(--brand);color:#b5b5b5;margin-top:24px;font-size:14px}
.bp-footer a{color:#e8eefb}
.bp-footer a:hover{color:#fff;text-decoration:underline}
.bp-footer__top{display:grid;gap:32px;padding:48px 0 36px}
@media (min-width:768px){.bp-footer__top{grid-template-columns:1.4fr 1fr 1fr 1fr}}

.bp-footer h3,.bp-footer .widget-title{color:#fff;font:900 12px/1 var(--ui);letter-spacing:.12em;text-transform:uppercase;border:0;padding:0;margin:0 0 14px}
.bp-footer ul{list-style:none;margin:0;padding:0}
.bp-footer li{padding:5px 0;border:0}
.bp-footer .bp-social{gap:10px;margin-top:16px}
.bp-footer .bp-social a{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.08)}
.bp-footer .bp-social a:hover{background:var(--accent)}
.bp-footer .bp-social svg{width:16px;height:16px}
.bp-footer__bottom{border-top:1px solid rgba(255,255,255,.1);padding:18px 0;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:13px}
.bp-footer__bottom ul{display:flex;flex-wrap:wrap;gap:16px}

/* Block widgets (Search, Latest Posts, Categories, etc.) */
.sidebar .widget h2,.sidebar .wp-block-heading,.sidebar .wp-block-search__label{display:block;font:900 14px/1 var(--ui);letter-spacing:.08em;text-transform:uppercase;padding-top:10px;margin:0 0 16px;border-top:4px solid var(--ink);color:var(--ink)}
.sidebar .widget a{font-weight:600}
.sidebar .widget a:hover{color:var(--accent)}
.wp-block-search__inside-wrapper{display:flex;gap:8px}
.wp-block-search__input{flex:1;min-width:0;border:1.5px solid var(--line);border-radius:999px;padding:10px 16px;font:500 15px/1.2 var(--ui);background:var(--bg);color:var(--ink)}
.wp-block-search__input:focus{outline:none;border-color:var(--accent)}
.wp-block-search__button{border:0;border-radius:999px;background:var(--accent);color:#fff;padding:10px 18px;font:700 13px/1 var(--ui);margin:0}
.wp-block-latest-posts__list li,.wp-block-categories-list li,.wp-block-archives-list li,.wp-block-latest-comments li{padding:9px 0;border-top:1px solid var(--line);margin:0}
.wp-block-latest-posts__list li:first-child,.wp-block-categories-list li:first-child,.wp-block-archives-list li:first-child{border-top:0}
.wp-block-latest-comments{padding:0}
.bp-footer .wp-block-search__input{border-color:rgba(255,255,255,.2);background:transparent;color:#fff}
.bp-footer .wp-block-heading,.bp-footer .wp-block-search__label{color:#fff;font:900 12px/1 var(--ui);letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px}

/* Back to top */
.to-top{position:fixed;right:18px;bottom:18px;width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--bg);border:0;display:grid;place-items:center;opacity:0;visibility:hidden;transform:translateY(10px);transition:.25s;z-index:90;box-shadow:var(--shadow)}
.to-top.is-visible{opacity:1;visibility:visible;transform:none}
.to-top svg{width:20px;height:20px}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.bp-drawer .search-submit,.widget .search-submit,.bp-404 .search-submit,.bp-archive-head .search-submit,.no-results .search-submit{align-self:center}
.byline__author img,.author-box img,.comment-author img{font-size:0;color:transparent;background:var(--surface-2)}
.bp-footer .bp-logo,.bp-drawer .bp-logo{justify-content:flex-start}

.bp-trending a.is-current{color:var(--accent);text-decoration:underline;text-underline-offset:4px}

/* ===== Brand / logo ===== */
:root{--logo-h:44px}
.bp-brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);white-space:nowrap;min-width:0}
.bp-brand:hover{color:var(--ink)}
.bp-brand .custom-logo{display:block;height:var(--logo-h);width:auto;max-width:280px;object-fit:contain}
.bp-brand__name{font:900 32px/1 var(--head);font-stretch:75%;text-transform:uppercase;letter-spacing:-.005em}
.bp-brand--both .bp-brand__name{font-size:28px}
.bp-drawer .bp-brand .custom-logo{height:36px}
.bp-drawer .bp-brand__name{font-size:24px}
.bp-footer .bp-brand,.bp-footer .bp-brand:hover{color:#fff}
.bp-footer .bp-brand .custom-logo{background:#fff;padding:4px;border-radius:8px;height:calc(var(--logo-h) + 4px)}
@media (max-width:767px){
  .bp-brand .custom-logo{height:min(var(--logo-h),36px);max-width:180px}
  .bp-brand__name{font-size:24px}
  .bp-brand--both .bp-brand__name{font-size:21px}
}
@media (max-width:380px){.bp-brand--both .bp-brand__name{font-size:18px}}

/* ===== Trending ticker (sliding posts) ===== */
.bp-trending__in:has(.bp-ticker){justify-content:flex-start;overflow:hidden;gap:16px}
.bp-trending__label{padding-right:14px;border-right:1px solid var(--line);height:20px}
.bp-ticker{position:relative;flex:1;min-width:0;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 40px),transparent)}
.bp-ticker__track{list-style:none;margin:0;padding:0;display:flex;flex-shrink:0;gap:40px;padding-right:40px;animation:bp-ticker var(--bp-ticker-speed,60s) linear infinite}
.bp-ticker:hover .bp-ticker__track,.bp-ticker:focus-within .bp-ticker__track{animation-play-state:paused}
.bp-ticker li{display:flex;align-items:center}
.bp-trending .bp-ticker a{display:inline-flex;align-items:center;gap:8px;font:600 14px/1 var(--ui);color:var(--ink);white-space:nowrap}
.bp-trending .bp-ticker a::before{content:none}
.bp-trending .bp-ticker a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.bp-ticker__n{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--surface-2);color:var(--ink);font:800 11px/1 var(--ui)}
.bp-ticker li:nth-child(-n+3) .bp-ticker__n{background:var(--hot);color:#fff}
@keyframes bp-ticker{from{transform:translateX(0)}to{transform:translateX(-100%)}}
@media (prefers-reduced-motion:reduce){.bp-ticker{overflow-x:auto}.bp-ticker__track{animation:none!important}.bp-ticker__track[aria-hidden]{display:none}}

/* ===== Wordmark styles ===== */
.bp-brand__name .w-accent{color:var(--accent)}
.bp-brand__mark{display:inline-grid;place-items:center;flex-shrink:0;width:var(--logo-h);height:var(--logo-h);border-radius:10px;background:var(--accent);color:#fff;font:900 calc(var(--logo-h) * .64)/1 var(--head);font-stretch:85%}
.bp-wordmark--badge .bp-brand__name,.bp-wordmark--split .bp-brand__name{font-size:30px}
.bp-wordmark--serif .bp-brand__name{font-family:"DM Serif Display",Georgia,"Times New Roman",serif;font-weight:400;font-stretch:normal;text-transform:none;font-size:38px;letter-spacing:-.01em}
.bp-wordmark--serif .w-accent{color:var(--ink);font-style:italic}
.bp-wordmark--lower .bp-brand__name{font-family:var(--ui);font-weight:800;font-stretch:normal;text-transform:lowercase;letter-spacing:-.05em;font-size:30px}
.bp-brand__name .w-dot{color:var(--hot)}
.bp-footer .bp-brand__name .w-accent{color:#8fb0ff}
.bp-footer .bp-wordmark--serif .w-accent{color:#fff}
.bp-footer .bp-brand__mark{background:var(--accent)}
.bp-drawer .bp-brand__mark{width:34px;height:34px;font-size:22px;border-radius:8px}
@media (max-width:767px){
  .bp-brand__mark{width:min(var(--logo-h),34px);height:min(var(--logo-h),34px);font-size:22px;border-radius:8px}
  .bp-wordmark--badge .bp-brand__name,.bp-wordmark--split .bp-brand__name,.bp-wordmark--lower .bp-brand__name{font-size:22px}
  .bp-wordmark--serif .bp-brand__name{font-size:27px}
}
@media (max-width:380px){.bp-wordmark--badge .bp-brand__name{font-size:19px}}
.bp-brand__name .w-box{display:inline-block;background:var(--accent);color:#fff;padding:.1em .16em .06em;margin-right:.04em;line-height:1}
.bp-wordmark--block .bp-brand__name{font-size:34px;letter-spacing:-.01em}
.bp-footer .bp-wordmark--block .w-box{background:var(--accent);color:#fff}
.bp-brand__name .w-box::selection,.bp-brand__name::selection{background:transparent}
@media (max-width:767px){.bp-wordmark--block .bp-brand__name{font-size:24px}}
@media (max-width:380px){.bp-wordmark--block .bp-brand__name{font-size:21px}}
