@import url('https://fonts.cdnfonts.com/css/harlow-solid-italic');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@500;600;700&display=swap');

/* Screen reader only text */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Çok dar ekranlar için ekstra sıkılaştırma */
@media (max-width: 360px) {
  .contact {
    margin-left: 0.4rem !important;
    margin-right: 0.4rem !important;
    padding-left: 0.6rem;
    padding-right: 0.6rem;
  }
}

/* Focus styles for better accessibility */
*:focus {
  outline: 2px solid #0077cc;
  outline-offset: 2px;
}

/* Skip to main content link */
.skip-link {
  position: absolute;
  top: -40px;
  left: 6px;
  background: #0077cc;
  color: white;
  padding: 8px;
  text-decoration: none;
  border-radius: 4px;
  z-index: 1000;
}

.skip-link:focus {
  top: 6px;
}

body {
  font-family: 'Times New Roman', Times, serif;
  background: #ffffff;
  color: #111;
  margin: 0;
  padding: 0;
}
nav {
  box-shadow: 0 2px 3px rgba(0,0,0,1);
  padding: 1rem 0;
}
nav ul {
  list-style: none;
  display: flex;
  justify-content: center;
  margin: 0;
  padding: 0;
}
nav ul li {
  margin: 0 1.5rem;
}
nav ul li a {
  text-decoration: none;
  color: #0f172a;
  font-weight: 600;
  transition: color 0.2s;
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  font-style: normal;
  letter-spacing: 0.2px;
  font-size: 1.05rem;
  padding: 0.5rem 1rem;
  opacity: 1;
  border-radius: 4px;
  display: inline-block;
}
nav ul li a:hover {
  color: #2563eb;
  background: rgba(37, 99, 235, 0.08);
}
header {
  max-width: 320px;
  margin: 2rem auto;
  padding: 0 1rem;
}
h1 {
  font-family: 'Harlow Solid Italic', cursive;
  font-style: italic;
  font-size: 60px;
  text-align: center;
  color: #222;
}
h1, h2, h3, h4, h5, h6, p, li, label, input, textarea {
  text-align: center;
}

/* Utility: italic'ı kapatmak için */
.no-italic {
  font-style: normal !important;
}
ul, ol {
  text-align: left;
  margin: 0 auto;
  display: table;
}

ul li, ol li {
  text-align: left;
  display: list-item;
}
.stories-list ul {
  padding-left: 1.2rem;
}
.stories-list li {
  margin-bottom: 0.7rem;
}
.about, .contact, .story {
  background: rgba(255,255,255,0.25);
  box-shadow: 0 6px 24px 0 rgba(31,38,135,1);
  backdrop-filter: blur(8px);
  border-radius: 16px;
  padding: 2rem;
  margin-top: 2rem;
}
/* Hakkımda kısa metni: biraz daha aşağı al */
.about-intro {
  margin-top: 1.75rem; /* sadece ek boşluk, stil .story-subtitle'dan gelir */
}

/* About intro metni: altbaşlıktan %20 daha büyük */
.about-intro.story-subtitle {
  font-size: calc(0.95rem * 1.25);
}
form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
input, textarea {
  padding: 0.7rem;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 1rem;
  min-height: 44px;
}
button {
  background: #0077cc;
  color: #fff;
  border: none;
  padding: 0.8rem 1.5rem;
  border-radius: 4px;
  font-size: 1rem;
  cursor: pointer;
  transition: background 0.2s;
  opacity: 0.5;
  min-height: 44px;
  min-width: 44px;
}
button:hover {
  background: #005fa3;
}
p, li, label, input, textarea, .about, .contact, .story {
  font-style: italic;
  font-size: 1.25rem;
  font-weight: bold;
}
body, h1, h2, h3, h4, h5, h6, nav, p, li, label, input, textarea, .about, .contact, .story {
  font-family: 'Palatino Linotype', Palatino, serif;
  font-style: italic;
}
h1, h2, h3, h4, h5, h6, p, li, label {
  text-shadow: 0 1px 2px rgba(0,0,0,0.18);
}
.glass-box {
  background: rgba(255,255,255,0.25);
  box-shadow: 0 8px 25px 0 rgba(0,0,0,1), 0 5px 12px 0 rgba(0,0,0,1), 0 2px 6px 0 rgba(0,0,0,1), 0 1px 3px 0 rgba(0,0,0,1);
  backdrop-filter: blur(8px);
  border-radius: 16px;
  padding: 2rem;
  margin-top: 2rem;
}
.gradient-text {
  color: #222;
  font-weight: bold;
}
.special-message {
  color: #111;
  text-shadow: 0 2px 6px rgba(0,0,0,0.12);
  font-weight: 600;
  font-size: 1.15rem;
}
.story-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 2.75rem;
  justify-items: center;
  align-items: stretch;
  margin-top: 2rem;
  padding-bottom: 1rem;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  justify-content: center;
}
.story-cover-large {
  width: 227px; /* +%5 (216px -> 227px) */
  max-width: 227px;
  height: 341px; /* 2:3 oran korunarak ~227*1.5 */
  object-fit: cover;
  object-position: center;
  border-radius: 14px;
  box-shadow: 0 12px 30px rgba(0,0,0,0.911), 0 6px 15px rgba(0,0,0,0.774), 0 3px 8px rgba(0,0,0,0.654), 0 2px 5px rgba(0,0,0,0.516), 0 1px 2px rgba(0,0,0,0.395);
  transition: transform 0.2s, box-shadow 0.2s;
  display: block;
}

/* Ters Doğum özel boyutları kaldırıldı */
.story-cover-large:hover {
  transform: scale(1.06) translateY(-4px);
  box-shadow: 0 15px 36px rgba(0,0,0,1.031), 0 9px 18px rgba(0,0,0,0.911), 0 5px 9px rgba(0,0,0,0.774), 0 2px 6px rgba(0,0,0,0.654), 0 1px 3px rgba(0,0,0,0.516);
}
.story-card {
  /* Görsel üstte; altında .story-meta tek satır; grid satırları ile düzen */
  display: grid;
  grid-template-columns: 1fr;
  grid-auto-rows: auto;
  justify-content: center;
  justify-items: center;
  align-items: center;
  row-gap: 0.5rem;
  margin-bottom: 1.5rem;
  box-sizing: border-box;
  height: 100%;
  min-height: 314px;
  width: 85%;
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.story-date {
  margin-top: 0.7rem;
  font-size: 1.1rem;
  color: #222;
  font-style: italic;
  text-align: center;
  letter-spacing: 0.01em;
}
.story-title {
  margin-top: 0.7rem;
  font-size: 1.1rem;
  font-weight: bold;
  color: #222;
  text-align: center;
  letter-spacing: 0.01em;
  line-height: 1.3;
  word-wrap: break-word;
  hyphens: auto;
  text-shadow: 0 1px 2px rgba(0,0,0,0.22);
  margin-bottom: 0.3rem;
}
.story-subtitle {
  margin-top: 0.3rem;
  font-size: 0.95rem;
  color: #222;
  text-align: center;
  letter-spacing: 0.01em;
  font-style: italic;
  line-height: 1.3;
  word-wrap: break-word;
  hyphens: auto;
}
/* Altbaşlık link stili: renk miras alsın, hover/focus'ta altı çizilsin */
.story-subtitle a {
  color: inherit;
  text-decoration: none;
}
.story-subtitle a:hover,
.story-subtitle a:focus {
  text-decoration: underline;
}

/* Görsel ve altındaki satırlar */
.story-card > a { grid-column: 1 / -1; }
.story-card .audio-link { grid-column: 1 / -1; }

/* Başlık + altbaşlığı tutarlı şekilde yatay hizalayan kapsayıcı */
.story-meta {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column; /* dikey hizalama */
  justify-content: center;
  align-items: center;
  gap: 0.5rem; /* başlık-altbaşlık arası boşluk artırıldı */
  max-width: 100%;
  margin: 0 auto;
  text-align: center;
}
.story-meta .story-title,
.story-meta .story-subtitle {
  margin: 0;
  white-space: normal; /* satır kırılmasına izin ver */
  overflow: visible;
  text-overflow: clip;
  line-height: 1.3;
  max-width: none;
}
.contact label {
  color: #222;
  font-style: normal !important; /* iletişim formu başlıklarını non-italic yap */
}
.stories-list.glass-box {
  max-width: 700px;
  width: auto;
  margin-left: auto;
  margin-right: auto;
  border-radius: 24px;
}


main {
  max-width: none;
  margin: 0;
  padding: 0;
}

/* Hakkımda ve İletişim sayfaları için main stili */
main:not(.stories-list) {
  max-width: 875px; /* +%25 genişletildi */
  margin: 2rem auto;
  padding: 0 1rem;
}

/* Anasayfada header'dan hemen sonra gelen main'in üst boşluğunu kaldır */
.site-header + main {
  margin-top: 0 !important;
}

/* İletişim sayfasındaki giriş metnini normal ekranlarda 50px aşağı al */
.about-intro {
  margin-top: 50px;
}


  .stories-list {
    max-width: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
  }
@media (max-width: 600px) {
  html, body {
    overflow-x: hidden; /* sayfa genelinde yatay kaydırmayı engelle */
  }
  header {
    padding: 0 0.5rem;
    max-width: 288px;
    margin: 2rem auto;
  }
  
  main:not(.stories-list) {
    padding: 0 0.2rem; /* ekranla container arası çok az */
    max-width: none;   /* daraltmayı kaldır */
    width: 100%;
    margin: 1.5rem auto;
  }
  /* Mobilde de header'dan sonra boşluğu kaldır */
  .site-header + main {
    margin-top: 0 !important;
  }
  /* İletişim sayfasındaki giriş metnini 10px aşağı al */
  .about-intro {
    margin-top: 50px !important;
  }
  .about, .contact, .story {
    padding: 1rem;
  }
  /* Dar ekranlarda iletişim kutusunun yan boşluklarını azalt */
  .contact {
    margin-left: 0.25rem !important;
    margin-right: 0.25rem !important;
    width: auto;
    max-width: none;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
  h1 {
    color: #444;
    font-size: 48px;
  }
  .gradient-text {
    color: #444;
    font-size: 48px;
  }
  nav ul li a {
    color: #0077cc;
  }
  nav ul li a:hover {
    color: #005fa3;
  }
  .story-grid {
    display: flex; /* grid yerine yatay flex */
    flex-direction: row;
    flex-wrap: nowrap; /* önceki hali: tek satır, kaydırmalı */
    overflow-x: auto; /* yatay kaydırma açık */
    gap: 0; /* overlap için boşluğu kaldır */
    padding: 0 0.75rem; /* kenarlara az boşluk */
    justify-content: flex-start; /* sol hizala */
    scroll-snap-type: x proximity; /* karta yakın kaydırma */
    overscroll-behavior-x: contain; /* yatay scroll'un body'ye taşmasını engelle */
    max-width: 100%;
    margin-top: 1rem; /* header ile kartlar arasında boşluk bırak */
  }
  .stories-list {
    max-width: 100%;
    overflow-x: hidden; /* kapsayıcıdan taşmayı gizle */
  }
  .story-cover-large {
    width: 120px;
    height: 170px;
  }
  .story-card {
    min-height: 247px;
    padding: 1.8rem 0.9rem;
    width: auto;            /* kart genişliğini içeriğe göre bırak */
    min-width: 150px;       /* her kartın minimum genişliği */
    position: relative;     /* z-index için gerekli */
    scroll-snap-align: start; /* opsiyonel: kart başlangıcına hizala */
    padding-top: 25%; /* Üste %25 padding (genişliğe göre) */
  }
  /* 2. karttan itibaren tüm kartları üst üste bindir (kitap etkisi) */
  .story-card:nth-child(n+2) {
    margin-left: -16%;
  }
  /* ilk kart normal hizada kalsın */
  .story-card:first-child { margin-left: 0; }
  /* Hover/odak anında kart üstte görünsün */
  .story-card:hover,
  .story-card:focus-within {
    z-index: 2;
  }
  /* Kartları farklı yüksekliklerde göstererek altbaşlık çakışmasını azalt */
  .story-card { margin-top: 0; }
  .story-card:nth-child(3n+1) { margin-top: 0; }
  .story-card:nth-child(3n+2) { margin-top: 16px; }
  .story-card:nth-child(3n)   { margin-top: 32px; }
  /* Spesifik: 4. kart (Sonsuzluğun Fısıltıları) biraz aşağıda olsun */
  .story-card:nth-child(4) { margin-top: 24px; }
  /* Spesifik: 5. kart (Aether'ın Yankıları) biraz yukarıda olsun */
  .story-card:nth-child(5) { margin-top: 8px; }
  .story-title {
    font-size: 1rem;
    line-height: 1.3;
    word-wrap: break-word;
    hyphens: auto;
    max-width: 18ch;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  /* Başlık ve altbaşlığı gizle (mobil) */
  .story-meta {
    display: flex; /* mobilde altbaşlığı göstermek için görünür yap */
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  /* Mobilde sadece başlığı gizle, altbaşlık görünsün */
  .story-title { display: none; }
  .story-card .story-subtitle {
    font-size: 0.85rem;
    line-height: 1.4; /* çakışmayı önlemek için biraz artırıldı */
    overflow-wrap: anywhere; /* kelimeleri güvenli şekilde sar */
    word-break: normal; /* harflerin parçalanmasını önle */
    hyphens: auto;
    max-width: 24ch;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2; /* 2 satırda kes */
    line-clamp: 2; /* standard tanım */
    white-space: normal; /* çok satıra izin ver */
  }
  /* Özel: 3 satırlık altbaşlık (örn. Bir / Varoluş / Hikayesi) */
  .story-card .story-subtitle.subtitle-3lines {
    -webkit-line-clamp: 3;
    line-clamp: 3;
  }
  /* Mobilde about intro: altbaşlıktan %20 daha büyük */
  .about-intro.story-subtitle {
    font-size: calc(0.85rem * 1.25);
    /* Altbaşlık için uygulanan kısaltmayı kaldır, tam görünsün */
    max-width: none;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }
  .story-date {
    font-size: 0.9rem;
  }
  
  .bottom-spacer {
    height: 60px;
  }
} 
.about {
  max-width: 525px !important;
  margin: 4rem auto !important;
  border-radius: 24px !important;
}
header.glass-box {
  max-width: 320px !important;
  margin: 2rem auto !important;
  border-radius: 24px !important;
}

@media (max-width: 600px) {
  header.glass-box {
    max-width: 288px !important;
    margin: 2rem auto !important;
  }
} 
.contact {
  max-width: 875px !important; /* +%25 genişletildi */
  margin: 4rem auto !important;
  border-radius: 24px !important;
} 

.audio-link {
  margin-top: 0.5rem;
  text-align: center;
}

.audio-link a {
  color: #0077cc;
  text-decoration: none;
  font-size: 1.2rem;
  transition: color 0.2s, text-shadow 0.2s;
  text-shadow: 0 3px 12px rgba(0,0,0,0.583), 0 2px 6px rgba(0,0,0,0.495), 0 2px 3px rgba(0,0,0,0.418), 0 1px 1px rgba(0,0,0,0.33), 0 1px 0 rgba(255,255,255,0.8);
  opacity: 0.75;
  padding: 0.5rem;
  border-radius: 4px;
  display: inline-block;
}

.audio-link a:hover {
  color: #005fa3;
  text-shadow: 0 5px 15px rgba(0,0,0,0.66), 0 3px 9px rgba(0,0,0,0.583), 0 2px 5px rgba(0,0,0,0.495), 0 2px 3px rgba(0,0,0,0.418), 0 1px 1px rgba(0,0,0,0.33), 0 1px 0 rgba(255,255,255,0.9);
}

.audio-link {
  display: none;
}

.bottom-spacer {
  height: 100px;
  width: 100%;
}



/* Hikaye Görüntüleme Sayacı Stilleri */
.site-footer {
  width: 100%;
  max-width: 100%;
  margin: 2rem 0 0;
  padding: 0 1rem; /* dikey padding 0: sabit 30px için */
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: nowrap; /* yükseklik artmasın */
  box-sizing: border-box;
  color: #64748b; /* slate-500 benzeri, örneğe yakın gri */
  line-height: 1.4;
  position: static !important; /* mobilde sabitlenmesin */
  bottom: auto !important;
  top: auto !important;
  height: 30px;      /* sabit yükseklik */
  min-height: 30px;  /* güvence */
  overflow: hidden;  /* taşan içerik gizlensin */
}

/* Header görünümü footer ile aynı olsun */
.site-header {
  width: 100%;
  max-width: 100%;
  margin: 0 !important; /* genel header margin'ını ez */
  padding: 0 0.5rem; /* dikey padding 0: sabit yükseklik için */
  display: flex;
  justify-content: center; /* menü ortalansın */
  align-items: center;
  gap: 0.3rem;
  flex-wrap: nowrap; /* yükseklik artmasın */
  box-sizing: border-box;
  color: #64748b;
  line-height: 1.2;
  position: static !important; /* sticky/fixed olmasın */
  top: auto !important;
  height: 42px;       /* sabit yükseklik */
  min-height: 42px;   /* güvence */
  overflow: hidden;   /* taşan içerik görünmesin */
}

/* Override glass-box rounding for full-bleed footer */
.site-footer.glass-box {
  border-radius: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 0 1rem !important; /* dikey 0, yatay 1rem */
  box-shadow: 0 4px 12px rgba(0,0,0,0.05) !important; /* %5 gölge */
}

.site-header.glass-box {
  width: 100% !important;
  max-width: 100% !important;
  border-radius: 0 !important;
  margin: 0 !important; /* header.glass-box 2rem auto'yu tamamen bastır */
  /* Sabit 42px yükseklik için dikey padding 0 olmalı */
  padding: 0 0.5rem !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05) !important; /* %5 gölge */
}

.site-footer a {
  text-decoration: none;
  color: inherit; /* link rengi telif ile aynı */
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 400;
  letter-spacing: 0.2px;
}

.site-header a {
  text-decoration: none;
  color: inherit;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 400;
  letter-spacing: 0.2px;
}

/* Footer metinleri: italik ve bold kapalı; Arial; küçük boyut */
.site-footer, .site-footer a, .site-footer span {
  font-style: normal !important;
  font-weight: 400 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 0.85rem !important;
}

.site-header, .site-header a, .site-header span {
  font-style: normal !important;
  font-weight: 400 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 0.85rem !important; /* footer ile aynı boyutta */
}

.footer-links {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.site-footer a:hover {
  text-decoration: underline;
}

.site-header a:hover {
  text-decoration: underline;
}

/* Header brand (feather icon) */
.site-header .brand {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: inherit;
  height: 100%; /* header yüksekliğini doldur */
}
.site-header .brand i {
  font-size: 0.8rem; /* 42px içinde dengeli */
  line-height: 1; /* flex ile ortalanacak */
  opacity: 0.9;
  position: static; /* offset kaldır */
}

.site-footer .footer-sep {
  color: #64748b;
  opacity: 0.7;
}

@media (max-width: 600px) {
  .site-footer {
    padding: 0 0.5rem; /* mobilde de dikey padding 0 */
    gap: 0.5rem;
    flex-direction: row; /* mobilde de aynı satırda kalsın */
    align-items: center;
    flex-wrap: nowrap; /* yükseklik sabit kalsın */
    height: 30px;     /* mobilde de 30px */
    min-height: 30px;
  }
  .footer-links {
    margin-left: auto; /* linkleri sağa it */
  }

  .site-header {
    padding: 0 0.3rem; /* mobilde de dikey padding 0 */
    gap: 0.3rem;
    position: static !important; /* mobilde özellikle sabitlenmesin */
    top: auto !important;
    height: 42px;     /* mobilde de 42px */
    min-height: 42px;
  }
}

/* Header içindeki nav varsayılan nav stilini ezsin */
.site-header nav {
  box-shadow: none;
  padding: 0 !important; /* global nav padding'ini bastır */
  width: 100%;
  display: flex;
  justify-content: center;
  height: 100%; /* nav, header yüksekliğini doldursun */
}
.site-header nav ul {
  list-style: none;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 0;
  gap: 0.4rem;
  width: 100%; /* UL tam genişlikte olsun ki içerik net ortalansın */
  height: 100%; /* ul de header yüksekliğini doldursun */
  flex-wrap: nowrap; /* satır kayması olmasın */
}
.site-header nav ul li { margin: 0; }
.site-header nav ul li a {
  padding: 0; /* ekstra padding olmasın */
  background: transparent;
  font-size: 0.85rem; /* 42px için daha okunaklı */
  line-height: 1; /* sıkı */
  display: flex; /* flex ile dikey ortala */
  align-items: center;
  height: 100%; /* header yüksekliğini doldur */
  white-space: nowrap; /* metin tek satırda kalsın */
  position: relative; /* görsel hizalama için */
  top: 5px; /* 5px aşağı al */
}

/* Hikaye Görüntüleme Sayacı Stilleri */
.story-view-counter {
  margin-top: 0.5rem;
  text-align: center;
  font-size: 0.8rem;
  color: #0077cc;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  font-family: 'Palatino Linotype', Palatino, serif;
  font-style: italic;
  text-shadow: 0 1px 2px rgba(0,0,0,0.2);
}

.story-view-counter i {
  color: #0077cc;
  font-size: 0.9rem;
}

.story-view-counter span {
  font-weight: bold;
  color: #0077cc;
  font-size: 0.9rem;
}

/* Mobil için hikaye görüntüleme sayacı */
@media (max-width: 600px) {
  .story-view-counter {
    font-size: 0.7rem;
    margin-top: 0.4rem;
  }
  
  .story-view-counter i {
    font-size: 0.8rem;
  }
  
  .story-view-counter span {
    font-size: 0.8rem;
  }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
  body {
    background: #000;
    color: #fff;
  }
  
  .glass-box, .about, .contact, .story {
    background: #fff;
    color: #000;
    border: 2px solid #000;
  }
  
  .story-title, .story-subtitle, .story-date {
    color: #000;
  }
  
  nav ul li a {
    color: #000;
    background: #fff;
    border: 1px solid #000;
  }
  
  button {
    background: #000;
    color: #fff;
    border: 2px solid #fff;
  }
  
  input, textarea {
    background: #fff;
    color: #000;
    border: 2px solid #000;
  }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  
  .story-cover-large:hover {
    transform: none;
  }
}

/* Override: En sonda tekrar belirterek mobilde iletişim kutusu kenar boşluklarını kesin uygula */
@media (max-width: 600px) {
  .contact {
    margin-left: auto !important;  /* yatayda ortala */
    margin-right: auto !important; /* yatayda ortala */
    padding-left: 1.08rem !important;  /* +%20 artırıldı */
    padding-right: 1.08rem !important; /* +%20 artırıldı */
    width: 85%; /* +%5 daha daralt */
    box-sizing: border-box; /* padding genişlikten taşmasın, tam ortalansın */
  }
  /* Formu da kendi içinde ortala ve makul bir max genişlik ver */
  .contact form {
    width: 100%;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
  }
  main:not(.stories-list) {
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }
  /* Mobilde intro metnini de kutu gibi ortala ve genişliği kısıtla */
  .about-intro {
    width: 85%;
    max-width: 36rem;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    text-align: center;
  }
}

@media (max-width: 360px) {
  .contact {
    margin-left: auto !important;  /* yatayda ortala */
    margin-right: auto !important; /* yatayda ortala */
    padding-left: 0.9rem !important;   /* +%20 artırıldı */
    padding-right: 0.9rem !important;  /* +%20 artırıldı */
    width: 85%; /* +%5 daha daralt */
  }
}

/* Normal ekranlarda (tablet/desktop) sadece başlığı gizle, altbaşlık görünsün */
@media (min-width: 601px) {
  .story-meta { display: flex !important; }
  .story-title { display: none !important; }
}
