/* =========================
   NEWS PAGE — Glass / Blur
   ========================= */

/* фоновые акценты */
.news-main{
    position:relative;
    z-index:1;
    padding:28px 0 40px;
  }
  

  
  /* заголовок */
  .news-head{
    position:relative; z-index:2;
    text-align:center;
    margin: 6px auto 22px;
    max-width: 880px;
    padding: 12px 12px 0;
  }
  .nh-title{
    margin:0 0 6px;
    line-height:1.15;
  }
  .nh-title span{
    display:inline-block;
    font: 800 34px/1.1 'Montserrat',system-ui,sans-serif;
    color:#fff;
    letter-spacing:.3px;
    text-shadow: 0 6px 26px rgba(0,0,0,.35);
  }
  .nh-sub{
    margin:10px auto 0;
    color:rgba(255,255,255,.72);
    font: 500 14px/1.55 'Montserrat',system-ui,sans-serif;
  }
  
  /* underline с мягким свечением */
  .nh-underline{
    width:180px; height:3px; margin:14px auto 0; border-radius:99px;
    background: linear-gradient(90deg, rgba(255,255,255,.14), rgba(255,255,255,.45), rgba(255,255,255,.14));
  }
  .nh-underline.glow{
    height:14px; margin-top: -10px; filter: blur(12px); opacity:.55;
    background: radial-gradient(60% 120% at 50% 50%, rgba(151,25,255,.55), rgba(151,25,255,0) 70%);
  }
  
  /* сетка карточек */
  .news-shell{ position:relative; z-index:2; }
  .news-grid{
    display:grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap:18px;
  }
  
  @media (max-width:1200px){
    .news-grid{ grid-template-columns: repeat(3, minmax(0,1fr)); }
  }
  @media (max-width:900px){
    .news-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
    .nh-title span{ font-size:28px; }
  }
  @media (max-width:560px){
    .news-grid{ grid-template-columns: 1fr; }
    .nh-title span{ font-size:24px; }
  }
  
  /* карточка */
  .n-card{
    --glass-bg: rgba(255,255,255,.08);
    --glass-brd: rgba(255,255,255,.18);
    --hover-bg: rgba(255,255,255,.14);
    position:relative;
    border-radius:14px;
    overflow:hidden;
    transform: translateZ(0); /* для плавных ховеров */
  }
  .n-card__frame{
    height:100%;
    display:flex;
    flex-direction:column;
    background: var(--glass-bg);
    border: 1px solid var(--glass-brd);
    backdrop-filter: blur(14px);
    transition: transform .18s ease, box-shadow .18s ease, background .2s ease, border-color .2s ease;
  }
  .n-card:hover .n-card__frame{
    transform: translateY(-2px);
    background: var(--hover-bg);
    border-color: rgba(255,255,255,.28);
    box-shadow: 0 16px 36px rgba(0,0,0,.35), inset 0 0 0 1px rgba(255,255,255,.06);
  }
  
  /* медиа-блок */
  .n-media{
    position:relative;
    aspect-ratio: 16/9;
    overflow:hidden;
  }
  .n-media img{
    position:absolute; inset:0; width:100%; height:100%;
    object-fit:cover;
    transition: transform .6s ease;
  }
  .n-card:hover .n-media img{ transform: scale(1.05); }
  .n-media__overlay{
    position:absolute; inset:0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,.45) 100%);
    z-index:1;
  }
  
  /* дата-бейдж */
  .n-badge-date{
    position:absolute; left:12px; bottom:10px; z-index:2;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    width:54px; height:54px; border-radius:12px;
    background: rgba(0,0,0,.4);
    border: 1px solid rgba(255,255,255,.24);
    backdrop-filter: blur(6px);
  }
  .n-badge-date b{
    color:#fff; font: 800 18px/1 'Montserrat',sans-serif;
  }
  .n-badge-date span{
    margin-top:4px; color:rgba(255,255,255,.8); font:600 10px/1 'Montserrat',sans-serif;
  }
  
  /* просмотры */
  .n-views{
    position:absolute; right:12px; bottom:10px; z-index:2;
    display:inline-flex; align-items:center; gap:6px;
    padding:6px 10px; border-radius:999px;
    background: rgba(0,0,0,.42);
    border:1px solid rgba(255,255,255,.22);
    color:#fff; font:600 12px/1 'Montserrat',sans-serif;
    letter-spacing:.2px;
  }
  .n-views svg{ width:16px; height:16px; fill:#fff; opacity:.9 }
  
  /* тело карточки */
  .n-body{
    display:flex; flex-direction:column; gap:10px;
    padding:16px 14px 8px;
  }
  .n-title{
    color:#fff; text-decoration:none;
    font: 700 16px/1.25 'Montserrat',sans-serif;
    transition: color .12s ease, text-shadow .12s ease;
    white-space: nowrap; overflow:hidden; text-overflow: ellipsis;
  }
  .n-title:hover{ color:#fff; text-shadow:0 0 0 rgba(0,0,0,0), 0 0 22px rgba(151,25,255,.55); }
  
  .n-short{
    color:rgba(255,255,255,.75);
    font: 500 13px/1.45 'Montserrat',sans-serif;
  }
  .clamp-4 {
    display: -webkit-box;
    display: box;                     /* for old specs (harmless fallback) */
    -webkit-box-orient: vertical;
    overflow: hidden;
  
    /* ✅ both prefixed and standard versions */
    -webkit-line-clamp: 4;
    line-clamp: 4;
  }  

  /* мета */
  .n-meta{
    display:flex; align-items:center; gap:10px;
    color:rgba(255,255,255,.55);
    font:600 12px/1 'Montserrat',sans-serif;
  }
  .n-meta .dot{
    display:inline-block; width:4px; height:4px; border-radius:50%; background:rgba(255,255,255,.45);
  }
  
  /* действия */
  .n-actions{
    margin-top:auto;
    padding: 10px 14px 14px;
  }
  .btn-ghost{
    --stroke: rgba(255,255,255,.28);
    display:inline-flex; align-items:center; gap:10px;
    padding:10px 14px; border-radius:10px;
    color:#fff; text-decoration:none; font:700 13px/1 'Montserrat',sans-serif;
    border:1px solid var(--stroke);
    background: rgba(255,255,255,.06);
    transition: transform .12s ease, border-color .16s ease, background .16s ease, box-shadow .2s ease;
  }
  .btn-ghost svg{ width:18px; height:18px; stroke:#fff; fill:none; stroke-width:2; }
  .btn-ghost:hover{
    transform: translateY(-1px);
    border-color: rgba(255,255,255,.45);
    background: linear-gradient(90deg, rgba(255,255,255,.10), rgba(255,255,255,.14));
    box-shadow: 0 10px 26px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.06);
  }
  
  /* пусто */
  .news-empty{
    grid-column: 1/-1;
    text-align:center;
    color:rgba(255,255,255,.7);
    font: 600 14px/1.6 'Montserrat',sans-serif;
    padding: 40px 10px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 12px;
  }
  
  /* пагинация */
  .news-pagination{
    display:flex; justify-content:center; align-items:center; gap:8px;
    margin: 18px 0 2px;
  }
  .pg-btn, .pg-num{
    min-width:38px; height:38px; padding:0 10px;
    display:inline-flex; justify-content:center; align-items:center;
    border-radius:10px; text-decoration:none;
    color:#fff; font:800 13px/1 'Montserrat',sans-serif;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.22);
    transition: transform .12s ease, background .16s ease, border-color .16s ease, box-shadow .2s ease;
  }
  .pg-btn:hover, .pg-num:hover{
    transform: translateY(-1px);
    background: rgba(255,255,255,.14);
    border-color: rgba(255,255,255,.36);
    box-shadow: 0 10px 22px rgba(0,0,0,.28);
  }
  .pg-num.is-active{
    background: linear-gradient(90deg, #9719FF, #f33c3c);
    border-color: transparent;
    box-shadow: 0 12px 28px rgba(151,25,255,.35);
  }
  
  /* AOS: reveal on scroll (совместимо с твоим JS внизу страницы) */
  .aos{ opacity:0; transform: translateY(10px); }
  .aos.in{
    opacity:1; transform: translateY(0);
    transition: opacity .45s ease, transform .45s ease;
  }
  
  /* мелкие правки для совместимости с твоим глобальным стилем */
  .menu .menu-item.is-active{
    color:#fff;
    text-shadow: 0 0 0 rgba(0,0,0,0), 0 0 18px rgba(151,25,255,.55);
  }
  
  /* hover-подсветка ссылок внутри карточек */
  .n-body a{ outline:none; }
  .n-body a:focus-visible{
    box-shadow: 0 0 0 3px rgba(151,25,255,.35);
    border-radius:8px;
  }
  
  /* тонкий разделитель для карточек при очень тёмном фоне */
  .n-card__frame::after{
    content:"";
    position:absolute; left:0; right:0; bottom:-1px; height:1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.08), transparent);
  }
  
  /* улучшенный hit-area для кнопки "Читать подробнее" на мобилках */
  @media (max-width:560px){
    .n-actions .btn-ghost{ width:100%; justify-content:center; }
  }
  /* =========================
   NEWS DETAIL — Glass / Blur
   ========================= */

/* Хлебные крошки */
.news-hero{
    position: relative;
    z-index: 1;
    margin: 8px 0 18px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 14px;
    backdrop-filter: blur(14px);
    padding: 16px 18px 0;
    overflow: hidden;
  }
  .news-hero::before{
    content:"";
    position:absolute; inset:-60px -60px auto -60px; height:260px;
    background:
      radial-gradient(800px 260px at 20% -10%, rgba(151,25,255,.22) 0%, rgba(151,25,255,0) 60%),
      radial-gradient(640px 220px at 85% -12%, rgba(243,60,60,.18) 0%, rgba(243,60,60,0) 65%);
    filter: blur(10px);
    pointer-events: none;
  }
  .news-crumbs{
    position: relative;
    z-index: 1;
    color: rgba(255,255,255,.75);
    font: 600 12px/1.6 'Montserrat', sans-serif;
    margin-bottom: 6px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .news-crumbs a{
    color: rgba(255,255,255,.85);
    text-decoration: none;
    border-bottom: 1px dashed rgba(255,255,255,.25);
    transition: color .15s ease, border-color .15s ease;
  }
  .news-crumbs a:hover{
    color:#fff; border-color: rgba(255,255,255,.5);
  }
  
  /* Заголовок и мета */
  .news-hero__title{
    position: relative; z-index: 1;
    margin: 2px 0 8px;
    color:#fff;
    text-shadow: 0 6px 24px rgba(0,0,0,.35);
    font: 800 30px/1.15 'Montserrat', sans-serif;
  }
  @media (max-width: 560px){
    .news-hero__title{ font-size: 24px; }
  }
  .news-hero__meta{
    position: relative; z-index: 1;
    display:flex; align-items:center; gap:10px;
    color: rgba(255,255,255,.65);
    font: 700 12px/1 'Montserrat', sans-serif;
    margin-bottom: 12px;
  }
  .news-hero__meta .dot{
    display:inline-block; width:4px; height:4px; border-radius:50%;
    background: rgba(255,255,255,.45);
  }
  
  /* Обложка */
  .news-hero__cover{
    position: relative; z-index: 1;
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    border-radius: 12px;
    margin: 10px 0 0;
    display: block;
    border: 1px solid rgba(255,255,255,.18);
    box-shadow: 0 16px 36px rgba(0,0,0,.35);
  }
  
  /* Контейнер статьи */
  .news-article{
    margin: 18px 0 24px;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
  .news-article__content{
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 14px;
    backdrop-filter: blur(14px);
    padding: 22px 20px;
    color: rgba(255,255,255,.92);
    font-family: 'Montserrat', sans-serif;
  }
  
  /* Типографика контента (full_text|safe) */
  .news-article__content h1,
  .news-article__content h2,
  .news-article__content h3,
  .news-article__content h4,
  .news-article__content h5,
  .news-article__content h6{
    color:#fff;
    margin: 18px 0 10px;
    line-height:1.2;
    font-weight: 800;
    letter-spacing: .2px;
  }
  .news-article__content h1{ font-size: 26px; }
  .news-article__content h2{ font-size: 22px; }
  .news-article__content h3{ font-size: 18px; }
  .news-article__content h4{ font-size: 16px; }
  .news-article__content h5{ font-size: 15px; }
  .news-article__content h6{ font-size: 14px; }
  
  .news-article__content p{
    margin: 10px 0 12px;
    font-weight: 500;
    line-height: 1.65;
    color: rgba(255,255,255,.90);
  }
  .news-article__content a{
    color:#fff;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
    text-decoration-color: rgba(255,255,255,.45);
    transition: text-decoration-color .15s ease, color .15s ease, box-shadow .15s ease;
  }
  .news-article__content a:hover{
    color:#fff;
    text-decoration-color: rgba(255,255,255,.8);
    box-shadow: 0 0 0 3px rgba(151,25,255,.25);
    border-radius: 6px;
  }
  .news-article__content ul,
  .news-article__content ol{
    margin: 8px 0 14px 20px;
    padding:0;
  }
  .news-article__content li{
    margin: 6px 0;
    line-height:1.6;
  }
  
  /* Цитаты */
  .news-article__content blockquote{
    margin: 14px 0;
    padding: 14px 16px;
    border-left: 3px solid rgba(151,25,255,.55);
    background: rgba(255,255,255,.06);
    border-radius: 10px;
    color: rgba(255,255,255,.9);
  }
  
  /* Горизонтальная линия */
  .news-article__content hr{
    border:0; height:1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
    margin: 18px 0;
  }
  
  /* Картинки внутри текста */
  .news-article__content img{
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    display:block;
    margin: 10px auto;
    border: 1px solid rgba(255,255,255,.18);
    box-shadow: 0 12px 28px rgba(0,0,0,.35);
  }
  
  /* Таблицы */
  .news-article__content table{
    width:100%;
    border-collapse: collapse;
    margin: 12px 0;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.04);
    border-radius: 10px;
    overflow: hidden;
  }
  .news-article__content th,
  .news-article__content td{
    padding: 10px 12px;
    border-bottom: 1px solid rgba(255,255,255,.12);
    color: rgba(255,255,255,.92);
    font-size: 14px;
  }
  .news-article__content thead th{
    background: rgba(255,255,255,.07);
    color:#fff;
    font-weight: 700;
  }
  .news-article__content tbody tr:hover{
    background: rgba(255,255,255,.06);
  }
  
  /* Код / преформат */
  .news-article__content code{
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.18);
    padding: 2px 6px;
    border-radius: 6px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 13px;
  }
  .news-article__content pre{
    background: rgba(0,0,0,.55);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 12px;
    padding: 14px 16px;
    overflow: auto;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
  }
  .news-article__content pre code{
    background: transparent;
    border: 0;
    padding: 0;
    font-size: 13px;
    color: #f3f4f6;
  }
  
  /* Респонсив-видео (YouTube/VK/и т.п.) */
  .news-article__content .video,
  .news-article__content iframe{
    width: 100%;
    border: 0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 12px 28px rgba(0,0,0,.35);
  }
  .news-article__content .video{
    position: relative;
    padding-top: 56.25%; /* 16:9 */
  }
  .news-article__content .video iframe{
    position:absolute; inset:0; width:100%; height:100%;
  }
  
  /* Кнопки «Поделиться» */
  .news-article__share{
    display:flex; align-items:center; gap:10px;
    flex-wrap: wrap;
    margin-top: 6px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 12px;
    backdrop-filter: blur(12px);
    padding: 12px 14px;
  }
  .news-article__share > span{
    color: rgba(255,255,255,.8);
    font: 700 12px/1 'Montserrat', sans-serif;
    margin-right: 6px;
  }
  .share-btn{
    display:inline-flex; align-items:center; justify-content:center;
    height: 36px; padding: 0 12px;
    color:#fff; text-decoration:none; font:800 12px/1 'Montserrat', sans-serif;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 10px;
    transition: transform .12s ease, background .16s ease, border-color .16s ease, box-shadow .2s ease;
  }
  .share-btn:hover{
    transform: translateY(-1px);
    background: rgba(255,255,255,.14);
    border-color: rgba(255,255,255,.36);
    box-shadow: 0 10px 22px rgba(0,0,0,.28);
  }
  
  /* Назад к новостям */
  .news-article__back{
    margin-top: 4px;
    display:flex; justify-content:flex-start;
  }
  .btn-more{
    display:inline-flex; align-items:center; gap:10px;
    padding: 10px 14px;
    color:#fff; text-decoration:none; font:800 13px/1 'Montserrat', sans-serif;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 10px;
    transition: transform .12s ease, border-color .16s ease, background .16s ease, box-shadow .2s ease;
  }
  .btn-more:hover{
    transform: translateY(-1px);
    border-color: rgba(255,255,255,.45);
    background: linear-gradient(90deg, rgba(255,255,255,.10), rgba(255,255,255,.14));
    box-shadow: 0 10px 26px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.06);
  }
  
  /* Мелкие доработки */
  .news-article__content figure{
    margin: 12px 0;
    text-align: center;
  }
  .news-article__content figcaption{
    color: rgba(255,255,255,.65);
    font: 600 12px/1.4 'Montserrat', sans-serif;
    margin-top: 6px;
  }
  
  /* Адаптив */
  @media (max-width: 900px){
    .news-article__content{ padding: 18px 16px; }
  }
  @media (max-width: 560px){
    .news-crumbs{ white-space: normal; }
  }
  