/*
Theme Name: N₂OGrid
Theme URI: https://n2ogrid.ru
Author: N₂OGrid
Description: Светлый энциклопедический журнал о закиси азота. Левый сайдбар с живым счётчиком читателей, GWP-калькулятором и фактом дня. Уникальная адаптивная плиточная сетка новостей с живой фильтрацией. Зелёный акцент.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
Text Domain: n2ogrid
Tags: magazine, light, green, left-sidebar, masonry, news, filter, translation-ready
*/
:root{
  --bg:#f0f4f8;--surface:#fff;--surface2:#f8fafc;--surface3:#f1f5f9;
  --border:#e2e8f0;--border2:#cbd5e1;
  --green:#059669;--green-dark:#047857;--green-light:#f0fdf4;--green-mid:#bbf7d0;--green-text:#166534;
  --ink:#0f172a;--ink-soft:#1e293b;--ink-mid:#334155;--ink-muted:#475569;
  --ink-faint:#64748b;--ink-ghost:#94a3b8;--ink-pale:#cbd5e1;
  --blue:#2563eb;--blue-light:#eff6ff;
  --purple:#7c3aed;--purple-light:#fdf4ff;
  --orange:#ea580c;--orange-light:#fff7ed;
  --teal:#0f766e;--teal-light:#f0fdfa;
  --red:#dc2626;--red-light:#fef2f2;
  --amber:#d97706;--amber-light:#fef3c7;
  --pink:#9d174d;--pink-light:#fdf2f8;
  --font-sans:'Plus Jakarta Sans','Helvetica Neue',sans-serif;
  --font-serif:'Lora','Georgia',serif;
  --font-mono:'IBM Plex Mono','Courier New',monospace;
  --font-disp:'Syne','Arial Black',sans-serif;
  --sp-xs:4px;--sp-sm:8px;--sp-md:16px;--sp-lg:24px;--sp-xl:40px;--sp-2xl:64px;
  --sidebar-w:248px;--container:1280px;
  --r:6px;--r-md:10px;--r-lg:14px;
  --ease:cubic-bezier(.4,0,.2,1);--dur:.2s;--t:all var(--dur) var(--ease);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);line-height:1.65;overflow-x:hidden}
a{color:inherit;text-decoration:none;transition:var(--t)}
img{max-width:100%;height:auto;display:block}
ul,ol{padding-left:1.5rem}
::selection{background:var(--green);color:#fff}
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--ink-pale);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:var(--green)}

/* ТИПОГРАФИКА */
h1,h2,h3,h4{font-family:var(--font-sans);font-weight:800;line-height:1.2;color:var(--ink);letter-spacing:-.02em}
h1{font-size:clamp(1.6rem,3vw,2.4rem)}
h2{font-size:clamp(1.2rem,2vw,1.6rem)}
h3{font-size:1rem}

/* БЕЙДЖИ РУБРИК */
.cat-badge{display:inline-block;font-family:var(--font-mono);font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2px 8px;border-radius:var(--r);line-height:1.6}
.cat-discovery{background:var(--blue-light);color:#1d4ed8}
.cat-production{background:var(--green-light);color:var(--green-text)}
.cat-health{background:var(--purple-light);color:#6d28d9}
.cat-transport{background:var(--orange-light);color:#c2410c}
.cat-ecology{background:var(--teal-light);color:var(--teal)}
.cat-law{background:var(--red-light);color:#b91c1c}
.cat-history{background:var(--amber-light);color:#92400e}
.cat-interview{background:var(--pink-light);color:var(--pink)}
.cat-default{background:var(--surface2);color:var(--ink-faint)}

/* ШАПКА */
.site-header-grid{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:500;box-shadow:0 1px 6px rgba(5,150,105,.06)}
.header-inner{max-width:var(--container);margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:var(--sp-md);height:58px}
.site-logo-grid{display:flex;flex-direction:column;gap:1px;flex-shrink:0;text-decoration:none}
.logo-text-grid{font-family:var(--font-disp);font-size:1.5rem;font-weight:900;color:var(--ink);letter-spacing:-.03em;line-height:1}
.logo-text-grid em{color:var(--green);font-style:normal}
.logo-sub-grid{font-family:var(--font-mono);font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-ghost)}
.header-nav-grid{display:flex;gap:0;margin-left:var(--sp-lg);flex:1;overflow-x:auto;scrollbar-width:none}
.header-nav-grid::-webkit-scrollbar{display:none}
.header-nav-grid ul{display:flex;list-style:none;margin:0;padding:0}
.header-nav-grid ul li{list-style:none}
.header-nav-grid ul li a,.nav-link-grid{display:block;font-family:var(--font-sans);font-size:.75rem;font-weight:600;letter-spacing:.04em;color:var(--ink-faint);padding:6px 12px;border-radius:var(--r);white-space:nowrap;cursor:pointer;transition:var(--t)}
.header-nav-grid ul li a:hover,.header-nav-grid ul li.current-menu-item>a,.nav-link-grid:hover,.nav-link-grid.active{color:var(--green);background:var(--green-light)}
.header-actions{display:flex;align-items:center;gap:8px}
.btn-search-grid{width:34px;height:34px;border:1px solid var(--border);border-radius:var(--r);background:none;color:var(--ink-ghost);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--t)}
.btn-search-grid:hover{border-color:var(--green);color:var(--green)}
.btn-ham-grid{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:5px;z-index:1001}
.btn-ham-grid span{display:block;width:20px;height:1.5px;background:var(--ink-faint);border-radius:1px;transition:all .3s var(--ease);transform-origin:center}
.btn-ham-grid.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.btn-ham-grid.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.btn-ham-grid.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.mobile-overlay-grid{display:none;position:fixed;inset:0;background:rgba(15,23,42,.5);z-index:998;backdrop-filter:blur(4px)}
.mobile-overlay-grid.open{display:block}
.mobile-nav-grid{position:fixed;top:0;left:0;right:0;background:var(--surface);border-bottom:2px solid var(--green);z-index:999;padding:66px 20px 20px;transform:translateY(-110%);transition:transform .35s var(--ease)}
.mobile-nav-grid.open{transform:translateY(0)}
.mobile-nav-grid ul,.mobile-nav-grid .menu{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.mobile-nav-grid ul li,.mobile-nav-grid .menu li{list-style:none}
.mobile-nav-grid ul li a,.mobile-nav-grid .menu li a{display:block;font-family:var(--font-disp);font-size:1.5rem;font-weight:900;color:var(--ink-muted);padding:10px 16px;border-radius:var(--r);border-left:3px solid transparent;transition:var(--t)}
.mobile-nav-grid ul li a:hover,.mobile-nav-grid .menu li.current-menu-item a{color:var(--green);background:var(--green-light);border-left-color:var(--green)}

/* ПОИСК ОВЕРЛЕЙ */
#js-grid-search-overlay{display:none;position:fixed;inset:0;background:rgba(240,244,248,.97);z-index:9000;flex-direction:column;align-items:center;justify-content:center}
#js-grid-search-overlay.open{display:flex}
.search-close-grid{position:absolute;top:20px;right:20px;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--ink-ghost);line-height:1}
.search-hint-grid{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;color:var(--ink-ghost);margin-bottom:20px}
.search-form-grid{display:flex;width:100%;max-width:540px;padding:0 20px;border:2px solid var(--green);border-radius:var(--r-md);overflow:hidden;background:var(--surface)}
.search-form-grid input{flex:1;padding:12px 16px;border:none;outline:none;font-family:var(--font-sans);font-size:.95rem;color:var(--ink);background:transparent}
.search-form-grid button{padding:12px 18px;background:var(--green);border:none;color:#fff;cursor:pointer;font-family:var(--font-sans);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}

/* ТИКЕР */
.ticker-grid{background:var(--green-light);border-bottom:1px solid var(--green-mid);padding:6px 0;overflow:hidden}
.ticker-inner-grid{max-width:var(--container);margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:12px}
.ticker-badge-grid{font-family:var(--font-mono);font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:var(--green);color:#fff;padding:3px 10px;border-radius:var(--r);white-space:nowrap;flex-shrink:0}
.ticker-wrap-grid{flex:1;overflow:hidden}
.ticker-text-grid{display:inline-flex;gap:36px;white-space:nowrap;animation:gridTicker 28s linear infinite}
.ticker-text-grid span{font-family:var(--font-sans);font-size:.78rem;font-weight:500;color:var(--green-text);display:flex;align-items:center;gap:6px}
.ticker-text-grid span::before{content:'→';color:var(--green-mid)}
@keyframes gridTicker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ГЛАВНЫЙ LAYOUT */
.site-body-grid{max-width:var(--container);margin:0 auto;padding:0 20px;display:grid;grid-template-columns:var(--sidebar-w) 1fr;gap:0;align-items:start}

/* ЛЕВЫЙ САЙДБАР */
.sidebar-left-grid{position:sticky;top:58px;background:var(--surface);border-right:1px solid var(--border);padding:var(--sp-lg) var(--sp-md);min-height:calc(100vh - 58px);overflow-y:auto;scrollbar-width:none}
.sidebar-left-grid::-webkit-scrollbar{display:none}
.sb-logo-mini-grid{font-family:var(--font-disp);font-size:1.1rem;font-weight:900;color:var(--ink);letter-spacing:-.02em;padding-bottom:var(--sp-md);border-bottom:2px solid var(--green);margin-bottom:var(--sp-lg)}
.sb-logo-mini-grid em{color:var(--green);font-style:normal}
.sb-section{margin-bottom:var(--sp-xl)}
.sb-section-title{font-family:var(--font-mono);font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--green);margin-bottom:var(--sp-md);display:flex;align-items:center;gap:6px}
.sb-section-title::before{content:'';width:8px;height:2px;background:var(--green);border-radius:1px;flex-shrink:0}

/* Рубрики сайдбар */
.sb-cat-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--r);cursor:pointer;transition:var(--t);margin-bottom:2px;border:1.5px solid transparent}
.sb-cat-item:hover{background:var(--green-light);border-color:var(--green-mid)}
.sb-cat-item.active{background:var(--green-light);border-color:var(--green)}
.sb-cat-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.sb-cat-name{font-family:var(--font-sans);font-size:.82rem;font-weight:600;color:var(--ink-mid);flex:1;transition:color var(--dur)}
.sb-cat-item:hover .sb-cat-name,.sb-cat-item.active .sb-cat-name{color:var(--green-text)}
.sb-cat-count{font-family:var(--font-mono);font-size:.62rem;color:var(--ink-ghost);background:var(--surface2);padding:1px 6px;border-radius:var(--r)}
.sb-cat-item.active .sb-cat-count{background:var(--green-mid);color:var(--green-text)}

/* ЖИВОЙ СЧЁТЧИК */
.sb-live-widget{background:var(--green-light);border:1px solid var(--green-mid);border-radius:var(--r-md);padding:var(--sp-md);margin-bottom:var(--sp-md)}
.sb-live-title{font-family:var(--font-mono);font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green);margin-bottom:var(--sp-sm);display:flex;align-items:center;gap:6px}
.live-dot-grid{width:7px;height:7px;border-radius:50%;background:#22c55e;animation:liveBlink 1.4s ease-in-out infinite;flex-shrink:0}
@keyframes liveBlink{0%,100%{opacity:1}50%{opacity:.25}}
.live-metric-row{display:flex;justify-content:space-between;align-items:baseline;padding:5px 0;border-bottom:1px solid rgba(5,150,105,.1)}
.live-metric-row:last-child{border-bottom:none;padding-bottom:0}
.live-metric-label{font-family:var(--font-sans);font-size:.75rem;color:var(--green-text)}
.live-metric-value{font-family:var(--font-disp);font-size:.95rem;font-weight:900;color:var(--green-dark)}

/* GWP КАЛЬКУЛЯТОР */
.sb-calc-widget{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-md);margin-bottom:var(--sp-md)}
.sb-calc-title{font-family:var(--font-mono);font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green);margin-bottom:var(--sp-md)}
.calc-tabs{display:flex;gap:4px;margin-bottom:var(--sp-md)}
.calc-tab{flex:1;font-family:var(--font-mono);font-size:.62rem;font-weight:700;padding:5px 2px;border:1px solid var(--border);border-radius:var(--r);background:none;color:var(--ink-ghost);cursor:pointer;transition:var(--t);text-align:center}
.calc-tab.active,.calc-tab:hover{background:var(--green);border-color:var(--green);color:#fff}
.calc-label{font-family:var(--font-mono);font-size:.6rem;color:var(--ink-ghost);letter-spacing:.05em;display:block;margin-bottom:4px}
.calc-input{width:100%;padding:8px 10px;background:var(--surface2);border:1.5px solid var(--border);border-radius:var(--r);font-family:var(--font-sans);font-size:.9rem;color:var(--ink);outline:none;transition:border-color var(--dur);text-align:right;margin-bottom:var(--sp-sm)}
.calc-input:focus{border-color:var(--green)}
.calc-result{padding:10px;background:var(--green-light);border-radius:var(--r);text-align:center}
.calc-result-val{font-family:var(--font-disp);font-size:1.15rem;font-weight:900;color:var(--green-dark);display:block;line-height:1.2}
.calc-result-lbl{font-family:var(--font-mono);font-size:.58rem;color:var(--green);letter-spacing:.08em;text-transform:uppercase;margin-top:2px;display:block}
.calc-panel{display:none}
.calc-panel.active{display:block}

/* ФАКТ ДНЯ САЙДБАР */
.sb-fact-widget{background:var(--surface2);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-md);margin-bottom:var(--sp-md)}
.sb-fact-icon{font-size:18px;margin-bottom:5px;display:block}
.sb-fact-day-label{font-family:var(--font-mono);font-size:.58rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--green);margin-bottom:5px}
.sb-fact-text{font-family:var(--font-serif);font-size:.82rem;font-style:italic;color:var(--ink-mid);line-height:1.6}

/* ТЕГИ САЙДБАР */
.sb-tags{display:flex;flex-wrap:wrap;gap:4px}
.sb-tag{font-family:var(--font-mono);font-size:.62rem;font-weight:600;padding:3px 8px;border:1px solid var(--border);border-radius:var(--r);color:var(--ink-faint);cursor:pointer;transition:var(--t)}
.sb-tag:hover{border-color:var(--green);color:var(--green);background:var(--green-light)}

/* ПОДПИСКА САЙДБАР */
.sb-sub-widget{background:var(--ink-soft);border-radius:var(--r-md);padding:var(--sp-md)}
.sb-sub-title{font-family:var(--font-disp);font-size:.95rem;font-weight:900;color:#fff;letter-spacing:-.01em;line-height:1.25;margin-bottom:5px}
.sb-sub-title em{color:#4ade80;font-style:normal}
.sb-sub-desc{font-family:var(--font-sans);font-size:.75rem;color:rgba(255,255,255,.4);line-height:1.55;margin-bottom:var(--sp-sm)}
.sb-sub-input{width:100%;padding:8px 10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:var(--r);color:#fff;font-family:var(--font-sans);font-size:.85rem;outline:none;margin-bottom:6px;transition:border-color var(--dur)}
.sb-sub-input:focus{border-color:var(--green)}
.sb-sub-input::placeholder{color:rgba(255,255,255,.3)}
.sb-sub-btn{width:100%;padding:9px;background:var(--green);color:#fff;border:none;border-radius:var(--r);font-family:var(--font-sans);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background var(--dur)}
.sb-sub-btn:hover{background:var(--green-dark)}

/* ГЛАВНЫЙ КОНТЕНТ */
.main-col-grid{min-width:0;background:var(--bg)}

/* ФИЛЬТР-БАР */
.filter-bar-grid{background:var(--surface);border-bottom:1px solid var(--border);padding:10px var(--sp-lg);display:flex;align-items:center;gap:6px;flex-wrap:wrap;position:sticky;top:58px;z-index:100}
.filter-label-grid{font-family:var(--font-mono);font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-ghost);margin-right:4px;flex-shrink:0}
.filter-btn-grid{font-family:var(--font-sans);font-size:.75rem;font-weight:600;padding:5px 12px;border:1px solid var(--border);border-radius:20px;background:none;color:var(--ink-faint);cursor:pointer;transition:var(--t)}
.filter-btn-grid:hover{border-color:var(--green);color:var(--green);background:var(--green-light)}
.filter-btn-grid.active{background:var(--green);border-color:var(--green);color:#fff}
.filter-count-grid{font-family:var(--font-mono);font-size:.6rem;color:var(--ink-ghost);margin-left:auto;flex-shrink:0}
.sort-select-grid{font-family:var(--font-mono);font-size:.65rem;border:1px solid var(--border);border-radius:var(--r);padding:5px 8px;color:var(--ink-faint);background:var(--surface);outline:none;cursor:pointer;transition:border-color var(--dur)}
.sort-select-grid:focus{border-color:var(--green)}

/* ПЛИТКА НОВОСТЕЙ */
.news-grid-wrap{padding:var(--sp-lg)}
.news-masonry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;gap:var(--sp-md)}
.news-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;cursor:pointer;position:relative;display:flex;flex-direction:column;opacity:0;transform:translateY(12px)}
.news-card.revealed{opacity:1;transform:translateY(0);transition:opacity .4s var(--ease),transform .4s var(--ease),border-color var(--dur),box-shadow var(--dur),transform var(--dur)}
.news-card.revealed:hover{border-color:var(--green);transform:translateY(-3px);box-shadow:0 8px 24px rgba(5,150,105,.1)}
.news-card.revealed:hover .nc-title-grid{color:var(--green)}
.news-card.hidden-by-filter{display:none!important}
.news-card.card-big{grid-column:span 2;grid-row:span 2}
.news-card.card-tall{grid-row:span 2}
.nc-img-grid{overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:.62rem;font-weight:600;color:var(--ink-pale);letter-spacing:.12em;text-transform:uppercase}
.nc-img-grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.news-card.revealed:hover .nc-img-grid img{transform:scale(1.04)}
.news-card.card-big   .nc-img-grid{height:200px}
.news-card.card-tall  .nc-img-grid{height:150px}
.news-card.card-std   .nc-img-grid{height:110px}
.news-card.card-mini  .nc-img-grid{height:80px}
.nc-views-grid{position:absolute;top:10px;right:10px;background:rgba(255,255,255,.92);border-radius:var(--r);padding:3px 8px;font-family:var(--font-mono);font-size:.6rem;font-weight:600;color:var(--ink-faint);display:flex;align-items:center;gap:4px}
.nc-body-grid{padding:var(--sp-md);display:flex;flex-direction:column;gap:6px;flex:1}
.nc-title-grid{font-family:var(--font-sans);font-weight:700;color:var(--ink);line-height:1.4;transition:color var(--dur);display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
.news-card.card-big   .nc-title-grid{font-size:1.05rem;-webkit-line-clamp:3}
.news-card.card-tall  .nc-title-grid{font-size:.9rem;-webkit-line-clamp:4}
.news-card.card-std   .nc-title-grid{font-size:.85rem;-webkit-line-clamp:3}
.news-card.card-mini  .nc-title-grid{font-size:.82rem;-webkit-line-clamp:2}
.nc-excerpt-grid{font-family:var(--font-sans);font-size:.82rem;color:var(--ink-muted);line-height:1.6;display:none}
.news-card.card-big .nc-excerpt-grid{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nc-meta-grid{font-family:var(--font-mono);font-size:.62rem;color:var(--ink-ghost);display:flex;gap:8px;margin-top:auto;padding-top:6px;border-top:1px solid var(--surface3)}
.nc-author-grid{color:var(--ink-faint);font-weight:600}

/* ЗАГРУЗИТЬ ЕЩЁ */
.load-more-grid{display:flex;align-items:center;gap:8px;font-family:var(--font-sans);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:11px 28px;border:1.5px solid var(--green);color:var(--green);border-radius:var(--r-md);background:none;cursor:pointer;transition:var(--t);margin:0 auto var(--sp-xl)}
.load-more-grid:hover{background:var(--green);color:#fff}

/* ПРОГРЕСС ЧТЕНИЯ */
.reading-progress-grid{position:fixed;top:0;left:0;width:0%;height:3px;background:var(--green);z-index:9999;transition:width .1s linear}

/* СТАТЬЯ */
.article-container{padding:var(--sp-xl);background:var(--surface);min-width:0}
.article-title-g{font-size:clamp(1.7rem,3.5vw,2.8rem);font-weight:900;color:var(--ink);letter-spacing:-.03em;line-height:1.2;margin:var(--sp-sm) 0 var(--sp-md)}
.article-subtitle-g{font-family:var(--font-serif);font-size:1.05rem;color:var(--ink-muted);line-height:1.7;font-style:italic;margin-bottom:var(--sp-lg)}
.article-byline-g{display:flex;align-items:center;gap:var(--sp-md);padding:var(--sp-md) 0;border-top:2px solid var(--green);border-bottom:1px solid var(--border);margin-bottom:var(--sp-xl);flex-wrap:wrap}
.byline-avatar-g{width:44px;height:44px;border-radius:50%;overflow:hidden;border:2px solid var(--green-mid);flex-shrink:0}
.byline-name-g{font-family:var(--font-sans);font-size:.9rem;font-weight:700;color:var(--ink)}
.byline-role-g{font-family:var(--font-mono);font-size:.6rem;color:var(--ink-ghost);text-transform:uppercase;letter-spacing:.08em}
.article-stats-g{margin-left:auto;font-family:var(--font-mono);font-size:.62rem;color:var(--ink-ghost);display:flex;gap:var(--sp-md);flex-wrap:wrap}
.article-featured-g{border-radius:var(--r-lg);overflow:hidden;margin-bottom:var(--sp-xl)}
.article-featured-g img{width:100%;max-height:460px;object-fit:cover}
.article-featured-ph{width:100%;aspect-ratio:16/9;max-height:460px;border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:.65rem;font-weight:600;color:var(--ink-pale);letter-spacing:.15em;text-transform:uppercase;margin-bottom:var(--sp-xl)}
.article-body-g{font-family:var(--font-serif);font-size:1.05rem;line-height:1.85;color:var(--ink-mid)}
.article-body-g p{margin-bottom:var(--sp-md)}
.article-body-g h2{font-family:var(--font-sans);font-size:1.35rem;font-weight:800;color:var(--ink);letter-spacing:-.02em;margin:var(--sp-xl) 0 var(--sp-md);padding-bottom:var(--sp-sm);border-bottom:1px solid var(--border);position:relative}
.article-body-g h2::after{content:'';position:absolute;bottom:-1px;left:0;width:36px;height:2px;background:var(--green)}
.article-body-g h3{font-family:var(--font-sans);font-size:1.1rem;font-weight:700;color:var(--ink);margin:var(--sp-lg) 0 var(--sp-sm)}
.article-body-g blockquote{border-left:3px solid var(--green);padding:var(--sp-md) var(--sp-lg);margin:var(--sp-xl) 0;background:var(--green-light);border-radius:0 var(--r) var(--r) 0;font-style:italic;font-size:1.05rem;color:var(--green-text)}
.article-body-g a{color:var(--green);border-bottom:1px solid var(--green-mid)}
.article-body-g a:hover{border-color:var(--green)}
.article-body-g ul,.article-body-g ol{margin:var(--sp-md) 0 var(--sp-md) var(--sp-xl)}
.article-body-g li{margin-bottom:6px}
.article-footer-g{margin-top:var(--sp-xl);padding-top:var(--sp-lg);border-top:1px solid var(--border);display:flex;align-items:center;gap:var(--sp-md);flex-wrap:wrap}
.share-label-g{font-family:var(--font-mono);font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-ghost)}
.share-btn-g{font-family:var(--font-mono);font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border:1px solid var(--border);border-radius:var(--r);color:var(--ink-faint);cursor:pointer;transition:var(--t);display:inline-block}
.share-btn-g:hover{border-color:var(--green);color:var(--green);background:var(--green-light)}
.author-box-g{background:var(--surface2);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-lg);display:flex;gap:var(--sp-md);align-items:flex-start;margin-top:var(--sp-xl)}
.author-avatar-g{width:52px;height:52px;border-radius:50%;overflow:hidden;flex-shrink:0}
.author-name-g{font-family:var(--font-sans);font-weight:800;font-size:.95rem;margin-bottom:2px}
.author-role-g{font-family:var(--font-mono);font-size:.6rem;color:var(--green);text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px}
.author-bio-g{font-family:var(--font-serif);font-size:.88rem;color:var(--ink-muted);margin:0}

/* КОММЕНТАРИИ */
.comments-area-grid{margin-top:var(--sp-2xl);padding-top:var(--sp-xl);border-top:1px solid var(--border)}
.comments-title-grid,.comment-reply-title{font-family:var(--font-sans);font-size:1.15rem;font-weight:800;color:var(--ink);letter-spacing:-.02em;margin-bottom:var(--sp-lg)}
.comment-reply-title{font-size:.95rem;margin-bottom:var(--sp-md)}
.comment-list{list-style:none;padding:0;margin:0 0 var(--sp-xl)}
.comment-list .children{list-style:none;padding-left:var(--sp-xl);margin-top:var(--sp-sm);border-left:2px solid var(--green-mid)}
.comment-body{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-lg);margin-bottom:var(--sp-md);transition:border-color var(--dur)}
.comment-body:hover{border-color:var(--green-mid)}
.comment-meta{display:flex;align-items:center;gap:var(--sp-md);margin-bottom:var(--sp-md)}
.comment-author{display:flex;align-items:center;gap:10px}
.comment-author img{width:40px;height:40px;border-radius:50%;border:2px solid var(--green-mid);flex-shrink:0}
.comment-author .fn{font-family:var(--font-sans);font-size:.9rem;font-weight:700;color:var(--ink);font-style:normal}
.comment-author .url{color:var(--green)}
.comment-metadata{margin-left:auto}
.comment-metadata a{font-family:var(--font-mono);font-size:.62rem;color:var(--ink-ghost);transition:color var(--dur)}
.comment-metadata a:hover{color:var(--green)}
.comment-content{font-family:var(--font-serif);font-size:.95rem;color:var(--ink-mid);line-height:1.75}
.comment-content p{margin-bottom:var(--sp-sm)}
.comment-content p:last-child{margin-bottom:0}
.comment-awaiting-moderation{display:inline-block;font-family:var(--font-sans);font-size:.65rem;font-weight:600;background:var(--amber-light);color:var(--amber);padding:3px 10px;border-radius:var(--r);margin-bottom:var(--sp-sm);font-style:normal}
.reply{margin-top:var(--sp-sm)}
.comment-reply-link{font-family:var(--font-mono);font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-ghost);border:1px solid var(--border);border-radius:20px;padding:4px 12px;display:inline-block;transition:var(--t)}
.comment-reply-link:hover{border-color:var(--green);color:var(--green);background:var(--green-light)}
.no-comments{font-family:var(--font-sans);font-size:.9rem;color:var(--ink-ghost);text-align:center;padding:var(--sp-xl);background:var(--surface2);border-radius:var(--r-lg);margin-bottom:var(--sp-xl)}
.comment-respond{background:var(--surface2);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-xl);margin-top:var(--sp-xl)}
.comment-notes{font-family:var(--font-sans);font-size:.8rem;color:var(--ink-ghost);margin-bottom:var(--sp-lg)}
.comment-notes .required{color:var(--green)}
.comment-form-comment,.comment-form-author,.comment-form-email,.comment-form-url{margin-bottom:var(--sp-md)}
.comment-form-comment label,.comment-form-author label,.comment-form-email label,.comment-form-url label{display:block;font-family:var(--font-mono);font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:6px}
.comment-form-comment textarea,.comment-form-author input,.comment-form-email input,.comment-form-url input{width:100%;padding:10px 14px;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-md);font-family:var(--font-sans);font-size:.9rem;color:var(--ink);outline:none;transition:border-color var(--dur),box-shadow var(--dur);resize:vertical}
.comment-form-comment textarea{min-height:120px;line-height:1.65;font-family:var(--font-serif)}
.comment-form-comment textarea:focus,.comment-form-author input:focus,.comment-form-email input:focus,.comment-form-url input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(5,150,105,.1)}
.comment-form-cookies-consent{display:flex;align-items:flex-start;gap:8px;margin-bottom:var(--sp-lg)}
.comment-form-cookies-consent input[type="checkbox"]{width:16px;height:16px;margin-top:2px;accent-color:var(--green);flex-shrink:0}
.comment-form-cookies-consent label{font-family:var(--font-sans);font-size:.78rem;color:var(--ink-muted);line-height:1.5}
.form-submit #submit{font-family:var(--font-sans);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:11px 28px;background:var(--green);color:#fff;border:none;border-radius:var(--r-md);cursor:pointer;transition:var(--t)}
.form-submit #submit:hover{background:var(--green-dark);transform:translateY(-1px)}
.required{color:var(--green);font-weight:700}

/* ФУТЕР */
.site-footer-grid{background:var(--ink-soft);color:rgba(255,255,255,.5);padding:var(--sp-2xl) 0 0;margin-top:var(--sp-2xl)}
.footer-inner-grid{max-width:var(--container);margin:0 auto;padding:0 20px}
.footer-top-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--sp-xl);margin-bottom:var(--sp-xl)}
.footer-logo-g{font-family:var(--font-disp);font-size:1.5rem;font-weight:900;color:#fff;letter-spacing:-.02em;margin-bottom:6px}
.footer-logo-g em{color:#4ade80;font-style:normal}
.footer-desc-g{font-family:var(--font-sans);font-size:.82rem;line-height:1.65;margin-bottom:var(--sp-md);max-width:260px}
.footer-social-g{display:flex;gap:5px;flex-wrap:wrap}
.footer-soc-link{font-family:var(--font-mono);font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 11px;border:1px solid rgba(255,255,255,.15);border-radius:var(--r);color:rgba(255,255,255,.4);cursor:pointer;transition:var(--t)}
.footer-soc-link:hover{border-color:#4ade80;color:#4ade80}
.footer-col-title-g{font-family:var(--font-mono);font-size:.6rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.25);margin-bottom:var(--sp-md)}
.footer-links-g{list-style:none;padding:0}
.footer-links-g li{margin-bottom:8px}
.footer-links-g a{font-family:var(--font-sans);font-size:.85rem;color:rgba(255,255,255,.45);transition:color var(--dur)}
.footer-links-g a:hover{color:#4ade80}
.footer-bottom-g{border-top:1px solid rgba(255,255,255,.08);padding:var(--sp-md) 0;display:flex;align-items:center;justify-content:space-between;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.05em;flex-wrap:wrap;gap:8px}

/* УТИЛИТЫ */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.pagination{display:flex;align-items:center;justify-content:center;gap:6px;padding:var(--sp-xl) 0}
.page-numbers{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);border-radius:var(--r);font-family:var(--font-mono);font-size:.78rem;font-weight:700;color:var(--ink-faint);transition:var(--t)}
.page-numbers:hover,.page-numbers.current{border-color:var(--green);color:var(--green);background:var(--green-light)}

/* АДАПТИВ */
@media(max-width:1100px){
  :root{--sidebar-w:210px}
  .footer-top-grid{grid-template-columns:1fr 1fr;gap:var(--sp-lg)}
  .news-masonry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .news-card.card-big{grid-column:span 2}
}
@media(max-width:768px){
  .sidebar-left-grid{display:none}
  .site-body-grid{grid-template-columns:1fr;padding:0}
  .btn-ham-grid{display:flex}
  .header-nav-grid{display:none}
  .news-masonry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .news-card.card-big{grid-column:span 2}
  .news-card.card-tall{grid-row:span 1}
  .article-container{padding:var(--sp-lg) var(--sp-md) var(--sp-xl)}
  .article-byline-g{flex-wrap:wrap}
  .article-stats-g{margin-left:0;width:100%}
  .footer-top-grid{grid-template-columns:1fr;gap:var(--sp-lg)}
  .footer-bottom-g{flex-direction:column;text-align:center}
}
@media(max-width:480px){
  .news-masonry-grid{grid-template-columns:1fr}
  .news-card.card-big,.news-card.card-tall{grid-column:span 1;grid-row:span 1}
  .filter-bar-grid{overflow-x:auto;flex-wrap:nowrap}
}
