/* ===== Blog UI (final polish) ===== */

/* Chips */
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.chip{
  -webkit-appearance:none;appearance:none;
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 12px;border-radius:12px;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.12);
  color:var(--text);cursor:pointer;font:inherit
}
.chip:hover{border-color:rgba(255,255,255,.18)}
.chip.active{background:linear-gradient(135deg,var(--brand),var(--accent));color:#0b0f19;border:0}

/* Search row */
.search-form{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.search-form input[type="search"]{
  flex:1 1 280px;background:var(--panel-2);
  border:1px solid rgba(255,255,255,.12);color:var(--text);
  padding:.9rem 1rem;border-radius:12px;min-height:44px
}
.search-form input[type="search"]::placeholder{color:color-mix(in oklab,var(--muted) 80%, white 20%)}

/* Phone: button inside input on the right */
@media (max-width:680px){
  form#searchForm.search-form{position:relative}
  form#searchForm.search-form input[type="search"]{padding-right:117px}
  form#searchForm.search-form button[type="submit"]{
    position:absolute !important; right:6px; top:6px;
    height: calc(100% - 12px); padding:0 16px;
    border-radius:12px; min-height:auto;
    display:inline-flex; align-items:center; justify-content:center; z-index:2
  }
}

/* Cards */

.card__title{
  /* убрать градиент только в карточках или на мобилке, выборочно */
  background: none;
  -webkit-text-fill-color: inherit; /* вернём обычный цвет текста */
  color: var(--brand, #6f6aff);
  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  word-break: break-word;
}


.cards{display:grid;gap:var(--s4)}
.card{
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.10); border-radius:var(--radius);
  padding:var(--s5); box-shadow:var(--shadow);
}
.card--post{display:flex;flex-direction:column;min-height:100%}
.card--post .thumb{aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#0b0f19}
.card--post .thumb img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.001)}
.card--post .card__body{display:flex;flex-direction:column;gap:12px;margin-top:var(--s3);flex:1 1 auto}
.card--post .card__body p{margin:0}
.card--post .card__title{margin:0}
.card--post .card__title a{
  background:linear-gradient(135deg,var(--accent),var(--brand));
  -webkit-background-clip:text;background-clip:text;color:transparent
}
.card--post .card__footer{margin-top:auto;padding-top:var(--s3)}
.btn--sm{padding:.65rem 1rem;min-height:40px;font-weight:800;border-radius:12px}
.btn--block{width:100%;justify-content:center}

/* Multi-line clamps with smooth fade (поздний fade, чтобы не «кусало» 3-ю строку) */
.line-3{
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical;
  overflow:hidden;
  -webkit-mask-image:linear-gradient(180deg,#000 92%,rgba(0,0,0,0));
          mask-image:linear-gradient(180deg,#000 92%,rgba(0,0,0,0));
}
.line-2{
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden;
  -webkit-mask-image:linear-gradient(180deg,#000 90%,rgba(0,0,0,0));
          mask-image:linear-gradient(180deg,#000 90%,rgba(0,0,0,0));
}

/* Paginator */
.paginator{margin-top:var(--s5)}
.paginator .pager{display:flex;flex-wrap:wrap;gap:8px}
.pager .page{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.65rem .9rem;border-radius:12px;
  background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.14);
  color:var(--text); min-height:40px
}
.pager .page.active{background:linear-gradient(135deg,var(--brand),var(--accent)); color:#000; border:0}
.pager .page.disabled{opacity:.5;pointer-events:none}

/* Article layout */
.crumbs{margin-bottom:var(--s2)}
/* Кнопка «Назад» по вертикальному центру заголовка */
.backRow{
  display:grid; grid-template-columns:auto 1fr;
  align-items:center; gap:16px; margin-bottom:var(--s2)
}
.backRow h1{margin:0}
.backLink{
  width:42px;height:42px;border-radius:12px;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12)
}
.backLink:hover{border-color:rgba(255,255,255,.18)}
.backLink svg{width:18px;height:18px}
.backLink svg path{stroke:#eaf0f7;stroke-width:2;fill:none}

.metaRow{margin-top:15px;}
.article-tags-inline a{color:var(--accent)}
.shareRow { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:var(--s2) 0; color:var(--muted); }
.shareRow .shareLabel{opacity:.9}
.shareRow a{
  width:36px;height:36px;border-radius:10px;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.12)
}
.shareRow a:hover{border-color:rgba(255,255,255,.18)}
.shareRow svg{width:18px;height:18px;fill:#eaf0f7;opacity:.9}

.cover{border-radius:14px;overflow:hidden;background:#0b0f19}
.cover img{width:100%;height:auto;display:block;max-height:60vh;object-fit:contain}
@media (max-width:640px){ .cover img{max-height:42vh} }

/* Prose media */
.prose img, .prose video{max-width:100%;height:auto;border-radius:12px;display:block}
.prose iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:12px}
.prose table{display:block;max-width:100%;overflow:auto;border-collapse:collapse}
.prose pre, .prose code{white-space:pre-wrap;word-wrap:break-word}

#coverFigure.article-cover.cover {
  margin: 16px 0 0 0;  /* сверху 16px, остальные обнулили */
  padding: 0;
  width: 100%;
}

@media (max-width:640px){
  #coverFigure.article-cover.cover {
    width: 100%;
    height: auto;
    max-height: none;
  }
  #coverFigure.article-cover.cover img {
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain; /* или cover, если надо */
  }
}
/* утилита на 3 строки */
.line-3{
  display: -webkit-box;          /* нужно для -webkit-line-clamp */
  -webkit-box-orient: vertical;  /* вертикальная ориентация */
  -webkit-line-clamp: 3;         /* сколько строк оставить */
  overflow: hidden;              /* скрывать лишнее */
  word-break: break-word;        /* чтобы длинные слова не ломали клэмп */
}

/* (опционально) новое свойство, где поддерживается */
.line-3{ line-clamp: 3; }



