/* =============================================================================
   VirtualBytes — 2026 skin (2.20.0)
   Loaded after the inlined critical CSS, so equal-specificity !important rules
   here win. Disable: Customizer → VirtualBytes Look, or add_filter('vb_skin','__return_false').
============================================================================= */

/* Palette — neutral greys taken from the VB mark; one blue accent */
:root{--wide-w:1200px;--bg:#0e0f11;--bg2:#16181b;--bg3:#16181b;--bg4:#1f2226;--border:#26292e;--border2:#33363c;--text1:#ececee;--text2:#a3a6ad;--text3:#8a8e96;--text4:#7f838b;--ac3:#6ea1ff;--ac-soft:rgba(110,161,255,.14);--ac-text:#8fb6ff;--blue-hl:#6ea1ff;--code-bg:#16181b;--scrim-rgb:14,15,17}
:root[data-theme="light"]{--bg:#ffffff;--bg2:#f6f6f7;--bg3:#f6f6f7;--bg4:#ececee;--border:#e4e4e7;--border2:#d4d4d8;--text1:#18181b;--text2:#4b4b53;--text3:#5f5f68;--text4:#6b6b73;--ac3:#1f5fd6;--ac-soft:rgba(31,95,214,.10);--ac-text:#1f5fd6;--blue-hl:#1f5fd6;--code-bg:#f6f6f7}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]){--bg:#ffffff;--bg2:#f6f6f7;--bg3:#f6f6f7;--bg4:#ececee;--border:#e4e4e7;--border2:#d4d4d8;--text1:#18181b;--text2:#4b4b53;--text3:#5f5f68;--text4:#6b6b73;--ac3:#1f5fd6;--ac-soft:rgba(31,95,214,.10);--ac-text:#1f5fd6;--blue-hl:#1f5fd6;--code-bg:#f6f6f7}}

/* ── Header ─────────────────────────────────────────────────────────────── */
.site-header{background:var(--bg)!important;height:64px!important;border-bottom:1px solid var(--border)!important;box-shadow:none!important}
.site-header .container{max-width:var(--wide-w)!important;gap:40px!important;justify-content:flex-start!important}
.site-branding{gap:12px!important}
.site-logo-icon{background:var(--bg4)!important;border-color:var(--border)!important}
.site-logo-icon.is-mark{background:none!important;border:0!important}
.site-logo-icon.is-mark,.site-logo-icon.is-mark img{width:32px!important;height:32px!important;max-width:32px!important;max-height:32px!important;border-radius:8px}
.site-name{font-size:18px!important;font-weight:600!important;letter-spacing:-.01em!important;color:var(--text1)!important}
.site-name span{color:var(--text3)!important}
.site-tagline{display:none!important}
.main-navigation{justify-content:flex-start!important;align-self:stretch;gap:10px}
.main-navigation>ul{margin-right:auto!important;gap:28px!important;align-self:stretch;align-items:stretch!important}
.main-navigation>ul>li{display:flex;align-items:stretch}
.main-navigation ul li a{display:flex!important;align-items:center;font-family:var(--ff)!important;font-size:14px!important;letter-spacing:0!important;color:var(--text2)!important;padding:0!important;border-radius:0!important;background:none!important;border-bottom:2px solid transparent;margin-bottom:-1px}
.main-navigation ul li a:hover{color:var(--text1)!important;background:none!important}
.main-navigation ul li.current-menu-item>a,.main-navigation ul li.current_page_item>a,.main-navigation ul li.current-menu-ancestor>a{color:var(--text1)!important;background:none!important;border-bottom-color:var(--blue-hl)}
.main-navigation ul .sub-menu,.main-navigation ul ul{background:var(--bg2)!important;border:1px solid var(--border)!important;box-shadow:var(--shadow-md)!important}
.main-navigation .sub-menu a,.main-navigation ul ul a{color:var(--text2)!important;padding:8px 12px!important;border:0!important;margin:0}
.main-navigation .sub-menu a:hover,.main-navigation ul ul a:hover{background:var(--bg4)!important;color:var(--text1)!important}
.nav-tools-btn{font-family:var(--ff)!important;font-size:14px!important;color:var(--text2)!important;border:1px solid var(--border)!important;height:38px;padding:0 12px!important;border-radius:8px!important;margin-left:0!important;box-sizing:border-box}
.nav-tools-btn:hover{color:var(--text1)!important;background:var(--bg4)!important;border-color:var(--border2)!important}
.nav-theme-toggle,.nav-search-toggle{width:38px!important;height:38px!important;border:1px solid var(--border)!important;border-radius:8px!important;color:var(--text2)!important;background:none!important}
.nav-theme-toggle:hover,.nav-search-toggle:hover{background:var(--bg4)!important;color:var(--text1)!important}
.nav-theme-toggle:focus-visible,.nav-search-toggle:focus-visible{outline:2px solid var(--blue-hl)!important;outline-offset:2px}
.menu-toggle{color:var(--text1)!important}

/* ── Ticker — kept, restyled to the neutral chrome ─────────────────────── */
.site-ticker{background:var(--bg2)!important;border-bottom:1px solid var(--border)!important}
.ticker-label{background:var(--bg)!important;color:var(--text3)!important;border-right:1px solid var(--border)!important}
.ticker-item{color:var(--text2)!important;border-right-color:var(--border)!important}
.ticker-item:hover{color:var(--text1)!important}
.ticker-pill.new{background:var(--ac-soft)!important;color:var(--blue-hl)!important;border-color:transparent!important}
.ticker-pill.updated{background:var(--green-s)!important;color:var(--green)!important;border-color:transparent!important}
.ticker-pill.recent{background:var(--bg4)!important;color:var(--text3)!important;border-color:transparent!important}

/* ── Featured hero: text left, art right, no card ───────────────────────── */
.vb-featured-hero{max-width:var(--wide-w)!important;margin:0 auto!important;padding:56px 24px 48px!important}
.vb-featured-card{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:56px;align-items:center;min-height:0!important;background:none!important;border:0!important;border-radius:0!important;overflow:visible!important;box-shadow:none!important;transform:none!important;isolation:auto!important;text-decoration:none}
.vb-featured-card:not(:has(.vb-featured-media)){grid-template-columns:minmax(0,1fr)}
.vb-featured-card::before,.vb-featured-card::after{display:none!important}
.vb-featured-body{position:static!important;inset:auto!important;padding:0!important;gap:20px!important}
.vb-featured-eyebrow{font-size:12px!important;letter-spacing:.08em;text-transform:uppercase;color:var(--text3)!important;gap:8px!important}
.vb-featured-eyebrow>*+*::before{content:"·";margin-right:8px}
.vb-featured-pill{background:none!important;border:0!important;padding:0!important;border-radius:0!important;color:var(--text3)!important;font-weight:400!important}
.vb-featured-cat,.vb-featured-date{color:var(--text3)!important;font-weight:400!important}
.vb-featured-title{font-size:clamp(30px,4vw,46px)!important;line-height:1.06!important;font-weight:700!important;letter-spacing:-.025em!important;color:var(--text1)!important;text-shadow:none!important;text-wrap:balance;max-width:none!important}
.vb-featured-card:hover .vb-featured-title{color:var(--text1)!important}
.vb-featured-excerpt{font-size:17px!important;line-height:1.6!important;color:var(--text2)!important;-webkit-line-clamp:3!important;max-width:52ch!important}
.vb-featured-meta{display:flex!important;flex-wrap:wrap;gap:8px}
.vb-featured-meta .vb-skill-badge,.vb-featured-chip{font-family:var(--ff)!important;font-size:13px!important;font-weight:400!important;text-transform:none!important;letter-spacing:0!important;padding:4px 10px!important;border:1px solid var(--border2)!important;border-radius:999px!important;background:none!important;color:var(--text2)!important}
.vb-featured-cta{font-family:var(--ff)!important;font-size:15px!important;font-weight:600!important;text-transform:none!important;letter-spacing:0!important;color:var(--blue-hl)!important;margin-top:0!important}
.vb-featured-cta svg{display:none}
.vb-featured-cta::after{content:"→"}
.vb-featured-media{display:block!important;aspect-ratio:1200/630;border-radius:12px;overflow:hidden;border:1px solid var(--border);background:var(--bg2);transition:border-color .15s}
.vb-featured-card:hover .vb-featured-media{border-color:var(--border2)}
.vb-featured-media img{width:100%;height:100%;object-fit:cover;display:block}

/* ── Category row: left-aligned to the content column, quiet chips ─────── */
.masthead-cats{justify-content:flex-start!important;gap:4px!important;padding:0 max(24px,calc((100% - var(--wide-w))/2 + 24px)) 20px!important;border-top:0!important;border-bottom:1px solid var(--border)!important;background:none!important}
.masthead-cats a,.masthead-cat-pill{font-family:var(--ff)!important;font-size:14px!important;letter-spacing:0!important;padding:7px 14px!important;border:1px solid transparent!important;border-radius:8px!important;background:none!important;color:var(--text2)!important}
.masthead-cats a:hover,.masthead-cat-pill:hover,.masthead-cat-pill.is-active{background:var(--bg4)!important;color:var(--text1)!important;border-color:var(--border2)!important}

/* ── Layout: no sidebar, 3-up grid ──────────────────────────────────────── */
.vb-skin-nosidebar .site-layout{grid-template-columns:minmax(0,1fr)!important;max-width:var(--wide-w)!important;padding:32px 24px 64px!important}
.vb-skin-nosidebar .site-layout>.sidebar{display:none!important}
.vb-skin-nosidebar .posts-grid,.vb-skin-nosidebar .main-content .posts-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important;padding:0!important;max-width:none!important}

/* ── Layout with sidebar (default): 2-up grid + 300px rail ───────────── */
.vb-skin:not(.vb-skin-nosidebar) .site-layout{max-width:var(--wide-w)!important;grid-template-columns:minmax(0,1fr) 300px!important;gap:32px!important;padding:32px 24px 64px!important}
.vb-skin:not(.vb-skin-nosidebar) .posts-grid,.vb-skin:not(.vb-skin-nosidebar) .main-content .posts-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important;padding:0!important;max-width:none!important}
.sidebar{gap:20px!important;position:sticky;top:88px}
.sidebar .widget,.widget-tools-cta{background:var(--bg2)!important;border:1px solid var(--border)!important;border-radius:12px!important;box-shadow:none!important}
.sidebar .widget-title,.widget-cert .widget-title{background:none!important;color:var(--text3)!important;font-family:var(--fm)!important;font-size:12px!important;font-weight:400!important;letter-spacing:.08em!important;border-bottom:1px solid var(--border)!important;padding:14px 16px!important}
.widget-tools-cta p{color:var(--text2)!important;font-size:14px!important;line-height:1.55!important;padding:0 16px!important}
.widget-tools-btn{background:var(--ac)!important;color:#fff!important;border:0!important;border-radius:8px!important;font-family:var(--ff)!important;font-size:14px!important;font-weight:600!important;margin:0 16px 16px!important}
.widget-tools-btn:hover{background:var(--ac2)!important}
.sidebar .widget ul li a{color:var(--text2)!important;font-size:14px}
.sidebar .widget ul li a:hover{color:var(--text1)!important}
.widget-cert-body img{border-radius:6px}

/* ── Post cards ─────────────────────────────────────────────────────────── */
.post-card{background:var(--bg2)!important;border:1px solid var(--border)!important;border-radius:12px!important;box-shadow:none!important}
.post-card:hover{transform:none!important;box-shadow:none!important;border-color:var(--border2)!important}
.post-card::before,.post-card::after{display:none!important}
.post-card-thumb,.post-card-thumb-placeholder{height:auto!important;aspect-ratio:1200/630;background:var(--bg3)!important}
.post-card-thumb img{object-position:center!important}
.post-card:hover .post-card-thumb img{transform:none!important}
.post-card-body{padding:18px 20px 20px!important}
.post-card-meta{gap:12px!important;margin-bottom:10px!important}
.post-cat{background:none!important;border:0!important;padding:0!important;border-radius:0!important;font-size:12px!important;font-weight:500!important;letter-spacing:.06em!important;color:var(--blue-hl)!important}
.post-card-meta .vb-skill-badge{background:none!important;border:0!important;padding:0!important;font-size:12px!important;font-weight:500!important;color:var(--text3)!important}
.post-card-meta .post-date{font-size:12px!important;letter-spacing:.04em;text-transform:uppercase;color:var(--text3)!important}
.post-card-title{font-family:var(--fd)!important;font-size:19px!important;line-height:1.3!important;font-weight:600!important;margin:0 0 8px!important}
.post-card-title a:hover{color:var(--blue-hl)!important}
.post-card-excerpt{font-size:14px!important;line-height:1.55!important;color:var(--text2)!important;-webkit-line-clamp:2!important;margin:0 0 14px!important}
.post-card-footer{background:none!important;border:0!important;padding:0!important;margin-top:auto!important}
.post-read-time{font-family:var(--ff)!important;font-size:13px!important;color:var(--text3)!important}
.read-more-btn{display:none!important}

/* ── Certifications strip (replaces the sidebar widget) ────────────────── */
.vb-cert-strip{border-top:1px solid var(--border);background:var(--bg)}
.vb-cert-strip-inner{max-width:var(--wide-w);margin:0 auto;padding:28px 24px;display:flex;align-items:center;gap:16px 28px;flex-wrap:wrap}
.vb-cert-strip-title{font-family:var(--fm);font-size:12px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--text3);margin:0}
.vb-cert-strip-items{display:flex;flex-wrap:wrap;align-items:center;gap:12px;flex:1;min-width:0}
.vb-cert-strip-items .widget{background:none!important;border:0!important;border-radius:0!important;overflow:visible!important;margin:0!important}
.vb-cert-strip-items .widget-title{display:none!important}
.vb-cert-strip-items .widget-body{padding:0!important;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.vb-cert-strip-items figure,.vb-cert-strip-items p{margin:0!important}
.vb-cert-strip-items img{height:72px!important;width:auto!important;max-width:none!important;max-height:72px!important;margin:0!important;border-radius:6px;border:1px solid var(--border)}

/* ── Footer ─────────────────────────────────────────────────────────────── */
.site-footer{background:var(--bg)!important;border-top:1px solid var(--border)!important}
.footer-inner{max-width:var(--wide-w)!important}
.footer-bottom{justify-content:flex-start!important;gap:12px 20px!important;padding:28px 0!important}
.footer-mark{display:block!important;width:24px;height:24px;border-radius:6px}
.footer-copy,.footer-copy-link{font-family:var(--ff)!important;font-size:14px!important;color:var(--text2)!important}
.footer-copy a{color:var(--text1)!important}
.footer-copy-link:hover{color:var(--text1)!important}
.footer-copy-links{margin-left:auto;display:flex;align-items:center;gap:20px}
.footer-copy-sep{display:none!important}

/* ── Responsive ─────────────────────────────────────────────────────────── */
.vb-featured-chip,.vb-featured-meta .vb-skill-badge{white-space:nowrap}
@media (max-width:1180px){
  .site-header .container{gap:24px!important}
  .main-navigation>ul{gap:18px!important}
  .main-navigation ul li a{font-size:13px!important}
}
@media (max-width:1024px){
  .vb-skin-nosidebar .posts-grid,.vb-skin-nosidebar .main-content .posts-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:1024px){
  .vb-skin:not(.vb-skin-nosidebar) .site-layout{grid-template-columns:minmax(0,1fr) 260px!important;gap:24px!important}
  .vb-skin:not(.vb-skin-nosidebar) .posts-grid,.vb-skin:not(.vb-skin-nosidebar) .main-content .posts-grid{grid-template-columns:minmax(0,1fr)!important}
}
@media (max-width:900px){
  .vb-skin:not(.vb-skin-nosidebar) .site-layout{grid-template-columns:minmax(0,1fr)!important}
  .sidebar{position:static}
  .vb-featured-card{grid-template-columns:minmax(0,1fr)!important;gap:24px}
  .vb-featured-media{order:-1}
  .vb-featured-hero{padding:32px 16px!important}
}
@media (max-width:768px){
  .site-header,.site-header .container{height:60px!important;min-height:60px!important}
  .site-header .container{gap:10px!important}
  .main-navigation{top:60px!important;background:var(--bg)!important;border-top:1px solid var(--border)!important;border-bottom:1px solid var(--border)!important;box-shadow:var(--shadow-lg)!important;flex-direction:column;align-items:stretch!important;padding:8px 0!important}
  .main-navigation>ul{gap:0!important;margin:0!important}
  .main-navigation>ul>li{display:block}
  .main-navigation ul li a{font-size:16px!important;color:var(--text1)!important;padding:14px 20px!important;border-bottom:1px solid var(--border)!important;border-left:3px solid transparent;margin:0}
  .main-navigation ul li.current-menu-item>a,.main-navigation ul li.current_page_item>a{border-left-color:var(--blue-hl);border-bottom-color:var(--border)!important}
  .main-navigation ul li a:hover{background:var(--bg2)!important}
  .main-navigation .nav-theme-toggle,.main-navigation .nav-search-toggle{margin:12px 0 4px 20px}
  .masthead-cats{padding:0 16px 14px!important}
  .vb-skin-nosidebar .site-layout{padding:24px 16px 48px!important}
  .vb-skin-nosidebar .posts-grid,.vb-skin-nosidebar .main-content .posts-grid{grid-template-columns:minmax(0,1fr)!important;gap:16px!important}
  .footer-copy-links{margin-left:0}
}

/* =============================================================================
   2.21.0 — Page heroes: editorial, no blue banner
   Page background + a faint accent glow, left-aligned to the header column.
   (Data Center with a featured photo keeps its photo treatment.)
============================================================================= */
.page-hero,.page-post-hero,.archive-hero,.about-hero,.dc-hero:not(:has(.dc-hero-photo)){background:radial-gradient(900px 380px at 0% 0%,var(--ac-soft),transparent 70%),var(--bg)!important;border-bottom:1px solid var(--border)!important;box-shadow:none!important;position:relative;overflow:hidden;text-align:left!important}
.page-hero::before,.page-hero::after,.page-post-hero::before,.page-post-hero::after,.archive-hero::before,.archive-hero::after,.about-hero::before,.about-hero::after,.dc-hero::before,.dc-hero::after{display:none!important}
.page-hero,.page-post-hero,.archive-hero{padding:56px 0 44px!important}
.page-hero-inner{max-width:var(--wide-w)!important;margin:0 auto!important;padding:0 24px!important;box-sizing:border-box;text-align:left!important}
.page-hero-title,.archive-title{color:var(--text1)!important;font-size:clamp(30px,4vw,44px)!important;font-weight:700!important;letter-spacing:-.025em!important;text-wrap:balance}
.page-hero-excerpt,.archive-description,.archive-description p{color:var(--text2)!important;font-size:17px!important;margin:0!important;max-width:60ch!important}
.archive-eyebrow,.archive-count,.page-hero .breadcrumbs,.page-hero .vb-breadcrumbs{color:var(--text3)!important}
.page-hero a,.archive-hero a{color:var(--blue-hl)!important}

/* About */
.about-hero{padding:56px 0 48px!important}
.about-hero-inner{max-width:var(--wide-w)!important;padding:0 24px!important;box-sizing:border-box;grid-template-columns:168px 1fr!important;gap:40px!important;align-items:center!important}
.about-photo{width:160px!important;height:160px!important;border:1px solid var(--border2)!important;background:var(--bg2)!important}
.about-eyebrow{font-family:var(--fm)!important;font-size:12px!important;color:var(--text3)!important;letter-spacing:.08em!important}
.about-name{color:var(--text1)!important;font-size:clamp(32px,4vw,46px)!important;font-weight:700!important;letter-spacing:-.025em!important;margin-bottom:12px!important}
.about-tagline{color:var(--text2)!important;font-size:17px!important;margin-bottom:24px!important}
.about-tagline span{color:var(--text3)!important}
.about-stat-num{color:var(--text1)!important;font-size:24px!important}
.about-stat-lbl{color:var(--text3)!important;font-size:11px!important}
.about-stat-sep{background:var(--border2)!important}
.about-skills{gap:6px!important}
.about-skill-tag,.about-skill-tag.blue,.about-skill-tag.green,.about-skill-tag.amber,.about-skill-tag.muted{background:none!important;border:1px solid var(--border2)!important;color:var(--text2)!important;font-size:12px!important;padding:4px 10px!important;border-radius:999px!important}
.about-domains{background:var(--bg)!important;border-bottom:1px solid var(--border)!important}
.about-domains-inner,.about-body{max-width:var(--wide-w)!important;box-sizing:border-box}
.about-domains-inner{padding:0 24px!important;margin:0 auto!important}
.about-domain-title{font-size:15px!important}
.about-domain-items{font-size:14px!important;color:var(--text2)!important}
.about-body{padding:40px 24px 80px!important}
.about-entry img{max-width:280px!important;height:auto!important;border-radius:10px!important}
.about-tools-cta{background:var(--bg2)!important;border:1px solid var(--border)!important}
.about-sidebar-hdr,.about-section-hdr{font-family:var(--fm)!important;font-weight:400!important;letter-spacing:.08em!important;background:none!important}
.about-sidebar-card{border-radius:12px!important;border-color:var(--border)!important}

/* Home Data Center */
.dc-hero:not(:has(.dc-hero-photo)){padding:56px 0 48px!important;min-height:0!important}
.dc-hero:not(:has(.dc-hero-photo)) .dc-hero-inner{max-width:var(--wide-w)!important;margin:0 auto!important;padding:0 24px!important;box-sizing:border-box;display:grid!important;grid-template-columns:minmax(0,1fr) 200px;gap:48px;align-items:center;min-height:0!important}
.dc-hero:not(:has(.dc-hero-photo)) .dc-eyebrow{font-family:var(--fm)!important;font-size:12px!important;color:var(--text3)!important;letter-spacing:.08em!important}
.dc-hero:not(:has(.dc-hero-photo)) .dc-hero-title{color:var(--text1)!important;font-size:clamp(32px,4.4vw,52px)!important;font-weight:700!important;letter-spacing:-.025em!important}
.dc-hero:not(:has(.dc-hero-photo)) .dc-hero-sub{color:var(--text2)!important;font-size:17px!important;max-width:58ch!important}
.dc-tag,.dc-tag.blue,.dc-tag.green,.dc-tag.purple,.dc-tag.amber,.dc-tag.muted{background:none!important;border:1px solid var(--border2)!important;color:var(--text2)!important;font-size:12px!important;padding:4px 10px!important;border-radius:999px!important}
.dc-hero-rack{color:var(--border2);width:200px!important;max-width:200px!important}
.dc-hero-rack svg{width:100%!important;height:auto!important}
.dc-rack-legend{display:grid!important;grid-template-columns:1fr 1fr;gap:6px 14px!important;margin-top:14px}
.dc-rack-legend span{font-size:12px!important;color:var(--text2)!important}
.dc-stats-strip{background:var(--bg)!important;border-bottom:1px solid var(--border)!important;padding:20px 24px!important}
.dc-stat-num,.dc-stat-num.green,.dc-stat-num.blue,.dc-stat-num.purple,.dc-stat-num.amber{color:var(--text1)!important}
.dc-stat-lbl{color:var(--text3)!important;font-size:11px!important}
.dc-stat-sep{background:var(--border)!important}
.dc-spec-grid{align-items:start!important;max-width:var(--wide-w)!important}
.dc-spec-card{border-radius:12px!important;border-color:var(--border)!important;background:var(--bg2)!important}
.dc-sk{color:var(--text3)!important;font-size:11px!important}
.dc-sv{color:var(--text1)!important}

@media (max-width:800px){
  .about-hero-inner{grid-template-columns:1fr!important;text-align:left!important}
  .about-photo-wrap{align-items:flex-start!important}
  .about-photo{width:112px!important;height:112px!important}
  .about-stats,.about-skills{justify-content:flex-start!important}
  .dc-hero:not(:has(.dc-hero-photo)) .dc-hero-inner{grid-template-columns:1fr!important}
  .dc-hero-rack{display:none!important}
  .page-hero,.page-post-hero,.archive-hero,.about-hero,.dc-hero:not(:has(.dc-hero-photo)){padding:36px 0 32px!important}
}
.dc-spec-sub{color:var(--text3)!important}
.dc-entry .dc-intro{font-size:18px!important;line-height:1.6!important;color:var(--text1)!important;font-style:normal!important}
.dc-entry h2{font-family:var(--fd)!important;font-size:24px!important;font-weight:600!important;margin:2em 0 .6em!important}
.dc-entry p,.dc-entry li{font-size:16px!important;line-height:1.7!important;font-style:normal!important}
.dc-gallery-grid,.dc-gallery-hdr,.dc-gallery-empty{max-width:var(--wide-w)!important}
.vb-featured-chip.is-verified{color:var(--green)!important;border-color:color-mix(in srgb,var(--green) 40%,transparent)!important;background:var(--green-s)!important}
.vb-featured-chip.is-updated{color:var(--text1)!important}

/* 2.21.4 — certifications list */
.widget-cert-body:has(.vb-cert-list){display:block!important;padding:6px 0!important}
.vb-cert-list{list-style:none;margin:0;padding:0}
.vb-cert-list li{margin:0;border:0!important}
.vb-cert-row{display:flex!important;align-items:center;gap:12px;padding:10px 16px!important;text-decoration:none!important;color:inherit!important;border-bottom:1px solid var(--border)!important;transition:background .15s}
.vb-cert-list li:last-child .vb-cert-row{border-bottom:0!important}
a.vb-cert-row:hover{background:var(--bg4)}
.vb-cert-thumb{flex:0 0 52px;width:52px;height:52px;border-radius:8px;background:#fff;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;overflow:hidden}
.vb-cert-thumb img{width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;border:0!important;border-radius:0!important;margin:0!important}
.vb-cert-row.is-unlabelled .vb-cert-thumb{flex-basis:100%;width:100%;height:auto;aspect-ratio:auto;background:none;border:0}
.vb-cert-row.is-unlabelled .vb-cert-thumb img{height:auto!important;max-height:160px!important}
.vb-cert-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.vb-cert-name{font-size:14px;font-weight:600;color:var(--text1);line-height:1.3}
.vb-cert-sub{font-size:13px;color:var(--text2);line-height:1.35}
.vb-cert-hint{margin:8px 16px 10px!important;padding:8px 10px;font-size:12px;line-height:1.5;color:var(--text2);border:1px dashed var(--border2);border-radius:8px}

/* 2.21.5 — badges fill the card: 2-up tiles, wide badges span both, labelled rows full width */
.vb-cert-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}
.vb-cert-list li.is-row,.vb-cert-list li.is-wide{grid-column:1/-1}
.vb-cert-list li.is-row .vb-cert-row{border:1px solid var(--border)!important;border-radius:10px;padding:8px 10px!important}
.vb-cert-list li.is-tile .vb-cert-row{display:block!important;padding:0!important;border:0!important;border-radius:8px;overflow:hidden}
.vb-cert-list li.is-tile .vb-cert-thumb{width:100%;height:auto;flex:none;background:none;border:0;border-radius:8px}
.vb-cert-list li.is-tile .vb-cert-thumb img{width:100%!important;height:auto!important;max-height:none!important;display:block}
.vb-cert-list li.is-tile a.vb-cert-row:hover{background:none;outline:2px solid var(--border2);outline-offset:2px}
.widget-cert-body:has(.vb-cert-list){padding:0!important}
.vb-cert-hint{margin:0 12px 12px!important}

/* 2.21.6 — beat .widget ul (flex, gap:0) so badges get real spacing; one per row, each framed */
.widget .widget-cert-body ul.vb-cert-list{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important;padding:14px!important;margin:0!important}
.widget .vb-cert-list li.is-tile .vb-cert-row{background:var(--bg)!important;border:1px solid var(--border)!important;border-radius:10px!important;padding:10px!important}
.widget .vb-cert-list li.is-tile .vb-cert-thumb img{border-radius:6px!important;max-width:240px!important;margin:0 auto!important}
.widget .vb-cert-list li.is-wide .vb-cert-thumb img{max-width:none!important}
.widget .vb-cert-list li a{border-bottom:0!important}

/* 2.21.7 — larger badge thumbnails in labelled rows */
.widget .vb-cert-list li.is-row .vb-cert-row{gap:14px!important;padding:10px 12px!important}
.widget .vb-cert-list li.is-row .vb-cert-thumb{flex:0 0 84px!important;width:84px!important;height:84px!important;border-radius:8px!important;padding:3px;box-sizing:border-box}
.widget .vb-cert-list li.is-row.is-wide .vb-cert-thumb{flex-basis:112px!important;width:112px!important;height:64px!important}
.widget .vb-cert-list li.is-row .vb-cert-thumb img{object-fit:contain!important}
.widget .widget-cert-body ul.vb-cert-list{gap:10px!important}

/* 2.21.8 — badges stacked: large image on top, label below */
.widget .vb-cert-list li.is-row .vb-cert-row{flex-direction:column!important;align-items:center!important;text-align:center;gap:10px!important;padding:14px 12px 12px!important}
.widget .vb-cert-list li.is-row .vb-cert-thumb{flex:none!important;width:100%!important;max-width:168px!important;height:auto!important;aspect-ratio:1;padding:0!important;background:none!important;border:0!important}
.widget .vb-cert-list li.is-row.is-wide .vb-cert-thumb{max-width:none!important;aspect-ratio:auto}
.widget .vb-cert-list li.is-row .vb-cert-thumb img{width:100%!important;height:100%!important;border-radius:6px!important}
.widget .vb-cert-list li.is-row.is-wide .vb-cert-thumb img{height:auto!important}
.widget .vb-cert-list li.is-row .vb-cert-text{align-items:center}
.widget .vb-cert-list li.is-row .vb-cert-name{font-size:14px}

/* 2.21.9 — card chips: skill · read time · verified/updated (same bubbles as the featured hero) */
.post-card-meta .vb-skill-badge{display:none!important}
.post-card-footer .post-read-time{display:none!important}
.post-card-chips{display:flex;flex-wrap:wrap;gap:6px}
.post-card-chips .vb-skill-badge,.vb-chip{display:inline-flex;align-items:center;font-family:var(--ff)!important;font-size:12px!important;font-weight:400!important;text-transform:none!important;letter-spacing:0!important;line-height:1.2;padding:4px 10px!important;border:1px solid var(--border2)!important;border-radius:999px!important;background:none!important;color:var(--text2)!important;white-space:nowrap}
.vb-chip.is-verified{color:var(--green)!important;border-color:color-mix(in srgb,var(--green) 40%,transparent)!important;background:var(--green-s)!important}
.vb-chip.is-updated{color:var(--text1)!important}

/* 2.21.10 — badges size to their own shape (no square box), so wide banners like vExpert fill the width */
.widget .vb-cert-list li.is-row .vb-cert-thumb{aspect-ratio:auto!important;max-width:none!important;width:100%!important;height:auto!important;display:flex;justify-content:center}
.widget .vb-cert-list li.is-row .vb-cert-thumb img{width:auto!important;max-width:100%!important;height:auto!important;max-height:180px!important}

/* 2.21.11 — fill the card width; tall badges cap at 180px and letterbox via contain */
.widget .vb-cert-list li.is-row .vb-cert-thumb img{width:100%!important;max-width:100%!important;height:auto!important;max-height:180px!important;object-fit:contain!important}

/* 2.21.12 — the 2.21.7 .is-wide rule (112×64px) out-ranked the full-width rules; beat it explicitly */
.widget .vb-cert-list li.is-row.is-wide .vb-cert-thumb,.widget .vb-cert-list li.is-row .vb-cert-thumb{flex:none!important;flex-basis:auto!important;width:100%!important;height:auto!important;max-width:none!important;aspect-ratio:auto!important}
.widget .vb-cert-list li.is-row.is-wide .vb-cert-thumb img{width:100%!important;height:auto!important;max-height:none!important}
