/* ========================================
   ЯДРО — Dark News Theme for Ghost v3
   Matches mockup exactly
   ======================================== */

:root {
    --bg: #111;
    --bg2: #1a1a1a;
    --bg-card: #1c1c1c;
    --bg-hover: #252525;
    --text: #eee;
    --text2: #aaa;
    --text3: #666;
    --red: #c0392b;
    --red2: #e74c3c;
    --border: #282828;
    --font-h: 'Oswald', sans-serif;
    --font-b: 'Roboto', sans-serif;
    --font-n: 'Roboto Condensed', sans-serif;
    --max: 1280px;
    --r: 4px;
    --accent: var(--red);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:focus-visible{outline:2px solid var(--red);outline-offset:2px}
body{font-family:var(--font-b);background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
ul{list-style:none}
.container{max-width:var(--max);margin:0 auto;padding:0 1.25rem}

/* ── BREAKING NEWS BAR ─────────────────── */
.breaking-bar{background:var(--red);padding:.35rem 0;font-size:.78rem}
.breaking-bar-inner{display:flex;align-items:center;gap:.75rem;overflow:hidden}
.breaking-label{font-family:var(--font-h);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#fff;background:rgba(0,0,0,.25);padding:.15rem .55rem;border-radius:2px;white-space:nowrap;flex-shrink:0}
.breaking-ticker{display:flex;align-items:center;gap:.6rem;overflow:hidden;white-space:nowrap}
.breaking-item{color:rgba(255,255,255,.92);font-family:var(--font-n);font-weight:500;transition:color .15s;overflow:hidden;text-overflow:ellipsis}
.breaking-item:hover{color:#fff}
.breaking-sep{color:rgba(255,255,255,.4);font-size:.9rem}

/* ── TOP BAR ───────────────────────────── */
.top-bar{background:#080808;border-bottom:1px solid var(--border);font-size:.78rem;color:var(--text3)}
.top-bar-inner{display:flex;justify-content:space-between;align-items:center;max-width:var(--max);margin:0 auto;padding:.35rem 1.25rem}
.top-bar-right{display:flex;align-items:center;gap:1.25rem}
.top-nav a{color:var(--text2);margin-left:1rem;transition:color .2s}
.top-nav a:hover{color:var(--red2)}
.social-links{display:flex;gap:.6rem;align-items:center}
.social-links a{color:var(--text3);display:flex;transition:color .2s}
.social-links a:hover{color:#fff}

/* ── BANNER (cover image) ──────────────── */
.header-banner{background:#080808;line-height:0}
.header-banner-img{width:100%;display:block;max-height:300px;object-fit:cover;object-position:center}

/* ── MAIN NAV (BLACK bar, active = red) ─ */
.main-nav{background:#1a1a1a;position:sticky;top:0;z-index:100;border-bottom:1px solid var(--border)}
.main-nav-inner{display:flex;align-items:center;justify-content:space-between;max-width:var(--max);margin:0 auto;padding:0 1.25rem;position:relative}
.site-brand{display:flex;align-items:center;flex-shrink:0}
.site-logo{font-family:var(--font-h);font-size:1rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.08em}
.nav{display:flex;gap:0;list-style:none;margin:0;padding:0}
.nav li a{display:block;padding:.75rem 1.1rem;font-family:var(--font-n);font-size:.82rem;font-weight:600;color:#ccc;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border-bottom:3px solid transparent;transition:all .2s}
.nav li a:hover{color:#fff;border-bottom-color:var(--red)}
.nav li.nav-current a,.nav .nav-item-current a{color:var(--red);border-bottom-color:var(--red)}
.nav-actions{display:flex;align-items:center;flex-shrink:0}
.nav-search-btn{background:none;border:none;color:#ccc;cursor:pointer;padding:.7rem;display:flex;transition:color .2s}
.nav-search-btn:hover{color:#fff}
.nav-hamburger{display:none;background:none;border:none;color:#ccc;cursor:pointer;padding:.7rem;align-items:center;transition:color .2s}
.nav-hamburger:hover{color:#fff}

/* ── SEARCH OVERLAY ────────────────────── */
.search-overlay{position:fixed;inset:0;background:rgba(0,0,0,.95);z-index:200;display:none;align-items:center;justify-content:center}
.search-overlay.active{display:flex}
.search-overlay-inner{display:flex;align-items:center;gap:1rem;width:90%;max-width:600px}
.search-input{flex:1;background:0;border:none;border-bottom:2px solid var(--red);color:#fff;font-size:1.4rem;font-family:var(--font-b);padding:.75rem 0;outline:none}
.search-input::placeholder{color:var(--text3)}
.search-close{background:none;border:none;color:#fff;cursor:pointer;padding:.5rem}

/* ── HERO SECTION (3-col grid) ─────────── */
.hero-section{margin:1.25rem 0 2rem}
.hero-grid{display:grid;grid-template-columns:1.6fr .85fr 265px;gap:1rem;grid-template-rows:490px}

/* Hero main (big left) */
.hero-main{grid-column:1;grid-row:1;overflow:hidden}
.hero-main-link{display:block;position:relative;border-radius:var(--r);overflow:hidden;height:100%}
.hero-main-img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .5s}
.hero-main-link:hover .hero-main-img{transform:scale(1.03)}
.hero-placeholder{background:linear-gradient(135deg,#1a1a1a,#222)}
.hero-main-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:1.75rem 1.5rem 1.5rem;background:linear-gradient(to bottom,rgba(0,0,0,.05) 0%,rgba(0,0,0,.2) 40%,rgba(0,0,0,.92) 75%,rgba(0,0,0,.97) 100%)}
.hero-main-title{font-family:var(--font-h);font-size:2rem;font-weight:800;line-height:1.15;color:#fff;margin-bottom:.5rem;text-shadow:0 2px 8px rgba(0,0,0,.6)}
.hero-main-excerpt{font-size:.88rem;color:rgba(255,255,255,.78);line-height:1.5;margin-bottom:.4rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hero-main-meta{font-size:.75rem;color:rgba(255,255,255,.5)}
.hero-main-link:hover .hero-main-title{color:var(--red2)}

/* Category badge */
.category-badge{display:inline-block;background:var(--red);color:#fff;font-family:var(--font-n);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.2rem .6rem;border-radius:2px;margin-bottom:.5rem}
.category-badge-sm{font-size:.62rem;padding:.15rem .48rem}

/* Hero secondary (3 stacked middle column) */
.hero-secondary{grid-column:2;grid-row:1;display:grid;grid-template-rows:repeat(3,1fr);gap:.6rem}
.hero-secondary-card{position:relative;border-radius:var(--r);overflow:hidden;min-height:0}
.hero-secondary-link{display:block;position:absolute;inset:0}
.hero-secondary-link:hover .hero-sec-img{transform:scale(1.04)}
.hero-sec-img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .4s}
.hero-sec-content{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:.75rem .9rem;background:linear-gradient(to bottom,rgba(0,0,0,.1) 0%,rgba(0,0,0,.6) 50%,rgba(0,0,0,.95) 100%)}
.hero-sec-title{font-family:var(--font-h);font-size:.92rem;font-weight:700;line-height:1.25;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.5)}
.hero-sec-meta{font-size:.68rem;color:rgba(255,255,255,.5);margin-top:.2rem}
.hero-secondary-link:hover .hero-sec-title{color:var(--red2)}

/* Hero sidebar (right column) */
.hero-sidebar{grid-column:3;grid-row:1;background:var(--bg-card);border-radius:var(--r);border:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}
.hero-sidebar .sidebar-item{flex:1;min-height:0;border-bottom:1px solid var(--border)}
.hero-sidebar .sidebar-item:last-of-type{border-bottom:none}
.hero-sidebar .sidebar-item a{height:100%;align-items:center;border-bottom:none}
.sidebar-title{font-family:var(--font-h);font-size:.88rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#fff;padding:.75rem 1rem;border-bottom:2px solid var(--red);background:rgba(192,57,43,.08);flex-shrink:0}
.sidebar-item a{display:flex;align-items:flex-start;gap:.65rem;padding:.55rem 1rem;transition:background .15s}
.sidebar-item a:hover{background:var(--bg-hover)}
.sidebar-time{font-family:var(--font-n);font-size:.78rem;font-weight:700;color:var(--red);min-width:36px;flex-shrink:0}
.sidebar-item-content{flex:1;min-width:0}
.sidebar-item-title{font-size:.8rem;font-weight:500;color:var(--text);line-height:1.35}
.sidebar-item-date{font-size:.68rem;color:var(--text3);margin-top:.1rem;display:block}
.sidebar-more{display:block;text-align:center;padding:.65rem 1rem;flex-shrink:0;font-family:var(--font-n);font-size:.8rem;font-weight:600;color:var(--red);border-top:1px solid var(--border);transition:all .2s}
.sidebar-more:hover{background:var(--red);color:#fff}

/* Article sidebar reuse */
.article-sidebar .sidebar-widget{background:var(--bg-card);border-radius:var(--r);border:1px solid var(--border)}
.article-sidebar .sidebar-title{padding:.75rem 1rem;border-bottom:2px solid var(--red)}
.article-sidebar .sidebar-item a{padding:.6rem 1rem}

/* ── SECTION TITLES ────────────────────── */
.section-title{font-family:var(--font-h);font-size:1.05rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff;margin-bottom:1.25rem;display:flex;align-items:center;gap:.6rem}
.section-title::after{content:'';flex:1;height:1px;background:var(--border)}
.section-title-accent{width:4px;height:20px;background:var(--red);border-radius:2px;flex-shrink:0}

/* ── АКТУАЛНО (4-col cards) ────────────── */
.category-section{margin:2rem 0}
.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem}
.category-card-link{display:block;position:relative;border-radius:var(--r);overflow:hidden;height:240px}
.category-card-img{width:100%;height:100%;object-fit:cover;transition:transform .45s}
.category-card-link:hover .category-card-img{transform:scale(1.06)}
.category-card-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:.9rem;background:linear-gradient(to bottom,rgba(0,0,0,.05) 0%,rgba(0,0,0,.5) 50%,rgba(0,0,0,.92) 100%)}
.category-card-title{font-family:var(--font-h);font-size:.95rem;font-weight:700;color:#fff;line-height:1.3;margin-top:.3rem}
.category-card-meta{font-size:.68rem;color:rgba(255,255,255,.5);margin-top:.3rem;display:flex;gap:.6rem}

/* ── POSTS GRID ────────────────────────── */
.posts-section{margin:2rem 0 2.5rem}
.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.post-card{background:var(--bg-card);border-radius:var(--r);overflow:hidden;border:1px solid var(--border);transition:transform .2s,box-shadow .2s,border-color .2s}
.post-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.5);border-color:#333}
.post-card-link{display:block}
.post-card-img{width:100%;height:185px;object-fit:cover;transition:transform .4s}
.post-card:hover .post-card-img{transform:scale(1.03)}
.post-card-content{padding:1rem 1rem .9rem}
.post-card-title{font-family:var(--font-h);font-size:1.05rem;font-weight:700;line-height:1.3;color:#fff;margin:.3rem 0 .4rem;transition:color .2s}
.post-card:hover .post-card-title{color:var(--red2)}
.post-card-excerpt{font-size:.82rem;color:var(--text2);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.post-card-meta{display:flex;justify-content:space-between;font-size:.7rem;color:var(--text3);margin-top:.65rem;padding-top:.5rem;border-top:1px solid var(--border)}

/* ── SINGLE ARTICLE ────────────────────── */
.article-page{padding:2rem 0 3rem}
.article-header{max-width:800px;margin:0 auto 2rem;text-align:center}
.article-title{font-family:var(--font-h);font-size:2.2rem;font-weight:700;line-height:1.15;color:#fff;margin:.6rem 0}
.article-meta-bar{display:flex;align-items:center;justify-content:center;gap:1rem;color:var(--text3);font-size:.85rem;margin-top:.75rem}
.article-author{display:flex;align-items:center;gap:.4rem}
.author-avatar{width:30px;height:30px;border-radius:50%;object-fit:cover}
.author-name{color:var(--text);font-weight:500}
.article-layout{display:grid;grid-template-columns:1fr 280px;gap:2rem;max-width:1100px;margin:0 auto}
.article-body{min-width:0}
.article-feature-img{margin-bottom:1.75rem;border-radius:var(--r);overflow:hidden}
.article-feature-img figcaption{font-size:.78rem;color:var(--text3);padding:.4rem 0;text-align:center}
.article-content{font-size:1.05rem;line-height:1.8;color:var(--text2)}
.article-content h2{font-family:var(--font-h);font-size:1.5rem;color:#fff;margin:1.75rem 0 .7rem}
.article-content h3{font-family:var(--font-h);font-size:1.2rem;color:#fff;margin:1.25rem 0 .5rem}
.article-content p{margin-bottom:1.2rem}
.article-content a{color:var(--red2);text-decoration:underline}
.article-content blockquote{border-left:4px solid var(--red);padding:.85rem 1.25rem;margin:1.25rem 0;background:var(--bg2);border-radius:0 var(--r) var(--r) 0;font-style:italic;color:var(--text)}
.article-content img{border-radius:var(--r);margin:1.25rem 0}
.article-content figure{margin:1.25rem 0}
.article-content figcaption{font-size:.78rem;color:var(--text3);text-align:center;margin-top:.4rem}
.article-content ul,.article-content ol{margin:0 0 1.2rem 1.5rem}
.article-content ul{list-style:disc}
.article-content ol{list-style:decimal}
.article-content li{margin-bottom:.4rem;color:var(--text2)}
.article-content hr{border:none;border-top:1px solid var(--border);margin:2rem 0}
.article-content pre{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:1.1rem 1.25rem;overflow-x:auto;margin:1.25rem 0;font-size:.88rem}
.article-content code{background:var(--bg2);padding:.15rem .4rem;border-radius:3px;font-size:.88em;color:var(--red2)}
.article-content pre code{background:none;padding:0;color:var(--text2);font-size:inherit}
.article-content table{width:100%;border-collapse:collapse;margin:1.25rem 0;font-size:.9rem}
.article-content table th,.article-content table td{padding:.55rem .85rem;border:1px solid var(--border);text-align:left}
.article-content table th{background:var(--bg2);color:#fff;font-family:var(--font-h);font-size:.82rem;text-transform:uppercase;letter-spacing:.03em}
.article-content table tr:nth-child(even){background:rgba(255,255,255,.025)}
.article-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--border)}
.article-tag{background:var(--bg2);border:1px solid var(--border);padding:.25rem .7rem;border-radius:20px;font-size:.75rem;color:var(--text2);transition:all .2s}
.article-tag:hover{background:var(--red);border-color:var(--red);color:#fff}
.subscribe-card{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));border:1px solid var(--border);border-radius:var(--r);padding:1.5rem;margin:1.5rem 0;display:grid;gap:.8rem}
.subscribe-card h3{font-family:var(--font-h);font-size:1.1rem;color:#fff;margin:0}
.subscribe-card p{color:var(--text2);line-height:1.75;margin:0}
.subscribe-card .pagination-btn{display:inline-block;margin-top:.5rem}
.article-sidebar{position:sticky;top:55px;align-self:start}
.related-posts{margin-top:2.5rem;max-width:1100px;margin-left:auto;margin-right:auto}

/* ── TAG / AUTHOR PAGE ─────────────────── */
.tag-header{text-align:center;padding:2rem 0;border-bottom:1px solid var(--border);margin-bottom:1.75rem}
.tag-title{font-family:var(--font-h);font-size:2.25rem;font-weight:700;color:#fff;text-transform:uppercase}
.tag-desc{color:var(--text2);margin-top:.4rem;font-size:.95rem}
.tag-count{display:inline-block;margin-top:.4rem;font-size:.82rem;color:var(--text3)}
.author-header{padding:2rem 0;margin-bottom:1.5rem;border-bottom:1px solid var(--border)}
.author-header-inner{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}
.author-avatar-large{width:96px;height:96px;border-radius:50%;object-fit:cover;border:3px solid var(--red)}
.author-header-copy{max-width:760px}
.author-title{font-family:var(--font-h);font-size:2rem;font-weight:700;color:#fff;margin-bottom:.65rem}
.author-bio{color:var(--text2);line-height:1.8;margin-bottom:.85rem}
.author-meta-list{display:flex;flex-wrap:wrap;gap:1rem;font-size:.95rem;color:var(--text3)}
.author-link{color:var(--red);font-weight:600}
.authors-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.author-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;transition:transform .2s}
.author-card:hover{transform:translateY(-2px)}
.author-card-link{display:flex;flex-direction:column;height:100%}
.author-card-img{width:100%;height:220px;object-fit:cover}
.author-card-body{padding:1rem}
.author-card-name{font-family:var(--font-h);font-size:1.05rem;font-weight:700;color:#fff;margin-bottom:.45rem}
.author-card-bio{font-size:.88rem;color:var(--text2);margin-bottom:.85rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.author-card-meta{font-size:.82rem;color:var(--text3)}
.search-header{padding:2rem 0;margin-bottom:1.5rem;border-bottom:1px solid var(--border)}
.search-query{color:var(--text2);font-size:1rem;margin-top:.5rem}
.empty-state{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r);padding:2rem;text-align:center}
.empty-state p{color:var(--text2);margin-bottom:1rem}

/* ── PAGINATION ────────────────────────── */
.pagination{display:flex;justify-content:center;align-items:center;gap:1.25rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}
.pagination-btn{font-family:var(--font-n);font-size:.82rem;font-weight:600;color:#fff;background:var(--red);padding:.45rem 1.1rem;border-radius:var(--r);transition:background .2s}
.pagination-btn:hover{background:var(--red2)}
.pagination-info{font-size:.82rem;color:var(--text3)}

/* ── NEWSLETTER SECTION ────────────────── */
.newsletter-section{background:linear-gradient(135deg,#1a0a0a,#1c1c1c);border-top:3px solid var(--red);border-bottom:1px solid var(--border);padding:2.5rem 0;margin-top:2rem}
.newsletter-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.newsletter-text{flex:1;min-width:260px}
.newsletter-title{font-family:var(--font-h);font-size:1.5rem;font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.4rem}
.newsletter-desc{color:var(--text2);font-size:.9rem;line-height:1.6;margin:0}
.newsletter-btn{font-family:var(--font-h);font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:var(--red);color:#fff;padding:.8rem 1.75rem;border-radius:var(--r);white-space:nowrap;transition:background .2s,transform .2s;flex-shrink:0}
.newsletter-btn:hover{background:var(--red2);transform:translateY(-1px)}
@media(max-width:640px){.newsletter-inner{flex-direction:column;text-align:center}.newsletter-btn{width:100%;text-align:center}}

/* ── ERROR PAGE ────────────────────────── */
.error-page{padding:4rem 0 3rem;text-align:center;max-width:860px;margin:0 auto}
.error-code{font-family:var(--font-h);font-size:8rem;font-weight:900;color:var(--red);line-height:1;letter-spacing:-.02em;opacity:.9}
.error-title{font-family:var(--font-h);font-size:1.8rem;font-weight:700;color:#fff;margin:.5rem 0 .75rem;text-transform:uppercase}
.error-desc{color:var(--text2);font-size:.95rem;margin-bottom:2rem}
.error-actions{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;margin-bottom:3rem}
.error-search-link{font-family:var(--font-n);font-size:.85rem;font-weight:600;color:var(--text2);border:1px solid var(--border);padding:.45rem 1.1rem;border-radius:var(--r);transition:all .2s}
.error-search-link:hover{color:#fff;border-color:#555}
.error-recent{text-align:left;margin-top:1rem;padding-top:2rem;border-top:1px solid var(--border)}
.error-recent-title{font-family:var(--font-h);font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text3);margin-bottom:1.25rem}
.error-recent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.error-post-card{display:block;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;transition:transform .2s,box-shadow .2s}
.error-post-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.4)}
.error-post-img{width:100%;height:140px;object-fit:cover}
.error-post-body{padding:.75rem .9rem}
.error-post-title{font-family:var(--font-h);font-size:.9rem;font-weight:600;color:#fff;line-height:1.3;margin-top:.3rem}
.error-post-card:hover .error-post-title{color:var(--red2)}
@media(max-width:640px){.error-recent-grid{grid-template-columns:1fr}.error-code{font-size:5rem}}

/* ── CONTACT PAGE ──────────────────────── */
.contact-page{padding:2.5rem 0 3rem}
.contact-layout{display:grid;grid-template-columns:1fr 320px;gap:2.5rem;align-items:start}
.contact-form{display:grid;gap:1.25rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.form-group{display:flex;flex-direction:column;gap:.4rem}
.form-group label{font-family:var(--font-n);font-size:.8rem;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.04em}
.req{color:var(--red);font-size:.85em}
.form-group input,.form-group textarea{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);color:var(--text);font-family:var(--font-b);font-size:.95rem;padding:.65rem .9rem;outline:none;transition:border-color .2s;width:100%}
.form-group input:focus,.form-group textarea:focus{border-color:var(--red)}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text3)}
.form-group textarea{resize:vertical;min-height:150px}
.contact-submit{font-family:var(--font-h);font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--red);color:#fff;border:none;border-radius:var(--r);padding:.8rem 2rem;cursor:pointer;transition:background .2s,transform .2s}
.contact-submit:hover{background:var(--red2);transform:translateY(-1px)}
.contact-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}
.form-note{font-size:.78rem;color:var(--text3);margin-top:-.25rem}
.form-success{background:rgba(39,174,96,.1);border:1px solid #27ae60;border-radius:var(--r);padding:1.5rem;text-align:center;display:none}
.form-success.active{display:block}
.form-success-title{font-family:var(--font-h);font-size:1.15rem;color:#fff;margin-bottom:.4rem}
.form-success p{color:var(--text2);font-size:.9rem;margin:0}
.contact-sidebar{position:sticky;top:70px;align-self:start}
.contact-info-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r);padding:1.5rem}
.contact-info-card h3{font-family:var(--font-h);font-size:1rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.03em;margin-bottom:1rem;padding-bottom:.7rem;border-bottom:2px solid var(--red)}
.contact-page-content{font-size:.9rem;margin-bottom:.5rem}
.contact-page-content p{margin-bottom:.75rem;color:var(--text2)}
.contact-socials{display:flex;flex-direction:column;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border)}
.contact-social-link{display:flex;align-items:center;gap:.6rem;padding:.5rem 0;color:var(--text2);border-bottom:1px solid var(--border);font-size:.88rem;transition:color .2s}
.contact-social-link:last-child{border-bottom:none}
.contact-social-link:hover{color:var(--red2)}
@media(max-width:860px){.contact-layout{grid-template-columns:1fr}.contact-sidebar{position:static}}
@media(max-width:540px){.form-row{grid-template-columns:1fr}}

/* ── FOOTER ────────────────────────────── */
.site-footer{background:#080808;border-top:3px solid var(--red);margin-top:2.5rem;padding:2rem 0 1.25rem}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2.5rem;max-width:var(--max);margin:0 auto;padding:0 1.25rem}
.footer-logo{font-family:var(--font-h);font-size:1.6rem;font-weight:900;color:#fff;text-transform:uppercase;letter-spacing:.04em}
.footer-desc{color:var(--text3);font-size:.85rem;line-height:1.6;margin-top:.6rem}
.footer-social{display:flex;gap:.6rem;margin-top:.75rem}
.footer-social a{color:var(--text3);display:flex;transition:color .2s}
.footer-social a:hover{color:#fff}
.footer-nav h4{font-family:var(--font-h);font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#fff;margin-bottom:.6rem}
.footer-nav ul li a{display:block;padding:.25rem 0;font-size:.85rem;color:var(--text3);transition:color .2s}
.footer-nav ul li a:hover{color:var(--red2)}
.footer-bottom{max-width:var(--max);margin:1.5rem auto 0;padding:1rem 1.25rem 0;border-top:1px solid var(--border);text-align:center;font-size:.75rem;color:var(--text3)}
.footer-legal{display:flex;justify-content:center;flex-wrap:wrap;gap:.25rem 1.25rem;margin-top:.5rem}
.footer-legal a{color:var(--text3);transition:color .2s}
.footer-legal a:hover{color:var(--red2)}

/* ── RESPONSIVE ────────────────────────── */
@media(max-width:1100px){
    .hero-grid{grid-template-columns:1fr 1fr}
    .hero-sidebar{grid-column:span 2}
    .article-layout{grid-template-columns:1fr}
    .article-sidebar{position:static}
}
@media(max-width:900px){
    .category-grid{grid-template-columns:repeat(2,1fr)}
    .posts-grid{grid-template-columns:repeat(2,1fr)}
    .footer-grid{grid-template-columns:1fr;gap:1.5rem}
    .authors-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
    .container{padding:0 .875rem}
    .top-bar-left{display:none}
    .top-nav{display:none}
    .header-banner-img{max-height:120px}

    /* Hamburger mobile nav */
    .nav-hamburger{display:flex}
    .main-nav-inner > .nav{display:none;position:absolute;top:100%;left:0;right:0;background:#1a1a1a;border-top:1px solid var(--border);border-bottom:3px solid var(--red);z-index:99;box-shadow:0 8px 24px rgba(0,0,0,.5)}
    .main-nav-inner > .nav.nav-open{display:block}
    .nav{flex-direction:column;gap:0}
    .nav li a{padding:.85rem 1.25rem;font-size:.88rem;border-bottom:1px solid var(--border);border-bottom-color:var(--border) !important}
    .nav li:last-child a{border-bottom:none !important}

    /* Hero */
    .hero-grid{grid-template-columns:1fr}
    .hero-sidebar{grid-column:span 1}
    .hero-main-link{min-height:260px;max-height:340px}
    .hero-main-title{font-size:1.3rem}
    .hero-grid{grid-template-rows:auto}
    .hero-secondary{display:flex;flex-direction:column;gap:.5rem}
    .hero-secondary-card{height:170px}
    .hero-secondary-link{position:absolute;inset:0}

    /* Article */
    .article-title{font-size:1.6rem}
    .article-meta-bar{flex-direction:column;gap:.4rem}

    /* Ghost cards */
    .kg-width-wide{margin-left:0;margin-right:0;max-width:100%}
    .kg-width-full{margin-left:0;margin-right:0;max-width:100%;width:100%}
}
@media(max-width:580px){
    .category-grid,.posts-grid{grid-template-columns:1fr}
    .hero-main-link{min-height:220px}
    .hero-secondary-card{height:150px}
    .kg-bookmark-container{flex-direction:column}
    .kg-bookmark-thumbnail img{width:100%;height:180px}
}

/* ── READING PROGRESS ──────────────────── */
.reading-progress{position:fixed;top:0;left:0;width:0;height:3px;background:var(--red);z-index:999;transition:width .08s linear;pointer-events:none}

/* ── BACK TO TOP ───────────────────────── */
.back-to-top{position:fixed;bottom:2rem;right:2rem;width:44px;height:44px;background:var(--red);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(10px);transition:opacity .25s,transform .25s,background .2s;z-index:150;box-shadow:0 4px 16px rgba(0,0,0,.5)}
.back-to-top.visible{opacity:1;transform:translateY(0)}
.back-to-top:hover{background:var(--red2)}

/* ── SHARE BAR ─────────────────────────── */
.share-bar{display:flex;align-items:center;gap:.65rem;margin:1.25rem 0 .5rem;padding:.9rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.share-label{font-family:var(--font-n);font-size:.78rem;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.05em;margin-right:.25rem}
.share-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:#fff;transition:opacity .2s,transform .2s;flex-shrink:0}
.share-btn:hover{opacity:.85;transform:scale(1.1)}
.share-fb{background:#1877f2}
.share-tw{background:#000}
.share-viber{background:#7360f2}
.share-wa{background:#25d366}

/* ── COOKIE BANNER ─────────────────────── */
.cookie-banner{display:none;position:fixed;bottom:0;left:0;right:0;background:#1c1c1c;border-top:2px solid var(--red);z-index:400;padding:.85rem 0}
.cookie-inner{max-width:var(--max);margin:0 auto;padding:0 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.cookie-inner p{font-size:.85rem;color:var(--text2);margin:0;line-height:1.5}
.cookie-accept{font-family:var(--font-n);font-size:.82rem;font-weight:700;background:var(--red);color:#fff;border:none;border-radius:var(--r);padding:.5rem 1.5rem;cursor:pointer;white-space:nowrap;transition:background .2s;flex-shrink:0;text-transform:uppercase;letter-spacing:.04em}
.cookie-accept:hover{background:var(--red2)}
.cookie-link{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.5)}
.cookie-link:hover{text-decoration-color:#fff}

/* ── COMMENTS ──────────────────────────── */
.article-comments{max-width:1100px;margin:2.5rem auto 0;padding-top:2rem;border-top:1px solid var(--border)}

/* ── GHOST CARDS ───────────────────────── */
.kg-card{margin:1.25rem 0}
.kg-image-card img,.kg-gallery-card img{border-radius:var(--r)}
.kg-width-wide{margin-left:-4rem;margin-right:-4rem;max-width:calc(100% + 8rem)}
.kg-width-full{margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);max-width:100vw;width:100vw}
.kg-width-wide img,.kg-width-full img{width:100%}
.kg-bookmark-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r)}
.kg-bookmark-container{display:flex;text-decoration:none;color:var(--text)}
.kg-bookmark-content{padding:1rem;flex:1}
.kg-bookmark-title{font-family:var(--font-h);font-weight:600;font-size:1rem}
.kg-bookmark-description{font-size:.82rem;color:var(--text2);margin-top:.25rem}
.kg-bookmark-thumbnail img{width:160px;height:100%;object-fit:cover}
.kg-embed-card iframe{width:100%;border-radius:var(--r)}
.kg-callout-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:1.1rem}
.kg-callout-card-text{font-size:.95rem;color:var(--text2)}

@media(max-width:580px){
    .kg-bookmark-container{flex-direction:column}
    .kg-bookmark-thumbnail img{width:100%;height:180px}
}

/* ── PRINT ─────────────────────────────── */
@media print{
    *{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}
    .site-header,.site-footer,.article-sidebar,.related-posts,.share-bar,.subscribe-card,.reading-progress,.back-to-top,.cookie-banner,.nav-actions,.article-tags,.article-comments{display:none !important}
    .article-page{padding:.5rem 0}
    .article-layout{display:block}
    .article-body{max-width:100%}
    .article-title{font-size:1.6rem;color:#000}
    .article-meta-bar{color:#555;font-size:.85rem}
    .article-content{font-size:1rem;line-height:1.7;color:#000}
    .article-content a{color:#000;text-decoration:underline}
    .article-content a[href]::after{content:" (" attr(href) ")";font-size:.75em;color:#555}
    .article-feature-img img{max-width:100%;page-break-inside:avoid}
    .article-content h2,.article-content h3{page-break-after:avoid;color:#000}
    .article-content p,.article-content blockquote{orphans:3;widows:3}
    a{page-break-inside:avoid}
    @page{margin:2cm}
}
