/* =========================================
   BİLİŞİMCİ HOCAM — BLOG.CSS
   Blog.html sayfası özeli
   HTML içinden çıkartıldı.
   ========================================= */

  @keyframes fadeUp  { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
  @keyframes floatOrb{ 0%,100%{transform:translate(0,0)}50%{transform:translate(20px,-15px)} }
  @keyframes scanline{ 0%{transform:translateY(-100%)}100%{transform:translateY(100vh)} }
  @keyframes gradShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
  @keyframes blink   {0%,100%{opacity:1}50%{opacity:0}}

  .page-wrap { position:relative; z-index:1; padding-bottom:clamp(2rem,4vw,3rem); }

  body:not(.icerik-acik) .editorial-stage,
  body:not(.icerik-acik) .posts-wrap {
    display: none;
  }

  /* ── HERO ── */
  .blog-hero {
    position:relative; overflow:hidden;
    padding:clamp(3.5rem,6vw,7rem) clamp(1.5rem,5vw,4rem) clamp(2.5rem,4vw,4rem);
    padding-inline: clamp(1.5rem, 5vw, 4rem);
    border-bottom:1px solid var(--border);
    display:flex; flex-direction:column; align-items:center; text-align:center;
  }
  .blog-hero::before {
    content:''; position:absolute; inset:0; pointer-events:none;
    background:
      radial-gradient(ellipse 50% 70% at 20% 30%, rgba(124,58,237,.10) 0%, transparent 60%),
      radial-gradient(ellipse 40% 60% at 80% 60%, rgba(0,212,255,.08) 0%, transparent 55%),
      radial-gradient(ellipse 30% 40% at 50% 90%, rgba(16,185,129,.06) 0%, transparent 50%);
  }
  .hero-scan{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden;}
  .hero-scan::after{content:'';position:absolute;left:0;right:0;height:100px;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.012),transparent);animation:scanline 7s linear infinite;}

  /* Dekoratif arka plan grid */
  .blog-hero::after {
    content:''; position:absolute; inset:0; pointer-events:none;
    background-image: linear-gradient(var(--grid-line) 1px, transparent 1px),
                      linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
    background-size: 60px 60px;
    mask-image: radial-gradient(ellipse 70% 70% at 50% 50%, black 30%, transparent 80%);
  }

  .blog-hero-content { position:relative; z-index:2; max-width: min(90vw, 860px); animation:fadeUp .6s both; }
  .blog-eyebrow {
    display:inline-flex; align-items:center; gap:.6rem;
    font-size:.7rem; font-family:'JetBrains Mono',monospace; font-weight:700;
    color:var(--accent); text-transform:uppercase; letter-spacing:.15em;
    background:rgba(0,212,255,.08); border:1px solid rgba(0,212,255,.2);
    padding:.35rem 1rem; border-radius:20px; margin-bottom:1.5rem;
  }
  .blog-eyebrow-dot { width:6px; height:6px; border-radius:50%; background:var(--accent); animation:blink 1.2s step-end infinite; }
  .blog-hero-title {
    font-size:clamp(2.2rem,4vw,4rem); font-weight:800;
    line-height:1.05; letter-spacing:-.04em; margin-bottom:1rem;
  }
  .blog-hero-title .grad {
    background:linear-gradient(135deg,var(--accent),var(--accent2),var(--accent3));
    background-size:200% auto;
    -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
    animation:gradShift 5s linear infinite;
  }
  .blog-hero-sub { font-size:clamp(.9rem,1.15vw,1.15rem); color:var(--text2); line-height:1.7; margin-bottom:2rem; }

  .blog-hero-stats {
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:.75rem;
    max-width:min(90vw, 720px);
    margin:0 auto 1.5rem;
  }
  .blog-stat-card {
    padding:.8rem 1rem;
    border:1px solid var(--border);
    border-radius:16px;
    background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015));
    box-shadow:0 12px 32px rgba(0,0,0,.08);
  }
  .blog-stat-card strong {
    display:block;
    font-size:1.15rem;
    font-weight:900;
    color:var(--text1);
    line-height:1;
    margin-bottom:.28rem;
  }
  .blog-stat-card span {
    font-size:.62rem;
    font-family:'JetBrains Mono', monospace;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:var(--text3);
  }

  /* Kategori filtreleri */
  .blog-filters {
    display:flex; flex-wrap:wrap; gap:.5rem; justify-content:center;
    position:relative; z-index:2; margin-top:1rem;
  }
  .filter-btn {
    display:inline-flex; align-items:center; gap:.4rem;
    padding:.38rem .9rem; border-radius:20px; font-size:.72rem;
    font-family:'JetBrains Mono',monospace; font-weight:700; letter-spacing:.04em;
    border:1px solid var(--border); background:var(--card); color:var(--text2);
    cursor:pointer; transition:all .2s; text-transform:uppercase;
  }
  .filter-btn:hover, .filter-btn.active { border-color:var(--accent); color:var(--accent); background:rgba(0,212,255,.08); }
  .filter-btn.active { box-shadow:0 0 16px rgba(0,212,255,.15); }

  /* ── ÖNCÜ YAZI ── */
  .editorial-stage {
    max-width: min(94vw, 1800px);
    margin: 0 auto;
    padding: clamp(2rem, 3vw, 2.6rem) clamp(1.5rem,5vw,4rem) 0;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
    gap: 1.2rem;
    align-items: start;
  }
  .editorial-col {
    min-width: 0;
  }
  .editorial-main,
  .editorial-side {
    padding: 1.15rem;
    border: 1px solid var(--border);
    border-radius: 22px;
    background: color-mix(in srgb, var(--card) 94%, transparent);
    box-shadow: 0 18px 40px rgba(0,0,0,.12);
  }
  .section-eyebrow {
    display:inline-flex; align-items:center; gap:.5rem;
    font-size:.68rem; font-family:'JetBrains Mono',monospace; font-weight:700;
    color:var(--accent); text-transform:uppercase; letter-spacing:.12em; margin-bottom:.8rem;
  }
  .section-eyebrow::before { content:''; width:16px; height:1px; background:var(--accent); }

  .featured-card {
    display:block;
    background:var(--card); border:1px solid var(--border); border-radius:18px;
    overflow:hidden; transition:box-shadow .3s;
    animation:fadeUp .5s .05s both;
  }
  .featured-card:hover { box-shadow:0 20px 60px rgba(0,0,0,.4), 0 0 0 1px rgba(0,212,255,.15); }
  .featured-card.is-locked {
    opacity: .78;
    cursor: default;
  }
  .featured-card.is-locked:hover {
    box-shadow: none;
  }

  .featured-content {
    padding:clamp(1.2rem,1.8vw,1.6rem);
    display:flex; flex-direction:column; justify-content:space-between;
  }
  .post-meta { display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; margin-bottom:1rem; }
  .post-cat {
    display:inline-flex; align-items:center; gap:.3rem;
    font-size:.65rem; font-family:'JetBrains Mono',monospace; font-weight:700;
    padding:.2rem .6rem; border-radius:4px; text-transform:uppercase; letter-spacing:.06em;
  }
  .post-date { font-size:.68rem; color:var(--text3); font-family:'JetBrains Mono',monospace; }
  .post-read { font-size:.68rem; color:var(--text3); font-family:'JetBrains Mono',monospace; }
  .post-read::before { content:'·'; margin-right:.4rem; }

  .featured-title {
    font-size:clamp(1.2rem,1.8vw,1.9rem); font-weight:800;
    letter-spacing:-.03em; color:var(--text); line-height:1.2; margin-bottom:.8rem;
  }
  .featured-excerpt { font-size:clamp(.82rem,.95vw,1rem); color:var(--text2); line-height:1.75; margin-bottom:1.5rem; }
  .featured-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.8rem; }
  .post-tags { display:flex; gap:.4rem; flex-wrap:wrap; }
  .post-tag {
    font-size:.62rem; font-family:'JetBrains Mono',monospace; font-weight:700;
    padding:.15rem .5rem; border-radius:4px;
    background:var(--bg3); color:var(--text3); border:1px solid var(--border2);
  }
  .read-btn {
    display:inline-flex; align-items:center; gap:.4rem;
    font-size:.78rem; font-weight:700; color:var(--accent);
    font-family:'JetBrains Mono',monospace; text-decoration:none;
    transition:gap .2s;
  }
  .read-btn:hover { gap:.7rem; }
  .read-btn i { font-size:.65rem; }

  /* ── YAZI KARTLARI GRID ── */
  .posts-wrap {
    max-width: min(94vw, 1800px); margin:0 auto;
    padding:0 clamp(1.5rem,5vw,4rem) 0;
  }
  .posts-result {
    font-size:.76rem;
    font-family:'JetBrains Mono', monospace;
    color:var(--text3);
    text-transform:uppercase;
    letter-spacing:.08em;
    margin-bottom:.8rem;
  }
  .timeline-list {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: .9rem;
    padding-left: 1.15rem;
  }
  .timeline-list::before {
    content: "";
    position: absolute;
    left: .28rem;
    top: .35rem;
    bottom: .35rem;
    width: 2px;
    background: linear-gradient(to bottom, rgba(var(--primary-rgb), .55), rgba(124,58,237,.2));
  }
  .post-card {
    background:var(--card); border:1px solid var(--border); border-radius:14px;
    overflow:hidden; display:flex; flex-direction:column;
    transition:transform .2s, border-color .2s, box-shadow .2s;
    animation:fadeUp .5s both; text-decoration:none;
  }
  .timeline-card {
    position: relative;
    display: block;
    margin-left: .35rem;
    padding: .95rem 1rem;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: var(--card);
    text-decoration: none;
    transition: transform .2s, border-color .2s;
  }
  .timeline-card::before {
    content: "";
    position: absolute;
    left: -1.15rem;
    top: 1.15rem;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--accent);
    border: 3px solid var(--bg1);
    box-shadow: 0 0 0 4px rgba(var(--primary-rgb), .1);
  }
  .timeline-card.is-locked::before {
    background: #64748b;
  }
  .timeline-card:hover {
    transform: translateY(-2px);
    border-color: rgba(var(--primary-rgb), .26);
  }
  .timeline-card.is-locked:hover {
    transform: none;
    border-color: var(--border);
  }
  .timeline-period {
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    font-size:.62rem;
    font-family:'JetBrains Mono', monospace;
    text-transform:uppercase;
    letter-spacing:.07em;
    color:var(--accent);
    margin-bottom:.35rem;
  }
  .timeline-card.is-locked .timeline-period {
    color: var(--text3);
  }
  .timeline-title {
    font-size: .92rem;
    font-weight: 800;
    color: var(--text1);
    margin-bottom: .3rem;
    line-height: 1.35;
  }
  .timeline-excerpt {
    font-size: .76rem;
    line-height: 1.58;
    color: var(--text2);
  }
  .timeline-status {
    margin-top: .7rem;
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    font-size:.62rem;
    font-family:'JetBrains Mono', monospace;
    color: var(--text3);
    text-transform: uppercase;
    letter-spacing: .06em;
  }
  .post-card:nth-child(1){animation-delay:.05s} .post-card:nth-child(2){animation-delay:.1s}
  .post-card:nth-child(3){animation-delay:.15s} .post-card:nth-child(4){animation-delay:.2s}
  .post-card:nth-child(5){animation-delay:.25s} .post-card:nth-child(6){animation-delay:.3s}
  .post-card:hover { transform:translateY(-4px); border-color:rgba(0,212,255,.25); box-shadow:0 12px 40px rgba(0,0,0,.3); }
  .post-card.is-locked {
    opacity:.82;
    cursor:default;
  }
  .post-card.is-locked:hover {
    transform:none;
    border-color:var(--border);
    box-shadow:none;
  }

  .post-body { padding:1.2rem; flex:1; display:flex; flex-direction:column; gap:.6rem; }
  .post-title { font-size:clamp(.88rem,1.05vw,1.05rem); font-weight:700; color:var(--text); line-height:1.4; }
  .post-excerpt { font-size:.78rem; color:var(--text2); line-height:1.6; flex:1; }
  .post-footer { display:flex; align-items:center; justify-content:space-between; padding-top:.7rem; border-top:1px solid var(--border2); margin-top:.3rem; }

  .posts-empty {
    margin-top:1rem;
    padding:2rem 1.25rem;
    border:1px dashed var(--border);
    border-radius:18px;
    text-align:center;
    background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.01));
  }
  .posts-empty-icon {
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    margin:0 auto .75rem;
    border-radius:16px;
    color:var(--accent);
    background:rgba(var(--primary-rgb), .1);
    border:1px solid rgba(var(--primary-rgb), .2);
  }
  .posts-empty-title {
    font-size:1rem;
    font-weight:800;
    color:var(--text1);
    margin-bottom:.35rem;
  }
  .posts-empty-sub {
    font-size:.82rem;
    line-height:1.6;
    color:var(--text2);
  }

  @media(max-width:1000px){
    .editorial-stage{grid-template-columns:1fr;}
  }
  @media(max-width:760px){
    .blog-hero-stats{grid-template-columns:1fr;}
  }
  @media(max-width:600px){
    .editorial-main,
    .editorial-side{padding:1rem;}
    .timeline-list{padding-left:.95rem;}
  }

  @media(max-width:768px){
    html, body { overflow-x:hidden; }
    .page-wrap{width:100%;padding-bottom:4.5rem;}
    .blog-hero{
      min-height:min(100svh, 720px);
      padding:clamp(4.8rem,12vh,6rem) 1rem clamp(5.4rem,12vh,6.5rem);
    }
    .blog-hero-content{max-width:100%;}
    .blog-eyebrow{font-size:.62rem;padding:.34rem .72rem;margin-bottom:1rem;}
    .blog-hero-title{font-size:clamp(2rem,9vw,2.75rem);line-height:1.08;letter-spacing:-.035em;}
    .blog-hero-sub{font-size:.92rem;line-height:1.62;margin-bottom:1.2rem;}
    .blog-hero-stats{grid-template-columns:1fr;max-width:360px;}
    .scroll-down-btn{bottom:calc(44px + env(safe-area-inset-bottom,0px)) !important;}
    .editorial-stage{padding:1.1rem 1rem 0;gap:1rem;}
    .posts-wrap{padding-inline:1rem;}
    .featured-content{padding:1rem;}
    .featured-title{font-size:1.08rem;}
    .featured-footer,.post-footer{align-items:flex-start;}
    .timeline-card{margin-left:.2rem;padding:.9rem;}
  }

  @media(max-width:380px),(max-height:700px) and (max-width:768px){
    .blog-hero{padding-top:4rem;padding-bottom:4.8rem;}
    .blog-hero-title{font-size:clamp(1.75rem,8vw,2.25rem);}
    .blog-hero-sub{font-size:.84rem;}
    .blog-stat-card{padding:.65rem .75rem;}
  }
  
