/*
Theme Name: Blogineer 1.3.31
Theme URI: https://example.com/blogineer
Author: EnglishPath
Author URI: https://example.com
Description: Blogineer is a fast, editorial blog theme built for serious educational publishers. Classic PHP templates, a wired category-section homepage engine, device-aware layout controls, baked-in image and performance optimization, AdSense slots with zero layout shift, an EEAT-ready single-post layout, and schema that defers to Yoast (or any major SEO plugin) while adding Course/LearningResource data. Editorial Pop design: bold display type, category colour-coding, light and rich dark modes.
Version: 1.3.31
Requires at least: 6.2
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: blogineer
Tags: blog, education, two-columns, right-sidebar, custom-logo, custom-menu, featured-images, translation-ready, threaded-comments, footer-widgets, full-width-template
*/

/* ============================================================ TOKENS ============================================================ */
:root{
  --bg:#f6f5f3; --surface:#ffffff; --ink:#1c140f; --muted:#6b5d52; --faint:#9a8d80;
  --line:#efe2d6; --line2:#e2d3c4;
  --accent:#e8431f; --accent-d:#c5371a; --accent-soft:#ffe7df; --on-accent:#ffffff;
  --hl:#ffd23f;
  --font-display:'Bricolage Grotesque',system-ui,sans-serif;
  --font-body:'Newsreader',Georgia,serif;
  --font-ui:'Hanken Grotesk',system-ui,sans-serif;
  --maxw:1200px; --reading:740px; --radius:18px; --fs:19px;
  --c-grammar:#4f46e5; --c-vocab:#0e9f6e;
}
[data-theme="dark"]{
  --bg:#100e0b; --surface:#1a1714; --ink:#f3eee5; --muted:#a8a195; --faint:#7d776c;
  --line:#2a2620; --line2:#39342c; --accent:#ff6a45; --accent-d:#ff8366; --accent-soft:#33170f;
}
@media (prefers-color-scheme:dark){:root[data-theme="auto"]{--bg:#100e0b;--surface:#1a1714;--ink:#f3eee5;--muted:#a8a195;--faint:#7d776c;--line:#2a2620;--line2:#39342c;--accent-soft:#33170f}}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--fs);
  line-height:1.7;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.03;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
a{color:var(--accent);text-underline-offset:3px}
img{max-width:100%;height:auto}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;position:relative;z-index:1}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:8px;top:8px;z-index:100;background:var(--accent);color:#fff;padding:8px 14px;border-radius:8px}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#blg-progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--accent);z-index:60;transition:width .1s linear}

/* ============================================================ HEADER ============================================================ */
.site-header{position:sticky;top:0;z-index:50;background:var(--header-bg,color-mix(in srgb,var(--bg) 82%,transparent));
  backdrop-filter:blur(12px);transition:padding .25s,background .25s,box-shadow .25s}
.blg-hdr-shadow .site-header[data-style="solid"].is-shrunk{box-shadow:0 5px 16px -12px rgba(0,0,0,.22)}
.site-header[data-style="bordered"]{border-bottom:1px solid var(--header-border,var(--line))}
.site-header[data-nav="left"] .main-nav{margin-right:auto;margin-left:26px}
.site-header[data-nav="center"] .main-nav{margin:0 auto}
.site-header[data-nav="right"] .main-nav{margin-left:auto}
body.blg-hero.blg-hdr-transparent .site-header{position:fixed;left:0;right:0;background:transparent;backdrop-filter:none;border:none;box-shadow:none}
body.blg-hero.blg-hdr-transparent .hero{padding-top:104px}
body.blg-hero.blg-hdr-transparent .site-header.hdr-solid{background:var(--header-bg,color-mix(in srgb,var(--bg) 90%,transparent));backdrop-filter:blur(12px);box-shadow:0 6px 24px -18px rgba(0,0,0,.35)}
.site-header .hd{display:flex;align-items:center;justify-content:space-between;padding:16px 0}
.site-header.is-shrunk .hd{padding:9px 0}
.brand{font-family:var(--font-display);font-weight:800;font-size:25px;letter-spacing:-.03em;text-decoration:none;
  color:var(--ink);display:inline-flex;align-items:center}
.brand .b-accent{color:var(--accent)}
.brand::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);margin-left:4px;align-self:flex-end;margin-bottom:7px}
.brand img{max-height:38px;width:auto;display:block}
.main-nav{display:flex;gap:30px;align-items:center;font-family:var(--font-ui);font-weight:500;font-size:14.5px;letter-spacing:-.01em}
.main-nav ul{list-style:none;display:flex;gap:4px;margin:0;padding:0;align-items:center}
.main-nav>ul>li>a{position:relative;display:inline-flex;align-items:center;gap:6px;color:var(--muted);text-decoration:none;padding:8px 11px;border-radius:9px;transition:color .18s ease}
.main-nav>ul>li>a::before{content:"";position:absolute;left:11px;right:11px;bottom:4px;height:2px;border-radius:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;opacity:0;transition:transform .22s ease,opacity .18s ease}
.main-nav>ul>li>a:hover,.main-nav .current-menu-item>a,.main-nav .current_page_item>a{color:var(--ink)}
.main-nav>ul>li>a:hover::before,.main-nav .current-menu-item>a::before,.main-nav .current_page_item>a::before{transform:scaleX(1);opacity:1}
.main-nav>ul>li>a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.hd-tools{display:flex;align-items:center;gap:7px}
.icon-btn{width:42px;height:42px;border-radius:13px;border:1px solid var(--line2);background:var(--surface);
  color:var(--ink);display:grid;place-items:center;cursor:pointer;
  transition:transform .18s ease,box-shadow .2s ease,border-color .2s ease,color .2s ease,background .2s ease}
.icon-btn:hover{transform:translateY(-1px);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--line2));background:color-mix(in srgb,var(--accent) 6%,var(--surface));box-shadow:0 8px 18px -10px color-mix(in srgb,var(--accent) 50%,transparent)}
.icon-btn:active{transform:translateY(0)}
.icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.icon-btn svg{width:19px;height:19px;transition:transform .25s ease}
#blg-theme-toggle:hover svg{transform:rotate(-18deg)}
.nav-toggle{display:none}
@media(max-width:860px){.main-nav ul{display:none}.nav-toggle{display:grid}
  /* hamburger left · brand centered · actions right */
  .site-header .hd{display:grid;grid-template-columns:1fr auto 1fr}
  .hd .nav-toggle{justify-self:start}
  .hd .site-branding{justify-self:center}
  .hd .main-nav{justify-self:end}
  /* clean, frameless header icons */
  .site-header .icon-btn{border:none;background:none;box-shadow:none;width:auto;height:auto;padding:8px;border-radius:10px}
  .site-header .icon-btn:hover,.site-header .icon-btn:active{transform:none;background:none;box-shadow:none;color:var(--ink)}
  .site-header .icon-btn svg{width:22px;height:22px}
  .main-nav.is-open ul{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;
    background:var(--bg);border-bottom:1px solid var(--line);padding:8px 28px 16px}}

/* ============================================================ ADS ============================================================ */
.blg-ad{margin:22px auto;text-align:center;overflow:hidden}
.blg-ad[data-reserve]{min-height:var(--ad-h,90px)}
.blg-ad .ad-label{display:block;font-family:var(--font-ui);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:4px}

/* ============================================================ LAYOUT ============================================================ */
.site-content{padding:0 0 50px}
.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:56px;align-items:start;padding-top:30px}
.content-grid.no-sidebar{grid-template-columns:minmax(0,1fr)}
.content-main{min-width:0}
.breadcrumb{font-family:var(--font-ui);font-size:13px;color:var(--faint);padding:18px 0 4px}
.archive-header{padding:30px 0 6px}
.archive-header h1{font-family:var(--font-display);font-weight:800;font-size:clamp(2rem,4vw,2.8rem);letter-spacing:-.03em;margin:0}
.archive-header .desc{color:var(--muted);margin-top:6px}

/* ============================================================ HERO ============================================================ */
.hero{position:relative;padding:70px 0 50px;overflow:hidden}
.hero-bg{position:absolute;inset:-25% -10% auto;height:150%;z-index:0;filter:blur(10px);opacity:.85;
  background:
    radial-gradient(40% 50% at 18% 24%,color-mix(in srgb,var(--accent) 52%,transparent),transparent 70%),
    radial-gradient(38% 46% at 82% 16%,color-mix(in srgb,var(--c-grammar) 40%,transparent),transparent 70%),
    radial-gradient(46% 56% at 72% 90%,color-mix(in srgb,var(--c-vocab) 34%,transparent),transparent 72%)}
[data-theme="dark"] .hero-bg{opacity:.5}
.hero .wrap{position:relative;z-index:2}
.eyebrow{font-family:var(--font-ui);font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.hero h1{font-family:var(--font-display);font-weight:800;font-size:clamp(2.6rem,6.5vw,5rem);line-height:.99;
  letter-spacing:-.035em;margin:.16em 0 .26em;max-width:17ch}
.mark{white-space:nowrap;box-shadow:inset 0 -.3em 0 var(--hl)}
.grad{background:linear-gradient(100deg,var(--accent),var(--accent2,var(--c-grammar)));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .deck{font-size:1.3rem;color:var(--muted);max-width:46ch;margin:0 0 26px}
.hero-search{max-width:540px}
.chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.chip{font-family:var(--font-ui);font-weight:700;font-size:13.5px;padding:8px 16px;border-radius:999px;text-decoration:none;
  color:#fff;background:var(--cc,var(--accent));border:none;transition:transform .2s,filter .2s}
.chip:hover{transform:translateY(-2px);filter:brightness(1.08)}
.reveal{opacity:0;transform:translateY(14px);animation:rise .7s cubic-bezier(.2,.7,.2,1) forwards}
.reveal:nth-child(1){animation-delay:.05s}.reveal:nth-child(2){animation-delay:.12s}.reveal:nth-child(3){animation-delay:.2s}
.reveal:nth-child(4){animation-delay:.28s}.reveal:nth-child(5){animation-delay:.36s}
@keyframes rise{to{opacity:1;transform:none}}

/* ============================================================ SECTIONS ============================================================ */
.home-section{padding:30px 0}
.home-section.sp-compact{padding:18px 0}
.home-section.sp-spacious{padding:48px 0}
.home-section.bg-muted{background:color-mix(in srgb,var(--cc,var(--accent)) 5%,var(--bg));border-radius:22px;padding:28px 26px;margin:14px 0}
.home-section.bg-boxed{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:28px 26px;margin:14px 0}
.shead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}
.shead h2{font-family:var(--font-display);font-weight:700;font-size:1.95rem;letter-spacing:-.02em;margin:0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.tagbar{width:14px;height:26px;border-radius:6px;background:var(--cc,var(--accent));flex-shrink:0}
.ssub{font-family:var(--font-ui);font-weight:400;font-size:.92rem;color:var(--muted)}
.viewall{font-family:var(--font-ui);font-weight:700;font-size:14px;color:var(--ink);border:1.5px solid var(--line2);
  padding:8px 16px;border-radius:30px;text-decoration:none;white-space:nowrap;transition:.2s}
.viewall:hover{border-color:var(--cc,var(--accent));color:var(--cc,var(--accent))}
.feat-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:22px}
.side-stack{display:flex;flex-direction:column;gap:18px}
@media(max-width:860px){.feat-grid{grid-template-columns:1fr}}
.dv-no-desktop{display:none}
@media(max-width:920px){.dv-no-desktop{display:block}.dv-no-tablet{display:none}}
@media(max-width:600px){.dv-no-tablet{display:block}.dv-no-mobile{display:none}}

/* ============================================================ CARDS ============================================================ */
.post-grid{display:grid;gap:22px;grid-template-columns:repeat(var(--cd,3),minmax(0,1fr))}
@media(max-width:920px){.post-grid{grid-template-columns:repeat(var(--ct,2),minmax(0,1fr))}}
@media(max-width:600px){.post-grid{grid-template-columns:repeat(var(--cm,1),minmax(0,1fr))}}
.card{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--cc,var(--accent));border-radius:var(--radius);overflow:hidden;
  display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:transform .25s,box-shadow .25s,border-color .25s}
.card:hover{transform:translateY(-5px);box-shadow:0 24px 50px -24px color-mix(in srgb,var(--cc,var(--accent)) 65%,transparent)}
.card .ph,.row-card .ph,.entry-row .ph{aspect-ratio:var(--ratio,var(--feat-ratio,16/9));position:relative;overflow:hidden;background:var(--ph,#d8d2c6);display:block}
.card.lead .ph{aspect-ratio:16/10}
.ph.noimg{background:linear-gradient(135deg,color-mix(in srgb,var(--cc,var(--accent)) 65%,#fff),var(--cc,var(--accent)))}
.ph picture,.ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.cat{position:absolute;top:13px;left:13px;z-index:2;font-family:var(--font-ui);font-weight:700;font-size:11px;
  letter-spacing:.04em;text-transform:uppercase;color:#fff;padding:5px 12px;border-radius:30px;background:var(--cc,var(--accent));
  box-shadow:0 6px 16px -7px color-mix(in srgb,var(--cc,var(--accent)) 80%,transparent)}
.pbadge{position:absolute;top:13px;right:13px;z-index:2;font-family:var(--font-ui);font-weight:700;font-size:10.5px;
  letter-spacing:.05em;text-transform:uppercase;padding:4px 10px;border-radius:30px;color:#fff}
.pbadge.is-new{background:var(--cc,var(--accent))}
.pbadge.is-upd{background:#e8810b}
.card .cbody{padding:17px 19px 19px;display:flex;flex-direction:column;gap:7px;flex:1}
.card h3{font-family:var(--font-display);font-weight:700;font-size:1.28rem;line-height:1.15;letter-spacing:-.02em;margin:0;color:var(--ink)}
.card.lead h3{font-size:1.66rem}
.card .ex,.entry-row .ex{font-size:.97rem;color:var(--muted);margin:0}
.cmeta{font-family:var(--font-ui);font-size:12.5px;color:var(--faint);margin-top:auto;display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.cmeta .sep{color:var(--line2)}
.lvl{font-family:var(--font-ui);font-weight:700;font-size:11.5px;color:var(--cc,var(--accent));
  background:color-mix(in srgb,var(--cc,var(--accent)) 12%,transparent);padding:2px 9px;border-radius:20px}
/* card style variants */
.cs-flat{border-color:transparent;background:color-mix(in srgb,var(--cc,var(--accent)) 6%,var(--surface))}
.cs-shadow{border-color:transparent;box-shadow:0 14px 34px -22px rgba(0,0,0,.3)}
.cs-minimal{border:none;background:none;border-radius:0}
.cs-minimal .ph{border-radius:14px}
/* clamps */
.clamp-1,.clamp-2,.clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
.clamp-1{-webkit-line-clamp:1}.clamp-2{-webkit-line-clamp:2}.clamp-3{-webkit-line-clamp:3}

/* row card (featured side stack) */
.row-card{display:flex;gap:15px;background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:13px;
  text-decoration:none;color:inherit;transition:.25s}
.row-card:hover{transform:translateX(3px);box-shadow:0 16px 36px -24px color-mix(in srgb,var(--cc,var(--accent)) 60%,transparent)}
.row-card .ph{width:112px;height:80px;border-radius:11px;flex:0 0 112px;aspect-ratio:auto}
.row-card .rbody{display:flex;flex-direction:column;gap:5px;min-width:0}
.row-card h4{font-family:var(--font-display);font-weight:700;font-size:1.06rem;line-height:1.16;margin:2px 0 0;color:var(--ink)}

/* list with excerpt */
.post-list{display:flex;flex-direction:column}
.entry-row{display:flex;align-items:flex-start;gap:20px;padding:22px 0;border-top:1px solid var(--line);text-decoration:none;color:inherit}
.entry-row:first-child{border-top:none}
.entry-row .ph{flex:0 0 230px;aspect-ratio:var(--ratio,var(--feat-ratio,16/9));border-radius:12px}
.entry-row .rbody{display:flex;flex-direction:column;gap:8px;min-width:0}
.entry-row h3{font-family:var(--font-display);font-weight:700;font-size:1.5rem;line-height:1.14;letter-spacing:-.02em;margin:-.14em 0 0;color:var(--ink)}
@media(max-width:600px){.entry-row{flex-direction:column;gap:12px}.entry-row .ph{flex:none;width:100%}.entry-row h3{margin-top:0}}

/* compact list */
.post-compact{list-style:none;margin:0;padding:0}
.post-compact li{border-top:1px solid var(--line);padding:12px 0}
.post-compact li:first-child{border-top:none}
.post-compact a{font-family:var(--font-display);font-weight:600;font-size:1.1rem;color:var(--ink);text-decoration:none;line-height:1.3}
.post-compact a:hover{color:var(--accent)}
.post-compact .cmeta{margin-top:3px}

/* ============================================================ SINGLE ============================================================ */
.entry-eyebrow{font-family:var(--font-ui);font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);text-decoration:none}
.entry-title{font-family:var(--font-display);font-weight:800;line-height:1.02;letter-spacing:-.03em;margin:.2em 0 .3em}
.single .entry-title{font-size:clamp(2.2rem,5vw,3.4rem);border-left:5px solid var(--accent);padding-left:20px}
.entry-deck{font-size:1.32rem;color:var(--muted);line-height:1.45;margin:0 0 22px;max-width:38ch}
.entry-content{max-width:var(--reading);font-size:1.06rem}
.entry-content h2{font-family:var(--font-display);font-weight:700;font-size:1.8rem;line-height:1.18;letter-spacing:-.02em;margin:1.7em 0 .4em;scroll-margin-top:90px}
.entry-content h3{font-family:var(--font-display);font-weight:600;font-size:1.32rem;margin:1.3em 0 .3em}
.entry-content p{margin:0 0 1.1em}
.entry-content ul,.entry-content ol{margin:0 0 1.1em;padding-left:1.3em}
.entry-content li{margin:.3em 0}
.entry-content blockquote{font-family:var(--font-display);font-weight:500;font-size:1.6rem;line-height:1.25;
  border-left:5px solid var(--accent);padding:4px 0 4px 22px;margin:30px 0}
.entry-content img{border-radius:12px}
.entry-content table{width:100%;border-collapse:collapse;font-family:var(--font-ui);font-size:.97rem;line-height:1.5;margin:22px 0}
.entry-content th,.entry-content td{text-align:left;padding:.72rem .9rem;border-bottom:1px solid var(--line);vertical-align:top}
.entry-content thead th{font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);background:color-mix(in srgb,var(--accent) 9%,var(--surface));border-bottom:2px solid color-mix(in srgb,var(--accent) 22%,var(--line))}
.entry-content tbody tr:nth-child(2n){background:color-mix(in srgb,var(--accent) 4%,transparent)}
.entry-content tbody tr:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}
[data-tables="plain"] .entry-content thead th{background:none;color:var(--muted);border-bottom:1px solid var(--line)}
[data-tables="plain"] .entry-content tbody tr:nth-child(2n),[data-tables="plain"] .entry-content tbody tr:hover{background:none}
/* responsive frame: wide tables scroll sideways instead of crushing columns */
.blg-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:22px 0;border:1px solid var(--line);border-radius:var(--radius);scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--accent) 40%,transparent) transparent}
.blg-table-wrap:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.blg-table-wrap::-webkit-scrollbar{height:9px}
.blg-table-wrap::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--accent) 38%,transparent);border-radius:999px}
.blg-table-wrap::-webkit-scrollbar-track{background:transparent}
.blg-table-wrap table{margin:0;min-width:var(--table-min,540px)}
.blg-table-wrap th:first-child,.blg-table-wrap td:first-child{padding-left:1rem}
.blg-table-wrap th:last-child,.blg-table-wrap td:last-child{padding-right:1rem}
figure{margin:26px 0}figcaption{font-family:var(--font-ui);font-size:13px;color:var(--faint);margin-top:8px}
.byline{display:flex;align-items:center;gap:14px;font-family:var(--font-ui);color:var(--muted);margin-bottom:8px}
.avatar{border-radius:50%;overflow:hidden;flex-shrink:0;display:block}
.byline .avatar img{width:44px;height:44px;border-radius:50%;display:block}
.byname{font-weight:600;color:var(--ink)}
.meta-dot{color:var(--line2)}
.level-badge{margin-left:auto;font-family:var(--font-ui);font-weight:700;font-size:12px;background:var(--accent-soft);
  color:var(--accent-d);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);padding:3px 12px;border-radius:30px}
.review-line{font-family:var(--font-ui);font-size:13px;color:var(--faint);margin:6px 0 0}
.review-line svg{width:15px;height:15px;vertical-align:-2px;color:var(--accent)}
.feat-figure{margin:22px 0 0}
.feat-figure .ff-media{display:block;aspect-ratio:var(--feat-ratio,16/9);border-radius:var(--radius);overflow:hidden;background:var(--ph,#d8d2c6)}
.feat-figure img,.feat-figure picture{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s,filter .3s}
.blg-quick{background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:16px;padding:20px 24px;margin:24px 0}
.blg-quick h4{font-family:var(--font-ui);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-d);margin:0 0 7px;display:flex;align-items:center;gap:7px}
.blg-quick h4 svg{width:16px;height:16px}
.blg-quick p{margin:0}
.blg-sources{font-family:var(--font-ui);font-size:14px;border-top:1px solid var(--line);margin-top:34px;padding-top:16px}
.blg-sources h4{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.blg-feedback{border:1px solid var(--line);border-radius:18px;padding:26px 24px;margin:34px 0;text-align:center;font-family:var(--font-ui);background:var(--surface)}
.blg-feedback .fb-q{margin:0 0 16px;font-family:var(--font-body);font-size:1.12rem;font-weight:600;color:var(--ink)}
.blg-feedback .opts{display:flex;gap:12px;justify-content:center}
.blg-feedback .fb-btn{display:inline-flex;align-items:center;gap:8px;font:inherit;font-weight:600;font-size:14px;border:none;padding:11px 22px;border-radius:999px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.blg-feedback .fb-btn svg{width:17px;height:17px}
.blg-feedback .fb-yes{background:var(--accent);color:var(--on-accent);box-shadow:0 10px 20px -10px color-mix(in srgb,var(--accent) 60%,transparent)}
.blg-feedback .fb-no{background:color-mix(in srgb,var(--ink) 7%,transparent);color:var(--ink)}
.blg-feedback .fb-btn:hover{transform:translateY(-2px)}
.blg-feedback .fb-yes:hover{box-shadow:0 15px 28px -12px color-mix(in srgb,var(--accent) 66%,transparent)}
.blg-feedback .fb-no:hover{background:color-mix(in srgb,var(--ink) 12%,transparent)}
.blg-feedback .fb-thanks{margin:4px 0;font-family:var(--font-body);font-size:1.1rem;font-weight:600;color:var(--accent)}
.blg-feedback .report{display:inline-block;margin-top:16px;font-size:13px;color:var(--faint);text-decoration:none;transition:color .15s ease}
.blg-feedback .report:hover{color:var(--accent)}
@media (prefers-reduced-motion:reduce){.blg-feedback .fb-btn:hover{transform:none}}
.author-box{display:flex;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px;margin:30px 0}
.author-box .avatar img{width:60px;height:60px}
.author-box .nm{font-family:var(--font-ui);font-weight:700;font-size:16px}
.author-box .role{font-family:var(--font-ui);font-size:13px;color:var(--accent);margin-bottom:6px}
.author-box .bio{font-size:.98rem;color:var(--muted);margin:0 0 8px}
.author-box .lnks{font-family:var(--font-ui);font-weight:600;font-size:13px;display:flex;gap:16px}
.post-nav{margin:36px 0}
.post-nav .nav-links{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.post-nav .nav-previous,.post-nav .nav-next{display:block}
.post-nav a{display:flex;align-items:center;gap:14px;height:100%;border:1px solid var(--line);border-radius:16px;padding:16px 18px;text-decoration:none;font-family:var(--font-ui);background:var(--surface);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.post-nav a:hover{transform:translateY(-2px);border-color:transparent;box-shadow:0 16px 36px -22px rgba(0,0,0,.34)}
.post-nav .pn-arrow{flex-shrink:0;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent);transition:transform .2s ease}
.post-nav .pn-arrow svg{width:18px;height:18px}
.post-nav .pn-text{min-width:0}
.post-nav .pn-cat{display:block;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--accent);font-weight:700}
.post-nav .pn-title{display:block;font-size:15px;color:var(--ink);line-height:1.32;margin-top:3px;font-weight:600}
.post-nav .nav-next a{flex-direction:row-reverse;text-align:right}
.post-nav .nav-previous a:hover .pn-arrow{transform:translateX(-3px)}
.post-nav .nav-next a:hover .pn-arrow{transform:translateX(3px)}
@media(max-width:560px){.post-nav .nav-links{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.post-nav a:hover{transform:none}.post-nav a:hover .pn-arrow{transform:none}}
.related{margin:36px 0}

/* ============================================================ TOC / SIDEBAR ============================================================ */
.sidebar{position:sticky;top:104px;font-family:var(--font-ui)}
.widget{margin-bottom:26px}
.widget-title{font-family:var(--font-ui);font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin:0 0 16px;font-weight:800;position:relative;padding-bottom:11px}
.widget-title::after{content:"";position:absolute;left:0;bottom:0;width:32px;height:3px;border-radius:99px;background:var(--accent)}
.widget ul{list-style:none;margin:0;padding:0}
.widget li{border-top:1px solid var(--line);padding:8px 0}
.widget li:first-child{border-top:none}
.widget a{color:var(--ink);text-decoration:none}.widget a:hover{color:var(--accent)}
.blg-toc ul{list-style:none;margin:0;padding:0;border-left:2px solid var(--line)}
.blg-toc a{display:block;font-size:13.5px;color:var(--muted);text-decoration:none;padding:6px 0 6px 14px;border-left:2px solid transparent;margin-left:-2px;line-height:1.35}
.blg-toc a:hover{color:var(--ink)}
.blg-toc a.is-active{color:var(--accent);border-left-color:var(--accent);font-weight:600}
.blg-toc .sub{padding-left:28px}
.blg-toc-sheet{position:fixed;inset:0;z-index:70;background:rgba(0,0,0,.45);display:none;align-items:flex-end}
.blg-toc-sheet.open{display:flex}
.blg-toc-sheet .panel{background:var(--bg);width:100%;border-radius:18px 18px 0 0;padding:22px 26px 30px;max-height:70vh;overflow:auto}
@media(max-width:920px){.content-grid{grid-template-columns:minmax(0,1fr)}.sidebar{position:static}}

/* search form */
.search-form{display:flex;border:2px solid var(--ink);border-radius:999px;overflow:hidden;background:var(--surface)}
.search-form input[type=search]{flex:1;border:none;background:none;padding:13px 20px;font-family:var(--font-ui);font-size:15px;color:var(--ink)}
.search-form input:focus{outline:none}
.search-form button{border:none;background:var(--accent);color:#fff;padding:0 18px;cursor:pointer;display:grid;place-items:center}
.search-form button svg{width:18px;height:18px}

/* ============================================================ FOOTER ============================================================ */
.site-footer{border-top:1px solid var(--line);background:var(--surface);font-family:var(--font-ui);margin-top:30px}
.footer-cols{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:30px;padding:46px 0 26px}
.footer-cols a{display:block;font-size:14px;color:var(--muted);text-decoration:none;padding:4px 0}
.footer-cols a:hover{color:var(--accent)}
.f-brand{font-family:var(--font-display);font-weight:800;font-size:21px}
.f-brand .b-accent{color:var(--accent)}
.f-note{color:var(--muted);font-size:14px}
.footer-bar{border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:16px 0;font-size:13px;color:var(--faint)}
.footer-bar a{color:var(--faint);text-decoration:none;margin-left:16px}.footer-bar a:hover{color:var(--accent)}
@media(max-width:780px){.footer-cols{grid-template-columns:1fr 1fr}}

/* floating controls */
.blg-fab{position:fixed;right:18px;bottom:18px;z-index:55;display:flex;flex-direction:column;gap:10px}
.blg-fab button{width:46px;height:46px;border-radius:50%;border:1px solid var(--line2);background:var(--surface);color:var(--accent);cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.16);display:none;align-items:center;justify-content:center}
.blg-fab button.show{display:flex}.blg-fab button svg{width:21px;height:21px}
#blg-toc-fab{display:none}
@media(max-width:920px){#blg-toc-fab.show{display:flex}}

/* comments */
.comments-area{max-width:var(--reading);margin-top:34px}
.comments-area h3{font-family:var(--font-display);font-weight:700;font-size:1.5rem;margin:0 0 16px}
.comment-list{list-style:none;margin:0;padding:0}
.comment-list li{border-top:1px solid var(--line);padding:16px 0}
.comment-list .children{list-style:none;padding-left:24px}
.comment-meta{font-family:var(--font-ui);font-size:13px;color:var(--faint);margin-bottom:6px}
.comment-author .fn{font-weight:700;color:var(--ink);font-style:normal}
.comment-form{display:grid;gap:12px;font-family:var(--font-ui)}
.comment-form input,.comment-form textarea{width:100%;font:inherit;padding:10px 12px;border:1.5px solid var(--line2);border-radius:10px;background:var(--surface);color:var(--ink)}
.comment-form .submit{background:var(--accent);color:#fff;border:none;padding:11px 24px;border-radius:30px;cursor:pointer;font-weight:700;width:max-content}
.comments-lazy{font-family:var(--font-ui);font-weight:600;font-size:14px;border:1.5px solid var(--line2);background:var(--surface);color:var(--ink);padding:13px 20px;border-radius:12px;cursor:pointer;width:100%}

/* pagination */
.pagination{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:36px 0;font-family:var(--font-ui)}
.pagination .page-numbers{border:1.5px solid var(--line2);border-radius:10px;padding:9px 14px;text-decoration:none;color:var(--ink);font-weight:600}
.pagination .current{background:var(--accent);color:#fff;border-color:var(--accent)}

.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%)}

/* ============================================================ IMAGE HOVER (data-imghover on <html>) ============================================================ */
.entry-content .blg-img{transition:transform .4s,box-shadow .3s,filter .3s}
[data-imghover="zoom"] .card:hover .ph img,[data-imghover="zoom"] .feat-figure:hover img{transform:scale(1.05)}
[data-imghover="zoom"] .entry-content .blg-img:hover{transform:scale(1.02)}
[data-imghover="lift"] .card:hover .ph img,[data-imghover="lift"] .feat-figure:hover img{transform:translateY(-3px)}
[data-imghover="lift"] .entry-content .blg-img:hover{box-shadow:0 22px 44px -22px rgba(0,0,0,.4)}
[data-imghover="bright"] .card:hover .ph img,[data-imghover="bright"] .feat-figure:hover img,[data-imghover="bright"] .entry-content .blg-img:hover{filter:brightness(1.07) saturate(1.06)}
[data-imghover="tilt"] .card:hover .ph img,[data-imghover="tilt"] .feat-figure:hover img,[data-imghover="tilt"] .entry-content .blg-img:hover{transform:rotate(-.8deg) scale(1.02)}
@media(prefers-reduced-motion:reduce){[data-imghover] .card:hover .ph img,[data-imghover] .feat-figure:hover img,[data-imghover] .entry-content .blg-img:hover{transform:none;filter:none}}
.entry-content .is-infographic{display:block;margin-inline:auto}

/* ============================================================ LIGHTBOX + DEEP-ZOOM ============================================================ */
.entry-content img[data-lightbox]{cursor:zoom-in}
.blg-lightbox{position:fixed;inset:0;z-index:200;background:rgba(10,8,6,.93);display:none;align-items:center;justify-content:center;
  backdrop-filter:blur(4px);overscroll-behavior:contain;animation:lbfade .2s ease}
@keyframes lbfade{from{opacity:0}to{opacity:1}}
.blg-lightbox.open{display:flex}
.blg-lb-stage{position:relative;max-width:96vw;max-height:92vh;overflow:hidden;display:flex;align-items:center;justify-content:center}
.blg-lb-stage img{max-width:96vw;max-height:92vh;object-fit:contain;border-radius:8px;user-select:none;-webkit-user-drag:none;
  transition:transform .12s ease-out;will-change:transform;touch-action:none}
.blg-lightbox.is-zoomable .blg-lb-stage img{cursor:zoom-in}
.blg-lightbox.zoomed .blg-lb-stage{overflow:visible;max-width:none;max-height:none}
.blg-lightbox.zoomed .blg-lb-stage img{cursor:grab}
.blg-lightbox.dragging .blg-lb-stage img{cursor:grabbing;transition:none}
.blg-lb-cap{position:fixed;bottom:16px;left:0;right:0;text-align:center;color:#f3eee5;font-family:var(--font-ui);font-size:14px;padding:0 24px;pointer-events:none}
.blg-lb-close,.blg-lb-zoom{position:fixed;top:16px;width:46px;height:46px;border-radius:50%;border:none;background:rgba(255,255,255,.13);
  color:#fff;cursor:pointer;display:grid;place-items:center;transition:background .2s}
.blg-lb-close:hover,.blg-lb-zoom:hover{background:rgba(255,255,255,.26)}
.blg-lb-close{right:16px}.blg-lb-zoom{right:72px;display:none}
.blg-lightbox.is-zoomable .blg-lb-zoom{display:grid}
.blg-lb-close svg,.blg-lb-zoom svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.blg-lb-hint{position:fixed;top:22px;left:20px;color:rgba(243,238,229,.65);font-family:var(--font-ui);font-size:12px;letter-spacing:.03em;pointer-events:none}

/* ============================================================ SHARE ROW ============================================================ */
.blg-share{display:flex;align-items:center;flex-wrap:wrap;gap:9px;max-width:var(--reading);margin:18px 0}
.blg-share-l{font-family:var(--font-ui);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-right:2px}
.blg-sbtn{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-ui);font-weight:600;font-size:13.5px;
  color:var(--ink);background:var(--surface);border:1.5px solid var(--line2);border-radius:var(--btn-radius,999px);padding:7px 14px;cursor:pointer;text-decoration:none;transition:.2s}
.blg-sbtn svg{width:16px;height:16px}
.blg-sbtn:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}
.blg-sbtn.copied{border-color:var(--c-vocab);color:var(--c-vocab)}
@media(max-width:560px){.blg-sbtn span{display:none}.blg-sbtn{padding:9px}}

/* ============================================================ HEADER CTA + LAYOUT TOGGLES ============================================================ */
.hd-cta{font-family:var(--font-ui);font-weight:700;font-size:14px;background:var(--accent);color:var(--on-accent);
  padding:9px 18px;border-radius:var(--btn-radius,999px);text-decoration:none;white-space:nowrap;transition:background .2s,transform .2s}
.hd-cta:hover{background:var(--accent-d);transform:translateY(-1px)}
.site-header.not-sticky{position:static}
.sidebar.not-sticky{position:static;top:auto}
.content-grid.sb-left{grid-template-columns:320px minmax(0,1fr)}
.content-grid.sb-left .sidebar{order:-1}
@media(max-width:920px){.content-grid.sb-left{grid-template-columns:minmax(0,1fr)}.content-grid.sb-left .sidebar{order:0}}

/* ============================================================ RESPONSIVE / OVERFLOW SAFETY ============================================================ */
body{overflow-x:hidden}
.entry-title,.hero h1,.card h3,.row-card h4,.entry-row h3,.shead h2,.entry-content{overflow-wrap:anywhere}
.entry-content a{word-break:break-word}
@media(max-width:600px){
  .icon-btn{width:42px;height:42px}
  .wrap{padding:0 18px}
  .content-grid{padding-top:18px}
  .breadcrumb{overflow-wrap:anywhere}
}

/* breadcrumbs */
.breadcrumb a{color:var(--muted);text-decoration:none}
.breadcrumb a:hover{color:var(--accent)}
.breadcrumb .bc-sep{color:var(--line2);margin:0 2px}
.breadcrumb [aria-current="page"]{color:var(--ink)}

/* lightbox download button */
.blg-lb-dl{position:fixed;top:16px;right:128px;width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.13);color:#fff;z-index:2;transition:background .2s}
.blg-lb-dl svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.blg-lb-dl:hover{background:rgba(255,255,255,.26)}
@media(max-width:560px){.blg-lb-dl{right:128px;width:42px;height:42px}}

/* ============================================================ PAGE PARITY: 404, empty state, search, pages, author ============================================================ */
/* 404 */
.err404{padding:84px 0 60px}
.err-code{font-family:var(--font-display);font-weight:800;font-size:clamp(4.5rem,17vw,12rem);line-height:.8;margin:0 0 -.06em;letter-spacing:-.04em;
  background:linear-gradient(110deg,var(--accent),var(--accent2,var(--c-grammar)));-webkit-background-clip:text;background-clip:text;color:transparent}
.err404 h1{font-family:var(--font-display);font-weight:800;font-size:clamp(1.9rem,4.5vw,3rem);line-height:1.04;margin:0 0 .35em}
.err404 .deck{font-size:1.18rem;color:var(--muted);max-width:48ch;margin:0 0 24px}
.err404 .hero-search{max-width:520px;margin-bottom:20px}

/* Empty / no-results state */
.empty-state{text-align:center;max-width:560px;margin:30px auto 50px;padding:40px 26px;
  background:var(--surface);border:1px solid var(--line);border-radius:20px}
.es-glyph{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--accent-soft);color:var(--accent);margin-bottom:14px}
.es-glyph svg{width:30px;height:30px}
.empty-state h2{font-family:var(--font-display);font-weight:800;font-size:1.7rem;margin:0 0 8px}
.empty-state p{color:var(--muted);margin:0 0 18px}
.empty-state .es-search{max-width:420px;margin:0 auto 18px}
.empty-state .chips{justify-content:center}

/* Search header highlight */
.archive-header .q-hl{color:var(--accent)}
.archive-header .eyebrow{margin:0 0 4px}

/* Static pages */
.page-article .entry-eyebrow{display:inline-block;margin-bottom:6px}
.page-article .entry-title{font-size:clamp(2rem,4.4vw,3rem);border-left:5px solid var(--accent);padding-left:18px}

/* Author archive header */
.author-archive{align-items:center;margin:18px 0 26px}
.author-archive .avatar img{width:84px;height:84px;border-radius:50%;display:block}
.author-archive .nm{font-family:var(--font-display);font-weight:800;font-size:1.5rem}
@media(max-width:560px){.err404{padding:60px 0 40px}.empty-state{padding:32px 18px}}

/* Electric: list-row + viewall colour-forward touches */
.entry-row:hover h3{color:var(--cc,var(--accent))}
.viewall:hover{background:var(--cc,var(--accent));border-color:var(--cc,var(--accent));color:#fff}
.pbadge.is-new{color:#1c140f;background:var(--hl)}

/* video embed facades */
.blg-embed{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;cursor:pointer;background:#0b0b0b center/cover no-repeat;margin:22px 0}
.blg-embed.blg-embed-plain{background:linear-gradient(135deg,#1c140f,#3a2a20)}
.blg-embed::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.18);transition:background .2s}
.blg-embed:hover::after{background:rgba(0,0,0,.06)}
.blg-embed-play{position:absolute;inset:0;margin:auto;width:74px;height:52px;display:grid;place-items:center;z-index:1;filter:drop-shadow(0 6px 16px rgba(0,0,0,.45));transition:transform .2s}
.blg-embed:hover .blg-embed-play{transform:scale(1.08)}
.blg-embed-plain .blg-embed-play{width:64px;height:64px;border-radius:50%;background:var(--accent);color:#fff}
.blg-embed-play svg{width:100%;height:100%}
.blg-embed-plain .blg-embed-play svg{width:30px;height:30px}
.blg-embed:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.blg-embed-frame{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ============================================================ DESIGN STYLES — switchable from the dashboard (base = Electric) ============================================================ */

/* Editorial Pop — warm paper, soft outlines, subtle highlight */
:root[data-design="editorialpop"]{--bg:#faf7f1;--ink:#16130f;--muted:#5f5a51;--faint:#928c80;--line:#e8e2d6;--line2:#d9d2c4}
[data-design="editorialpop"] .chip{background:transparent;color:var(--cc,var(--accent));border:1.5px solid color-mix(in srgb,var(--cc,var(--accent)) 40%,transparent);font-weight:600;border-radius:30px}
[data-design="editorialpop"] .chip:hover{filter:none;transform:translateY(-2px)}
[data-design="editorialpop"] .card{border-top:1px solid var(--line)}
[data-design="editorialpop"] .card:hover{border-color:transparent}
[data-design="editorialpop"] .mark{box-shadow:none;background:linear-gradient(transparent 60%,color-mix(in srgb,var(--accent) 26%,transparent) 60%)}
[data-design="editorialpop"] .search-form{border:1.5px solid var(--line2);border-radius:13px}

/* Midnight — dark canvas, glass cards */
:root[data-design="midnight"]{--bg:#0b0c11;--surface:#15171f;--ink:#eceaf3;--muted:#a9a4ba;--faint:#7c7790;--line:#23252e;--line2:#2e3038;--accent-soft:#241a14}
[data-design="midnight"] .site-header{background:color-mix(in srgb,var(--bg) 82%,transparent)}
[data-design="midnight"] .card{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.09)}
[data-design="midnight"] .hero-bg{opacity:.5}
[data-design="midnight"] .chip{color:#fff}
[data-design="midnight"] .bg-muted{background:rgba(255,255,255,.03)}
[data-design="midnight"] .search-form{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.16)}
[data-design="midnight"] .blg-quick{background:rgba(255,255,255,.04)}

/* Stark — high-contrast black & white, hard shadows */
:root[data-design="stark"]{--bg:#ffffff;--ink:#0a0a0a;--muted:#3a3a3a;--faint:#6a6a6a;--line:#0a0a0a;--line2:#0a0a0a;--radius:6px;--btn-radius:0}
[data-design="stark"] .card{border:2px solid #0a0a0a;border-top:2px solid #0a0a0a;box-shadow:6px 6px 0 #0a0a0a}
[data-design="stark"] .card:hover{transform:translate(-2px,-2px);box-shadow:9px 9px 0 var(--cc,var(--accent))}
[data-design="stark"] .chip{background:transparent;color:#0a0a0a;border:2px solid #0a0a0a;font-weight:700;border-radius:0}
[data-design="stark"] .chip:hover{background:#0a0a0a;color:#fff}
[data-design="stark"] .mark{box-shadow:none;background:var(--accent);color:#fff;padding:0 .08em}
[data-design="stark"] .search-form{border:2px solid #0a0a0a;border-radius:0}
[data-design="stark"] .cat,[data-design="stark"] .level-badge{border-radius:0}
[data-design="stark"] .entry-title,[data-design="stark"] .page-article .entry-title{border-left-color:#0a0a0a}

/* ============================================================ HERO LOOK — switchable from the Design tab ============================================================ */
.hero[data-style="solid"] .hero-bg,.hero[data-style="minimal"] .hero-bg{display:none}
.hero[data-style="solid"]{background:var(--accent-soft)}
.hero[data-height="compact"]{padding:44px 0 36px}
.hero[data-height="tall"]{padding:112px 0 84px}
.hero[data-align="center"]{text-align:center}
.hero[data-align="center"] h1{max-width:none}
.hero[data-align="center"] .deck{margin-left:auto;margin-right:auto}
.hero[data-align="center"] .hero-search{margin-left:auto;margin-right:auto}
.hero[data-align="center"] .chips{justify-content:center}
.hero[data-hl="marker"] .mark{box-shadow:inset 0 -.3em 0 var(--hl);background:none;color:inherit;padding:0}
.hero[data-hl="underline"] .mark{box-shadow:none;background:none;color:inherit;padding:0;border-bottom:.12em solid var(--accent)}
.hero[data-hl="gradient"] .mark{box-shadow:none;background:linear-gradient(100deg,var(--accent),var(--accent2,var(--c-grammar)));-webkit-background-clip:text;background-clip:text;color:transparent;padding:0}
.hero[data-hl="none"] .mark{box-shadow:none;background:none;color:inherit;padding:0}

/* ============================================================ HOMEPAGE SECTIONS — global look from the Design tab ============================================================ */
[data-sechead="underline"] .tagbar,[data-sechead="plain"] .tagbar,[data-sechead="centered"] .tagbar{display:none}
[data-sechead="underline"] .shead{border-bottom:2px solid var(--line);padding-bottom:12px;align-items:center}
[data-sechead="centered"] .shead{flex-direction:column;align-items:center;text-align:center;gap:10px}
[data-sechead="centered"] .shead h2{justify-content:center}
[data-viewall="text"] .viewall{border:none;padding:0;background:none}
[data-viewall="text"] .viewall:hover{background:none;border:none;color:var(--cc,var(--accent));text-decoration:underline}
[data-secdiv="line"] .home-section.bg-default + .home-section.bg-default{border-top:1px solid var(--line)}

/* ============================================================ SINGLE POST — look from the Design tab ============================================================ */
[data-ptitle="plain"] .single .entry-title{border-left:none;padding-left:0}
[data-ptitle="centered"] .single .entry-title{border-left:none;padding-left:0;text-align:center}
[data-ptitle="centered"] .single .entry-eyebrow{display:block;text-align:center}
[data-ptitle="centered"] .single .entry-deck{text-align:center;margin-left:auto;margin-right:auto}
[data-pimg="boxed"] .feat-figure .ff-media{border:1px solid var(--line);padding:8px;background:var(--surface)}
body.no-sidebar [data-pimg="fullbleed"] .feat-figure{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
body.no-sidebar [data-pimg="fullbleed"] .feat-figure .ff-media{border-radius:0}

/* ============================================================ ARCHIVE HEADER — look from the Design tab ============================================================ */
[data-archhead="tinted"] .archive-header{background:var(--accent-soft);border-radius:var(--radius);padding:26px 24px}
[data-archhead="band"] .archive-header{background:var(--accent);border-radius:var(--radius);padding:30px 26px}
[data-archhead="band"] .archive-header h1{color:var(--on-accent,#fff)}
[data-archhead="band"] .archive-header .desc{color:rgba(255,255,255,.85)}
[data-archalign="center"] .archive-header{text-align:center}

/* ============================================================ SIDEBAR WIDGETS — look from the Design tab ============================================================ */
[data-wtitle="bar"] .widget-title{display:flex;align-items:center;gap:8px;padding-bottom:0}
[data-wtitle="bar"] .widget-title::before{content:"";width:10px;height:14px;border-radius:4px;background:var(--accent);flex-shrink:0}
[data-wtitle="bar"] .widget-title::after,[data-wtitle="underline"] .widget-title::after{display:none}
[data-wtitle="underline"] .widget-title{border-bottom:2px solid var(--line);padding-bottom:9px}
[data-wbox="boxed"] .widget{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px}
[data-wbox="divided"] .widget{border-top:1px solid var(--line);padding-top:20px}
[data-wbox="divided"] .widget:first-child{border-top:none;padding-top:0}

/* ============================================================ FOOTER STYLE — from the Design tab ============================================================ */
.site-footer[data-style="dark"]{background:#14161c;color:#e7e4ef;border-top-color:#23252e}
.site-footer[data-style="dark"] .footer-cols a,.site-footer[data-style="dark"] .f-note{color:#a9a4ba}
.site-footer[data-style="dark"] .footer-cols a:hover{color:#fff}
.site-footer[data-style="dark"] .footer-bar{border-top-color:#23252e;color:#8a8496}
.site-footer[data-style="dark"] .footer-bar a{color:#a9a4ba}
.site-footer[data-style="dark"] .footer-bar a:hover{color:#fff}
.site-footer[data-style="accent"]{background:var(--footer-accent,var(--accent));color:#fff;border-top-color:transparent}
.site-footer[data-style="accent"] .footer-cols a,.site-footer[data-style="accent"] .f-note,.site-footer[data-style="accent"] .footer-bar,.site-footer[data-style="accent"] .footer-bar a{color:rgba(255,255,255,.85)}
.site-footer[data-style="accent"] .footer-cols a:hover,.site-footer[data-style="accent"] .footer-bar a:hover{color:#fff}
.site-footer[data-style="accent"] .f-brand,.site-footer[data-style="accent"] .f-brand .b-accent{color:#fff}
.site-footer[data-style="accent"] .footer-bar{border-top-color:rgba(255,255,255,.22)}

/* ============================================================ FIX 1.2.1 — dropdown sub-menus + content media containment ============================================================ */
/* Header dropdown sub-menus (menus with child items) */
.main-nav li{position:relative}
.main-nav .menu-item-has-children>a::after{content:"";width:6px;height:6px;border:1.6px solid currentColor;border-top:0;border-left:0;transform:rotate(45deg) translateY(-1px);opacity:.5;transition:transform .25s ease,opacity .2s ease,border-color .2s ease}
.main-nav .menu-item-has-children:hover>a::after,.main-nav .menu-item-has-children:focus-within>a::after{transform:rotate(-135deg) translateY(1px);opacity:1;border-color:var(--accent)}
.main-nav .sub-menu{display:flex;position:absolute;top:100%;left:0;min-width:222px;flex-direction:column;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:8px;box-shadow:0 18px 48px -22px rgba(0,0,0,.5);z-index:60;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s ease,transform .22s ease,visibility .2s;pointer-events:none}
.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.main-nav .sub-menu li{width:100%}
.main-nav .sub-menu a{display:block;padding:8px 12px;border-radius:9px;white-space:nowrap;color:var(--ink)}
.main-nav .sub-menu a:hover{background:var(--accent-soft);color:var(--accent)}

/* Content media never overflows the reading column */
.entry-content picture{display:block;max-width:100%}
.entry-content img,.entry-content picture img{max-width:100%;height:auto}
.entry-content figure{max-width:100%;margin-left:0;margin-right:0}
.entry-content iframe,.entry-content video,.entry-content embed{max-width:100%}

/* Mobile: sub-menus stack inside the open panel, no floating dropdown */
@media(max-width:860px){
  .main-nav .sub-menu{position:static;display:flex;border:none;box-shadow:none;background:transparent;padding:0 0 0 16px;min-width:0;opacity:1;visibility:visible;transform:none;pointer-events:auto}
  .main-nav .menu-item-has-children>a::after{display:none}
}

/* ============================================================
   SINGLE POST — 1.3 editorial redesign
   Typography-forward, generous space, restrained motion.
   ============================================================ */

/* Header: more air, a larger and more confident title */
.single .entry-eyebrow{display:inline-block;margin:0 0 14px;letter-spacing:.14em}
.single .entry-title{font-size:clamp(2.4rem,5.4vw,3.9rem);line-height:1.04;letter-spacing:-.035em;margin:.08em 0 .42em}
.single .entry-deck{font-size:1.42rem;line-height:1.5;max-width:46ch;color:var(--muted);margin:0 0 26px}
.single .byline{margin:0 0 30px}
.single .feat-figure{margin:4px 0 38px}
.single .feat-figure .ff-media{box-shadow:0 26px 64px -36px rgba(0,0,0,.45)}
.feat-figure figcaption{margin-top:12px;text-align:center;font-family:var(--font-ui);font-size:13px;color:var(--faint);line-height:1.5}

/* Reading column: comfortable measure and rhythm */
.single .entry-content{font-size:1.12rem;line-height:1.78}
.single .entry-content > p{margin:0 0 1.4em}
.single .entry-content h2{font-size:clamp(1.65rem,3.2vw,2.1rem);line-height:1.16;margin:2em 0 .5em}
.single .entry-content h3{font-size:1.42rem;margin:1.55em 0 .35em}

/* In-content links: an underline that brightens and thickens on hover.
   Always visible (accessible), animates only the weight and colour. */
.entry-content a{color:var(--ink);text-decoration:none;box-shadow:inset 0 -1px 0 color-mix(in srgb,var(--accent) 45%,transparent);transition:box-shadow .25s ease,color .2s ease}
.entry-content a:hover,.entry-content a:focus-visible{box-shadow:inset 0 -2px 0 var(--accent);color:var(--accent)}

/* Content images: soft depth, gentle zoom, captioned */
.entry-content figure{margin:1.9em 0}
.entry-content img{border-radius:14px;box-shadow:0 20px 48px -30px rgba(0,0,0,.42)}
.entry-content figure img{transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.entry-content figure:hover img{transform:scale(1.02)}
.entry-content figcaption{font-family:var(--font-ui);font-size:13px;color:var(--faint);text-align:center;margin-top:11px}

/* Blockquote: a quiet editorial pull, accent rule on the left */
.single .entry-content blockquote{border-left:3px solid var(--accent);padding:2px 0 2px 26px;margin:1.8em 0;font-size:1.5rem;line-height:1.32;font-style:normal;color:var(--ink)}

/* Author card lifts a touch on hover */
.author-box{transition:border-color .25s ease,box-shadow .3s ease,transform .3s ease}
.author-box:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));box-shadow:0 22px 54px -36px rgba(0,0,0,.4);transform:translateY(-2px)}

/* Optional flourishes, driven from the dashboard */
[data-lead="on"] .single .entry-content > p:first-of-type{font-size:1.34rem;line-height:1.62;color:var(--ink)}
[data-dropcap="on"] .single .entry-content > p:first-of-type::first-letter{float:left;font-family:var(--font-display);font-weight:800;font-size:3.6em;line-height:.74;padding:8px 14px 0 0;color:var(--accent)}
[data-clink="plain"] .entry-content a{box-shadow:none}
[data-clink="plain"] .entry-content a:hover,[data-clink="plain"] .entry-content a:focus-visible{box-shadow:inset 0 -2px 0 var(--accent)}
[data-clink="solid"] .entry-content a{box-shadow:inset 0 -2px 0 var(--accent);color:var(--accent)}

@media (prefers-reduced-motion:reduce){.entry-content figure:hover img{transform:none}}

/* ============================================================
   SOFT MODERN UI — 1.3.2
   Filled buttons with depth, colour share circles, dot accent.
   Moves the look away from flat newsprint toward warm and modern.
   ============================================================ */

/* Primary buttons sit raised off the page: filled, rounded, soft shadow */
.viewall{color:var(--on-accent);background:var(--cc,var(--accent));border-color:transparent;box-shadow:0 10px 22px -10px color-mix(in srgb,var(--cc,var(--accent)) 65%,transparent)}
.viewall:hover{color:var(--on-accent);background:var(--cc,var(--accent));border-color:transparent;transform:translateY(-2px);box-shadow:0 16px 30px -12px color-mix(in srgb,var(--cc,var(--accent)) 72%,transparent)}
.hd-cta{box-shadow:0 10px 22px -10px color-mix(in srgb,var(--accent) 65%,transparent)}
.hd-cta:hover{transform:translateY(-2px);box-shadow:0 16px 30px -12px color-mix(in srgb,var(--accent) 72%,transparent)}

/* Share row: solid brand-colour circles, icon only, with real depth */
.blg-share{gap:11px}
.blg-sbtn{width:44px;height:44px;padding:0;justify-content:center;border:none;border-radius:50%;color:#fff;background:var(--ink);box-shadow:0 8px 18px -8px rgba(0,0,0,.45);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.blg-sbtn span{display:none}
.blg-sbtn svg{width:18px;height:18px}
.blg-sbtn:hover{color:#fff;transform:translateY(-3px);box-shadow:0 15px 26px -10px rgba(0,0,0,.5);filter:brightness(1.06)}
.blg-sbtn--facebook{background:#1877f2}
.blg-sbtn--x{background:#16181c}
.blg-sbtn--whatsapp{background:#25d366}
.blg-sbtn--linkedin{background:#0a66c2}
.blg-sbtn--email{background:var(--accent)}
.blg-sbtn.s-copy{background:var(--surface);color:var(--ink);border:1.5px solid var(--line2);box-shadow:none}
.blg-sbtn.s-copy:hover{color:var(--accent);border-color:var(--accent)}
.blg-sbtn.copied{background:var(--c-vocab);color:#fff;border-color:transparent}
@media(max-width:560px){.blg-sbtn{width:42px;height:42px}}

/* The signature full-stop accent after section headings */
.shead h2::after{content:".";color:var(--accent)}

/* Author card: softer, rounder, with a filled primary action */
.author-box{border-radius:20px;box-shadow:0 14px 38px -28px rgba(0,0,0,.38)}
.author-box .lnks{align-items:center;gap:18px}
.author-box .lnks a:first-child{display:inline-flex;align-items:center;padding:9px 18px;border-radius:999px;background:var(--accent);color:var(--on-accent);box-shadow:0 10px 20px -10px color-mix(in srgb,var(--accent) 65%,transparent);transition:transform .2s ease,box-shadow .2s ease}
.author-box .lnks a:first-child:hover{transform:translateY(-2px);box-shadow:0 15px 26px -12px color-mix(in srgb,var(--accent) 72%,transparent)}

@media (prefers-reduced-motion:reduce){.viewall:hover,.hd-cta:hover,.blg-sbtn:hover,.author-box .lnks a:first-child:hover{transform:none}}

/* ============================================================
   1.3.5 — modern search, byline & author profile
   ============================================================ */

/* Search: drop the hard outline for a light field with a soft shadow */
.search-form{border:1px solid color-mix(in srgb,var(--ink) 8%,transparent);box-shadow:0 6px 18px -10px rgba(0,0,0,.16)}
.search-form:focus-within{border-color:color-mix(in srgb,var(--accent) 50%,transparent);box-shadow:0 0 0 3px var(--accent-soft),0 8px 20px -10px rgba(0,0,0,.18)}
.search-form input[type=search]{padding:14px 20px}

/* Byline: lose the boxed rules, give the avatar a soft ring */
/* 1.3.20 — modern byline: clean avatar, stacked name/role, tidy meta */
.byline{padding:0}
.byline .avatar{overflow:visible;border-radius:50%;box-shadow:0 0 0 1px var(--line),0 6px 16px -10px rgba(0,0,0,.28)}
.byline .avatar img{width:48px;height:48px}
.by-main{display:flex;flex-direction:column;gap:4px;min-width:0}
.by-top{display:flex;align-items:center;gap:9px;flex-wrap:wrap;line-height:1.15}
.byname{font-weight:700;font-size:15px}
.byname a{color:var(--ink);text-decoration:none;transition:color .18s ease}
.byname a:hover{color:var(--accent)}
.byrole{font-size:12px;font-weight:600;color:var(--accent);background:var(--accent-soft);padding:2px 10px;border-radius:999px;white-space:nowrap}
.by-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--faint)}
.by-meta .meta-dot{color:var(--line2)}
.by-meta .level-badge{margin-left:4px}

/* Author profile: titled, airy, ringed avatar, no hard frame */
.author-box{display:block;border:none;padding:26px 28px}
.author-box .ab-head{font-family:var(--font-display);font-weight:800;font-size:1.18rem;margin:0 0 16px}
.author-box .ab-head::after{content:".";color:var(--accent)}
.author-box .ab-row{display:flex;gap:18px;align-items:flex-start}
.author-box .avatar{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}
.author-box .avatar img{width:64px;height:64px}
.author-box .nm{font-size:1.06rem;margin-bottom:2px}
.author-box .nm .role{font-weight:500;color:var(--muted);font-size:.92rem}
.author-box .nm .role::before{content:"·  ";color:var(--faint)}
.author-box .bio{margin:6px 0 14px}
@media(max-width:560px){.author-box .ab-row{flex-direction:column;gap:14px}}

/* ============================================================
   1.3.6 — modern sidebar lists (categories, archives, pages)
   Rounded rows, soft accent hover, dot marker, no hard dividers.
   ============================================================ */
.widget li{border-top:none;padding:0;margin:1px 0}
.widget li a{display:flex;align-items:flex-start;gap:11px;padding:10px 12px;border-radius:12px;font-weight:500;font-size:.95rem;line-height:1.3;transition:background .18s ease,color .18s ease,padding .18s ease}
.widget li a::before{content:"";width:7px;height:7px;margin-top:6px;border-radius:50%;background:color-mix(in srgb,var(--accent) 32%,var(--line2));flex-shrink:0;transition:background .18s ease,transform .18s ease}
.widget li a:hover{background:var(--accent-soft);color:var(--accent);padding-left:16px}
.widget li a:hover::before{background:var(--accent);transform:scale(1.35)}
.widget li.current-cat>a,.widget li.current_page_item>a,.widget li.current-menu-item>a{background:var(--accent-soft);color:var(--accent)}
.widget li.current-cat>a::before,.widget li.current_page_item>a::before,.widget li.current-menu-item>a::before{background:var(--accent)}

/* ============================================================
   1.3.7 — modern breadcrumbs (chevron, colour, mobile readable)
   ============================================================ */
.breadcrumb{font-size:13.5px;color:var(--muted);padding:22px 0 8px;line-height:1.75}
.breadcrumb a{color:var(--muted);text-decoration:none;transition:color .15s ease}
.breadcrumb a:hover{color:var(--accent)}
.breadcrumb [aria-current="page"],.breadcrumb .breadcrumb_last,.breadcrumb strong{color:var(--ink);font-weight:600}
.breadcrumb .bc-sep{color:color-mix(in srgb,var(--accent) 60%,var(--line2));margin:0 8px;font-weight:600}
@media(max-width:600px){.breadcrumb{font-size:13px;line-height:1.85;padding:16px 0 6px}.breadcrumb .bc-sep{margin:0 6px}}

/* ============================================================
   1.3.8 — minimal header shadow (toggle: blogineer_header_shadow)
   ============================================================ */
.blg-hdr-shadow .site-header{box-shadow:0 2px 10px -7px rgba(0,0,0,.10)}

/* ============================================================
   1.3.11 — dashboard-driven component style options
   ============================================================ */

/* Prev/next — "minimal" style (no frame, just text + arrow) */
.post-nav.pn-minimal a{border:none;background:none;padding:10px 0;border-radius:0}
.post-nav.pn-minimal a:hover{transform:none;box-shadow:none}
.post-nav.pn-minimal .pn-arrow{background:none;width:auto;height:auto;color:var(--accent)}
.post-nav.pn-minimal .pn-arrow svg{width:20px;height:20px}
.post-nav.pn-minimal a:hover .pn-cat,.post-nav.pn-minimal a:hover .pn-title{color:var(--accent)}

/* Sidebar list — "plain" style (classic list, no rows) */
[data-wlist="plain"] .widget li{border-top:1px solid var(--line);padding:8px 0;margin:0}
[data-wlist="plain"] .widget li:first-child{border-top:none}
[data-wlist="plain"] .widget li a{display:inline;padding:0;border-radius:0;font-weight:400;background:none;line-height:inherit}
[data-wlist="plain"] .widget li a::before{display:none}
[data-wlist="plain"] .widget li a:hover{background:none;padding-left:0;color:var(--accent)}
[data-wlist="plain"] .widget li.current-cat>a,[data-wlist="plain"] .widget li.current_page_item>a,[data-wlist="plain"] .widget li.current-menu-item>a{background:none;color:var(--accent)}

/* ============================================================
   1.3.14 — category eyebrow chip: colour var + style presets
   ============================================================ */
.entry-eyebrow{display:inline-flex;align-items:center;gap:7px;padding:7px 15px;border-radius:999px;background:color-mix(in srgb,var(--eyebrow,var(--accent)) 15%,transparent);color:var(--eyebrow,var(--accent));font-size:11.5px;letter-spacing:.1em;border:1.5px solid transparent;box-shadow:0 6px 16px -10px color-mix(in srgb,var(--eyebrow,var(--accent)) 55%,transparent);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.entry-eyebrow:hover{transform:translateY(-1px);box-shadow:0 10px 22px -10px color-mix(in srgb,var(--eyebrow,var(--accent)) 62%,transparent)}
.single .entry-eyebrow{display:inline-flex;margin:0 0 16px;letter-spacing:.1em}
[data-ptitle="centered"] .single .entry-eyebrow{display:flex;width:fit-content;margin-left:auto;margin-right:auto}
/* solid fill */
[data-eyebrow="solid"] .entry-eyebrow{background:var(--eyebrow,var(--accent));color:#fff;box-shadow:0 9px 20px -9px color-mix(in srgb,var(--eyebrow,var(--accent)) 60%,transparent)}
[data-eyebrow="solid"] .entry-eyebrow:hover{box-shadow:0 13px 26px -10px color-mix(in srgb,var(--eyebrow,var(--accent)) 66%,transparent)}
/* outline */
[data-eyebrow="outline"] .entry-eyebrow{background:transparent;color:var(--eyebrow,var(--accent));border-color:color-mix(in srgb,var(--eyebrow,var(--accent)) 45%,transparent);box-shadow:none}
[data-eyebrow="outline"] .entry-eyebrow:hover{box-shadow:0 8px 18px -12px color-mix(in srgb,var(--eyebrow,var(--accent)) 50%,transparent)}
/* plain text, no chip */
[data-eyebrow="minimal"] .entry-eyebrow{background:none;padding:0;border:none;border-radius:0;box-shadow:none;color:var(--eyebrow,var(--accent))}
[data-eyebrow="minimal"] .entry-eyebrow:hover{transform:none;box-shadow:none}
@media (prefers-reduced-motion:reduce){.entry-eyebrow:hover{transform:none}}

/* 1.3.16 — header: respect reduced-motion for the new transitions */
@media (prefers-reduced-motion:reduce){
  .icon-btn:hover{transform:none}
  #blg-theme-toggle:hover svg{transform:none}
  .main-nav .sub-menu{transition:none}
  .main-nav>ul>li>a::before{transition:none}
  .main-nav .menu-item-has-children>a::after{transition:opacity .01s}
}

/* ============================================================
   1.3.17 — category cluster widget
   ============================================================ */
.blg-cluster{list-style:none;margin:0;padding:0}
.blg-cluster li{border-top:none;padding:0;margin:1px 0}
.blg-cluster li a{display:flex;align-items:flex-start;gap:11px;padding:9px 12px;border-radius:12px;color:var(--ink);text-decoration:none;font-weight:500;font-size:.95rem;line-height:1.3;transition:background .18s ease,color .18s ease,padding .18s ease}
.blg-cluster li a::before{display:none}
.blg-cluster li a:hover{background:var(--accent-soft);color:var(--accent);padding-left:15px}
.blg-cluster li.is-current>a{background:var(--accent-soft);color:var(--accent)}
.blg-cluster .cl-body{display:flex;flex-direction:column;gap:2px;min-width:0}
.blg-cluster .cl-meta{font-family:var(--font-ui);font-size:11.5px;color:var(--faint);font-weight:400}
.blg-cluster li a:hover .cl-meta{color:color-mix(in srgb,var(--accent) 70%,var(--muted))}
/* default dot marker (no number, no thumb) */
.blg-cluster:not(.is-numbered):not(.has-thumb) li a::before{content:"";display:block;width:7px;height:7px;margin-top:7px;border-radius:50%;background:color-mix(in srgb,var(--accent) 32%,var(--line2));flex-shrink:0;transition:background .18s ease,transform .18s ease}
.blg-cluster:not(.is-numbered):not(.has-thumb) li a:hover::before{background:var(--accent);transform:scale(1.35)}
.blg-cluster:not(.is-numbered):not(.has-thumb) li.is-current>a::before{background:var(--accent)}
/* numbered rank chip */
.blg-cluster .cl-rank{flex-shrink:0;width:22px;height:22px;border-radius:7px;display:grid;place-items:center;font-family:var(--font-ui);font-size:12px;font-weight:700;color:var(--accent);background:var(--accent-soft);margin-top:1px;transition:background .18s ease,color .18s ease}
.blg-cluster.is-numbered li a:hover .cl-rank,.blg-cluster.is-numbered li.is-current .cl-rank{background:var(--accent);color:#fff}
/* thumbnail */
.blg-cluster .cl-thumb{flex-shrink:0;width:52px;height:52px;border-radius:10px;overflow:hidden;background:color-mix(in srgb,var(--accent) 8%,var(--surface))}
.blg-cluster .cl-thumb img{width:100%;height:100%;object-fit:cover;display:block}
/* count badge beside the heading */
.widget-cluster .cluster-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:700;vertical-align:middle;margin-left:7px}
/* view-all link */
.cluster-viewall{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:8px 15px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-family:var(--font-ui);font-size:13px;font-weight:600;text-decoration:none;transition:background .18s ease,transform .18s ease,box-shadow .2s ease}
.cluster-viewall::after{content:"→";font-weight:700;transition:transform .18s ease}
.cluster-viewall:hover{background:var(--accent);color:#fff;transform:translateY(-1px);box-shadow:0 8px 18px -10px color-mix(in srgb,var(--accent) 55%,transparent)}
.cluster-viewall:hover::after{transform:translateX(3px)}
@media (prefers-reduced-motion:reduce){.cluster-viewall:hover{transform:none}.cluster-viewall:hover::after{transform:none}}

/* ============================================================
   1.3.18 — sidebar "cards" list: dot · label · chevron tiles
   (scoped out of the cluster widget so it keeps its own layout)
   ============================================================ */
[data-wlist="cards"] .widget > ul:not(.blg-cluster){display:flex;flex-direction:column;gap:8px;margin:0;padding:0}
[data-wlist="cards"] .widget > ul:not(.blg-cluster) li{border:none;padding:0;margin:0}
[data-wlist="cards"] .widget > ul:not(.blg-cluster) li a{display:flex;align-items:center;gap:11px;padding:12px 14px;border-radius:14px;background:var(--surface);border:1px solid var(--line);color:var(--ink);text-decoration:none;font-weight:500;line-height:1.3;box-shadow:0 1px 2px rgba(0,0,0,.03);transition:transform .18s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease,color .18s ease}
[data-wlist="cards"] .widget > ul:not(.blg-cluster) li a::before{content:"";width:8px;height:8px;border-radius:50%;flex-shrink:0;background:color-mix(in srgb,var(--accent) 55%,var(--line2));transition:transform .18s ease,background .18s ease}
[data-wlist="cards"] .widget > ul:not(.blg-cluster) li a::after{content:"";width:7px;height:7px;margin-left:auto;flex-shrink:0;border:2px solid var(--faint);border-left:0;border-bottom:0;transform:rotate(45deg);transition:transform .2s ease,border-color .2s ease}
[data-wlist="cards"] .widget > ul:not(.blg-cluster) li a:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:color-mix(in srgb,var(--accent) 5%,var(--surface));box-shadow:0 10px 22px -14px color-mix(in srgb,var(--accent) 50%,transparent)}
[data-wlist="cards"] .widget > ul:not(.blg-cluster) li a:hover::before{background:var(--accent);transform:scale(1.25)}
[data-wlist="cards"] .widget > ul:not(.blg-cluster) li a:hover::after{border-color:var(--accent);transform:rotate(45deg) translate(1px,-1px)}
/* current category / page */
[data-wlist="cards"] .widget > ul:not(.blg-cluster) li.current-cat>a,[data-wlist="cards"] .widget > ul:not(.blg-cluster) li.current_page_item>a,[data-wlist="cards"] .widget > ul:not(.blg-cluster) li.current-menu-item>a{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:var(--accent-soft);color:var(--accent)}
[data-wlist="cards"] .widget > ul:not(.blg-cluster) li.current-cat>a::before,[data-wlist="cards"] .widget > ul:not(.blg-cluster) li.current_page_item>a::before,[data-wlist="cards"] .widget > ul:not(.blg-cluster) li.current-menu-item>a::before{background:var(--accent)}
[data-wlist="cards"] .widget > ul:not(.blg-cluster) li.current-cat>a::after,[data-wlist="cards"] .widget > ul:not(.blg-cluster) li.current_page_item>a::after,[data-wlist="cards"] .widget > ul:not(.blg-cluster) li.current-menu-item>a::after{border-color:var(--accent)}
/* nested subcategories: indent the child stack */
[data-wlist="cards"] .widget > ul:not(.blg-cluster) .children{display:flex;flex-direction:column;gap:8px;margin-top:8px;margin-left:14px}
@media (prefers-reduced-motion:reduce){[data-wlist="cards"] .widget > ul:not(.blg-cluster) li a:hover{transform:none}[data-wlist="cards"] .widget > ul:not(.blg-cluster) li a:hover::after{transform:rotate(45deg)}}

/* 1.3.19 — archive description when placed below the posts */
.content-main > .desc-bottom{margin-top:28px;padding-top:22px;border-top:1px solid var(--line);color:var(--muted);font-size:1.02rem;line-height:1.7}

/* ============================================================
   1.3.22 — single-post section separation
   ============================================================ */
/* default = "divider": short accent mark at the article end */
.post-divider{width:64px;height:4px;margin:50px 0;border:0;border-radius:99px;background:color-mix(in srgb,var(--accent) 55%,var(--line));max-width:var(--reading)}
[data-ptitle="centered"] .single .post-divider{margin-left:auto;margin-right:auto}
/* clearer rhythm + hairline tops on the unboxed lower sections */
.single .related{border-top:1px solid var(--line);padding-top:36px;margin:48px 0 36px}
.single .comments-area{border-top:1px solid var(--line);padding-top:36px;margin-top:48px}
.single .blg-feedback{margin:42px 0}
.single .author-box{margin:42px 0}
.single .post-nav{margin:42px 0}
/* "lines": a plain full-width rule instead of the accent mark */
[data-sep="lines"] .post-divider{width:100%;height:1px;border-radius:0;background:var(--line);margin:46px 0}
/* "flow": airy whitespace, no rules */
[data-sep="flow"] .post-divider{display:none}
[data-sep="flow"] .single .related,[data-sep="flow"] .single .comments-area{border-top:none;padding-top:0;margin-top:64px}
[data-sep="flow"] .single .blg-feedback,[data-sep="flow"] .single .author-box,[data-sep="flow"] .single .post-nav{margin:58px 0}

/* ============================================================
   1.3.24 — verified author badge + crisp circular avatar
   ============================================================ */
.byline .avatar{position:relative;border-radius:50%;width:48px;height:48px;flex-shrink:0}
.byline .avatar img{width:48px;height:48px;border-radius:50%!important;object-fit:cover;display:block}
.by-verified{position:absolute;right:-3px;bottom:-3px;width:19px;height:19px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;box-shadow:0 0 0 2.5px var(--surface),0 4px 10px -4px color-mix(in srgb,var(--accent) 60%,transparent)}
.by-verified svg{width:11px;height:11px}

/* 1.3.27 — cluster heading leads the list */
.widget-cluster .widget-title{font-size:14px;letter-spacing:.09em}
.widget-cluster .widget-title::after{width:38px;height:3px}

/* 1.3.28 — mobile: title sized after the desktop rule so it wins */
@media(max-width:600px){
  .single .entry-title{font-size:clamp(1.7rem,6.6vw,2.3rem);padding-left:14px;border-left-width:4px}
  .page-article .entry-title{font-size:clamp(1.6rem,6vw,2.1rem)}
  .shead h2{font-size:1.4rem}
}
