/*
Theme Name: OneGTA
Theme URI: https://onegta.ru
Author: OneGTA Team
Description: Полноценный фан-портал серии Grand Theft Auto
Version: 2.1.0
Requires at least: 6.2
Requires PHP: 8.1
License: GNU General Public License v2 or later
Text Domain: onegta
*/

/* ============================================================
   VARIABLES
============================================================ */
:root {
  --orange:       #F55C00;
  --orange-h:     #FF7A1A;
  --orange-pale:  #FFF0E6;
  --orange-mid:   #FFD4B3;
  --white:        #FFFFFF;
  --bg:           #F7F5F2;
  --bg2:          #EFEDE9;
  --border:       #E2DDD8;
  --border-d:     #CCC7C0;
  --text:         #1A1210;
  --text2:        #4A3F38;
  --text3:        #8A7A70;
  --dark:         #1C1410;
  --success:      #16A34A;
  --error:        #DC2626;
  --header-h:     66px;
  --adminbar-h:   0px; /* overridden by JS when WP adminbar is present */
}

/* WP Admin bar offsets */
.admin-bar .site-header {
  top: 32px;
}
.admin-bar .main-nav {
  top: calc(var(--header-h) + 32px);
}
.admin-bar .filter-bar {
  top: calc(var(--header-h) + 32px);
}
.admin-bar .sidebar {
  top: calc(var(--header-h) + 32px + 1rem);
}
.admin-bar .auth-overlay {
  top: 32px;
}
/* WP adminbar is 46px tall on mobile */
@media (max-width: 782px) {
  .admin-bar .site-header { top: 46px; }
  .admin-bar .main-nav    { top: calc(var(--header-h) + 46px); }
  .admin-bar .filter-bar  { top: calc(var(--header-h) + 46px); }
  .admin-bar .auth-overlay{ top: 46px; }
}

/* ============================================================
   RESET
============================================================ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px}
body{background:var(--white);color:var(--text);font-family:'DM Sans','Helvetica Neue',sans-serif;overflow-x:clip;line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit;transition:color .2s}
ul,ol{list-style:none}
button,input,textarea,select{font-family:inherit;outline:none}
table{border-collapse:collapse;width:100%}

/* ============================================================
   TYPOGRAPHY
============================================================ */
h1,h2,h3,h4,h5,h6{font-family:'Bebas Neue','Impact',sans-serif;letter-spacing:2px;line-height:1;color:var(--text)}
h1{font-size:clamp(3rem,7vw,6.5rem)}
h2{font-size:clamp(2rem,4vw,3.8rem)}
h3{font-size:clamp(1.4rem,2.5vw,2rem)}
h4{font-size:1.4rem}
p{margin-bottom:1rem;color:var(--text2);font-weight:400;line-height:1.7}

/* ============================================================
   UTILITIES
============================================================ */
.container{max-width:1280px;margin:0 auto;padding:0 2rem}
.container--wide{max-width:1440px;margin:0 auto;padding:0 2rem}
.container--narrow{max-width:860px;margin:0 auto;padding:0 2rem}

.section-label{font-family:'Orbitron',monospace;font-size:.62rem;letter-spacing:6px;color:var(--orange);text-transform:uppercase;display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem}
.section-label::before{content:'//';opacity:.5}
.section-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(2rem,4vw,3.6rem);color:var(--text);letter-spacing:2px;margin-bottom:.5rem}

.glow-line{height:1px;background:linear-gradient(90deg,transparent,var(--orange),transparent);opacity:.25}

/* Badges */
.badge{display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:4px 11px;line-height:1.4}
.badge--orange{background:var(--orange);color:#fff}
.badge--pale{background:var(--orange-pale);color:var(--orange);border:1px solid var(--orange-mid)}
.badge--dark{background:var(--dark);color:#fff}
.badge--success{background:#dcfce7;color:var(--success);border:1px solid #bbf7d0}
.badge--error{background:#fee2e2;color:var(--error);border:1px solid #fecaca}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:13px 32px;font-family:'Bebas Neue',sans-serif;font-size:1rem;letter-spacing:3px;cursor:pointer;transition:all .2s;line-height:1;border:none;white-space:nowrap}
.btn--primary{background:var(--orange);color:#fff}
.btn--primary:hover{background:var(--orange-h);color:#fff;transform:translateY(-2px);box-shadow:0 8px 24px rgba(245,92,0,.3)}
.btn--ghost{border:1.5px solid var(--border-d);color:var(--text2);background:transparent}
.btn--ghost:hover{border-color:var(--orange);color:var(--orange);background:var(--orange-pale)}
.btn--dark{background:var(--dark);color:#fff}
.btn--dark:hover{background:#2e1a12;color:#fff}
.btn--sm{padding:9px 22px;font-size:.85rem;letter-spacing:2px}
.btn--full{width:100%;justify-content:center}
.btn--icon{padding:10px;gap:0}

/* Forms */
.form-group{margin-bottom:1.2rem}
.form-label{display:block;font-size:.8rem;font-weight:700;letter-spacing:.05em;color:var(--text2);margin-bottom:.4rem;text-transform:uppercase}
.form-input{width:100%;background:var(--white);border:1.5px solid var(--border);color:var(--text);padding:.75rem 1rem;font-size:.95rem;font-family:'DM Sans',sans-serif;transition:border-color .2s}
.form-input:focus{border-color:var(--orange)}
.form-input::placeholder{color:var(--text3)}
textarea.form-input{resize:vertical;min-height:120px}
select.form-input{cursor:pointer}
.form-input--error{border-color:var(--error)}
.form-hint{font-size:.78rem;color:var(--text3);margin-top:.3rem}
.form-error{font-size:.78rem;color:var(--error);margin-top:.3rem;display:flex;align-items:center;gap:.3rem}
.form-error::before{content:'!';background:var(--error);color:#fff;width:14px;height:14px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700;flex-shrink:0}

/* Alert boxes */
.alert{padding:1rem 1.2rem;margin-bottom:1.2rem;font-size:.9rem;border-left:3px solid;display:flex;align-items:flex-start;gap:.6rem}
.alert--success{background:#f0fdf4;border-color:var(--success);color:#15803d}
.alert--error{background:#fef2f2;border-color:var(--error);color:#b91c1c}
.alert--info{background:var(--orange-pale);border-color:var(--orange);color:#9a3412}

/* Cursor */
.cursor,.cursor-trail{position:fixed;top:0;left:0;pointer-events:none;z-index:9999;transform:translate(-50%,-50%)}
.cursor{width:8px;height:8px;background:var(--orange);border-radius:50%;transition:width .2s,height .2s,opacity .2s}
.cursor-trail{width:28px;height:28px;border:1.5px solid var(--orange);border-radius:50%;opacity:.4;transition:transform .14s ease}
@media(hover:none){.cursor,.cursor-trail{display:none}}

/* Scrollbar */
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--orange);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:var(--orange-h)}
html{scrollbar-width:thin;scrollbar-color:var(--orange) var(--bg)}

/* Noise */
body::before{content:'';position:fixed;inset:0;z-index:1000;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");pointer-events:none;opacity:.3}

/* ============================================================
   HEADER
============================================================ */
.site-header{position:fixed;top:0;left:0;right:0;z-index:500;height:var(--header-h);background:rgba(255,255,255,.97);border-bottom:1px solid var(--border);backdrop-filter:blur(8px);transition:box-shadow .3s}
.site-header.shadow{box-shadow:0 2px 20px rgba(0,0,0,.08)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:1rem}

.site-logo{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;letter-spacing:3px;color:var(--orange);line-height:1;flex-shrink:0}
.site-logo span{color:var(--text)}
.site-logo:hover{color:var(--orange)}

/* Main nav */
.main-nav__list{display:flex;align-items:center;gap:1.6rem}
.main-nav__list>li{position:relative}
.main-nav__list>li>a{font-size:.8rem;font-weight:700;letter-spacing:.08em;color:var(--text2);text-transform:uppercase;padding-bottom:3px;position:relative;display:flex;align-items:center;gap:.25rem}
.main-nav__list>li>a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1.5px;background:var(--orange);transition:width .25s}
.main-nav__list>li>a:hover,.main-nav__list>li.current-menu-item>a{color:var(--orange)}
.main-nav__list>li>a:hover::after,.main-nav__list>li.current-menu-item>a::after{width:100%}
.nav-cta{background:var(--orange) !important;color:#fff !important;padding:8px 20px;font-family:'Bebas Neue',sans-serif !important;font-size:.9rem !important;letter-spacing:3px !important}
.nav-cta:hover{background:var(--orange-h) !important;color:#fff !important}
.nav-cta::after{display:none !important}

/* Dropdown */
.has-dropdown>a::before{content:'▾';font-size:.6rem;margin-left:.2rem;opacity:.6}
.dropdown{position:absolute;top:calc(100% + 8px);left:0;background:#fff;border:1px solid var(--border);min-width:200px;opacity:0;pointer-events:none;transform:translateY(-8px);transition:all .2s;z-index:200;box-shadow:0 8px 24px rgba(0,0,0,.1)}
/* Мост между ссылкой и дропдауном — невидимая зона чтобы мышь не соскальзывала */
.has-dropdown::after{content:'';position:absolute;top:100%;left:0;right:0;height:12px;background:transparent}
.has-dropdown:hover .dropdown{opacity:1;pointer-events:all;transform:translateY(0)}
.dropdown a{display:block;padding:.65rem 1rem;font-size:.82rem;font-weight:600;color:var(--text2);border-bottom:1px solid var(--border);letter-spacing:.03em}
.dropdown a:last-child{border:none}
.dropdown a:hover{background:var(--orange-pale);color:var(--orange)}

/* Header right actions */
.header-actions{display:flex;align-items:center;gap:.6rem;flex-shrink:0}

/* User menu */
.user-menu{position:relative}
.user-menu__trigger{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:6px 10px;border:1px solid var(--border);background:var(--bg);transition:all .2s}
.user-menu__trigger:hover{border-color:var(--orange);background:var(--orange-pale)}
.user-avatar{width:28px;height:28px;background:var(--orange);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff;flex-shrink:0;overflow:hidden}
.user-avatar img{width:100%;height:100%;object-fit:cover}
.user-name{font-size:.8rem;font-weight:700;color:var(--text);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid var(--border);min-width:200px;opacity:0;pointer-events:none;transform:translateY(-6px);transition:all .2s;z-index:200;box-shadow:0 8px 24px rgba(0,0,0,.1)}
.user-menu.open .user-dropdown{opacity:1;pointer-events:all;transform:translateY(0)}
.user-dropdown__header{padding:.9rem 1rem;border-bottom:1px solid var(--border);background:var(--bg)}
.user-dropdown__name{font-family:'Bebas Neue',sans-serif;font-size:1.1rem;letter-spacing:1px;color:var(--text)}
.user-dropdown__email{font-size:.75rem;color:var(--text3)}
.user-dropdown a,.user-dropdown button{display:flex;align-items:center;gap:.6rem;padding:.65rem 1rem;font-size:.82rem;font-weight:600;color:var(--text2);border-bottom:1px solid var(--border);width:100%;text-align:left;background:none;border-left:none;border-right:none;border-top:none;cursor:pointer;transition:all .2s}
.user-dropdown a:last-child,.user-dropdown button:last-child{border:none}
.user-dropdown a:hover,.user-dropdown button:hover{background:var(--orange-pale);color:var(--orange)}
.user-dropdown .logout-btn{color:var(--error)}
.user-dropdown .logout-btn:hover{background:#fee2e2;color:var(--error)}

/* Burger */
.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;background:none;border:none}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--text);transition:all .3s}
.nav-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.nav-toggle.active span:nth-child(2){opacity:0}
.nav-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* ============================================================
   TICKER
============================================================ */
.ticker{background:var(--orange);padding:10px 0;overflow:hidden}
.ticker__inner{display:flex;animation:tickerScroll 35s linear infinite;white-space:nowrap}
.ticker__item{font-family:'Bebas Neue',sans-serif;font-size:.82rem;letter-spacing:4px;color:#fff;padding:0 2.5rem;display:inline-flex;align-items:center;gap:1rem}
.ticker__item::after{content:'◆';font-size:.5rem;opacity:.7}
@keyframes tickerScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ============================================================
   HERO
============================================================ */
.hero{min-height:100vh;padding:80px 0 80px;background:var(--white);position:relative;overflow:hidden;display:flex;align-items:center}
.hero::before{content:'';position:absolute;top:0;right:0;width:44%;height:100%;background:var(--orange-pale);clip-path:polygon(12% 0%,100% 0%,100% 100%,0% 100%);z-index:0}
.hero::after{content:'';position:absolute;top:0;right:0;width:44%;height:100%;clip-path:polygon(12% 0%,100% 0%,100% 100%,0% 100%);background-image:radial-gradient(circle,rgba(245,92,0,.18) 1px,transparent 1px);background-size:28px 28px;z-index:1;pointer-events:none}
.hero__inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;width:100%;max-width:1280px;margin:0 auto;padding:0 2rem}
.hero__eyebrow{display:inline-flex;align-items:center;gap:.6rem;background:var(--orange-pale);border:1px solid var(--orange-mid);color:var(--orange);font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:6px 14px;margin-bottom:1.4rem}
.hero__eyebrow::before{content:'//';opacity:.6}
.hero__title{font-family:'Bebas Neue',sans-serif;font-size:clamp(4.5rem,9vw,8.5rem);line-height:.92;letter-spacing:2px;color:var(--text)}
.hero__title .accent{color:var(--orange);display:block}
.hero__desc{font-size:1.05rem;color:var(--text2);max-width:440px;margin:1.4rem 0 2.2rem;line-height:1.7}
.hero__cta{display:flex;gap:1rem;flex-wrap:wrap}
.hero__right{position:relative}
.hero__visual{background:var(--orange);aspect-ratio:4/5;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.hero__visual-num{font-family:'Bebas Neue',sans-serif;font-size:18rem;color:rgba(255,255,255,.1);line-height:1;user-select:none;position:absolute}
.hero__visual-label{position:absolute;bottom:2rem;left:2rem;right:2rem;background:#fff;padding:1.4rem 1.6rem}
.hero__visual-label-top{font-family:'Orbitron',monospace;font-size:.6rem;letter-spacing:4px;color:var(--orange);margin-bottom:.4rem;text-transform:uppercase}
.hero__visual-label-title{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;letter-spacing:2px;color:var(--text)}
.hero__stats{position:absolute;top:-1rem;left:-3rem;display:flex;flex-direction:column;gap:1rem}
.hero__stat{background:#fff;border:1px solid var(--border);padding:.9rem 1.2rem;border-left:3px solid var(--orange)}
.hero__stat-num{font-family:'Bebas Neue',sans-serif;font-size:2rem;color:var(--orange);line-height:1}
.hero__stat-lbl{font-size:.65rem;font-weight:700;letter-spacing:2px;color:var(--text3);text-transform:uppercase}

/* ============================================================
   GAMES ACCORDION
============================================================ */
.games-section{padding:90px 0;background:var(--bg)}
.games-grid{display:flex;gap:6px;margin-top:3rem;height:480px}
.game-card{position:relative;overflow:hidden;cursor:pointer;flex:1;transition:flex .55s cubic-bezier(.4,0,.2,1);min-width:70px}
.game-card:hover{flex:4.5}
.game-card__art-bg{position:absolute;inset:0;transition:transform .6s ease}
.game-card:hover .game-card__art-bg{transform:scale(1.04)}
.art-vi{background:linear-gradient(155deg,#18002e 0%,#5500b0 45%,#cc3300 80%,#ff6600 100%)}
.art-v {background:linear-gradient(155deg,#2a0900 0%,#8a2800 45%,#cc4400 80%,#ff8800 100%)}
.art-iv{background:linear-gradient(155deg,#000820 0%,#001a60 45%,#0044cc 75%,#ff5500 100%)}
.art-sa{background:linear-gradient(155deg,#002210 0%,#005520 45%,#008833 75%,#ff7700 100%)}
.art-vc{background:linear-gradient(155deg,#1a0030 0%,#4a0060 45%,#cc0066 75%,#ff8800 100%)}
.art-iii{background:linear-gradient(155deg,#0a0a00 0%,#2a2a00 45%,#666600 75%,#aa8800 100%)}
.art-ii{background:linear-gradient(155deg,#001a30 0%,#004466 45%,#006699 75%,#00aacc 100%)}
.art-i{background:linear-gradient(155deg,#1a0000 0%,#550000 45%,#880000 75%,#cc2200 100%)}
.game-card::before{content:'';position:absolute;inset:0;z-index:1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E");pointer-events:none;opacity:.5}
.game-card::after{content:'';position:absolute;inset:0;z-index:2;background:linear-gradient(to right,rgba(0,0,0,.72) 0%,rgba(0,0,0,.1) 60%,transparent 100%);transition:opacity .4s}
.game-card:not(:hover)::after{background:linear-gradient(to top,rgba(0,0,0,.8) 0%,rgba(0,0,0,.3) 60%,transparent 100%)}
.game-card__roman{position:absolute;right:-20px;top:50%;transform:translateY(-50%);font-family:'Bebas Neue',sans-serif;font-size:14rem;color:rgba(255,255,255,.07);line-height:1;pointer-events:none;z-index:3;transition:opacity .4s,transform .5s;white-space:nowrap}
.game-card:hover .game-card__roman{opacity:.12;transform:translateY(-50%) scale(1.1)}
.game-card__vert{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%) rotate(-90deg);transform-origin:center;font-family:'Bebas Neue',sans-serif;font-size:1rem;letter-spacing:5px;color:rgba(255,255,255,.65);white-space:nowrap;z-index:4;transition:opacity .3s}
.game-card:hover .game-card__vert{opacity:0}
.game-card__info{position:absolute;left:0;bottom:0;top:0;width:260px;padding:2.5rem 2rem;z-index:5;display:flex;flex-direction:column;justify-content:flex-end;opacity:0;transform:translateX(-16px);transition:opacity .35s .1s,transform .35s .1s}
.game-card:hover .game-card__info{opacity:1;transform:translateX(0)}
.game-card__year{font-family:'Orbitron',monospace;font-size:.6rem;letter-spacing:5px;color:var(--orange);margin-bottom:.5rem}
.game-card__name{font-family:'Bebas Neue',sans-serif;font-size:3rem;letter-spacing:2px;color:#fff;line-height:.95;margin-bottom:1rem}
.game-card__desc{font-size:.82rem;color:rgba(255,255,255,.6);line-height:1.6;margin-bottom:1.2rem;max-width:220px}
.game-card__badge-el{display:inline-flex;align-items:center;gap:.4rem;background:var(--orange);color:#fff;font-size:.65rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;padding:6px 14px;align-self:flex-start}
.game-card__badge-el::before{content:'→'}
.game-card__cta-link{display:inline-flex;align-items:center;gap:.5rem;color:rgba(255,255,255,.5);font-size:.75rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;margin-top:.7rem;transition:color .2s}
.game-card:hover .game-card__cta-link{color:#fff}
.game-card__cta-link::after{content:'↗';font-size:.9rem}

/* ============================================================
   PAGE HERO (inner pages)
============================================================ */
.page-hero{padding:50px 0 50px;background:var(--bg);border-bottom:1px solid var(--border);position:relative;overflow:hidden}

/* ── НОВОСТИ — ночной Лос-Сантос со звёздами и горизонтом ── */
.single-news .page-hero,
.post-type-archive-news .page-hero {
    background: #080402;
    border-bottom-color: var(--orange);
}
.single-news .page-hero::before,
.post-type-archive-news .page-hero::before {
    content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
    background:
        radial-gradient(1px 1px at 8% 22%, rgba(255,255,255,.9) 0%, transparent 1px),
        radial-gradient(1px 1px at 19% 58%, rgba(255,255,255,.7) 0%, transparent 1px),
        radial-gradient(1px 1px at 31% 12%, rgba(255,255,255,.8) 0%, transparent 1px),
        radial-gradient(1px 1px at 47% 38%, rgba(255,255,255,.6) 0%, transparent 1px),
        radial-gradient(1px 1px at 58% 18%, rgba(255,255,255,.9) 0%, transparent 1px),
        radial-gradient(1px 1px at 72% 45%, rgba(255,255,255,.7) 0%, transparent 1px),
        radial-gradient(1px 1px at 84% 28%, rgba(255,255,255,.8) 0%, transparent 1px),
        radial-gradient(1px 1px at 93% 55%, rgba(255,255,255,.5) 0%, transparent 1px),
        radial-gradient(1px 1px at 14% 72%, rgba(255,255,255,.4) 0%, transparent 1px),
        radial-gradient(1px 1px at 65% 65%, rgba(255,255,255,.5) 0%, transparent 1px),
        linear-gradient(to top, rgba(245,92,0,.5) 0%, rgba(150,30,0,.2) 22%, transparent 55%),
        linear-gradient(180deg, #04020a 0%, #080410 45%, #120608 100%);
}
.single-news .page-hero::after,
.post-type-archive-news .page-hero::after {
    content:''; position:absolute; bottom:0; left:0; right:0; height:130px;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 130' preserveAspectRatio='none'%3E%3Cpath fill='%23080404' d='M0,130V72L28,72V55L40,55V32L48,32V55L60,55V44L72,44V62L88,62V44L100,44V22L106,22V15L110,15V22L116,22V44L130,44V55L148,55V65L168,65V48L185,48V28L191,28V48L204,48V38L220,38V58L238,58V45L252,45V60L270,60V48L285,48V25L292,25V17L296,17V25L303,25V48L320,48V60L340,60V72L360,72V55L375,55V38L382,38V55L395,55V42L412,42V62L432,62V50L448,50V65L468,65V50L483,50V30L490,30V22L494,22V30L501,30V50L520,50V62L540,62V50L555,50V62L575,62V72L595,72V55L610,55V35L617,35V27L621,27V35L628,35V55L645,55V65L665,65V50L680,50V35L687,35V50L700,50V40L718,40V60L738,60V48L752,48V62L772,62V48L787,48V28L794,28V20L798,20V28L805,28V48L822,48V60L842,60V72L862,72V55L877,55V40L884,40V55L897,55V42L915,42V62L935,62V50L950,50V65L968,65V50L985,50V32L992,32V24L996,24V32L1003,32V50L1020,50V62L1040,62V50L1055,50V62L1075,62V72L1095,72V55L1110,55V38L1117,38V55L1130,55V42L1148,42V62L1168,62V50L1182,50V65L1202,65V50L1218,50V30L1225,30V22L1229,22V30L1236,30V50L1253,50V62L1273,62V72L1293,72V55L1308,55V70L1328,70V55L1345,55V70L1365,70V80L1440,80V130Z'/%3E%3Ccircle cx='110' cy='12' r='2.5' fill='%23ff4400' opacity='0.9'/%3E%3Ccircle cx='296' cy='14' r='2' fill='%23ff2200' opacity='0.8'/%3E%3Ccircle cx='494' cy='19' r='2.5' fill='%23ff4400' opacity='0.9'/%3E%3Ccircle cx='621' cy='24' r='2' fill='%23ff2200' opacity='0.85'/%3E%3Ccircle cx='798' cy='17' r='2.5' fill='%23ff4400' opacity='0.9'/%3E%3Ccircle cx='996' cy='21' r='2' fill='%23ff2200' opacity='0.8'/%3E%3Ccircle cx='1229' cy='19' r='2.5' fill='%23ff4400' opacity='0.9'/%3E%3C/svg%3E") bottom/cover no-repeat;
    pointer-events:none; z-index:1;
}

/* ── СТАТЬИ — Вайс-Сити неоновая ночь ── */
.single-articles .page-hero,
.post-type-archive-articles .page-hero {
    background: #05000f;
    border-bottom-color: #dd44ff;
}
.single-articles .page-hero::before,
.post-type-archive-articles .page-hero::before {
    content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
    background:
        radial-gradient(1px 1px at 12% 30%, rgba(255,180,255,.8) 0%, transparent 1px),
        radial-gradient(1px 1px at 28% 55%, rgba(200,150,255,.6) 0%, transparent 1px),
        radial-gradient(1px 1px at 44% 18%, rgba(255,160,255,.9) 0%, transparent 1px),
        radial-gradient(1px 1px at 61% 42%, rgba(180,130,255,.7) 0%, transparent 1px),
        radial-gradient(1px 1px at 77% 25%, rgba(255,140,220,.8) 0%, transparent 1px),
        radial-gradient(1px 1px at 89% 50%, rgba(200,100,255,.6) 0%, transparent 1px),
        radial-gradient(ellipse 90% 40% at 50% 115%, rgba(255,40,180,.3) 0%, transparent 55%),
        radial-gradient(ellipse 50% 60% at 75% 60%, rgba(140,0,255,.15) 0%, transparent 50%),
        radial-gradient(ellipse 40% 50% at 20% 70%, rgba(255,60,180,.1) 0%, transparent 45%),
        linear-gradient(180deg, #080018 0%, #100025 50%, #180012 100%);
}
.single-articles .page-hero::after,
.post-type-archive-articles .page-hero::after {
    content:''; position:absolute; bottom:0; left:0; right:0; height:120px;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath fill='%2310002a' d='M0,120V68L35,68V48L50,48V25L58,25V48L72,48V38L88,38V58L105,58V38L120,38V14L127,14V7L131,7V14L138,14V38L155,38V52L175,52V62L198,62V45L215,45V25L222,25V45L237,45V35L255,35V55L275,55V42L290,42V58L310,58V45L328,45V22L335,22V14L339,14V22L347,22V45L365,45V58L385,58V68L408,68V52L425,52V35L432,35V52L447,52V40L465,40V60L485,60V48L500,48V62L520,62V48L537,48V28L544,28V20L548,20V28L556,28V48L573,48V60L593,60V48L608,48V60L628,60V70L650,70V52L668,52V35L675,35V52L690,52V40L708,40V60L730,60V48L745,48V62L765,62V70L788,70V55L803,55V38L810,38V55L825,55V42L843,42V62L865,62V50L880,50V65L902,65V50L918,50V30L925,30V22L929,22V30L937,30V50L955,50V62L977,62V50L992,50V62L1012,62V72L1035,72V55L1050,55V38L1057,38V55L1072,55V42L1090,42V62L1112,62V50L1128,50V65L1150,65V50L1165,50V30L1172,30V22L1176,22V30L1184,30V50L1202,50V62L1222,62V72L1245,72V55L1262,55V70L1282,70V55L1300,55V70L1320,70V80L1440,80V120Z'/%3E%3C/svg%3E") bottom/cover no-repeat;
    pointer-events:none; z-index:1;
}

/* ── ФАЙЛЫ — San Andreas закат пустыни ── */
.single-files .page-hero,
.post-type-archive-files .page-hero {
    background: #0a0500;
    border-bottom-color: #ffaa00;
}
.single-files .page-hero::before,
.post-type-archive-files .page-hero::before {
    content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
    background:
        radial-gradient(1px 1px at 15% 28%, rgba(255,210,100,.7) 0%, transparent 1px),
        radial-gradient(1px 1px at 32% 52%, rgba(255,190,80,.5) 0%, transparent 1px),
        radial-gradient(1px 1px at 55% 20%, rgba(255,220,120,.8) 0%, transparent 1px),
        radial-gradient(1px 1px at 78% 42%, rgba(255,170,60,.6) 0%, transparent 1px),
        radial-gradient(1px 1px at 91% 18%, rgba(255,200,90,.7) 0%, transparent 1px),
        radial-gradient(ellipse 80% 35% at 35% 120%, rgba(255,120,0,.5) 0%, rgba(200,60,0,.25) 35%, transparent 60%),
        radial-gradient(ellipse 50% 50% at 75% 90%, rgba(255,160,0,.2) 0%, transparent 45%),
        linear-gradient(180deg, #0f0700 0%, #1a0c00 40%, #250f00 70%, #300e00 100%);
}
.single-files .page-hero::after,
.post-type-archive-files .page-hero::after {
    content:''; position:absolute; bottom:0; left:0; right:0; height:100px;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'%3E%3Cellipse cx='180' cy='130' rx='280' ry='75' fill='%23180a00' opacity='0.95'/%3E%3Cellipse cx='580' cy='125' rx='320' ry='70' fill='%23120700' opacity='0.98'/%3E%3Cellipse cx='980' cy='128' rx='300' ry='72' fill='%23150900' opacity='0.95'/%3E%3Cellipse cx='1320' cy='132' rx='260' ry='68' fill='%23130800' opacity='0.97'/%3E%3Crect x='0' y='82' width='1440' height='18' fill='%230e0600' opacity='0.98'/%3E%3Crect x='650' y='45' width='4' height='40' fill='%23ff8800' opacity='0.4'/%3E%3Crect x='648' y='42' width='8' height='4' fill='%23ffaa00' opacity='0.5'/%3E%3C/svg%3E") bottom/cover no-repeat;
    pointer-events:none; z-index:1;
}

/* ── ВИДЕО — GTA IV дождливый Либерти-Сити ── */
.single-videos .page-hero,
.post-type-archive-videos .page-hero {
    background: #000810;
    border-bottom-color: #3366ff;
}
.single-videos .page-hero::before,
.post-type-archive-videos .page-hero::before {
    content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
    background:
        repeating-linear-gradient(172deg, transparent 0px, transparent 4px, rgba(150,200,255,.025) 4px, rgba(150,200,255,.025) 5px),
        radial-gradient(ellipse 80% 35% at 50% 115%, rgba(40,80,255,.35) 0%, transparent 58%),
        radial-gradient(ellipse 40% 45% at 20% 75%, rgba(255,140,40,.12) 0%, transparent 40%),
        radial-gradient(ellipse 35% 40% at 82% 65%, rgba(40,160,255,.1) 0%, transparent 42%),
        linear-gradient(180deg, #000d22 0%, #001230 50%, #000b1a 100%);
}
.single-videos .page-hero::after,
.post-type-archive-videos .page-hero::after {
    content:''; position:absolute; bottom:0; left:0; right:0; height:130px;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 130' preserveAspectRatio='none'%3E%3Cpath fill='%23001022' d='M0,130V78L32,78V58L48,58V35L56,35V58L70,58V45L84,45V62L100,62V45L114,45V20L121,20V12L125,12V20L132,20V45L148,45V58L168,58V68L190,68V50L207,50V30L214,30V50L228,50V38L245,38V58L265,58V45L280,45V60L300,60V45L318,45V22L325,22V14L329,14V22L337,22V45L355,45V58L375,58V68L398,68V52L415,52V35L422,35V52L437,52V40L455,40V60L477,60V48L492,48V65L514,65V50L530,50V30L537,30V22L541,22V30L549,30V50L567,50V62L589,62V50L604,50V65L625,65V72L648,72V56L663,56V38L670,38V56L685,56V44L703,44V64L725,64V52L740,52V66L762,66V52L778,52V30L785,30V22L789,22V30L797,30V52L815,52V64L837,64V72L860,72V55L875,55V40L882,40V55L897,55V44L916,44V64L938,64V52L952,52V66L974,66V52L990,52V32L997,32V24L1001,24V32L1009,32V52L1027,52V64L1049,64V52L1064,52V66L1086,66V72L1109,72V55L1124,55V70L1145,70V55L1162,55V70L1183,70V80L1440,80V130Z'/%3E%3C/svg%3E") bottom/cover no-repeat;
    pointer-events:none; z-index:1;
}

/* ── ФОРУМ — ночной город ── */
.tax-forum_section .page-hero,
.post-type-forum_topic .page-hero {
    background: #0a0600;
    border-bottom-color: var(--orange);
}
.tax-forum_section .page-hero::before,
.post-type-forum_topic .page-hero::before {
    content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
    background:
        radial-gradient(1px 1px at 10% 32%, rgba(255,200,80,.6) 0%, transparent 1px),
        radial-gradient(1px 1px at 38% 22%, rgba(255,180,60,.7) 0%, transparent 1px),
        radial-gradient(1px 1px at 62% 45%, rgba(255,160,50,.5) 0%, transparent 1px),
        radial-gradient(1px 1px at 85% 28%, rgba(255,200,80,.8) 0%, transparent 1px),
        radial-gradient(ellipse 70% 40% at 50% 115%, rgba(245,92,0,.35) 0%, transparent 55%),
        linear-gradient(180deg, #0f0800 0%, #180c00 50%, #0a0500 100%);
}
.tax-forum_section .page-hero::after,
.post-type-forum_topic .page-hero::after {
    content:''; position:absolute; bottom:0; left:0; right:0; height:110px;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 110' preserveAspectRatio='none'%3E%3Cpath fill='%23120800' d='M0,110V65L30,65V48L44,48V28L52,28V48L65,48V38L78,38V56L94,56V38L108,38V16L115,16V10L119,10V16L125,16V38L140,38V50L158,50V62L178,62V46L194,46V28L201,28V46L215,46V36L230,36V56L248,56V43L262,43V58L280,58V43L296,43V22L303,22V14L307,14V22L314,22V43L330,43V56L348,56V66L368,66V50L383,50V33L390,33V50L404,50V40L420,40V58L438,58V46L452,46V60L470,60V46L486,46V26L493,26V18L497,18V26L504,26V46L521,46V58L540,58V66L560,66V50L575,50V33L582,33V50L596,50V40L613,40V60L632,60V48L646,48V62L664,62V48L680,48V28L687,28V20L691,20V28L698,28V48L715,48V60L734,60V68L755,68V52L770,52V35L777,35V52L791,52V42L808,42V60L827,60V48L841,48V62L860,62V48L876,48V28L883,28V20L887,20V28L895,28V48L912,48V60L931,60V68L952,68V52L967,52V66L988,66V52L1005,52V33L1012,33V52L1027,52V40L1044,40V58L1063,58V46L1078,46V60L1098,60V46L1115,46V28L1122,28V20L1126,20V28L1134,28V46L1151,46V58L1170,58V66L1192,66V52L1208,52V68L1228,68V52L1246,52V35L1253,35V52L1268,52V40L1285,40V58L1304,58V66L1325,66V80L1440,80V110Z'/%3E%3C/svg%3E") bottom/cover no-repeat;
    pointer-events:none; z-index:1;
}

/* ── ЧИТЫ — красная тревога ── */
.page-template-page-cheats .page-hero {
    background: #0f0000;
    border-bottom-color: #cc0000;
}
.page-template-page-cheats .page-hero::before {
    content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
    background:
        repeating-linear-gradient(90deg, transparent 0px, transparent 58px, rgba(255,0,0,.03) 58px, rgba(255,0,0,.03) 59px),
        repeating-linear-gradient(0deg, transparent 0px, transparent 38px, rgba(255,0,0,.025) 38px, rgba(255,0,0,.025) 39px),
        radial-gradient(ellipse 70% 50% at 50% 115%, rgba(200,0,0,.45) 0%, transparent 58%),
        linear-gradient(180deg, #1a0000 0%, #220000 50%, #100000 100%);
}
.page-template-page-cheats .page-hero::after {
    content:''; position:absolute; bottom:0; left:0; right:0; height:6px;
    background:repeating-linear-gradient(90deg,#cc0000 0,#cc0000 18px,#000 18px,#000 36px);
    background-size:36px 6px;
    animation:warnStripe 1s linear infinite;
    pointer-events:none; z-index:1;
}
@keyframes warnStripe{to{background-position:36px 0}}

/* ── Общие правила текста для тёмных hero ── */
.single-news .page-hero .page-hero__inner,
.post-type-archive-news .page-hero .page-hero__inner,
.single-articles .page-hero .page-hero__inner,
.post-type-archive-articles .page-hero .page-hero__inner,
.single-files .page-hero .page-hero__inner,
.post-type-archive-files .page-hero .page-hero__inner,
.single-videos .page-hero .page-hero__inner,
.post-type-archive-videos .page-hero .page-hero__inner,
.tax-forum_section .page-hero .page-hero__inner,
.post-type-forum_topic .page-hero .page-hero__inner,
.page-template-page-cheats .page-hero .page-hero__inner { position:relative;z-index:2; }

.single-news .page-hero h1, .post-type-archive-news .page-hero h1,
.single-articles .page-hero h1, .post-type-archive-articles .page-hero h1,
.single-files .page-hero h1, .post-type-archive-files .page-hero h1,
.single-videos .page-hero h1, .post-type-archive-videos .page-hero h1,
.tax-forum_section .page-hero h1, .post-type-forum_topic .page-hero h1,
.page-template-page-cheats .page-hero h1 { color:#fff; text-shadow:0 2px 20px rgba(0,0,0,.6); }

.single-news .page-hero p, .post-type-archive-news .page-hero p,
.single-articles .page-hero p, .post-type-archive-articles .page-hero p,
.single-files .page-hero p, .post-type-archive-files .page-hero p,
.single-videos .page-hero p, .post-type-archive-videos .page-hero p,
.tax-forum_section .page-hero p, .post-type-forum_topic .page-hero p,
.page-template-page-cheats .page-hero p { color:rgba(255,255,255,.55); }

.single-news .page-hero .section-label, .post-type-archive-news .page-hero .section-label { color:var(--orange); }
.single-articles .page-hero .section-label, .post-type-archive-articles .page-hero .section-label { color:#dd88ff; }
.single-files .page-hero .section-label, .post-type-archive-files .page-hero .section-label { color:#ffcc44; }
.single-videos .page-hero .section-label, .post-type-archive-videos .page-hero .section-label { color:#5599ff; }
.tax-forum_section .page-hero .section-label, .post-type-forum_topic .page-hero .section-label { color:var(--orange); }
.page-template-page-cheats .page-hero .section-label { color:#ff4444; }

.single-news .page-hero .page-hero__breadcrumb a,
.single-news .page-hero .page-hero__breadcrumb span,
.single-articles .page-hero .page-hero__breadcrumb a,
.single-articles .page-hero .page-hero__breadcrumb span,
.single-files .page-hero .page-hero__breadcrumb a,
.single-files .page-hero .page-hero__breadcrumb span,
.single-videos .page-hero .page-hero__breadcrumb a,
.single-videos .page-hero .page-hero__breadcrumb span,
.post-type-archive-news .page-hero .page-hero__breadcrumb a,
.post-type-archive-news .page-hero .page-hero__breadcrumb span,
.post-type-archive-articles .page-hero .page-hero__breadcrumb a,
.post-type-archive-articles .page-hero .page-hero__breadcrumb span,
.post-type-archive-files .page-hero .page-hero__breadcrumb a,
.post-type-archive-files .page-hero .page-hero__breadcrumb span,
.post-type-archive-videos .page-hero .page-hero__breadcrumb a,
.post-type-archive-videos .page-hero .page-hero__breadcrumb span,
.tax-forum_section .page-hero .page-hero__breadcrumb a,
.tax-forum_section .page-hero .page-hero__breadcrumb span,
.post-type-forum_topic .page-hero .page-hero__breadcrumb a,
.post-type-forum_topic .page-hero .page-hero__breadcrumb span,
.page-template-page-cheats .page-hero .page-hero__breadcrumb a,
.page-template-page-cheats .page-hero .page-hero__breadcrumb span { color:rgba(255,255,255,.4); }

.single-news .page-hero .page-hero__breadcrumb a:hover,
.single-articles .page-hero .page-hero__breadcrumb a:hover,
.single-files .page-hero .page-hero__breadcrumb a:hover,
.single-videos .page-hero .page-hero__breadcrumb a:hover,
.post-type-archive-news .page-hero .page-hero__breadcrumb a:hover,
.post-type-archive-articles .page-hero .page-hero__breadcrumb a:hover,
.post-type-archive-files .page-hero .page-hero__breadcrumb a:hover,
.post-type-archive-videos .page-hero .page-hero__breadcrumb a:hover,
.tax-forum_section .page-hero .page-hero__breadcrumb a:hover,
.post-type-forum_topic .page-hero .page-hero__breadcrumb a:hover,
.page-template-page-cheats .page-hero .page-hero__breadcrumb a:hover { color:#fff; }
.page-hero__inner{position:relative;z-index:1}
.page-hero__breadcrumb{display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:var(--text3);margin-bottom:1rem;flex-wrap:wrap}
.page-hero__breadcrumb a{color:var(--text3);transition:color .2s}
.page-hero__breadcrumb a:hover{color:var(--orange)}
.page-hero__breadcrumb span{color:var(--text3)}

/* ============================================================
   FILTER BAR
============================================================ */
.filter-bar{background:var(--white);border-bottom:1px solid var(--border);padding:1rem 0;position:sticky;top:var(--header-h);z-index:100}
.filter-bar__inner{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.filter-btn{background:var(--bg);color:var(--text2);border:1px solid var(--border);padding:7px 16px;font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:all .2s;white-space:nowrap}
.filter-btn.active,.filter-btn:hover{background:var(--orange);color:#fff;border-color:var(--orange)}

/* ============================================================
   NEWS / POST CARDS
============================================================ */
.posts-section{padding:60px 0;background:var(--white)}
.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.post-card{background:var(--white);border:1px solid var(--border);display:flex;flex-direction:column;transition:all .25s;overflow:hidden}
.post-card:hover{box-shadow:0 4px 20px rgba(0,0,0,.08);transform:translateY(-2px)}
.post-card__stripe{height:3px;background:linear-gradient(90deg,var(--orange),var(--orange-h));flex-shrink:0}
.post-card__thumb{height:180px;overflow:hidden;flex-shrink:0;background:var(--bg);position:relative}
.post-card__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.post-card:hover .post-card__thumb img{transform:scale(1.05)}
.post-card__thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',sans-serif;font-size:3rem;color:var(--border-d);letter-spacing:6px}
.post-card__body{padding:1.4rem;flex:1;display:flex;flex-direction:column}
.post-card__meta-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.7rem;flex-wrap:wrap;gap:.4rem}
.post-card__cat{font-family:'Orbitron',monospace;font-size:.58rem;letter-spacing:4px;color:var(--orange);text-transform:uppercase}
.post-card__date{font-size:.65rem;color:var(--text3);letter-spacing:1px;font-weight:600}
.post-card__title{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;letter-spacing:1px;color:var(--text);line-height:1.1;flex:1;margin-bottom:.8rem;transition:color .2s}
.post-card:hover .post-card__title{color:var(--orange)}
.post-card__excerpt{font-size:.85rem;color:var(--text2);line-height:1.6;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.post-card__footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto}
.post-card__author{display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:var(--text3);font-weight:600}
.post-card__author-avatar{width:22px;height:22px;border-radius:50%;background:var(--orange);display:flex;align-items:center;justify-content:center;font-size:.6rem;color:#fff;font-weight:700;overflow:hidden}
.post-card__author-avatar img{width:100%;height:100%;object-fit:cover}

/* Featured post */
.post-card--featured{grid-column:1/-1}
.post-card--featured .post-card__inner{display:grid;grid-template-columns:1.2fr 1fr}
.post-card--featured .post-card__thumb{height:100%;min-height:280px}
.post-card--featured .post-card__title{font-size:2.2rem}

/* ============================================================
   NEWS SECTION (homepage)
============================================================ */
.news-section{padding:90px 0;background:var(--white)}
.news-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3rem;flex-wrap:wrap;gap:1rem}
.news-grid{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:auto auto;gap:3px}
.news-card{background:var(--white);border:1px solid var(--border);display:flex;flex-direction:column;cursor:pointer;transition:all .2s;overflow:hidden}
.news-card:hover{background:var(--orange-pale);box-shadow:0 4px 16px rgba(0,0,0,.07)}
.news-card--featured{grid-row:1/3}
.news-card__stripe{height:3px;background:linear-gradient(90deg,var(--orange),var(--orange-h));flex-shrink:0}
.news-card__img{overflow:hidden;flex-shrink:0;position:relative}
.news-card__img{height:200px}
.news-card--featured .news-card__img{height:280px}
.news-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.news-card:hover .news-card__img img{transform:scale(1.05)}
.news-card__img-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#2a0800,#aa3800 60%,#ff6b00);display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',sans-serif;font-size:2.5rem;color:rgba(255,255,255,.08);letter-spacing:8px}
.news-card__img-tag{position:absolute;bottom:.8rem;left:.8rem;background:var(--orange);color:#fff;font-size:.62rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;padding:3px 10px}
.news-card__body{padding:1.4rem;flex:1;display:flex;flex-direction:column}
.news-card__cat{font-family:'Orbitron',monospace;font-size:.58rem;letter-spacing:4px;color:var(--orange);text-transform:uppercase;margin-bottom:.7rem}
.news-card__title{font-family:'Bebas Neue',sans-serif;font-size:1.5rem;letter-spacing:1.5px;color:var(--text);line-height:1.1;flex:1;margin-bottom:.8rem;transition:color .2s}
.news-card--featured .news-card__title{font-size:2rem}
.news-card:hover .news-card__title{color:var(--orange)}
.news-card__excerpt{font-size:.88rem;color:var(--text2);line-height:1.6;margin-bottom:.8rem}
.news-card__meta{font-size:.65rem;color:var(--text3);letter-spacing:2px;font-weight:600;text-transform:uppercase}

/* ============================================================
   FEATURES STRIP
============================================================ */
.features-strip{display:grid;grid-template-columns:repeat(4,1fr);background:var(--bg);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.feature-item{padding:2.4rem 2rem;border-right:1px solid var(--border);transition:background .2s}
.feature-item:last-child{border-right:none}
.feature-item:hover{background:var(--orange-pale)}
.feature-item__icon{font-size:1.8rem;margin-bottom:.8rem}
.feature-item__line{width:28px;height:3px;background:var(--orange);margin-bottom:.8rem}
.feature-item__title{font-family:'Bebas Neue',sans-serif;font-size:1.2rem;letter-spacing:2px;color:var(--text);margin-bottom:.4rem}
.feature-item__desc{font-size:.85rem;color:var(--text2);line-height:1.5}

/* ============================================================
   COMMUNITY (dark)
============================================================ */
.community-section{padding:90px 0;background:var(--dark);position:relative;overflow:hidden}
.community-section::before{content:'';position:absolute;right:0;top:0;width:50%;height:100%;background:rgba(245,92,0,.04);clip-path:polygon(15% 0%,100% 0%,100% 100%,0% 100%)}
.community-section__inner{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;position:relative;z-index:1}
.community-section .section-label{color:var(--orange)}
.community-section .section-title{color:#fff}
.community-section>div>p{color:rgba(255,255,255,.55)}
.quote-stack{position:relative;min-height:400px}
.quote-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-left:3px solid var(--orange);padding:1.2rem 1.4rem;position:absolute;max-width:380px;transition:transform .3s}
.quote-card:hover{transform:translateX(8px)}
.quote-card:nth-child(1){top:0;left:0;right:50px}
.quote-card:nth-child(2){top:105px;left:30px;right:0;background:rgba(245,92,0,.08)}
.quote-card:nth-child(3){top:215px;left:0;right:55px}
.quote-card:nth-child(4){top:320px;left:35px;right:0;background:rgba(245,92,0,.08)}
.quote-card__user{font-family:'Orbitron',monospace;font-size:.58rem;letter-spacing:3px;color:var(--orange);margin-bottom:.5rem}
.quote-card__text{font-size:.88rem;color:rgba(255,255,255,.6);line-height:1.5}

/* ============================================================
   FILES / ARCHIVE
============================================================ */
.files-section{padding:60px 0;background:var(--bg)}
.files-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-top:2rem}
.file-card{background:var(--white);border:1px solid var(--border);padding:1.4rem;display:flex;gap:1rem;align-items:flex-start;transition:all .2s;cursor:pointer}
.file-card:hover{background:var(--orange-pale);border-color:var(--orange-mid);transform:translateY(-1px)}
.file-card__icon{width:44px;height:44px;background:var(--bg);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}
.file-card:hover .file-card__icon{background:var(--orange-pale);border-color:var(--orange-mid)}
.file-card__info{flex:1;min-width:0}
.file-card__name{font-family:'Bebas Neue',sans-serif;font-size:1.1rem;letter-spacing:1px;color:var(--text);margin-bottom:.2rem;transition:color .2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.file-card:hover .file-card__name{color:var(--orange)}
.file-card__meta{font-size:.72rem;color:var(--text3);letter-spacing:1px;margin-bottom:.4rem}
.file-card__tags{display:flex;gap:.3rem;flex-wrap:wrap}
.file-card__actions{display:flex;flex-direction:column;align-items:flex-end;gap:.4rem;flex-shrink:0}
.file-card__size{font-size:.7rem;color:var(--text3);font-weight:700}
.download-btn{background:var(--orange);color:#fff;padding:6px 14px;font-size:.7rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;transition:background .2s;white-space:nowrap}
.download-btn:hover{background:var(--orange-h)}

/* ============================================================
   SINGLE POST
============================================================ */
.single-layout{padding:60px 0 80px}
.single-layout__inner{display:grid;grid-template-columns:1fr 320px;gap:2.5rem;align-items:start}
.single-post__header{margin-bottom:2rem}
.single-post__cat{font-family:'Orbitron',monospace;font-size:.6rem;letter-spacing:5px;color:var(--orange);text-transform:uppercase;margin-bottom:.8rem}
.single-post__title{font-size:clamp(2rem,4vw,3.5rem);margin-bottom:1rem;line-height:1.05}
.single-post__meta{display:flex;align-items:center;gap:1.5rem;font-size:.72rem;color:var(--text3);letter-spacing:1px;font-weight:600;flex-wrap:wrap;padding-bottom:1rem;border-bottom:1px solid var(--border);margin-bottom:2rem}
.single-post__author-link{display:flex;align-items:center;gap:.4rem;color:var(--text2)}
.single-post__author-link:hover{color:var(--orange)}
.single-post__featured-img{width:100%;overflow:hidden;margin-bottom:2.5rem;max-height:500px}
.single-post__featured-img img{width:100%;height:100%;object-fit:cover}
.entry-content{font-size:1rem;line-height:1.8;color:var(--text)}
.entry-content p{color:var(--text);margin-bottom:1.2rem}
.entry-content h2{font-size:2rem;margin:2rem 0 1rem;color:var(--text)}
.entry-content h3{font-size:1.5rem;margin:1.5rem 0 .8rem;color:var(--text)}
.entry-content a{color:var(--orange);border-bottom:1px solid rgba(245,92,0,.3)}
.entry-content a:hover{border-color:var(--orange)}
.entry-content ul,.entry-content ol{margin:1rem 0 1.5rem 1.5rem}
.entry-content ul{list-style:disc}
.entry-content ol{list-style:decimal}
.entry-content li{margin-bottom:.4rem}
.entry-content blockquote{border-left:3px solid var(--orange);padding:1rem 1.5rem;margin:1.5rem 0;background:var(--orange-pale)}
.entry-content img{width:100%;margin:1.5rem 0}
.entry-content code{background:var(--bg);color:var(--orange);padding:2px 6px;font-size:.875rem}
.entry-content pre{background:var(--bg);border-left:3px solid var(--orange);padding:1.2rem;overflow-x:auto;margin:1.5rem 0}
.entry-content table{margin:1.5rem 0}
.entry-content th,.entry-content td{padding:.7rem 1rem;text-align:left;border-bottom:1px solid var(--border)}
.entry-content th{background:var(--bg);color:var(--orange);font-family:'Orbitron',monospace;font-size:.65rem;letter-spacing:2px}

/* Tags */
.entry-tags{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.entry-tags span{font-size:.75rem;font-weight:700;color:var(--text3);letter-spacing:1px;text-transform:uppercase}
.entry-tags a{background:var(--bg);border:1px solid var(--border);color:var(--text2);padding:4px 10px;font-size:.75rem;transition:all .2s}
.entry-tags a:hover{background:var(--orange-pale);border-color:var(--orange-mid);color:var(--orange)}

/* ============================================================
   SIDEBAR
============================================================ */
.sidebar{position:sticky;top:calc(var(--header-h) + 1rem)}
.sidebar-widget{background:var(--white);border:1px solid var(--border);margin-bottom:3px;overflow:hidden}
.sidebar-widget__title{background:var(--orange);color:#fff;font-family:'Bebas Neue',sans-serif;font-size:1rem;letter-spacing:4px;padding:.8rem 1.2rem}
.sidebar-widget__body{padding:1.2rem}
.sidebar-recent-item{display:flex;gap:.8rem;padding:.7rem 0;border-bottom:1px solid var(--border)}
.sidebar-recent-item:last-child{border:none}
.sidebar-recent-item__thumb{width:56px;height:56px;flex-shrink:0;overflow:hidden;background:var(--bg)}
.sidebar-recent-item__thumb img{width:100%;height:100%;object-fit:cover}
.sidebar-recent-item__title{font-family:'Bebas Neue',sans-serif;font-size:.95rem;letter-spacing:1px;color:var(--text);line-height:1.2;margin-bottom:.2rem;transition:color .2s;display:block}
.sidebar-recent-item__title:hover{color:var(--orange)}
.sidebar-recent-item__date{font-size:.62rem;color:var(--text3);font-weight:600;letter-spacing:1px}
.tag-cloud{display:flex;flex-wrap:wrap;gap:.4rem}
.tag-cloud a{background:var(--bg);color:var(--text2);border:1px solid var(--border);padding:4px 10px;font-size:.75rem;transition:all .2s}
.tag-cloud a:hover{background:var(--orange-pale);border-color:var(--orange-mid);color:var(--orange)}
.sidebar-search{display:flex}
.sidebar-search input{flex:1;background:var(--bg);border:1px solid var(--border);border-right:none;padding:.7rem 1rem;font-size:.85rem;color:var(--text)}
.sidebar-search input:focus{border-color:var(--orange)}
.sidebar-search button{background:var(--orange);color:#fff;padding:.7rem 1rem;border:none;cursor:pointer;font-size:1rem;transition:background .2s}
.sidebar-search button:hover{background:var(--orange-h)}

/* ============================================================
   AUTH MODAL
============================================================ */
.auth-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;pointer-events:none;transition:opacity .25s;backdrop-filter:blur(4px)}
.auth-overlay.open{opacity:1;pointer-events:all}
.auth-modal{background:#fff;width:100%;max-width:440px;position:relative;animation:modalIn .3s ease}
@keyframes modalIn{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}
.auth-modal__header{background:var(--orange);padding:1.5rem 2rem;position:relative}
.auth-modal__title{font-family:'Bebas Neue',sans-serif;font-size:2rem;letter-spacing:3px;color:#fff}
.auth-modal__subtitle{font-size:.82rem;color:rgba(255,255,255,.7);margin-top:.2rem}
.auth-modal__close{position:absolute;top:1rem;right:1rem;background:rgba(255,255,255,.2);border:none;color:#fff;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.1rem;transition:background .2s}
.auth-modal__close:hover{background:rgba(255,255,255,.35)}
.auth-modal__body{padding:2rem}
.auth-tabs{display:flex;margin-bottom:1.5rem;border-bottom:1px solid var(--border)}
.auth-tab{padding:.8rem 1.2rem;font-size:.82rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;border:none;background:none;color:var(--text3);border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s}
.auth-tab.active{color:var(--orange);border-bottom-color:var(--orange)}
.auth-form{display:none}
.auth-form.active{display:block}
.auth-divider{text-align:center;position:relative;margin:1.2rem 0;color:var(--text3);font-size:.78rem}
.auth-divider::before,.auth-divider::after{content:'';position:absolute;top:50%;width:42%;height:1px;background:var(--border)}
.auth-divider::before{left:0}
.auth-divider::after{right:0}
.auth-footer{text-align:center;margin-top:1rem;font-size:.82rem;color:var(--text3)}
.auth-footer a{color:var(--orange);font-weight:700}

/* ============================================================
   PROFILE PAGE
============================================================ */
.profile-layout{padding:60px 0 80px;background:var(--bg)}
.profile-header{background:var(--dark);padding:3rem 0;margin-bottom:0}
.profile-header__inner{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}
.profile-avatar-wrap{position:relative}
.profile-avatar{width:100px;height:100px;border-radius:50%;border:4px solid var(--orange);overflow:hidden;background:var(--orange);display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',sans-serif;font-size:2.5rem;color:#fff}
.profile-avatar img{width:100%;height:100%;object-fit:cover}
.profile-avatar-edit{position:absolute;bottom:0;right:0;width:28px;height:28px;background:var(--orange);border:2px solid #fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.7rem;color:#fff}
.profile-info__name{font-family:'Bebas Neue',sans-serif;font-size:2.5rem;letter-spacing:2px;color:#fff}
.profile-info__role{font-family:'Orbitron',monospace;font-size:.62rem;letter-spacing:4px;color:var(--orange);text-transform:uppercase;margin-bottom:.5rem}
.profile-info__meta{display:flex;gap:1.5rem;flex-wrap:wrap}
.profile-info__meta span{font-size:.78rem;color:rgba(255,255,255,.5);font-weight:600}
.profile-stats{display:flex;gap:1px;margin-left:auto;background:rgba(255,255,255,.05)}
.profile-stat{padding:1.2rem 2rem;text-align:center;background:rgba(255,255,255,.04)}
.profile-stat__num{font-family:'Bebas Neue',sans-serif;font-size:2rem;color:var(--orange);line-height:1}
.profile-stat__lbl{font-size:.65rem;color:rgba(255,255,255,.4);letter-spacing:2px;text-transform:uppercase;margin-top:.2rem}
.profile-content{padding:2rem 0}
.profile-tabs{display:flex;gap:3px;margin-bottom:2rem;background:var(--border)}
.profile-tab-btn{padding:.8rem 1.4rem;font-family:'Bebas Neue',sans-serif;font-size:.95rem;letter-spacing:2px;cursor:pointer;border:none;background:var(--white);color:var(--text3);transition:all .2s}
.profile-tab-btn.active{background:var(--orange);color:#fff}
.profile-tab-panel{display:none}
.profile-tab-panel.active{display:block}
.profile-posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}

/* ============================================================
   SUBMIT FORMS (frontend)
============================================================ */
.submit-page{padding:60px 0 80px;background:var(--bg)}
.submit-form-wrap{background:var(--white);border:1px solid var(--border);padding:2.5rem}
.submit-form-wrap h2{margin-bottom:1.5rem;font-size:2rem}
.submit-section{background:var(--bg);border:1px solid var(--border);padding:1.5rem;margin-bottom:1.5rem}
.submit-section__title{font-family:'Bebas Neue',sans-serif;font-size:1.1rem;letter-spacing:3px;color:var(--orange);margin-bottom:1rem;padding-bottom:.6rem;border-bottom:1px solid var(--border)}
.file-upload-area{border:2px dashed var(--border-d);padding:2.5rem;text-align:center;cursor:pointer;transition:all .3s;background:var(--bg)}
.file-upload-area:hover,.file-upload-area.drag-over{border-color:var(--orange);background:var(--orange-pale)}
.file-upload-area__icon{font-size:2.5rem;margin-bottom:.8rem}
.file-upload-area__text{font-size:.9rem;color:var(--text2)}
.file-upload-area__hint{font-size:.78rem;color:var(--text3);margin-top:.3rem}
.file-preview{display:flex;align-items:center;gap:.8rem;background:var(--bg);border:1px solid var(--border);padding:.8rem 1rem;margin-top:.8rem}
.file-preview__name{flex:1;font-size:.85rem;font-weight:600;color:var(--text)}
.file-preview__size{font-size:.75rem;color:var(--text3)}
.file-preview__remove{background:none;border:none;color:var(--error);cursor:pointer;font-size:1rem;padding:2px}

/* Image preview */
.img-preview-wrap{margin-top:.8rem;position:relative;display:inline-block}
.img-preview-wrap img{max-height:200px;border:1px solid var(--border)}
.img-preview-remove{position:absolute;top:.3rem;right:.3rem;background:var(--error);color:#fff;border:none;width:22px;height:22px;border-radius:50%;cursor:pointer;font-size:.8rem;display:flex;align-items:center;justify-content:center}

/* ============================================================
   PAGINATION
============================================================ */
.pagination{display:flex;justify-content:center;gap:3px;padding:2.5rem 0}
.page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 8px;background:var(--white);color:var(--text2);border:1px solid var(--border);font-family:'Bebas Neue',sans-serif;font-size:1rem;letter-spacing:1px;transition:all .2s}
.page-numbers.current,.page-numbers:hover{background:var(--orange);color:#fff;border-color:var(--orange)}

/* ============================================================
   404
============================================================ */
.page-404{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:2rem;padding-top:var(--header-h)}
.page-404__num{font-family:'Bebas Neue',sans-serif;font-size:clamp(8rem,18vw,16rem);color:var(--orange);text-shadow:4px 4px 0 var(--orange-mid);line-height:1;display:block}

/* ============================================================
   NEWSLETTER
============================================================ */
.newsletter-strip{background:var(--orange);padding:3rem 0}
.newsletter-strip__inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.newsletter-strip h3{font-family:'Bebas Neue',sans-serif;font-size:2rem;letter-spacing:3px;color:#fff}
.newsletter-strip p{color:rgba(255,255,255,.75);margin:0;font-size:.9rem}
.newsletter-form{display:flex;flex-shrink:0}
.newsletter-form input{background:#fff;border:none;padding:13px 20px;font-size:.9rem;width:260px;color:var(--text);outline:none;font-family:'DM Sans',sans-serif}
.newsletter-form input::placeholder{color:var(--text3)}
.newsletter-form button{background:var(--dark);color:#fff;padding:13px 26px;font-family:'Bebas Neue',sans-serif;font-size:1rem;letter-spacing:3px;border:none;cursor:pointer;transition:background .2s;white-space:nowrap}
.newsletter-form button:hover{background:#3a1a12}

/* ============================================================
   FOOTER
============================================================ */
.site-footer{background:var(--bg);border-top:1px solid var(--border);padding:4rem 0 0}
.site-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem}
.footer-logo{font-family:'Bebas Neue',sans-serif;font-size:2rem;letter-spacing:3px;color:var(--orange);display:block;margin-bottom:1rem}
.footer-logo span{color:var(--text)}
.footer-desc{font-size:.85rem;color:var(--text2);line-height:1.7;max-width:280px;margin-bottom:1.5rem}
.footer-social{display:flex;gap:.4rem}
.footer-social a{width:36px;height:36px;background:var(--white);border:1px solid var(--border);color:var(--text2);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;transition:all .2s}
.footer-social a svg{width:16px;height:16px;flex-shrink:0}
.footer-social a:hover{background:var(--orange);color:#fff;border-color:var(--orange)}
.footer-social a:hover svg{fill:#fff}
.footer-col h4{font-family:'Bebas Neue',sans-serif;font-size:.95rem;letter-spacing:4px;color:var(--text);margin-bottom:1.2rem}
.footer-col ul{display:flex;flex-direction:column;gap:.65rem}
.footer-col ul a{font-size:.85rem;color:var(--text2);font-weight:500;transition:color .2s;display:flex;align-items:center;gap:.4rem}
.footer-col ul a::before{content:'›';color:var(--orange)}
.footer-col ul a:hover{color:var(--orange)}
.footer-bottom{border-top:1px solid var(--border);padding:1.2rem 0}
.footer-bottom__inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.footer-bottom p{font-size:.75rem;color:var(--text3);letter-spacing:1px;margin:0}
.footer-bottom span{color:var(--orange);font-weight:600}

/* ============================================================
   RESPONSIVE
============================================================ */
/* header/hero/layout responsive moved to main responsive block below */

/* ============================================================
   COMMENTS
============================================================ */
.comments-wrap { margin-top: 3rem; padding-top: 2.5rem; border-top: 1px solid var(--border); }
.comments-items { display: flex; flex-direction: column; gap: 1px; margin-bottom: 2rem; }
.comment-item { display: flex; gap: 1rem; background: var(--white); border: 1px solid var(--border); padding: 1.2rem; }
.comment-item.comment-pending { opacity: .65; background: var(--bg); }
.comment-item__avatar { width: 40px; height: 40px; border-radius: 50%; overflow: hidden; flex-shrink: 0; background: var(--orange); }
.comment-item__avatar img { width: 100%; height: 100%; object-fit: cover; }
.comment-item__body { flex: 1; min-width: 0; }
.comment-item__header { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; margin-bottom: .5rem; }
.comment-item__author { font-family: 'Bebas Neue', sans-serif; font-size: 1rem; letter-spacing: 1px; color: var(--text); }
.comment-item__date { font-size: .65rem; color: var(--text3); letter-spacing: 1px; margin-left: auto; }
.comment-item__text { font-size: .9rem; color: var(--text); line-height: 1.65; }
.comment-item__actions { display: flex; gap: .8rem; margin-top: .6rem; flex-wrap: wrap; }
.comment-item__actions a, .comment-item__actions button { font-size: .72rem; font-weight: 700; letter-spacing: .05em; color: var(--text3); background: none; border: none; cursor: pointer; padding: 0; transition: color .2s; }
.comment-item__actions a:hover { color: var(--orange); }
.comment-action-btn { font-size: .72rem !important; font-weight: 700 !important; padding: 3px 10px !important; border: 1px solid var(--border) !important; }
.comment-action-btn--approve { color: var(--success) !important; border-color: #bbf7d0 !important; }
.comment-action-btn--approve:hover { background: #f0fdf4 !important; }
.comment-action-btn--delete { color: var(--error) !important; border-color: #fecaca !important; }
.comment-action-btn--delete:hover { background: #fef2f2 !important; }
.comment-form-wrap { margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid var(--border); }
@keyframes fadeInUp { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }

/* ============================================================
   MODERATION PANEL (profile)
============================================================ */
.moderation-item { display: flex; align-items: center; gap: 1rem; background: var(--white); border: 1px solid var(--border); padding: 1rem 1.2rem; margin-bottom: 3px; flex-wrap: wrap; }
.moderation-item__info { flex: 1; min-width: 0; }
.moderation-item__title { font-family: 'Bebas Neue', sans-serif; font-size: 1.1rem; letter-spacing: 1px; color: var(--text); margin-bottom: .2rem; }
.moderation-item__meta { font-size: .72rem; color: var(--text3); letter-spacing: 1px; }
.moderation-item__actions { display: flex; gap: .4rem; flex-shrink: 0; }

/* ============================================================
   LIVE SEARCH DROPDOWN
============================================================ */
.search-wrap { position: relative; }
.search-results-dropdown { position: absolute; top: 100%; left: 0; right: 0; background: var(--white); border: 1px solid var(--border); box-shadow: 0 8px 24px rgba(0,0,0,.1); z-index: 300; max-height: 400px; overflow-y: auto; }
.search-result-item { display: flex; align-items: center; gap: .8rem; padding: .7rem 1rem; border-bottom: 1px solid var(--border); cursor: pointer; transition: background .15s; text-decoration: none; }
.search-result-item:last-child { border: none; }
.search-result-item:hover { background: var(--orange-pale); }
.search-result-item__thumb { width: 44px; height: 44px; flex-shrink: 0; overflow: hidden; background: var(--bg); display: flex; align-items: center; justify-content: center; font-size: 1.2rem; }
.search-result-item__thumb img { width: 100%; height: 100%; object-fit: cover; }
.search-result-item__info { flex: 1; min-width: 0; }
.search-result-item__title { font-size: .88rem; font-weight: 700; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.search-result-item__meta { font-size: .7rem; color: var(--text3); }
.search-results-footer { padding: .6rem 1rem; text-align: center; font-size: .8rem; color: var(--orange); font-weight: 700; border-top: 1px solid var(--border); cursor: pointer; }
.search-results-footer:hover { background: var(--orange-pale); }
.search-no-results { padding: 1.2rem; text-align: center; font-size: .85rem; color: var(--text3); }

/* ============================================================
   USER ROLES PANEL (profile admin)
============================================================ */
.users-table { width: 100%; border-collapse: collapse; }
.users-table th { background: var(--bg); padding: .7rem 1rem; font-family: 'Orbitron', monospace; font-size: .6rem; letter-spacing: 3px; color: var(--text3); text-transform: uppercase; text-align: left; border-bottom: 2px solid var(--border); }
.users-table td { padding: .8rem 1rem; border-bottom: 1px solid var(--border); font-size: .88rem; vertical-align: middle; }
.users-table tr:hover td { background: var(--bg); }
.role-select { background: var(--bg); border: 1px solid var(--border); padding: 5px 10px; font-size: .8rem; font-family: 'DM Sans', sans-serif; color: var(--text); cursor: pointer; }

/* ============================================================
   FORUM
============================================================ */

/* Topbar */
.forum-topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}
.forum-online-wrap{display:flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;color:var(--text3)}
.forum-online-dot{width:8px;height:8px;background:#4ade80;border-radius:50%;box-shadow:0 0 0 2px rgba(74,222,128,.3)}

/* Section cards */
.forum-sections{display:flex;flex-direction:column;gap:2px;margin-bottom:2rem}
.forum-section-card{background:var(--white);border:1px solid var(--border);display:grid;grid-template-columns:56px 1fr 120px 260px;align-items:center;gap:1.5rem;padding:1.2rem 1.5rem;transition:all .2s}
.forum-section-card:hover{background:var(--orange-pale);border-color:var(--orange-mid)}
.forum-section-card__icon{width:48px;height:48px;background:var(--bg);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}
.forum-section-card:hover .forum-section-card__icon{background:var(--orange-pale);border-color:var(--orange-mid)}
.forum-section-card__name{font-family:'Bebas Neue',sans-serif;font-size:1.3rem;letter-spacing:1.5px;color:var(--text);transition:color .2s;display:block;margin-bottom:.2rem}
.forum-section-card:hover .forum-section-card__name{color:var(--orange)}
.forum-section-card__desc{font-size:.8rem;color:var(--text3)}
.forum-section-card__stats{display:flex;gap:1rem}
.forum-section-stat{text-align:center}
.forum-section-stat__num{display:block;font-family:'Bebas Neue',sans-serif;font-size:1.5rem;color:var(--orange);line-height:1}
.forum-section-stat__lbl{font-size:.65rem;color:var(--text3);letter-spacing:1px;text-transform:uppercase}
.forum-section-card__last{display:flex;align-items:center;gap:.6rem;min-width:0}
.forum-section-card__last-avatar{width:28px;height:28px;border-radius:50%;overflow:hidden;flex-shrink:0}
.forum-section-card__last-avatar img{width:100%;height:100%;object-fit:cover}
.forum-section-card__last-info{min-width:0}
.forum-section-card__last-title{font-size:.82rem;font-weight:700;color:var(--text);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s}
.forum-section-card__last-title:hover{color:var(--orange)}
.forum-section-card__last-meta{font-size:.7rem;color:var(--text3)}

/* Stats bar */
.forum-stats-bar{display:flex;gap:2rem;background:var(--white);border:1px solid var(--border);padding:1rem 1.5rem;flex-wrap:wrap}
.forum-stat-item{font-size:.82rem;color:var(--text3);font-weight:600}
.forum-stat-item strong{color:var(--text)}

/* Topics table */
.forum-topics-table{background:var(--white);border:1px solid var(--border);margin-bottom:1.5rem}
.forum-topics-head{display:grid;grid-template-columns:1fr 140px 240px;gap:1rem;padding:.7rem 1.2rem;background:var(--bg);border-bottom:1px solid var(--border);font-family:'Orbitron',monospace;font-size:.6rem;letter-spacing:3px;color:var(--text3);text-transform:uppercase}
.forum-topic-row{display:grid;grid-template-columns:1fr 140px 240px;gap:1rem;padding:1rem 1.2rem;border-bottom:1px solid var(--border);align-items:center;transition:background .15s}
.forum-topic-row:last-child{border:none}
.forum-topic-row:hover{background:var(--orange-pale)}
.forum-topic-row--pinned{background:rgba(245,92,0,.03)}
.forum-topic-row__title-wrap{display:flex;align-items:flex-start;gap:.6rem;min-width:0}
.forum-topic-row__avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--bg)}
.forum-topic-row__avatar img{width:100%;height:100%;object-fit:cover}
.forum-topic-row__info{min-width:0}
.forum-topic-row__badges{display:flex;gap:.3rem;margin-bottom:.3rem;flex-wrap:wrap}
.forum-topic-row__title{font-family:'Bebas Neue',sans-serif;font-size:1.15rem;letter-spacing:1px;color:var(--text);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s}
.forum-topic-row:hover .forum-topic-row__title{color:var(--orange)}
.forum-topic-row__meta{font-size:.7rem;color:var(--text3);margin-top:.1rem}
.forum-col-stats{display:flex;flex-direction:column;gap:.2rem;align-items:center}
.forum-col-stat{text-align:center;font-size:.78rem}
.forum-col-stat__num{font-family:'Bebas Neue',sans-serif;font-size:1.2rem;color:var(--text);line-height:1}
.forum-col-stat__lbl{font-size:.6rem;color:var(--text3);letter-spacing:1px}
.forum-topic-row__last{display:flex;align-items:center;gap:.5rem;min-width:0}
.forum-topic-row__last-avatar{width:24px;height:24px;border-radius:50%;overflow:hidden;flex-shrink:0}
.forum-topic-row__last-avatar img{width:100%;height:100%;object-fit:cover}
.forum-topic-row__last-info{min-width:0}
.forum-topic-row__last-name{font-size:.78rem;font-weight:700;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.forum-topic-row__last-date{font-size:.68rem;color:var(--text3)}
.forum-empty{text-align:center;padding:3rem;color:var(--text3)}

/* Reply cards */
.forum-replies{display:flex;flex-direction:column;gap:2px;margin-bottom:2rem}
.forum-reply{display:grid;grid-template-columns:140px 1fr;gap:0;background:var(--white);border:1px solid var(--border);overflow:hidden}
.forum-reply__author{background:var(--bg);border-right:1px solid var(--border);padding:1.2rem 1rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.4rem}
.forum-reply__avatar{width:52px;height:52px;border-radius:50%;overflow:hidden;border:2px solid var(--border);display:block}
.forum-reply__avatar img{width:100%;height:100%;object-fit:cover}
.forum-reply__name{font-family:'Bebas Neue',sans-serif;font-size:1rem;letter-spacing:1px;color:var(--text);transition:color .2s}
.forum-reply__name:hover{color:var(--orange)}
.forum-reply__rank{font-size:.6rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:2px 8px;color:#fff}
.forum-reply__op{background:var(--orange);color:#fff;font-size:.6rem;font-weight:700;letter-spacing:2px;padding:2px 8px;text-transform:uppercase}
.forum-reply__rep{font-size:.7rem;color:var(--text3);font-weight:600}
.forum-reply__posts-count{font-size:.65rem;color:var(--text3)}
.forum-reply__body{padding:1.2rem 1.4rem;display:flex;flex-direction:column}
.forum-reply__meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:.8rem;padding-bottom:.6rem;border-bottom:1px solid var(--border)}
.forum-reply__date{font-size:.7rem;color:var(--text3);font-family:'Orbitron',monospace;letter-spacing:1px}
.forum-reply__num{font-size:.7rem;color:var(--text3);font-family:'Orbitron',monospace}
.forum-reply__content{flex:1;font-size:.95rem;line-height:1.75}
.forum-reply__content blockquote{background:var(--orange-pale);border-left:3px solid var(--orange);padding:.7rem 1rem;margin:.8rem 0;font-style:italic;font-size:.88rem;color:var(--text2)}
.forum-reply__actions{display:flex;align-items:center;gap:.8rem;margin-top:1rem;padding-top:.8rem;border-top:1px solid var(--border);flex-wrap:wrap}
.forum-like-btn{display:inline-flex;align-items:center;gap:.3rem;background:var(--bg);border:1px solid var(--border);padding:5px 12px;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .2s;color:var(--text2);font-family:'DM Sans',sans-serif}
.forum-like-btn:hover,.forum-like-btn.liked{background:var(--orange-pale);border-color:var(--orange-mid);color:var(--orange)}
.forum-like-btn--static{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;color:var(--text3)}
.forum-quote-btn,.forum-delete-reply-btn{background:none;border:none;font-size:.78rem;color:var(--text3);cursor:pointer;padding:4px 8px;transition:color .2s;font-family:'DM Sans',sans-serif;font-weight:600}
.forum-quote-btn:hover{color:var(--orange)}
.forum-delete-reply-btn:hover{color:var(--error)}

/* Reply form */
.forum-reply-form{background:var(--white);border:1px solid var(--border);border-top:3px solid var(--orange);padding:1.5rem}

/* Mod buttons */
.forum-mod-btn{transition:all .2s}

/* Responsive */
/* forum responsive moved to main responsive block below */

/* ============================================================
   HOME PAGE — новый дизайн
============================================================ */
.home-content-grid { display: grid; grid-template-columns: 1fr 340px; gap: 2.5rem; align-items: start; }
.home-main-col { min-width: 0; }
.home-side-col { position: sticky; top: calc(var(--header-h) + 1rem); display: flex; flex-direction: column; gap: 1rem; }

.home-section-header { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 1.5rem; flex-wrap: wrap; gap: .8rem; }

/* Hero counters */
.hero__counters { display: flex; gap: 1.5rem; margin-top: 1.5rem; flex-wrap: wrap; }
.hero__counter { display: flex; flex-direction: column; }
.hero__counter span { font-family: 'Bebas Neue', sans-serif; font-size: 1.8rem; color: var(--orange); line-height: 1; }
.hero__counter { font-size: .7rem; color: var(--text3); font-weight: 600; letter-spacing: 1px; text-transform: uppercase; }

/* Featured news */
.home-news-featured { display: block; text-decoration: none; border: 1px solid var(--border); overflow: hidden; margin-bottom: 3px; transition: box-shadow .2s; }
.home-news-featured:hover { box-shadow: 0 4px 20px rgba(0,0,0,.08); }
.home-news-featured__img { position: relative; height: 280px; overflow: hidden; background: var(--bg); }
.home-news-featured__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.home-news-featured:hover .home-news-featured__img img { transform: scale(1.03); }
.home-news-featured__placeholder { width: 100%; height: 100%; background: linear-gradient(135deg,#1a0800,#aa3800 60%,#ff6b00); display: flex; align-items: center; justify-content: center; font-family: 'Bebas Neue',sans-serif; font-size: 4rem; color: rgba(255,255,255,.08); letter-spacing: 8px; }
.home-news-featured__cat { position: absolute; top: 1rem; left: 1rem; background: var(--orange); color: #fff; font-size: .65rem; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; padding: 4px 12px; }
.home-news-featured__body { padding: 1.4rem; background: #fff; }
.home-news-featured__title { font-family: 'Bebas Neue', sans-serif; font-size: 1.8rem; letter-spacing: 1.5px; color: var(--text); margin-bottom: .5rem; line-height: 1.1; transition: color .2s; }
.home-news-featured:hover .home-news-featured__title { color: var(--orange); }
.home-news-featured__excerpt { font-size: .88rem; color: var(--text2); line-height: 1.6; margin-bottom: .6rem; }
.home-news-featured__meta { font-size: .7rem; color: var(--text3); font-weight: 600; letter-spacing: 1px; }

/* News list */
.home-news-list { display: flex; flex-direction: column; gap: 2px; }
.home-news-item { display: flex; gap: .8rem; padding: .9rem; background: #fff; border: 1px solid var(--border); text-decoration: none; transition: all .2s; }
.home-news-item:hover { background: var(--orange-pale); border-color: var(--orange-mid); }
.home-news-item__thumb { width: 72px; height: 54px; flex-shrink: 0; overflow: hidden; background: var(--bg); }
.home-news-item__thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.home-news-item:hover .home-news-item__thumb img { transform: scale(1.08); }
.home-news-item__thumb-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 1.3rem; background: var(--bg); }
.home-news-item__info { flex: 1; min-width: 0; }
.home-news-item__cat { font-family: 'Orbitron', monospace; font-size: .55rem; letter-spacing: 3px; color: var(--orange); text-transform: uppercase; display: block; margin-bottom: .2rem; }
.home-news-item__title { font-family: 'Bebas Neue', sans-serif; font-size: 1.05rem; letter-spacing: 1px; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: color .2s; }
.home-news-item:hover .home-news-item__title { color: var(--orange); }
.home-news-item__date { font-size: .65rem; color: var(--text3); margin-top: .1rem; }

/* Files grid */
.home-files-grid { display: flex; flex-direction: column; gap: 2px; }
.home-file-card { display: flex; align-items: center; gap: .8rem; padding: .9rem 1rem; background: #fff; border: 1px solid var(--border); transition: all .2s; }
.home-file-card:hover { background: var(--orange-pale); border-color: var(--orange-mid); }
.home-file-card__icon { font-size: 1.4rem; flex-shrink: 0; }
.home-file-card__info { flex: 1; min-width: 0; }
.home-file-card__name { font-family: 'Bebas Neue', sans-serif; font-size: 1rem; letter-spacing: 1px; color: var(--text); display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: color .2s; }
.home-file-card:hover .home-file-card__name { color: var(--orange); }
.home-file-card__meta { font-size: .72rem; color: var(--text3); margin-top: .1rem; }
.home-file-card__right { display: flex; flex-direction: column; align-items: flex-end; gap: .15rem; flex-shrink: 0; }
.home-file-card__size { font-size: .72rem; color: var(--text3); font-weight: 600; }
.home-file-card__dl { font-size: .68rem; color: var(--text3); }

/* Sidebar widgets */
.home-widget { background: #fff; border: 1px solid var(--border); overflow: hidden; }
.home-widget__title { background: var(--orange); color: #fff; font-family: 'Bebas Neue', sans-serif; font-size: .95rem; letter-spacing: 4px; padding: .7rem 1rem; }
.home-widget__more { display: block; padding: .6rem 1rem; font-size: .78rem; font-weight: 700; color: var(--orange); text-align: center; border-top: 1px solid var(--border); background: var(--bg); transition: background .2s; }
.home-widget__more:hover { background: var(--orange-pale); }

/* GTA VI widget */
.home-widget--vi { background: linear-gradient(135deg, #0a0500, #2a0800 50%, #4a1000); border-color: var(--orange); padding: 1.5rem; text-align: center; }
.home-widget__vi-badge { font-family: 'Orbitron', monospace; font-size: .6rem; letter-spacing: 5px; color: var(--orange); margin-bottom: .4rem; }
.home-widget__vi-title { font-family: 'Bebas Neue', sans-serif; font-size: 3rem; letter-spacing: 4px; color: #fff; line-height: 1; }
.home-widget__vi-sub { font-size: .8rem; color: rgba(255,255,255,.5); margin-top: .3rem; }

/* Forum items */
.home-widget__forum-list { display: flex; flex-direction: column; }
.home-forum-item { display: block; padding: .7rem 1rem; border-bottom: 1px solid var(--border); text-decoration: none; transition: background .15s; }
.home-forum-item:last-child { border: none; }
.home-forum-item:hover { background: var(--orange-pale); }
.home-forum-item__title { font-size: .85rem; font-weight: 700; color: var(--text); transition: color .2s; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.home-forum-item:hover .home-forum-item__title { color: var(--orange); }
.home-forum-item__meta { font-size: .68rem; color: var(--text3); margin-top: .1rem; }

/* Articles items */
.home-article-item { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .65rem 1rem; border-bottom: 1px solid var(--border); text-decoration: none; transition: background .15s; }
.home-article-item:last-of-type { border: none; }
.home-article-item:hover { background: var(--orange-pale); }
.home-article-item__title { font-size: .85rem; font-weight: 600; color: var(--text); flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: color .2s; }
.home-article-item:hover .home-article-item__title { color: var(--orange); }

/* Quick links */
.home-quick-links { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; padding: .5rem; }
.home-quick-link { display: flex; flex-direction: column; align-items: center; gap: .3rem; padding: .8rem .5rem; background: var(--bg); text-decoration: none; font-size: .72rem; font-weight: 700; color: var(--text2); text-transform: uppercase; letter-spacing: .05em; transition: all .2s; border: 1px solid var(--border); text-align: center; }
.home-quick-link span:first-child { font-size: 1.3rem; }
.home-quick-link:hover { background: var(--orange-pale); border-color: var(--orange-mid); color: var(--orange); }
.home-quick-link--accent { background: var(--orange); color: #fff; border-color: var(--orange); }
.home-quick-link--accent:hover { background: var(--orange-h); color: #fff; border-color: var(--orange-h); }

/* ============================================================
   VIDEO CARDS — HOME
============================================================ */
.home-videos-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 3px; }
.home-video-card { display: flex; flex-direction: column; text-decoration: none; border: 1px solid var(--border); overflow: hidden; transition: all .2s; background: var(--white); }
.home-video-card:hover { box-shadow: 0 4px 20px rgba(0,0,0,.08); transform: translateY(-2px); }
.home-video-card__thumb { position: relative; aspect-ratio: 16/9; background: var(--dark); overflow: hidden; }
.home-video-card__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.home-video-card:hover .home-video-card__thumb img { transform: scale(1.05); }
.home-video-card__no-thumb { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 2rem; background: linear-gradient(135deg, #1a0800, #3a1500); }
.home-video-card__play {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  font-size: 1.6rem; color: #fff; opacity: 0; transition: opacity .2s;
  background: rgba(0,0,0,.3); text-shadow: 0 2px 8px rgba(0,0,0,.5);
}
.home-video-card:hover .home-video-card__play { opacity: 1; }
.home-video-card__info { padding: .8rem .9rem; flex: 1; }
.home-video-card__title { font-family: 'Bebas Neue', sans-serif; font-size: 1rem; letter-spacing: 1px; color: var(--text); line-height: 1.2; margin-bottom: .3rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; transition: color .2s; }
.home-video-card:hover .home-video-card__title { color: var(--orange); }
.home-video-card__meta { font-size: .68rem; color: var(--text3); display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; }

/* ============================================================
   RESPONSIVE — ПОЛНЫЙ ФИКС
============================================================ */

/* ── 1200px ── */
@media (max-width: 1200px) {
  .single-layout__inner { grid-template-columns: 1fr 280px; }
}

/* ── 1100px ── */
@media (max-width: 1100px) {
  .home-content-grid { grid-template-columns: 1fr 280px; gap: 1.5rem; }
  .home-side-col { position: static; }
}

/* ── 1024px ── */
@media (max-width: 1024px) {
  .hero__inner { grid-template-columns: 1fr; }
  .hero::before, .hero::after { display: none; }
  .hero__stats { position: static; flex-direction: row; flex-wrap: wrap; margin-top: 2rem; }
  .games-grid { height: 360px; }
  .game-card__name { font-size: 2.2rem; }
  .news-grid { grid-template-columns: 1fr; }
  .news-card--featured { grid-row: auto; }
  .features-strip { grid-template-columns: repeat(2, 1fr); }
  .community-section__inner { grid-template-columns: 1fr; }
  .quote-stack { min-height: 500px; }
  .single-layout__inner { grid-template-columns: 1fr; }
  .sidebar { position: static; }
  .site-footer__grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .posts-grid { grid-template-columns: repeat(2, 1fr); }
  .files-grid { grid-template-columns: repeat(2, 1fr); }
  .profile-stats { margin-left: 0; width: 100%; }
  .forum-section-card { grid-template-columns: 1fr auto; }
  .forum-section-card__icon { display: none; }
  .forum-section-card__last { display: none; }
  .forum-topics-head, .forum-topic-row { grid-template-columns: 1fr 100px; }
  .forum-col-last, .forum-topic-row__last { display: none; }
}

/* ── 900px ── */
@media (max-width: 900px) {
  .home-content-grid { grid-template-columns: 1fr; }
  .home-side-col { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
  .home-widget--vi { grid-column: 1 / -1; }
  .home-videos-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ── 768px ── */
@media (max-width: 768px) {
  :root { --header-h: 60px; }
  .container { padding: 0 1rem; }
  .container--narrow { padding: 0 1rem; }
  .site-header__inner { padding: 0 1rem; }

  /* Nav */
  .main-nav { position: fixed; top: var(--header-h); left: 0; right: 0; background: rgba(255,255,255,.98); border-top: 1px solid var(--border); padding: 1.5rem 1rem 2rem; transform: translateY(-110%); transition: transform .3s; z-index: 490; max-height: calc(100vh - var(--header-h)); overflow-y: auto; }
  .main-nav.open { transform: translateY(0); }
  .main-nav__list { flex-direction: column; align-items: flex-start; gap: .2rem; }
  .main-nav__list > li { width: 100%; }
  .main-nav__list > li > a { padding: .6rem 0; font-size: .9rem; }
  .dropdown { position: static; opacity: 1; pointer-events: all; transform: none; box-shadow: none; border: none; border-left: 2px solid var(--orange-mid); margin-left: 1rem; display: none; }
  .has-dropdown.open .dropdown { display: block; }
  .nav-toggle { display: flex; }

  /* Games */
  .games-grid { flex-direction: column; height: auto; }
  .game-card { flex: none; height: 80px; min-width: unset; transition: height .55s cubic-bezier(.4,0,.2,1); }
  .game-card:hover { flex: none; height: 320px; }
  .game-card__vert { display: block; bottom: 50%; transform: translateX(-50%) translateY(50%) rotate(0deg); font-size: .9rem; }
  .game-card:hover .game-card__vert { opacity: 0; }
  .game-card__roman { font-size: 6rem; right: 1rem; }

  /* Layout */
  .single-layout__inner { grid-template-columns: 1fr; gap: 2rem; }
  .features-strip { grid-template-columns: 1fr; }
  .posts-grid { grid-template-columns: 1fr; }
  .files-grid { grid-template-columns: 1fr; }
  .post-card--featured .post-card__inner { grid-template-columns: 1fr; }
  .site-footer__grid { grid-template-columns: 1fr; }

  /* Newsletter */
  .newsletter-strip__inner { flex-direction: column; text-align: center; }
  .newsletter-form { width: 100%; flex-direction: column; }
  .newsletter-form input { flex: 1; width: auto; min-width: 0; }

  /* Profile */
  .profile-header__inner { justify-content: center; text-align: center; }
  .profile-info__meta { justify-content: center; }
  .profile-tabs { flex-wrap: wrap; }
  .profile-posts-grid { grid-template-columns: 1fr; }
  .profile-stats { flex-wrap: wrap; justify-content: center; }
  .profile-stat { padding: .8rem 1rem; }

  /* Auth */
  .auth-modal { margin: 1rem; }

  /* Hero */
  .hero__cta { flex-direction: column; align-items: flex-start; gap: .6rem; }
  .hero__cta .btn { width: 100%; justify-content: center; }
  .hero__counters { gap: 1rem; }

  /* Forum */
  .forum-section-card { grid-template-columns: 1fr; padding: 1rem; }
  .forum-section-card__stats { flex-direction: row; }
  .forum-topics-head { display: none; }
  .forum-topic-row { grid-template-columns: 1fr; }
  .forum-reply { grid-template-columns: 1fr; }
  .forum-reply__author { flex-direction: row; flex-wrap: wrap; padding: .8rem; border-bottom: 1px solid var(--border); border-right: none; }
  .forum-reply__avatar { width: 36px; height: 36px; }

  /* Submit */
  .submit-form-wrap { padding: 1.2rem; }

  /* Chat */
  .gta-chat { bottom: 1rem; right: 1rem; }
  .gta-chat__window { width: calc(100vw - 2rem); max-height: 70vh; }

  /* Home */
  .home-news-featured__img { height: 200px; }
  .home-videos-grid { grid-template-columns: 1fr; }
}

/* ── 600px ── */
@media (max-width: 600px) {
  .home-side-col { grid-template-columns: 1fr; }
  .hero__counter span { font-size: 1.4rem; }
  .home-news-featured__img { height: 180px; }
  .home-videos-grid { grid-template-columns: repeat(2, 1fr); gap: 2px; }
}

/* ── 480px ── */
@media (max-width: 480px) {
  :root { --header-h: 56px; }
  h1 { font-size: 2.8rem; }
  h2 { font-size: 1.8rem; }

  .games-grid { gap: 3px; }
  .game-card { height: 72px; }
  .game-card:hover { height: 300px; }

  .ticker { display: none; }
  .features-strip { grid-template-columns: 1fr 1fr; }
  .footer-bottom__inner { flex-direction: column; gap: .5rem; text-align: center; }

  /* Форум мелкий */
  .forum-reply__author { gap: .4rem; }
  .forum-reply__rank { font-size: .58rem; }

  /* Видео в одну колонку */
  .home-videos-grid { grid-template-columns: 1fr; }
  .home-video-card__thumb { aspect-ratio: 16/9; }

  /* Hero адаптив */
  .hero { min-height: auto; padding: 60px 0 50px; }
  .hero__title { font-size: clamp(3rem, 12vw, 6rem); }
  .hero__counters { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
  .hero__counter { background: var(--bg); padding: .6rem .8rem; border: 1px solid var(--border); }

  /* Кнопки форума не вылезают */
  .forum-reply__actions { flex-wrap: wrap; gap: .4rem; }
  .forum-like-btn, .forum-quote-btn, .forum-delete-reply-btn { font-size: .72rem; }

  /* Редактор на мобиле */
  .oeditor-toolbar { padding: .3rem; }
  .oeditor-btn { padding: 4px 6px; min-width: 24px; font-size: .72rem; }
  .oeditor-content { min-height: 150px; padding: .7rem; font-size: .9rem; }
}

/* ============================================================
   SINGLE POST PAGE (sp-*)
============================================================ */

/* ── Hero ── */
.sp-hero { position: relative; background: var(--dark); color: #fff; padding: 3rem 0 2.5rem; overflow: hidden; }
.sp-hero--has-img { padding: 5rem 0 3rem; min-height: 420px; display: flex; flex-direction: column; justify-content: flex-end; }
.sp-hero__bg { position: absolute; inset: 0; z-index: 0; }
.sp-hero__bg-img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.sp-hero__bg-overlay { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0,0,0,.35) 0%, rgba(15,8,5,.92) 100%); }
.sp-hero__inner { position: relative; z-index: 1; max-width: 820px; }

/* Breadcrumb */
.sp-breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: .3rem; font-size: .72rem; color: rgba(255,255,255,.55); margin-bottom: 1.2rem; letter-spacing: .5px; }
.sp-breadcrumb a { color: rgba(255,255,255,.7); transition: color .2s; }
.sp-breadcrumb a:hover { color: var(--orange); }
.sp-breadcrumb span { color: rgba(255,255,255,.35); }

/* Badges */
.sp-hero__badges { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; margin-bottom: .9rem; }
.sp-cat-badge { background: var(--orange); color: #fff; font-size: .62rem; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; padding: 3px 10px; }
.sp-cat-badge--sm { font-size: .58rem; padding: 2px 8px; }
.sp-badge { font-size: .62rem; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; padding: 3px 10px; }
.sp-badge--type { background: rgba(255,255,255,.15); color: rgba(255,255,255,.9); border: 1px solid rgba(255,255,255,.2); }
.sp-badge--diff { background: rgba(245,92,0,.25); color: var(--orange); border: 1px solid rgba(245,92,0,.4); }

/* Title */
.sp-hero__title { font-family: 'Bebas Neue', sans-serif; font-size: clamp(2rem, 5vw, 3.8rem); letter-spacing: 2px; color: #fff; line-height: 1.05; margin-bottom: .8rem; text-shadow: 0 2px 12px rgba(0,0,0,.4); }
.sp-hero__excerpt { font-size: 1rem; color: rgba(255,255,255,.75); line-height: 1.65; max-width: 640px; margin-bottom: 1rem; }

/* Meta row */
.sp-meta { display: flex; align-items: center; flex-wrap: wrap; gap: .8rem 1.2rem; font-size: .78rem; color: rgba(255,255,255,.65); }
.sp-meta__author { display: flex; align-items: center; gap: .5rem; color: #fff; font-weight: 700; font-size: .82rem; }
.sp-meta__avatar { width: 30px; height: 30px; border-radius: 50%; border: 2px solid var(--orange); object-fit: cover; }
.sp-meta__date, .sp-meta__read, .sp-meta__views { color: rgba(255,255,255,.6); }
.sp-meta__comments { color: rgba(255,255,255,.75); transition: color .2s; }
.sp-meta__comments:hover { color: var(--orange); }

/* ── Layout ── */
.sp-wrap { background: var(--bg); padding: 3rem 0 5rem; }
.sp-layout { display: grid; grid-template-columns: 1fr 300px; gap: 2.5rem; align-items: start; }
.sp-article { background: var(--white); border: 1px solid var(--border); }

/* ── Article content ── */
.sp-lead { font-size: 1.08rem; color: var(--text2); line-height: 1.75; padding: 1.5rem 2rem 0; font-style: italic; border-left: 3px solid var(--orange); margin: 1.5rem 2rem 0; background: var(--orange-pale); }

/* ToC */
.sp-toc { margin: 1.5rem 2rem; background: var(--bg); border: 1px solid var(--border); border-left: 4px solid var(--orange); padding: 1rem 1.2rem; }
.sp-toc__title { font-family: 'Bebas Neue', sans-serif; font-size: 1rem; letter-spacing: 3px; color: var(--text); margin-bottom: .6rem; }
.sp-toc__list { margin: 0 0 0 1.2rem; list-style: decimal; }
.sp-toc__list li { margin: .25rem 0; }
.sp-toc__list a { font-size: .88rem; color: var(--orange); transition: color .2s; }
.sp-toc__list a:hover { color: var(--orange-h); text-decoration: underline; }

/* Content */
.sp-content { padding: 2rem; }
.sp-content h2 { font-family: 'Bebas Neue', sans-serif; font-size: 2rem; letter-spacing: 2px; color: var(--text); margin: 2rem 0 .8rem; padding-bottom: .4rem; border-bottom: 2px solid var(--orange); line-height: 1.1; scroll-margin-top: calc(var(--header-h) + 1rem); }
.sp-content h3 { font-family: 'Bebas Neue', sans-serif; font-size: 1.4rem; letter-spacing: 1px; color: var(--text); margin: 1.5rem 0 .6rem; }
.sp-content h4 { font-size: 1rem; font-weight: 700; color: var(--text); margin: 1.2rem 0 .4rem; }
.sp-content p { margin: 0 0 1rem; line-height: 1.8; color: var(--text); font-size: .97rem; }
.sp-content a { color: var(--orange); text-decoration: underline; }
.sp-content a:hover { color: var(--orange-h); }
.sp-content ul { margin: .5rem 0 1rem 1.5rem; list-style: disc; }
.sp-content ol { margin: .5rem 0 1rem 1.5rem; list-style: decimal; }
.sp-content li { margin: .3rem 0; line-height: 1.7; font-size: .97rem; }
.sp-content blockquote { border-left: 4px solid var(--orange); padding: .8rem 1.2rem; margin: 1.5rem 0; background: var(--orange-pale); color: var(--text2); font-style: italic; font-size: 1rem; }
.sp-content blockquote cite { font-size: .78rem; color: var(--text3); display: block; margin-top: .4rem; font-style: normal; }
.sp-content pre { background: var(--dark); color: #e2e8f0; border-left: 3px solid var(--orange); padding: 1.2rem 1.4rem; overflow-x: auto; margin: 1.5rem 0; font-size: .85rem; line-height: 1.7; }
.sp-content code { background: var(--bg); border: 1px solid var(--border); padding: 2px 6px; font-family: monospace; font-size: .86em; border-radius: 2px; color: var(--orange); }
.sp-content pre code { background: none; border: none; padding: 0; color: inherit; }
.sp-content img { max-width: 100%; height: auto; display: block; border: 1px solid var(--border); margin: 1rem 0; }
.sp-content figure { margin: 1.5rem 0; }
.sp-content figcaption { font-size: .78rem; color: var(--text3); text-align: center; padding: .4rem; background: var(--bg); border: 1px solid var(--border); border-top: none; }
.sp-content table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; font-size: .9rem; }
.sp-content th { background: var(--dark); color: #fff; font-family: 'Bebas Neue', sans-serif; letter-spacing: 1px; text-align: left; }
.sp-content th, .sp-content td { border: 1px solid var(--border); padding: .6rem .9rem; }
.sp-content tr:nth-child(even) td { background: var(--bg); }
.sp-content hr { border: none; border-top: 2px solid var(--border); margin: 2rem 0; }
.sp-content iframe { max-width: 100%; }

/* Tags */
.sp-tags { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; padding: 1.2rem 2rem; border-top: 1px solid var(--border); }
.sp-tags__label { font-size: .72rem; font-weight: 700; color: var(--text3); letter-spacing: 1px; text-transform: uppercase; margin-right: .3rem; }
.sp-tag { background: var(--bg); border: 1px solid var(--border); font-size: .72rem; font-weight: 600; color: var(--text2); padding: 3px 10px; transition: all .15s; }
.sp-tag:hover { background: var(--orange-pale); border-color: var(--orange-mid); color: var(--orange); }

/* Share */
.sp-share { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; padding: 1.2rem 2rem; border-top: 1px solid var(--border); background: var(--bg); }
.sp-share__label { font-size: .72rem; font-weight: 700; color: var(--text3); letter-spacing: 1px; text-transform: uppercase; margin-right: .3rem; }
.sp-share__btn { font-size: .78rem; font-weight: 700; padding: 6px 14px; border: none; cursor: pointer; transition: all .15s; text-decoration: none; display: inline-block; border-radius: 2px; }
.sp-share__btn--vk   { background: #4C75A3; color: #fff; }
.sp-share__btn--vk:hover { background: #3d5f85; }
.sp-share__btn--tg   { background: #2AABEE; color: #fff; }
.sp-share__btn--tg:hover { background: #1a9bde; }
.sp-share__btn--copy { background: var(--white); border: 1px solid var(--border); color: var(--text2); }
.sp-share__btn--copy:hover { background: var(--orange-pale); border-color: var(--orange-mid); color: var(--orange); }

/* Author card */
.sp-author-card { display: flex; gap: 1.2rem; align-items: flex-start; padding: 1.5rem 2rem; border-top: 1px solid var(--border); background: var(--white); }
.sp-author-card__avatar { flex-shrink: 0; }
.sp-author-card__avatar img { width: 64px; height: 64px; border-radius: 50%; border: 3px solid var(--orange); object-fit: cover; display: block; }
.sp-author-card__label { font-size: .65rem; font-weight: 700; color: var(--text3); letter-spacing: 3px; text-transform: uppercase; margin-bottom: .2rem; }
.sp-author-card__name { font-family: 'Bebas Neue', sans-serif; font-size: 1.3rem; letter-spacing: 1.5px; color: var(--text); transition: color .2s; display: block; }
.sp-author-card__name:hover { color: var(--orange); }
.sp-author-card__bio { font-size: .85rem; color: var(--text2); line-height: 1.6; margin: .3rem 0; }
.sp-author-card__stats { font-size: .72rem; color: var(--text3); margin-top: .2rem; }

/* Related */
.sp-related { padding: 1.5rem 2rem; border-top: 1px solid var(--border); }
.sp-related__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: .5rem; margin-top: .8rem; }
.sp-related-card { display: flex; flex-direction: column; text-decoration: none; border: 1px solid var(--border); overflow: hidden; transition: all .2s; background: var(--white); }
.sp-related-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.08); transform: translateY(-2px); }
.sp-related-card__img { aspect-ratio: 16/9; overflow: hidden; background: var(--bg); }
.sp-related-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.sp-related-card:hover .sp-related-card__img img { transform: scale(1.06); }
.sp-related-card__no-img { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-family: 'Bebas Neue', sans-serif; font-size: 1.5rem; letter-spacing: 4px; color: rgba(255,255,255,.1); background: linear-gradient(135deg,#1a0800,#3a1800); }
.sp-related-card__body { padding: .7rem .8rem; }
.sp-related-card__title { font-family: 'Bebas Neue', sans-serif; font-size: .98rem; letter-spacing: 1px; color: var(--text); line-height: 1.2; margin: .3rem 0; transition: color .2s; }
.sp-related-card:hover .sp-related-card__title { color: var(--orange); }
.sp-related-card__date { font-size: .65rem; color: var(--text3); }

/* ── Sidebar ── */
.sp-sidebar { position: sticky; top: calc(var(--header-h) + 1rem); display: flex; flex-direction: column; gap: 3px; }
.sp-sidebar-widget { background: var(--white); border: 1px solid var(--border); overflow: hidden; }
.sp-sidebar-widget__title { background: var(--orange); color: #fff; font-family: 'Bebas Neue', sans-serif; font-size: .9rem; letter-spacing: 4px; padding: .6rem 1rem; }

/* Sidebar author */
.sp-sidebar-author { display: flex; align-items: center; gap: .8rem; padding: 1rem; }
.sp-sidebar-author__img { width: 44px; height: 44px; border-radius: 50%; border: 2px solid var(--orange); object-fit: cover; flex-shrink: 0; }
.sp-sidebar-author__name { font-weight: 700; color: var(--text); font-size: .9rem; transition: color .2s; display: block; }
.sp-sidebar-author__name:hover { color: var(--orange); }
.sp-sidebar-author__posts { font-size: .7rem; color: var(--text3); margin-top: .1rem; }

/* Sidebar search */
.sp-sidebar-search { display: flex; padding: .8rem; gap: .3rem; }
.sp-sidebar-search input { flex: 1; border: 1px solid var(--border); padding: .4rem .6rem; font-size: .85rem; font-family: inherit; min-width: 0; }
.sp-sidebar-search button { background: var(--orange); color: #fff; border: none; padding: .4rem .9rem; font-size: .9rem; cursor: pointer; transition: background .2s; flex-shrink: 0; }
.sp-sidebar-search button:hover { background: var(--orange-h); }

/* Sidebar items */
.sp-sidebar-item { display: flex; gap: .7rem; padding: .7rem 1rem; border-bottom: 1px solid var(--border); text-decoration: none; transition: background .15s; }
.sp-sidebar-item:last-child { border-bottom: none; }
.sp-sidebar-item:hover { background: var(--orange-pale); }
.sp-sidebar-item__img { width: 56px; height: 42px; flex-shrink: 0; overflow: hidden; }
.sp-sidebar-item__img img { width: 100%; height: 100%; object-fit: cover; }
.sp-sidebar-item__body { flex: 1; min-width: 0; }
.sp-sidebar-item__title { font-size: .82rem; font-weight: 700; color: var(--text); line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; transition: color .2s; }
.sp-sidebar-item:hover .sp-sidebar-item__title { color: var(--orange); }
.sp-sidebar-item__date { font-size: .65rem; color: var(--text3); margin-top: .2rem; }

/* Sidebar tags */
.sp-sidebar-tags { display: flex; flex-wrap: wrap; gap: .3rem; padding: .8rem; }

/* ── Single page responsive ── */
@media (max-width: 1024px) {
  .sp-layout { grid-template-columns: 1fr 260px; gap: 1.5rem; }
  .sp-sidebar { position: static; }
}
@media (max-width: 768px) {
  .sp-layout { grid-template-columns: 1fr; }
  .sp-hero--has-img { min-height: 300px; padding: 3rem 0 2rem; }
  .sp-hero__title { font-size: clamp(1.8rem, 7vw, 2.8rem); }
  .sp-content { padding: 1.2rem; }
  .sp-lead { margin: 1rem 1.2rem 0; padding: .8rem 1rem; }
  .sp-toc { margin: 1rem 1.2rem; }
  .sp-tags, .sp-share { padding: 1rem 1.2rem; }
  .sp-author-card { padding: 1rem 1.2rem; flex-direction: column; gap: .8rem; }
  .sp-related { padding: 1rem 1.2rem; }
  .sp-related__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .sp-hero { padding: 2rem 0 1.5rem; }
  .sp-hero--has-img { min-height: 240px; }
  .sp-meta { gap: .5rem .8rem; font-size: .72rem; }
  .sp-related__grid { grid-template-columns: 1fr; }
  .sp-content h2 { font-size: 1.5rem; }
  .sp-share { gap: .35rem; }
  .sp-share__btn { font-size: .72rem; padding: 5px 10px; }
}

/* ============================================================
   HERO V2 — информативный с новостями
============================================================ */
.hero-v2 {
  background: var(--dark);
  padding: 3.5rem 0 3rem;
  position: relative;
  overflow: hidden;
}
.hero-v2::before {
  content: '';
  position: absolute;
  top: -60px; right: -60px;
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(245,92,0,.12) 0%, transparent 70%);
  pointer-events: none;
}
.hero-v2__grid {
  display: grid;
  grid-template-columns: 420px 1fr;
  gap: 3rem;
  align-items: start;
}
.hero-v2__label {
  font-family: 'Orbitron', monospace;
  font-size: .6rem;
  letter-spacing: 4px;
  color: var(--orange);
  text-transform: uppercase;
  margin-bottom: .8rem;
}
.hero-v2__title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(3rem, 5vw, 5rem);
  letter-spacing: 3px;
  color: #fff;
  line-height: 1;
  margin-bottom: 1rem;
}
.hero-v2__desc {
  font-size: .95rem;
  color: rgba(255,255,255,.6);
  line-height: 1.75;
  max-width: 360px;
  margin-bottom: 1.5rem;
}
.hero-v2__stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: .5rem;
  margin-bottom: 1.8rem;
}
.hero-v2__stat {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
  padding: .7rem .5rem;
  text-align: center;
}
.hero-v2__stat-val {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.6rem;
  letter-spacing: 2px;
  color: var(--orange);
  line-height: 1;
}
.hero-v2__stat-label {
  font-size: .6rem;
  color: rgba(255,255,255,.4);
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-top: .2rem;
}
.hero-v2__btns {
  display: flex;
  gap: .7rem;
  flex-wrap: wrap;
}

/* Hero right — новости */
.hero-news-main {
  display: block;
  text-decoration: none;
  margin-bottom: 3px;
}
.hero-news-main__img {
  position: relative;
  height: 200px;
  overflow: hidden;
  background: var(--dark);
}
.hero-news-main__img img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .5s;
}
.hero-news-main:hover .hero-news-main__img img { transform: scale(1.04); }
.hero-news-main__placeholder {
  width: 100%; height: 100%;
  background: linear-gradient(135deg, #1a0800, #4a1a00);
}
.hero-news-main__cat {
  position: absolute; top: .7rem; left: .7rem;
  background: var(--orange); color: #fff;
  font-size: .58rem; font-weight: 700; letter-spacing: 3px;
  text-transform: uppercase; padding: 2px 8px;
}
.hero-news-main__body {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
  border-top: none;
  padding: .9rem 1rem;
}
.hero-news-main__title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.3rem;
  letter-spacing: 1.5px;
  color: #fff;
  line-height: 1.1;
  margin-bottom: .3rem;
  transition: color .2s;
}
.hero-news-main:hover .hero-news-main__title { color: var(--orange); }
.hero-news-main__meta { font-size: .65rem; color: rgba(255,255,255,.4); }

.hero-news-list { display: flex; flex-direction: column; gap: 2px; }
.hero-news-item {
  display: flex; gap: .7rem;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.07);
  padding: .6rem .8rem;
  text-decoration: none;
  transition: background .15s;
}
.hero-news-item:hover { background: rgba(245,92,0,.1); border-color: rgba(245,92,0,.25); }
.hero-news-item__thumb {
  width: 64px; height: 48px;
  flex-shrink: 0; overflow: hidden; background: var(--dark);
}
.hero-news-item__thumb img { width: 100%; height: 100%; object-fit: cover; }
.hero-news-item__no-thumb {
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  background: rgba(245,92,0,.1); font-size: 1.2rem;
}
.hero-news-item__info { flex: 1; min-width: 0; }
.hero-news-item__cat {
  font-family: 'Orbitron', monospace;
  font-size: .52rem; letter-spacing: 2px;
  color: var(--orange); display: block; margin-bottom: .15rem;
}
.hero-news-item__title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: .95rem; letter-spacing: 1px;
  color: #fff; line-height: 1.2;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  transition: color .2s;
}
.hero-news-item:hover .hero-news-item__title { color: var(--orange); }
.hero-news-item__date { font-size: .62rem; color: rgba(255,255,255,.35); margin-top: .1rem; }

/* ── GTA VI Banner ── */
.gta6-banner {
  background: linear-gradient(135deg, #0a0500 0%, #1f0a00 50%, #0a0500 100%);
  border-top: 1px solid rgba(245,92,0,.3);
  border-bottom: 1px solid rgba(245,92,0,.3);
  padding: 1rem 0;
}
.gta6-banner__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}
.gta6-banner__tag {
  font-family: 'Orbitron', monospace;
  font-size: .55rem; letter-spacing: 5px;
  color: var(--orange); margin-bottom: .2rem;
}
.gta6-banner__title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.8rem; letter-spacing: 4px;
  color: #fff; line-height: 1;
}
.gta6-banner__sub { font-size: .78rem; color: rgba(255,255,255,.5); margin-top: .2rem; }
.gta6-banner__btn {
  background: var(--orange);
  color: #fff;
  font-family: 'Bebas Neue', sans-serif;
  font-size: .95rem;
  letter-spacing: 2px;
  padding: .6rem 1.5rem;
  white-space: nowrap;
  transition: background .2s;
}
.gta6-banner__btn:hover { background: var(--orange-h); color: #fff; }

/* ── Hero V2 Responsive ── */
@media (max-width: 1100px) {
  .hero-v2__grid { grid-template-columns: 360px 1fr; gap: 2rem; }
}
@media (max-width: 900px) {
  .hero-v2__grid { grid-template-columns: 1fr; }
  .hero-v2__stats { grid-template-columns: repeat(2, 1fr); }
  .hero-news-main__img { height: 160px; }
}
@media (max-width: 600px) {
  .hero-v2 { padding: 2rem 0; }
  .hero-v2__title { font-size: 3rem; }
  .hero-v2__stats { grid-template-columns: repeat(4, 1fr); }
  .hero-v2__stat-val { font-size: 1.2rem; }
  .hero-news-main { display: none; }
  .gta6-banner__title { font-size: 1.4rem; }
  .gta6-banner__btn { font-size: .8rem; padding: .5rem 1rem; }
}

/* ============================================================
   HOMEPAGE v3 — gamemag-style
============================================================ */

/* ── Hero ── */
.hp-hero { position: relative; height: 520px; overflow: hidden; }
.hp-hero__link { display: block; height: 100%; }
.hp-hero__bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg,#1a0800,#3a1200);
  background-size: cover; background-position: center;
  transition: transform .6s;
}
.hp-hero:hover .hp-hero__bg { transform: scale(1.02); }
.hp-hero__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(10,5,0,.97) 0%, rgba(10,5,0,.5) 50%, rgba(10,5,0,.15) 100%);
}
.hp-hero__inner { position: relative; z-index: 1; height: 100%; display: flex; align-items: flex-end; padding-bottom: 2.5rem; }
.hp-hero__content { max-width: 720px; }
.hp-hero__cat {
  display: inline-block; background: var(--orange); color: #fff;
  font-size: .62rem; font-weight: 700; letter-spacing: 3px;
  text-transform: uppercase; padding: 3px 10px; margin-bottom: .8rem;
}
.hp-hero__title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(2rem, 4.5vw, 3.8rem);
  letter-spacing: 2px; color: #fff; line-height: 1.05;
  margin-bottom: .7rem;
  text-shadow: 0 2px 20px rgba(0,0,0,.5);
}
.hp-hero__excerpt { font-size: .95rem; color: rgba(255,255,255,.7); line-height: 1.65; margin-bottom: .8rem; }
.hp-hero__meta { font-size: .72rem; color: rgba(255,255,255,.45); display: flex; gap: .5rem; align-items: center; }

/* ── Wrap + Layout ── */
.hp-wrap { background: var(--bg); padding: 2rem 0 4rem; }
.hp-layout { display: grid; grid-template-columns: 1fr 300px; gap: 2rem; align-items: start; }

/* ── Section head ── */
.hp-section-head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 1rem;
  border-bottom: 3px solid var(--orange);
  padding-bottom: .5rem;
}
.hp-section-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.5rem; letter-spacing: 3px; color: var(--text);
}
.hp-section-more { font-size: .75rem; font-weight: 700; color: var(--orange); transition: color .2s; }
.hp-section-more:hover { color: var(--orange-h); }

/* ── News grid — 3 колонки ── */
.hp-news-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3px;
  margin-bottom: 2rem;
}
.hp-news-card {
  display: flex; flex-direction: column;
  background: var(--white); text-decoration: none;
  border: 1px solid var(--border); overflow: hidden;
  transition: box-shadow .2s, transform .2s;
}
.hp-news-card:hover { box-shadow: 0 4px 20px rgba(0,0,0,.1); transform: translateY(-2px); }
.hp-news-card__img {
  position: relative; aspect-ratio: 16/10;
  background: var(--dark); overflow: hidden;
}
.hp-news-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.hp-news-card:hover .hp-news-card__img img { transform: scale(1.05); }
.hp-news-card__no-img {
  width: 100%; height: 100%;
  background: linear-gradient(135deg,#1a0800,#3a1500);
  min-height: 130px;
}
.hp-news-card__cat {
  position: absolute; bottom: .5rem; left: .5rem;
  background: var(--orange); color: #fff;
  font-size: .55rem; font-weight: 700; letter-spacing: 2px;
  text-transform: uppercase; padding: 2px 7px;
}
.hp-news-card__body { padding: .85rem .9rem; flex: 1; display: flex; flex-direction: column; }
.hp-news-card__title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.1rem; letter-spacing: 1px;
  color: var(--text); line-height: 1.2;
  margin-bottom: .4rem; transition: color .2s;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.hp-news-card:hover .hp-news-card__title { color: var(--orange); }
.hp-news-card__excerpt {
  font-size: .78rem; color: var(--text2); line-height: 1.55;
  flex: 1; margin-bottom: .6rem;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.hp-news-card__foot {
  display: flex; align-items: center; justify-content: space-between;
  font-size: .65rem; color: var(--text3); margin-top: auto;
  padding-top: .5rem; border-top: 1px solid var(--border);
}
.hp-news-card__coms { color: var(--orange); font-weight: 700; }

/* ── GTA6 banner ── */
.hp-gta6 {
  background: linear-gradient(135deg, #0a0500 0%, #200e00 60%, #0a0500 100%);
  border: 1px solid rgba(245,92,0,.4);
  padding: 1.5rem 1.8rem;
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  margin: 2rem 0;
  flex-wrap: wrap;
}
.hp-gta6__tag {
  font-family: 'Orbitron', monospace;
  font-size: .55rem; letter-spacing: 5px; color: var(--orange); margin-bottom: .3rem;
}
.hp-gta6__title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 2rem; letter-spacing: 4px; color: #fff; line-height: 1;
}
.hp-gta6__sub { font-size: .78rem; color: rgba(255,255,255,.5); margin-top: .3rem; }
.hp-gta6__btn {
  background: var(--orange); color: #fff;
  font-family: 'Bebas Neue', sans-serif; font-size: .95rem; letter-spacing: 2px;
  padding: .65rem 1.6rem; white-space: nowrap; transition: background .2s;
  flex-shrink: 0;
}
.hp-gta6__btn:hover { background: var(--orange-h); color: #fff; }

/* ── Articles ── */
.hp-articles { display: flex; flex-direction: column; gap: 3px; margin-bottom: 2rem; }
.hp-article-card {
  display: flex; gap: .9rem;
  background: var(--white); border: 1px solid var(--border);
  text-decoration: none; padding: .9rem; overflow: hidden; transition: all .2s;
}
.hp-article-card:hover { background: var(--orange-pale); border-color: var(--orange-mid); }
.hp-article-card__img {
  width: 100px; height: 72px; flex-shrink: 0; overflow: hidden; background: var(--bg);
}
.hp-article-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.hp-article-card:hover .hp-article-card__img img { transform: scale(1.06); }
.hp-article-card__no-img {
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  background: var(--bg); font-size: 1.5rem;
}
.hp-article-card__body { flex: 1; min-width: 0; }
.hp-article-card__tags { display: flex; gap: .3rem; flex-wrap: wrap; margin-bottom: .3rem; }
.hp-tag {
  font-size: .58rem; font-weight: 700; letter-spacing: 1px;
  text-transform: uppercase; padding: 1px 7px;
}
.hp-tag--game { background: var(--orange); color: #fff; }
.hp-tag--type { background: var(--bg); border: 1px solid var(--border); color: var(--text3); }
.hp-article-card__title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.05rem; letter-spacing: 1px; color: var(--text);
  line-height: 1.2; margin-bottom: .25rem; transition: color .2s;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.hp-article-card:hover .hp-article-card__title { color: var(--orange); }
.hp-article-card__excerpt {
  font-size: .75rem; color: var(--text2); line-height: 1.5;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.hp-article-card__date { font-size: .65rem; color: var(--text3); margin-top: .3rem; }

/* ── Files ── */
.hp-files { display: grid; grid-template-columns: repeat(2,1fr); gap: 3px; margin-bottom: 2rem; }
.hp-file-card {
  display: flex; gap: .7rem;
  background: var(--white); border: 1px solid var(--border);
  text-decoration: none; overflow: hidden; transition: all .2s;
}
.hp-file-card:hover { background: var(--orange-pale); border-color: var(--orange-mid); }
.hp-file-card__img { width: 72px; height: 58px; flex-shrink: 0; overflow: hidden; background: var(--bg); }
.hp-file-card__img img { width: 100%; height: 100%; object-fit: cover; }
.hp-file-card__no-img {
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center; font-size: 1.4rem;
}
.hp-file-card__body { flex: 1; min-width: 0; padding: .6rem .6rem .6rem 0; }
.hp-file-card__cat { font-size: .6rem; color: var(--text3); text-transform: uppercase; letter-spacing: 1px; margin-bottom: .15rem; }
.hp-file-card__name {
  font-family: 'Bebas Neue', sans-serif; font-size: .95rem; letter-spacing: 1px;
  color: var(--text); line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  transition: color .2s;
}
.hp-file-card:hover .hp-file-card__name { color: var(--orange); }
.hp-file-card__meta { display: flex; gap: .6rem; font-size: .65rem; color: var(--text3); margin-top: .2rem; }

/* ── Sidebar ── */
.hp-sidebar { position: sticky; top: calc(var(--header-h) + 1rem); display: flex; flex-direction: column; gap: .5rem; }

.hp-widget { background: var(--white); border: 1px solid var(--border); overflow: hidden; }
.hp-widget__title {
  background: var(--dark); color: #fff;
  font-family: 'Bebas Neue', sans-serif; font-size: .9rem;
  letter-spacing: 4px; padding: .6rem 1rem;
  border-bottom: 2px solid var(--orange);
}
.hp-widget__more {
  display: block; padding: .55rem 1rem;
  font-size: .72rem; font-weight: 700; color: var(--orange);
  text-align: center; border-top: 1px solid var(--border);
  background: var(--bg); transition: background .15s;
}
.hp-widget__more:hover { background: var(--orange-pale); }

/* Game rows */
.hp-game-row {
  display: flex; align-items: center; justify-content: space-between;
  padding: .55rem 1rem; border-bottom: 1px solid var(--border);
  text-decoration: none; transition: background .15s;
}
.hp-game-row:last-child { border-bottom: none; }
.hp-game-row:hover { background: var(--orange-pale); }
.hp-game-row__name { font-size: .85rem; font-weight: 700; color: var(--text); transition: color .15s; display: flex; align-items: center; gap: .4rem; }
.hp-game-row:hover .hp-game-row__name { color: var(--orange); }
.hp-game-row__badge { background: var(--orange); color: #fff; font-size: .52rem; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; padding: 1px 6px; }
.hp-game-row__year { font-size: .7rem; color: var(--text3); }

/* Forum rows */
.hp-forum-row {
  display: block; padding: .65rem 1rem; border-bottom: 1px solid var(--border);
  text-decoration: none; transition: background .15s;
}
.hp-forum-row:last-of-type { border-bottom: none; }
.hp-forum-row:hover { background: var(--orange-pale); }
.hp-forum-row__title {
  font-size: .83rem; font-weight: 700; color: var(--text);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  transition: color .15s; margin-bottom: .15rem;
}
.hp-forum-row:hover .hp-forum-row__title { color: var(--orange); }
.hp-forum-row__meta { font-size: .65rem; color: var(--text3); }

/* Video rows */
.hp-video-row {
  display: flex; gap: .7rem; align-items: flex-start;
  padding: .7rem 1rem; border-bottom: 1px solid var(--border);
  text-decoration: none; transition: background .15s;
}
.hp-video-row:last-of-type { border-bottom: none; }
.hp-video-row:hover { background: var(--orange-pale); }
.hp-video-row__thumb {
  position: relative; width: 72px; height: 50px;
  flex-shrink: 0; overflow: hidden; background: var(--dark);
}
.hp-video-row__thumb img { width: 100%; height: 100%; object-fit: cover; }
.hp-video-row__no-thumb {
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  background: var(--dark); color: #fff; font-size: 1rem;
}
.hp-video-row__play {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  background: rgba(0,0,0,.35); color: #fff; font-size: .8rem;
  opacity: 0; transition: opacity .15s;
}
.hp-video-row:hover .hp-video-row__play { opacity: 1; }
.hp-video-row__title {
  font-size: .8rem; font-weight: 600; color: var(--text);
  line-height: 1.35; transition: color .15s;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.hp-video-row:hover .hp-video-row__title { color: var(--orange); }

/* Quick links */
.hp-quicklinks { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; padding: .5rem; }
.hp-quicklink {
  display: flex; align-items: center; justify-content: center;
  padding: .65rem .5rem; background: var(--bg); border: 1px solid var(--border);
  font-size: .75rem; font-weight: 700; color: var(--text2);
  text-decoration: none; text-align: center; transition: all .15s;
}
.hp-quicklink:hover { background: var(--orange-pale); border-color: var(--orange-mid); color: var(--orange); }
.hp-quicklink--accent { background: var(--orange); color: #fff; border-color: var(--orange); grid-column: 1 / -1; }
.hp-quicklink--accent:hover { background: var(--orange-h); color: #fff; }

/* hp-* responsive consolidated below */

/* ============================================================
   FORUM TOPIC PAGE (ftp-*)
============================================================ */
.ftp-hero { padding: 1.8rem 0 1.5rem; }
.ftp-breadcrumb {
  display: flex; align-items: center; flex-wrap: wrap; gap: .3rem;
  font-size: .72rem; color: var(--text3); margin-bottom: 1rem;
}
.ftp-breadcrumb a { color: var(--text3); transition: color .2s; }
.ftp-breadcrumb a:hover { color: var(--orange); }
.ftp-breadcrumb span { color: var(--border-d); }

.ftp-hero-inner { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; }
.ftp-hero-left { flex: 1; min-width: 0; }

.ftp-badges { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .7rem; }
.ftp-badge { font-size: .62rem; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; padding: 3px 10px; }
.ftp-badge--pin     { background: rgba(245,158,11,.15); color: #d97706; border: 1px solid rgba(245,158,11,.3); }
.ftp-badge--closed  { background: rgba(107,114,128,.15); color: #6b7280; border: 1px solid rgba(107,114,128,.3); }
.ftp-badge--section { background: var(--orange-pale); color: var(--orange); border: 1px solid var(--orange-mid); }

.ftp-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(1.6rem, 3.5vw, 2.8rem);
  letter-spacing: 2px; color: var(--text); line-height: 1.05;
  margin-bottom: .7rem;
}
.ftp-meta { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem 1.2rem; font-size: .78rem; color: var(--text3); }
.ftp-meta-author { display: flex; align-items: center; gap: .4rem; color: var(--text); font-weight: 700; font-size: .82rem; }
.ftp-meta-avatar { width: 26px; height: 26px; border-radius: 50%; border: 2px solid var(--orange); object-fit: cover; }

/* Модерация */
.ftp-mod-panel { background: var(--white); border: 1px solid var(--border); padding: 1rem; flex-shrink: 0; }
.ftp-mod-title { font-size: .65rem; font-weight: 700; color: var(--text3); letter-spacing: 2px; text-transform: uppercase; margin-bottom: .6rem; }
.ftp-mod-btns { display: flex; flex-direction: column; gap: .35rem; }
.ftp-mod-btn {
  background: var(--bg); border: 1px solid var(--border);
  padding: .4rem .9rem; font-size: .78rem; font-weight: 600;
  cursor: pointer; color: var(--text2); transition: all .15s;
  text-align: left;
}
.ftp-mod-btn:hover { background: var(--orange-pale); border-color: var(--orange-mid); color: var(--orange); }
.ftp-mod-btn--danger { background: #fef2f2; border-color: #fecaca; color: var(--error); }
.ftp-mod-btn--danger:hover { background: #fee2e2; border-color: #fca5a5; }

/* Wrap */
.ftp-wrap { background: var(--bg); padding: 1.5rem 0 4rem; }
.ftp-alert { padding: .8rem 1.1rem; margin-bottom: 1rem; font-size: .88rem; border-radius: 2px; }
.ftp-alert--success { background: rgba(34,197,94,.08); border: 1px solid rgba(34,197,94,.25); color: #16a34a; }
.ftp-alert--error   { background: rgba(239,68,68,.08);  border: 1px solid rgba(239,68,68,.25);  color: var(--error); }

/* Replies */
.ftp-replies { display: flex; flex-direction: column; gap: 2px; margin-bottom: 1.5rem; }

/* Pagination */
.ftp-pagination { display: flex; gap: .3rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
.ftp-pagination .page-numbers {
  background: var(--white); border: 1px solid var(--border);
  padding: .4rem .8rem; font-size: .82rem; color: var(--text2); transition: all .15s;
}
.ftp-pagination .page-numbers:hover { background: var(--orange-pale); border-color: var(--orange-mid); color: var(--orange); }
.ftp-pagination .page-numbers.current { background: var(--orange); border-color: var(--orange); color: #fff; }

/* Reply form */
.ftp-reply-box { background: var(--white); border: 1px solid var(--border); overflow: hidden; }
.ftp-reply-box__head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: .8rem 1.1rem; background: var(--bg); border-bottom: 1px solid var(--border); }
.ftp-reply-box__title { font-family: 'Bebas Neue', sans-serif; font-size: 1.1rem; letter-spacing: 3px; color: var(--orange); }
.ftp-reply-box__hint { font-size: .68rem; color: var(--text3); }
.ftp-reply-box form { padding: 1rem; }
.ftp-reply-actions { display: flex; align-items: center; gap: 1rem; margin-top: .8rem; }
.ftp-clear-quote { background: none; border: none; cursor: pointer; font-size: .78rem; color: var(--text3); padding: 0; transition: color .15s; }
.ftp-clear-quote:hover { color: var(--error); }
.ftp-quote-preview { background: var(--orange-pale); border-left: 3px solid var(--orange); padding: .7rem 1rem; font-size: .85rem; color: var(--text2); margin: 0 1rem .8rem; }
.ftp-closed-msg { background: #f1f5f9; border: 1px solid #e2e8f0; padding: 1rem 1.2rem; font-size: .88rem; color: var(--text3); text-align: center; }
.ftp-login-prompt { background: var(--white); border: 1px solid var(--border); padding: 1.2rem; text-align: center; font-size: .9rem; color: var(--text2); }
.ftp-login-prompt a { color: var(--orange); font-weight: 700; }

/* Forum topic responsive */
@media (max-width: 768px) {
  .ftp-hero-inner { flex-direction: column; }
  .ftp-mod-panel { width: 100%; }
  .ftp-mod-btns { flex-direction: row; flex-wrap: wrap; }
  .ftp-mod-btn { flex: 1; min-width: 120px; text-align: center; font-size: .72rem; padding: .4rem .5rem; }
}

/* ============================================================
   FOOTER STATISTICS BAR — ucoz style
============================================================ */
.site-stats-bar {
  background: var(--dark);
  border-top: 2px solid var(--orange);
  border-bottom: 1px solid rgba(255,255,255,.06);
  padding: .8rem 0;
}
.site-stats-bar__inner {
  display: flex; align-items: center; gap: 1.2rem; flex-wrap: wrap;
}
.site-stats-bar__label {
  font-family: 'Orbitron', monospace;
  font-size: .55rem; letter-spacing: 4px; color: var(--orange);
  text-transform: uppercase; white-space: nowrap; flex-shrink: 0;
}
.site-stats-bar__items { display: flex; align-items: center; flex-wrap: wrap; gap: 0; }
.site-stat {
  display: flex; align-items: center; gap: .3rem;
  padding: .2rem .9rem; border-right: 1px solid rgba(255,255,255,.08);
}
.site-stat:last-child { border-right: none; }
.site-stat__icon { font-size: .8rem; }
.site-stat__val { font-family: 'Bebas Neue', sans-serif; font-size: 1.1rem; letter-spacing: 1px; color: #fff; line-height: 1; }
.site-stat__lbl { font-size: .62rem; color: rgba(255,255,255,.4); letter-spacing: 1px; }
.site-stat--online .site-stat__val { color: #4ade80; }
.site-stat__dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: #4ade80;
  box-shadow: 0 0 6px #4ade80;
  animation: pulse-dot 2s infinite;
}
@keyframes pulse-dot { 0%,100% { opacity:1; } 50% { opacity:.4; } }

@media (max-width: 768px) {
  .site-stats-bar__label { display: none; }
  .site-stat { padding: .2rem .6rem; }
  .site-stat__lbl { display: none; }
  .site-stat__val { font-size: .95rem; }
}
@media (max-width: 480px) {
  .site-stats-bar__items { gap: 0; }
  .site-stat { padding: .15rem .45rem; }
}

/* ============================================================
   ТИПОГРАФИКА — исправление заголовков
============================================================ */
/* Убираем Bebas Neue с body h1-h6 — оставляем только там где нужно */
h1,h2,h3,h4,h5,h6 {
  font-family: 'DM Sans', 'Helvetica Neue', sans-serif;
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.2;
  color: var(--text);
}
/* Только заголовки в контексте сайта используют Bebas */
.page-hero__title,
.section-title,
.hp-section-title,
.sp-hero__title,
.ftp-title,
.game-card__name,
.home-news-featured__title,
.hp-news-card__title,
.hp-article-card__title,
.forum-topic-row__title,
.sidebar-widget__title,
.home-widget__title,
.sp-content h2,
.sp-sidebar-widget__title,
.cp-box__title,
.cp-topbar__title,
.post-card__title,
.news-card__title,
.file-card__name {
  font-family: 'Bebas Neue', sans-serif;
  letter-spacing: 1.5px;
}

/* Новостные заголовки — смешанный стиль */
.hp-news-card__title {
  font-family: 'DM Sans', sans-serif;
  font-weight: 700;
  font-size: .95rem;
  letter-spacing: -.01em;
  line-height: 1.35;
}
.home-news-featured__title {
  font-family: 'DM Sans', sans-serif;
  font-weight: 800;
  font-size: 1.5rem;
  letter-spacing: -.02em;
  line-height: 1.2;
}
.hero-news-main__title {
  font-family: 'DM Sans', sans-serif;
  font-weight: 800;
  font-size: 1.1rem;
  letter-spacing: -.01em;
  line-height: 1.3;
}
.sp-hero__title {
  font-family: 'DM Sans', sans-serif;
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.05;
}
.sp-content h2 {
  font-family: 'DM Sans', sans-serif;
  font-weight: 800;
  font-size: 1.5rem;
  letter-spacing: -.02em;
}
.sp-content h3 {
  font-family: 'DM Sans', sans-serif;
  font-weight: 700;
  font-size: 1.15rem;
  letter-spacing: -.01em;
}
.hp-article-card__title {
  font-family: 'DM Sans', sans-serif;
  font-weight: 700;
  font-size: .92rem;
  letter-spacing: -.01em;
  line-height: 1.3;
}
.hp-hero__title {
  font-family: 'Bebas Neue', sans-serif;
  letter-spacing: 3px;
}
.hp-gta6__title {
  font-family: 'Bebas Neue', sans-serif;
  letter-spacing: 4px;
}
.home-news-item__title {
  font-family: 'DM Sans', sans-serif;
  font-weight: 700;
  font-size: .9rem;
  letter-spacing: -.01em;
}
.ftp-title {
  font-family: 'DM Sans', sans-serif;
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.1;
}

/* ============================================================
   КОММЕНТАРИИ v2
============================================================ */
.cmts-wrap { margin-top: 3rem; padding-top: 2.5rem; border-top: 1px solid var(--border); }

.cmts-head { display: flex; align-items: center; margin-bottom: 1.5rem; }
.cmts-head__count {
  font-size: .7rem; font-weight: 700; letter-spacing: 3px;
  text-transform: uppercase; color: var(--text3);
}

.cmts-items { display: flex; flex-direction: column; gap: 2px; margin-bottom: 2rem; }

/* Один комментарий */
.cmt-item {
  display: flex; gap: 1rem;
  background: var(--white); padding: 1.1rem 1.2rem;
  border: 1px solid var(--border); transition: border-color .15s;
}
.cmt-item:hover { border-color: var(--border-d); }
.cmt-item--pending { opacity: .7; background: var(--bg); }
.cmt-item--reply { margin-left: 1.5rem; border-left: 3px solid var(--orange-mid); }

.cmt-item__avatar { flex-shrink: 0; }
.cmt-item__avatar img {
  width: 42px; height: 42px; border-radius: 50%;
  object-fit: cover; display: block;
  border: 2px solid var(--border);
  transition: border-color .15s;
}
.cmt-item__avatar a:hover img { border-color: var(--orange); }

.cmt-item__body { flex: 1; min-width: 0; }

.cmt-item__header {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: .5rem; margin-bottom: .5rem; flex-wrap: wrap;
}
.cmt-item__author-row { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; }
.cmt-item__author {
  font-weight: 700; font-size: .9rem; color: var(--text);
  transition: color .15s;
}
.cmt-item__author:hover { color: var(--orange); }
.cmt-item__date { font-size: .67rem; color: var(--text3); white-space: nowrap; }
.cmt-item__pending-text { font-size: .85rem; color: var(--text3); font-style: italic; }

.cmt-badge { font-size: .58rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; padding: 2px 7px; }
.cmt-badge--pending { background: rgba(245,158,11,.12); color: #d97706; border: 1px solid rgba(245,158,11,.25); }

.cmt-item__text {
  font-size: .9rem; color: var(--text); line-height: 1.7;
}
.cmt-item__text p { margin: 0 0 .5rem; }
.cmt-item__text p:last-child { margin: 0; }

.cmt-item__actions {
  display: flex; gap: .8rem; margin-top: .6rem; align-items: center; flex-wrap: wrap;
}
.comment-reply-link {
  font-size: .72rem; font-weight: 700; color: var(--text3);
  transition: color .15s; cursor: pointer;
}
.comment-reply-link:hover { color: var(--orange); }
.cmt-action {
  font-size: .68rem; font-weight: 700; padding: 2px 8px;
  border: 1px solid var(--border); background: var(--white);
  transition: all .15s; cursor: pointer;
}
.cmt-action--approve { color: var(--success); border-color: #bbf7d0; }
.cmt-action--approve:hover { background: #f0fdf4; }
.cmt-action--delete { color: var(--error); border-color: #fecaca; }
.cmt-action--delete:hover { background: #fef2f2; }

/* Вложенные */
.cmts-children {
  margin-left: 1.5rem; margin-top: 2px;
  border-left: 2px solid var(--orange-mid);
  display: flex; flex-direction: column; gap: 2px;
}

/* Форма комментария */
.cmts-form-wrap { margin-top: 2rem; }
.cmts-form-title {
  font-size: .72rem; font-weight: 700; letter-spacing: 3px;
  text-transform: uppercase; color: var(--text3);
  margin-bottom: 1rem;
}
.cmts-login-link { color: var(--orange); font-weight: 700; }
.cmts-form { background: var(--white); border: 1px solid var(--border); padding: 1.1rem; }
.cmts-form__inner { display: flex; gap: 1rem; }
.cmts-form__avatar { flex-shrink: 0; }
.cmts-form__avatar img { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; border: 2px solid var(--border); }
.cmts-form__right { flex: 1; min-width: 0; }
.cmts-reply-notice {
  font-size: .78rem; color: var(--orange); font-weight: 600;
  margin-bottom: .4rem; padding: .3rem .6rem;
  background: var(--orange-pale); border-left: 2px solid var(--orange);
}
.cmts-textarea {
  width: 100%; border: 1.5px solid var(--border); padding: .7rem .9rem;
  font-size: .9rem; resize: none; font-family: inherit; line-height: 1.6;
  background: var(--white); color: var(--text); transition: border-color .2s;
  min-height: 72px;
}
.cmts-textarea:focus { border-color: var(--orange); outline: none; }
.cmts-form__footer {
  display: flex; align-items: center; justify-content: space-between;
  gap: 1rem; margin-top: .6rem; flex-wrap: wrap;
}
.cmts-form__user {
  display: flex; align-items: center; gap: .4rem;
  font-size: .78rem; color: var(--text3);
}
.cmts-form__user img { width: 20px; height: 20px; border-radius: 50%; }
.cmts-form__btns { display: flex; align-items: center; gap: .5rem; }
.cmts-cancel-btn {
  background: none; border: none; cursor: pointer;
  font-size: .78rem; color: var(--text3); transition: color .15s; padding: 0;
}
.cmts-cancel-btn:hover { color: var(--error); }

/* Пагинация комментариев */
.cmts-wrap .page-numbers { font-size: .8rem; padding: .4rem .8rem; border: 1px solid var(--border); color: var(--text2); }
.cmts-wrap .page-numbers.current { background: var(--orange); border-color: var(--orange); color: #fff; }

/* ============================================================
   ЛИЧНЫЕ СООБЩЕНИЯ
============================================================ */
.pm-page { padding: 2rem 0 4rem; background: var(--bg); min-height: calc(100vh - var(--header-h) - 200px); }
.pm-layout { display: grid; grid-template-columns: 300px 1fr; gap: 0; height: calc(100vh - var(--header-h) - 120px); min-height: 500px; border: 1px solid var(--border); background: var(--white); overflow: hidden; }

/* Сайдбар с диалогами */
.pm-sidebar { display: flex; flex-direction: column; border-right: 1px solid var(--border); background: var(--white); overflow: hidden; }
.pm-sidebar__head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 1rem 1.1rem; border-bottom: 1px solid var(--border);
  background: var(--bg); flex-shrink: 0;
}
.pm-sidebar__title { font-weight: 800; font-size: 1rem; color: var(--text); }
.pm-new-btn {
  width: 30px; height: 30px; border: 1.5px solid var(--border);
  background: var(--white); cursor: pointer; font-size: .95rem;
  display: flex; align-items: center; justify-content: center;
  transition: all .15s; color: var(--text2);
}
.pm-new-btn:hover { background: var(--orange); border-color: var(--orange); color: #fff; }

/* Поиск нового собеседника */
.pm-new-form { padding: .7rem; border-bottom: 1px solid var(--border); flex-shrink: 0; }
.pm-search-input {
  width: 100%; border: 1px solid var(--border); padding: .5rem .7rem;
  font-size: .85rem; font-family: inherit; background: var(--bg);
}
.pm-search-input:focus { border-color: var(--orange); outline: none; }
.pm-search-results { margin-top: .4rem; }
.pm-search-user {
  display: flex; align-items: center; gap: .6rem; padding: .5rem .4rem;
  cursor: pointer; transition: background .15s; border-radius: 2px;
}
.pm-search-user:hover { background: var(--orange-pale); }
.pm-search-user__avatar { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.pm-search-empty { font-size: .78rem; color: var(--text3); padding: .4rem; }

/* Список диалогов */
.pm-convs { flex: 1; overflow-y: auto; }
.pm-conv {
  display: flex; align-items: center; gap: .7rem; padding: .8rem 1rem;
  border-bottom: 1px solid var(--border); cursor: pointer; transition: background .15s; position: relative;
}
.pm-conv:hover { background: var(--orange-pale); }
.pm-conv.active { background: var(--orange-pale); border-left: 3px solid var(--orange); }
.pm-conv__avatar { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; flex-shrink: 0; border: 2px solid var(--border); }
.pm-conv__body { flex: 1; min-width: 0; }
.pm-conv__top { display: flex; justify-content: space-between; align-items: baseline; gap: .3rem; }
.pm-conv__name { font-weight: 700; font-size: .88rem; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pm-conv__time { font-size: .62rem; color: var(--text3); white-space: nowrap; flex-shrink: 0; }
.pm-conv__preview { font-size: .75rem; color: var(--text3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: .1rem; }
.pm-conv__badge {
  position: absolute; top: .6rem; right: .7rem;
  background: var(--orange); color: #fff;
  font-size: .6rem; font-weight: 700; min-width: 18px; height: 18px;
  border-radius: 9px; display: flex; align-items: center; justify-content: center;
  padding: 0 4px;
}

.pm-no-convs { padding: 1.5rem 1rem; text-align: center; font-size: .82rem; color: var(--text3); }
.pm-loading  { padding: 1rem; text-align: center; font-size: .82rem; color: var(--text3); }

/* Чат */
.pm-chat { display: flex; flex-direction: column; overflow: hidden; }
.pm-empty {
  flex: 1; display: flex; flex-direction: column; align-items: center;
  justify-content: center; gap: .8rem; padding: 2rem;
}
.pm-empty__icon { font-size: 2.5rem; }
.pm-empty__title { font-weight: 700; font-size: 1.1rem; color: var(--text); }
.pm-empty__sub { font-size: .85rem; color: var(--text3); }

/* Шапка чата */
.pm-chat__head {
  display: flex; align-items: center; justify-content: space-between;
  padding: .8rem 1.2rem; border-bottom: 1px solid var(--border);
  background: var(--bg); flex-shrink: 0;
}
.pm-chat__partner { display: flex; align-items: center; gap: .7rem; text-decoration: none; }
.pm-chat__partner-avatar { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; border: 2px solid var(--orange); }
.pm-chat__partner-name { font-weight: 700; font-size: .9rem; color: var(--text); }
.pm-chat__partner-sub { font-size: .7rem; color: var(--text3); }
.pm-chat__profile-link { font-size: .75rem; color: var(--orange); font-weight: 700; }

/* Сообщения */
.pm-messages {
  flex: 1; overflow-y: auto; padding: 1.2rem;
  display: flex; flex-direction: column; gap: .5rem;
}
.pm-no-msgs { margin: auto; text-align: center; font-size: .85rem; color: var(--text3); }

.pm-msg { display: flex; flex-direction: column; max-width: 72%; }
.pm-msg--mine { align-self: flex-end; align-items: flex-end; }
.pm-msg--their { align-self: flex-start; align-items: flex-start; }

.pm-msg__bubble {
  padding: .65rem .9rem; font-size: .88rem; line-height: 1.55;
  word-break: break-word; white-space: pre-wrap;
}
.pm-msg--mine .pm-msg__bubble {
  background: var(--orange); color: #fff; border-radius: 16px 16px 4px 16px;
}
.pm-msg--their .pm-msg__bubble {
  background: var(--bg); color: var(--text); border: 1px solid var(--border);
  border-radius: 16px 16px 16px 4px;
}
.pm-msg__time { font-size: .62rem; color: var(--text3); margin-top: .2rem; padding: 0 .3rem; }

/* Composer */
.pm-composer {
  display: flex; align-items: flex-end; gap: .5rem;
  padding: .8rem 1rem; border-top: 1px solid var(--border);
  background: var(--white); flex-shrink: 0;
}
.pm-input {
  flex: 1; border: 1.5px solid var(--border); padding: .6rem .8rem;
  font-size: .9rem; font-family: inherit; resize: none; line-height: 1.5;
  max-height: 120px; background: var(--bg); transition: border-color .2s;
  border-radius: 2px;
}
.pm-input:focus { border-color: var(--orange); outline: none; background: var(--white); }
.pm-send-btn {
  width: 40px; height: 40px; background: var(--orange); border: none;
  color: #fff; font-size: 1.1rem; cursor: pointer; flex-shrink: 0;
  transition: background .15s; display: flex; align-items: center; justify-content: center;
}
.pm-send-btn:hover { background: var(--orange-h); }

/* ============================================================
   ПОЛНЫЙ МОБИЛЬНЫЙ АДАПТИВ
============================================================ */
@media (max-width: 1024px) {
  /* PM */
  .pm-layout { grid-template-columns: 260px 1fr; }
}

@media (max-width: 768px) {
  /* PM — сайдбар над чатом на мобилке */
  .pm-page { padding: 0; }
  .pm-layout { grid-template-columns: 1fr; height: auto; min-height: 0; border: none; }
  .pm-sidebar { border-right: none; border-bottom: 1px solid var(--border); max-height: 280px; }
  .pm-chat { min-height: 400px; }
  .pm-messages { min-height: 250px; }

  /* Комментарии */
  .cmt-item { padding: .8rem; gap: .6rem; }
  .cmt-item__avatar img { width: 34px; height: 34px; }
  .cmts-children { margin-left: .8rem; }
  .cmt-item--reply { margin-left: .8rem; }
  .cmts-form__inner { flex-direction: column; gap: .6rem; }
  .cmts-form__avatar { display: none; }

  /* Hero */
  /* hp-* handled in final block */

  /* News grid */
  .hp-news-card__excerpt { display: none; }

  /* Forum topic */
  .ftp-hero-inner { flex-direction: column; gap: 1rem; }
  .ftp-mod-panel { width: 100%; }
  .ftp-mod-btns { flex-direction: row; flex-wrap: wrap; gap: .3rem; }
  .ftp-mod-btn { flex: 1; min-width: 100px; font-size: .72rem; text-align: center; }

  /* Single post */
  .sp-hero { padding: 1.5rem 0; }
  .sp-hero--has-img { min-height: 260px; padding: 2rem 0 1.5rem; }
  .sp-content { padding: 1rem; }
  .sp-lead { margin: .8rem; padding: .7rem; }
  .sp-toc { margin: .8rem; }
  .sp-tags, .sp-share { padding: .8rem 1rem; }
  .sp-author-card { padding: 1rem; }
  .sp-related { padding: 1rem; }
  .sp-related__grid { grid-template-columns: 1fr 1fr; }

  /* Stats bar */
  .site-stats-bar__label { display: none; }
  .site-stat { padding: .2rem .5rem; }
  .site-stat__lbl { display: none; }
}

@media (max-width: 600px) {
  /* HP */

  /* Navigation */
  .main-nav { padding: 1rem; }
  .main-nav__list > li > a { padding: .5rem 0; font-size: .85rem; }

  /* Forms */
  .submit-form-wrap { padding: 1rem; }
  .submit-section { padding: 1rem; }

  /* Profile */
  .profile-header__inner { text-align: center; justify-content: center; }
  .profile-avatar { width: 80px; height: 80px; }
  .profile-tabs { flex-wrap: wrap; gap: .2rem; }
  .profile-tab { font-size: .8rem; padding: .5rem .8rem; }

  /* Forum */
  .forum-reply { grid-template-columns: 1fr; }
  .forum-reply__author {
    flex-direction: row; flex-wrap: wrap; gap: .4rem;
    padding: .6rem .8rem; border-right: none; border-bottom: 1px solid var(--border);
  }
  .forum-reply__avatar { width: 32px; height: 32px; }
  .forum-section-card { padding: .8rem; }

  /* Btn */
  .btn { padding: 10px 20px; font-size: .88rem; }

  /* SP related */
  .sp-related__grid { grid-template-columns: 1fr; }

  /* CM */
  .cmt-item { gap: .5rem; }
  .cmt-item__avatar img { width: 30px; height: 30px; }

  /* Games */
  .game-card { height: 64px; }
  .game-card:hover { height: 280px; }
  .game-card__roman { font-size: 5rem; }

  /* GTA6 banner */
  .hp-gta6 { padding: 1rem; flex-direction: column; gap: .7rem; }
  .hp-gta6__title { font-size: 1.5rem; }

  /* Stats bar */
  .site-stat { padding: .15rem .4rem; }
  .site-stat__val { font-size: .85rem; }
  .site-stat__icon { font-size: .7rem; }

  /* PM */
  .pm-sidebar { max-height: 220px; }
  .pm-msg { max-width: 88%; }
}

@media (max-width: 380px) {
  :root { --header-h: 52px; }
  .container { padding: 0 .75rem; }
  .hp-news-card__title { font-size: .88rem; }
  .hp-section-title { font-size: 1.2rem; }
  .site-footer__grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .footer-col h4 { font-size: .85rem; }
}

/* mobile nav handled in main breakpoints */

/* ── Бейдж непрочитанных сообщений в шапке ── */
.header-msg-badge {
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--orange); color: #fff;
  font-size: .58rem; font-weight: 700;
  min-width: 16px; height: 16px; border-radius: 8px;
  padding: 0 4px; margin-left: .3rem; vertical-align: middle;
}

/* ── Исправление user-dropdown с ЛС ── */
.user-dropdown a[href*="messages"] { position: relative; }

/* ============================================================
   GTA SERIES SECTION — новые карточки вместо аккордеона
============================================================ */
.gta-series-section {
  background: var(--dark);
  padding: 3rem 0 3.5rem;
}
.gta-series-section .hp-section-head {
  border-bottom-color: var(--orange);
  margin-bottom: 1.5rem;
}
.gta-series-section .hp-section-title { color: #fff; }
.gta-series-section .hp-section-more  { color: var(--orange); }

/* Сетка: первая карточка (GTA VI) широкая, остальные 5 равных */
.gta-series-grid {
  display: grid;
  grid-template-columns: 1.8fr repeat(5, 1fr);
  grid-template-rows: 280px;
  gap: 3px;
}

/* Базовая карточка */
.gsc {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  cursor: pointer;
}
.gsc__bg {
  position: absolute; inset: 0;
  transition: transform .5s cubic-bezier(.4,0,.2,1);
}
.gsc:hover .gsc__bg { transform: scale(1.07); }

.gsc__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.88) 0%, rgba(0,0,0,.35) 55%, rgba(0,0,0,.1) 100%);
  transition: background .3s;
}
.gsc:hover .gsc__overlay {
  background: linear-gradient(to top, rgba(0,0,0,.92) 0%, rgba(0,0,0,.5) 60%, rgba(0,0,0,.15) 100%);
}

.gsc__body {
  position: relative; z-index: 2;
  display: flex; flex-direction: column;
  height: 100%; padding: 1.2rem 1.1rem;
  justify-content: flex-end;
}

/* Топ: год + бейдж */
.gsc__top {
  display: flex; align-items: center; gap: .5rem;
  margin-bottom: auto; padding-bottom: .5rem;
}
.gsc__year {
  font-family: 'Orbitron', monospace;
  font-size: .55rem; letter-spacing: 3px;
  color: rgba(255,255,255,.5); text-transform: uppercase;
}
.gsc__badge {
  font-size: .55rem; font-weight: 700; letter-spacing: 2px;
  text-transform: uppercase; padding: 2px 7px;
}
.gsc__badge-- { background: rgba(255,255,255,.15); color: rgba(255,255,255,.8); }
.gsc__badge--hot { background: var(--orange); color: #fff; }
.gsc__badge--hit { background: rgba(245,158,11,.8); color: #fff; }

/* Римская цифра — большая, полупрозрачная */
.gsc__roman {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 4.5rem; letter-spacing: 3px;
  color: rgba(255,255,255,.12); line-height: 1;
  position: absolute; right: .5rem; top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  transition: color .3s, transform .4s;
}
.gsc:hover .gsc__roman {
  color: rgba(255,255,255,.2);
  transform: translateY(-55%) scale(1.05);
}

/* На широкой карточке GTA VI — крупнее */
.gsc--featured .gsc__roman { font-size: 9rem; }
.gsc--featured .gsc__body  { padding: 1.8rem; }

/* Название */
.gsc__name {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.3rem; letter-spacing: 2px;
  color: #fff; line-height: 1; margin-bottom: .4rem;
  transition: color .2s;
}
.gsc--featured .gsc__name { font-size: 2.2rem; }
.gsc:hover .gsc__name { color: var(--orange); }

/* Описание — скрыто на маленьких, видно на большой */
.gsc__desc {
  font-size: .78rem; color: rgba(255,255,255,.6);
  line-height: 1.55; margin-bottom: .7rem;
  display: none;
}
.gsc--featured .gsc__desc { display: block; max-width: 320px; }

/* CTA — появляется при hover */
.gsc__cta {
  font-size: .68rem; font-weight: 700; letter-spacing: 2px;
  text-transform: uppercase; color: var(--orange);
  opacity: 0; transform: translateY(6px);
  transition: opacity .25s, transform .25s;
  display: block;
}
.gsc--featured .gsc__cta { opacity: 1; transform: none; }
.gsc:hover .gsc__cta { opacity: 1; transform: none; }

/* Разделитель слева на обычных карточках */
.gsc:not(.gsc--featured) {
  border-left: 1px solid rgba(255,255,255,.06);
}

/* ── Адаптив серии ── */
@media (max-width: 1100px) {
  .gta-series-grid {
    grid-template-columns: 1.5fr repeat(5, 1fr);
    grid-template-rows: 240px;
  }
  .gsc--featured .gsc__name { font-size: 1.8rem; }
  .gsc--featured .gsc__roman { font-size: 7rem; }
}

@media (max-width: 900px) {
  /* На планшете — два ряда: VI занимает 2 колонки */
  .gta-series-grid {
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 200px 200px;
  }
  .gsc--featured {
    grid-column: 1 / 3;
  }
  .gsc--featured .gsc__roman { font-size: 6rem; }
  .gsc__roman { font-size: 3.5rem; }
}

@media (max-width: 650px) {
  .gta-series-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 160px 160px 160px;
  }
  .gsc--featured {
    grid-column: 1 / 3;
    grid-row: 1;
  }
  .gsc--featured .gsc__desc { display: none; }
  .gsc--featured .gsc__name { font-size: 1.5rem; }
  .gsc--featured .gsc__roman { font-size: 5rem; }
  .gsc__name { font-size: 1.1rem; }
  .gsc__body { padding: .8rem; }
}

@media (max-width: 400px) {
  .gta-series-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 130px 130px 130px;
  }
  .gsc__name { font-size: 1rem; }
  .gsc__roman { font-size: 2.8rem; }
}

/* ============================================================
   ФИКСЫ МОБИЛЬНОЙ ВЕРСИИ — всё что ниже hp-wrap
============================================================ */

/* GTA6 banner адаптив */
@media (max-width: 768px) {
  .hp-gta6 {
    flex-direction: column;
    align-items: flex-start;
    gap: .8rem;
    padding: 1.1rem 1rem;
  }
  .hp-gta6__title { font-size: 1.6rem; }
  .hp-gta6__btn { align-self: stretch; text-align: center; padding: .6rem 1rem; font-size: .85rem; }
}
@media (max-width: 480px) {
  .hp-gta6__title { font-size: 1.3rem; }
}

/* hp-* consolidated */

/* Features strip */
@media (max-width: 900px) {
  .features-strip { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 480px) {
  .features-strip { grid-template-columns: 1fr 1fr; gap: 2px; }
  .feature-item { padding: 1.2rem .8rem; }
  .feature-item__icon { font-size: 1.3rem; }
  .feature-item__title { font-size: 1rem; letter-spacing: 2px; }
  .feature-item__desc { font-size: .72rem; }
}

/* Newsletter */
@media (max-width: 600px) {
  .newsletter-strip { padding: 1.5rem 0; }
  .newsletter-strip__inner { flex-direction: column; gap: 1rem; text-align: center; }
  .newsletter-strip__inner h3 { font-size: 1.1rem; }
  .newsletter-form { width: 100%; flex-direction: row; }
  .newsletter-form input { flex: 1; min-width: 0; }
  .newsletter-form button { flex-shrink: 0; white-space: nowrap; }
}

/* Footer */
@media (max-width: 768px) {
  .site-footer__grid { grid-template-columns: 1fr 1fr; gap: 1.5rem; }
}
@media (max-width: 500px) {
  .site-footer__grid { grid-template-columns: 1fr; gap: 1.2rem; }
  .footer-brand { order: -1; }
  .footer-bottom__inner { flex-direction: column; gap: .4rem; text-align: center; font-size: .72rem; }
}

/* HP sidebar на мобилке */
@media (max-width: 900px) {
  .hp-sidebar { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
  .hp-widget:last-child { grid-column: 1 / -1; }
}
@media (max-width: 500px) {
  .hp-sidebar { display: flex; flex-direction: column; }
}

/* HP articles на мобилке */
@media (max-width: 500px) {
  .hp-article-card__img { width: 80px; height: 60px; }
  .hp-article-card { padding: .7rem; }
  .hp-article-card__body { gap: .2rem; }
}

/* HP files на мобилке */
@media (max-width: 500px) {
  .hp-files { grid-template-columns: 1fr; }
  .hp-file-card__img { width: 60px; height: 48px; }
}

/* Статистика футера */
@media (max-width: 400px) {
  .site-stats-bar__items { gap: 0; }
  .site-stat { padding: .15rem .35rem; }
  .site-stat__val { font-size: .8rem; }
}

/* ============================================================
   PROFILE — КНОПКА СООБЩЕНИЙ + BADGE
============================================================ */
.profile-msg-btn {
  display: inline-flex; align-items: center; gap: .5rem;
  background: var(--orange); color: #fff;
  font-size: .82rem; font-weight: 700; letter-spacing: .5px;
  padding: .55rem 1.1rem; margin-top: .9rem;
  transition: background .2s; text-decoration: none;
  border: none; cursor: pointer;
}
.profile-msg-btn:hover { background: var(--orange-h); color: #fff; }
.profile-msg-badge {
  background: #fff; color: var(--orange);
  font-size: .6rem; font-weight: 800;
  min-width: 18px; height: 18px; border-radius: 9px;
  display: inline-flex; align-items: center; justify-content: center;
  padding: 0 4px; margin-left: .2rem;
  animation: badge-pulse 2s infinite;
}
@keyframes badge-pulse {
  0%,100% { box-shadow: 0 0 0 0 rgba(245,92,0,.4); }
  50%      { box-shadow: 0 0 0 5px rgba(245,92,0,0); }
}

/* ============================================================
   NOTIFICATION TOAST — новые сообщения
============================================================ */
.msg-toast {
  position: fixed; bottom: 1.5rem; right: 1.5rem;
  background: var(--dark); border: 1px solid var(--orange);
  border-left: 4px solid var(--orange);
  padding: .9rem 1.2rem; z-index: 9999;
  display: flex; align-items: center; gap: .8rem;
  box-shadow: 0 8px 32px rgba(0,0,0,.25);
  transform: translateX(calc(100% + 2rem));
  transition: transform .35s cubic-bezier(.4,0,.2,1);
  max-width: 300px; text-decoration: none;
}
.msg-toast.visible { transform: translateX(0); }
.msg-toast__icon { font-size: 1.3rem; flex-shrink: 0; }
.msg-toast__body { flex: 1; min-width: 0; }
.msg-toast__title { font-size: .82rem; font-weight: 700; color: #fff; margin-bottom: .15rem; }
.msg-toast__text { font-size: .75rem; color: rgba(255,255,255,.6); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.msg-toast__close {
  background: none; border: none; color: rgba(255,255,255,.4);
  cursor: pointer; font-size: 1rem; flex-shrink: 0; padding: 0;
  transition: color .15s; line-height: 1;
}
.msg-toast__close:hover { color: #fff; }

/* ============================================================
   ФИНАЛЬНЫЙ МОБИЛЬНЫЙ АДАПТИВ — перекрывает всё выше
============================================================ */

/* ── ШАПКА ── */
@media (max-width: 900px) {
  .search-wrap { display: none; } /* скрываем поиск в шапке — есть мобильное меню */
}

@media (max-width: 768px) {
  :root { --header-h: 60px; }

  .site-header__inner { padding: 0 1rem; gap: .5rem; }
  .site-logo { font-size: 1.5rem; letter-spacing: 2px; }

  /* Мобильное меню */
  .main-nav {
    position: fixed; top: var(--header-h); left: 0; right: 0;
    background: rgba(255,255,255,.99);
    border-top: 2px solid var(--orange);
    padding: .5rem 0 1.5rem;
    transform: translateY(-110%); transition: transform .3s ease;
    z-index: 490; max-height: calc(100vh - var(--header-h)); overflow-y: auto;
  }
  .main-nav.open { transform: translateY(0); box-shadow: 0 8px 32px rgba(0,0,0,.15); }
  .main-nav__list { flex-direction: column; gap: 0; align-items: stretch; }
  .main-nav__list > li { border-bottom: 1px solid var(--border); }
  .main-nav__list > li:last-child { border-bottom: none; }
  .main-nav__list > li > a {
    display: flex; padding: .85rem 1.2rem;
    font-size: .9rem; font-weight: 700;
    color: var(--text); letter-spacing: .05em;
  }
  .main-nav__list > li > a:hover { background: var(--orange-pale); color: var(--orange); }
  .main-nav__list > li > a::after { display: none; }

  /* Дропдаун в мобилке */
  .dropdown {
    position: static; opacity: 1; pointer-events: all;
    transform: none; box-shadow: none; border: none;
    border-top: 1px solid var(--border);
    background: var(--bg); display: none;
    padding: .3rem 0;
  }
  .has-dropdown.open .dropdown { display: block; }
  .dropdown a {
    padding: .55rem 1.2rem .55rem 2rem !important;
    font-size: .82rem !important; color: var(--text2) !important;
  }

  /* Шапка — действия */
  .header-actions { gap: .4rem; }
  .user-name { display: none; }
  .nav-toggle { display: flex; margin-left: .2rem; }

  /* Кнопки войти/регистрация */
  .btn--sm { padding: 7px 14px; font-size: .78rem; letter-spacing: 1px; }
}

@media (max-width: 480px) {
  :root { --header-h: 56px; }
  .site-logo { font-size: 1.3rem; }
  .btn--sm { padding: 6px 10px; font-size: .72rem; }
  /* Скрываем кнопку регистрации — оставляем только войти */
  #openRegisterBtn { display: none; }
}

/* ── ГЛАВНАЯ — hp-wrap и ниже ── */
@media (max-width: 1024px) {
  .hp-layout { grid-template-columns: 1fr 260px; gap: 1.5rem; }
}

@media (max-width: 900px) {
  .hp-layout { grid-template-columns: 1fr; }
  .hp-news-grid { grid-template-columns: repeat(3,1fr); }
  .hp-sidebar { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
  .hp-widget:last-child { grid-column: 1/-1; }
}

@media (max-width: 700px) {
  .hp-news-grid { grid-template-columns: 1fr 1fr; }
  .hp-article-card__excerpt { display: none; }
}

@media (max-width: 500px) {
  .hp-wrap { padding: 1rem 0 2.5rem; }
  .hp-layout { gap: 1rem; }
  .hp-news-grid { grid-template-columns: 1fr; gap: 2px; }
  .hp-sidebar { grid-template-columns: 1fr; }
  .hp-widget:last-child { grid-column: auto; }
  .hp-news-card__foot { font-size: .6rem; }
  .hp-files { grid-template-columns: 1fr; }
  .hp-article-card { padding: .6rem; gap: .6rem; }
  .hp-article-card__img { width: 76px; height: 58px; }
  .hp-gta6 { padding: 1rem; flex-direction: column; gap: .8rem; }
  .hp-gta6__title { font-size: 1.4rem; }
  .hp-gta6__btn { align-self: stretch; text-align: center; }
}

/* ── HERO ── */
@media (max-width: 768px) {
  .hp-hero { height: 320px; }
  .hp-hero__title { font-size: clamp(1.4rem,5.5vw,2rem); }
  .hp-hero__excerpt { display: none; }
  .hp-hero__meta { font-size: .65rem; gap: .3rem .6rem; }
}
@media (max-width: 480px) {
  .hp-hero { height: 240px; }
  .hp-hero__title { font-size: 1.3rem; }
  .hp-hero__cat { font-size: .55rem; padding: 2px 7px; }
  .hp-hero__inner { padding-bottom: 1.2rem; }
}

/* ── SERIES GRID ── */
@media (max-width: 900px) {
  .gta-series-grid {
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 200px 200px;
  }
  .gsc--featured { grid-column: 1/3; }
}
@media (max-width: 600px) {
  .gta-series-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 150px 150px 150px;
  }
  .gsc--featured { grid-column: 1/-1; }
  .gsc--featured .gsc__desc { display: none; }
  .gsc--featured .gsc__name { font-size: 1.5rem; }
  .gsc__name { font-size: 1rem; }
  .gsc__body { padding: .7rem; }
  .gsc__roman { font-size: 3rem; }
  .gsc--featured .gsc__roman { font-size: 4.5rem; }
}
@media (max-width: 380px) {
  .gta-series-grid { grid-template-rows: 120px 120px 120px; }
  .gsc__name { font-size: .9rem; }
  .gsc__roman { font-size: 2.5rem; }
}

/* ── FEATURES STRIP ── */
@media (max-width: 900px) { .features-strip { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 400px) {
  .features-strip { grid-template-columns: 1fr 1fr; gap: 2px; }
  .feature-item { padding: 1rem .7rem; }
  .feature-item__desc { display: none; }
}

/* ── NEWSLETTER ── */
@media (max-width: 600px) {
  .newsletter-strip { padding: 1.3rem 0; }
  .newsletter-strip__inner { flex-direction: column; gap: .8rem; text-align: center; }
  .newsletter-form { flex-direction: row; width: 100%; }
  .newsletter-form input { flex: 1; min-width: 0; }
  .newsletter-form button { flex-shrink: 0; padding: 0 1rem; }
}

/* ── STATS BAR ── */
@media (max-width: 768px) {
  .site-stats-bar { padding: .5rem 0; }
  .site-stats-bar__label { display: none; }
  .site-stat { padding: .15rem .5rem; }
  .site-stat__lbl { display: none; }
  .site-stat__icon { font-size: .7rem; }
}
@media (max-width: 400px) {
  .site-stat { padding: .1rem .35rem; }
  .site-stat__val { font-size: .8rem; }
}

/* ── FOOTER ── */
@media (max-width: 900px) { .site-footer__grid { grid-template-columns: 1fr 1fr; gap: 1.5rem 1rem; } }
@media (max-width: 500px) {
  .site-footer__grid { grid-template-columns: 1fr 1fr; gap: 1.2rem .8rem; }
  .footer-brand { grid-column: 1/-1; }
  .footer-bottom__inner { flex-direction: column; gap: .3rem; text-align: center; font-size: .7rem; }
}
@media (max-width: 360px) {
  .site-footer__grid { grid-template-columns: 1fr; }
}

/* ── SINGLE POST ── */
@media (max-width: 768px) {
  .sp-layout { grid-template-columns: 1fr; }
  .sp-sidebar { position: static; flex-direction: row; flex-wrap: wrap; gap: .5rem; }
  .sp-sidebar-widget { flex: 1; min-width: 260px; }
  .sp-hero--has-img { min-height: 240px; padding: 2.5rem 0 1.5rem; }
  .sp-content { padding: 1.1rem; }
  .sp-lead { margin: .8rem 1.1rem 0; padding: .7rem .9rem; }
  .sp-toc { margin: .8rem 1.1rem; padding: .8rem; }
  .sp-tags, .sp-share { padding: .9rem 1.1rem; }
  .sp-author-card { padding: 1rem 1.1rem; }
  .sp-related { padding: 1rem 1.1rem; }
  .sp-related__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .sp-hero { padding: 1.2rem 0; }
  .sp-hero--has-img { min-height: 200px; }
  .sp-hero__title { font-size: 1.5rem; }
  .sp-meta { gap: .3rem .5rem; font-size: .68rem; }
  .sp-share { flex-wrap: wrap; gap: .3rem; }
  .sp-share__btn { font-size: .72rem; padding: 5px 10px; }
  .sp-related__grid { grid-template-columns: 1fr; }
  .sp-sidebar-widget { min-width: 100%; }
}

/* ── ФОРУМ ── */
@media (max-width: 768px) {
  .forum-reply { grid-template-columns: 1fr; }
  .forum-reply__author {
    flex-direction: row; flex-wrap: wrap; gap: .5rem;
    padding: .7rem; border-right: none; border-bottom: 1px solid var(--border);
  }
  .forum-reply__avatar { width: 34px; height: 34px; }
  .ftp-hero-inner { flex-direction: column; gap: 1rem; }
  .ftp-mod-panel { width: 100%; }
  .ftp-mod-btns { flex-direction: row; flex-wrap: wrap; gap: .3rem; }
  .ftp-mod-btn { flex: 1; min-width: 100px; font-size: .72rem; padding: .4rem .5rem; text-align: center; }
}

/* ── ПРОФИЛЬ ── */
@media (max-width: 768px) {
  .profile-header__inner { flex-direction: column; align-items: center; text-align: center; gap: 1rem; }
  .profile-info__meta { justify-content: center; }
  .profile-msg-btn { align-self: center; }
  .profile-stats { flex-wrap: wrap; justify-content: center; gap: .5rem; }
  .profile-stat { flex: 1; min-width: 80px; padding: .7rem .8rem; }
  .profile-tabs { flex-wrap: wrap; gap: .3rem; }
  .profile-tab-btn { font-size: .78rem; padding: .5rem .8rem; }
}

/* ── КОММЕНТАРИИ ── */
@media (max-width: 600px) {
  .cmt-item { gap: .5rem; padding: .8rem; }
  .cmt-item__avatar img { width: 32px; height: 32px; }
  .cmts-children { margin-left: .8rem; }
  .cmt-item--reply { margin-left: .8rem; }
  .cmts-form__inner { flex-direction: column; gap: .5rem; }
  .cmts-form__avatar { display: none; }
  .cmts-form { padding: .8rem; }
}

/* ── ЛИЧНЫЕ СООБЩЕНИЯ ── */
@media (max-width: 768px) {
  .pm-layout { grid-template-columns: 1fr; height: auto; }
  .pm-sidebar { max-height: 260px; border-right: none; border-bottom: 1px solid var(--border); }
  .pm-chat { min-height: 400px; }
  .pm-messages { min-height: 240px; }
  .pm-msg { max-width: 85%; }
}
@media (max-width: 480px) {
  .pm-page { padding: 0; }
  .pm-layout { border: none; }
  .pm-sidebar { max-height: 220px; }
  .pm-msg { max-width: 92%; }
  .pm-msg__bubble { padding: .55rem .75rem; font-size: .83rem; }
}

/* ── РЕДАКТОР ── */
@media (max-width: 600px) {
  .oeditor-toolbar { padding: .3rem .4rem; gap: 1px; }
  .oeditor-btn { padding: 4px 6px; font-size: .7rem; min-width: 24px; }
  .oeditor-toolbar__sep { margin: 0 2px; }
  .oeditor-content { min-height: 140px; padding: .7rem; font-size: .88rem; }
  /* Прячем редкие кнопки на мобиле */
  .oeditor-btn[data-cmd="insertTable"],
  .oeditor-btn[data-cmd="justifyRight"],
  .oeditor-btn[data-cmd="justifyLeft"],
  .oeditor-btn[data-cmd="justifyCenter"] { display: none; }
}

/* ── ОБЩЕЕ ── */
@media (max-width: 600px) {
  .container { padding: 0 .9rem; }
  .container--narrow { padding: 0 .9rem; max-width: 100%; }
  .btn { padding: 10px 20px; font-size: .88rem; letter-spacing: 1.5px; }
  .page-hero { padding: 2rem 0; }
  .page-hero__title { font-size: clamp(1.6rem,6vw,2.5rem); }
}

/* ============================================================
   HOMEPAGE — ЕДИНЫЙ ЧИСТЫЙ АДАПТИВ (перекрывает все выше)
   Порядок: от широкого к узкому
============================================================ */

/* container padding на мобилке */
@media (max-width: 768px) {
  .container        { padding: 0 1rem; }
  .container--narrow{ padding: 0 1rem; }
  .container--wide  { padding: 0 1rem; }
}
@media (max-width: 480px) {
  .container        { padding: 0 .85rem; }
  .container--narrow{ padding: 0 .85rem; }
}

/* 1024px */
@media (max-width: 1024px) {
  .hp-layout    { grid-template-columns: 1fr 260px; gap: 1.5rem; }
}

/* 900px — сайдбар уходит вниз */
@media (max-width: 900px) {
  .hp-layout    { grid-template-columns: 1fr; }
  .hp-news-grid { grid-template-columns: repeat(3,1fr); }
  .hp-sidebar   { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
  .hp-widget:last-child { grid-column: 1 / -1; }
  .hp-hero      { height: 400px; }
}

/* 700px */
@media (max-width: 700px) {
  .hp-news-grid { grid-template-columns: 1fr 1fr; gap: 2px; }
  .hp-hero      { height: 320px; }
  .hp-hero__title   { font-size: clamp(1.3rem,5vw,1.8rem) !important; }
  .hp-hero__excerpt { display: none !important; }
  .hp-news-card__excerpt { display: none; }
  .hp-article-card__excerpt { display: none; }
}

/* 600px */
@media (max-width: 600px) {
  .hp-layout    { grid-template-columns: 1fr; gap: 1rem; }
  .hp-wrap      { padding: 1rem 0 2.5rem; }
  .hp-section-head  { margin-bottom: .8rem; }
  .hp-section-title { font-size: 1.15rem !important; letter-spacing: 2px; }
  .hp-section-more  { font-size: .7rem; }
  .hp-hero      { height: 260px; }
  .hp-hero__inner   { padding-bottom: 1.2rem; }
  .hp-hero__cat     { font-size: .52rem; padding: 2px 6px; margin-bottom: .5rem; }
  .hp-hero__title   { font-size: clamp(1.1rem,4.5vw,1.5rem) !important; margin-bottom: .4rem; }
  .hp-hero__meta    { font-size: .62rem; gap: .25rem .5rem; }
  .hp-news-grid { grid-template-columns: 1fr 1fr; gap: 2px; }
  .hp-sidebar   { grid-template-columns: 1fr; }
  .hp-widget:last-child { grid-column: auto; }
  .hp-files     { grid-template-columns: 1fr; }
  .hp-gta6      { flex-direction: column; align-items: flex-start; gap: .8rem; padding: 1rem; }
  .hp-gta6__title { font-size: 1.4rem; }
  .hp-gta6__btn { align-self: stretch; text-align: center; font-size: .85rem; }
  .hp-videos-grid { grid-template-columns: 1fr; }
}

/* 480px */
@media (max-width: 480px) {
  .hp-news-grid { grid-template-columns: 1fr; }
  .hp-hero      { height: 220px; }
  .hp-hero__title { font-size: 1.1rem !important; line-height: 1.2; }
  .hp-news-card__foot { font-size: .6rem; }
  .hp-news-card__body { padding: .6rem; }
  .hp-article-card { padding: .6rem; gap: .5rem; }
  .hp-article-card__img { width: 72px; height: 55px; }
  .hp-article-card__title { font-size: .85rem; }
  .hp-forum-row { padding: .55rem .8rem; }
  .hp-game-row  { padding: .45rem .8rem; }
}

/* 380px */
@media (max-width: 380px) {
  .hp-hero { height: 190px; }
  .hp-hero__title { font-size: 1rem !important; }
  .hp-section-title { font-size: 1rem !important; }
  .hp-gta6__title { font-size: 1.2rem; }
}
