/*
Theme Name: Sirius
Theme URI: https://blog.appsdalei.com
Author: Moodlr Dev Hub
Author URI: https://blog.appsdalei.com
Description: A dense, headline-driven newsroom theme named for Sirius, the brightest star in the night sky. Inspired by the information density and editorial urgency of Brazil's biggest news portals (globo.com/G1): a big lead story next to a tight secondary-headline rail, a numbered "most read" strip, and color-coded category rails — all on a lean, two-font, no-serif type system built for speed. Same Nebula engine (menus, Customizer, REST config, LGPD/consent, AdX-ready head) as the rest of the family. Archivo + Inter. By Moodlr Dev Hub.
Version: 1.1.4
Requires at least: 6.4
Tested up to: 7.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nebula
Tags: blog, custom-menu, editorial, featured-images, full-width-template, translation-ready, two-columns
*/

/* =========================================================================
   Sirius — Design System
   Dense newsroom front page. Bold, sans-only, high-contrast, headline-first.
   Archivo (display/headlines) · Inter (body/UI). No serif, no mono: two
   families only, kept lean for LCP/CLS on paid-traffic → programmatic pages.
   ========================================================================= */

/* ---------- Tokens ---------- */
:root {
  --paper: #ffffff;
  --surface: #ffffff;
  --surface-2: #f4f4f6;
  --surface-3: #ebebee;
  --ink: #0f1113;
  --ink-soft: #33363a;
  --muted: #63676d;
  --faint: #8a8e94;
  --line: rgba(15, 17, 19, 0.12);
  --line-strong: rgba(15, 17, 19, 0.22);
  --accent: #c81e3a;
  --accent-strong: #9c1730;
  --accent-soft: #fbe7ea;
  --accent-fg: #ffffff;
  --accent-ink: #b31730;
  --live: #d61f3c;
  --bar: #16181c; /* fixed near-black surface, only for Sirius-exclusive components with no sibling-theme equivalent (breaking bar, lead-story image fallback) — never flips with --ink */
  --verify: #0e8a5f;
  --verify-soft: #e2f3ea;
  --danger: #b3402e;
  --grad: linear-gradient(120deg, #1a1c1f, #34090f);

  --maxw: 1240px;
  --readw: 700px;
  --radius: 8px;
  --radius-sm: 5px;
  --radius-lg: 14px;
  --shadow-sm: 0 1px 2px rgba(15,17,19,.05);
  --shadow: 0 1px 2px rgba(15,17,19,.05), 0 10px 26px -12px rgba(15,17,19,.22);
  --shadow-lg: 0 2px 6px rgba(15,17,19,.06), 0 28px 56px -20px rgba(15,17,19,.32);

  --display: "Archivo", "Arial Black", Arial, sans-serif;
  --sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

  --step--1: clamp(.8rem, .77rem + .14vw, .875rem);
  --step-0: clamp(.98rem, .94rem + .18vw, 1.05rem);
  --step-1: clamp(1.14rem, 1.06rem + .38vw, 1.32rem);
  --step-2: clamp(1.35rem, 1.18rem + .78vw, 1.72rem);
  --step-3: clamp(1.7rem, 1.4rem + 1.4vw, 2.4rem);
  --step-4: clamp(2.05rem, 1.55rem + 2.4vw, 3.15rem);
  --step-5: clamp(2.5rem, 1.7rem + 3.8vw, 4.1rem);
  --step-article-title: clamp(1.6rem, 1.15rem + 3.8vw, 2.9rem);
}

:root[data-theme="dark"] {
  --paper: #101113;
  --surface: #17181b;
  --surface-2: #1d1f22;
  --surface-3: #26282c;
  --ink: #f2f2f3;
  --ink-soft: #d3d4d6;
  --muted: #9b9ea3;
  --faint: #75787d;
  --line: rgba(255,255,255,0.12);
  --line-strong: rgba(255,255,255,0.20);
  --accent: #d43550;
  --accent-strong: #b32e45;
  --accent-soft: #34161b;
  --accent-fg: #ffffff;
  --accent-ink: #ff96a3;
  --live: #ff5a72;
  --shadow-sm: 0 1px 2px rgba(0,0,0,.3);
  --shadow: 0 1px 2px rgba(0,0,0,.3), 0 10px 26px -12px rgba(0,0,0,.5);
  --shadow-lg: 0 2px 6px rgba(0,0,0,.35), 0 28px 56px -20px rgba(0,0,0,.6);
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--step-0);line-height:1.5;-webkit-font-smoothing:antialiased}
img,svg,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,p{margin:0}
input,textarea{font:inherit;color:inherit}
:focus-visible{outline:2.5px solid var(--accent);outline-offset:2px}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:1rem;top:-3rem;background:var(--accent);color:#fff;padding:.7rem 1.1rem;border-radius:var(--radius-sm);z-index:200;transition:top .15s}
.skip-link:focus{top:1rem}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 1.25rem}
@media (min-width:900px){.wrap{padding:0 2rem}}
.section{padding:2.6rem 0}
@media (min-width:900px){.section{padding:3.6rem 0}}

/* ---------- Headline / display type ---------- */
h1,h2,h3,.headline,.display{font-family:var(--display);font-weight:900;letter-spacing:-.01em;line-height:1.05;color:var(--ink)}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.72rem 1.25rem;border-radius:999px;font-family:var(--sans);font-weight:700;font-size:.92rem;border:1.5px solid transparent;transition:transform .12s, background .15s, border-color .15s;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--accent);color:var(--accent-fg)}
.btn-primary:hover{background:var(--accent-strong)}
.btn-ghost{border-color:var(--line-strong);color:var(--ink)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent-ink)}

.eyebrow{font-family:var(--sans);font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-ink);display:inline-flex;align-items:center;gap:.4rem}
.eyebrow svg{width:15px;height:15px;flex:none}
.link-arrow{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;color:var(--accent-ink);font-size:.92rem}
.link-arrow svg{width:16px;height:16px;transition:transform .15s}
.link-arrow:hover svg{transform:translateX(3px)}
.muted{color:var(--muted)}
.dot-sep{width:3px;height:3px;border-radius:50%;background:var(--faint);display:inline-block;margin:0 .1rem}

.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.4rem;padding-bottom:.9rem;border-bottom:3px solid var(--ink)}
.sec-head .titles h2{font-size:var(--step-3);margin-top:.15rem}
.sec-head .link-arrow{flex:none}

.icon-btn{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;color:var(--ink-soft)}
.icon-btn:hover{background:var(--surface-2)}
.icon-btn svg{width:19px;height:19px}

/* =========================================================================
   Header + primary nav — SHARED MARKUP, kept identical across the whole
   family on purpose. Restyled only (colors/weights), never restructured.
   ========================================================================= */
.site-header{position:sticky;top:0;z-index:100;background:var(--surface);border-bottom:3px solid var(--ink)}
.site-header .wrap.nav{display:flex;align-items:center;gap:1.5rem;height:64px}
.brand{display:flex;align-items:center;gap:.55rem;font-family:var(--display);font-weight:900;font-size:1.2rem;color:var(--ink);flex:none}
.brand .mark{width:32px;height:32px}
.brand .custom-logo{display:block}
.logo-dark{display:none}
:root[data-theme="dark"] .logo-light{display:none}
:root[data-theme="dark"] .logo-dark{display:block}

.nav-links{display:flex;align-items:center;gap:1.6rem;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}
.nav-links::-webkit-scrollbar{display:none}
.nav-list{display:flex;align-items:center;gap:1.6rem}
.nav-list a{font-weight:700;font-size:.92rem;white-space:nowrap;color:var(--ink-soft);padding:.4rem 0;border-bottom:2.5px solid transparent}
.nav-list a:hover{color:var(--accent-ink);border-color:var(--accent)}

.theme-toggle .sun{display:none}
:root[data-theme="dark"] .theme-toggle .sun{display:flex}
:root[data-theme="dark"] .theme-toggle .moon{display:none}
.nav-right{display:flex;align-items:center;gap:.35rem;flex:none;margin-left:auto}
.nav-cta{display:none}
@media (min-width:1100px){.nav-cta{display:inline-flex}}
.nav-toggle{display:inline-flex}
@media (min-width:900px){.nav-toggle{display:none}}
@media (max-width:899px){.nav-links{display:none}}

.mobile-menu{position:fixed;inset:64px 0 0 0;background:var(--surface);z-index:99;padding:1.5rem;transform:translateY(-8px);opacity:0;transition:transform .18s,opacity .18s;overflow-y:auto}
.mobile-menu:not([hidden]){display:flex;flex-direction:column;align-items:stretch;gap:0}
.mobile-menu.open{transform:translateY(0);opacity:1}
.mobile-menu .nav-list{flex-direction:column;align-items:stretch;gap:0}
.mobile-menu .nav-list a{display:block;padding:1rem 0;font-size:1.15rem;border-bottom:1px solid var(--line);border-top:none}

.search-modal{border:0;border-radius:var(--radius-lg);padding:0;width:min(560px,92vw);box-shadow:var(--shadow-lg);background:var(--surface)}
.search-modal::backdrop{background:rgba(15,17,19,.55)}
.search-modal-inner{display:flex;align-items:center;gap:.6rem;padding:.6rem}
.search-modal-inner form{flex:1;display:flex;align-items:center;gap:.6rem;background:var(--surface-2);border-radius:999px;padding:.3rem .3rem .3rem 1rem}
.search-modal-icon{color:var(--faint);display:flex}
.search-modal-icon svg{width:18px;height:18px}
.search-modal-inner input{flex:1;background:none;border:0;padding:.6rem 0}
.search-modal-inner input:focus{outline:0}

.read-progress{position:fixed;top:0;left:0;height:3px;background:var(--accent);z-index:150;width:0}

/* ---------- Live / breaking bar ---------- */
.breaking-bar{background:var(--bar);color:#fff}
.breaking-bar .wrap{display:flex;align-items:center;gap:.9rem;padding-top:.55rem;padding-bottom:.55rem;overflow:hidden}
.live-badge{display:inline-flex;align-items:center;gap:.4rem;background:var(--live);color:#fff;font-family:var(--display);font-weight:900;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:.28rem .6rem;border-radius:4px;flex:none}
.live-dot{width:7px;height:7px;border-radius:50%;background:#fff;animation:sirius-pulse 1.4s ease-in-out infinite}
@keyframes sirius-pulse{0%,100%{opacity:1}50%{opacity:.3}}
.breaking-bar a{font-weight:700;font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff}
.breaking-bar a:hover{text-decoration:underline}

/* =========================================================================
   HOME — dense headline grid (Sirius signature layout)
   ========================================================================= */
.headline-grid{display:grid;grid-template-columns:1fr;align-items:start;gap:1.6rem;padding:1.8rem 0}
@media (min-width:960px){.headline-grid{grid-template-columns:1.7fr 1fr;gap:2.2rem;padding:2.4rem 0}}

.lead-story{position:relative;display:block;border-radius:var(--radius-lg);overflow:hidden;background:var(--bar);color:#fff;box-shadow:var(--shadow)}
.lead-story .thumb-media{display:block;position:relative;aspect-ratio:16/10;overflow:hidden}
.lead-story img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.lead-story:hover img{transform:scale(1.035)}
.lead-story .scrim{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.35) 45%,rgba(0,0,0,0) 75%)}
.lead-story .thumb-fallback{width:100%;height:100%;background:var(--grad)}
.lead-body{position:absolute;left:0;right:0;bottom:0;padding:1.5rem 1.5rem 1.7rem;display:flex;flex-direction:column;align-items:flex-start}
.lead-tag{display:inline-block;background:var(--accent);color:#fff;font-family:var(--display);font-weight:800;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:.28rem .65rem;border-radius:4px;margin-bottom:.7rem}
.lead-body h1,.lead-title{font-family:var(--display);font-weight:900;font-size:var(--step-5);color:#fff;line-height:1.05;margin-bottom:.6rem}
.lead-dek{color:rgba(255,255,255,.82);font-size:1.05rem;max-width:46ch;margin-bottom:.9rem}
@media (max-width:640px){
	.lead-body{padding:1.1rem 1.1rem 1.3rem}
	.lead-tag{font-size:.66rem;padding:.22rem .55rem;margin-bottom:.5rem}
	.lead-body h1,.lead-title{font-size:clamp(1.6rem,1.15rem + 4.5vw,2.2rem);line-height:1.1;margin-bottom:.5rem}
	.lead-dek{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.9rem;margin-bottom:.6rem}
	.lead-meta{font-size:.78rem;gap:.45rem}
}
.lead-meta{display:flex;align-items:center;gap:.6rem;color:rgba(255,255,255,.72);font-size:.85rem;font-weight:600}

.side-list{display:flex;flex-direction:column;gap:0}
.side-item{display:flex;gap:1rem;align-items:flex-start;padding:1.05rem 0;border-bottom:1px solid var(--line)}
.side-item:first-child{padding-top:0}
.side-item .thumb{flex:none;width:104px;aspect-ratio:4/3;border-radius:var(--radius-sm);overflow:hidden;background:var(--surface-2)}
.side-item .thumb img{width:100%;height:100%;object-fit:cover}
.side-item .thumb-fallback{width:100%;height:100%;background:var(--surface-3)}
.side-item .body{flex:1;min-width:0}
.side-item .cat-tag{font-family:var(--display);font-weight:800;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}
.side-item h3{font-family:var(--sans);font-weight:800;font-size:1rem;line-height:1.28;margin-top:.3rem}
.side-item:hover h3{color:var(--accent-ink)}

/* ---------- Most read strip ---------- */
.most-read{background:var(--surface-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.most-read .sec-head{border-bottom-color:var(--ink);margin-bottom:1.2rem}
.mr-grid{display:grid;grid-template-columns:1fr;gap:0}
@media (min-width:720px){.mr-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1100px){.mr-grid{grid-template-columns:1fr 1fr 1fr}}
.mr-item{display:flex;align-items:baseline;gap:.9rem;padding:.85rem 0;border-bottom:1px solid var(--line)}
.mr-num{font-family:var(--display);font-weight:900;font-size:1.9rem;color:var(--faint);line-height:1;flex:none;width:2.1ch}
.mr-title{font-weight:700;font-size:.96rem;line-height:1.3}
.mr-item:hover .mr-title{color:var(--accent-ink)}

/* ---------- Category rail ---------- */
.rail{padding:2rem 0}
.rail-head{display:flex;align-items:center;gap:.7rem;margin-bottom:1.1rem}
.rail-bar{width:6px;height:22px;border-radius:3px;background:var(--accent);flex:none}
.rail-head h2{font-size:var(--step-2);color:var(--ink)}
.rail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem}
@media (min-width:720px){.rail-grid{grid-template-columns:repeat(4,1fr)}}
.rail-tile{display:block}
.rail-tile .thumb{display:block;aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;background:var(--surface-2);margin-bottom:.6rem}
.rail-tile img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.rail-tile:hover img{transform:scale(1.04)}
.rail-tile .thumb-fallback{width:100%;height:100%;background:var(--surface-3)}
.rail-tile h3{font-family:var(--sans);font-weight:800;font-size:.94rem;line-height:1.3}
.rail-tile:hover h3{color:var(--accent-ink)}
.rail-tile .cat-tag{font-family:var(--display);font-weight:800;font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;display:inline-block;margin-bottom:.35rem}

.cat-tag{color:var(--cc, var(--accent-ink))}
:root[data-theme="dark"] .cat-tag{color:var(--cc-dark, var(--accent-ink)) !important}
.thumb-fallback{display:block}

/* ---------- Simple card grid (archive / related — shared with the rest of the family) ---------- */
.card-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media (min-width:640px){.card-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.card-grid{grid-template-columns:repeat(3,1fr)}}
.card{display:flex;flex-direction:column}
.card .thumb{display:block;aspect-ratio:3/2;border-radius:var(--radius);overflow:hidden;background:var(--surface-2)}
.card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.card:hover .thumb img{transform:scale(1.04)}
.card .thumb-fallback{width:100%;height:100%;background:var(--grad)}
.card .meta{display:flex;align-items:center;gap:.4rem;margin:.8rem 0 .4rem;font-size:.82rem}
.card h3{font-size:1.12rem;line-height:1.3;margin-bottom:.4rem}
.card:hover h3{color:var(--accent-ink)}
.card .dek{color:var(--muted);font-size:.94rem;line-height:1.5;margin-bottom:.7rem}
.card .byline{display:flex;align-items:center;gap:.5rem;margin-top:auto;font-size:.86rem;font-weight:600;color:var(--ink-soft)}
.card .avatar{border-radius:50%;flex:none}

/* ---------- Chips (archive filter) ---------- */
.chips{display:flex;flex-wrap:wrap;gap:.55rem}
.chip{padding:.5rem 1rem;border-radius:999px;border:1.5px solid var(--line-strong);font-weight:700;font-size:.88rem;color:var(--ink-soft)}
.chip:hover{border-color:var(--accent)}
.chip.active,.chip[aria-current="page"]{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}

/* =========================================================================
   Article page
   ========================================================================= */
.page-head{padding:2.4rem 0 1.4rem;border-bottom:3px solid var(--ink)}
.page-head h1{font-size:var(--step-4);margin-top:.5rem}
.page-head .lead{color:var(--muted);font-size:1.08rem;margin-top:.8rem;max-width:60ch}

.wrap-read{max-width:var(--readw);margin:0 auto;padding:0 1.25rem}
.center{text-align:center}
.article-head{padding-top:clamp(2rem,4vw,3rem)}
.breadcrumb{display:flex;align-items:center;gap:.35rem;font-size:.85rem;color:var(--muted);margin-bottom:1rem}
.breadcrumb svg{width:14px;height:14px}
.breadcrumb a:hover{color:var(--accent-ink)}
.article-head h1{font-size:var(--step-article-title);line-height:1.12;margin-bottom:.9rem}
.article-head .lead{font-size:1.18rem;color:var(--ink-soft);margin-bottom:1.3rem;line-height:1.5}

.article-byline{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;padding:1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.byline-avatar{flex:none}
.bi b{font-weight:800}
.bi span{display:block;font-size:.82rem;color:var(--muted)}
.pill-row{display:flex;flex-wrap:wrap;gap:.9rem;margin-left:auto;margin-right:.5rem}
.pill-row .item{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;color:var(--muted)}
.pill-row svg{width:15px;height:15px}
.trust-note{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--verify);margin-top:.9rem}
.trust-note svg{width:15px;height:15px;flex:none}

.figure-hero{margin:0 auto 2.2rem;border-radius:var(--radius-lg);overflow:hidden}
.figure-hero img{width:100%;aspect-ratio:16/9;object-fit:cover}
.figure-hero figcaption{font-size:.82rem;color:var(--faint);padding-top:.5rem}
@media (min-width:1025px){.nebula-hide-desktop{display:none}}
@media (min-width:768px) and (max-width:1024px){.nebula-hide-tablet{display:none}}
@media (max-width:767px){.nebula-hide-mobile{display:none}}

.article-layout{display:grid;grid-template-columns:1fr;gap:2.4rem}
@media (min-width:1080px){.article-layout{grid-template-columns:1fr 260px}}
.article-main{min-width:0}

.key-takeaways{background:var(--surface-2);border-left:4px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;padding:1.2rem 1.4rem;margin-bottom:1.8rem}
.key-takeaways ul{padding-left:1.2rem;list-style:disc;margin-top:.6rem}
.key-takeaways li{margin-bottom:.4rem;line-height:1.5}

.prose{font-size:1.12rem;line-height:1.72;color:var(--ink-soft)}
.prose > * + *{margin-top:1.25em}
.prose h2{font-size:var(--step-2);margin-top:2em;color:var(--ink)}
.prose h3{font-size:var(--step-1);margin-top:1.7em;color:var(--ink)}
.prose h4{font-size:1.15rem;font-weight:800;margin-top:1.5em;color:var(--ink)}
.prose a{color:var(--accent-ink);text-decoration:underline;text-underline-offset:2px}
.prose img{border-radius:var(--radius)}
.prose blockquote{border-left:4px solid var(--accent);padding-left:1.2rem;font-style:italic;color:var(--ink-soft)}
.prose ul,.prose ol{padding-left:1.4rem}
.prose ul{list-style:disc}
.prose ol{list-style:decimal}
.prose code{background:var(--surface-2);padding:.15em .4em;border-radius:4px;font-size:.9em}
.prose .anchor{opacity:0;margin-left:.4em;color:var(--faint);text-decoration:none}
.prose h2:hover .anchor,.prose h3:hover .anchor{opacity:1}
.data-table{width:100%;border-collapse:collapse;font-size:.94rem}
.data-table th,.data-table td{border:1px solid var(--line);padding:.6rem .8rem;text-align:left}
.data-table th{background:var(--surface-2);font-weight:800}

.tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2rem}
.tag{background:var(--surface-2);border-radius:999px;padding:.4rem .9rem;font-size:.84rem;font-weight:700;color:var(--accent-ink)}
.tag:hover{background:var(--accent-soft)}

.author-box{display:flex;gap:1rem;margin-top:2.2rem;padding:1.4rem;background:var(--surface-2);border-radius:var(--radius-lg)}
.author-box .role{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);font-weight:800}
.author-box p{margin-top:.4rem;color:var(--ink-soft);font-size:.95rem;line-height:1.55}

.toc{position:sticky;top:88px;background:var(--surface-2);border-radius:var(--radius-lg);padding:1.2rem}
.toc-title{font-family:var(--display);font-weight:900;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.8rem}
.toc a{display:block;padding:.4rem 0;font-size:.9rem;border-left:2px solid var(--line);padding-left:.8rem;color:var(--muted);transition:color .15s,border-color .15s}
.toc a:hover{color:var(--accent-ink)}

.read-next{padding-top:.5rem}

/* ---------- Newsletter ---------- */
.newsletter{position:relative;background:var(--grad);color:#fff;border-radius:var(--radius-lg);padding:2.6rem 2rem;text-align:center;overflow:hidden}
.newsletter .glow{position:absolute;inset:-30% -10% auto -10%;height:60%;background:radial-gradient(ellipse at top, rgba(200,30,58,.35), transparent 70%);pointer-events:none}
.newsletter h2{font-size:var(--step-3);color:#fff;position:relative}
.newsletter p{color:rgba(255,255,255,.78);max-width:46ch;margin:.8rem auto 1.4rem;position:relative}
.newsletter form{display:flex;gap:.6rem;max-width:420px;margin:0 auto;position:relative;flex-wrap:wrap}
.newsletter input{flex:1;min-width:180px;padding:.85rem 1.1rem;border-radius:999px;border:0;background:#fff;color:#101113}
.newsletter .btn{background:var(--accent);color:#fff}
.newsletter .btn:hover{background:var(--accent-strong)}
.newsletter small{display:block;margin-top:1rem;color:rgba(255,255,255,.55);font-size:.8rem;position:relative}
.nl-feedback{position:relative;font-weight:700;padding:.6rem 0}
.nl-feedback.ok{color:#8ff0c4}
.nl-feedback.err{color:#ffb3ab}

/* =========================================================================
   Footer — SHARED MARKUP, restyled only.
   ========================================================================= */
.site-footer{background:var(--surface);border-top:1px solid var(--line);margin-top:3rem}
.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem 1.6rem;padding-top:2.6rem;padding-bottom:2rem}
.footer-grid .footer-brand{grid-column:1/-1}
@media (min-width:900px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.2rem;padding-top:3.2rem;padding-bottom:2.2rem}.footer-grid .footer-brand{grid-column:auto}}
.footer-brand p{color:var(--muted);margin-top:.9rem;font-size:.92rem;max-width:34ch}
.social{display:flex;gap:.6rem;margin-top:1.1rem}
.social a{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--line-strong);color:var(--muted)}
.social a:hover{border-color:var(--accent);color:var(--accent-ink)}
.social svg{width:16px;height:16px}
.footer-grid h3{font-family:var(--sans);font-size:.76rem;text-transform:uppercase;letter-spacing:.11em;color:var(--faint);margin-bottom:1rem;font-weight:800}
.footer-grid nav ul li{margin-bottom:.65rem}
.footer-grid nav ul a{color:var(--muted);font-size:.92rem}
.footer-grid nav ul a:hover{color:var(--accent-ink);text-decoration:underline}
.footer-bottom{border-top:1px solid var(--line);padding-top:1.3rem;padding-bottom:1.8rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;font-size:.84rem;color:var(--muted)}
.moodlr-mark{display:inline-flex;align-items:center;gap:.5rem;color:var(--muted)}
.moodlr-mark:hover{color:var(--ink)}
.moodlr-mark img{height:16px;width:auto}
.moodlr-mark .m-dark{display:none}
:root[data-theme="dark"] .moodlr-mark .m-light{display:none}
:root[data-theme="dark"] .moodlr-mark .m-dark{display:block}

/* ---------- Consent banner ---------- */
.consent{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:180;max-width:640px;margin:0 auto;background:var(--surface);color:var(--ink);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--line)}
.consent-inner{padding:1.3rem 1.4rem}
.consent p{font-size:.92rem;color:var(--ink-soft);margin-bottom:1rem}
.consent-actions{display:flex;gap:.7rem;justify-content:flex-end}

/* ---------- Toast ---------- */
.toast{position:fixed;left:50%;bottom:1.5rem;transform:translate(-50%,20px);background:var(--ink);color:var(--paper);padding:.8rem 1.4rem;border-radius:999px;font-weight:700;font-size:.9rem;opacity:0;transition:opacity .2s,transform .2s;z-index:200;pointer-events:none}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* ---------- Reveal-on-scroll (home only) ---------- */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
.reveal.in{opacity:1;transform:none}

/* ---------- Pagination ---------- */
.pagination .nav-links{display:flex;gap:.6rem}
.pagination a,.pagination span{padding:.6rem 1.1rem;border-radius:999px;border:1.5px solid var(--line-strong);font-weight:700;font-size:.88rem}
.pagination .current{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}

/* ---------- Trust bar (kept for family-wide helper compatibility) ---------- */
.trust-strip{display:flex;flex-wrap:wrap;gap:1.6rem;padding:1.1rem 0;justify-content:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust-item{display:inline-flex;align-items:center;gap:.5rem;font-size:.86rem;font-weight:700;color:var(--ink-soft)}
.trust-item svg{width:18px;height:18px;color:var(--accent-ink)}

/* ---------- Writer archive ---------- */
.writer-hero{display:flex;align-items:center;gap:1.3rem;flex-wrap:wrap}
.writer-hero .avatar{flex:none}
.writer-hero-text .eyebrow{margin-bottom:.4rem}
.writer-hero-text h1{font-size:var(--step-3)}

/* ---------- Contact page ---------- */
.contact-grid{display:grid;grid-template-columns:1fr;gap:2.4rem}
@media (min-width:900px){.contact-grid{grid-template-columns:1fr 1fr;gap:3rem}}
.contact-card{display:flex;gap:1rem;padding:1.3rem 0;border-bottom:1px solid var(--line)}
.contact-card:first-child{padding-top:0}
.contact-card b{display:block;margin-bottom:.3rem;font-size:1.02rem}
.contact-card span{color:var(--muted);font-size:.94rem;line-height:1.5}
.contact-card a{color:var(--accent-ink);font-weight:700}
.dot{flex:none;width:42px;height:42px;border-radius:50%;background:var(--accent-soft);color:var(--accent-ink);display:flex;align-items:center;justify-content:center}
.dot svg{width:19px;height:19px}

form .field{margin-bottom:1.1rem}
form label{display:block;font-weight:700;font-size:.88rem;margin-bottom:.4rem}
form input,form select,form textarea{width:100%;padding:.75rem .9rem;border-radius:var(--radius);border:1.5px solid var(--line-strong);background:var(--surface);color:var(--ink);font:inherit}
form input:focus,form select:focus,form textarea:focus{outline:0;border-color:var(--accent)}
form textarea{min-height:130px;resize:vertical}
.btn-block{width:100%;justify-content:center}
.notice{font-size:.84rem;color:var(--faint)}
.notice a{color:var(--accent-ink);text-decoration:underline}

/* ---------- Print ---------- */
@media print{.site-header,.site-footer,.newsletter,.consent,.breaking-bar,.icon-btn,.nav-cta{display:none!important}}
