/*
Theme Name: Suplexis
Theme URI: https://suplexis.com.br
Author: Suplexis
Author URI: https://suplexis.com.br
Description: Tema brutal-neon premium para o blog Suplexis — hipertrofia, força e emagrecimento. Design brutalist com bordas grossas, tipografia condensada agressiva e dark mode total.
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.5
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: suplexis
Tags: blog, dark, fitness, brutalist, neon, post-thumbnails
*/

:root {
    --bg:         #0a0a0a;
    --card:       #111111;
    --card2:      #161616;
    --neon:       #a3e635;
    --neon-hi:    #bef264;
    --white:      #f5f5f5;
    --muted:      #737373;
    --faint:      #404040;
    --border-dim: #1f1f1f;
    --bw:         2px;
    --bw-sm:      1px;
    --shadow:     4px 4px 0 #a3e635;
    --shadow-lg:  6px 6px 0 #a3e635;
    --ff-head:    'Barlow Condensed', 'Impact', 'Arial Narrow', sans-serif;
    --ff-body:    'DM Mono', 'Fira Mono', monospace;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
    background-color: var(--bg);
    color: var(--white);
    font-family: var(--ff-head);
    -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; transition: color 0.15s; }
img { max-width: 100%; height: auto; display: block; }
::selection { background: var(--neon); color: var(--bg); }
::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: var(--neon); }

/* ── Animations ── */
@keyframes fadeInUp { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0.1} }
@keyframes ticker { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ── Navbar ── */
.site-header {
    position: sticky; top: 0; z-index: 100;
    background: rgba(10,10,10,0.97);
    border-bottom: var(--bw) solid var(--neon);
    backdrop-filter: blur(6px);
}
.site-header-inner {
    max-width: 1280px; margin: 0 auto; padding: 0 24px;
    height: 56px; display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
.nav-logo { font-size: 28px; font-weight: 900; letter-spacing: -1px; text-transform: uppercase; }
.nav-logo em { color: var(--neon); font-style: normal; }
.nav-logo:hover { color: var(--neon); }
.nav-links { display: flex; align-items: center; }
.nav-links a {
    font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
    color: var(--muted); padding: 6px 14px; border: 1px solid transparent; transition: all 0.15s;
}
.nav-links a:hover { color: var(--neon); border-color: var(--neon); }
.nav-cta {
    font-size: 11px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase;
    color: var(--bg) !important; background: var(--neon);
    border: var(--bw) solid var(--neon) !important; padding: 8px 18px; transition: all 0.15s;
}
.nav-cta:hover { background: transparent !important; color: var(--neon) !important; }
.nav-mobile-toggle {
    display: none; background: transparent;
    border: 1px solid var(--faint); padding: 7px 9px; cursor: pointer;
    flex-direction: column; gap: 4px;
}
.nav-mobile-toggle span { display: block; width: 18px; height: 2px; background: var(--white); transition: all 0.2s; }
.nav-mobile-toggle:hover { border-color: var(--neon); }
#mobile-nav { display: none; flex-direction: column; background: var(--card); border-bottom: var(--bw) solid var(--neon); }
#mobile-nav.open { display: flex; }
#mobile-nav a { font-size: 13px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); padding: 13px 24px; border-bottom: 1px solid var(--border-dim); transition: all 0.15s; }
#mobile-nav a:hover { color: var(--neon); padding-left: 32px; }

/* ── Ticker ── */
.site-ticker { background: var(--neon); overflow: hidden; height: 34px; display: flex; align-items: center; border-bottom: var(--bw) solid var(--neon); }
.ticker-track { display: flex; white-space: nowrap; animation: ticker 22s linear infinite; }
.ticker-item { display: inline-flex; align-items: center; gap: 10px; font-size: 11px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--bg); padding: 0 20px; }
.ticker-sep { width: 5px; height: 5px; background: var(--bg); border-radius: 50%; flex-shrink: 0; }

/* ── Hero ── */
.index-hero {
    max-width: 1280px; margin: 0 auto; padding: 56px 24px 40px;
    border-bottom: 1px solid var(--border-dim);
    display: grid; grid-template-columns: 1fr auto; gap: 32px; align-items: end;
    animation: fadeInUp 0.5s ease both;
}
.hero-tag {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 11px; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase;
    color: var(--neon); border: 1px solid var(--neon); padding: 5px 12px; margin-bottom: 16px;
}
.hero-tag::before { content:''; width:6px; height:6px; background:var(--neon); border-radius:50%; animation:blink 1.5s ease infinite; }
.index-hero h1 { font-size: clamp(72px,11vw,128px); font-weight:900; line-height:0.88; letter-spacing:-3px; text-transform:uppercase; }
.index-hero h1 .neon-word { color: var(--neon); display: block; }
.hero-counter { display:flex; flex-direction:column; align-items:flex-end; gap:4px; padding-bottom:8px; }
.hero-counter .big-num { font-size:56px; font-weight:900; color:var(--neon); line-height:1; letter-spacing:-3px; }
.hero-counter .big-label { font-size:10px; font-weight:700; letter-spacing:0.15em; text-transform:uppercase; color:var(--muted); }

/* ── Category filter ── */
.cat-filter-bar { max-width:1280px; margin:0 auto; padding:0 24px; display:flex; align-items:stretch; overflow-x:auto; scrollbar-width:none; border-bottom:1px solid var(--border-dim); }
.cat-filter-bar::-webkit-scrollbar { display:none; }
.cat-filter-item { font-size:10px; font-weight:800; letter-spacing:0.14em; text-transform:uppercase; color:var(--muted); padding:12px 20px; border-right:1px solid var(--border-dim); white-space:nowrap; transition:all 0.15s; cursor:pointer; }
.cat-filter-item:hover, .cat-filter-item.active { color:var(--bg); background:var(--neon); }

/* ── Post grid ── */
.posts-grid-outer { max-width:1280px; margin:0 auto; padding:0 24px 64px; }

.featured-post { display:grid; grid-template-columns:1.2fr 1fr; border:var(--bw) solid var(--neon); background:var(--card); box-shadow:var(--shadow-lg); cursor:pointer; transition:transform 0.2s,box-shadow 0.2s; animation:fadeInUp 0.5s ease both; }
.featured-post:hover { transform:translate(-4px,-4px); box-shadow:8px 8px 0 var(--neon); }
.featured-post-image { overflow:hidden; aspect-ratio:4/3; background:var(--card2); }
.featured-post-image img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s; }
.featured-post:hover .featured-post-image img { transform:scale(1.04); }
.featured-post-img-ph { width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
.featured-post-img-ph span { font-size:120px; font-weight:900; text-transform:uppercase; letter-spacing:-4px; color:var(--neon); opacity:0.07; }
.featured-post-body { padding:32px 36px; display:flex; flex-direction:column; gap:16px; justify-content:center; }

.posts-subgrid { display:grid; grid-template-columns:repeat(3,1fr); border-left:var(--bw) solid var(--border-dim); border-bottom:var(--bw) solid var(--border-dim); }
.post-card { border-right:var(--bw) solid var(--border-dim); border-top:var(--bw) solid var(--border-dim); background:var(--card); display:flex; flex-direction:column; cursor:pointer; position:relative; transition:all 0.18s; animation:fadeInUp 0.5s ease both; }
.post-card::before { content:''; position:absolute; inset:-2px; border:var(--bw) solid transparent; pointer-events:none; transition:border-color 0.18s; z-index:2; }
.post-card:hover::before { border-color:var(--neon); }
.post-card:hover { background:#131313; z-index:3; box-shadow:var(--shadow); }
.post-card:nth-child(1){animation-delay:0.05s} .post-card:nth-child(2){animation-delay:0.1s} .post-card:nth-child(3){animation-delay:0.15s} .post-card:nth-child(4){animation-delay:0.2s} .post-card:nth-child(5){animation-delay:0.25s} .post-card:nth-child(6){animation-delay:0.3s}

.card-image-wrap { aspect-ratio:16/9; overflow:hidden; background:var(--card2); }
.card-image-wrap img { width:100%; height:100%; object-fit:cover; transition:transform 0.45s; }
.post-card:hover .card-image-wrap img { transform:scale(1.06); }
.card-img-ph { width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
.card-img-ph span { font-size:64px; font-weight:900; text-transform:uppercase; letter-spacing:-3px; color:var(--neon); opacity:0.06; }
.card-body { padding:20px; display:flex; flex-direction:column; gap:10px; flex:1; }

.tag-neon { display:inline-block; font-size:9px; font-weight:800; letter-spacing:0.14em; text-transform:uppercase; color:var(--bg); background:var(--neon); padding:3px 8px; }
.tag-outline { display:inline-block; font-size:9px; font-weight:800; letter-spacing:0.14em; text-transform:uppercase; color:var(--neon); background:transparent; border:1px solid var(--neon); padding:3px 8px; }
.post-meta-row { display:flex; align-items:center; gap:10px; }
.meta-text { font-size:10px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); }
.meta-sep { color:var(--neon); }
.num-ghost { position:absolute; top:10px; right:12px; font-size:80px; font-weight:900; line-height:1; letter-spacing:-4px; color:var(--neon); opacity:0.06; pointer-events:none; }

.featured-title { font-size:clamp(24px,3vw,36px); font-weight:900; line-height:1.0; letter-spacing:-0.5px; text-transform:uppercase; }
.card-title { font-size:18px; font-weight:900; line-height:1.1; letter-spacing:-0.3px; text-transform:uppercase; flex:1; }
.featured-title:hover,.card-title a:hover { color:var(--neon); }
.card-excerpt { font-family:var(--ff-body); font-size:11.5px; line-height:1.7; color:var(--muted); }

.btn-neon { display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:800; letter-spacing:0.12em; text-transform:uppercase; color:var(--bg); background:var(--neon); border:var(--bw) solid var(--neon); padding:9px 20px; cursor:pointer; transition:all 0.15s; width:fit-content; }
.btn-neon:hover { background:transparent; color:var(--neon); }
.btn-outline { display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:800; letter-spacing:0.12em; text-transform:uppercase; color:var(--neon); background:transparent; border:1px solid var(--neon); padding:7px 14px; cursor:pointer; transition:all 0.15s; width:fit-content; }
.btn-outline:hover { background:var(--neon); color:var(--bg); }

/* ── Section label ── */
.section-label { max-width:1280px; margin:0 auto; padding:0 24px; display:flex; align-items:stretch; }
.section-label-text { font-size:10px; font-weight:800; letter-spacing:0.15em; text-transform:uppercase; color:var(--bg); background:var(--neon); padding:8px 18px; white-space:nowrap; }
.section-label-line { flex:1; border-bottom:var(--bw) solid var(--border-dim); align-self:flex-end; height:50%; }

/* ── Stats bar ── */
.stats-bar { max-width:1280px; margin:0 auto; padding:0 24px; display:grid; grid-template-columns:repeat(4,1fr); border:var(--bw) solid var(--border-dim); border-top:none; }
.stat-cell { padding:20px 24px; border-right:1px solid var(--border-dim); text-align:center; }
.stat-cell:last-child { border-right:none; }
.stat-num { font-size:44px; font-weight:900; color:var(--neon); line-height:1; letter-spacing:-2px; }
.stat-label { font-size:9px; font-weight:700; letter-spacing:0.15em; text-transform:uppercase; color:var(--muted); margin-top:4px; }

/* ── Newsletter ── */
.newsletter-bar { max-width:1280px; margin:0 auto; padding:40px 24px; display:flex; align-items:center; gap:32px; border:var(--bw) solid var(--neon); background:var(--card); box-shadow:var(--shadow-lg); margin-bottom:64px; }
.newsletter-bar h2 { font-size:clamp(28px,4vw,48px); font-weight:900; letter-spacing:-1px; text-transform:uppercase; line-height:1; flex-shrink:0; }
.newsletter-bar h2 span { color:var(--neon); }
.newsletter-form { display:flex; flex:1; max-width:480px; margin-left:auto; }
.newsletter-input { flex:1; background:var(--bg); border:var(--bw) solid var(--faint); border-right:none; color:var(--white); font-family:var(--ff-body); font-size:12px; padding:12px 16px; outline:none; transition:border-color 0.15s; }
.newsletter-input:focus { border-color:var(--neon); }
.newsletter-input::placeholder { color:var(--faint); }

/* ── Pagination ── */
.pagination-wrap { max-width:1280px; margin:0 auto; padding:40px 24px; display:flex; align-items:center; }
.pagination-wrap .page-numbers { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; font-size:14px; font-weight:800; color:var(--muted); border:1px solid var(--border-dim); background:var(--card); transition:all 0.15s; border-right:none; }
.pagination-wrap .page-numbers:last-child { border-right:1px solid var(--border-dim); }
.pagination-wrap .page-numbers:hover,.pagination-wrap .page-numbers.current { background:var(--neon); border-color:var(--neon); color:var(--bg); }

/* ── No posts ── */
.no-posts { max-width:1280px; margin:0 auto; padding:96px 24px; text-align:center; }
.no-posts h2 { font-size:48px; font-weight:900; text-transform:uppercase; color:var(--faint); margin-bottom:12px; }
.no-posts p { font-family:var(--ff-body); font-size:13px; color:var(--muted); }

/* ── Single post ── */
.single-outer { max-width:1280px; margin:0 auto; padding:0 24px; display:grid; grid-template-columns:1fr 300px; align-items:start; }
.single-main { border-right:1px solid var(--border-dim); padding-right:48px; padding-top:48px; padding-bottom:80px; }
.breadcrumb { display:flex; align-items:center; gap:8px; margin-bottom:32px; font-size:10px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--muted); }
.breadcrumb a:hover { color:var(--neon); }
.breadcrumb-sep { color:var(--neon); }
.article-num-bg { font-size:clamp(100px,15vw,160px); font-weight:900; color:var(--neon); opacity:0.06; line-height:1; letter-spacing:-6px; display:block; margin-bottom:-80px; pointer-events:none; text-transform:uppercase; }
.article-title { font-size:clamp(44px,7vw,80px); font-weight:900; letter-spacing:-2px; line-height:0.92; text-transform:uppercase; color:var(--white); margin-bottom:32px; position:relative; z-index:1; }
.article-title .neon-word { color:var(--neon); }
.article-meta-row { display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:14px 0; border-top:1px solid var(--border-dim); border-bottom:1px solid var(--border-dim); margin-bottom:40px; }
.single-hero-img { aspect-ratio:16/7; overflow:hidden; border:var(--bw) solid var(--neon); box-shadow:var(--shadow-lg); margin-bottom:40px; background:var(--card2); }
.single-hero-img img { width:100%; height:100%; object-fit:cover; }
.single-hero-img-ph { width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
.single-hero-img-ph span { font-size:120px; font-weight:900; text-transform:uppercase; letter-spacing:-6px; color:var(--neon); opacity:0.08; }

/* ── Article typography ── */
.article-content { font-family:var(--ff-body); font-size:14px; line-height:2; color:#c8c8c8; }
.article-content p { margin-bottom:1.5em; }
.article-content h2,.article-content h3,.article-content h4 { font-family:var(--ff-head); font-weight:900; text-transform:uppercase; letter-spacing:-0.5px; line-height:1.1; color:var(--white); margin-top:2.5em; margin-bottom:0.75em; }
.article-content h2 { font-size:32px; border-left:4px solid var(--neon); padding-left:16px; }
.article-content h3 { font-size:24px; }
.article-content h4 { font-size:18px; color:var(--neon); }
.article-content a { color:var(--neon); text-decoration:underline; text-decoration-color:rgba(163,230,53,0.4); text-underline-offset:3px; }
.article-content a:hover { color:var(--neon-hi); }
.article-content strong,.article-content b { color:var(--white); font-family:var(--ff-head); font-size:1.05em; font-weight:900; }
.article-content em { color:#a3a3a3; }
.article-content blockquote { border-left:4px solid var(--neon); background:rgba(163,230,53,0.04); padding:16px 20px; margin:2em 0; font-family:var(--ff-head); font-size:22px; font-weight:700; text-transform:uppercase; color:var(--neon); line-height:1.3; }
.article-content blockquote p { margin-bottom:0; font-size:inherit; }
.article-content ul,.article-content ol { padding-left:1.5em; margin-bottom:1.5em; }
.article-content li { margin-bottom:0.5em; }
.article-content ul li::marker { color:var(--neon); content:'▸  '; }
.article-content ol li::marker { color:var(--neon); font-weight:900; font-family:var(--ff-head); font-size:16px; }
.article-content img { border:var(--bw) solid var(--border-dim); box-shadow:var(--shadow); margin:2em 0; max-width:100%; }
.article-content pre { background:#0d0d0d; border:1px solid var(--border-dim); border-left:4px solid var(--neon); padding:20px 24px; overflow-x:auto; margin:2em 0; font-size:13px; }
.article-content :not(pre)>code { background:#1a1a1a; border:1px solid var(--faint); color:var(--neon); padding:2px 6px; font-size:0.9em; }
.article-content table { width:100%; border-collapse:collapse; margin:2em 0; }
.article-content thead th { background:var(--card); color:var(--neon); font-family:var(--ff-head); font-size:13px; font-weight:800; letter-spacing:0.1em; text-transform:uppercase; padding:10px 16px; text-align:left; border-bottom:var(--bw) solid var(--neon); }
.article-content tbody td { padding:10px 16px; border-bottom:1px solid var(--border-dim); color:#c8c8c8; font-size:13px; }
.article-content tbody tr:hover td { background:rgba(163,230,53,0.03); }

/* ── Stats callout ── */
.stats-callout { display:grid; grid-template-columns:repeat(3,1fr); border:var(--bw) solid var(--neon); box-shadow:var(--shadow); margin:2.5em 0; }
.stats-callout-cell { padding:20px; text-align:center; border-right:1px solid var(--neon); }
.stats-callout-cell:last-child { border-right:none; }
.stats-callout-num { font-family:var(--ff-head); font-size:44px; font-weight:900; color:var(--neon); line-height:1; letter-spacing:-2px; }
.stats-callout-label { font-size:9px; font-weight:700; letter-spacing:0.15em; text-transform:uppercase; color:var(--muted); margin-top:6px; }

/* ── Sidebar ── */
.single-sidebar { padding:48px 0 48px 32px; position:sticky; top:80px; }
.sidebar-module { border:var(--bw) solid var(--border-dim); background:var(--card); }
.sidebar-module+.sidebar-module { border-top:none; }
.sidebar-module-header { font-size:9px; font-weight:800; letter-spacing:0.18em; text-transform:uppercase; color:var(--bg); background:var(--neon); padding:8px 16px; }
.sidebar-module-body { padding:16px; }
.most-read-item { display:flex; align-items:flex-start; gap:12px; padding:12px 0; border-bottom:1px solid var(--border-dim); cursor:pointer; transition:padding-left 0.15s; }
.most-read-item:last-child { border-bottom:none; }
.most-read-item:hover { padding-left:6px; }
.most-read-num { font-size:36px; font-weight:900; color:var(--neon); opacity:0.3; line-height:1; letter-spacing:-2px; flex-shrink:0; min-width:32px; }
.most-read-title { font-size:12px; font-weight:800; text-transform:uppercase; color:var(--white); line-height:1.3; transition:color 0.15s; }
.most-read-item:hover .most-read-title { color:var(--neon); }

/* ── Share row ── */
.share-row { display:flex; align-items:center; border:var(--bw) solid var(--border-dim); margin:40px 0; }
.share-label { font-size:10px; font-weight:800; letter-spacing:0.15em; text-transform:uppercase; color:var(--bg); background:var(--neon); padding:12px 16px; white-space:nowrap; flex-shrink:0; }
.share-btn { display:inline-flex; align-items:center; gap:6px; font-size:10px; font-weight:800; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); padding:12px 16px; border-left:1px solid var(--border-dim); background:transparent; border-top:none; border-right:none; border-bottom:none; cursor:pointer; transition:all 0.15s; }
.share-btn:hover { color:var(--neon); background:rgba(163,230,53,0.05); }

/* ── Post navigation ── */
.post-nav { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--border-dim); margin:40px 0; }
.post-nav-item { padding:20px; cursor:pointer; transition:background 0.15s; }
.post-nav-item+.post-nav-item { border-left:1px solid var(--border-dim); }
.post-nav-item:hover { background:var(--card2); }
.post-nav-label { font-size:9px; font-weight:700; letter-spacing:0.15em; text-transform:uppercase; color:var(--muted); margin-bottom:8px; display:flex; align-items:center; gap:6px; }
.post-nav-label .arrow { color:var(--neon); }
.post-nav-title { font-size:13px; font-weight:800; text-transform:uppercase; color:var(--white); line-height:1.3; transition:color 0.15s; }
.post-nav-item:hover .post-nav-title { color:var(--neon); }
.post-nav-item.next { text-align:right; }
.post-nav-item.next .post-nav-label { justify-content:flex-end; }

/* ── Related posts ── */
.related-grid { display:grid; grid-template-columns:repeat(3,1fr); border-left:var(--bw) solid var(--border-dim); border-bottom:var(--bw) solid var(--border-dim); margin-bottom:64px; }
.related-card { border-right:var(--bw) solid var(--border-dim); border-top:var(--bw) solid var(--border-dim); background:var(--card); cursor:pointer; transition:all 0.15s; position:relative; overflow:hidden; }
.related-card::before { content:''; position:absolute; inset:-2px; border:var(--bw) solid transparent; pointer-events:none; transition:border-color 0.15s; z-index:2; }
.related-card:hover::before { border-color:var(--neon); }
.related-card:hover { background:#131313; }
.related-card-body { padding:16px; display:flex; flex-direction:column; gap:8px; }

/* ── Footer ── */
.site-footer { background:#060606; border-top:var(--bw) solid var(--neon); }
.footer-top { max-width:1280px; margin:0 auto; padding:48px 24px 40px; display:grid; grid-template-columns:1.2fr 1fr 1fr; border-bottom:1px solid var(--border-dim); }
.footer-col { padding-right:32px; border-right:1px solid var(--border-dim); }
.footer-col:last-child { border-right:none; padding-left:32px; padding-right:0; }
.footer-col:nth-child(2) { padding:0 32px; }
.footer-logo { font-size:36px; font-weight:900; letter-spacing:-2px; text-transform:uppercase; line-height:1; margin-bottom:12px; display:block; }
.footer-logo em { color:var(--neon); font-style:normal; }
.footer-col-head { font-size:9px; font-weight:800; letter-spacing:0.18em; text-transform:uppercase; color:var(--bg); background:var(--neon); padding:5px 10px; display:inline-block; margin-bottom:16px; }
.footer-link { display:flex; align-items:center; justify-content:space-between; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:0.05em; color:var(--muted); padding:9px 0; border-bottom:1px solid var(--border-dim); transition:color 0.15s,padding-left 0.15s; }
.footer-link:hover { color:var(--neon); padding-left:6px; }
.footer-link span { font-family:var(--ff-body); font-size:10px; background:var(--card); border:1px solid var(--border-dim); padding:2px 6px; color:var(--faint); }
.footer-bottom { max-width:1280px; margin:0 auto; padding:20px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.footer-copy { font-family:var(--ff-body); font-size:11px; color:var(--faint); }
.footer-copy a { color:var(--muted); }
.footer-copy a:hover { color:var(--neon); }
.footer-links-sm { display:flex; }
.footer-links-sm a { font-size:10px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--faint); padding:4px 12px; border-left:1px solid var(--border-dim); transition:color 0.15s; }
.footer-links-sm a:first-child { border-left:none; }
.footer-links-sm a:hover { color:var(--neon); }

/* ── Back to top ── */
.back-to-top { position:fixed; bottom:24px; right:24px; width:44px; height:44px; background:var(--neon); color:var(--bg); border:none; display:flex; align-items:center; justify-content:center; cursor:pointer; opacity:0; pointer-events:none; transform:translateY(8px); transition:opacity 0.25s,transform 0.25s,box-shadow 0.25s; z-index:200; box-shadow:var(--shadow); }
.back-to-top.visible { opacity:1; pointer-events:auto; transform:translateY(0); }
.back-to-top:hover { box-shadow:var(--shadow-lg); }

/* ── WP align ── */
.alignleft { float:left; margin-right:1.5em; margin-bottom:1em; }
.alignright { float:right; margin-left:1.5em; margin-bottom:1em; }
.aligncenter { margin-left:auto; margin-right:auto; }
.wp-caption-text { font-size:11px; color:var(--muted); margin-top:6px; text-align:center; font-family:var(--ff-body); }

/* ── Responsive ── */
@media(max-width:1024px) {
    .single-outer{grid-template-columns:1fr}
    .single-main{border-right:none;padding-right:0}
    .single-sidebar{position:static;padding-left:0;padding-top:0;border-top:1px solid var(--border-dim)}
    .footer-top{grid-template-columns:1fr 1fr}
    .footer-col:nth-child(3){grid-column:1/-1;border-right:none;padding:24px 0 0;border-top:1px solid var(--border-dim)}
}
@media(max-width:768px) {
    .featured-post{grid-template-columns:1fr}
    .posts-subgrid{grid-template-columns:1fr 1fr}
    .index-hero{grid-template-columns:1fr}
    .index-hero h1{font-size:72px}
    .hero-counter{align-items:flex-start}
    .stats-bar{grid-template-columns:repeat(2,1fr)}
    .newsletter-bar{flex-direction:column;align-items:flex-start}
    .newsletter-form{max-width:100%;width:100%;margin-left:0}
    .nav-links{display:none}
    .nav-mobile-toggle{display:flex}
    .related-grid{grid-template-columns:1fr}
    .post-nav{grid-template-columns:1fr}
    .post-nav-item.next{border-left:none;border-top:1px solid var(--border-dim)}
    .footer-top{grid-template-columns:1fr}
    .footer-col,.footer-col:nth-child(2){border-right:none;border-bottom:1px solid var(--border-dim);padding:24px 0}
    .footer-col:last-child{border-bottom:none;padding-left:0}
    .stats-callout{grid-template-columns:1fr}
    .stats-callout-cell{border-right:none;border-bottom:1px solid var(--neon)}
    .stats-callout-cell:last-child{border-bottom:none}
}
@media(max-width:560px) {
    .posts-subgrid{grid-template-columns:1fr}
}
