/*
Theme Name: Technora Child
Template: twentytwentyfive
*/

/* =========================================
   0. RESET + INTER
   ========================================= */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

body {
    font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    background-color: #050510;
    color: #f5f5f7;
}

/* -------------------------------------------------
   ШАПКА: ЛОГОТИП + СЛОГАН В ОДНОЙ СЕТКЕ
-------------------------------------------------- */

/* Контейнер шапки – та же ширина, что и контент */
.wp-site-blocks > header {
    border-bottom: 1px solid rgba(255, 255, 255, 0.16); /* тонкая линия */
}

.wp-site-blocks > header .wp-block-group {
    max-width: 1180px;
    margin: 0 auto;
    padding: 20px 16px 10px; /* уменьшаем «воздух» под логотипом */
}

/* Логотип Technora */
.wp-block-site-title a {
    font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 700;
    font-size: 40px;
    line-height: 1;
    letter-spacing: 0.02em;
    text-decoration: none;
}

/* Слоган под логотипом */
.wp-block-site-tagline {
    margin-top: 4px;
    font-size: 14px;
    line-height: 1.4;
    color: #9ea4c7;
}

/* Контейнер главной */
.tn-home {
    max-width: 1180px;
    margin: 0 auto;
    padding: 32px 16px 64px;
}

/* Общая сетка: контент + сайдбар */
.tn-layout {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 1.1fr);
    gap: 32px;
    align-items: flex-start;
}

.tn-layout-main {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.tn-layout-sidebar {
    position: sticky;
    top: 96px;
    align-self: flex-start;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

/* =========================================
   1. HEADER (лёгкий твик под Inter)
   ========================================= */

.site-header,
.wp-block-template-part {
    font-family: inherit;
}

/* =========================================
   2. HERO
   ========================================= */

.tn-hero {
    margin-bottom: 8px;
}

.tn-hero-inner {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    gap: 32px;
    align-items: stretch;
}

.tn-hero-media {
    position: relative;
    overflow: hidden;
    border-radius: 18px;
    background: radial-gradient(circle at 0 0, #3b82f6 0, #0f172a 45%, #020617 100%);
}

.tn-hero-image {
    width: 100%;
    height: 100%;
    max-height: 420px;
    object-fit: cover;
    display: block;
    mix-blend-mode: screen;
}

.tn-hero-text {
    position: relative;
    padding: 20px 22px;
    border-radius: 18px;
    background: radial-gradient(circle at top left, rgba(59,130,246,.25), rgba(15,23,42,.96));
    border: 1px solid rgba(148,163,184,.35);
    box-shadow: 0 20px 40px rgba(15,23,42,.8);
}

.tn-hero-title {
    margin: 12px 0 10px;
    font-size: 28px;
    line-height: 1.25;
    letter-spacing: -0.03em;
}

.tn-hero-title a {
    color: #e5e7eb;
    text-decoration: none;
}

.tn-hero-title a:hover {
    color: #ffffff;
}

.tn-hero-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
    font-size: 13px;
    color: #9ca3af;
}

.tn-hero-excerpt {
    font-size: 15px;
    line-height: 1.6;
    color: #d1d5db;
    margin-bottom: 16px;
}

.tn-hero-readmore {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    font-size: 13px;
    border-radius: 999px;
    border: 1px solid rgba(129,140,248,.7);
    color: #e5e7eb;
    text-decoration: none;
    background: linear-gradient(90deg, rgba(79,70,229,.35), rgba(14,116,144,.15));
}

.tn-hero-readmore:hover {
    border-color: #a855f7;
}

/* =========================================
   3. CATEGORY PILLS
   ========================================= */

.tn-cat-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #e5e7eb;
    text-decoration: none;
    background: rgba(31, 41, 55, 0.85);
    border: 1px solid rgba(148, 163, 184, 0.6);
}

.tn-cat-icon {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: linear-gradient(135deg, #4f46e5, #a855f7);
}

/* Примеры цветовых схем для категорий (подгоняешь под свои 14 slugs) */

.cat-ai .tn-cat-icon,
.tn-category-section.cat-ai .tn-section-pill {
    background-image: linear-gradient(135deg, #22c55e, #0ea5e9);
}

.cat-tech .tn-cat-icon,
.tn-category-section.cat-tech .tn-section-pill {
    background-image: linear-gradient(135deg, #6366f1, #a855f7);
}

.cat-future .tn-cat-icon,
.tn-category-section.cat-future .tn-section-pill {
    background-image: linear-gradient(135deg, #eab308, #ec4899);
}

/* =========================================
   4. LATEST GRID (2x3)
   ========================================= */

.tn-section-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 16px;
}

.tn-section-title {
    font-size: 18px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #9ca3af;
}

.tn-latest {
    margin-bottom: 16px;
}

.tn-latest-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.tn-card {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    background: radial-gradient(circle at top left, rgba(31,41,55,.9), rgba(15,23,42,1));
    border: 1px solid rgba(31,41,55,.9);
    transition: transform .15s ease-out, box-shadow .15s ease-out, border-color .15s ease-out;
}

.tn-card:hover {
    transform: translateY(-2px);
    border-color: rgba(96,165,250,.8);
    box-shadow: 0 18px 35px rgba(15,23,42,.9);
}

.tn-card-link {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.tn-card-thumb img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    display: block;
}

.tn-card-body {
    padding: 14px 14px 16px;
}

.tn-card-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 6px;
    font-size: 11px;
    color: #9ca3af;
}

.tn-card-title {
    font-size: 15px;
    line-height: 1.5;
}

.tn-empty {
    font-size: 14px;
    color: #9ca3af;
}

/* =========================================
   5. CATEGORY SECTIONS
   ========================================= */

.tn-category-section {
    margin: 32px 0;
}

.tn-category-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.tn-card-category .tn-card-thumb img {
    height: 140px;
}

/* =========================================
   6. SIDEBAR
   ========================================= */

.tn-sidebar-widget {
    padding: 14px 14px 16px;
    border-radius: 16px;
    border: 1px solid rgba(31,41,55,.9);
    background: radial-gradient(circle at top left, rgba(15,23,42,.98), rgba(2,6,23,1));
    font-size: 14px;
}

.tn-sidebar-placeholder p {
    margin: 0;
    color: #9ca3af;
}

/* =========================================
   7. FOOTER (микро-правки если нужно)
   ========================================= */

.site-footer {
    font-family: inherit;
}

/* =========================================
   8. RESPONSIVE
   ========================================= */

/* Планшеты */
@media (max-width: 1024px) {
    .tn-layout {
        grid-template-columns: minmax(0, 1.9fr) minmax(0, 1fr);
        gap: 24px;
    }

    .tn-hero-inner {
        grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
        gap: 24px;
    }

    .tn-latest-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tn-category-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .tn-layout-sidebar {
        position: static;
    }
}

/* Мобильные */
@media (max-width: 768px) {
    .tn-home {
        padding: 20px 14px 40px;
    }

    .tn-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .tn-hero-inner {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .tn-hero-media {
        border-radius: 16px;
    }

    .tn-hero-text {
        padding: 16px 14px;
        margin: 0 -4px; /* чтобы визуально не липло к краям */
    }

    .tn-hero-title {
        font-size: 22px;
    }

    .tn-hero-excerpt {
        font-size: 14px;
    }

    .tn-latest-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .tn-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tn-layout-sidebar {
        order: -1; /* по желанию — можно сайдбар вверх */
    }
}

/* Очень маленькие экраны */
@media (max-width: 480px) {
    .tn-hero-text {
        padding: 14px 12px;
        border-radius: 14px;
    }

    .tn-hero-title {
        font-size: 20px;
    }

    .tn-card-thumb img {
        height: 160px;
    }
}

/* ============================
   VERGE-STYLE HOME LAYOUT
   ============================ */

:root {
  --bg:#0e0e10;
  --paper:#151519;
  --soft:#1d1f24;
  --text:#f3f3f3;
  --muted:#a7abb3;
  --line:#262833;
  --accent:#00ffd0;
  --accent-2:#a96dff;
  --accent-3:#93ff52;
  --max:1200px;
  --radius:16px;
}

/* общие вещи для главной */
.tn-home {
  background:radial-gradient(1200px 600px at 50% -10%, #1a1530 0%, transparent 55%), var(--bg);
  color:var(--text);
  font:16px/1.55 Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

/* HERO */
.tn-home .hero{
  max-width:var(--max); margin:32px auto 18px; padding:0 16px;
}
.tn-home .kicker{
  display:inline-flex; align-items:center; gap:.6rem;
  color:var(--accent); font-weight:800; letter-spacing:.08em; text-transform:uppercase;
}
.tn-home .kicker::before{content:"●"; font-size:10px}
.tn-home .hero h1{
  font-size:clamp(34px, 4vw + 12px, 64px);
  line-height:1.02; margin:.35em 0 .2em;
  letter-spacing:-.02em; font-weight:900;
  text-shadow:0 8px 40px rgba(0,0,0,.6);
}
.tn-home .hero p{
  max-width:820px; color:var(--muted); font-size:18px;
}
.tn-home .hero__tags{
  display:flex; flex-wrap:wrap; gap:10px; margin-top:16px;
}
.tn-home .tag{
  padding:8px 12px; border-radius:999px; font-weight:700; font-size:13px;
  border:1px solid var(--line); color:var(--text);
  background:linear-gradient(180deg, #171922 0%, #12131a 100%);
}
.tn-home .tag--a{border-color:#124; color:#9ff}
.tn-home .tag--b{border-color:#24134b; color:#cbb0ff}
.tn-home .tag--c{border-color:#1b3b14; color:#cfff95}

/* GRID: контент + сайдбар */
.tn-home .page{
  max-width:var(--max); margin:10px auto 60px; padding:0 16px;
  display:grid; grid-template-columns: 1fr 330px; gap:22px;
}
@media (max-width:1024px){
  .tn-home .page{grid-template-columns:1fr}
}

/* STREAM LIST */
.tn-home .stream{
  display:grid; gap:16px;
}
.tn-home .card{
  display:grid; grid-template-columns: 240px 1fr; gap:14px;
  background:var(--paper); border:1px solid var(--line); border-radius:var(--radius);
  overflow:hidden; transition:.18s ease transform, .18s ease box-shadow;
}
@media (max-width:700px){
  .tn-home .card{grid-template-columns:1fr}
}
.tn-home .card:hover{
  transform:translateY(-2px); box-shadow:0 12px 40px rgba(0,0,0,.35);
}
.tn-home .card__img{
  position:relative; min-height:160px; background:#0b0b0d;
}
.tn-home .card__img img{width:100%; height:100%; object-fit:cover; display:block}
.tn-home .badge{
  position:absolute; left:10px; top:10px; padding:6px 10px; border-radius:999px;
  font-weight:800; font-size:12px; color:#001310; background:var(--accent);
}
.tn-home .badge--violet{background:var(--accent-2); color:#0c0620}
.tn-home .card__body{padding:16px 16px}
.tn-home .card__title{
  margin:0 0 8px; font-weight:900; letter-spacing:-.01em;
  font-size:clamp(18px, 1.1vw + 14px, 24px);
}
.tn-home .card__meta{color:var(--muted); font-size:14px}
.tn-home .card__desc{color:#d7dae2; margin-top:8px}

/* RIGHT RAIL */
.tn-home .rail{position:relative}
.tn-home .rail__wrap{
  position:sticky; top:72px; display:flex; flex-direction:column; gap:18px;
}
.tn-home .panel{
  background:var(--soft); border:1px solid var(--line); border-radius:var(--radius); padding:16px;
}
.tn-home .panel__title{
  display:flex; align-items:center; gap:10px; margin-bottom:10px;
  font-weight:900; text-transform:uppercase; letter-spacing:.08em; color:var(--accent-2);
}
.tn-home .pill{
  display:inline-block; background:#0f1120; border:1px solid var(--line); color:var(--muted);
  padding:6px 10px; border-radius:999px; font-size:12px; font-weight:700; margin-left:auto;
}
.tn-home .list{
  list-style:none; display:flex; flex-direction:column; gap:14px; margin:0; padding:0;
}
.tn-home .list li a{
  color:#e9ecf7; text-decoration:none; font-weight:800;
}
.tn-home .list li a:hover{ color:var(--accent) }

/* VERTICAL LABEL */
.tn-home .side-label{
  position:absolute; right:-20px; top:60px;
  font:900 46px/1 Inter, system-ui, sans-serif; color:#1f2130; letter-spacing:.04em;
  writing-mode:vertical-rl; transform:rotate(180deg); user-select:none; pointer-events:none;
}
@media (max-width:1200px){
  .tn-home .side-label{ display:none; }
}

/* =========================================================
   TECHNORA VERGE HOME
   ========================================================= */

.tn-home--verge {
  --tn-max-width: 1240px;
  --tn-bg: #050712;
  --tn-paper: #111217;
  --tn-soft: #181a21;
  --tn-text: #f9fafb;
  --tn-muted: #9ca3af;
  --tn-line: #272a36;
  --tn-accent: #00ffcc;
  --tn-accent-2: #a855ff;
  --tn-accent-3: #5dff4a;
  background: radial-gradient(1200px 600px at 50% -20%, #1e122a 0%, transparent 60%), #020617;
  color: var(--tn-text);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.tn-home--verge a {
  color: inherit;
}

/* Контейнер */
.tn-home--verge .tn-shell {
  max-width: var(--tn-max-width);
  margin: 8px auto 72px;      /* ближе к шапке + чуть больше снизу */
  padding: 0 40px 0;          /* шире поля, как у Verge */
}

/* ================= HERO ================= */

.tn-home--verge .tn-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 2.1fr) minmax(270px, 0.9fr);
  gap: 32px;
  margin: 32px 0 40px;        /* больше воздуха сверху и снизу */
}

/* Вертикальный логотип */
.tn-home--verge .tn-hero-vert-logo {
  position: absolute;
  left: -120px;
  top: 120px;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  font-weight: 900;
  font-size: 88px;
  line-height: 0.8;
  letter-spacing: .25em;
  text-transform: uppercase;
  color: #01f2d0;
  opacity: 0.25;
  text-shadow: 0 24px 60px rgba(0,0,0,.9);
  pointer-events: none;
  user-select: none;
  z-index: 15;
}

.tn-home--verge .tn-hero-vert-logo span {
  display: inline-block;
}

/* Левая часть: картинка + текст */
.tn-home--verge .tn-hero-main {
  background: #050507;
  border-radius: 28px;
  overflow: hidden;
  border: 1px solid #111827;
  box-shadow: 0 28px 70px rgba(0, 0, 0, .95);
  display: grid;
  grid-template-rows: minmax(360px, 460px) auto; /* выше картинка, крупный HERO */
}

.tn-home--verge .tn-hero-media {
  position: relative;
  background: #020617;
}

.tn-home--verge .tn-hero-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.tn-home--verge .tn-hero-text {
  padding: 22px 28px 24px;
}

.tn-home--verge .tn-hero-kicker {
  color: var(--tn-accent);
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 13px;
  margin-bottom: 8px;
}

.tn-home--verge .tn-hero-title {
  margin: 0 0 14px;
  font-size: clamp(36px, 4.4vw + 4px, 60px); /* чуть крупнее */
  line-height: 1.02;
  letter-spacing: -0.035em;
}

.tn-home--verge .tn-hero-title a {
  text-decoration: none;
}

.tn-home--verge .tn-hero-title a:hover {
  text-decoration: underline;
}

.tn-home--verge .tn-hero-lead {
  margin: 0 0 14px;
  font-size: 17px;
  line-height: 1.6;
  color: var(--tn-muted);
}

.tn-home--verge .tn-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  font-size: 14px;
  color: var(--tn-muted);
}

.tn-home--verge .tn-hero-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 60px;
  padding: 6px 12px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  background: #022c27;
  color: #a7fff0;
}

.tn-home--verge .tn-hero-dot {
  font-size: 18px;
  line-height: 1;
}

/* Правая колонка HERO: Top Stories */
.tn-home--verge .tn-hero-side {
  align-self: stretch;
  background: radial-gradient(circle at 0 0, #312e81 0%, #020617 52%);
  border-radius: 22px;
  padding: 18px 18px 18px;
  border: 1px solid rgba(76, 81, 191, .7);
  position: relative;
}

.tn-home--verge .tn-hero-side-title {
  font-size: 13px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #e0e7ff;
  margin-bottom: 12px;
  font-weight: 800;
}

.tn-home--verge .tn-hero-side-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tn-home--verge .tn-hero-side-item {
  border-radius: 12px;
  padding: 8px 10px;
  transition: background .15s ease;
}

.tn-home--verge .tn-hero-side-item:hover {
  background: rgba(15, 23, 42, .65);
}

.tn-home--verge .tn-hero-side-link {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 8px;
  text-decoration: none;
}

.tn-home--verge .tn-hero-side-index {
  font-weight: 900;
  color: #6366f1;
  font-size: 14px;
}

.tn-home--verge .tn-hero-side-title-text {
  font-size: 14px;
  font-weight: 700;
}

.tn-home--verge .tn-hero-side-meta {
  font-size: 12px;
  color: #cbd5f5;
}

/* ================= MAIN GRID ================= */

.tn-home--verge .tn-main-grid {
  margin-top: 22px;
  display: grid;
  grid-template-columns: minmax(0, 2.1fr) minmax(280px, 0.9fr);
  gap: 26px;
}

/* Поток слева */
.tn-home--verge .tn-stream {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Карточка потока */
.tn-home--verge .tn-stream-card {
  display: grid;
  grid-template-columns: minmax(210px, 260px) minmax(0, 1fr);
  gap: 14px;
  background: var(--tn-paper);
  border-radius: 18px;
  border: 1px solid var(--tn-line);
  overflow: hidden;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.tn-home--verge .tn-stream-card:hover {
  transform: translateY(-2px);
  border-color: #4b5563;
  box-shadow: 0 16px 44px rgba(0, 0, 0, .8);
}

.tn-home--verge .tn-stream-card__image {
  position: relative;
  background: #020617;
  min-height: 160px;
}

.tn-home--verge .tn-stream-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.tn-home--verge .tn-stream-badge {
  position: absolute;
  left: 10px;
  top: 10px;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--tn-accent);
  color: #022c22;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.tn-home--verge .tn-stream-card__body {
  padding: 14px 14px 16px 4px;
}

.tn-home--verge .tn-stream-card__title {
  margin: 0 0 8px;
  font-size: 20px;
  line-height: 1.35;
  letter-spacing: -.01em;
  font-weight: 900;
}

.tn-home--verge .tn-stream-card__title a {
  text-decoration: none;
}

.tn-home--verge .tn-stream-card__title a:hover {
  text-decoration: underline;
}

.tn-home--verge .tn-stream-card__meta {
  font-size: 13px;
  color: var(--tn-muted);
}

.tn-home--verge .tn-stream-card__excerpt {
  margin: 10px 0 0;
  font-size: 14px;
  color: #d1d5db;
}

/* ================= RIGHT RAIL ================= */

.tn-home--verge .tn-rail {
  position: relative;
}

.tn-home--verge .tn-rail-label {
  position: absolute;
  right: -24px;
  top: 160px;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  font-size: 38px;
  font-weight: 900;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #1d2335;
  user-select: none;
  pointer-events: none;
}

.tn-home--verge .tn-rail-inner {
  position: sticky;
  top: 92px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.tn-home--verge .tn-panel {
  border-radius: 20px;
  padding: 16px 16px 18px;
  border: 1px solid rgba(55, 65, 81, .9);
  color: #f9fafb;
}

.tn-home--verge .tn-panel--violet {
  background: linear-gradient(145deg, #3b0764 0%, #1d1b4a 45%, #020617 100%);
}

.tn-home--verge .tn-panel--blue {
  background: linear-gradient(150deg, #0f172a 0%, #0b1120 55%, #020617 100%);
}

.tn-home--verge .tn-panel__header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.tn-home--verge .tn-panel__title {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .16em;
  font-weight: 900;
}

.tn-home--verge .tn-panel__pill {
  margin-left: auto;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .12em;
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, .7);
  background: rgba(15, 23, 42, .73);
}

.tn-home--verge .tn-panel__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tn-home--verge .tn-panel__item a {
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}

.tn-home--verge .tn-panel__item a:hover {
  text-decoration: underline;
}

.tn-home--verge .tn-panel__item--empty {
  font-size: 13px;
  color: var(--tn-muted);
}

/* ================= BREAKPOINTS ================= */

/* 1) Большие десктопы (&gt;= 1280px) — базовый стиль выше */

/* 2) Лаптопы (до 1279px) */
@media (max-width: 1279px) {
  .tn-home--verge .tn-shell {
    padding: 0 24px;
  }
  .tn-home--verge .tn-hero-vert-logo {
    left: -64px;
    font-size: 32px;
  }
}

/* 3) Планшеты (до 1024px) */
@media (max-width: 1024px) {
  .tn-home--verge .tn-shell {
    margin-top: 18px;
  }

  .tn-home--verge .tn-hero {
    grid-template-columns: minmax(0, 1fr);
  }

  .tn-home--verge .tn-hero-vert-logo {
    display: none;
  }

  .tn-home--verge .tn-main-grid {
    grid-template-columns: minmax(0, 1.7fr) minmax(260px, 1fr);
  }

  .tn-home--verge .tn-rail-label {
    display: none;
  }
}

/* 4) Мобильные (до 768px) */
@media (max-width: 768px) {
  .tn-home--verge .tn-shell {
    padding: 0 14px;
  }

  .tn-home--verge .tn-hero-main {
    border-radius: 18px;
  }

  .tn-home--verge .tn-hero-text {
    padding: 18px 16px 18px;
  }

  .tn-home--verge .tn-hero-title {
    font-size: 30px;
  }

  .tn-home--verge .tn-main-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .tn-home--verge .tn-rail-inner {
    position: static;
  }

  .tn-home--verge .tn-stream-card {
    grid-template-columns: minmax(0, 1fr);
  }

  .tn-home--verge .tn-stream-card__image {
    min-height: 190px;
  }
}

/* Очень маленькие экраны (до 480px) */
@media (max-width: 480px) {
  .tn-home--verge .tn-hero-title {
    font-size: 26px;
  }
  .tn-home--verge .tn-stream-card__title {
    font-size: 18px;
  }
}

/* === CATEGORY MENU (HORIZ) — FIXED CLEAN VERSION === */

.tn-cat-nav {
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 10px;
    border-bottom: 1px solid rgba(255,255,255,0.15);
}

.tn-cat-list {
    list-style: none;
    display: flex;
    gap: 32px;
    padding: 12px 0;
    margin: 0;
    align-items: center;
}

.tn-cat-list a {
    color: #d3e8ff;
    font-size: 14px;
    text-decoration: none;
    opacity: 0.75;
}

.tn-cat-list a:hover,
.tn-cat-list a.active {
    opacity: 1;
    color: #00c2ff;
    border-bottom: 2px solid #00c2ff;
    padding-bottom: 3px;
}

.tn-cat-more {
    position: relative;
}

.tn-cat-more > span {
    cursor: pointer;
}

.tn-cat-more-panel {
    position: absolute;
    right: 0;
    top: 26px;
    background: rgba(0,0,0,0.9);
    padding: 8px 0;
    border-radius: 6px;
    min-width: 150px;
    display: none;
    z-index: 50;
}

.tn-cat-more:hover .tn-cat-more-panel {
    display: block;
}

.tn-cat-more-panel a {
    display: block;
    padding: 8px 16px;
    color: #fff;
    opacity: 0.85;
    text-decoration: none;
}

.tn-cat-more-panel a:hover {
    opacity: 1;
    background: rgba(255,255,255,0.1);
}

/* Fix bullets in "Ещё" dropdown */
.tn-cat-more-panel {
    list-style: none;
    margin: 0;
    padding: 8px 0;
}

.tn-cat-more-panel li {
    margin: 0;
    padding: 0;
}

/* ================================================
   HEADER + CATEGORY MENU FIXES (2025-12-01)
   ================================================ */

/* 1. Логотип и описание: выравниваем по ширине сайта */
.wp-block-site-title,
.wp-block-site-tagline {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 16px;
    padding-right: 16px;
}

/* 2. Контейнер с меню категорий под шапкой */
.tn-menu-row {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 16px 8px;
}

/* 3. Строка меню двигаем вправо внутри этого контейнера */
.tn-menu-row nav ul {
    display: flex;
    justify-content: flex-end;
}

/* 4. Убираем двойное подчёркивание в меню:
      запрещаем text-decoration, оставляем только нижнюю полоску,
      которую уже рисуют твои существующие стили */
.tn-menu-row nav a {
    text-decoration: none !important;
}

.tn-menu-row nav a:hover,
.tn-menu-row nav a:focus {
    text-decoration: none !important;
}

/* ================================
   NAV: контейнер и выравнивание
   ================================ */

.tn-cat-nav-wrap {
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
    margin-top: 4px;
}

.tn-cat-nav-wrap .tn-cat-nav {
    max-width: 1180px;      /* как у .tn-home */
    margin: 0 auto;
    display: flex;
    justify-content: flex-end; /* прижать пункты к правому краю контейнера */
}

/* убрать лишнее подчёркивание, оставить только нижнюю полоску, которую мы рисуем сами */

.tn-cat-nav__link,
.tn-cat-nav__link:visited,
.tn-cat-nav__link:hover {
    text-decoration: none !important;
}

/* ================================
   HEADER: логотип + описание
   ================================ */

/* общее выравнивание шапки по тому же контейнеру, что и контент */
.tn-site-header-inner {
    max-width: 1180px;
    margin: 0 auto;
    padding: 20px 16px 6px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 32px;
}

/* логотип */
.tn-site-title {
    font-size: 36px;
    font-weight: 800;
    letter-spacing: 0.03em;
    margin: 0;
}

/* подзаголовок под логотипом */
.tn-site-tagline {
    font-size: 13px;
    line-height: 1.5;
    color: rgba(245, 245, 247, 0.75);
    max-width: 420px;
    margin: 0;
}

/* если старые стили темы что-то добавляют – погасим отступы */
.wp-block-site-title {
    margin: 0;
}

/* не показывать дублирующийся текст, если он выводится отдельным параграфом */
.wp-block-site-title + p {
    display: none;
}

/* Лого "Technora" чуть компактнее, без ощущения огромной надписи */
.wp-block-site-title a {
    font-size: 32px;
    line-height: 1.1;
    font-weight: 700;
}

/* Описание — поменьше и чуть приглушённое */
.wp-block-site-tagline {
    font-size: 14px;
    line-height: 1.4;
    color: rgba(245, 245, 247, 0.72);
    margin-top: 4px;
    margin-bottom: 12px;
}

/* Тонкая линия под шапкой оставляем, но чуть ближе к заголовку */
.wp-site-blocks > hr:first-of-type {
    max-width: 1180px;
    margin: 0 auto 0;
    padding: 0 16px;
}

/* Убрать стандартное подчёркивание ссылок */
.wp-block-navigation a,
.wp-block-navigation__container a {
    text-decoration: none !important;
}

.wp-block-navigation a:hover {
    text-decoration: none !important;
}

/* Контейнер для меню */
.tn-header-menu-wrapper {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 16px;
    display: flex;
    justify-content: flex-end; /* Двигаем меню вправо */
}
/* ================================
   NAV: контейнер + выравнивание
   ================================ */

.tn-cat-nav-wrap {
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
    margin-top: 4px;
}

/* сам nav ограничиваем тем же контейнером, что и главный контент */
.tn-cat-nav-wrap .tn-cat-nav {
    max-width: 1180px;       /* как .tn-home */
    margin: 0 auto;
    padding-right: 196px;
}

/* список категорий в строку, без точек */
.tn-cat-nav__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;   /* прижать к правому краю */
    gap: 24px;
}

/* ссылка категории */
.tn-cat-nav__link,
.tn-cat-nav__link:visited {
    position: relative;
    display: inline-flex;
    align-items: center;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none !important;   /* убираем второе подчёркивание */
    color: #f5f5f7;
    padding: 10px 0 8px;
    opacity: 0.85;
}

/* нижняя полоска при hover/active */
.tn-cat-nav__link::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    border-radius: 999px;
    background: transparent;
    transition: background 0.2s ease;
}

.tn-cat-nav__link:hover {
    opacity: 1;
}

.tn-cat-nav__link:hover::after,
.tn-cat-nav__link.is-active::after {
    background: #23e5ff;
}

/* кнопка "Ещё" */
.tn-cat-nav__item--more {
    position: relative;
}

.tn-cat-nav__more-btn {
    border: none;
    background: transparent;
    color: #f5f5f7;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    cursor: pointer;
    padding: 10px 0 8px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.tn-cat-nav__more-btn:focus-visible {
    outline: 2px solid #23e5ff;
    outline-offset: 2px;
}

.tn-cat-nav__more-caret {
    font-size: 10px;
}

/* выпадающая панель "Ещё" — по умолчанию скрыта */
.tn-cat-nav__more-panel {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 6px;
    min-width: 220px;
    background: rgba(5, 5, 16, 0.98);
    border-radius: 12px;
    padding: 8px 0;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.6);
    display: none;                 /* <- главное: скрыто */
    flex-direction: column;
    z-index: 30;
}

/* когда JS вешает класс is-open — показываем */
.tn-cat-nav__more-panel.is-open {
    display: flex;
}

/* пункты внутри панели */
.tn-cat-nav__more-link {
    padding: 8px 16px;
    font-size: 14px;
    color: #f5f5f7;
    text-decoration: none !important;
    white-space: nowrap;
}

.tn-cat-nav__more-link:hover {
    background: rgba(255, 255, 255, 0.06);
}

.tn-cat-nav__more-link.is-active {
    font-weight: 600;
    background: rgba(35, 229, 255, 0.12);
}

/* на планшете/мобиле — меню по центру, не так жёстко прижимаем вправо */
@media (max-width: 1024px) {
    .tn-cat-nav__list {
        justify-content: center;
        flex-wrap: wrap;
        row-gap: 8px;
    }

    .tn-cat-nav__more-panel {
        right: auto;
        left: 50%;
        transform: translateX(-50%);
    }
}

/* =========================================
   СКРЫВАЕМ СТАРЫЙ ВЕРХНИЙ ХЕДЕР ТОЛЬКО НА ГЛАВНОЙ
   ========================================= */

/* У блок-тем есть оболочка .wp-site-blocks, внутри которой первым идет header */
body.home .wp-site-blocks > header.wp-block-template-part {
    display: none;
}

/* Точное выравнивание меню по правому краю HERO */
.tn-cat-nav-wrap .tn-cat-nav {
    max-width: 1180px;
    margin: 0 auto;
    justify-content: flex-end;
    padding-right: 0px; /* ← Ключевое значение, см. ниже */
}

/* Спрятать старый WP-хедер (логотип + описание + линия) только на главной */
body.home #header,
body.home #header + hr {
    display: none !important;
}

/* =========================================
   HEADER: LOGO + MENU STRIP
   ========================================= */

.tn-header-strip {
    max-width: 1180px;
    margin: 0 auto;
    padding: 20px 16px 10px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}

/* Логотип Technora */

.tn-logo {
    margin: 0;
}

.tn-logo a {
    font-size: 48px;
    font-weight: 700;
    color: #28b3ff;
    text-decoration: none;
    letter-spacing: 0.04em;
    line-height: 1.1;
}

.tn-logo a:hover {
    opacity: 0.9;
}

/* Меню прижимаем вправо внутри полосы */

.tn-header-strip .tn-cat-nav {
    margin: 0;
}

/* чтобы меню не прилипало к левому краю, если окно шире */
.tn-cat-nav__list {
    justify-content: flex-end;
}

/* ---- Линия под логотипом + меню: одна на всех ---- */

.tn-header-strip {
    border-bottom: 1px solid rgba(255, 255, 255, 0.16);
    padding-bottom: 8px;
    margin-bottom: 16px;
}

/* У меню убираем свои линии, чтобы не было двойных */

.tn-cat-nav {
    border-bottom: none !important;
}

.tn-cat-nav::before,
.tn-cat-nav::after {
    display: none !important;
}

/* Убираем ВСЕ линии у навигации, которые добавляет TwentyTwentyFive */
.tn-cat-nav,
.tn-cat-nav::before,
.tn-cat-nav::after {
    border: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
}

/* Убираем вторую линию, которую рисует контейнер меню */
.tn-cat-nav-wrap {
    border-bottom: none !important;
    box-shadow: none !important;
}

/* На случай, если линия сделана через псевдоэлемент */
.tn-cat-nav-wrap::before,
.tn-cat-nav-wrap::after {
    content: none !important;
    display: none !important;
}

/* Линия под логотипом — белая */
.tn-logo-line {
    border-bottom: 2px solid #ffffff !important;
}

header *,
nav *,
.wp-block-navigation *,
.tn-cat-nav *,
.tn-cat-nav::before,
.tn-cat-nav::after {
    border-bottom: none !important;
    box-shadow: none !important;
}

.wp-block-navigation {
    border-bottom: none !important;
    box-shadow: none !important;
}