/*
Theme Name: Celebrimous
Theme URI: https://celebrimous.com
Author: Celebrimous
Author URI: https://celebrimous.com
Description: A lightweight, glass-forward editorial theme for celebrity & showbiz news. Fully responsive, AdSense-ready, and 100% editable from the Customizer and post meta boxes — no page builder or extra plugins required. Built for Core Web Vitals: fast LCP/FCP, zero layout shift.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: celebrimous
Tags: news, blog, magazine, entertainment, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, right-sidebar, full-width-template
*/

/* ==========================================================================
   CELEBRIMOUS — SPOTLIGHT EDITORIAL
   1.  Fonts (self-hosted, swap, CLS-safe fallbacks)
   2.  Design tokens
   3.  Reset & base
   4.  Typography
   5.  Layout primitives
   6.  Ambient background
   7.  Header (desktop bar + mobile floating shell)
   8.  Buttons, links, forms
   9.  Eyebrows, section heads, dividers
   10. Cards & post listings (boxless)
   11. Hero / featured
   12. Single post & pages
   13. Sidebar & widgets
   14. Ads (reserved space, no CLS)
   15. Pagination, comments, 404, search
   16. Footer
   17. Utilities, a11y, reduced motion
   ========================================================================== */

/* 1. FONTS ----------------------------------------------------------------- */
@font-face{
  font-family:"Fraunces";font-style:normal;font-weight:600;font-display:swap;
  src:url("assets/fonts/fraunces-600.woff2") format("woff2");
}
@font-face{
  font-family:"Fraunces";font-style:normal;font-weight:400;font-display:swap;
  src:url("assets/fonts/fraunces-400.woff2") format("woff2");
}
@font-face{
  font-family:"Fraunces";font-style:italic;font-weight:400;font-display:swap;
  src:url("assets/fonts/fraunces-400-italic.woff2") format("woff2");
}
@font-face{
  font-family:"Hanken Grotesk";font-style:normal;font-weight:400;font-display:swap;
  src:url("assets/fonts/hanken-400.woff2") format("woff2");
}
@font-face{
  font-family:"Hanken Grotesk";font-style:normal;font-weight:500;font-display:swap;
  src:url("assets/fonts/hanken-500.woff2") format("woff2");
}
@font-face{
  font-family:"Hanken Grotesk";font-style:normal;font-weight:600;font-display:swap;
  src:url("assets/fonts/hanken-600.woff2") format("woff2");
}
@font-face{
  font-family:"Hanken Grotesk";font-style:normal;font-weight:700;font-display:swap;
  src:url("assets/fonts/hanken-700.woff2") format("woff2");
}
/* CLS-safe fallbacks: matched metrics so swap doesn't reflow */
@font-face{
  font-family:"Hanken Fallback";src:local("Arial");
  ascent-override:96%;descent-override:25%;line-gap-override:0%;size-adjust:101%;
}
@font-face{
  font-family:"Fraunces Fallback";src:local("Georgia");
  ascent-override:92%;descent-override:24%;line-gap-override:0%;size-adjust:104%;
}

/* 2. DESIGN TOKENS --------------------------------------------------------- */
:root{
  /* Ink + surfaces */
  --ink:#16131C;
  --ink-soft:#4A4554;
  --ink-faint:#7C7689;
  --canvas:#F6F2F4;
  --paper:#FFFFFF;
  --glass:rgba(255,255,255,.62);
  --glass-strong:rgba(255,255,255,.80);
  --line:rgba(22,19,28,.12);
  --line-soft:rgba(22,19,28,.07);

  /* Brand (overridable from Customizer) */
  --accent:#C81D6B;
  --accent-deep:#97134F;
  --gold:#B8893B;
  --violet:#5B2A86;

  /* Ambient bloom colors */
  --bloom-rose:#FBE4EC;
  --bloom-violet:#EAE4FB;
  --bloom-champ:#FBF1E0;

  /* Type */
  --font-display:"Fraunces","Fraunces Fallback",Georgia,"Times New Roman",serif;
  --font-body:"Hanken Grotesk","Hanken Fallback",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;

  /* Fluid type scale */
  --fs-xs:.76rem;
  --fs-sm:.875rem;
  --fs-base:1.0625rem;
  --fs-lead:clamp(1.12rem,1.6vw,1.28rem);
  --fs-h3:clamp(1.25rem,2.4vw,1.55rem);
  --fs-h2:clamp(1.55rem,3.4vw,2.2rem);
  --fs-h1:clamp(1.95rem,4.4vw,2.9rem);
  --fs-hero:clamp(2.1rem,5.6vw,4rem);

  /* Spacing */
  --s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s5:1.5rem;
  --s6:2rem;--s7:3rem;--s8:4rem;--s9:6rem;

  /* Radii — barely there, never boxy */
  --r:4px;--r-lg:6px;--r-pill:8px;

  /* Containers */
  --container:1220px;
  --read:740px;

  /* Shadows */
  --shadow-1:0 1px 2px rgba(22,19,28,.04),0 10px 30px rgba(22,19,28,.07);
  --shadow-glass:0 8px 34px rgba(22,19,28,.10);

  /* Motion */
  --ease:cubic-bezier(.22,.61,.36,1);
  --dur:.34s;

  /* Header height (used for sticky offsets / anchor scroll) */
  --header-h:64px;
}

/* 3. RESET & BASE ---------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box;}
*{margin:0;}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px);}
body{
  font-family:var(--font-body);
  font-size:var(--fs-base);
  line-height:1.7;
  color:var(--ink);
  background:var(--canvas);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
  min-height:100vh;
}
img,picture,svg,video{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
button,input,select,textarea{font:inherit;color:inherit;}
ul[class],ol[class]{list-style:none;padding:0;}
:focus-visible{outline:2.5px solid var(--accent);outline-offset:3px;border-radius:2px;}

/* 4. TYPOGRAPHY ------------------------------------------------------------ */
h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.12;letter-spacing:-.01em;color:var(--ink);}
h1{font-size:var(--fs-h1);}
h2{font-size:var(--fs-h2);}
h3{font-size:var(--fs-h3);}
p{margin:0 0 var(--s4);}
strong,b{font-weight:700;}
small{font-size:var(--fs-sm);}
.lead{font-size:var(--fs-lead);color:var(--ink-soft);line-height:1.6;}

/* 5. LAYOUT PRIMITIVES ----------------------------------------------------- */
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem);}
.flow > * + *{margin-top:var(--flow-space,var(--s4));}
.section{padding-block:var(--s7);}
.section--tight{padding-block:var(--s6);}
.grid{display:grid;gap:clamp(1.25rem,3vw,2rem);}
.cols-2{grid-template-columns:repeat(2,1fr);}
.cols-3{grid-template-columns:repeat(3,1fr);}
.cols-4{grid-template-columns:repeat(4,1fr);}
.layout{display:grid;gap:clamp(1.5rem,4vw,3rem);grid-template-columns:1fr;}
@media(min-width:1000px){.layout--sidebar{grid-template-columns:minmax(0,1fr) 320px;}}

/* 6. AMBIENT BACKGROUND ---------------------------------------------------- */
.bg-ambient{position:fixed;inset:0;z-index:-1;pointer-events:none;background:var(--canvas);}
.bg-ambient::before,.bg-ambient::after{content:"";position:absolute;inset:-20%;}
.bg-ambient::before{
  background:
    radial-gradient(38% 32% at 12% 8%,var(--bloom-rose) 0%,transparent 60%),
    radial-gradient(34% 30% at 92% 4%,var(--bloom-violet) 0%,transparent 62%),
    radial-gradient(40% 34% at 82% 86%,var(--bloom-champ) 0%,transparent 60%),
    radial-gradient(30% 26% at 18% 96%,var(--bloom-violet) 0%,transparent 64%);
  opacity:.9;
}
.bg-ambient::after{
  /* faint film grain for an editorial, non-flat feel */
  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='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.035'/%3E%3C/svg%3E");
  mix-blend-mode:multiply;
}

/* Reusable glass surface */
.glass{
  background:var(--glass);
  -webkit-backdrop-filter:blur(16px) saturate(150%);
  backdrop-filter:blur(16px) saturate(150%);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:var(--shadow-glass);
}

/* 7. HEADER ---------------------------------------------------------------- */
.skip-link{position:absolute;left:-999px;top:0;z-index:1000;background:var(--ink);color:#fff;padding:.6rem 1rem;border-radius:var(--r);}
.skip-link:focus{left:12px;top:12px;}

.site-header{position:sticky;top:0;z-index:200;}
.header-shell{
  display:flex;flex-direction:column;
  background:var(--glass-strong);
  -webkit-backdrop-filter:blur(18px) saturate(160%);
  backdrop-filter:blur(18px) saturate(160%);
  border-bottom:1px solid var(--line);
  transition:box-shadow var(--dur) var(--ease),background var(--dur) var(--ease);
}
.site-header.is-scrolled .header-shell{box-shadow:0 6px 24px rgba(22,19,28,.10);}
.header-bar{
  display:flex;align-items:center;gap:var(--s4);
  width:100%;max-width:var(--container);margin-inline:auto;
  padding:.55rem clamp(1rem,4vw,2rem);
  min-height:var(--header-h);
}
.brand{display:flex;align-items:center;gap:.6rem;flex:0 0 auto;margin-right:auto;}
.brand a,.brand .custom-logo-link{display:inline-flex;align-items:center;}
.brand .custom-logo{height:38px;width:auto;}
.brand-name{font-family:var(--font-display);font-weight:600;font-size:1.4rem;letter-spacing:-.02em;color:var(--ink);line-height:1;}
.brand-name .dot{color:var(--accent);}
.brand-tag{display:block;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-top:.18rem;font-weight:600;}

/* Desktop nav */
.primary-nav{display:none;}
.primary-nav ul{display:flex;align-items:center;gap:.2rem;}
.primary-nav a{
  position:relative;display:inline-block;padding:.5rem .8rem;font-size:.93rem;font-weight:600;
  color:var(--ink);border-radius:var(--r);transition:color .2s var(--ease);
}
.primary-nav a::after{
  content:"";position:absolute;left:.8rem;right:.8rem;bottom:.32rem;height:2px;
  background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .26s var(--ease);
}
.primary-nav a:hover,.primary-nav .current-menu-item > a{color:var(--accent);}
.primary-nav a:hover::after,.primary-nav .current-menu-item > a::after{transform:scaleX(1);}
.primary-nav .sub-menu{
  position:absolute;min-width:200px;flex-direction:column;gap:0;padding:.4rem;margin-top:.4rem;
  background:var(--glass-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-glass);
  opacity:0;visibility:hidden;transform:translateY(6px);transition:all .22s var(--ease);
}
.primary-nav li{position:relative;}
.primary-nav li:hover > .sub-menu{opacity:1;visibility:visible;transform:translateY(0);}
.primary-nav .sub-menu a{display:block;width:100%;}
.primary-nav .sub-menu a::after{display:none;}

.header-actions{display:none;align-items:center;gap:.4rem;flex:0 0 auto;}
.header-social{display:flex;align-items:center;gap:.1rem;}
.header-social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--r);color:var(--ink);transition:color .2s,background .2s;}
.header-social a:hover{color:var(--accent);background:rgba(22,19,28,.05);}
.header-social svg{width:18px;height:18px;}
.header-icon{
  display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;
  border:1px solid var(--line);border-radius:var(--r);background:transparent;color:var(--ink);
  cursor:pointer;transition:border-color .2s,color .2s,background .2s;
}
.header-icon:hover{color:var(--accent);border-color:var(--accent);}
.header-icon svg{width:19px;height:19px;}

/* Hamburger */
.nav-toggle{
  display:inline-flex;flex-direction:column;justify-content:center;gap:5px;
  width:44px;height:44px;padding:0 11px;margin-left:auto;
  background:transparent;border:1px solid var(--line);border-radius:var(--r);cursor:pointer;flex:0 0 auto;
}
.nav-toggle span{display:block;height:2px;width:100%;background:var(--ink);border-radius:2px;transition:transform .3s var(--ease),opacity .2s var(--ease);}
.site-header.nav-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.site-header.nav-open .nav-toggle span:nth-child(2){opacity:0;}
.site-header.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* Mobile drawer — grows open inside the glass shell (grid-rows trick = smooth, no magic px) */
.header-drawer{
  display:grid;grid-template-rows:0fr;
  transition:grid-template-rows var(--dur) var(--ease);
  width:100%;max-width:var(--container);margin-inline:auto;
}
.site-header.nav-open .header-drawer{grid-template-rows:1fr;}
.drawer-inner{overflow:hidden;}
.drawer-pad{padding:.4rem clamp(1rem,4vw,2rem) 1.25rem;}
.mobile-nav ul{display:flex;flex-direction:column;}
.mobile-nav a{
  display:block;padding:.85rem .25rem;font-family:var(--font-display);font-size:1.18rem;font-weight:600;
  color:var(--ink);border-bottom:1px solid var(--line-soft);
  opacity:0;transform:translateY(8px);
}
.site-header.nav-open .mobile-nav a{animation:drawerItem .4s var(--ease) forwards;}
.mobile-nav li:nth-child(1) a{animation-delay:.06s;}
.mobile-nav li:nth-child(2) a{animation-delay:.10s;}
.mobile-nav li:nth-child(3) a{animation-delay:.14s;}
.mobile-nav li:nth-child(4) a{animation-delay:.18s;}
.mobile-nav li:nth-child(5) a{animation-delay:.22s;}
.mobile-nav li:nth-child(6) a{animation-delay:.26s;}
.mobile-nav li:nth-child(n+7) a{animation-delay:.3s;}
.mobile-nav .sub-menu a{font-size:1rem;padding-left:1rem;color:var(--ink-soft);}
@keyframes drawerItem{to{opacity:1;transform:translateY(0);}}
.drawer-search{margin-top:1rem;}
.drawer-social{display:flex;gap:.5rem;margin-top:1.1rem;}
.drawer-social a{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--line);border-radius:var(--r);color:var(--ink);transition:all .2s;}
.drawer-social a:hover{background:var(--accent);border-color:var(--accent);color:#fff;}
.drawer-social svg{width:18px;height:18px;}

@media(min-width:980px){
  .primary-nav{display:flex;}
  .header-actions{display:flex;}
  .nav-toggle{display:none;}
  .header-drawer{display:none;}
  .header-shell{border-radius:0;}
}

/* Mobile: floating spotlight bar */
@media(max-width:979px){
  .site-header{padding:.55rem clamp(.6rem,3vw,1rem) 0;}
  .header-shell{border:1px solid rgba(255,255,255,.5);border-radius:var(--r-pill);box-shadow:var(--shadow-glass);}
  .header-bar{min-height:54px;padding:.45rem .55rem .45rem 1rem;}
  .brand .custom-logo{height:32px;}
  .brand-name{font-size:1.2rem;}
  .brand-tag{display:none;}
}

/* 8. BUTTONS / LINKS / FORMS ---------------------------------------------- */
.btn{
  display:inline-flex;align-items:center;gap:.5rem;justify-content:center;
  padding:.7rem 1.3rem;font-weight:600;font-size:.95rem;line-height:1;
  border-radius:var(--r);border:1px solid transparent;cursor:pointer;
  transition:transform .15s var(--ease),background .2s,box-shadow .2s,color .2s,border-color .2s;
}
.btn--primary{background:var(--accent);color:#fff;box-shadow:0 6px 18px rgba(200,29,107,.28);}
.btn--primary:hover{background:var(--accent-deep);transform:translateY(-1px);}
.btn--ghost{background:transparent;border-color:var(--line);color:var(--ink);}
.btn--ghost:hover{border-color:var(--accent);color:var(--accent);}

.content-link{color:var(--accent);font-weight:600;box-shadow:inset 0 -1px 0 rgba(200,29,107,.35);transition:box-shadow .2s;}
.content-link:hover{box-shadow:inset 0 -2px 0 var(--accent);}

.field{
  width:100%;padding:.7rem .9rem;background:var(--paper);
  border:1px solid var(--line);border-radius:var(--r);transition:border-color .2s,box-shadow .2s;
}
.field:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(200,29,107,.14);}

.search-form{display:flex;gap:.5rem;}
.search-form .field{flex:1;}

/* 9. EYEBROWS / SECTION HEADS / DIVIDERS ---------------------------------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);
}
.eyebrow::before{content:"";width:18px;height:1px;background:var(--gold);}
.eyebrow--plain::before{display:none;}

.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:var(--s5);
  padding-bottom:var(--s3);border-bottom:1px solid var(--line);}
.section-head h2{font-size:var(--fs-h2);line-height:1.05;}
.section-head .more{font-size:.85rem;font-weight:600;color:var(--ink-soft);white-space:nowrap;transition:color .2s;}
.section-head .more:hover{color:var(--accent);}

.cat-badge{
  display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--accent);
}
.cat-badge--solid{background:var(--accent);color:#fff;padding:.22rem .55rem;border-radius:3px;letter-spacing:.06em;}

.meta-row{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:var(--fs-xs);color:var(--ink-faint);}
.meta-row .sep{width:3px;height:3px;border-radius:50%;background:var(--ink-faint);opacity:.6;}

/* 10. CARDS & LISTINGS (boxless) ------------------------------------------ */
.card{display:flex;flex-direction:column;gap:.7rem;}
.card__media{position:relative;display:block;overflow:hidden;border-radius:var(--r);background:var(--line-soft);aspect-ratio:16/10;}
.card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease);}
.card:hover .card__media img{transform:scale(1.045);}
.card__media .cat-badge--solid{position:absolute;left:.6rem;top:.6rem;}
.card__title{font-size:var(--fs-h3);line-height:1.16;}
.card__title a{background-image:linear-gradient(var(--accent),var(--accent));background-size:0 2px;background-repeat:no-repeat;background-position:left 100%;transition:background-size .3s var(--ease),color .2s;}
.card:hover .card__title a{color:var(--accent);}
.card__excerpt{font-size:.95rem;color:var(--ink-soft);line-height:1.55;}
.card--compact{flex-direction:row;gap:.9rem;align-items:flex-start;}
.card--compact .card__media{flex:0 0 96px;aspect-ratio:1/1;border-radius:var(--r);}
.card--compact .card__title{font-size:1rem;line-height:1.25;}

/* hairline-separated list (showbiz "latest" feed) */
.feed{display:flex;flex-direction:column;}
.feed > *{padding-block:var(--s4);border-bottom:1px solid var(--line-soft);}
.feed > *:first-child{padding-top:0;}

/* 11. HERO / FEATURED ----------------------------------------------------- */
.hero{display:grid;gap:clamp(1.25rem,3vw,1.75rem);margin-top:var(--s5);}
@media(min-width:900px){.hero{grid-template-columns:1.55fr 1fr;align-items:stretch;}}
.hero__lead{position:relative;display:flex;align-items:flex-end;min-height:340px;
  border-radius:var(--r-lg);overflow:hidden;color:#fff;isolation:isolate;}
.hero__lead img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;}
.hero__lead::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(13,9,18,0) 28%,rgba(13,9,18,.78) 100%);}
.hero__lead .hero__copy{padding:clamp(1.25rem,3vw,2rem);}
.hero__lead h1,.hero__lead h2{color:#fff;font-size:var(--fs-hero);text-wrap:balance;}
.hero__lead .meta-row{color:rgba(255,255,255,.82);}
.hero__lead .cat-badge--solid{background:var(--accent);}
.hero__side{display:flex;flex-direction:column;gap:var(--s4);}
.hero__side .card{padding-bottom:var(--s4);border-bottom:1px solid var(--line);}
.hero__side .card:last-child{border-bottom:0;padding-bottom:0;}
@media(min-width:900px){.hero__side .card{flex-direction:row;gap:.9rem;}
  .hero__side .card__media{flex:0 0 116px;aspect-ratio:1/1;}}

/* 12. SINGLE POST & PAGES ------------------------------------------------- */
.article-head{max-width:var(--read);margin:0 auto var(--s5);text-align:center;}
.article-head .eyebrow,.article-head .cat-badge{justify-content:center;margin-bottom:var(--s3);}
.article-title{font-size:var(--fs-h1);text-wrap:balance;margin-bottom:var(--s4);}
.article-dek{font-size:var(--fs-lead);color:var(--ink-soft);line-height:1.5;margin-bottom:var(--s4);text-wrap:pretty;}
.article-meta{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.6rem;font-size:var(--fs-sm);color:var(--ink-faint);}
.article-author{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;color:var(--ink);}
.article-author img{width:30px;height:30px;border-radius:50%;}
.featured-figure{margin:var(--s5) 0;}
.featured-figure img{width:100%;border-radius:var(--r-lg);}
.featured-figure figcaption{font-size:var(--fs-xs);color:var(--ink-faint);margin-top:.5rem;text-align:center;}

.entry-content{max-width:var(--read);margin-inline:auto;font-size:1.09rem;line-height:1.78;}
.entry-content > * + *{margin-top:var(--s4);}
.entry-content h2{font-size:var(--fs-h2);margin-top:var(--s6);}
.entry-content h3{font-size:var(--fs-h3);margin-top:var(--s5);}
.entry-content a{color:var(--accent);font-weight:600;box-shadow:inset 0 -1px 0 rgba(200,29,107,.4);}
.entry-content a:hover{box-shadow:inset 0 -2px 0 var(--accent);}
.entry-content img{border-radius:var(--r);}
.entry-content blockquote{
  font-family:var(--font-display);font-size:1.4rem;line-height:1.35;font-style:italic;color:var(--ink);
  border-left:3px solid var(--accent);padding:.4rem 0 .4rem 1.3rem;margin-block:var(--s5);
}
.entry-content figure{margin-block:var(--s5);}
.entry-content figcaption{font-size:var(--fs-xs);color:var(--ink-faint);margin-top:.5rem;}
.entry-content ul,.entry-content ol{padding-left:1.3rem;}
.entry-content li{margin-bottom:.4rem;}
.entry-content ul{list-style:disc;}
.entry-content ol{list-style:decimal;}
.entry-content code{background:rgba(22,19,28,.06);padding:.12em .4em;border-radius:3px;font-size:.92em;}
.entry-content pre{background:var(--ink);color:#f4f1f6;padding:1rem;border-radius:var(--r);overflow:auto;}
.entry-content hr{border:0;border-top:1px solid var(--line);margin-block:var(--s6);}

.tag-list{display:flex;flex-wrap:wrap;gap:.5rem;max-width:var(--read);margin:var(--s6) auto 0;}
.tag-list a{font-size:.8rem;padding:.3rem .7rem;border:1px solid var(--line);border-radius:var(--r);color:var(--ink-soft);transition:all .2s;}
.tag-list a:hover{border-color:var(--accent);color:var(--accent);}

.share-row{display:flex;align-items:center;gap:.6rem;max-width:var(--read);margin:var(--s5) auto 0;padding-top:var(--s4);border-top:1px solid var(--line);}
.share-row .label{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-weight:700;}
.share-row a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--line);border-radius:var(--r);transition:all .2s;}
.share-row a:hover{background:var(--accent);border-color:var(--accent);color:#fff;}
.share-row svg{width:17px;height:17px;}

.author-box{display:flex;gap:1rem;align-items:flex-start;max-width:var(--read);margin:var(--s7) auto 0;padding:1.25rem;border-radius:var(--r-lg);}
.author-box img{width:60px;height:60px;border-radius:50%;flex:0 0 auto;}
.author-box h4{font-size:1.1rem;margin-bottom:.25rem;}
.author-box p{font-size:.92rem;color:var(--ink-soft);margin:0;}

.related{margin-top:var(--s8);}

/* 13. SIDEBAR & WIDGETS --------------------------------------------------- */
.sidebar{display:flex;flex-direction:column;gap:var(--s5);}
.widget{padding:1.25rem;border-radius:var(--r-lg);}
.widget-title{font-family:var(--font-display);font-size:1.15rem;font-weight:600;margin-bottom:var(--s4);
  padding-bottom:var(--s2);border-bottom:1px solid var(--line);}
.widget ul{display:flex;flex-direction:column;}
.widget ul li{padding:.5rem 0;border-bottom:1px solid var(--line-soft);font-size:.95rem;}
.widget ul li:last-child{border-bottom:0;}
.widget a:hover{color:var(--accent);}
.sticky-side{position:sticky;top:calc(var(--header-h) + 16px);}

/* 14. ADS (reserved space → zero CLS) ------------------------------------- */
.ad-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;
  width:100%;margin-inline:auto;overflow:hidden;}
.ad-slot__label{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);
  margin-bottom:.4rem;opacity:.7;}
.ad-slot__inner{display:flex;align-items:center;justify-content:center;width:100%;}
.ad-slot--leaderboard{min-height:100px;}
.ad-slot--billboard{min-height:120px;}
@media(min-width:768px){.ad-slot--billboard{min-height:280px;}}
.ad-slot--rect{min-height:280px;max-width:336px;}
.ad-slot--infeed{min-height:120px;margin-block:var(--s4);padding:var(--s4) 0;border-block:1px solid var(--line-soft);}
.ad-slot--inarticle{max-width:var(--read);margin:var(--s5) auto;min-height:120px;padding:var(--s3) 0;}
.ad-slot--inarticle .ad-slot__label{align-self:center;}
.ad-frame{padding:var(--s4);border-radius:var(--r-lg);width:100%;display:flex;justify-content:center;}

/* 15. PAGINATION / COMMENTS / 404 / SEARCH -------------------------------- */
.pagination{display:flex;justify-content:center;gap:.4rem;margin-top:var(--s7);flex-wrap:wrap;}
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;
  padding:0 .7rem;border:1px solid var(--line);border-radius:var(--r);font-weight:600;font-size:.92rem;transition:all .2s;}
.pagination .page-numbers:hover{border-color:var(--accent);color:var(--accent);}
.pagination .page-numbers.current{background:var(--ink);color:#fff;border-color:var(--ink);}
.post-nav{display:grid;gap:1rem;max-width:var(--read);margin:var(--s7) auto 0;}
@media(min-width:640px){.post-nav{grid-template-columns:1fr 1fr;}}
.post-nav a{display:block;padding:1rem;border:1px solid var(--line);border-radius:var(--r-lg);transition:border-color .2s;}
.post-nav a:hover{border-color:var(--accent);}
.post-nav .dir{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-weight:700;}
.post-nav .next{text-align:right;}

.comments-area{max-width:var(--read);margin:var(--s8) auto 0;}
.comment-list{display:flex;flex-direction:column;gap:var(--s5);margin:var(--s5) 0;}
.comment-list .children{margin-top:var(--s5);padding-left:1.25rem;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:var(--s5);}
.comment-body{display:flex;flex-direction:column;gap:.4rem;}
.comment-meta{display:flex;align-items:center;gap:.6rem;font-size:.85rem;}
.comment-meta .fn{font-weight:700;font-style:normal;}
.comment-meta .avatar{border-radius:50%;}
.comment-form{display:grid;gap:var(--s4);margin-top:var(--s5);}
.comment-form textarea.field{min-height:130px;resize:vertical;}

.page-404{text-align:center;padding-block:var(--s9);max-width:560px;margin-inline:auto;}
.page-404 .code{font-family:var(--font-display);font-size:clamp(5rem,18vw,9rem);line-height:.9;color:var(--accent);}
.search-hero{max-width:640px;margin:0 auto var(--s6);text-align:center;}

.page-intro{text-align:center;max-width:680px;margin:0 auto var(--s6);}
.page-intro h1{font-size:var(--fs-h1);margin-bottom:var(--s3);}
.page-intro p{color:var(--ink-soft);}
.archive-desc{color:var(--ink-soft);margin-top:var(--s3);}

/* 16. FOOTER -------------------------------------------------------------- */
.site-footer{margin-top:var(--s9);border-top:1px solid var(--line);
  background:var(--glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);}
.footer-top{display:grid;gap:var(--s6);padding-block:var(--s7);grid-template-columns:1fr;}
@media(min-width:760px){.footer-top{grid-template-columns:1.6fr 1fr 1fr;}}
.footer-brand .brand-name{font-size:1.6rem;}
.footer-about{margin-top:var(--s3);color:var(--ink-soft);font-size:.95rem;max-width:42ch;}
.footer-col h4{font-family:var(--font-body);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:var(--s4);font-weight:700;}
.footer-col ul li{padding:.32rem 0;font-size:.95rem;}
.footer-col a:hover{color:var(--accent);}
.social-row{display:flex;gap:.5rem;margin-top:var(--s4);}
.social-row a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;
  border:1px solid var(--line);border-radius:var(--r);transition:all .2s;}
.social-row a:hover{background:var(--accent);border-color:var(--accent);color:#fff;}
.social-row svg{width:18px;height:18px;}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;
  padding-block:var(--s4);border-top:1px solid var(--line);font-size:.85rem;color:var(--ink-faint);}

/* 17. UTILITIES / A11Y / MOTION ------------------------------------------- */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;white-space:nowrap;}
.text-center{text-align:center;}
.mt-0{margin-top:0;}
.sticky-note{font-size:.85rem;color:var(--ink-faint);}
.is-hidden{display:none!important;}
[hidden]{display:none!important;}

.wp-caption{max-width:100%;}
.wp-caption-text{font-size:var(--fs-xs);color:var(--ink-faint);margin-top:.4rem;}
.alignleft{float:left;margin:.4rem 1.4rem 1rem 0;}
.alignright{float:right;margin:.4rem 0 1rem 1.4rem;}
.aligncenter{margin-inline:auto;}
.alignwide{width:min(100%,1000px);margin-inline:auto;}
.alignfull{width:100%;}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}
  .mobile-nav a{opacity:1;transform:none;}
}
