/* Klinik detay: bilgi bölümleri, Google harita iframe (K7), yapışkan iletişim kartı, mobil alt çubuk.
   Galeri ve ekip fotoğrafı yalnız klinikten gerçek görsel gelince eklenir. */
.page { padding-top: var(--s-6); padding-bottom: var(--s-16); }


.layout { margin-top: var(--s-4); display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: var(--s-12); align-items: start; }
.clinic-head { display: flex; flex-direction: column; gap: var(--s-2); align-items: flex-start; }
.clinic-head h1 { font-size: 36px; font-weight: 800; }
.addr { display: flex; align-items: flex-start; gap: 6px; color: var(--c-muted); }
.status { display: flex; align-items: center; gap: var(--s-2); color: var(--c-text); }
.status { color: var(--c-muted); }
.status strong { color: var(--c-closed); }
.status.is-open strong { color: var(--c-open); }
.dot { width: 10px; height: 10px; border-radius: 50%; background: var(--c-closed); box-shadow: 0 0 0 4px #FEE4E2; }
.is-open .dot { background: var(--c-open); box-shadow: 0 0 0 4px #DCFCE7; }
.tags { list-style: none; margin: var(--s-2) 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }

.tabs { position: sticky; top: 72px; z-index: 10; margin-top: var(--s-6); background: var(--c-surface); border-bottom: 1px solid var(--c-line); display: flex; gap: var(--s-1); overflow-x: auto; }
.tabs a { flex: none; display: flex; align-items: center; min-height: 52px; padding: 0 var(--s-3); color: var(--c-muted); font-weight: 700; text-decoration: none; border-bottom: 3px solid transparent; }
.tabs a:hover { color: var(--c-text); }

.block { padding: var(--s-10) 0 0; scroll-margin-top: 140px; }
.block h2 { font-size: var(--fs-h2); font-weight: 800; margin-bottom: var(--s-5); }
.block h2.mt { margin-top: var(--s-10); }
.about { max-width: 68ch; }

.glance { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-5) var(--s-8); }
.glance li { display: flex; gap: var(--s-3); align-items: flex-start; }
.glance .ikon { width: 26px; height: 26px; color: var(--c-primary); }
.glance div { display: flex; flex-direction: column; }
.glance span { color: var(--c-muted); font-size: 14px; }

.treat-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: var(--s-3); }
.treat-list a { height: 100%; display: flex; align-items: center; gap: var(--s-3); padding: var(--s-4); border: 1px solid var(--c-line); border-radius: var(--r-lg); color: var(--c-text); text-decoration: none; }
.treat-list a:hover { border-color: var(--c-primary); }
.treat-list .ikon:first-child { width: 28px; height: 28px; color: var(--c-primary); }
.treat-list span { flex: 1; display: flex; flex-direction: column; }
.treat-list small { color: var(--c-muted); font-size: 14px; }
.treat-list .ikon--muted { color: var(--c-muted); }

.team { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-4); }
.team li { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: var(--s-5); background: var(--c-bg); border-radius: var(--r-lg); }
.team li > span:last-child { color: var(--c-muted); font-size: 14px; }

.hours { width: 100%; max-width: 480px; border-collapse: collapse; }
.hours th, .hours td { text-align: left; padding: var(--s-3) var(--s-4); border-bottom: 1px solid var(--c-line); font-weight: 500; }
.hours td { text-align: right; }
.hours .closed { color: var(--c-muted); }
.hours .is-today { background: var(--c-tag-bg); font-weight: 800; }
.hours .is-today th, .hours .is-today td { font-weight: 800; }
.today-label { margin-left: var(--s-2); padding: 2px 8px; border-radius: 999px; background: var(--c-primary); color: #fff; font-size: 12px; }

.map { height: 320px; border-radius: var(--r-lg); border: 1px solid var(--c-line); overflow: hidden; background: var(--c-bg); }
.map iframe { width: 100%; height: 100%; border: 0; display: block; }
.map-foot { margin-top: var(--s-4); display: flex; justify-content: space-between; align-items: center; gap: var(--s-4); flex-wrap: wrap; }
.map-foot p { display: flex; align-items: flex-start; gap: 6px; }

.contact { position: sticky; top: 96px; }
.contact-card { border: 1px solid var(--c-line); border-radius: var(--r-lg); padding: var(--s-6); display: flex; flex-direction: column; gap: var(--s-3); box-shadow: 0 20px 40px -32px rgba(22, 41, 74, .5); }
.contact-card h2 { font-size: var(--fs-h3); font-weight: 800; margin-bottom: var(--s-1); }
.btn-lg { min-height: 52px; width: 100%; }
.today { display: flex; gap: var(--s-3); align-items: flex-start; margin-top: var(--s-2); }
.today .ikon { width: 22px; height: 22px; color: var(--c-muted); }
.today strong { color: var(--c-closed); }
.today .open { color: var(--c-open); }
.contact-card hr { border: 0; border-top: 1px solid var(--c-line); width: 100%; margin: var(--s-2) 0; }
.owner { font-size: 14px; color: var(--c-muted); }

.nearby { margin-top: var(--s-16); padding-top: var(--s-10); border-top: 1px solid var(--c-line); }
.nearby-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-5); }
.nearby-list a { display: flex; flex-direction: column; align-items: flex-start; gap: var(--s-1); color: var(--c-text); text-decoration: none; }
.nearby-list a:hover strong { color: var(--c-primary); }
.nearby-list small { color: var(--c-muted); font-size: 14px; }

.call-bar { display: none; }

@media (max-width: 1023px) {
  .layout { grid-template-columns: minmax(0, 1fr); }
  .contact { display: none; }
  .call-bar { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-2); position: sticky; bottom: 0; z-index: 30; padding: var(--s-3) 16px; background: var(--c-surface); border-top: 1px solid var(--c-line); box-shadow: 0 -10px 24px -18px rgba(22, 41, 74, .6); }
  .call-bar .btn { min-height: 52px; }
  .nearby-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
        .clinic-head h1 { font-size: 28px; }
  .tabs { top: 0; margin-inline: -16px; padding-inline: 8px; }
  .block { scroll-margin-top: 64px; }
  .glance, .treat-list, .team { grid-template-columns: 1fr; }
  .team li { flex-direction: row; flex-wrap: wrap; align-items: center; column-gap: var(--s-3); }
    .nearby-list { grid-template-columns: repeat(3, 78%); overflow-x: auto; scroll-snap-type: x mandatory; }
  .nearby-list li { scroll-snap-align: start; }
}

.updated { margin-top: var(--s-10); font-size: 14px; color: var(--c-muted); }
.page--narrow { max-width: 720px; }
.form-title { font-size: 32px; font-weight: 800; margin: var(--s-4) 0 var(--s-2); }
.cover { margin: var(--s-4) 0 0; border-radius: var(--r-lg); overflow: hidden; aspect-ratio: 3 / 1; background: var(--c-tag-bg); }
.cover img { width: 100%; height: 100%; object-fit: cover; }
.nearby-img { width: 100%; aspect-ratio: 16 / 10; height: auto; object-fit: cover; border-radius: var(--r-lg); margin-bottom: var(--s-2); }
@media (max-width: 767px) { .cover { aspect-ratio: 3 / 2; margin-inline: -16px; border-radius: 0; } }
/* Bugünün satırı: tasarımdaki köşe (--r-sm) ve çizgisiz vurgu */
.hours { border-collapse: separate; border-spacing: 0; }
.hours .is-today th, .hours .is-today td { border-bottom-color: transparent; }
.hours .is-today th { border-radius: var(--r-sm) 0 0 var(--r-sm); }
.hours .is-today td { border-radius: 0 var(--r-sm) var(--r-sm) 0; }
.hours tr:has(+ .is-today) th, .hours tr:has(+ .is-today) td { border-bottom-color: transparent; }
.hours .is-today { background: none; }
.hours .is-today th, .hours .is-today td { background: var(--c-tag-bg); }

/* Galeri (önizleme A: 2fr 1fr 1fr, 2 × 200 px; masaüstünde 1 büyük + 4 küçük) */
.cover { display: none; }
.gallery { position: relative; margin-top: var(--s-4); display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 200px 200px; gap: var(--s-2); border-radius: var(--r-lg); overflow: hidden; }
.g-item { display: block; overflow: hidden; background: var(--c-tag-bg); }
.g-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.g-item:hover img { transform: scale(1.02); }
.g-main { grid-row: span 2; }
.g-all { position: absolute; right: var(--s-3); bottom: var(--s-3); min-height: var(--tap); font-size: 14px; }
/* Görüntüleyici: sahne kalan alanı doldurur, görsel sahneye mutlak yerleşir; görselin doğal boyutu yerleşimi büyütemez.
   Kontrol yüzeyidir, seçilebilir içerik değildir: hızlı ileri/geri tıklamaları çift/üçlü tık sayılıp görseli seçmesin. */
.lightbox { position: fixed; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; overflow: hidden; background: rgba(13, 22, 40, .94); color: #fff; -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
.lightbox[open] { display: grid; grid-template-rows: auto minmax(0, 1fr); }
.lightbox::backdrop { background: rgba(13, 22, 40, .94); }
html:has(.lightbox[open]) { overflow: hidden; }
.lightbox-ust { display: flex; justify-content: space-between; align-items: center; padding: var(--s-3) var(--s-4); font-weight: 700; }
.lightbox-govde { min-height: 0; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; grid-template-rows: minmax(0, 1fr); align-items: center; gap: var(--s-3); padding: 0 var(--s-4) var(--s-6); }
.lightbox-sahne { position: relative; align-self: stretch; min-width: 0; }
.lightbox-sahne img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: contain; }
.lightbox-btn { width: var(--tap); height: var(--tap); border: 0; border-radius: 50%; background: rgba(255, 255, 255, .12); color: #fff; display: grid; place-items: center; cursor: pointer; }
.lightbox-btn:hover { background: rgba(255, 255, 255, .24); }
.lightbox-btn .ikon { width: 24px; height: 24px; }
@media (max-width: 767px) {
  .gallery { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; border-radius: 0; margin-inline: -16px; gap: var(--s-1); grid-template-rows: none; }
  .g-item { flex: 0 0 86%; height: 240px; scroll-snap-align: start; }
  .g-all { display: none; }
  .lightbox-govde { grid-template-columns: 1fr; }
  .lightbox-govde .lightbox-btn { display: none; }
}
@media (prefers-reduced-motion: reduce) { .g-item img { transition: none; } }
.tabs a.is-active { color: var(--c-primary); border-bottom-color: var(--c-primary); }

/* Google puanı ve yorumlar (K23; önizleme f-puan-klinik + f-alternatifler-2 "Yorumlar 1") */
.puan-ust { display: inline-flex; align-items: center; gap: 8px; color: var(--c-muted); text-decoration: none; font-size: 14px; }
.puan-ust strong { color: var(--c-text); font-size: 16px; }
.puan-ust span:last-child { text-decoration: underline; text-underline-offset: 3px; }
.puan-ust:hover span:last-child { color: var(--c-primary); }
.yorum-ozet { display: grid; grid-template-columns: 180px minmax(0, 420px); gap: var(--s-6); align-items: center; margin-bottom: var(--s-5); }
.ozet-puan { display: grid; justify-items: start; gap: 4px; }
.ozet-puan strong { font-size: 44px; line-height: 1; letter-spacing: -0.03em; }
.ozet-puan > span:last-child { font-size: 14px; color: var(--c-muted); }
.dagilim { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.dagilim li { display: grid; grid-template-columns: 12px 14px 1fr 40px; gap: 8px; align-items: center; font-size: 13px; color: var(--c-muted); }
.dagilim svg { width: 14px; height: 14px; fill: var(--c-yildiz); }
.dag-cubuk { display: block; height: 8px; border-radius: 999px; background: var(--c-line); overflow: hidden; }
.dag-cubuk i { display: block; height: 100%; background: var(--c-yildiz); border-radius: inherit; }
.dag-sayi { text-align: right; font-variant-numeric: tabular-nums; }
.kyr { display: flex; flex-direction: column; padding: var(--s-4) var(--s-5); background: var(--c-surface); border: 1px solid var(--c-line); border-radius: var(--r-lg); }
.yorum-ust { display: flex; align-items: center; gap: var(--s-3); margin-bottom: var(--s-2); }
.yorum-ust > div { display: grid; gap: 2px; }
.yorum-alt { display: flex; align-items: center; gap: var(--s-2); font-size: 12px; color: var(--c-muted); }
.avatar-harf { flex: none; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--c-tag-bg); color: var(--c-tag-text); font-weight: 800; }
.kyr p { font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.js .kyr p:not(.acik) { display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; }
.kyr-devam { margin-top: auto; padding: var(--s-2) 0 0; align-self: flex-start; background: none; border: 0; color: var(--c-primary); font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.kyr-devam[hidden] { display: none; }
.kaydirici { position: relative; }
.kd-serit { list-style: none; margin: 0; padding: 4px 2px var(--s-4); display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - var(--s-4)) / 2); gap: var(--s-4); align-items: start; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; cursor: grab;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%); mask-image: linear-gradient(to right, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%); }
.kd-serit::-webkit-scrollbar { display: none; }
.kd-serit:focus-visible { outline: 3px solid var(--c-primary); outline-offset: 4px; border-radius: var(--r-lg); }
.kd-serit.suruklen { cursor: grabbing; scroll-snap-type: none; scroll-behavior: auto; user-select: none; }
.kd-serit > li { scroll-snap-align: start; }
.basta .kd-serit { -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 40px), transparent 100%); mask-image: linear-gradient(to right, #000 calc(100% - 40px), transparent 100%); }
.sonda .kd-serit { -webkit-mask-image: linear-gradient(to right, transparent 0, #000 40px); mask-image: linear-gradient(to right, transparent 0, #000 40px); }
.basta.sonda .kd-serit { -webkit-mask-image: none; mask-image: none; }
.kd-ok { position: absolute; top: calc(50% - 30px); z-index: 2; display: grid; place-items: center; width: var(--tap); height: var(--tap); border: 1px solid var(--c-line); border-radius: 50%; background: var(--c-surface); color: var(--c-text); box-shadow: 0 8px 24px rgba(22, 41, 74, .45); cursor: pointer; transition: opacity .2s; }
.kd-ok:hover { color: var(--c-primary); }
.kd-ok:disabled { opacity: 0; pointer-events: none; }
.kd-geri { left: -18px; }
.kd-ileri { right: -18px; }
html:not(.js) .kd-ok, html:not(.js) .kd-ilerleme { display: none; }
.kd-ilerleme { position: relative; height: 4px; margin: 0 auto; width: min(240px, 50%); border-radius: 999px; background: var(--c-line); overflow: hidden; }
.kd-ilerleme i { position: absolute; top: 0; bottom: 0; border-radius: inherit; background: var(--c-primary); transition: left .2s, width .2s; }
.ikili { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: var(--s-10); align-items: start; }
.ikili .yorum-ozet { grid-template-columns: 1fr; gap: var(--s-5); margin-bottom: 0; }
.ikili .dagilim { gap: 10px; }
.yorum-not { display: flex; gap: var(--s-2); margin-top: var(--s-4); font-size: 13px; color: var(--c-muted); }
.yorum-not .ikon { flex: none; margin-top: 2px; }
.contact-card .btn small { font-weight: 500; color: var(--c-muted); }
@media (max-width: 767px) {
  .yorum-ozet { grid-template-columns: 1fr; gap: var(--s-4); }
  .ikili { grid-auto-flow: row; gap: 0; }
  .kd-serit { grid-auto-columns: 86%; }
  .kd-ok { display: none; }
}
@media (prefers-reduced-motion: reduce) { .kd-serit { scroll-behavior: auto; } .kd-ok, .kd-ilerleme i { transition: none; } }
.profil-blok { margin-top: var(--s-5); padding: var(--s-4) var(--s-5); border: 1px solid var(--c-line); border-radius: var(--r-lg); }
.profil-ust { display: flex; justify-content: space-between; align-items: baseline; font-weight: 700; }
.profil-ust strong { font-size: 22px; }
.profil-cubuk { display: block; height: 8px; margin: var(--s-2) 0 var(--s-4); border-radius: 999px; background: var(--c-line); overflow: hidden; }
.profil-cubuk i { display: block; height: 100%; background: var(--c-primary); border-radius: inherit; }
.profil-liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s-2) var(--s-4); font-size: 14px; }
.profil-liste li { display: flex; align-items: center; gap: 6px; }
.profil-liste .ikon { width: 16px; height: 16px; flex: none; }
.profil-liste .var .ikon { color: var(--c-open); }
.profil-liste .yok { color: var(--c-muted); }
.profil-liste .yok .ikon { color: var(--c-line-strong); }
.profil-not { margin-top: var(--s-3); font-size: 13px; color: var(--c-muted); }
@media (max-width: 767px) { .profil-liste { grid-template-columns: 1fr 1fr; } }
