/* =========================================================
   HIZLI KEMER — blog sayfalarının stilleri
   ---------------------------------------------------------
   NEDEN AYRI BİR DOSYA
   Ana sayfanın CSS'i (css/tailwind.css) index.html'deki
   sınıflara bakılarak ÜRETİLİYOR. Blog sayfasında yeni bir
   Tailwind sınıfı kullansaydık dosyada karşılığı olmaz ve
   stil sessizce çalışmazdı. Blog bu yüzden kendi ayakları
   üstünde duruyor.

   Renkler css/renkler.css dosyasından geliyor; o dosyayı
   panel üretiyor, yani Ayarlar'dan marka rengini değiştirince
   blog da kendiliğinden değişir.
   ========================================================= */

/* --- Sıfırlama (yalnız gerekenler) --------------------- */
*, *::before, *::after { box-sizing: border-box; }

body {
  margin: 0;
  font-family: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;
  color: #0A0A0A;
  background: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
}

img { max-width: 100%; height: auto; display: block; }
a   { color: inherit; }

h1, h2, h3, p, ul, figure { margin: 0; }
ul { padding: 0; list-style: none; }

/* Ana sayfadaki yumuşak kaydırmanın aynısı */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { animation: none !important; transition: none !important; }
}

/* --- Ortak kolon --------------------------------------- */
.blog-kolon {
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
  padding-left: 16px;
  padding-right: 16px;
}
@media (min-width: 1024px) {
  .blog-kolon { padding-left: 60px; padding-right: 60px; }
}

/* Klavye kullanıcıları için menüyü atlama bağlantısı */
.blog-atla {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 100;
  padding: 12px 18px;
  background: #0A0A0A;
  color: #fff;
  font-weight: 800;
  border-radius: 0 0 10px 0;
  text-decoration: none;
}
.blog-atla:focus { left: 0; }

/* --- Üst menü ------------------------------------------ */
.blog-ust {
  position: sticky;
  top: 0;
  z-index: 30;
  background: rgba(255, 255, 255, .96);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid #ECECEC;
}
.blog-ust-ic {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-top: 12px;
  padding-bottom: 12px;
}
@media (min-width: 1024px) {
  .blog-ust-ic { padding-top: 18px; padding-bottom: 18px; }
}

.blog-logo { flex: none; text-decoration: none; }
.blog-logo img { height: 30px; width: auto; }
@media (min-width: 1024px) { .blog-logo img { height: 34px; } }

.blog-menu {
  display: none;
  align-items: center;
  gap: 26px;
  margin-left: auto;
  font-size: 15px;
  font-weight: 600;
  color: #3A3A3A;
}
@media (min-width: 900px) { .blog-menu { display: flex; } }

.blog-menu a { text-decoration: none; transition: color .12s; }
.blog-menu a:hover { color: #0A0A0A; }
.blog-menu a[aria-current="page"] { color: #0A0A0A; font-weight: 800; }

/* Dar ekranda menü gizlenince düğme sağa yaslansın */
.blog-cta {
  margin-left: auto;
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 18px;
  border-radius: 10px;
  background: var(--kk-accent, #FF570C);
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color .12s;
}
@media (min-width: 900px) { .blog-cta { margin-left: 0; } }
.blog-cta:hover { background: var(--kk-accent-hover, #C74409); }

.blog-cta-buyuk {
  margin-left: 0;
  padding: 15px 26px;
  font-size: 15px;
}

/* --- Sayfa girişi -------------------------------------- */
.blog-giris { padding-top: 44px; padding-bottom: 28px; }
@media (min-width: 1024px) { .blog-giris { padding-top: 72px; padding-bottom: 40px; } }

.blog-giris h1 {
  font-size: 32px;
  line-height: 1.15;
  letter-spacing: -.02em;
  font-weight: 800;
}
@media (min-width: 1024px) { .blog-giris h1 { font-size: 46px; } }

.blog-giris-yazi {
  max-width: 640px;
  padding-top: 12px;
  font-size: 16px;
  line-height: 1.65;
  color: #5A5A5A;
}

/* --- Kart ızgarası ------------------------------------- */
.blog-izgara {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
  padding-bottom: 56px;
}
@media (min-width: 640px)  { .blog-izgara { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .blog-izgara { grid-template-columns: repeat(3, 1fr); gap: 28px; } }

.blog-kart {
  border: 1px solid #ECECEC;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  transition: border-color .15s, transform .15s, box-shadow .15s;
}
.blog-kart:hover {
  border-color: #D8D8D8;
  transform: translateY(-2px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .07);
}

.blog-kart-bag {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
}

.blog-kart-gorsel { aspect-ratio: 16 / 9; background: #F4F4F4; overflow: hidden; }
.blog-kart-gorsel img { width: 100%; height: 100%; object-fit: cover; }

/* Kapak yoksa boş gri kutu yerine markanın açık tonu */
.blog-kart-gorselsiz { background: var(--kk-accent-soft, #FFF3EE); }

.blog-kart-ic {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 18px 18px 20px;
  flex: 1;
}

.blog-kart-ust {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  color: #8A8A8A;
}

.blog-etiket {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--kk-accent-soft, #FFF3EE);
  border: 1px solid var(--kk-accent-line, #FFDDCE);
  color: var(--kk-accent-text, #AD3B08);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.blog-kart-baslik {
  font-size: 18px;
  line-height: 1.3;
  letter-spacing: -.01em;
  font-weight: 800;
}

.blog-kart-ozet {
  font-size: 14px;
  line-height: 1.6;
  color: #5A5A5A;
}

.blog-kart-devam {
  margin-top: auto;
  padding-top: 6px;
  font-size: 13px;
  font-weight: 800;
  color: var(--kk-accent-text, #AD3B08);
}

/* --- Tek yazı ------------------------------------------ */
.blog-yazi {
  max-width: 760px;
  padding-top: 28px;
  padding-bottom: 40px;
}
@media (min-width: 1024px) { .blog-yazi { padding-top: 44px; } }

.blog-yol {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-bottom: 22px;
  font-size: 13px;
  color: #8A8A8A;
}
.blog-yol a { text-decoration: none; }
.blog-yol a:hover { color: #0A0A0A; text-decoration: underline; }

.blog-yazi-ust {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 14px;
  font-size: 13px;
  color: #8A8A8A;
}

.blog-yazi h1 {
  font-size: 30px;
  line-height: 1.2;
  letter-spacing: -.02em;
  font-weight: 800;
}
@media (min-width: 1024px) { .blog-yazi h1 { font-size: 40px; } }

.blog-yazi-ozet {
  padding-top: 14px;
  font-size: 17px;
  line-height: 1.65;
  color: #5A5A5A;
}

.blog-yazi-kapak {
  margin-top: 28px;
  border-radius: 14px;
  overflow: hidden;
  background: #F4F4F4;
}
.blog-yazi-kapak img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }

/* --- Yazının gövdesi ----------------------------------- */
.blog-govde {
  padding-top: 30px;
  font-size: 16.5px;
  line-height: 1.8;
  color: #1F1F1F;
}
.blog-govde p { padding-bottom: 18px; }

.blog-govde h2 {
  padding-top: 16px;
  padding-bottom: 10px;
  font-size: 22px;
  line-height: 1.3;
  letter-spacing: -.01em;
  font-weight: 800;
  color: #0A0A0A;
}
@media (min-width: 1024px) { .blog-govde h2 { font-size: 25px; } }

.blog-govde b { font-weight: 800; }

.blog-madde { padding: 0 0 18px 4px; }
.blog-madde li {
  position: relative;
  padding-left: 22px;
  padding-bottom: 8px;
}
.blog-madde li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 12px;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--kk-accent, #FF570C);
}

/* --- Yazı sonundaki ürün kutusu ------------------------ */
.blog-urun-kutu {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 34px;
  padding: 24px;
  border: 1px solid var(--kk-accent-line, #FFDDCE);
  background: var(--kk-accent-soft, #FFF3EE);
  border-radius: 14px;
}
@media (min-width: 640px) {
  .blog-urun-kutu { flex-direction: row; align-items: center; justify-content: space-between; gap: 24px; }
}
.blog-urun-baslik { font-size: 17px; font-weight: 800; letter-spacing: -.01em; }
.blog-urun-kutu p { padding-top: 6px; font-size: 14px; line-height: 1.6; color: #5A5A5A; }

/* --- Diğer yazılar ------------------------------------- */
.blog-diger { padding-top: 18px; }
.blog-diger h2 {
  padding-bottom: 20px;
  font-size: 20px;
  letter-spacing: -.01em;
  font-weight: 800;
}

/* --- Boş durum / 404 ----------------------------------- */
.blog-bos {
  padding-top: 70px;
  padding-bottom: 90px;
  text-align: center;
}
.blog-bos h1, .blog-bos h2 {
  font-size: 26px;
  letter-spacing: -.02em;
  font-weight: 800;
}
.blog-bos p {
  padding: 10px 0 24px;
  font-size: 15px;
  line-height: 1.65;
  color: #5A5A5A;
}

/* --- Alt bilgi ----------------------------------------- */
.blog-alt {
  margin-top: 20px;
  border-top: 1px solid #ECECEC;
  background: #FAFAFA;
}
.blog-alt-ic {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding-top: 34px;
  padding-bottom: 26px;
}
@media (min-width: 768px) {
  .blog-alt-ic { flex-direction: row; justify-content: space-between; gap: 40px; }
}

.blog-alt-ad { font-size: 15px; font-weight: 800; letter-spacing: -.01em; }
.blog-alt-satir { padding-top: 5px; font-size: 13px; line-height: 1.6; color: #5A5A5A; }

.blog-alt-baglanti {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 22px;
  font-size: 13px;
  font-weight: 700;
  color: #3A3A3A;
}
.blog-alt-baglanti a { text-decoration: none; }
.blog-alt-baglanti a:hover { color: #0A0A0A; text-decoration: underline; }

.blog-telif {
  padding-top: 14px;
  padding-bottom: 26px;
  border-top: 1px solid #ECECEC;
  font-size: 12px;
  color: #8A8A8A;
}

/* --- Odak halkası (klavye) ----------------------------- */
a:focus-visible, button:focus-visible {
  outline: 2px solid var(--kk-accent, #FF570C);
  outline-offset: 2px;
  border-radius: 6px;
}

/* --- Yazı içindeki fotoğraf ----------------------------
   Panelin "Fotoğraf ekle" düğmesi yazının metnine
   [foto: assets/... | açıklama] satırı koyuyor; sayfa onu
   burada biçimlendirilen bir resme çeviriyor.

   Fotoğraf KIRPILMIYOR: yatay da dikey de yüklenebilsin diye
   yüksekliği serbest bırakıldı, yalnızca çok uzun dikey
   kareler için üst sınır kondu.
   ------------------------------------------------------- */
.blog-foto {
  margin: 8px 0 26px;
}
.blog-foto img {
  width: 100%;
  max-height: 720px;
  object-fit: contain;
  border-radius: 12px;
  background: #F4F4F4;
}
.blog-foto figcaption {
  padding-top: 10px;
  font-size: 13.5px;
  line-height: 1.6;
  color: #8A8A8A;
  text-align: center;
}
