/* Klinik sitesi v2 (SPEC-v2): koyu ve yuksek kontrast tema, yazi secenekleri, sabit kose (gorunum paneli, WhatsApp, baloncuk),
   cerez bandi, iletisim cagrisi ve iletisim formu. klinik.css'ten sonra yuklenir; ayni --color-* jetonlarini yeniden tanimlar. */

/* ---- Temalar (--kl-kontrol-cizgi: form ve panel denetimlerinin sinirlari, bilesen kontrasti 3:1 ustu) */
:root { --kl-kontrol-cizgi: #7B8794; }
/* ---- Temalar: tema yoksa cihaz ayari (prefers-color-scheme) ---- */
@media (prefers-color-scheme: dark) {
  html:not([data-tema="acik"]):not([data-tema="yuksek"]) {
    color-scheme: dark;
    --color-paper: #0E141E; --color-surface: #151D2B; --color-surface-2: #1B2638; --color-surface-3: #263349;
    --color-rule: #3F4E66; --color-ink: #E8EDF5; --color-muted: #B4BFCF;
    --color-accent: #6EA8FF; --color-accent-hover: #93BFFF; --color-accent-soft: #1F3558; --color-on-accent: #0A1220; --color-focus: #9CC4FF;
    --color-ok: #5FD39B; --color-ok-soft: #12301F; --color-warn: #F0B15A; --color-warn-soft: #35280F; --color-danger: #FF9893; --color-danger-soft: #3A1B1B;
    --kl-koyu-zemin: #0A0F18; --kl-koyu-cizgi: #33405A; --kl-kontrol-cizgi: #7C8CA6;
  }
}
html[data-tema="koyu"] {
  color-scheme: dark;
  --color-paper: #0E141E; --color-surface: #151D2B; --color-surface-2: #1B2638; --color-surface-3: #263349;
  --color-rule: #3F4E66; --color-ink: #E8EDF5; --color-muted: #B4BFCF;
  --color-accent: #6EA8FF; --color-accent-hover: #93BFFF; --color-accent-soft: #1F3558; --color-on-accent: #0A1220; --color-focus: #9CC4FF;
  --color-ok: #5FD39B; --color-ok-soft: #12301F; --color-warn: #F0B15A; --color-warn-soft: #35280F; --color-danger: #FF9893; --color-danger-soft: #3A1B1B;
  --kl-koyu-zemin: #0A0F18; --kl-koyu-cizgi: #33405A; --kl-kontrol-cizgi: #7C8CA6;
}
html[data-tema="yuksek"] {
  color-scheme: dark; --kl-kontrol-cizgi: #FFF;
  --color-paper: #000; --color-surface: #000; --color-surface-2: #0B0B0B; --color-surface-3: #1F1F1F;
  --color-rule: #FFF; --color-ink: #FFF; --color-muted: #FFF;
  --color-accent: #FFE600; --color-accent-hover: #FFF; --color-accent-soft: #262200; --color-on-accent: #000; --color-focus: #00E5FF;
  --color-ok: #7CFFB2; --color-ok-soft: #002A14; --color-warn: #FFD27A; --color-warn-soft: #2A1B00; --color-danger: #FF9C9C; --color-danger-soft: #330000;
  --kl-koyu-zemin: #000; --kl-koyu-cizgi: #FFF; --kl-koyu-metin: #FFF; --kl-koyu-link: #FFE600;
}
html[data-tema="yuksek"] .kl a { text-decoration: underline; }
html[data-tema="yuksek"] .kl .kl-btn, html[data-tema="yuksek"] .kl .kl-sabit-dugme { border-color: #FFF; }
html[data-tema="yuksek"] .kl .kl-btn-ikinci { color: #FFE600; border-color: #FFE600; }
html[data-tema="yuksek"] .kl-kart, html[data-tema="yuksek"] .kl-yan, html[data-tema="yuksek"] .kl-header { border-width: 2px; }
html[data-tema="yuksek"] .kl-header { border-bottom-width: 2px; }
html[data-tema="yuksek"] .kl-footer, html[data-tema="yuksek"] .kl-cubuk, html[data-tema="yuksek"] .kl-bolum-koyu { border-top: 2px solid #FFF; }
html[data-tema="yuksek"] .kl-brand img, html[data-tema="yuksek"] .kl-fig img { outline: 2px solid #FFF; }
html[data-tema="koyu"] .kl img { filter: brightness(0.92); }
@media (prefers-color-scheme: dark) { html:not([data-tema="acik"]):not([data-tema="yuksek"]) .kl img { filter: brightness(0.92); } }
html[data-tema="yuksek"] .kl img { filter: contrast(1.05); }

/* ---- Yazi secenekleri (rem tabanli bilesenler birlikte olceklenir) ---- */
html[data-yazi="115"] { font-size: 115%; }
html[data-yazi="130"] { font-size: 130%; }
html[data-yazi="150"] { font-size: 150%; }
html[data-okunakli="1"] .kl, html[data-okunakli="1"] .kl h1, html[data-okunakli="1"] .kl h2, html[data-okunakli="1"] .kl h3,
html[data-okunakli="1"] .kl .kl-brand { font-family: Verdana, Tahoma, "Segoe UI", Arial, sans-serif; letter-spacing: 0.02em; word-spacing: 0.12em; }
html[data-okunakli="1"] .kl { line-height: 1.85; }
html[data-okunakli="1"] .kl :where(p) { max-width: 60ch; }
html[data-hareket="az"] .kl *, html[data-hareket="az"] .kl *::before, html[data-hareket="az"] .kl *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }

/* ---- Sabit kose (sag alt): gorunum paneli + WhatsApp + baloncuk ---- */
.kl-sabit { position: fixed; z-index: 25; right: max(0.75rem, env(safe-area-inset-right)); bottom: calc(52px + env(safe-area-inset-bottom) + 0.75rem + var(--kl-cerez-h, 0px)); display: grid; justify-items: end; gap: 0.625rem; max-width: calc(100vw - 1.5rem); }
.kl-sabit-satir { display: flex; gap: 0.625rem; }
.kl .kl-sabit-dugme { display: inline-flex; align-items: center; justify-content: center; width: 3rem; height: 3rem; padding: 0; border: 2px solid var(--color-surface); border-radius: 50%; background: var(--color-accent); color: var(--color-on-accent); cursor: pointer; text-decoration: none; box-shadow: 0 0 0 1px var(--color-rule); }
.kl .kl-sabit-dugme:hover { background: var(--color-accent-hover); color: var(--color-on-accent); }
.kl .kl-sabit-dugme svg { width: 1.5rem; height: 1.5rem; }
/* Yalniz kose ikonu tanidik WhatsApp yesili; koyu glif yesil zeminde 3:1 ustu */
.kl .kl-wa-dugme { background: #25D366; color: #063B1E; }
.kl .kl-wa-dugme:hover { background: #4BE084; color: #063B1E; }
html[data-tema="yuksek"] .kl .kl-wa-dugme { background: #FFE600; color: #000; }
.kl-sabit :focus-visible { outline: 3px solid var(--color-focus); outline-offset: 2px; }
@media (max-width: 767.98px) { .kl .kl-wa-dugme { display: none; } } /* alt cubukta WhatsApp zaten var */
@media (min-width: 768px) { .kl-sabit { bottom: max(1rem, env(safe-area-inset-bottom)); right: max(1rem, env(safe-area-inset-right)); } .kl .kl-sabit-dugme { width: 3.25rem; height: 3.25rem; } }

.kl-erisim-panel, .kl-balon { background: var(--color-surface); color: var(--color-ink); border: 1px solid var(--color-rule); border-radius: 10px; padding: var(--kl-s4); width: min(21rem, calc(100vw - 1.5rem)); box-shadow: 0 6px 24px rgb(0 0 0 / 0.18); }
.kl-erisim-panel { display: grid; gap: var(--kl-s3); max-height: calc(100dvh - 8rem); overflow: auto; }
.kl-erisim-panel[hidden], .kl-balon[hidden] { display: none; }
.kl .kl-erisim-baslik { margin: 0; font-weight: 700; max-width: none; }
.kl-erisim-grup { display: flex; flex-wrap: wrap; gap: 0.4rem; min-width: 0; margin: 0; padding: 0; border: 0; }
.kl-erisim-grup legend { width: 100%; padding: 0; margin-bottom: 0.3rem; font-size: var(--kl-t-sm); color: var(--color-muted); }
.kl-erisim-grup label, .kl-erisim-yazi button { display: inline-flex; align-items: center; gap: 0.4rem; min-height: 44px; padding: 0 0.75rem; border: 1px solid var(--kl-kontrol-cizgi); border-radius: var(--kl-r); background: transparent; color: var(--color-ink); font: inherit; font-size: var(--kl-t-sm); cursor: pointer; }
.kl-erisim-grup input, .kl-erisim-anahtar input, .kl-cerez-satir input, .kl-riza input { accent-color: var(--color-accent); width: 1.15rem; height: 1.15rem; flex: none; }
.kl-erisim-grup label:has(input:checked), .kl-erisim-yazi button[aria-pressed="true"] { border-color: var(--color-accent); background: var(--color-accent-soft); font-weight: 700; }
.kl-erisim-grup label:has(:focus-visible) { outline: 3px solid var(--color-focus); outline-offset: 2px; }
.kl-erisim-anahtar { display: flex; align-items: center; gap: 0.6rem; min-height: 44px; font-size: var(--kl-t-sm); cursor: pointer; }
.kl .kl-erisim-alt { display: flex; gap: var(--kl-s2); margin: 0; max-width: none; }
.kl .kl-erisim-alt .kl-btn { min-height: 44px; padding-inline: var(--kl-s4); }
.kl .kl-erisim-not { margin: 0; font-size: var(--kl-t-xs); color: var(--color-muted); }

.kl-balon { position: relative; border-color: var(--color-accent); }
.kl-balon::after { content: ""; position: absolute; right: 1.1rem; bottom: -0.5rem; width: 0.9rem; height: 0.9rem; background: var(--color-surface); border: solid var(--color-accent); border-width: 0 1px 1px 0; transform: rotate(45deg); }
.kl .kl-balon-baslik { margin: 0 2rem var(--kl-s1) 0; font-family: var(--font-baslik); font-weight: 600; font-size: var(--kl-t-lg); line-height: 1.3; }
.kl .kl-balon-metin { margin: 0 0 var(--kl-s3); font-size: var(--kl-t-sm); color: var(--color-muted); }
.kl .kl-balon-eylem { display: flex; flex-wrap: wrap; gap: var(--kl-s2); margin: 0; max-width: none; }
.kl .kl-balon-eylem .kl-btn { min-height: 44px; padding-inline: var(--kl-s4); font-size: var(--kl-t-sm); }
/* WhatsApp dugmeleri PTMetre vurgu mavisi (marka tutarliligi): .kl-btn-wa = .kl-btn */
.kl .kl-balon-kapat { position: absolute; top: 0.25rem; right: 0.25rem; width: 44px; height: 44px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--color-muted); cursor: pointer; }
.kl .kl-balon-kapat:hover { color: var(--color-ink); background: var(--color-surface-2); }
.kl-balon-kapat svg { width: 1.1rem; height: 1.1rem; }
@media (prefers-reduced-motion: no-preference) {
  .kl-balon { animation: kl-balon-gel 0.3s ease-out; }
  @keyframes kl-balon-gel { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
}

/* ---- Cerez bandi ve ayar penceresi ---- */
.kl-cerez-bant { position: fixed; z-index: 30; left: 0; right: 0; bottom: calc(52px + env(safe-area-inset-bottom)); background: var(--color-surface); color: var(--color-ink); border-top: 2px solid var(--color-accent); padding: var(--kl-s4); box-shadow: 0 -4px 18px rgb(0 0 0 / 0.14); }
.kl-cerez-bant[hidden] { display: none; }
.kl .kl-cerez-bant h2 { margin: 0 0 var(--kl-s1); font-size: var(--kl-t-lg); }
.kl .kl-cerez-bant p { margin: 0 0 var(--kl-s3); font-size: var(--kl-t-sm); max-width: 60ch; }
.kl .kl-cerez-dugmeler { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--kl-s2); margin: 0; max-width: none; }
.kl .kl-cerez-dugmeler .kl-btn { min-height: 44px; padding-inline: var(--kl-s2); }
@media (min-width: 768px) {
  .kl-cerez-bant { left: max(1rem, env(safe-area-inset-left)); right: auto; bottom: max(1rem, env(safe-area-inset-bottom)); width: 26rem; border: 1px solid var(--color-rule); border-top: 3px solid var(--color-accent); border-radius: 10px; box-shadow: 0 6px 24px rgb(0 0 0 / 0.2); }
}
.kl-cerez-pencere { width: min(30rem, calc(100vw - 2rem)); padding: var(--kl-s5); border: 1px solid var(--color-rule); border-radius: 10px; background: var(--color-surface); color: var(--color-ink); }
.kl-cerez-pencere::backdrop { background: rgb(8 12 20 / 0.7); }
.kl-cerez-pencere h2 { margin-top: 0; }
.kl-cerez-satir { border-top: 1px solid var(--color-rule); padding: var(--kl-s3) 0; }
.kl-cerez-satir label { display: flex; align-items: center; gap: 0.6rem; min-height: 44px; font-weight: 600; }
.kl .kl-cerez-satir p { margin: 0; font-size: var(--kl-t-sm); color: var(--color-muted); }
.kl-cerez-pencere .kl-cerez-dugmeler { grid-template-columns: 1fr 1fr; margin-top: var(--kl-s3); }
.kl .kl-link-dugme { appearance: none; background: none; border: 0; padding: var(--kl-s2) 0; font: inherit; color: var(--kl-koyu-link); text-decoration: underline; cursor: pointer; min-height: 24px; }
.kl .kl-link-dugme:hover { color: #fff; }

/* ---- Iletisim cagrisi (altbilgi oncesi) ---- */
.kl-cagri { background: var(--color-accent-soft); border-top: 1px solid var(--color-rule); padding: var(--kl-s6) 0; }
.kl-cagri-in { display: grid; gap: var(--kl-s4) var(--kl-s6); align-items: center; }
.kl .kl-cagri h2 { margin: 0 0 var(--kl-s1); }
.kl .kl-cagri p { margin: 0; }
.kl .kl-cagri-eylem { display: grid; grid-template-columns: 1fr 1fr; gap: var(--kl-s2); max-width: none; }
.kl .kl-cagri-eylem .kl-btn:first-child { grid-column: 1 / -1; }
.kl .kl-cagri .kl-btn-ikinci { background: var(--color-surface); }
@media (min-width: 992px) { .kl-cagri-in { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); } .kl .kl-cagri-eylem { grid-template-columns: repeat(2, auto); justify-content: end; } .kl .kl-cagri-eylem .kl-btn:first-child { grid-column: auto; } }

/* ---- Iletisim formu ---- */
.kl-form-bolum { scroll-margin-top: var(--kl-s5); margin-top: var(--kl-s6); padding-top: var(--kl-s5); border-top: 1px solid var(--color-rule); }
.kl-form-bolum > h2 { margin-top: 0; }
.kl-form { display: grid; gap: var(--kl-s4); max-width: 40rem; }
.kl-alan { display: grid; gap: var(--kl-s1); min-width: 0; }
.kl-alan > label, .kl-ek-etiket { font-weight: 600; font-size: var(--kl-t-sm); }
.kl-zorunlu { color: var(--color-muted); font-weight: 400; }
.kl-ipucu { margin: 0; font-size: var(--kl-t-xs); color: var(--color-muted); max-width: none; }
.kl .kl-form input[type="text"], .kl .kl-form input[type="email"], .kl .kl-form input[type="tel"], .kl .kl-form input[type="number"], .kl .kl-form input[type="date"], .kl .kl-form input[type="password"], .kl .kl-form select, .kl .kl-form textarea {
  width: 100%; min-height: 48px; padding: var(--kl-s2) var(--kl-s3); font: inherit; color: var(--color-ink); background: var(--color-surface); border: 1.5px solid var(--color-muted); border-radius: var(--kl-r); }
.kl .kl-form textarea { min-height: 9rem; resize: vertical; line-height: 1.5; }
.kl .kl-form input[type="file"] { width: 100%; padding: var(--kl-s2); font: inherit; color: var(--color-ink); background: var(--color-surface); border: 1.5px dashed var(--color-muted); border-radius: var(--kl-r); }
.kl .kl-form input[type="file"]::file-selector-button { min-height: 40px; margin-right: var(--kl-s3); padding: 0 var(--kl-s4); font: inherit; font-weight: 600; color: var(--color-accent); background: transparent; border: 2px solid var(--color-accent); border-radius: var(--kl-r); cursor: pointer; }
.kl .kl-form [aria-invalid="true"] { border-color: var(--color-danger); border-width: 2px; }
.kl .kl-form :focus-visible { outline: 3px solid var(--color-focus); outline-offset: 2px; }
.kl .kl-hata { margin: 0; color: var(--color-danger); font-size: var(--kl-t-sm); font-weight: 600; max-width: none; }
.kl .kl-hata::before { content: "Hata: "; }
.kl .kl-ek-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--kl-s1); }
.kl .kl-ek-liste li { display: flex; align-items: center; justify-content: space-between; gap: var(--kl-s3); padding: var(--kl-s1) var(--kl-s3); background: var(--color-surface-2); border-radius: var(--kl-r); font-size: var(--kl-t-sm); overflow-wrap: anywhere; }
.kl .kl-ek-kaldir { flex: none; appearance: none; min-height: 40px; padding: 0 var(--kl-s3); background: transparent; border: 0; color: var(--color-accent); font: inherit; font-weight: 600; text-decoration: underline; cursor: pointer; }
.kl .kl-ek-uyari { margin: 0; font-size: var(--kl-t-xs); color: var(--color-muted); max-width: none; }
.kl-riza { display: flex; align-items: flex-start; gap: var(--kl-s3); padding: var(--kl-s3) var(--kl-s4); background: var(--color-surface-2); border-radius: var(--kl-r); }
.kl-riza label { font-size: var(--kl-t-sm); font-weight: 400; line-height: 1.55; }
.kl-riza input { margin-top: 0.2rem; }
.kl .kl-form-durum { padding: var(--kl-s3) var(--kl-s4); border-radius: var(--kl-r); border: 2px solid var(--color-danger); background: var(--color-danger-soft); color: var(--color-ink); font-weight: 600; max-width: none; margin: 0; }
.kl .kl-form-durum[hidden], .kl .kl-tamam[hidden] { display: none; }
.kl .kl-tamam { max-width: 40rem; padding: var(--kl-s5); border: 2px solid var(--color-ok); background: var(--color-ok-soft); border-radius: var(--kl-r); }
.kl .kl-tamam h3 { margin-top: 0; }
.kl .kl-tamam:focus { outline: 3px solid var(--color-focus); outline-offset: 2px; }
.kl .kl-form .kl-btn { justify-self: start; min-width: 12rem; font: inherit; font-weight: 600; cursor: pointer; }
.kl .kl-form .kl-btn:disabled { opacity: 0.7; cursor: progress; }
.kl .kl-bal { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.kl-iletisim-eylem { display: flex; flex-wrap: wrap; gap: var(--kl-s3); margin: var(--kl-s4) 0 0; max-width: none; }
@media (forced-colors: active) { .kl .kl-sabit-dugme { border: 2px solid ButtonText; } }
@media print { .kl-sabit, .kl-cerez-bant, .kl-cagri { display: none; } }

/* ---- Anasayfa: hero alti guven notu ve "Belki siz de" durum listesi ---- */
.kl .kl-not { margin: var(--kl-s3) 0 0; font-size: var(--kl-t-xs); color: var(--color-muted); line-height: 1.5; max-width: 52ch; }
.kl-durumlar { list-style: none; margin: var(--kl-s4) 0; padding: 0; max-width: 40rem; border-top: 1px solid var(--color-rule); }
.kl-durumlar li { border-bottom: 1px solid var(--color-rule); }
.kl .kl-durumlar a { display: flex; align-items: center; justify-content: space-between; gap: var(--kl-s3); min-height: 44px; padding: var(--kl-s3) var(--kl-s1); color: var(--color-ink); text-decoration: none; font-size: var(--kl-t-lg); line-height: 1.4; }
.kl .kl-durumlar a::after { content: ""; flex: none; width: 0.6rem; height: 0.6rem; border: solid var(--color-accent); border-width: 2px 2px 0 0; transform: rotate(45deg); transition: transform 0.15s; }
.kl .kl-durumlar a:hover { color: var(--color-accent-hover); background: var(--color-accent-soft); }
.kl .kl-durumlar a:hover::after { transform: translateX(3px) rotate(45deg); }
.kl .kl-durumlar a:focus-visible { outline-offset: -3px; }
html[data-tema="yuksek"] .kl .kl-durumlar a { text-decoration: underline; }
@media (prefers-reduced-motion: reduce) { .kl .kl-durumlar a::after { transition: none; } .kl .kl-durumlar a:hover::after { transform: rotate(45deg); } }
.kl button.kl-btn { font: inherit; font-size: var(--kl-t-sm); font-weight: 600; cursor: pointer; }
.kl .kl-cubuk a.kl-cubuk-ara { color: var(--color-on-accent); }

/* Buyuk yazi + okunakli yazi bir arada dar ekranda uzun sozcuk sutunu tasirmasin (grid ve flex ogelerinin en az genisligi) */
.kl :is(h1, h2, h3, p, address, li, figcaption, a) { overflow-wrap: anywhere; }
.kl :is(.kl-hero-grid, .kl-iki, .kl-ic, .kl-izgara-satir) > * { min-width: 0; }
