/* ==========================================================
   Çocuk Doktoru — tema üzerine küçük eklemeler (temanın CSS'i değiştirilmez)
   ========================================================== */

/* Bal küpü alanı (spam koruması) */
.site-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }

/* Form mesajları */
.form-messages { font-weight: 500; }
.form-messages.success { color: #12a150; }
.form-messages.error { color: #dc3545; }
.form-control.is-invalid, .form-select.is-invalid { border-color: #dc3545 !important; }
button.is-loading { opacity: .7; pointer-events: none; }

/* Randevu saat seçimi */
.site-slots { display: flex; flex-wrap: wrap; gap: 8px; min-height: 48px; align-items: center; }
.site-slots-hint { color: var(--body-color); font-size: 15px; }
.site-slot {
  border: 1px solid var(--th-border-color, #E0E0E0); background: #fff; color: var(--title-color);
  border-radius: 30px; padding: 7px 16px; font-weight: 600; font-size: 14px; transition: all .2s;
}
.site-slot:hover { border-color: var(--theme-color); color: var(--theme-color); }
.site-slot.active { background: var(--theme-color); border-color: var(--theme-color); color: #fff; }

/* Zengin metin (panelden gelen içerik) */
.site-richtext h2, .site-richtext h3, .site-richtext h4 { margin: 30px 0 14px; }
.site-richtext ul, .site-richtext ol { padding-left: 22px; margin-bottom: 20px; }
.site-richtext li { margin-bottom: 6px; }
.site-richtext img { max-width: 100%; height: auto; border-radius: 16px; }
.site-richtext blockquote { margin: 30px 0; }
.site-richtext a { color: var(--theme-color); text-decoration: underline; }
.site-richtext .ql-align-center { text-align: center; }
.site-richtext .ql-align-right { text-align: right; }
.site-richtext .ql-align-justify { text-align: justify; }

/* WhatsApp butonu */
.site-whatsapp {
  position: fixed; left: 24px; bottom: 24px; z-index: 99; width: 54px; height: 54px; border-radius: 50%;
  background: #25D366; color: #fff; display: grid; place-items: center; font-size: 28px;
  box-shadow: 0 8px 24px rgba(37, 211, 102, .35); transition: transform .2s;
}
.site-whatsapp:hover { color: #fff; transform: scale(1.06); }

/* Çerez bilgilendirmesi */
.site-cookie {
  position: fixed; left: 50%; transform: translateX(-50%); bottom: 20px; z-index: 999;
  width: min(680px, calc(100% - 32px)); background: #fff; border-radius: 16px; padding: 16px 20px;
  box-shadow: 0 16px 40px rgba(28, 35, 89, .18); display: flex; gap: 16px; align-items: center;
}
.site-cookie[hidden] { display: none; }
.site-cookie p { margin: 0; font-size: 14px; flex: 1; }
.site-cookie .th-btn { padding: 12px 24px; flex: none; }
@media (max-width: 575px) { .site-cookie { flex-direction: column; align-items: stretch; text-align: center; } }

/* Aşı takvimi tablosu */
.site-vax-table { border: 1px solid var(--th-border-color, #E0E0E0); border-radius: 16px; overflow: hidden; }
.site-vax-row { display: grid; grid-template-columns: 170px 1fr; border-bottom: 1px solid var(--th-border-color, #E0E0E0); }
.site-vax-row:last-child { border-bottom: 0; }
.site-vax-age { background: var(--smoke-color5, #FFF2F2); padding: 16px 18px; color: var(--title-color); font-family: var(--title-font); }
.site-vax-age b { display: block; font-size: 17px; }
.site-vax-age small { color: var(--body-color); font-family: var(--body-font); }
.site-vax-items { padding: 14px 16px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.site-vax-chip {
  border: 1px solid color-mix(in srgb, var(--chip) 35%, transparent); background: color-mix(in srgb, var(--chip) 10%, #fff);
  color: var(--title-color); border-radius: 30px; padding: 6px 14px; font-weight: 600; font-size: 14px;
}
.site-vax-chip em { font-style: normal; font-weight: 400; color: var(--body-color); margin-left: 4px; }
@media (max-width: 575px) { .site-vax-row { grid-template-columns: 1fr; } }
.site-vax-calc .appointment-form { padding: 40px; }
@media (max-width: 575px) { .site-vax-calc .appointment-form { padding: 24px; } }
.site-vax-result ul { list-style: none; padding: 0; margin: 10px 0 0; max-height: 520px; overflow: auto; }
.site-vax-result li {
  display: grid; grid-template-columns: 12px auto 1fr auto; gap: 10px; align-items: center;
  padding: 10px 4px; border-bottom: 1px dashed var(--th-border-color, #E0E0E0); font-size: 15px;
}
.site-vax-result li em { font-style: normal; color: var(--body-color); font-size: 13px; }
.site-vax-result li time { font-weight: 600; color: var(--title-color); white-space: nowrap; }
.site-vax-result li.is-past { opacity: .55; }
.site-vax-result li.is-soon time { color: var(--theme-color); }
.site-vax-dot { width: 10px; height: 10px; border-radius: 50%; }
.site-vax-legend { display: flex; gap: 16px; font-size: 13px; margin: 12px 0 0; }
.site-vax-legend .is-past { opacity: .55; }
.site-vax-legend .is-soon { color: var(--theme-color); font-weight: 600; }

/* Kategori filtresi bağlantıları tema butonlarıyla aynı görünsün */
.filter-menu a.th-btn { margin: 0 5px 10px; }
.filter-menu a.th-btn.active { background-color: var(--theme-color); color: #fff; border-color: var(--theme-color); }

/* Onay kutusu satırı (tema checkbox stiline uyumlu) */
.site-check label a { color: var(--theme-color); }

/* Temanın mobilde oluşan ~18px yatay taşmasını gizle (orijinal temada da var). clip, sticky'yi bozmaz. */
html, body { overflow-x: clip; }

/* Panelden yüklenen logo: temanın özgün logo kutusu (250×60) içinde kalsın; büyük/boşluklu dosyalar başlığı büyütmesin */
.header-logo img, .mobile-logo img, .about-logo img { max-height: 60px; width: auto; max-width: 260px; height: auto; }
@media (max-width: 575px) { .header-logo img { max-height: 48px; max-width: 200px; } }

/* Faz 11: Font Awesome 6.0 (beta3) sürümünde X (Twitter) logosu yok; ikon yerine 𝕏 karakteri gösterilir */
.fa-x-twitter:before { content: "\1D54F"; font-family: "Segoe UI Symbol", "Noto Sans Math", "Apple Symbols", system-ui, sans-serif; font-weight: 700; }

/* Faz 11: sunucunun eklediği width/height öznitelikleri yalnız en-boy oranı için (kayma önleme); temanın görsel kuralları her zaman önceliklidir */
:where(img[width][height]) { height: auto; }

/* Demo oturumu rozeti */
.site-demo-badge { position: fixed; left: 16px; bottom: 16px; z-index: 9999; background: #FFF7E6; color: #7A4B00; border: 1px solid #F5D28A; border-radius: 999px; padding: 8px 14px; font-size: 13px; font-weight: 600; box-shadow: 0 6px 18px rgba(0,0,0,.12); }
.site-demo-badge:hover { color: #5A3700; }
