/* ==========================================================================
   BLOG — liste (öne çıkan + kartlar), boş durum, tekil yazı
   Süzgeç çipleri services.css'ten gelir.
   ========================================================================== */

.blog-hero__inner { display: grid; justify-items: center; gap: 20px; max-width: 820px; text-align: center; }

/* ---------- Kartlar ---------- */
.post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.post-card {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--surface);
  overflow: hidden;
  transition: border-color .25s, box-shadow .25s, transform .35s var(--ease-out);
}
.post-card:hover { border-color: var(--line-2); box-shadow: var(--shadow); transform: translateY(-3px); }
.post-card[hidden] { display: none; }
.post-card.is-entering { animation: sv-in .45s var(--ease-out) backwards; animation-delay: calc(var(--i, 0) * 40ms); }
.post-card--featured { grid-column: 1 / -1; display: grid; grid-template-columns: 1.2fr 1fr; }

.post-card__media { display: block; aspect-ratio: 1200 / 630; background: var(--bg-alt); overflow: hidden; }
.post-card--featured .post-card__media { aspect-ratio: auto; min-height: 320px; }
.post-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease-out); }
.post-card:hover .post-card__media img { transform: scale(1.04); }
.post-card__placeholder {
  display: grid;
  place-items: center;
  height: 100%;
  background:
    radial-gradient(60% 80% at 85% 0%, rgb(211 20 28 / .25), transparent 60%),
    radial-gradient(rgb(255 255 255 / .08) 1px, transparent 1.2px) 0 0 / 18px 18px,
    var(--navy-900);
  color: rgb(255 255 255 / .85);
  font-weight: 800;
  font-size: 1.25rem;
}

.post-card__body { display: flex; flex-direction: column; gap: 10px; padding: 22px; }
.post-card--featured .post-card__body { justify-content: center; padding: clamp(24px, 4vw, 48px); }
.post-card__meta { display: flex; gap: 12px; font-size: 12.5px; font-weight: 700; }
.post-card__meta span { color: var(--red-600); text-transform: uppercase; letter-spacing: .04em; }
.post-card__meta time { color: var(--muted); }
.post-card h3 { font-size: 1.1875rem; line-height: 1.35; }
.post-card--featured h3 { font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.125rem); letter-spacing: -.025em; }
.post-card h3 a:hover { color: var(--navy-700); }
.post-card__body > p:not(.post-card__meta) { font-size: 15px; line-height: 1.6; color: var(--muted); }
.post-card__more { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 6px; font-size: 13.5px; font-weight: 700; color: var(--navy-700); }
.post-card__more .i { width: 15px; height: 15px; transition: transform .25s var(--ease-out); }
.post-card:hover .post-card__more .i { transform: translateX(3px); }

/* ---------- Boş durum ---------- */
.blog-empty {
  display: grid;
  justify-items: center;
  gap: 14px;
  max-width: 760px;
  margin: 0 auto;
  padding: clamp(32px, 5vw, 56px);
  border: 1px dashed var(--line-2);
  border-radius: var(--radius-xl);
  background: var(--surface-2);
  text-align: center;
}
.blog-empty__icon { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 18px; background: var(--navy-900); color: #fff; }
.blog-empty__icon .i { width: 28px; height: 28px; }
.blog-empty h2 { font-size: 1.625rem; letter-spacing: -.02em; }
.blog-empty > p { max-width: 56ch; color: var(--muted); }
.blog-empty__links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; width: 100%; margin-top: 10px; text-align: left; }
.blog-empty__links a {
  display: flex;
  gap: 12px;
  height: 100%;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--surface);
  transition: border-color .2s, box-shadow .2s;
}
.blog-empty__links a:hover { border-color: var(--navy-200); box-shadow: var(--shadow); }
.blog-empty__links .i { flex: none; width: 20px; height: 20px; margin-top: 2px; color: var(--red-600); }
.blog-empty__links span { display: grid; line-height: 1.35; }
.blog-empty__links b { font-size: 15px; }
.blog-empty__links small { font-size: 13px; color: var(--muted); }

/* ---------- Tekil yazı ---------- */
.article__hero { padding-bottom: clamp(28px, 4vw, 48px); }
.article__head { display: grid; justify-items: start; gap: 18px; max-width: 868px; }
.article__title { font-size: clamp(2rem, 1.3rem + 2.6vw, 3.25rem); font-weight: 800; letter-spacing: -.03em; line-height: 1.12; }
.article__meta { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 14px; color: var(--muted); }
.article__meta span:first-child { font-weight: 700; color: var(--ink); }

.article__wrap { display: grid; gap: 32px; max-width: 868px; padding-bottom: var(--section-y); }
.article__image { width: 100%; border-radius: var(--radius-xl); }
.article__body { font-size: 17.5px; line-height: 1.8; color: var(--ink-2); }
.article__body > * + * { margin-top: 1.1em; }
.article__body h2 { margin-top: 1.8em; font-size: 1.625rem; color: var(--ink); }
.article__body h3 { margin-top: 1.5em; font-size: 1.25rem; color: var(--ink); }
.article__body ul, .article__body ol { padding-left: 1.3em; list-style: disc; }
.article__body ol { list-style: decimal; }
.article__body li + li { margin-top: .4em; }
.article__body a { color: var(--navy-700); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.article__body blockquote { padding: 18px 22px; border-left: 4px solid var(--red-600); border-radius: 0 12px 12px 0; background: var(--bg-alt); color: var(--ink); }

.article__cta { display: grid; gap: 10px; justify-items: start; padding: 28px; border-radius: var(--radius-xl); background: var(--navy-900); color: #fff; }
.article__cta strong { font-size: 1.25rem; }
.article__cta p { color: rgb(255 255 255 / .7); }

.related { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 24px; }
.related a { display: grid; gap: 4px; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); }
.related a:hover { border-color: var(--navy-200); }
.related small { color: var(--muted); }

@media (max-width: 960px) {
  .post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .post-card--featured { grid-template-columns: 1fr; }
  .post-card--featured .post-card__media { min-height: 0; aspect-ratio: 1200 / 630; }
}
@media (max-width: 640px) {
  .post-grid, .blog-empty__links, .related { grid-template-columns: 1fr; }
  .blog-hero__inner { text-align: left; justify-items: start; }
}
