/* ============================================================
   responsive-design.css — Çok ekranlı uyumluluk
   Breakpoint'ler cihaz adımlarına göre (içerik odaklı):
   1024px (tablet yatay/nav) · 860px (tablet dikey) · 640px (büyük telefon)
   480px (telefon) · 360px (küçük telefon) · yatay telefon · dokunmatik hedefler
   ============================================================ */

/* ---- ≤1024px: Tablet yatay / küçük laptop — navbar hamburger'a düşer ---- */
@media (max-width: 1024px) {
  .menu-toggle { display: flex; }
  .nav-links {
    position: fixed; top: var(--nav-h); inset-inline: 0;
    flex-direction: column; gap: 2px; padding: 16px 4%;
    background: var(--bg); border-bottom: 1px solid var(--border);
    box-shadow: var(--shadow-lg);
    transform: translateY(-12px); opacity: 0; visibility: hidden;
    transition: transform .3s var(--ease-out), opacity .3s, visibility .3s;
    max-height: calc(100svh - var(--nav-h)); overflow-y: auto;
  }
  .nav-links.is-open { transform: none; opacity: 1; visibility: visible; }
  .nav-link { display: block; padding: 14px; font-size: 1rem; }
  .nav-link::after { display: none; }
  .nav-link.is-active { background: var(--surface-2); border-radius: 10px; }

  .skills-grid { grid-template-columns: repeat(2, 1fr); }
  .projects-grid, .certs-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ---- ≤860px: Tablet dikey — tek kolon ana yerleşimler ---- */
@media (max-width: 860px) {
  .hero-inner { grid-template-columns: 1fr; gap: 44px; }
  .hero-card { max-width: 520px; }
  .hero-watermark { font-size: 26vw; }
  .about-grid, .contact-grid { grid-template-columns: 1fr; gap: 36px; }
  .contact-info { order: -1; } /* İletişimde önce direkt kanallar, sonra form */
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .about-stats { max-width: 480px; }
}

/* ---- ≤640px: Büyük telefon / phablet ---- */
@media (max-width: 640px) {
  .section { padding: 72px 0; }
  .section-head { margin-bottom: 36px; }

  .hero { min-height: auto; padding-top: calc(var(--nav-h) + 40px); padding-bottom: 80px; }
  .hero-cta { flex-direction: column; }
  .hero-cta .btn { width: 100%; }
  .hero-badge-a { inset-inline-start: 0; }
  .hero-badge-b { inset-inline-end: 0; }
  .scroll-hint { display: none; }
  .terminal-body { font-size: .78rem; padding: 16px; }

  .skills-grid, .projects-grid, .certs-grid { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
  .contact-form { padding: 24px; }
  .footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
  .timeline { padding-inline-start: 28px; }
  .timeline-item::before { inset-inline-start: -26px; }

  .filter-bar { flex-direction: column; align-items: stretch; }
  .filter-search { min-width: 0; }
  .filter-sort { width: 100%; }
}

/* ---- ≤480px: Telefonlar (iPhone Pro Max, Pixel, Galaxy S serisi) ---- */
@media (max-width: 480px) {
  .container { width: 94%; }
  .hero-title { font-size: clamp(2.2rem, 11vw, 3rem); }
  .hero-intro { font-size: .98rem; }
  .hero-badge { padding: 7px 14px; font-size: .78rem; }
  .about-stats { grid-template-columns: 1fr 1fr; gap: 12px; }
  .stat { padding: 20px 16px; }
  .stat strong { font-size: 1.7rem; }
  .contact-form { padding: 20px 16px; }
  .social-row a { width: 46px; height: 46px; } /* dokunma hedefi büyüt */
  .project-body { padding: 18px; }
  .timeline-card { padding: 20px; }
  .footer { padding: 48px 0 24px; }
}

/* ---- ≤360px: Küçük telefonlar (iPhone SE, Galaxy A serisi) ---- */
@media (max-width: 360px) {
  .brand-name { display: none; }
  .about-stats { grid-template-columns: 1fr; }
  .lang-btn { padding: 8px; }
  .hero-cta .btn { padding: 13px 20px; font-size: .9rem; }
  .interest-chips li { font-size: .8rem; padding: 6px 12px; }
}

/* ---- Yatay telefon: yükseklik kısıtlı, hero'yu sıkıştır ---- */
@media (max-height: 500px) and (orientation: landscape) {
  .hero { min-height: auto; padding-top: calc(var(--nav-h) + 32px); padding-bottom: 48px; }
  .hero-inner { grid-template-columns: 1.2fr .8fr; gap: 28px; }
  .hero-card { display: none; } /* Yatay telefonda dekoratif kart yer kaplamasın */
  .scroll-hint { display: none; }
  .section { padding: 56px 0; }
  .nav-links { max-height: calc(100svh - var(--nav-h)); overflow-y: auto; }
}

/* ---- Dokunmatik cihazlar: tüm etkileşim hedefleri ≥44px ---- */
@media (hover: none) and (pointer: coarse) {
  .lang-btn { padding: 12px 13px; min-height: 44px; }
  .menu-toggle { padding: 14px; } /* 16px ikon + 28px padding = 44px dokunma hedefi */
  .filter-chip { min-height: 44px; }
  .btn { min-height: 48px; }
  .project-links a { padding: 12px 0; }
  /* Dokunmatikte hover yerine aktif durum geri bildirimi */
  .btn:active { transform: scale(.96); }
}

/* ---- Hareket azaltma: animasyonları neredeyse tamamen kapat ---- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  .reveal { opacity: 1; transform: none; }
  .skill-card .skill-bar span { width: var(--level); }
  .marquee-track { animation: none; }
}