/* Новий горизонт — decorative frame around semantic article text. */
.news-grid .news-card.news-card--text {
  --card-accent: var(--primary);
  --frame-mid: color-mix(in srgb, var(--card-accent) 56%, transparent);
  --frame-faint: color-mix(in srgb, var(--card-accent) 24%, transparent);
  --frame-wash: color-mix(in srgb, var(--card-accent) 7%, transparent);
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  align-self: start;
  gap: 0;
  min-width: 0;
  padding: 0;
  border: 1px solid var(--frame-faint);
  background-image: radial-gradient(ellipse at 100% 0, var(--frame-wash), transparent 65%);
  border-radius:3px; border-right:2px solid var(--frame-mid);
}
.news-grid .news-card.news-card--text::before, .news-grid .news-card.news-card--text::after {content: ''; position: absolute; pointer-events: none; box-sizing: border-box;}
.news-grid .news-card.news-card--text::before {right:9px; top:9px; width:20px; height:20px; background:linear-gradient(135deg,transparent 45%,var(--card-accent) 46% 53%,transparent 54%);}
.news-grid .news-card.news-card--text::after {left:26px; right:26px; bottom:11px; height:5px; background:linear-gradient(90deg,var(--frame-faint),var(--frame-mid)); clip-path:polygon(0 40%,96% 40%,96% 0,100% 50%,96% 100%,96% 60%,0 60%);}
.news-grid .news-card.news-card--text > .news-copy {padding: 30px;}
.news-card--text h3 {font-size: clamp(22px, 2vw, 27px); line-height: 1.3; overflow-wrap: anywhere;}
.news-grid .news-card.news-card--text:focus-within {outline: 2px solid var(--card-accent); outline-offset: 3px;}

@media (max-width: 540px) {
  .news-grid .news-card.news-card--text > .news-copy {padding: 26px;}
  .news-card--text h3 {font-size: 24px;}
}
